|
41 | 41 | #include <tf2_geometry_msgs/tf2_geometry_msgs.hpp> |
42 | 42 | #include <tf2_kdl/tf2_kdl.hpp> |
43 | 43 |
|
| 44 | +using Vector6d = Eigen::Matrix<double, 6, 1>; |
| 45 | + |
44 | 46 | TEST(tf2Convert, kdlToBullet) |
45 | 47 | { |
46 | 48 | double epsilon = 1e-9; |
@@ -233,6 +235,34 @@ TEST(TfEigenKdl, TestFrameAffine3d) |
233 | 235 | EXPECT_EQ(kdl_v, kdl_v1); |
234 | 236 | } |
235 | 237 |
|
| 238 | +TEST(TfEigenKdl, TestTwistMatrix) |
| 239 | +{ |
| 240 | + const auto kdl_v = KDL::Twist(KDL::Vector(1, 2, 3), KDL::Vector(4, 5, 6)); |
| 241 | + Vector6d eigen_v; |
| 242 | + tf2::convert(kdl_v, eigen_v); |
| 243 | + KDL::Twist kdl_v1; |
| 244 | + tf2::convert(eigen_v, kdl_v1); |
| 245 | + EXPECT_EQ(kdl_v, kdl_v1); |
| 246 | +} |
| 247 | + |
| 248 | + |
| 249 | +TEST(TfEigenKdl, TestMatrixWrench) |
| 250 | +{ |
| 251 | + Vector6d eigen_v; |
| 252 | + eigen_v << 1, 2, 3, 3, 2, 1; |
| 253 | + KDL::Wrench kdl_v; |
| 254 | + tf2::convert(eigen_v, kdl_v); |
| 255 | + std::array<tf2::Vector3, 2> tf2_v; |
| 256 | + tf2::convert(kdl_v, tf2_v); |
| 257 | + Vector6d eigen_v1; |
| 258 | + tf2::convert(tf2_v, eigen_v1); |
| 259 | + std::array<tf2::Vector3, 2> tf2_v1; |
| 260 | + tf2::convert(eigen_v1, tf2_v1); |
| 261 | + Vector6d eigen_v2; |
| 262 | + tf2::convert(tf2_v1, eigen_v2); |
| 263 | + EXPECT_EQ(eigen_v, eigen_v2); |
| 264 | +} |
| 265 | + |
236 | 266 |
|
237 | 267 | TEST(TfEigenKdl, TestVectorVector3d) |
238 | 268 | { |
|
0 commit comments