@@ -148,6 +148,75 @@ TEST(ros_to_pose_vec, pose) {
148148 EXPECT_NEAR (v[0 ].qz , 0.0 , 1e-6 );
149149}
150150
151+ TEST (ros_to_pose_vec, pose_stamped) {
152+ geometry_msgs::msg::PoseStamped p;
153+ p.pose .position .x = 1 ;
154+ p.pose .position .y = 2 ;
155+ p.pose .position .z = 3 ;
156+ p.pose .orientation .w = 1 ;
157+ p.pose .orientation .x = 0 ;
158+ p.pose .orientation .y = 0 ;
159+ p.pose .orientation .z = 0 ;
160+
161+ auto v = vortex::utils::ros_conversions::ros_to_pose_vec (p);
162+
163+ ASSERT_EQ (v.size (), 1 );
164+ EXPECT_NEAR (v[0 ].x , 1.0 , 1e-6 );
165+ EXPECT_NEAR (v[0 ].y , 2.0 , 1e-6 );
166+ EXPECT_NEAR (v[0 ].z , 3.0 , 1e-6 );
167+
168+ EXPECT_NEAR (v[0 ].qw , 1.0 , 1e-6 );
169+ EXPECT_NEAR (v[0 ].qz , 0.0 , 1e-6 );
170+ EXPECT_NEAR (v[0 ].qz , 0.0 , 1e-6 );
171+ EXPECT_NEAR (v[0 ].qz , 0.0 , 1e-6 );
172+ }
173+
174+ TEST (ros_to_pose_vec, pose_with_covariance) {
175+ geometry_msgs::msg::PoseWithCovariance p;
176+ p.pose .position .x = 1 ;
177+ p.pose .position .y = 2 ;
178+ p.pose .position .z = 3 ;
179+ p.pose .orientation .w = 1 ;
180+ p.pose .orientation .x = 0 ;
181+ p.pose .orientation .y = 0 ;
182+ p.pose .orientation .z = 0 ;
183+
184+ auto v = vortex::utils::ros_conversions::ros_to_pose_vec (p);
185+
186+ ASSERT_EQ (v.size (), 1 );
187+ EXPECT_NEAR (v[0 ].x , 1.0 , 1e-6 );
188+ EXPECT_NEAR (v[0 ].y , 2.0 , 1e-6 );
189+ EXPECT_NEAR (v[0 ].z , 3.0 , 1e-6 );
190+
191+ EXPECT_NEAR (v[0 ].qw , 1.0 , 1e-6 );
192+ EXPECT_NEAR (v[0 ].qz , 0.0 , 1e-6 );
193+ EXPECT_NEAR (v[0 ].qz , 0.0 , 1e-6 );
194+ EXPECT_NEAR (v[0 ].qz , 0.0 , 1e-6 );
195+ }
196+
197+ TEST (ros_to_pose_vec, pose_with_covariance_stamped) {
198+ geometry_msgs::msg::PoseWithCovarianceStamped p;
199+ p.pose .pose .position .x = 1 ;
200+ p.pose .pose .position .y = 2 ;
201+ p.pose .pose .position .z = 3 ;
202+ p.pose .pose .orientation .w = 1 ;
203+ p.pose .pose .orientation .x = 0 ;
204+ p.pose .pose .orientation .y = 0 ;
205+ p.pose .pose .orientation .z = 0 ;
206+
207+ auto v = vortex::utils::ros_conversions::ros_to_pose_vec (p);
208+
209+ ASSERT_EQ (v.size (), 1 );
210+ EXPECT_NEAR (v[0 ].x , 1.0 , 1e-6 );
211+ EXPECT_NEAR (v[0 ].y , 2.0 , 1e-6 );
212+ EXPECT_NEAR (v[0 ].z , 3.0 , 1e-6 );
213+
214+ EXPECT_NEAR (v[0 ].qw , 1.0 , 1e-6 );
215+ EXPECT_NEAR (v[0 ].qz , 0.0 , 1e-6 );
216+ EXPECT_NEAR (v[0 ].qz , 0.0 , 1e-6 );
217+ EXPECT_NEAR (v[0 ].qz , 0.0 , 1e-6 );
218+ }
219+
151220TEST (ros_to_pose_vec, pose_array) {
152221 geometry_msgs::msg::PoseArray arr;
153222 arr.poses .resize (2 );
0 commit comments