我对Eigen库不太熟悉,而且我被困在这段代码
motor1_to_motor2 =
Translation3f(BigApeLeg::distanceJoint1ToJoint3(),0,0)
* AngleAxisf(M_PI_2, Vector3f::UnitX())
* AngleAxisf(M_PI_2, Vector3f::UnitY());
motor1_to_motor2是Eigen :: Affine3f Big :: ApeLeg :: distance ...必须返回一个浮点数
但我的问题是什么是Translation3f,什么是AngleAxisf。他们在做什么?他们又回来了什么?
我熟悉一些基本的转换。如果有人可以给我任何指示,我真的很感激?感谢
答案 0 :(得分:2)
正如其名称所示,Translation3f代表使用浮点数的3D翻译。 AngleAxisf表示给定轴周围给定角度的3D旋转。两者都是类构造函数,而不是函数。
因此,motor1_to_motor2是一个仿射变换,在Y周围旋转,然后绕X旋转,最后沿X轴平移。
这个doc应该会让你对Eigen的空间变换有一个很好的介绍。