Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python(机器人模块):转换hom。变换(旋转)矩阵和Euler或RPY角度_Python - Fatal编程技术网

Python(机器人模块):转换hom。变换(旋转)矩阵和Euler或RPY角度

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 | =

我使用的是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 | =
    | 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轴)