APP下载

基于三次参数样条的机器人路径平滑算法研究

2019-10-31乔亮李泽文胡杰李照祥

电脑知识与技术 2019年22期
关键词:移动机器人

乔亮 李泽文 胡杰 李照祥

摘要:本文针对机器人运动规划中必须解决的路径平滑问题,对常用的分段插值算法进行对比分析,紧密联系实际,说明其局限性,提出了基于三阶参数样条插值的机器人路径平滑的研究。解决了机器人在实际运动规划中出现的拐点及曲率不连续的问题,以机器人本身的硬件能力做参数调整。仿真实验表明调参后的路径平滑效果很好。

关键词:三次参数样条;路径平滑;平滑参数;移动机器人

中国分类号:TP301   文献标识码:A

文章编号:1009-3044(2019)22-0191-02

开放科学(资源服务)标识码(OSID):

1 背景及研究意义

为了提高工作精度,在实际机器人开发中,运动过程不允许速度、加速度、航向角和曲率发生突变,在实现例如避障、抓取等功能的同时,保证机器人平稳运动,这对机器人在运动过程中的路径规划提出严格要求。三次样条插值,构造的曲线二次连续,且构造时只需事先给出很少的导数信息,如端点条件(这里我们选取自由边界,各区间首尾两端二次导为0)。但求解中不能出现轨迹平行或垂直于坐标轴[1]。B样条插值允许局部控制曲线的形状,又能保证曲率的连续性,但由于其原理导致不能经过所有的样点[2]。然而机器人在运动中,所在空间可能由于障碍物出现往返运动,导致轨迹图计算会出现垂直切线问题。为了满足机器人实际运动的要求,本文提出了基于三次参数样条的机器人路径平滑算法,并讨论如何根据硬件条件选择适合的参数。

2 三阶样条插值的算法改进

2.1 三阶样条插值

机器人在二维平面地图信息中包括地图中的坐标位置,以此将地图信息离散化,通过地图坐标信息机器人使用路径算法来获取可行的路径,在此过程中通过给定一系列的路径点,为了使轨迹更加平滑通过将带有坐标信息的路径点来进行插值[3]。样条插值法是根据可变样条连接样点的光滑曲线数学方法[4]。满足路径规划的条件需要:三次样条曲线在衔接点处是连续光滑的;选用自由边界的三次样条(Nature Cubic Spline),且边界二阶导数也是连续的。在任意两个路径点[SiSi+1]之间可以通过三次多项式生成一段平滑的曲线。该插值函数可以通过以下方程形式表示:

[Six=a i+b i(x-xi)+c i(x-xi)2+d i(x-xi)3]     (1)

各段擬合曲线系数不同,通过给定的n-1个公式和两个端点的限制,得到n+1个未知量的值。

2.2 三阶参数样条插值

