机器人的轨迹规划
路径和轨迹的描述
路径描述
路径定义为机器人位姿的一个特定序列,而不考虑机器人位姿的时间因素。
轨迹描述
轨迹就是机器人手臂关节在运动过程中的位移、速度和加速度。轨迹与何时到达路径中的每个部分有关,强调了时间性。如果机器人抵达N点和P点的时间不同,则相应的轨迹也不同。
总结
路径和轨迹是两个相似但含义不同的概念,机器人运动的路径描述机器人的位姿随空间的变化,而机器人运动的轨迹描述机器人的位姿随时间的变化。
轨迹的生成方式
示教—再现运动
这种运动由人手把手示教机器人,定时记录各关节变量,得到沿路径运动时各关节的位移时间函数q(t)。再现时,按内存中记录的各点的值产生序列动作。
关节空间运动
直接在关节空间里进行,由于动力学参数及其极限值直接在关节空间里描述,所以用这种方式求最短时间运动很方便。
在关节空间中进行轨迹规划是指将所有关节变量表示为时间的函数,用这些关节函数及其一阶、二阶导数描述机器人预期的运动。
空间直线运动
笛卡尔空间里的运动,它便于描述空间操作,计算量小,适宜简单的作业。
在直角坐标空间中进行轨迹规划,是指将手爪位姿、速度和加速度表示为时间的函数,而相应的关节位置、速度和加速度由手爪信息导出。
空间曲线运动
在笛卡尔空间中用明确的函数表达的运动,如圆周运动、螺旋运动等。
轨迹规划的目标
不仅要规定机器人的起始点和终止点,而且要给出介于起始点和终止点之间的中间点,也称路径点。
运动轨迹除了位姿约束外,还存在着各路径点之间的时间分配问题。例如,在规定路径的同时,必须给出两个路径点之间的运动时间。
机器人的运动应当平稳,不平稳的运动将加剧机械部件的磨损,并导致机器人的振动和冲击。
轨迹规划的简单示例
为了能够描述一个完整的作业,往往需要将运动进行组合。通常这时轨迹规划会涉及以下几方面的问题:
(1)对工作对象及作业进行描述,用示教方法给出轨迹上的若干个路径点。
(2)用一条轨迹通过或逼近路径点,此轨迹可按一定的原则优化。
(3)以上生成的轨迹是机器人位置控制的给定值,可以据此并根据机器人的动态参数设计一定的控制规律。
(4)规划机器人的运动轨迹时,还需要明确其运动路径上是否存在障碍物。
关节空间和笛卡尔空间
关节空间
对于一个具有n个自由度的机器人来说,它的所有连杆位置可有一组n个关节变量来确定。这样的一组变量通常被称为 n × 1 n\times1 n×1的关节矢量。所有关节矢量组成的空间称为关节空间。
优点:
在线运算量小、效率高,无需进行机器人的逆解或正解解算。
因其仅受关节速度及加速度的限制,故不会发生机构的奇异性问题(奇异性就是指函数的不连续或导数不存在)。
缺点:
由于约束的设定和轨迹规划在关节空间进行时,对机器人手臂关节(直角坐标位姿)没有施加任何约束,对应操作空间的轨迹无法预测,很难弄清机器人手臂关节的实际路径,增加了机器人手臂关节与环境碰撞的可能。
关节空间中轨迹规划特别适合机器人手臂关节运动不要求规定路径的、进入空间行程大范围内快速移动的轨迹段。
笛卡尔空间
1.笛卡尔坐标系
• 相交于原点的两条数轴,构成了平面放射坐标系。如果两条数轴上的度量单位相等,则称此放射坐标系为笛卡尔坐标系。
• 两条数轴相互垂直的笛卡尔坐标系,称为笛卡尔直角坐标系,否则称为笛卡尔斜坐标系。
2.笛卡尔空间
笛卡尔空间是指当位置是在空间相互正交的轴上定位的,且姿态是按照空间描述规定的方法测量的空间。有时也称为任务空间或者操作空间,一般简单地理解成在空间直角坐标系。
3.空间笛卡尔坐标系
• 相交于原点的三条不共面的数轴构成空间的放射坐标系。三条数轴上度量单位相等的放射坐标系被称为空间笛卡尔坐标系。
• 三条数轴互相垂直的笛卡尔坐标系被称为空间笛卡尔直角坐标系,简称为空间直角坐标系,否则被称为空间笛卡尔斜角坐标系。
• 路径规划中最常用的是空间笛卡尔直角坐标系,即空间直角坐标系。
优点:
概念直观,分段点之间的运动能被很好地确定,非常适合已定义的函数轨迹的规划。
缺点:
笛卡尔空间路径规划的结果需要实时变换为相应的关节坐标,这是一个计算量很大的任务,常常导致较长的控制间隔。另一个主要的问题是,会有不连续问题。
通常会用一种关节空间和笛卡尔空间规划混合方法,来减少计算量。此外,也要确保在运动过程中不会碰到任何障碍物。关节空间和笛卡尔空间本身就有运动学上的对应关系,我们不可能同时做两类插补。
关节空间的轨迹规划
1.首先需要将每个作业路径点向关节空间变换,即用逆运动学方法把路径点转换成关节角度值,或称关节路径点。
2.为每个关节相应的关节路径点拟合光滑函数。
关节函数分别描述了机器人各关节从起始点开始,依次通过路径点,最后到达某目标点的运动轨迹。由于每个关节在相应路径段运行的时间相同,这样就保证了所有关节都将同时到达路径点和目标点,从而也保证了工具坐标系在各路径点具有预期的位姿。
关键要使关节轨迹满足约束条件,如各点上的位姿、速度和加速度要求和连续性要求等,在满足约束条件下选取不同的插值函数。
三次多项式插值
已知离散的数据,但不知道函数表达式,插值和拟合都是为了寻找函数表达式。
当已知末端操作器的起始位姿和终止位姿时,由逆向运动学,即可求出对应于两位姿的各个关节角度。因此,末端操作器实现两位姿的运动轨迹描述,可在
关节空间中用通过起始点关节角和终止点关节角的一个平滑轨迹函数θ(t)来表示。
为了实现关节的平稳运动,每个关节的轨迹函数 θ(t)至少需要满足四个约束条件:两端点位置约束和两端点速度约束。
利用约束条件确定三次多项式系数,有下列方程组:
θ
0
=
a
0
θ
f
=
a
0
+
a
1
t
f
+
a
2
t
f
2
+
a
3
t
f
3
θ
˙
0
=
a
1
θ
˙
f
=
a
1
+
2
a
2
t
f
+
3
a
f
t
f
2
\theta_{0} = a_{0} \\ \theta_{f} = a_{0} + a_{1}t_{f} + a_{2}t_{f}^{2} + a_{3}t_{f}^{3} \\ \dot\theta_{0} = a_{1} \\ \dot\theta_{f} = a_{1} + 2a_{2}t_{f} + 3a_{f}t_{f}^{2}
θ0=a0θf=a0+a1tf+a2tf2+a3tf3θ˙0=a1θ˙f=a1+2a2tf+3aftf2
由上式确定的三次多项式描述了起始点和终止点具有任意给定位置和速度的运动轨迹。剩下的问题就是如何确定路径点上的期望关节速度。
过程路径点的三次多项式
把所有路径点都看成是“起点”或“终点”,求解逆运动学,得到相应的关节矢量值。然后确定所要求的三次多项式插值函数,把路径点平滑的连接起来。不同的是,这些“起点”和“终点”的关节速度不再是零。
把每个关节上相邻的两个路径点分别看做起始点和终止点,再确定相应的三次多项式插值函数,把路径点平滑连接起来。
其约束条件是:联接处不仅速度连续,而且加速度也连续。
高阶多项式插值
如果对于运动轨迹的要求更为严格,约束条件增多,那么三次多项式就不能满足需要,必须用更高阶的多项式对运动轨迹的路径段进行插值。
例如,对某段路径的起点和终点都规定了关节的位置、速度和加速度(有六个未知的系数),则要用一个五次多项式进行插值。多项式的系数必须满足6个约束条件。
θ
(
t
)
=
a
0
+
a
1
t
+
a
2
t
2
+
a
3
t
3
+
a
4
t
4
+
a
5
t
5
\theta(t) = a_{0} + a_{1}t + a_{2}t^{2}+a_{3}t^{3}+a_{4}t^{4}+a_{5}t^5
θ(t)=a0+a1t+a2t2+a3t3+a4t4+a5t5
约束条件是关节在初始和终止位置处的位移、速度及加速度,引入加速度约束,有利于机构平稳运行。
笛卡尔空间轨迹规划和实现思路
• 所有用于关节空间的轨迹规划方法都可以用于笛卡尔空间轨迹规划。
• 如果我们关心机器人手臂关节在笛卡尔空间的整个路径,而不仅仅是关键点,这时便需要在笛卡尔空间内规划机器人手臂关节的运动轨迹。
• 笛卡尔空间的路径点指的是机器人末端的工具坐标相对于基坐标的位置和姿态。每一个点由6个(或7个)量组成,其中3个量描述位置,另外3个量描述姿态(或4个量,四元数)。在这种轨迹规划系统中,用机器人末端的工具的位姿的笛卡尔坐标节点序列规定轨迹。
实现过程
规划笛卡尔空间内的运动轨迹,比如直线,圆弧等,首要问题是在路径起始点和终止点之间如何生成一系列的中间点,同时需要对机器人末端工具的TCP点(工具中心点)进行不断的求逆解,把它变换成各个关节的运动。这个过程
可以归纳为以下计算循环:
(1)将时间增加一个增量;
(2)利用所选择的轨迹函数计算出末端的位姿;
(3)利用逆运动学方程计算相应的关节变量;
(4)将关节变量信息送给伺服驱动器;(每个关节由一个电机控制)
(5)返回到循环的开始。
插补方式和插补算法
在笛卡尔空间内,对机器人手臂关节在空间进行运动规划时,需进行的大量工作是对关节变量的插值计算。插补是一种算法,对于有规律的轨迹,仅示教几个特征点。轨迹上其他中间点的坐标通过插补方法获得。
- 插补方式
(1)定时插补。每隔一定时间插补一次,插补时间间隔一般不超过25ms。
(2)定距插补。每隔一定距离插补一次,可避免快速运动时,定时插补造成的轨迹失真,但也受伺服周期限制。 - 插补算法
(1)空间直线插补。在两示教点之间按照直线规律计算中间点坐标。
(2)圆弧插补。按圆弧规律计算中间点。
直线插补
圆弧插补(圆的一部分,不是真正的随意的圆弧)
笛卡尔空间的规划方法不仅概念上直观,而且规划的路径准确。笛卡尔运动可以非常简单地推广到圆柱坐标、球坐标以及其他正交坐标系统。但是在笛卡尔空间规划路径要比在关节空间规划路径困难。