Python(机器人模块):转换hom。变换(旋转)矩阵和Euler或RPY角度
我使用的是Python中的robotics工具箱(c.q.robot模块),我完全不知道如何解释下面的转换结果(我过去做过类似的事情,但总能解决它们…) 简单的φ=π/10绕x轴旋转产生以下(3x3)旋转矩阵:Python(机器人模块):转换hom。变换(旋转)矩阵和Euler或RPY角度,python,Python,我使用的是Python中的robotics工具箱(c.q.robot模块),我完全不知道如何解释下面的转换结果(我过去做过类似的事情,但总能解决它们…) 简单的φ=π/10绕x轴旋转产生以下(3x3)旋转矩阵: R = [ 1. 0. 0. ] [ 0. 0.99609879 -0.08824514] [-0. 0.08824514 0.99609879]] T = | R 0 | =
R =
[ 1. 0. 0. ]
[ 0. 0.99609879 -0.08824514]
[-0. 0.08824514 0.99609879]]
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. ]]
(式中,0.996..=cos(phi)和0.0882..=sin(phi))
对应的(4x4)齐次变换矩阵:
R =
[ 1. 0. 0. ]
[ 0. 0.99609879 -0.08824514]
[-0. 0.08824514 0.99609879]]
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轴,,…我猜):
问题:x轴旋转怎么可能是最后一个元素(而不是第一个)
进一步:
欧拉角(分别围绕x、y和z轴,,…我猜):
(=[-PI/4,sin(phi),PI/4]]))
问题:我的解释(围绕x、y、z轴顺序旋转)告诉我结果完全错误
我错过了什么?谢谢
--亨克解决了:
对于连续角度,a[0],a[1],a[2]
1) 对于欧拉角,这些是围绕Z-Y-Z轴的连续旋转
2) 对于RPY角度,这些是连续的Y(aw)-p(瘙痒)-R(滚动)旋转(即围绕Z-Y-X轴)