一种改进蜣螂算法融合DWA算法的机器人路径规划框架方法

文档序号:35580601发布日期:2023-09-27 03:39阅读:177来源:国知局
一种改进蜣螂算法融合DWA算法的机器人路径规划框架方法

本发明涉及智能驾驶领域,尤其是涉及到一种改进蜣螂算法融合dwa算法的机器人路径规划框架方法。


背景技术:

1、路径规划是智能驾驶中必不可少的关键技术之一,它通过算法寻找带有障碍物的交通系统中从起点到终点的最佳路径。这个过程中需要考虑各种因素,如道路状况、转弯角度、路径长度、障碍物等,以确保智能车辆能够在道路上安全、高效、舒适地行驶。

2、目前,路径规划算法在智能驾驶、机器人、物流等领域得到了广泛应用,成为这些领域的核心技术之一。不同学者对路径规划算法进行了大量的研究,针对不同应用场景,发展出了各种不同的算法。这些算法在效率、准确性、实时性、鲁棒性等方面都有不同的特点和优缺点,具体选择哪种算法需要根据具体应用场景和需求来决定。

3、除了算法本身的优缺点外,路径规划还需要考虑实际应用场景中的各种限制条件,比如车辆的最大速度、转弯半径、避障能力、道路限速等等。因此,在选择路径规划算法时,需要充分考虑这些限制条件,并根据具体情况进行相应的调整和优化。总之,路径规划算法是智能驾驶、机器人、物流等领域中不可或缺的核心技术之一,其应用前景广阔,但也面临着各种挑战和问题。只有不断地进行研究和创新,并结合实际应用需求进行相应的调整和优化,才能够推动路径规划算法的发展和应用。

4、智能仿生算法是一类以仿生学为基础的智能算法,通过模拟自然界的生物行为,来解决优化问题。近年来,由于其在解决各种实际问题中表现出色,越来越多的学者开始对其进行研究。与传统的数学优化算法相比,智能仿生算法具有很多优点。首先,智能仿生算法可以处理大量的不确定信息,并具有很好的鲁棒性和适应性。其次,智能仿生算法可以处理复杂的非线性问题,如多模态、多目标问题等。最后,智能仿生算法具有强大的搜索能力,可以在高维空间中找到全局最优解。智能仿生算法有:人工鱼群算法、蚁群算法、粒子群算法、蚁群算法。智能优化算法是一种在路径规划中广泛应用的方法,可以用于解决多种复杂问题。这些算法各有特点,需要根据具体应用场景和需求选择最适合的算法。

5、蜣螂优化(dung beetle optimizer,dbo)算法是2022年11月27日由东华大学的沈教授团队提出的一种全新的群智能优化算法。新出炉的dbo算法,其灵感来自于蜣螂的滚球、跳舞、觅食、偷窃和繁殖行为。总的来说该算法兼顾了全局探索和局部开发,具有收敛速度快、求解精度高的特点。

6、在路径规划中,使用蜣螂算法在简单场景中能获得比较好的路线,在稍微复杂环境下,路径转折点就会增多,并且转折角度过大,路径质量较差。

7、蜣螂算法可以用于全局路径规划,即在整个地图环境中搜索全局最优路径。dwa算法(dynamic window approach),其原理主要是在速度空间(v,w)中采样多组速度,并模拟出这些速度在一定时间内的运动轨迹,并通过评价函数对这些轨迹进行评价,选取最优轨迹对应的(v,w)驱动机器人运动。dwa算法则主要用于局部路径规划,即在机器人当前位置周围的动态窗口内搜索最优速度和转角,以避开障碍物和优化路径。

8、将蜣螂算法和dwa算法结合起来,可以发挥它们各自的优势,实现更加高效和准确的路径规划。具体来说,蜣螂算法可以在全局范围内搜索最优路径,得到一个粗略的路径轨迹,在经过修整得到全局路径。然后,dwa算法可以在机器人当前位置周围的动态窗口内搜索最优速度和转角,通过局部路径规划来进一步优化路径规划结果,并且可以及时响应环境变化,避开障碍物和优化路径规划。

9、因此,蜣螂算法和dwa算法的结合可以实现全局路径规划和局部路径规划的有机结合,从而在路径规划中取得更好的效果。通过在全局和局部两个层次上进行路径规划,可以使机器人在不同场景下表现出更加智能化和高效化的行为,从而实现更加准确和稳定的路径规划效果。


技术实现思路

0、
技术实现要素:

1、本发明目的就在于为了解决上述的问题,而提供一种改进蜣螂算法融合dwa算法的机器人路径规划框架方法。

2、为实现上述目的,本发明采取的技术方案为:一种基于ms-dsc和i_cbam的红外和可见光图像融合方法,包含以下步骤:

3、步骤1:以移动机器人为研究对象,构建栅格地图,设置障碍物的位置,并标注起点目标点位置。

4、步骤2:使用改进蜣螂算法进行全局路径规划,生成初始路径。

