CN112325884B - 一种基于dwa的ros机器人局部路径规划方法 - Google Patents
一种基于dwa的ros机器人局部路径规划方法 Download PDFInfo
- Publication number
- CN112325884B CN112325884B CN202011181813.7A CN202011181813A CN112325884B CN 112325884 B CN112325884 B CN 112325884B CN 202011181813 A CN202011181813 A CN 202011181813A CN 112325884 B CN112325884 B CN 112325884B
- Authority
- CN
- China
- Prior art keywords
- robot
- speed
- obstacle
- mobile robot
- local
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 58
- 238000011156 evaluation Methods 0.000 claims abstract description 33
- 238000004088 simulation Methods 0.000 claims description 32
- 239000003016 pheromone Substances 0.000 claims description 18
- 230000001133 acceleration Effects 0.000 claims description 12
- 238000004364 calculation method Methods 0.000 claims description 10
- 230000008569 process Effects 0.000 claims description 10
- 241000257303 Hymenoptera Species 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 6
- 230000007613 environmental effect Effects 0.000 claims description 6
- 239000004973 liquid crystal related substance Substances 0.000 claims description 6
- 238000010606 normalization Methods 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 3
- 238000013519 translation Methods 0.000 claims description 3
- 238000009825 accumulation Methods 0.000 claims description 2
- 230000001419 dependent effect Effects 0.000 claims description 2
- 230000000875 corresponding effect Effects 0.000 description 15
- 230000006870 function Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 9
- 238000005070 sampling Methods 0.000 description 5
- 238000011160 research Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 206010063385 Intellectualisation Diseases 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000002474 experimental method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 201000004569 Blindness Diseases 0.000 description 1
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000003631 expected effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 230000010355 oscillation Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Abstract
本发明公开了一种基于DWA的ROS机器人局部路径规划方法,包括,利用机器人SLAM建图构建全局地图并获取机器人的起始点和目标点;在构建的全局地图中,利用改进的蚁群算法进行全局路径规划,寻找最优路径;当机器人沿着全局最优路径运动时,利用机器人所携带的传感器实时检测局部环境信息更新地图信息;判断是否存在动态障碍物,若存在,则调用DWA算法进行局部路径规划,避开障碍物;当机器人到达局部目标点以后,继续沿着全局最优路径进行运动,并不断实时检测局部环境信息,若再出现障碍物,则继续调用DWA算法进行局部路径规划,直至机器人到达目标点。本发明能成功避开障碍物,评价函数的距离因子对障碍物同时通过较为狭窄的通道。
Description
技术领域
本发明涉及动态窗口算法、机器人局部路径规划的技术领域,尤其涉及一种基于DWA的ROS机器人局部路径规划方法。
背景技术
在智能机器人发展的过程中,机器人自主避障规划在智能机器人研究领域有着举足轻重的作用,路径规划和自主避障能力是衡量机器人智能化的一个重要指标,机器人避障能力强弱和路径规划优劣直接决定着机器人智能化水平,拥有自主避障和路径规划能力就意味着机器人具有了自由移动的能力,这将大大提高机器人的工作效率和机动性,有利于机器人应用到更多的领域,而要实现机器人较好的自主避障和路径规划,优化路径规划和避障算法是重要的实现途径。因此目前对机器人路径规划和自主避障问题的研究有主要是对其算法的研究。虽然机器人经过多年的研究发展,但早期生产的机器人都没有统一的标准,很多软件难以移植使用,不同公司生产的机器人不能通用,不利于机器人的发展,而ROS(Robot operation system)机器人操作系统的出现,克服了传统服务机器人软件移植性差,不可扩展、模块化程度差等缺点,具有统一的编程、编译和执行环境,还配备可视化的调试和仿真工具,并且拥有着大量可以调用的库资源。模块化的设计思想使得原本较为复杂的机器人系统变得简单易操作,大大降低了机器人研究者的研发工作量,提升了代码复用率,如今已经在机器人领域开拓出一片新的天地,正因为ROS机器人操作系统有着众多优点和广阔的发展前景,受到机器人研究人员的追捧,已经成为广大科研人员不可或缺的研究平台。因此,对基于ROS的移动机器人的自主避障及路径规划的研究有着重要的现实意义。
全局路径规划基于已知地图的规划,局部路径规划基于动态地图的规划,局部路径规划也称局部避障,在机器人的实际运行过程中,机器人周围的环境并不是静态不变的,可能会出现一些运动的障碍物或者出现原静态地图上不存在的障碍物,而这时就需要机器人携带的传感器实时检测周围环境信息,若出现新的障碍物,就需要再次移动规划路径即局部路径规划,局部路径规划的主要任务是完成跟随和局部动态避障。鉴于局部路径规划的特殊性,局部路径规划需要更高的实时性和灵活性。
发明内容
本部分的目的在于概述本发明的实施例的一些方面以及简要介绍一些较佳实施例。在本部分以及本申请的说明书摘要和发明名称中可能会做些简化或省略以避免使本部分、说明书摘要和发明名称的目的模糊,而这种简化或省略不能用于限制本发明的范围。
鉴于上述现有存在的问题,提出了本发明。
因此,本发明提供了一种基于DWA的ROS机器人局部路径规划方法,能够解决移动机器人通过狭窄区域出现震荡或停止的问题。
为解决上述技术问题,本发明提供如下技术方案:包括,利用机器人SLAM建图构建全局地图并获取所述机器人的起始点和目标点;在构建的所述全局地图中,利用改进的蚁群算法进行全局路径规划,寻找最优路径;当所述机器人沿着全局最优路径运动时,利用所述机器人所携带的传感器实时检测局部环境信息更新地图信息;判断是否存在动态障碍物,若存在,则调用DWA算法进行局部路径规划,避开障碍物;当所述机器人到达局部目标点以后,继续沿着所述全局最优路径进行运动,并不断实时检测所述局部环境信息,若再出现所述障碍物,则继续调用所述DWA算法进行局部路径规划,直至所述机器人到达所述目标点。
作为本发明所述的基于DWA的ROS机器人局部路径规划方法的一种优选方案,其中:所述DWA算法包括,根据机器人模型自身的有限速度和加速度约束,将笛卡尔坐标(x,y)转换成一组机器人速度集合构成的速度矢量空间;直线行驶速度和旋转角速度组成一个速度对(v,ω);根据移动机器人的运动模型对不同的所述速度对(v,ω)对应的运动轨迹进行估计,利用评价函数来评价所述运动轨迹的优劣,最终选出评价最优的所述速度对。
作为本发明所述的基于DWA的ROS机器人局部路径规划方法的一种优选方案,其中:所述机器人模型包括,选择机器人轨迹是圆弧的机器人运动模型;定义移动机器人在每一个周期内的运行轨迹为一条弧线(轨迹为直线时旋转角度为0),每一个所述速度对(v,ω)都唯一的对应一条轨迹;移动机器人在t时刻的轨迹半径可以表示为
当所述移动机器人的角速度不为0时运动轨迹为圆弧,其位姿计算公式如下:
θt+T=θt+ωtT
其中,s=[x,y,θ]t表示移动机器人的位姿用向量,(xt,yt)为移动机器人的两个驱动轮的连线中点在t时刻在全局坐标系中的坐标,θt为移动机器人在t时刻的航向角,vt、wt分别为t时刻机器人的平移速度和角速度,T为模拟周期。
作为本发明所述的基于DWA的ROS机器人局部路径规划方法的一种优选方案,其中:对于当前时刻位姿确定的所述移动机器人,每一个速度矢量(vt,ωt)都对应唯一的一条运动轨迹以及其一个周期内的位姿,因此需要对速度矢量空间进行采样;所述移动机器人硬件性能存在限制,其速度和角速度都存在界限,所述速度矢量空间取值范围的界限可以表示为:
Vm={v∈[vmin,vmax],ω∈[ωmin,ωmax]}
其中vmin、vmax为所述移动机器人的最小、最大线速度,ωmin、ωmax为所述移动机器人的最小、最大角速度。
作为本发明所述的基于DWA的ROS机器人局部路径规划方法的一种优选方案,其中:还包括,所述移动机器人的加速、减速性能都与电机的性能有关,则所述移动机器人在模拟周期内线速度和角速度的变化量有上限,如下:
作为本发明所述的基于DWA的ROS机器人局部路径规划方法的一种优选方案,其中:还包括,若使得所述移动机器人在与所障碍物发生碰撞前能够停下来,则应当与所述障碍物之间保持一定的安全距离,其对移动机器人的速度、角速度限制为
其中,dist(v,ω)为速度对(v,ω)对应的轨迹距离障碍物最小的距离。
作为本发明所述的基于DWA的ROS机器人局部路径规划方法的一种优选方案,其中:包括,对采样得到的速度矢量相对应的轨迹进行评价,找出评价值最好的轨迹,则所述评价函数如下:
G(v,ω)=ε(δ·heading(v,ω)+β·dist(v,ω)+γ·vel(v,ω))
其中,θ为移动机器人在轨迹终点的航向与目标点之间的夹角,dist(v,ω)为障碍物与当前运动轨迹的最小距离,vel(v,ω)为此航迹对应的线速度值,δ、β、γ分别为夹角、距离、速度各评价因子项的加权系数,ε为对三项因子进行归一化处理。
作为本发明所述的基于DWA的ROS机器人局部路径规划方法的一种优选方案,其中:所述归一化处理包括,将每一个所述速度对相对应的各个评价因子除以所述模拟周期内所有轨迹的该项因子之和,如下:
其中,n为模拟周期内采样的轨迹数,i为参与评价函数的当前轨迹。
作为本发明所述的基于DWA的ROS机器人局部路径规划方法的一种优选方案,其中:还包括,若所述评价函数值越大,则所述轨迹越优,即选择一条距离障碍物最远、与目标点方向夹角最小、速度最大、三项评价因子最佳融合的轨迹,作为所述模拟周期内的避障轨迹。
作为本发明所述的基于DWA的ROS机器人局部路径规划方法的一种优选方案,其中:还包括,所述机器人在运动过程中,选择局部地图更新策略并利用自身携带的激光雷达传感器不断实时检测周围环境信息动态变化;将检测的结果与当栅格地图做对比,若不同,则存在动态障碍物,更新描述环境的栅格地图并进行避障规划路径;若相同,则继续沿着全局路径运动前行检测环境信息。
本发明的有益效果:本发明针对原DWA算法存在的不足,如通过狭窄区域,可能出现振荡或停止的问题,做了相应改进,通过Matlab实验仿真结果表明改进后的算法能够达到预期效果,本发明能成功避开障碍物,评价函数的距离因子对障碍物同时通过较为狭窄的通道,验证了改进算法的有效性和可行性。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明一个实施例所述的基于DWA的ROS机器人局部路径规划方法的流程示意图;
图2为本发明一个实施例所述的基于DWA的ROS机器人局部路径规划方法的运动方向示意图;
图3为本发明一个实施例所述的基于DWA的ROS机器人局部路径规划方法的动态范围示意图;
图4为本发明一个实施例所述的基于DWA的ROS机器人局部路径规划方法的狭窄场景示意图;
图5为本发明一个实施例所述的基于DWA的ROS机器人局部路径规划方法的局部目标点选取示意图;
图6为本发明一个实施例所述的基于DWA的ROS机器人局部路径规划方法的10*10栅格地图传统DWA算法仿真结果示意图;
图7为本发明一个实施例所述的基于DWA的ROS机器人局部路径规划方法的10*10栅格地图本发明改进DWA算法仿真结果示意图;
图8为本发明一个实施例所述的基于DWA的ROS机器人局部路径规划方法的10*10栅格地图避障仿真结果示意图;
图9为本发明一个实施例所述的基于DWA的ROS机器人局部路径规划方法的16*16栅格地图传统DWA算法仿真结果示意图;
图10为本发明一个实施例所述的基于DWA的ROS机器人局部路径规划方法的16*16栅格地图本发明改进DWA算法仿真结果示意图;
图11为本发明一个实施例所述的基于DWA的ROS机器人局部路径规划方法的16*16栅格地图避障仿真结果示意图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合说明书附图对本发明的具体实施方式做详细的说明,显然所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明的保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是本发明还可以采用其他不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广,因此本发明不受下面公开的具体实施例的限制。
其次,此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。
本发明结合示意图进行详细描述,在详述本发明实施例时,为便于说明,表示器件结构的剖面图会不依一般比例作局部放大,而且所述示意图只是示例,其在此不应限制本发明保护的范围。此外,在实际制作中应包含长度、宽度及深度的三维空间尺寸。
同时在本发明的描述中,需要说明的是,术语中的“上、下、内和外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一、第二或第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
本发明中除非另有明确的规定和限定,术语“安装、相连、连接”应做广义理解,例如:可以是固定连接、可拆卸连接或一体式连接;同样可以是机械连接、电连接或直接连接,也可以通过中间媒介间接相连,也可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
实施例1
参照图1~图5,为本发明的第一个实施例,提供了一种基于DWA的ROS机器人局部路径规划方法,包括:
S1:利用机器人SLAM建图构建全局地图并获取机器人的起始点和目标点。
S2:在构建的全局地图中,利用改进的蚁群算法进行全局路径规划,寻找最优路径。其中需要说明的是:
设置蚁群算法初始参数;
利用栅格策略对环境地图进行建模,根据起始点和目标点选取优选区域增加信息素初始值,结合节点与所述起始点和所述目标点的距离之和、距离比例对所述信息素进行差异化增量设置;
寻找最优路径,对禁忌表进行初始化并加入所述起点,利用状态转移概率寻找下一可达节点,直至蚂蚁选取的所述节点为目标点时停止搜索;
判断循环迭代次数是的达到设定值,若是,则保存信息,若否,则继续进行路径搜索;
直至找到最优路径时结束。
具体的,还包括:
蚂蚁趋向选择信息素浓度较高的路径,即路径长度较短的路径,若经过的蚂蚁越多,则信息素浓度越高,其它蚂蚁选择这条路径的几率就越大;
其中,alowed(i)表示蚂蚁k在下一步移动时可选择转移节点的集合,α为信息素启发因子,是信息素含量,反映了从节点i向节点j移动路径的重要性,β为期望启发因子,/>表示启发信息,反映了节点i和节点j之间路径的距离;
信息素会在蚂蚁完成一次循环后进行更新,根据下式调整信息素的更新规则,
τij(t+1)=(1-ρ)τij(t)+Δτij
其中,ρ为挥发系数,为了避免路径上的信息量无限累加,一般设置ρ<1,Δτij表示每次循环中路径上的信息素增量,Q表示信息素总量(定值),Lk表示第k只蚂蚁在一次循环中通过路径的总长度。
S3:当机器人沿着全局最优路径运动时,利用机器人所携带的传感器实时检测局部环境信息更新地图信息。其中还需要说明的是:
机器人在运动过程中,选择局部地图更新策略并利用自身携带的激光雷达传感器不断实时检测周围环境信息动态变化;
将检测的结果与当栅格地图做对比,若不同,则存在动态障碍物,更新描述环境的栅格地图并进行避障规划路径;
若相同,则继续沿着全局路径运动前行检测环境信息。
S4:判断是否存在动态障碍物,若存在,则调用DWA算法进行局部路径规划,避开障碍物。参照图2、图3,本步骤需要说明的是,DWA算法包括:
根据机器人模型自身的有限速度和加速度约束,将笛卡尔坐标(x,y)转换成一组机器人速度集合构成的速度矢量空间;
直线行驶速度和旋转角速度组成一个速度对(v,ω);
根据移动机器人的运动模型对不同的速度对(v,ω)对应的运动轨迹进行估计,利用评价函数来评价运动轨迹的优劣,最终选出评价最优的速度对。
机器人模型包括:
选择机器人轨迹是圆弧的机器人运动模型;
定义移动机器人在每一个周期内的运行轨迹为一条弧线(轨迹为直线时旋转角度为0),每一个速度对(v,ω)都唯一的对应一条轨迹;
移动机器人在t时刻的轨迹半径可以表示为
当移动机器人的角速度不为0时运动轨迹为圆弧,其位姿计算公式如下:
θt+T=θt+ωtT
其中,s=[x,y,θ]t表示移动机器人的位姿用向量,(xt,yt)为移动机器人的两个驱动轮的连线中点在t时刻在全局坐标系中的坐标,θt为移动机器人在t时刻的航向角,vt、wt分别为t时刻机器人的平移速度和角速度,T为模拟周期;
对于当前时刻位姿确定的移动机器人,每一个速度矢量(vt,ωt)都对应唯一的一条运动轨迹以及其一个周期内的位姿,因此需要对速度矢量空间进行采样;
移动机器人硬件性能存在限制,其速度和角速度都存在界限,速度矢量空间取值范围的界限可以表示为:
Vm={v∈[vmin,vmax],ω∈[ωmin,ωmax]}
其中vmin、vmax为移动机器人的最小、最大线速度,ωmin、ωmax为移动机器人的最小、最大角速度;
移动机器人的加速、减速性能都与电机的性能有关,则移动机器人在模拟周期内线速度和角速度的变化量有上限,如下:
若使得移动机器人在与所障碍物发生碰撞前能够停下来,则应当与障碍物之间保持一定的安全距离,其对移动机器人的速度、角速度限制为
其中,dist(v,ω)为速度对(v,ω)对应的轨迹距离障碍物最小的距离。
进一步的,对采样得到的速度矢量相对应的轨迹进行评价,找出评价值最好的轨迹,则评价函数如下:
G(v,ω)=ε(δ·heading(v,ω)+β·dist(v,ω)+γ·vel(v,ω))
其中,θ为移动机器人在轨迹终点的航向与目标点之间的夹角,dist(v,ω)为障碍物与当前运动轨迹的最小距离,vel(v,ω)为此航迹对应的线速度值,δ、β、γ分别为夹角、距离、速度各评价因子项的加权系数,ε为对三项因子进行归一化处理。
具体的,归一化处理包括:
将每一个速度对相对应的各个评价因子除以模拟周期内所有轨迹的该项因子之和,如下:
其中,n为模拟周期内采样的轨迹数,i为参与评价函数的当前轨迹;
若评价函数值越大,则轨迹越优,即选择一条距离障碍物最远、与目标点方向夹角最小、速度最大、三项评价因子最佳融合的轨迹,作为模拟周期内的避障轨迹。
为了简化每个速度对相对应轨迹的计算过程,DWA算法假设速度对在此段模拟轨迹期间的取值不变,直到下一个周期开始重新采样才更新速度对的取值;
最终可取的速度值即为上述三项约束条件下的速度矢量空间的交集,即
Vr=Vm∩Va∩Vd
所以动态窗口即为线速度和角速度可以取值的一个动态范围。
S5:当机器人到达局部目标点以后,继续沿着全局最优路径进行运动,并不断实时检测局部环境信息,若再出现障碍物,则继续调用DWA算法进行局部路径规划,直至机器人到达目标点。
通俗的说,DWA算法有两个主要部分,一是利用速度矢量空间为移动机器人生成有效的搜索空间,Fox将搜索空间仅限于安全的圆形区域或扇形区域,然后在短时间内到达并无碰撞;二是在搜索空间中选择最佳解决方案,设计评价函数对速度矢量空间中的轨迹进行评价,选择出一条当前最优的轨迹,是机器人与任何障碍物保持安全距离。
参照图4,传统的DWA算法由于速度采样的随机性,靠步长的范围内模拟轨迹,选择评价最优的轨迹进行路径规划,只能实现一步的避障,这不能保证全局路径最优,就意味着即使得到可行解也不能保证其最优性;DWA算法没有导向目标位置的引导,而速度采样具有随机性,采样的盲目性势必导致算法的收敛速度会比较慢;由于速度空间集合不受限制,所以采样区间可能原本就含有不可行解区间,因此算法的收敛速度也会受到影响,即使能有效避开障碍物到达目的地,局部路径路径也可能不是可行最优解,增加了算法的计算复杂度;在机器人遇到狭窄通道且两侧都有障碍物物体的情况下,由于DWA算法会把那些与障碍物相关的模拟轨迹删除,可能会使得机器人无法通过,出现震荡或停止的情况。
本发明对其做出相应改进,为了避免速度采样随机性,增强目标引导,采用跟踪全局路径,并在出现动态障碍物时,在全局路径上选取局部目标点,进行局部路径规划,同时根据机器人实际尺寸,对冲突判定值进行合理设置,修改评价函数各部分的权值,减弱距离评价因子对评价函数的过强影响,使得评价函数更加合理,避免机器人无法通过狭窄通道或出现震荡和停止的情况。
参照图5,当机器人在遇到动态障碍物时,需要重新规划一条新的路径,即局部路径规划,而因为DWA算法在局部路径规划时,缺失目标引导,导致局部路径规划的路径很大可能不是最优的路径,这时需要有局部目标引导,考虑到全局路径规划的路径较优,而且全局路径规划的算法所以尽量使机器人沿着全局路径运动并在其上选取局部目标点,当出现动态障碍物时,开始进行局部避障,以机器人为圆点,以机器人与障碍物距离的两倍为半径画圆,与全局路径的交点作为局部路径规划的目标点。
优选的是,本实施例还需要说明的是,本发明对障碍物的判断,选择局部地图更新方法,机器人在运动过程中,利用自身携带的激光雷达传感器,不断实时检测周围环境信息动态变化,并将检测的结果与当栅格地图做对比,若不同,即存在动态障碍物,则更新描述环境的栅格地图并进行避障规划路径,否则继续沿着全局路径运动前行和检测环境信息。
本发明考虑到更新全局栅格地图需要占用大量的计算资源,给计算增加负担,而局部路径规划只需要考虑局部范围内是否存在障碍物,故选择局部栅格地图更新的方式更新地图,即根据不同的应用场景,以机器人为中心作圆,设置不同的选择局部地图更新方法,有效检测半径,这样只需要更新圆内的环境地图,可以节省很多计算资源从而提高更新效率。
实施例2
参照图6~图11,为本发明的第二个实施例,该实施例不同于第一个实施例的是,提供了一种基于DWA的ROS机器人局部路径规划方法的验证,包括:
路径规划算法在ROS中都是以插件的形式加入到move_base导航框架中,则本实施例在ROS机器人上实现路径规划算法的具体步骤包括:
(1)创建一个抽象基类,定义统一通用接口;ROS支持多种语言,如python,C++等编程语言,目前ROS中的大部分源文件都是使用C++编程语言编写的,C++具有继承的性质,能实现代码重用。如果有现有基类实现插件,就无需重新定义路径规划算法的类,例如nav_core包中提供了全局路径规划nav_core::BaseGlobalPlanner、局部路径规划nav_core::BaseLocalPlanner和复位行为加载nav_core::RecoveryBehavior三个基类,当研究机器人的避障规划时,就只需要将改进的算法继承ROS中已有算法的基类。
(2)注册插件;ROS具有插件功能,Pluginlib是一个C++库,可实现ROS包动态的加载和卸载,其利用C++多态的特性,只要使用了统一的接口,就可以替换使用,这样使用者就可以调用在插件中实现的统一接口函数,不需要更改程序,也不需要重新编译,更换插件就可以修正功能。通过宏定义的方式将改进的算法添加到类中。
(3)创建插件描述文件;插件描述文件是XML格式的文件,用于存储插件的重要信息,如插件名称,插件路径,插件类类型,插件基类类型等,ROS系统通过读取XML格式文件,获取插件信息。
(4)注册插件到ROS系统中;ROS中的pluginlib能查询到所有插件的信息,通过XML文件查询算法的信息,如插件的package需要显示功能包有哪些插件,最终XML文件注册到ROS中。
(5)调用插件。
为了验证本发明的动态避障效果,本实施例使用MATLAB2015软件对DWA算法进行实验仿真,在确保完成相应效果前提下,对机器人运动时间以及距离进行定量比较,分别在10*10和16*16的两种栅格地图环境下,对改进后的DWA算法进行仿真测试。
测试环境:本实施例中的实验环境地图创建主要选取在学生宿舍楼,Dashgo B1智能移动平台获取宿舍楼环境信息,建立全局环境地图,选择智能移动平台的起始点和目标点,通过RVIZ可视化窗口记录平台运动轨迹,分别对比传统DWA算法和改进后的DWA算法的实验效果。
整个实验平台主要包含了EAI移动底座、联想电脑、给底座和传感器供电的大容量锂电池、感知未知环境特征信息的传感器的相关信息,如下表所示:
表1:移动平台参数表。
联想电脑装有Ubuntu系统并配置了ROS Kinetic版本开发环境,智能移动平台没有显示屏,需要电脑通过局域网与智能移动平台进行通信,远程对平台进行控制,并通过ROS中的RVIZ组件观测环境和路径规划效果。
其中电脑主机的用户名为zi,地盘的主机名为PS3B-B1,导航模块的IP地址为192.168.31.200,通过以下指令完成移动平台的路径规划。
(1)打开智能移动平台,电脑连接地盘路由器;
(2)在电脑终端中,远程进入地盘的导航模块;
zi@zi:~$ssh eaibot@192.168.31.200
(3)启动建图launch;
eaibot@PS3B-B1:~$roslaunch dashgo_nav gmapping_gmapping_imu.launch;
(4)电脑打开RVIZ,观察地图;
export ROS_MASTER_URI=http://192.168.31.200:11311
roslaunch dashgo_rviz view_navigation.launch
(5)在地图中设置起始点与目标点,完成机器人避障与路径避障。
(6)10*10栅格地图仿真结果;第一组冲突判定值设置为0.5,α设置为0.09,β设置为0进行仿真实验,第二组实验突判定值设置为0.2,α设置为0.01,β设置为0进行仿真实验,其中,图中五角星号代表障碍物,圆点代表移动机器人,仿真过程是机器人从起始点(0,0)出发,路径上通过DWA局部路径规划避障算法避开障碍物到达终点(10,10),机器人前端的绿色弧线组为机器人模拟轨迹组,黑色实线表示机器人运动轨迹。
(2)16*16栅格地图仿真结果;在16*16的栅格地图的实验的参数设置与10×10栅格地图中参数设置保持一致,并进行仿真实验。
表2:实验结果对比表。
栅格地图 | 算法 | 时间(s) | 距离(m) |
10×10 | 传统DWA算法 | 76.903 | 57 |
10×10 | 改进的DWA算法 | 62.315 | 49 |
16×16 | 传统DWA算法 | 124.154 | 91 |
16×16 | 改进的DWA算法 | 118.795 | 72 |
参照表2,可以明显看出本发明改进的DWA算法对密集障碍物区域的通过性较好,能很好的避开障碍物,同时获得了更加平滑轨迹,运行路程也大大减少,使得机器人整体运行效率得到很大的提升。
应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (1)
1.一种基于DWA的ROS机器人局部路径规划方法,其特征在于:包括,
利用机器人SLAM建图构建全局地图并获取所述机器人的起始点和目标点;
在构建的所述全局地图中,利用改进的蚁群算法进行全局路径规划,寻找最优路径;
当所述机器人沿着全局最优路径运动时,利用所述机器人所携带的传感器实时检测局部环境信息更新地图信息;
判断是否存在动态障碍物,若存在,则调用DWA算法进行局部路径规划,避开障碍物;
当所述机器人到达局部目标点以后,继续沿着所述全局最优路径进行运动,并不断实时检测所述局部环境信息,若再出现所述障碍物,则继续调用所述DWA算法进行局部路径规划,直至所述机器人到达所述目标点;
所述蚁群算法包括,
其中,alowed(i)表示蚂蚁k在下一步移动时可选择转移节点的集合,α为信息素启发因子,是信息素含量,反映了从节点i向节点j移动路径的重要性,β为期望启发因子,/>表示启发信息,反映了节点i和节点j之间路径的距离;
信息素会在蚂蚁完成一次循环后进行更新,根据下式调整信息素的更新规则,
τij(t+1)=(1-ρ)τij(t)+Δτij
其中,ρ为挥发系数,为了避免路径上的信息量无限累加,设置ρ<1,Δτij表示每次循环中路径上的信息素增量,Q表示信息素总量,Lk表示第k只蚂蚁在一次循环中通过路径的总长度,
所述DWA算法包括,
根据机器人模型自身的有限速度和加速度约束,将笛卡尔坐标(x,y)转换成一组机器人速度集合构成的速度矢量空间;
直线行驶速度和旋转角速度组成一个速度对(v,ω);
根据移动机器人的运动模型对不同的所述速度对(v,ω)对应的运动轨迹进行估计,利用评价函数来评价所述运动轨迹的优劣,最终选出评价最优的所述速度对;
所述机器人模型包括,
选择机器人轨迹是圆弧的机器人运动模型;
定义移动机器人在每一个周期内的运行轨迹为一条弧线,轨迹为直线时旋转角度为0,每一个所述速度对(v,ω)都唯一的对应一条轨迹;
移动机器人在t时刻的轨迹半径可以表示为
当所述移动机器人的角速度不为0时运动轨迹为圆弧,其位姿计算公式如下:
θt+T=θt+ωtT
其中,s=[x,y,θ]t表示移动机器人的位姿用向量,(xt,yt)为移动机器人的两个驱动轮的连线中点在t时刻在全局坐标系中的坐标,θt为移动机器人在t时刻的航向角,vt、ωt分别为t时刻机器人的平移速度和角速度,T为模拟周期,
对于当前时刻位姿确定的所述移动机器人,每一个速度矢量(vt,ωt)都对应唯一的一条运动轨迹以及其一个周期内的位姿,因此需要对速度矢量空间进行采样;
所述移动机器人硬件性能存在限制,其速度和角速度都存在界限,所述速度矢量空间取值范围的界限可以表示为:
Vm={v∈[vmin,vmax],ω∈[ωmin,ωmax]}
其中vmin、vmax为所述移动机器人的最小、最大线速度,ωmin、ωmax为所述移动机器人的最小、最大角速度,
所述移动机器人的加速、减速性能都与电机的性能有关,则所述移动机器人在模拟周期内线速度和角速度的变化量有上限,如下:
若使得所述移动机器人在与所障碍物发生碰撞前能够停下来,则应当与所述障碍物之间保持一定的安全距离,其对移动机器人的速度、角速度限制为
其中,dist(v,ω)为速度对(v,ω)对应的轨迹距离障碍物最小的距离,
对采样得到的速度矢量相对应的轨迹进行评价,找出评价值最好的轨迹,则所述评价函数如下:
G(v,ω)=ε(δ·heading(v,ω)+β·dist(v,ω)+γ·vel(v,ω))
其中,θ为移动机器人在轨迹终点的航向与目标点之间的夹角,dist(v,ω)为障碍物与当前运动轨迹的最小距离,vel(v,ω)为此航迹对应的线速度值,δ、β、γ分别为夹角、距离、速度各评价因子项的加权系数,ε为对三项因子进行归一化处理,
将每一个所述速度对相对应的各个评价因子除以所述模拟周期内所有轨迹的该项因子之和,如下:
其中,n为模拟周期内采样的轨迹数,i为参与评价函数的当前轨迹,
所述DWA算法包括,假设速度对在此段模拟轨迹期间的取值不变,直到下一个周期开始重新采样才更新速度对的取值;
最终可取的速度值为在所述夹角、距离、速度约束条件下的速度矢量空间的交集,即
Vr=Vm∩Va∩Vd
动态窗口即为线速度和角速度可以取值的一个动态范围,
若所述评价函数值越大,则所述轨迹越优,即选择一条距离障碍物最远、与目标点方向夹角最小、速度最大、三项评价因子最佳融合的轨迹,作为所述模拟周期内的避障轨迹,
所述蚁群算法与DWA算法以插件的形式加入到move_base导航框架中,包括,
创建一个抽象基类:定义统一通用接口;
注册插件:通过宏定义的方式将改进的算法添加到类中;
创建插件描述文件:以XML格式建立插件描述文件,用于存储插件名称、插件路径、插件类类型、插件基类类型的信息;
注册插件到ROS系统中:将XML文件注册到ROS中;
调用插件;
所述机器人在运动过程中,选择局部地图更新策略并利用自身携带的激光雷达传感器不断实时检测周围环境信息动态变化,将检测的结果与当栅格地图做对比;
当出现动态障碍物时,开始进行局部避障,以机器人为圆点,以机器人与障碍物距离的两倍为半径画圆,与全局路径的交点作为局部路径规划的目标点,更新描述环境的栅格地图并进行避障规划路径;
若没出现障碍物,则继续沿着全局路径运动前行检测环境信息,
所述更新描述环境的栅格地图采用局部栅格地图更新的方式更新地图,即根据不同的应用场景,以机器人为中心作圆,设置不同的选择局部地图更新方法,有效检测半径。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011181813.7A CN112325884B (zh) | 2020-10-29 | 2020-10-29 | 一种基于dwa的ros机器人局部路径规划方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011181813.7A CN112325884B (zh) | 2020-10-29 | 2020-10-29 | 一种基于dwa的ros机器人局部路径规划方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112325884A CN112325884A (zh) | 2021-02-05 |
CN112325884B true CN112325884B (zh) | 2023-06-27 |
Family
ID=74297833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011181813.7A Active CN112325884B (zh) | 2020-10-29 | 2020-10-29 | 一种基于dwa的ros机器人局部路径规划方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112325884B (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112926779B (zh) * | 2021-03-01 | 2022-10-11 | 汇链通产业供应链数字科技(厦门)有限公司 | 基于路径规划的智能调度系统及方法 |
CN113050646B (zh) * | 2021-03-22 | 2022-09-23 | 西安工业大学 | 一种用于室内移动机器人动态环境路径规划方法 |
CN113050648A (zh) * | 2021-03-24 | 2021-06-29 | 珠海市一微半导体有限公司 | 一种机器人避障方法和系统 |
WO2022216232A1 (en) * | 2021-04-08 | 2022-10-13 | Nanyang Technological University | Methods and systems for shared control of goal directed wheelchair navigation |
CN113219973B (zh) * | 2021-05-08 | 2022-06-24 | 浙江工业大学 | 一种移动机器人的局部路径控制方法 |
CN113359705A (zh) * | 2021-05-17 | 2021-09-07 | 浙江华消科技有限公司 | 一种路径规划方法、编队协同作业方法及其设备 |
CN113296521B (zh) * | 2021-05-26 | 2021-11-05 | 紫清智行科技(北京)有限公司 | 一种基于动态窗口的障碍物局部避障方法 |
CN113296519A (zh) * | 2021-05-26 | 2021-08-24 | 上海大学 | 一种基于麦克纳姆轮的移动机器人运动规划方法及系统 |
CN113625703B (zh) * | 2021-06-30 | 2024-04-30 | 苏州艾吉威机器人有限公司 | 一种动态路径跟踪方法 |
CN113467483B (zh) * | 2021-08-23 | 2022-07-26 | 中国人民解放军国防科技大学 | 动态环境中基于时空栅格地图的局部路径规划方法及装置 |
CN113835428A (zh) * | 2021-08-27 | 2021-12-24 | 华东交通大学 | 一种用于餐厅的机器人路径规划方法 |
CN113884574B (zh) * | 2021-11-03 | 2024-03-19 | 河南理工大学 | 基于slam的智能测路面纵断面平整度仪 |
CN114035569B (zh) * | 2021-11-09 | 2023-06-27 | 中国民航大学 | 一种航站楼载人机器人路径拓展通行方法 |
CN114167872A (zh) * | 2021-12-08 | 2022-03-11 | 江西省智能产业技术创新研究院 | 机器人避障方法、系统、计算机及机器人 |
CN114326744A (zh) * | 2021-12-31 | 2022-04-12 | 安徽海博智能科技有限责任公司 | 一种基于全局地图更新的矿山卡车路径规划方法 |
CN114578808A (zh) * | 2022-01-10 | 2022-06-03 | 美的集团(上海)有限公司 | 路径规划方法、电子设备、计算机程序产品及存储介质 |
CN114371716A (zh) * | 2022-01-20 | 2022-04-19 | 红骐科技(杭州)有限公司 | 一种用于消防机器人的自动驾驶巡检方法 |
CN114571460A (zh) * | 2022-03-22 | 2022-06-03 | 达闼机器人股份有限公司 | 机器人控制方法、装置及存储介质 |
CN114740849B (zh) * | 2022-04-07 | 2023-07-04 | 哈尔滨工业大学(深圳) | 基于行人步行决策规则的移动机器人自主导航方法及装置 |
WO2023193424A1 (zh) * | 2022-04-07 | 2023-10-12 | 哈尔滨工业大学(深圳) | 人机共存环境中遵循行人规范的移动机器人全局导航方法 |
CN115237117B (zh) * | 2022-04-28 | 2024-05-07 | 安徽理工大学 | 基于变异自适应粒子群算法的移动机器人路径规划方法 |
CN114740866A (zh) * | 2022-05-10 | 2022-07-12 | 山东大学 | 基于深度学习的机器人自主探索方法及系统 |
CN114995464B (zh) * | 2022-07-19 | 2022-11-25 | 佛山市星曼信息科技有限公司 | 局部路径规划的控制方法及装置、机器人、存储介质 |
CN115016510A (zh) * | 2022-08-08 | 2022-09-06 | 武汉工程大学 | 一种机器人导航避障方法、装置以及存储介质 |
CN115060281B (zh) * | 2022-08-16 | 2023-01-03 | 浙江光珀智能科技有限公司 | 一种基于voronoi图的全局路径引导点生成规划方法 |
CN115309164B (zh) * | 2022-08-26 | 2023-06-27 | 苏州大学 | 基于生成对抗网络的人机共融移动机器人路径规划方法 |
CN115439510B (zh) * | 2022-11-08 | 2023-02-28 | 山东大学 | 一种基于专家策略指导的主动目标跟踪方法及系统 |
CN116483074A (zh) * | 2023-03-31 | 2023-07-25 | 重庆大学 | 一种能用于复杂环境的机器人自适应局部动态避障方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108490939A (zh) * | 2018-03-27 | 2018-09-04 | 南京航空航天大学 | 在局部感知能力下的势流法的避障方法 |
CN109945881A (zh) * | 2019-03-01 | 2019-06-28 | 北京航空航天大学 | 一种蚁群算法的移动机器人路径规划方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110898353A (zh) * | 2019-12-09 | 2020-03-24 | 国网智能科技股份有限公司 | 变电站消防机器人全景监控与联动控制方法及系统 |
CN111338359B (zh) * | 2020-04-30 | 2022-11-01 | 武汉科技大学 | 一种基于距离判断和角度偏转的移动机器人路径规划方法 |
CN111694364A (zh) * | 2020-06-30 | 2020-09-22 | 山东交通学院 | 一种应用于智能车路径规划的基于改进蚁群算法与动态窗口法的混合算法 |
-
2020
- 2020-10-29 CN CN202011181813.7A patent/CN112325884B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108490939A (zh) * | 2018-03-27 | 2018-09-04 | 南京航空航天大学 | 在局部感知能力下的势流法的避障方法 |
CN109945881A (zh) * | 2019-03-01 | 2019-06-28 | 北京航空航天大学 | 一种蚁群算法的移动机器人路径规划方法 |
Non-Patent Citations (2)
Title |
---|
Accuracy comparison of navigation local planners on ROS-based mobile robot;B.Cybulski等;《2019 12th International Workshop on Robot Motion and Control (RoMoCo)》;第104-111页 * |
移动机器人路径规划的参数模糊自适应窗口蚁群优化算法;赵娟平;高宪文;刘金刚;符秀辉;;控制与决策(07);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112325884A (zh) | 2021-02-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112325884B (zh) | 一种基于dwa的ros机器人局部路径规划方法 | |
Faust et al. | Prm-rl: Long-range robotic navigation tasks by combining reinforcement learning and sampling-based planning | |
CN106949893B (zh) | 一种三维避障的室内机器人导航方法和系统 | |
Shkolnik et al. | Reachability-guided sampling for planning under differential constraints | |
CN108444490B (zh) | 基于可视图和a*算法深度融合的机器人路径规划方法 | |
CN113359718B (zh) | 移动机器人全局路径规划与局部路径规划融合方法及设备 | |
AU2022204569B2 (en) | Method for multi-agent dynamic path planning | |
CN112230665A (zh) | 一种基于aco的ros机器人全局路径优化方法 | |
CN106647754A (zh) | 一种果园履带机器人路径规划方法 | |
CN115079705A (zh) | 基于改进a星融合dwa优化算法的巡检机器人路径规划方法 | |
CN114510057A (zh) | 一种室内环境中基于ros的移动机器人自主导航方法 | |
CN111578926A (zh) | 一种基于自动驾驶平台的地图生成与导航避障的方法 | |
CN112857370A (zh) | 一种基于时序信息建模的机器人无地图导航方法 | |
CN117232517A (zh) | 用于电力行业仓储场景的多移动工业机器人路径规划方法 | |
CN115388892A (zh) | 一种基于改进rbpf-slam算法的多传感器融合slam方法 | |
Bruce | Real-time motion planning and safe navigation in dynamic multi-robot environments | |
Zhou et al. | SLAM algorithm and navigation for indoor mobile robot based on ROS | |
Burgard et al. | Introduction to mobile robotics | |
Sarmiento et al. | A multi-robot strategy for rapidly searching a polygonal environment | |
CN117109574A (zh) | 一种农用运输机械覆盖路径规划方法 | |
CN116804879A (zh) | 一种改进蜣螂算法融合dwa算法的机器人路径规划框架方法 | |
CN110849385A (zh) | 基于双层启发搜索共轭梯度下降的轨迹规划方法及系统 | |
CN111596668B (zh) | 基于逆向强化学习的移动机器人拟人化路径规划方法 | |
Xia et al. | Research on Path Planning Algorithm of Service Robot in Dynamic Environment | |
Lv et al. | A deep safe reinforcement learning approach for mapless navigation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20240130 Address after: Room 061, 8th Floor, Building B, Building 1, No.38 Zhongguancun Street, Haidian District, Beijing, 100080 Patentee after: Beijing Hanwen Jiatu Technology Co.,Ltd. Country or region after: China Address before: 545006 268 East Ring Road, Central District, Liuzhou, the Guangxi Zhuang Autonomous Region Patentee before: GUANGXI University OF SCIENCE AND TECHNOLOGY Country or region before: China |