势场跳点优化蚁群算法,在机器人避障规划中,如何获得更优路径

大核世界 2024-05-24 07:13:08

文|大核有料

编辑|大核有料

随着智能控制技术研究的不断深入,移动机器人避障规划问题在智能制造领域得到广泛的应用。如何实现机器人的全局路径规划也成为众多学者的一项重点内容。

可以将全局路径规划问题理解成机器人处于特定环境中,由起始点开始规划至目标点之间达到最短距离,同时所需时间最短以及最小能耗的无碰撞路径。

目前已有许多学者开展了路径规划方面的深入分析。例如,欧洲研究人员DORIGO最早于上世纪90年代开发了蚂蚁算法(Antsystem,AS),采用此算法进行处理的原则是对蚂蚁寻食过程进行模仿得到的一种启发型算法;MANIEZZO等于针对AS算法实施了优化,设计了一种高效的蚁群系统(ACS)。

蚁群算法面临着收敛速率慢以及容易造成局部最优的缺陷,也有研究人员提出基于改进融合动态窗口法的机器人路径规划算法,基于梯度下降算法对全局路径进行平滑处理,提高机器人的全局路径规划能力和实时避障能力。

相关学者根据蚁群算法计算原理,控制蚂蚁寻径过程产生作用力,同时建立信息素增量,使算法具备更快寻优速度,通过阈值迭代的方式实现算法全局搜索,防止造成停滞的问题。

同时,有学者提出基于改进人工势场法的机器人避障路径规划,解决了人工势场法无法到达目标位置的问题,提高了碰撞检测效率,末端位置精度平均提高37%。

研究人员在未知环境下移动机器人规划避障路径提出新的控制方法,生成控制路径符合机器人的运动能力,通过蚂蚁苏散发更新来逐步优化路径,直到找到最优避障路径,该方法具有较高的搜索效率和路径规划能力。

我国学者提出的势场蚁群算法(ACO)包含了过多的转折点,同时面临过快收敛以及会造成局部最优的结果。

本文因此重新设计了一种势场跳点蚁群算法,通过分析仿真测试结果可以发现,PJPACO相对ACO能够在经过少数几次迭代后便实现收敛,发现极大减少寻路过程的时间,同时也能寻找到最优路线。

之后再把PJPACO算法也引入根据ROS方法实现的移动机器人导航系统内,经测试发现,以PJPACO算法规划得到的路径满足可靠性,与ACO算法相比可以更快完成寻路。

«——【·改进ACO算法·】——»

采用ACO算法进行路径规划时,由于斥力势场会使其偏离障碍物区域,这使得规划过程形成更多路径转折点,减小了路径的平滑程度。

还有学者根据ACO算法建立PJPACO搜索算法,具备PJP算法融合功能。

PJP算法属于一类新型启发算法,可以从中选择合适的计算节点进行评估,由此形成代表性跳点。

搜索策略:以p(x)表示蚂蚁个体所处的坐标,x分别对应每个节点,利用PJP搜索策略,把节点x分为两类,即无障碍和有障碍。

图1表示不存在障碍的邻近节点。

由图1可以看出,随着蚁群个体从点P(x)朝结点x发生运动期间,每个灰节点将不会再进行评价,此时会形成一条最短的路径与灰节点相连,而不再通过节点x。

设置了如下的线性方向节点剪裁计算式:

式中:n表示节点x附近区域具备移动能力的邻节点。

从图2中可以看到,蚂蚁从最初节点p(x)到达节点x,对于灰色节点也不必评估,而节点n则不具备以p(x)为初始点并不经节点x时的最短路径。

n为x强制邻居,属于节点x的特定子节点。根据下述计算式筛选强制邻居:

信息素的更新:局部信息素更新,当蚂蚁经y运动到y'后,按照局部信息参数更新过程,需更新行走路径的局部信息素比例。

节点y与y'之间呈现不相邻状态,先补齐路径(y,y')丢失节点,接着更新该路径各节点局部信息素浓度数据。