5、步骤3:借助贪婪算法思想,将上述生成的初始路径进行路径平滑处理,剔除初始路径中的冗余节点并且提取到路径中的关键节点,大大减少了路径长度以及减少了转折点的个数,使得整体路径更加平滑。

6、步骤4:将关键点顺次作为dwa算法的目标点,进行速度采样、轨迹预测。

7、步骤5:通过4个评价函数进行评优,选取评价最优的速度直至找到目标点。

8、进一步地,所述步骤1具体包括:

9、使用matlab构建栅格图,栅格图中黑色方块代表障碍物,白色方块代表可行驶区域,地图上设置起点、和终点坐标位置。

10、进一步地,所述步骤2具体包括:

11、所述蜣螂算法,主要由蜣螂滚球行为、蜣螂繁殖行为、蜣螂觅食行为、蜣螂偷窃行为。通过蜣螂4种行为来进行搜索。

12、所述蜣螂滚球行为主要包括:无障碍模式和有障碍模式。

13、所述无障碍模式,通过设置参数r∈(0,1)<0.9,来实现使蜣螂以大概率进行无障碍滚球行为,其位置更新公式为:

14、

15、其中,t表示当前迭代次数,表示种群中第i只蜣螂在第t次迭代时的位置,表示种群中第i只蜣螂在第t次迭代时的位置,k∈(0,0.2]表示一个常值,代表偏转系数,b∈(0,1)之间的一个常值,a是赋值为-1或1的自然系数,1表示无偏差,-1表示偏离原方向。表示当前种群中的最差位置,用于模拟光强的变化。

16、所述有障碍模式是指当蜣螂遇到障碍物无法通行时,需要通过跳舞行为来获得新的前进方向,使用切线函数来模仿跳舞行为,其位置更新公式为:

17、

18、当角度时,不做更新,否则按照上述公式更新位置。

19、所述蜣螂繁殖行为,首先设定一个边界区域限制蜣螂产卵区域:

20、lb*=max(x*×(1-r),lb),

21、ub*=min(x*×(1+r),ub)

22、r=e-kgen

23、其中k是常数,这里对参数r做了自适应调整,gen是当前迭代次数。

24、所述产卵行为中产卵区域动态更新,所以雏球位置也在以下公式更新:

25、

26、其中,为第i个雏球在第t次迭代时的位置,b1和b2是两个独立随机向量。

27、所述蜣螂觅食行为,是针对小蜣螂而言。同样有一个觅食区域也是动态更新:

28、

29、

30、其中,为当前种群的局部最优位置。

31、所述小蜣螂位置更新如下:

32、

33、其中,c1为服从正态分布的随机数,c2为属于(0,1)之间的随机向量。

34、所述蜣螂偷窃行为,会有一些蜣螂在从其他蜣螂那里偷粪球,所以盗贼蜣螂的位置更新公式为:

35、

36、其中,g为随机向量,服从正态分布;s表示一个常数值。

37、在每只蜣螂都完成自己的行为之后,更新适应度fitness。

38、所述考虑多目标函数,包括:燃油经济性、安全性、舒适性。

39、这里,在适应度这里做了改进,公式如下:

40、fitness=a*f1+b*f2+c*f3

41、其中on为经过障碍物数量,体现了安全性。

42、其中(xi,yi),(i=1,2,…,n)是路径点pi的坐标,这一项考虑了路径长度,体现了燃油经济性。

43、f3=numturns其中numturns为转转折点数量,这一项惩罚了转弯,考虑到了转弯角度,体现了舒适性。

44、通过增加多个目标函数,保证了生成路径的质量。

45、进一步地,增加约束,使得路径不斜线穿越障碍物顶点,具体步骤如下:

46、步骤1:遍历生成路径path中每个点,将障碍物坐标存入obs中。

47、步骤2:通过比较pathi和pathi+1和每个障碍物的x、y坐标来检测是否穿过障碍物顶点。

48、步骤3:通过以下判据来判断是否有这样的点存在

49、l1+l2=2

50、其中l1=|pathi(x)-obs(x)|+|pathi+1(x)-obs(x)|

51、l2=|pathi(y)-obs(y)|+|pathi+1(y)-obs(y)|

52、

53、obs=(obs(x),obs(y))

54、步骤4:当存在这样的两个点时,需要求解新的点pathnd,公式如下:

55、pathnd=2*z-obs

56、经过上述三个对蜣螂算法的改进,路径长度以及转折点数量大大减少。

57、进一步地,所述步骤3具体包括:

58、进一步优化路径,虽然蜣螂算法能够有效地缩短路径和剔除经过障碍物顶点的节点,但是在避障过程中,生成的路径可能包含一些冗余节点,导致路径较为曲折。为了得到更加平和路径更优的路径,可以使用路径平滑算法去除冗余点,这里主要借助了贪婪算法思想。这个算法的主要思路是连接相邻的节点,然后依次检查每一个节点,如果这个节点与后面的节点之间没有其它路径节点,可以删除这个节点。这样就可以得到更平滑、更直观的路径,降低机器人的转弯次数,提高运动效率。

