前言:参考书《机器人学导论》,如有问题,欢迎大佬指正。
一.简介
基本结构:手臂、手腕、手爪、腿、步行机构、飞行机构。
由连杆和铰链(运动副)串联或者并联成为机构
操作臂由连杆和关节构成。操作臂的自由度是拥有独立位置变量的数目。
二.空间描述和变换
位置
表示在A坐标系下,点的坐标,P为向量。
姿态
有了位置坐标之后,可以得出姿态。
假设有一个机械臂,A坐标系下的原点就是胳膊肘,P点就是手腕的位置。我们虽然知道了胳膊的方向,但是不知道手指指向什么方向。
那么就需要引入一个B坐标系,来表示手指的方向。
书上是这么写的:
总结一下就是从A坐标旋转到B坐标,旋转的矩阵就是上面的式子。
并且,有两个重要性质。
1.从A到B的转置矩阵就是从B到A。
2.相乘就是单位矩阵。
所以,知道一个B坐标下的向量P,想在A坐标下面表示,应该这么做:
转动
首先看Z轴旋转,
方向是从Z轴向下看,逆时针方向。
同理可得X轴和Y轴的旋转
如果是三个轴混合转动,就需要知道顺序,下面的是先X,再Y,最后Z的顺序。如果将顺序变化,得出的结论将会不同。
方法就是将三个转动的矩阵直接乘起来。但是需要注意一点:在X上面转的时候,是没有问题的,但是在Y上面转,是相对于原来坐标(蓝色)的Y轴,还是相对转动坐标(红色)的Y轴呢。
这里使用的Fixed Angles是相对于原来坐标的。
还有一种方式,相对于转动(红色)坐标的叫做Euler Angles。
这两种方法有一个性质,Fixed Angle 和Euler Angle转动的顺序反过来,得到的结论是一样的。
例如:Fixed Angle先X轴转60度,再Y轴转30度的结果等于Euler Angle先Y轴转30度,再X轴转60度的结果。
移动加转动
现在知道了转动的表达方式,那么加上移动的表示只需要加上移动的距离
左上是转动的矩阵,右上是移动的矩阵。推导如下:
这种方式也是有顺序的,需要先转动,再移动。
如果这一部分无法理解,可以参考coursera课程台大机器人学之运动学——林沛群。
如果还是不理解,可以参考B站课程GAMES101,第三节。