Coordinate Transformations 坐标变换
在机器人应用中,有许多不同的坐标变换形式可以用来描述机器人、传感器、以及其他物体位置的变化。通常在3D空间的物体位置用位置和方向来描述。这些值有多种可能的表示形式,例如旋转和平移就是位置和方向的代替术语,并且部分坐标变化的描述形式是可以相互转换的。
这些描述方式有:
- Axis-Angle(轴线角度) :描述方式是旋转轴和旋转角度,例如绕y轴旋转90度 axang = [0 1 0 pi/2]。
- Euler Angles(欧拉角):非常常见的一种角度描述方式,例如绕y轴旋转90度 eul = [0 pi/2 0]。
- Homogeneous Transformation Martix(齐次变换矩阵):该矩阵描述包含了旋转和平移的变换。
- Quaternion(四元数):非常常见的一种角度描述方式,避免了欧拉角的死锁问题,而且计算速度很快。
- Rotation Matrix(旋转矩阵):非常常见的一种角度描述方式,计算速度慢。
- Translation Vector(平移向量):描述方式是平移轴和平移距离,例如沿x轴平移3个单位 trvec = [3 0 0]。
如上三种描述旋转的方式他们的区别是:1. 欧拉角描述直观,但是存在万向节死锁问题。
2. 旋转矩阵,不存在万向节死锁问题,但计算量大。
3. 四元素,不存在万向节死锁问题,计算量小,但描述不直观。
对于机器人的运动描述问题,我们可以转化为坐标变化问题,也就旋转和平移问题。最长见的描述方式就是Rotation Matrix 和 Translation Vector。例如简单的二维平面运动描述方式
参考:https://www.mathworks.com/help/robotics/ug/coordinate-systems-in-robotics.html