我在Python http://code.google.com/p/robotics-toolbox-python/中的机器人工具箱(cq机器人模块)中使用,我完全混淆了如何解释以下转换结果(我以前做过这样的事情总是可以解决它们......)。
关于x轴的简单phi = PI / 10旋转产生以下(3x3)旋转矩阵:
R =
[ 1. 0. 0. ]
[ 0. 0.99609879 -0.08824514]
[-0. 0.08824514 0.99609879]]
(其中0.996 .. = cos(phi)和0.0882 .. = sin(phi))
具有相应的(4x4)齐次变换矩阵:
T = | R 0 | =
| 0 1 |
[[ 1. 0. 0. 0. ]
[ 0. 0.99609879 -0.08824514 0. ]
[-0. 0.08824514 0.99609879 0. ]
[ 0. 0. 0. 1. ]]
将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(phi),PI / 4]])
问题:我的解释(围绕x,y,z轴顺序旋转)告诉我结果是错误的......?
我错过了什么?感谢。
- Henk
答案 0 :(得分:0)
解决:
对于连续的角度,a [0],a [1],a [2],
1)对于欧拉角,这些是围绕Z-Y-Z轴的连续旋转;
2)对于RPY角,这些是连续的Y(aw)-P(痒)-R(滚动)旋转(即绕Z-Y-X轴)。