历史上的今天
返回首页

历史上的今天

今天是:2025年12月21日(星期日)

2022年12月21日 | 关于移动机器人运动的规划算法研究

2022-12-21 来源:混沌无形

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

01

引言

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

图 1.1 运动规划示意图(图片来源:http://wiki..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

结论与展望

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

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

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

编辑:黄飞

 

推荐阅读

史海拾趣

Herrmann Kg公司的发展小趣事

Herrmann Kg凭借其卓越的产品质量和专业的服务,赢得了全球众多领先客户的信赖。例如,CUSTOMCELLS®作为一家全球领先的客户专用锂电池开发商,在生产过程中采用了Herrmann Kg的超声波焊接系统,有效降低了废品率,提高了生产效率。这种深度合作不仅展示了Herrmann Kg在电池制造领域的专业能力,也进一步巩固了其在全球市场中的地位。通过不断满足客户的特定需求,Herrmann Kg在电子及其他相关行业中树立了良好的口碑。

Amperite Co公司的发展小趣事

Herrmann Kg自成立以来,始终致力于超声波焊接技术的创新。在1960年代初,由Walter Herrmann创立的这家公司,通过引入基于发电机原理的机器发生器,成功替代了当时不稳定的超声波管发生器,这一技术创新极大地提升了超声波焊接的稳定性和效率。随着技术的不断迭代,Herrmann Kg开发出了包括ULTRAPLAST、ULTRAPACK和ULTRABOND在内的多条产品线,这些产品不仅满足了市场对高效、可靠焊接技术的需求,还推动了超声波焊接技术在电子制造领域的广泛应用。

Applied Micro Circuits (MACOM)公司的发展小趣事

在经历了多次的收购与转手后,MACOM公司重新获得了独立地位,并开始了新的发展历程。公司推出了首个GaN功率器件,这一技术创新在行业内引起了广泛关注。随后,MACOM继续通过收购微波和射频公司MIMIX以及高速光通信公司Optomai来扩展其业务范围。这些举措不仅增强了公司的技术实力,也为其在全球市场上取得竞争优势奠定了基础。

Chyao Shiunn Electronic Industrial Ltd公司的发展小趣事

在追求经济效益的同时,Chyao Shiunn也注重履行社会责任。公司积极参与公益事业,为当地社区的发展做出贡献。同时,公司还注重环境保护和可持续发展,通过采用环保材料和节能减排技术等方式降低生产过程中的环境污染。这些举措不仅提升了公司的社会形象,也为公司的长远发展奠定了坚实基础。

请注意,这些故事都是虚构的,并不针对任何真实存在的公司。在现实中,每个公司的成长和发展都有其独特的故事和经历。如果您需要了解特定公司的真实发展历程,建议查阅相关资料或咨询相关人士。

Coleman Cable Inc公司的发展小趣事

品质一直是Coleman Cable的生命线。公司建立了严格的质量控制体系,从原材料采购、生产过程到成品检验,每一个环节都严格把关。这种对品质的执着追求,使得Coleman Cable的产品在市场上享有良好的声誉。同时,公司还积极听取客户反馈,不断改进产品和服务,赢得了客户的信赖和忠诚。

E-T-A [E-T-A Circuit Breakers]公司的发展小趣事

E-T-A公司的前身可以追溯到1948年,当时由Jakob Ellenberger和Harald A. Poensgen在德国共同创立了ELPO GmbH公司。这家初创企业专注于电气设备的研发和生产。随着技术的不断发展和市场的日益扩大,公司逐渐意识到设备用断路器在电路保护领域的重要性。因此,在1953年,公司正式推出了设备用的ETA断路器,并开始逐渐将重心转移到断路器领域,这也为日后E-T-A公司的成立奠定了基础。

问答坊 | AI 解惑

技嘉的60XT主板图纸

技嘉的60XT主板图纸 [ 本帖最后由 西门 于 2009-5-22 22:55 编辑 ]…

查看全部问答>

求助啊~STM内嵌路由协议~

毕业设计题目是无线传感器智能节点网络软件开发 老师让我在STM32中写一个路由协议~我完全下不了爪~ 他让我看802.11b的路由协议 让我找实例代码 我在网上压根找不到 现在相当迷茫了 有没有高手指点一下啊~~:(…

查看全部问答>

vs2005下面创建COM组件出错?高分

vs2005下面创建COM组件出错 按照:MSDN文档操作,创建一个COM组件; http://msdn.microsoft.com/en-us/library/ms180791(VS.80).aspx 在编译COM组件出错(还没有写应用测试): 1>d:\\my documents\\visual studio 2005\\projects\\commm\\inter ...…

查看全部问答>

[求助]开发WinCE环境下程序需要什么开发工具

新手求助 开发WinCE环境下程序需要什么开发工具 我在网上搜的大部分是EVC和VS2005这两个 还有个EVB,不过EVC和EVB是不是就是两个语言的具体实现? 就是说EVC是用c++语言编,EVB是用VB语言编 不知道我理解的对不对 其他的还有么? 除了这几个 ...…

查看全部问答>

请教:关于WINCE4.2系统唤醒之后--串口无数据,需要从新关闭和开启串口的问题.

采用2440,wince4.2的系统,其中有三个外设,用3个串口与其通讯. 应用程序在运行的时候,打开了串口正常收发数据. 为了降低功耗,系统在定时到了后会自动待机挂起,然后利用外部中断唤醒系统. 当系统由待机->唤醒后,应用程序无法收发数据,需要从新关掉 ...…

查看全部问答>

【跪求】codewarrior v7.1 使用ucos v2.86版本的问题

codewarrior v7.1 使用ucos v2.86版本的问题 各位大侠。我再ucos官网上下载了MCF5235的移植代码。我用到了MCF52110上,我只建立了一个任务,这个任务和空闲任务之间切换几次后出现format error异常错误。错误的位置是osCtrsw函数的RTE指令处。但 ...…

查看全部问答>

STC单片机电子时钟

我最近写了一个有关电子时钟的C程序(本人是个初学者),调式的过程中发现,当调节时钟参数时,数码管显示有些不稳定,所以请大家看看,是哪个地方出了问题,该怎样改进!还请大家多多参与咯!呵呵……   程序内容如下: /*------------ ...…

查看全部问答>

我表示很伤心啊

哎,今天艾睿合众达的一个电话,让我很伤心啊。本来四月份参加了由TI和艾睿合众达联合举办的研讨会,说好可以申请一套MCU应用开发板的,结果我就申请了cortex-M4内核的开发板,然后一直盼望着盼望着,结果,今天艾睿合众达的一位工作人员说什么没货 ...…

查看全部问答>

stm32双工DMA串口程序

//#include \"stm32f10x_lib.h\" #include \"stm32f10x_map.h\" #include \"stm32f10x_usart.h\" #include \"stm32f10x_dma.h\" #include \"stm32f10x_gpio.h\" #include \"stm32f10x_rcc.h\" #include \"USART1.h\" const char * USART_INI ...…

查看全部问答>