以下为路径补全计算式:

式中:p(x)代表x父节点,表示为坐标形式。pk为补全节点,d为移动距离,k为前进步数。

全局更新:利用PJP搜索获取最优路径节点x和父节点p(x)之间有一定概率存在非相邻的状态,因此需结合补齐路径,最后再更新补齐获得的最优路径全局信息素浓度。

根据上述方法得到优化ACO算法具体流程,如图3所示。

«——【·仿真验证·】——»

为对PJPACO算法进行有效性验证,利用VisualStudio2016平台系统依次测试了ACO与PJPACO两种算法,比较了两者仿真差异性,同时分析了实际仿真结果。

依次设置不同尺寸的障碍物作为条件开展仿真性能测试。表1给出了试验过程设定的两种算法参数。

路径规划仿真结果如图4所示。

从图中4中可以看到将ACO、PJPACO算法采用30×30栅格地图完成路径规划的结果,利用黑色来表达障碍结点,并且把可通行的结点标记为白色,由此构成初始坐标(1,1),再将对象位置表示为(30,30),再把这两个算法对应的路线利用曲线图的形式来表达。

处于同样栅格条件下时,以ACO算法规划得到了更多路径转折点,同时会引起局部最优的结果。

跟ACO算法规划路径进行比较可以发现,以PJPACO算法规划形成了更少数量的路径转折点,提升了路径的平滑性。

在30×30规格下分别以ACO与PJPACO两种算法处理得到的最短路径如图5。

由此可以推断PJPACO比ACO迭代所需的时间更短,表明PJPACO算法具备更快收敛速度并且可以获得更优路径。

表2给出了以其它栅格地图进行搜索的情况。

对表2进行分析可以发现,采用15×15栅格地图的情况下,PJPACO算法可以搜索获得比ACO算法更短路径,大幅减少路径转折点,同时缩短了近26%的搜索时间;

设置20×20的格栅时,PJPACO算法表现出了比ACO算法更优搜索性能,可以进一步缩短路径并减少收敛迭代次数;

将栅格提升至30×30时,PJPACO算法与ACO算法进行比较能够缩短22.9%的收敛搜索时间,同时搜索获得更短路径;设置40×40的格栅地图时,PJPACO算法可以在更短时间内完成迭代计算,实现路径长度的显著优化。

以上结果表明,PJPACO处理时相对ACO处理过程所需迭代数量更少,可以有效缩减搜索时间,并对路径实现优化功能。

«——【·结果验证·】——»

为评价PJPACO算法的可靠度,分别将ACO、PJPACO算法控制ROS移动机器人底盘,前轮和后轮依次对应被动轮与主动轮,实验装置照片见图6所示。

移动机器人通过激光传感器采集外部信息,再以STM32对机器人进行运动调节,设置了把编码器信息传输至ROS系统的串口,计算机再利用编码器信息与激光雷达数据处理得到速度参数,再把结果传输至STM32,之后通过STM32对电机进行运动调节,达到机器人自主导航功能。

本次测试在实验室条件下进行,通过amcl、gmapping构建形成环境分布图。确保同一起点下建立了二个目标点,并通过ACO、PJPACO算法实施规划所得的结果。

表3是在算法寻路过程的时间与路径距离,结果显示PJPACO算法相对ACO算法具有更短的寻路时间,路径长度也明显缩短,表现出来更高的精度。

由此可以判断,加入PJP算法后构建的ACO算法可以更高效规划机器人路径,PJPACO算法具备更强寻路能力。

«——【·结语·】——»

本文开展基于势场跳点优化蚁群算法的移动机器人避障规划分析,取得如下有益结果:

通过仿真验证发现,以PJPACO算法形成更少路径转折点,具备更快收敛速度并且可以获得更优路径。

通过试验验证发现,PJPACO算法获得了比ACO算法更短寻路时间,机器人可以达到更短行走路径,加入PJP算法后构建的ACO算法可以更高效规划机器人路径。

0 阅读:0
大核世界

大核世界

感谢大家的关注