对于三次样条算法不能解决具有垂直切线的问题以及[xi+1

[ti=sqrtxi+1-xi2+yi+1-yi2+ti-1]  ([t0]=0)             (2)

构建一系列样点在每两点之间可以[得到]参数三次多项式插值的形式:

[x=a i+b i(t-ti)+c i(t-ti)2+di(t-ti)3]           (3)

[y=a i+b i(t-ti)+c i(t-ti)2+d i(t-ti)3]           (4)

每一段曲线中,通过上述求解三阶样条的方法[6],即通过公式(3)和(4)的求解过程可分别得到x、y两个关于t的三阶样条插值方程。每段自变量t的坐标系是不同的,但量化标准是一致的,与每段起始点到终止点的连线长度和方向有关。这样就很好地解决了原始坐标系的机器人垂直、水平及往返运动的情况。这里选取的边界条件为自由边界,因此可以得到每一段曲线的参数方程,其流程如下:

2.3 参数的选取

曲率就是针对曲线上某个点的切线方向角对弧长的转动率,数学上表明曲线在某一点的弯曲程度的数值。曲率的倒数就是曲率半径。参数t表示三次参数样条中要求单调递增的自变量的值,参数的变化决定了整个曲线的变化趋势,参数的选取是算法优化的重要一栏。其检验标准以曲率为主,包括连续性、变化趋势和最值。

在常规坐标系中,计算x、y的一阶二阶导数,得到的数据在物理属性上表示速度和加速度分量,本参数方程选取的自变量是基于分段转换后的坐标系,故本文中的参数方程得到的轨迹速度和加速度不能代表实际的情况。但计算的曲率是轨迹属性,与本文坐标系选取关系无关,得到的结果符合实际情况。

3 实验结果

3.1 三次参数样条插值实验结果

生成的平滑轨迹如图2所示:主要选取边界情况与异常点情况,进行测试主要考虑,水平点和垂直的点,以及点过少,步长的大小,以及曲线的抖动情况并对遇到的问题进行程序修改,保证程序稳定。这里输入为一串点包括三个连续垂直和水平的点。这里选取112个单位长的一段曲线,从中选取20个插值点,以0.5个单位的步长进行采样,共采得226个采样点。图2中的虚线表示之前通过路径规划算法直接连接的路径,红色的实线为平滑后的路径对比。

左侧为插值算法的测试结果;右侧为插值轨迹与样点连线对比图

调用构造和采样函数100次,计算所消耗的时间,并与三次B样条插值的时间进行对比,结果如下:

从图3可以看出在调用三阶参数样条算法计算100次所消耗的时间为89ms左右,而三阶B样条算法计算100次所消耗的时间为181ms左右,因此每次采用三阶参数样条算法处理更高效。

3.2 参数讨论

对于曲线轨迹平滑,参数调整主要体现在自变量选取。令[(xi-xi-1)2-(yi-yi-1)2]为[h],下图4中,展示t为[h13]、[h12](对应欧式距离)、[h23]、[h1]、[h2]时的三阶样条插值的对比图,样点满足自变量自由变换,二维平面取样点。这里以(-4,1.2)、(-2,0.6)、(1.5,1.3)、(-0.1,1.5)、(4,3.8)、(6,5)、(10,3)先后插值平滑。

图4表示t的指数选取2、1、2/3、1/2、1/3时的路径平滑图,单位为1。以参数t=[h23]为标准,由图可以看出,t的指数值越大则路径长度越长,但对于t指数为2时,路径过长且存在路径交叠,不可取。t的指數值越小,在路径长度方面更优。

图5中表示t的指数取1、2/3、1/2、1/3时的路径平滑轨迹以及以0.05个单位为间隔的曲率点,单位为1。由图中可见,在某些轨迹变化幅度较大的地方,各个t的指数值的曲率变化突显,最值之差较大。轨迹平滑的区域,曲率差别不大且变化平稳。参数t的指数值越小,对应轨迹的最大曲率值越大,且局部曲率变化增长幅度也越大。

减小轨迹长度,可以降低机器人运动的能源损耗;曲率半径(曲率倒数)参数值对机器人的转向能力提出了要求,降低曲率可以降低机器人在转向能力的要求,继而降低机器人硬件成本。因而,需要根据实际机器人的硬件的实际能力和硬件成本,考虑路径长度优化及转向能力选取最优t值。

4 总结

本文通过说明常用的三阶样条插值及B样条插值的实际应用优缺点,尤其针对机器人路径规划领域中的局限性进行说明。对于机器人领域的应用提出了三阶参数样条插值,实现了包含一阶二阶导数连续,曲率连续,不受单调性限制,拟合轨迹包含样点。并对选取的自变量参数t进行充分讨论分析,结合实际机器人性能选取最优的参数。

参考文献:

[1] 张小江,高秀华.三次样条插值在机器人轨迹规划应用中的改进研究[J].机械设计与制造,2008(9):170-171.

[2] 任重,杨灿军,陈鹰.轨迹规划中的B样条插值算法[J].机电工程,2001(5):38-39.

[3] Elbanhawi M , Simic M , Jazar R N . Continuous Path Smoothing for Car-Like Robots Using B-Spline Curves[J]. Journal of Intelligent and Robotic Systems, 2015, 80.

[4] Durrleman S, Simon R. Flexible regression models with cubic [J].Statistics in Medicine, 1989, 8(5):551-561.

[5] 张彩明.高精度三次参数样条曲线的构造[J].计算机学报,2002,25(3):262-268.

[6] 许小勇,钟太勇.三次样条插值函数的构造与Matlab实现[J].兵工自动化,2006,25(11):76-78.

【通联编辑:梁书】

猜你喜欢

移动机器人
移动机器人自主动态避障方法
移动机器人VSLAM和VISLAM技术综述
基于改进强化学习的移动机器人路径规划方法
基于ROS与深度学习的移动机器人目标识别系统
基于Twincat的移动机器人制孔系统
室内环境下移动机器人三维视觉SLAM
简述轮式移动机器人控制系统中的传感器
未知环境中移动机器人的环境探索与地图构建
极坐标系下移动机器人的点镇定
基于引导角的非完整移动机器人轨迹跟踪控制