学习过程中涉及欧拉角和旋转矩阵的转换,索性整理学习一下欧拉角四元数和旋转矩阵的概念以及matlab中的互相转换
本文摘自各大课本,博客,自己学习整理使用,侵删
MATLAB矩阵乘法从左到右依次相乘
用R表示旋转矩阵。
yaw(偏航) pitch(俯仰) roll(横滚)分别表示Z Y X轴的转角。
q=[q0,q1,q2,q3]’表示单位四元数。
1旋转矩阵(方向余弦矩阵)
当确定一个点在空间中的位置后,要确定其姿态才能完全定义该点的位姿。所以采用坐标系{B}相对于坐标系{A}的描述来表示物体姿态,
通俗的讲,是坐标系{B}的各个轴分别与参考坐标系{A}的各个轴的余弦值构成的3×3矩阵,称为旋转矩阵。
欧拉角
1、内旋和外旋
内在旋转与外在旋转的转换关系:互换第一次和第三次旋转的位置则两者结果相同。例如Z-Y-X旋转的内部旋转和X-Y-Z旋转的外部旋转的旋转矩阵相同。
一、绕定轴X-Y-Z旋转(RPY角)(外旋)
假设两个坐标系A和B,二者初始时完全重合。
过程如下:B绕A的X轴旋转γ角,再绕A的Y轴旋转β角,最后绕A的Z轴旋转α角,完成旋转。整个过程,A不动B动。
旋转矩阵的计算方法如下:R = Rz * Ry