目录
具体的解算与仿真案例可以看我发布的另一篇文章:【多类型运动副组合机械臂运动学解算与Matlab仿真】抬升机构+连杆机构+球窝关节机构(上)
一.位姿
1.简介
位姿,即位置与姿态,为什么要引入位置与姿态,如下图所示
我们不仅经常需要表示空间的点,还经常需要描述空间中物体的姿态。例如图中矢量P直接确定了在机械臂末端的点,但只有当手的姿态已知后,机械臂的位置才能完全被确定下来,而为了描述物体的姿态,我们将在物体上固定一个坐标系并且给出此坐标系相对于参考系的表达。在图中,已知坐标系{B}被固定在物体上。{B)相对于{A}中的描述就足以表示出物体的姿态。
在机器人学中,位置和姿态经常成对出现,于是我们将此组合称作坐标系,四个矢量为一组,表示了位置和姿态信息。例如图中一个矢量表示机械臂末端的点,而另外三个量表示姿态。一个坐标系可以等价地用一个位置(矢量)矩阵和一个旋转矩阵来描述。下面教大家矩阵的基本知识以及坐标变化。
2.一般的矩阵表示
- 位置:
该矩阵表示为点P在A坐标系下的位置
-
姿态(可以简单理解为在三维空间中角度)
上述表示为在以刚体B建立空间坐标系,那么这个坐标系三个两两正交的单位矢量,在A坐标系下位置,分别记为X Y Z,也就是说,X Y Z其实是个三维列向量 某种角度来说,其实也是一种旋转矩阵,而且这种矩阵的正定的,即:
与
矩阵展开后的区别如下:
3.坐标变换
(1)基坐标与连体坐标
从通俗角度来理解,基坐标就是指我每次进行变换的时候都用同一个坐标系;而连体坐标系是每次变换的时候用的是不同的坐标系,这些不同的坐标系之间含有某种联系
例如,一个物体在A坐标系下先平移,然后又在该坐标系下旋转,那么这就是基坐标;而另一物体在A坐标系下先绕X旋转,然后再绕旋转后坐标系的Z轴旋转,此时就是连体坐标
-
坐标变换是有顺序之分的,不可随意调换(矩阵乘法没有交换律),如先平移后旋转和先旋转后平移结果不同
-
右乘连体左乘基
-
若是旋转,那么就是矩阵乘法;若是平移,则是对矩阵进行加法运算
我们可以看到,在这种变换算法下矩阵的旋转和平移是分开的,并不是仅仅通过矩阵乘法来进行计算的,而齐次坐标变换解决了这个问题
(2)变换规律
-
平移:对于平移而言,点p在A坐标系下位置等于点p在B坐标系下位置加上A,B坐标系间相对值(也就是你要平移的量),角标也相当于可约,换句话说,平移就等于原来的矩阵加上平移后的矩阵
-
旋转:旋转要遵守右乘连体左乘基的规则,要注意其角标是可以约掉的
(3)绕XYZ轴的旋转变换矩阵
(4)齐次坐标变换
齐次坐标变换是可以将平移旋转放到一个矩阵来解决问题的,由于用的是矩阵乘法,那么同样遵守右乘连体左乘基的规则 正常情况下,我们进行坐标变换是这样的:
在齐次变换中,我们将最后得到转化为下述形式: