关于移动机器人运动的规划算法研究

机器人

533人已加入

描述

摘要:运动规划是移动机器人自主导航系统中的重要模块之一,相关算法研究成果层出不同穷,本文根据规划算法特性,划分为图规划算法、空间采样算法、曲线插值拟合算法和仿生智能算法四个子类,并从移动机器人运动的角度对部分经典研究成果进行分析和总结。

01

引言

移动机器人运动行为是由自主导航系统决定的,自主导航系统主要包含感知、规划、控制与定位四个模块,感知模块是连接机器人与环境的桥梁,其作用是“阅读、提取”环境内容;规划模块是连接感知与控制的桥梁,其作用是“分析、理解”环境内容,根据用户目标及需求输出可执行控制命令,因此感知、规划模块是决定导航系统智能程度的关键。

机器人

图 1.1 运动规划示意图(图片来源:http://wiki.ros.org/navigation)

运动规划一直是机器人领域非常经典的研究热点之一,诸多学者和研究机构针对运动规划中的科学问题进行了深入研究。运动规划算法针对不同的应用场景有着不同的研究侧重点,比如游戏领域,游戏任务从A点运动到B点的运动规划需求是计算消耗内存小、计算实时性好,路径质量要求可能需要太高;而在全局规划领域,如百度地图等应用,则侧重研究如何快速找到一条从起点到终点的可行的路径,并不会关注整条路径的细节问题;而在机器人运动过程中,就需要侧重关注轨迹曲线的质量。 

细心读者可能发现了,这里的规划都是依赖于地图的,路径是依托于地图的,不同的地图使用的规划算法是有区别的,这可以在《机器人环境感知研究现状简述》中获知不同类型的地图及其对应的特点、适用场景。 

此外,路径规划中也包含路径搜索这块方向,路径搜索不仅仅是用于搜索路径,还可以用于搜索目标,比如药物结构的搜索,采用智能算法,给定初始条件和筛选条件,让算法在指定区域搜索药物分子结构。 

为提升机器人在不同场景下的自主运动能力,适用于不同环境的运动规划算法层出不穷,本文将根据算法原理分类、研究时间排序,整理概述该研究领域的进展及成果。

02规划算法研究分析

在分析之前需要先补充点概念:运动规划、轨迹规划和路径规划之间是什么关系? 

路径规划指的是在地图上生成一条连接起点和终点的路径曲线,该路径曲线不会与地图中的障碍物相交,且均在可行区域,路径曲线Path可以用离散的点序列表示:

式中,(xk, yk)表示地图坐标系下的路径点位置。 

轨迹规划顾名思义就是在地图上生成一条连接起点和终点的轨迹曲线,而轨迹曲线是路径曲线和速度曲线相耦合的复合曲线,换句话说,就是轨迹曲线Traj包含了位置、速度和时间等信息,离散化后可表示为:

式中,(xt, yt)表示地图坐标系下的t时刻路径点位置,而(vt, wt)表示t时刻机器人的运动速度。 

运动规划狭义上和轨迹规划的概念非常接近,区别在于不同的机器人的运动学/动力学模型是不一样的,比如多轴机械臂、移动机器人等,运动规划需要做的事情是需要先规划出上述轨迹曲线,接着结合动力学模型,将轨迹曲线转化为每个电机的运动控制曲线,控制电机沿着该控制曲线运动,以实现机器人沿着规划的目标轨迹曲线运动。 

<回归正题>

如图 2.1所示,运动规划的研究主要是对多目标多变量多约束耦合的规划模型优化求解,目标需求非常多,包括模型硬约束,如轨迹曲线需要满足机器人运动学和动力学模型约束,同时还需要满足避障约束,也就是说该轨迹曲线的最基础要求就是机器人实际上能够跟随运动且不会发生碰撞;而规划需求软约束则包实时性好、动态适应性好、计算成本低等,这些约束根据不同的应用场景是不一样的,用户体验也是存在差异的,故而称为软约束。 

机器人

图 2.1 运动规划通用模型

此外,对于具有非完整约束的移动机器人而言(见《两轮差速驱动机器人运动模型及应用分析》),在分布有障碍物的环境中求解最优路径是NP-hard问题,即对于任意场景无法保证在多项式时间内求得最优解,因此大部分规划算法追求次优解或局部最优。 

运动规划研究历史长久、算法相当多,除了上述提到的约束多外,当前运动规划的研究难点是什么呢? 

笔者认为难点之一是如何处理存在耦合关系的路径与速度曲线的优化问题,常用方式有三种: 

1)路径-速度完全脱离处理:仅单纯生成平滑路径,再使用曲线跟踪算法控制机器人运动,该方法动态避障性能偏弱。 

2)路径-速度循环迭代优化:先生成无碰撞路径(静态避障),再基于该路径生成稳定好的无碰撞速度曲线(动态避障),并通过循环迭代优化算法生成最佳轨迹曲线,该方法降低优化维度,提升了优化效率。 

3)路径-速度“捆绑”优化:综合考虑所有的约束关系及优化目标,生成最优轨迹曲线,该方法生成的轨迹效果很好,但存在优化模型构造难度大、优化效率不高等问题。 

诸多学者针对不同应用场景和需求,设计、改进了非常多的运动规划算法,笔者将常见的运动规划算法主要分为四类:图规划算法、空间采样算法、曲线插值拟合算法和仿生智能算法。 

接下来,笔者将从逐一介绍这四个子类规划算法的概况。

2.1   图规划算法

图规划算法多数将环境模型离散化表达,如栅格图等,其离散节点描述相应状态,建立节点间联系,并求解最优路径。 

如图 2.2所示,图规划算法根据路径生成方式的不同分为三类,其中以图搜索算法为主,以及BUG算法和势场力算法。 

具体相关分析可阅读《机器人图规划算法研究现状简述》。

(请横屏看图)

机器人

图 2.2 图规划算法发展路线概况

2.2   空间采样算法

空间采样算法按照采样空间不同,可分为:状态空间采样和运动空间采样。 

如图 2.3所示,基于状态空间采样的算法能够在大面积、高纬度的空间中快速生成路径,包括RRT和PRM类算法等,具有概率完备性,其主要步骤包括随机采样、度量连接、碰撞检测和路径查询。 

基于运动空间采样的算法则在速度空间等距采样,通过评价函数选择最佳控制指令,驱动机器人运动,主要包括CVM类算法及DWA类算法等。 

具体相关分析可阅读《机器人空间采样算法研究现状简述》。

(请横屏看图)

机器人

图 2.3 空间采样算法发展路线概况

2.3   曲线插值拟合算法

上述大部分《图规划算法》和《空间采样算法》生成的路径存在折点、急弯等曲率不连续的情况,影响了机器人运动平稳性,因此需要综合考虑模型硬约束与实际规划软需求,以提升路径平滑度。

机器人

图 2.4 CHOMP规划算法

如图 2.4所示,曲线插值拟合算法在曲线平滑控制及优化方面有显著的优势,按照曲线生成方式及其种类可分为:基于插值的规划算法、基于特殊曲线的规划算法及基于优化的规划算法三类,该类算法在自动驾驶等领域有着广泛的应用。 

具体相关分析可阅读《机器人曲线插值拟合算法研究现状简述》。

2.4   仿生智能算法

针对机器人运动规划问题,除上述基于经典模型的规划算法外(《图规划算法》、《空间采样算法》和《曲线插值拟合算法》),还有神经网络、模糊逻辑及基于自然灵感的算法(遗传算法、粒子群算法、蚁群算法等),并逐渐成为研究热点。 

如图 2.5所示,与经典算法相比,智能算法能够较好适应复杂动态环境中的不确定、不完整的信息,但需要前期学习阶段和较高计算成本,适用于大型机器人,如无人车等。 

具体相关分析可阅读《机器人智能仿生路径规划算法研究现状简述》。

机器人

图 2.5 路径规划模糊系统架构

03

规划算法特性讨论    

在表 3-1中,笔者总结对比了不同类型算法的主要优缺点,其应用场景也存在差异。 

图规划算法与空间采样算法已经能够在诸多场景下的规划生成一条无碰撞路径,实时性和动态适应性逐渐提升,但多数算法仍存在路径质量差、未考虑动力学约束等问题。 

而曲线插值拟合算法正好与之配合,能够容易生成连续性好的轨迹曲线。 

多数仿生智能算法处理动态环境下的规划问题时存在实时性、收敛性均不稳定等问题,实际应用较少。 

从目前研究思路来看,多是先采用图规划算法、空间采样算法生成全局路径或初始路径,再使用曲线插值拟合算法,综合考虑系统软硬约束,优化生成质量好的轨迹。

表 3 -1 运动规划算法优缺点对比(点击或原文查看大图)

机器人

备注:相关参考文献可对照《类车机器人集成感知与规划系统设计研究》

04

结论与展望

本文根据规划算法特点将常见规划算法划分为四类,并从实时性、计算成本、模型复杂度、环境适应能力、路径曲线质量、轨迹长度等方面综合对比分析了上述四个子类规划算法。 

运动规划算法种类繁多,应用场景各不相同,而本文仅从移动机器人视角对部分运动规划算法进行了分析概述,只能算是窥探运动规划这一领域的冰山一角。 

后续会逐渐深入讨论分析一些经典的算法。

编辑:黄飞

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分