59、步骤1:将蜣螂算法得到的路径上相邻的节点用一条直线连接起来,得到初始路径。

60、步骤2:从初始路径的起点开始,依次检查每一个节点,如果这个节点与路径上后面的节点能够被一条直线连接,并且这条直线上没有其它路径节点,则删除这个节点,同时更新其前后节点的连接关系。

61、步骤3:得到新的路径后,重复步骤2,直到没有节点被删除为止。

62、步骤4:返回最终路径。

63、进一步地,所述步骤4具体包括:

64、dwa算法是一种用于机器人路径规划的算法,其核心思想是基于当前机器人状态和环境信息,在一定时间内采集一系列可能的运动状态,然后选择最优的运动状态来实现路径规划。为了预测机器人的运动轨迹,dwa算法需要选取采样角度和角速度,然后根据这些采样点进行运动状态的预测。具体步骤如下:

65、步骤1:选取采样角度和角速度:dwa算法可以根据机器人的运动能力和环境要求来选择一组合适的采样角度和角速度,这些采样点将用于计算机器人可能的运动状态。

66、步骤2:计算运动状态:对于每个采样点,dwa算法需要计算机器人在这个采样点的运动状态,包括机器人的位置、方向和速度等信息。这些运动状态将用于预测机器人的运动轨迹。

67、步骤3:预测轨迹:基于机器人的当前状态和选定的采样点,dwa算法可以预测机器人的运动轨迹。这个预测轨迹可以帮助机器人做出最优的运动决策,以达到目标点并避开障碍物。

68、进一步地,所述步骤5具体包括:

69、在选择最优运动状态时,dwa算法考虑了机器人的运动约束和环境障碍物的影响,以确保机器人能够安全到达目标点。此外还考虑了距离目标评价函数,用来保证了路径质量。对每条轨迹进行评估的评价函数如下:

70、g(v,w)=σ(α*heading(v,w)+β*dist(v,w)+γ*vel(v,w)+δ*tw(v,w))

71、heading(v,ω):方位角评价函数,用作评估在当前采样速度下产生的轨迹终点位方向与目标点连线的夹角的误差δθ;由于要用评价函数越大表示越优,所以用π-δθ来参与评价,即heading(v,ω)=π-δθ。

72、dist(v,ω):距离障碍物评价函数,表示当前速度下对应模拟轨迹与障碍物之间的最近距离;如果没有障碍物或者最近距离大于设定的阈值,那么就将其值设为一个较大的常数值。

73、velocity(v,ω):速度评价函数,表示当前的速度大小,可以直接用当前线速度的大小来表示。它越大,表示规划轨迹上的速度越快,评价得分越高。

74、tw(v,ω):距离目标评价函数,评价局部路径末端点到终点的距离函数,目的是不断缩短与终点的距离。

75、α、β、γ、δ为评价函数的系数。由于局部路径规划的过程需要多传感器的采集,采集信息无法做到连续,这样也会使得评价后差别较大,所以可以进行归一化处理,其中σ表示归一化。

76、归一化处理过程如下式所示:

77、

78、

79、

80、

81、其中,i代表第i条模拟轨迹,n为约束条件下的全部采样轨迹总数。由上述公式可以得出一条满足避开障碍物并朝着目标点快速行进的路径,使得机器人完成局部路径最优规划。

82、本发明的有益点:

83、1.全局搜索能力:蜣螂算法是一种启发式优化算法,通过模拟蜣螂之间的滚球、跳舞、觅食、偷窃和繁殖行为来进行全局搜索。它可以在整个搜索空间中寻找最优路径。蜣螂算法具有较强的全局搜索能力,具有收敛速度快、求解精度高的特点,可以帮助机器人在复杂的环境中找到全局最优解。

84、2.局部优化能力:dwa算法是一种基于动态窗口的局部规划方法,通过考虑机器人的动力学约束和环境信息来生成局部可行的速度轨迹。dwa算法能够根据机器人当前状态和周围环境的动态变化,实时调整速度和方向,从而生成适应性强的局部路径。

85、3.多目标优化:考虑多个目标函数,燃油经济性、安全性、舒适性,使得路径规划算法可以通过优化方法来寻找最优的路径。通过调整各个目标函数之间的权重或设置约束条件来找到合适的平衡解。这样可以生成一系列最优或近最优的路径选择,以供用户根据具体需求进行选择。

86、4.设置转折约束:增加一种转折约束使其不斜线通过障碍物顶点,通过增加转折约束,可以更大程度地保障安全性,确保路径规划结果避开障碍物顶点,从而减少潜在的碰撞风险。

87、5.删除冗余节点:利用贪心算法思想,将生成的路径进行修剪,得到更优质路径。通过贪心修剪,可以剔除路径中对整体质量影响较小或不利的路径点,从而提高路径的质量和性能。例如,移除冗余的路径点可以减少路径的长度和燃料消耗,或避免直线通过障碍物顶点,提高安全性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1