工业机器人的运动
- 点到点运动:不需要在笛卡尔空间规划末端运动轨迹,机器人各个关节运动不需要联动。
- 轨迹跟踪运动:以点到点为基础,各个关节运动需要联动。
关节空间运动规划
目标:使关节空间轨迹平滑。
3次多项式插值
做如下假设:某个关节从t0 时刻的位置q0 运动到tf 时刻的位置qf 。在t0 和tf 时刻速度均为0。
利用3次多项式来拟合轨迹:
将边界条件代入即可解出参数a1,…,a3 。
过路径点的3次多项式插值
假设起点与终点的关节速度不为0时,利用3次多项式进行插值。解法同上,不再赘述。
需要注意,选择路径点的关节速度时,要考虑到保证每个路径点的加速度是连续的。
高阶多项式插值
当考虑到机器人关节空间起始点和目标点的加速度时,需采用高阶多项式插值。即修改边界条件为:
因此,6个边界条件对应高阶多项式的6个系数,a0,…,a5。
用抛物线过渡的线性插值
中间利用直线线性插值,两端利用抛物线过渡。利用直线段求出关节速度:
其中th 为中间时刻,tb 为过渡时刻, qh 为中间位置。假设关节加速度q¨ 已知,则
且我们知道:
因此我们可以利用上述3式解出
为了保证直线存在,加速度不能太小。
过路径点的抛物线过渡线性插值
将邻近路径点用直线相连,路径点附近利用抛物线过渡。求取过渡时间时可以将路径分为第一路径、中间路径和最后路径三种情况分别讨论,原理同上,不再赘述。
B样条插值
首先简要介绍下B样条:
设 m 为样条的次数,在 m+1 个子区间以外的其他子区间上, B样条的取值均为0。 B样条函数可以采用递归的方式进行定义。假设对于自变量 x 有 m+2 个点 xi,xi+1,…,xi+m+1 构成 m+1 个子区间。首先定义 0 次B样条函数:
对于 m 次B样条:
在区间 [x0,xk] 内的任意函数,可以表达为利用第 m 次B样条函数作为基函数的加权和:
上式包含了 k+m+1 个参数 a 。在每个子区间上,最多为 m+1 个B样条函数的加权和。在进行曲线插值或拟合时,需要确定这 k+m+1 个参数。
有时候为了消除在非期望点的波动,可以利用相邻期望点的中间点作为控制点。
B样条的主要特点是在局部的修改不会引起样条形状的大范围变化。
笛卡尔空间运动规划
笛卡尔空间的路径规划,就是计算机器人在给定路径上各点处的位置与姿态。
位置规划
对于直线运动:
其中 P 是位置,α 为步长。
对于圆弧运动:
假设圆弧由 P1,P2,P3 点构成,首先利用2平面的交点确定圆心位置,进而计算出半径。利用矢量相加一步步规划出 P1 到 P3 每个中间点的位置。
姿态规划
假设机器人在起始位置的姿态为 R1 ,在目标位置的姿态为 R2 ,则机器人需要调整的姿态 R 为:
利用通用旋转变换求取等效转轴与转角,进而求取机器人第 i 步相对于初始姿态的调整量。
在笛卡尔空间中,将机器人的第 i 步的位置与姿态相结合,得到机器人第 i 步的位置与姿态矩阵: