PRUDNIKAU MIKALAI
摘 要:针对机器人操纵装置或机器人路径的平滑性研究,对轨迹节点的平滑离散是很有必要,此外,还建立了满足标准平滑度的轨迹路径。平滑起点和机器人的最终位置必须要精确定义,所以经典最小二乘法是不适用的。为了解决这个问题,提出了一种改进的最小二乘法。该方法要求首先建立一个平滑的运动轨迹,同时使其起点和终点保持一致,而且减小了机器人的驱动单元的动态负载和计算时间。
关键词:路径规划 机器人 最小二乘法
中图分类号:TP391.9 文献标识码:A 文章编号:1672-3791(2015)04(c)-0218-02
目前用于创建一个平滑轨迹的方法比较多,例如:采用运动规划的采集点,采用分段线性化的方法解决轨迹平滑性问题,该方法是用两点之间的直线替代光滑曲线上两点间的实际曲线,但这些算法往往没有考虑障碍物等实际情况,而且在狭窄的空间中应用不是很好[1-2]。其他的方法便是使用数值计算的方法[3-5],其中样条函数是较为经典的方法[6-8]。样条函数可以很好地解决平面和空间路径的任务,该算法广泛应用于陆地、海水和空中运行的无人操作机器人等方面。GilimyanovR.F提出了递归的方法[9]。在他的工作基础上,科技工作者开发了一个工作窗口,可以实时显示、存储有约束的长轨迹平滑曲率。
在出现大量实验点时,因为插值函数的不稳定性以及给定点的波动性太大,所以利用多项式插值计算平滑度是没有意义的。常用的方法(例如样条法)也不能给出较好的结果。因此,基于多项式的离散特定函数对轨迹平滑性研究有很大的帮助,其系数是通过平均积分点集的平滑函数的最小偏差来确定的,该方法称为最小二乘法。
该文提出了一种改进的最小二乘法。改进点主要是需要保持轨迹的起点和终点不变。
1 运动学分析
沿着离散点和在特定障碍物环境中,机器人的运动方向会发生较大的变化。因此,机器人的动态负载增加较快,这样就加快机械磨损速度,增加了能量消耗。这个问题的解决方案包括平滑离散轨迹规划,以此来减少从初始位置到目标位置运动过程中引起机器人的动态负载。
构建轨迹必须满足系统的约束,因为轮式机器人不能在横向上运动或打滑,再加上车轮的旋转角度和速度都是受限的。运动轨迹曲率不应超过其最大值Kmax=1/Rmin,相应地,车轮的最小转弯半径为Rmin。
机器人的运动学模型为:
(1)
其中:
-机器人的基准点在坐标系xOy中的坐标;
-机器人的速度矢量;
-机器人的速度矢量与x轴正向之间的角度;
-分别是左、右轮的角速度;
-车轮的半径。
输入的数据是一个在三维空间中的初始轨迹的n个节点的序列。
(2)
其中,-轨迹点的坐标;
-节点数。
用一个序列替换(2)的点序列,进行平滑轨迹,
(3)
其中,-平滑轨迹点的坐标。
平滑后轨迹的起点和终点保持不变,即满足条件:
(4)
此外,平滑的轨迹要尽可能接近原来的轨迹路径,同时要保证避开障碍物。
2 改进的最小二乘法
根据最小二乘法[10],为了得到平滑路径,可以通过多项式Fm(i)得到:
(5)
其中,m-多项式的阶数;
K-多项式系数的个数;
ak-多项式的系数,可从线性代数方程组系统(SLAE)得到:
(6)
其中,j-系统方程的数目。
这里和下面的公式中,坐标Y和Z是相同的。
将式(4)代入式(5)中可以得出:
(7)
根据条件(7),方程式(6)可写成:
(8)
为了满足方程式(4),必须要根据方程(7)替换(8)中的任意两个方程。例如,更换方程式(7)中的第M和M-1个方程,SLAE的形式为:
(9)
SLAE的矩阵形式为:
(10)
其中:—矩阵SLAE;
—自由变量;
—多项式方程(5)中的系数变量。
偏离初始轨迹的最大允许偏离度不应超过,本标准可用于多项式要求度的自动选择。
通過生成和求解系统方程来寻找X,Y和Z的轨迹分量:
(11)
由上述公式可知平滑性轨迹偏离初始轨迹的最大偏差量如下:
1.平滑轨迹被分割成一序列在时间上均匀地分布的节点,节点数目与初始轨迹节点数目相等。
2.搜寻初始轨迹和平滑轨迹节点之间的最大距离。
该算法的结果较好,因为各个节点之间的距离小于初始轨迹节点到平滑轨迹节点之间的距离。此外,寻找空间上两点之间的距离要比从初始轨迹节点到平滑轨迹节点的距离更容易、更快,而且这种替代使最大允许偏差的标准更为规范,并减少了搜索时间。
3 仿真结果
通过MATLAB程序进行以上算法的数值仿真,在实验中,假设(机器人)初始轨迹由虚线表示,其坐标值在表1中给出。在有障碍物的环境下运动时,将会导致其在运动方向上发生较大变化,进而使机器人驱动单元动态负载过大。
从图2可以看出平滑计算需要较少的时间;从图3可以看出,改进的方法要求平滑前后轨迹的起点和终点保持不变,且平滑性较好。
程序会自动计算得到,当M=6时的多项式的平滑度最高,进而进行轨迹规划。同时使得从给定的点(xi,yi)到(xi,y(n)(xi))的距离的平方和最小。
为了确保多项式是独一无二的,所以多项式的次数必须小于给定点的数量。例如,如果有三个点,多项式可以是零阶或一级(直线)或抛物线来近似运算。此外,抛物线将完全通过已知的三点,即距离的平方和等于零,因为二次多项式的三个系数可以通过给定的三个点唯一确定。这并不是数据近似求解,而是数据插值。
用Matlab进行数据拟合,在使用最小二乘法进行拟合时,经常使用“polyfit()”函数。根据给定的点找出被删除的多项式曲线图离给定的距离是多少,在数据拟合处理时,“polyfit()”函数需要两个输出参数,分别与多项式系数,近似值相关。
可以从多项式P的系数可得到,用R,Df和normr表示的S也可以得到。normr是拟合误差:
(12)
Df:表示了点的数目和多项式系数数目之间的差值。
增加多项式的阶数可以减小误差,但近似值的准确度并不会一直提高。
例如,对于所给定的数据,六阶多项式会产生误差normr=0,1442。
此外,将沿原轨迹走过的路径长度与沿着平滑的轨迹走过的路径长度进行比较,发现路径长度可减少15%,从而减少运动时间,节约能源。因此,沿着平滑的轨迹移动所需要的能量(由实线表示)要比沿初始轨迹移动的能量少得多。
4 结语
针对于平滑离散轨迹提出的改进最小二乘法,该方法是在MATLAB中实现的。具有以下优点:
1.構建平滑运动路径,消耗能量较少,运动路径的所消耗时间减少。
2.显著降低在机器人作业时的动态负载。
在程序运行过程中可知,当M=6时的多项式的平滑度最高,进而进行轨迹规划,六阶多项式产生的拟合误差为normr=0.1442,并缩短路径长度15%,这极大地缩短了运动时间,减少了能量消耗。
与经典的最小二乘法相比,该算法增加了初始轨迹和平滑轨迹二者之间的重合度,节省计算机资源。为机器人机械手的工作路径平滑性研究和轨迹规划提供了依据。
参考文献
[1] Hauser,K.&V.Ng-Thow-Hing.Fast smoothing of manipulator trajectories using optimal bounded-acceleration shortcuts [J]. In Proceedings of International Conference on Robotics and Automation,2010,12(2):774-786.
[2] Yang, K. & S. Sukkarieh.3d smooth path planning for a uav in cluttered natural environment [J].In Proceedings of International Conference on Intelligent robots and systems,2008(2):794-800.
[3] Ratliff, N.,Zucker M. & S. Srinivasa. Chomp:Gradient optimization techniques for efficient motion planning [J].In Proceedings of International Conference on Robotics and Automation,2009(5):472-476.