我正在Python中的robotics工具箱(c.q.robot模块)中使用,我完全搞不清如何解释下面的转换结果(我以前做过这样的事情总是可以解决它们……)。在
简单的phi=PI/10绕x轴旋转可产生以下(3x3)旋转矩阵:
R =
[ 1. 0. 0. ]
[ 0. 0.99609879 -0.08824514]
[-0. 0.08824514 0.99609879]]
(其中0.996..=cos(φ)和0.0882..=sin(φ))
对应(4x4)齐次变换矩阵:
^{pr2}$将T转换为角度表示会产生以下结果:
RPY(横摇、俯仰、偏航)角(绕z、y和x轴,分别。。。我想):
print robot.tr2rpy(T)
[[ 0. 0. 0.08836007]]
问题:x轴旋转怎么可能是最后一个元素(而不是第一个元素)。。。。?在
进一步:
欧拉角(围绕x、y和z轴,分别。。。我想):
print robot.tr2eul(T)
[[-1.57079633 0.08836007 1.57079633]]
(=[[-PI/4,sin(φ),PI/4]]))
问题:我的解释(围绕x,y,z轴顺序旋转)告诉我结果是完全错误的。。。?在
我错过了什么?谢谢。在
——亨克
已解决:
对于连续的角度,a[0],a[1],a[2]
1)对于欧拉角,这些是围绕Z-Y-Z轴的连续旋转
2)对于RPY角,这些是连续的Y(aw)-p(itch)-R(roll)旋转(即围绕Z-Y-X轴)。在
相关问题 更多 >
编程相关推荐