文摘

diffusion-improved蚁群优化(DIACO)算法,介绍了,解决了收敛速度慢,稳定性差的蚁群优化(ACO)为四足机器人避障路径规划。DIACO采用非均匀分布的初始信息素,这减少了盲目搜索时间在早期阶段。算法更新中的启发式信息转移概率,蚂蚁可以更好地利用信息从上一次迭代在路径搜索。同时,DIACO调整路径上的蚂蚁留下的信息素浓度基于地图信息和扩散信息素在特定的范围内后,人工势场算法。在全局信息素更新DIACO调整两个最优路径上的信息素和最坏的当前迭代生成的路径,从而提高蚂蚁寻找最优路径的概率在随后的迭代。本文设计一种基于侵权步态转向步态实现四足机器人的避障任务。DIACO算法和转向步态的有效性通过仿真验证环境障碍建于亚当斯。仿真结果表明,DIACO演示了改进算法相比,收敛速度和稳定和四足机器人有效完成避障任务使用DIACO提供的路径规划结合转向步态。

1。介绍

做一个四足机器人导航的环境障碍一直是近年来的研究热点,特别是选择无碰撞开始点和目标点之间的最短路径(1]。学者们深入了解这门学科,变得多样化和快速发展的路径规划算法。动态窗口方法(DWA) [2]在局部路径规划,有良好的性能和它的优势在于算法的结构简单和强大的实时性能。然而,DWA有缺点,如无法找到目标点,错了路径规划时面临多种障碍,以及收敛速度慢。Zhang et al。3)提出了DWA所呈现的问题的优化算法。的重量目标函数是根据速度的大小自适应调整空间和目标点之间的距离。调整DWA能有效地减少计算时间和找到一个合理的最优路径。人工势场(APF)方法的优点是简单的数学结构和计算速度(4]。然而,在实际应用中,地图上的APF将生成一个零点由于目标点产生的吸引力和排斥力产生的障碍,从而导致机器人陷入死点和无法前进5]。针对APF的问题,胡锦涛et al。(6)克服局部最优解的问题,纠正产生的斥力函数沿着路径障碍并添加相应的中间点。遗传算法(GA)获得最佳的解决方案通过模拟自然进化,最初提出的荷兰教授(7,8]。遗传算法的优点是,它不需要先验知识,进行并行搜索多个路线。然而,搜索效率低,很容易获得局部最优解。针对遗传算法的缺点,Karaboga, Akay [9),根据最短路径规划和自适应平滑,适应度函数是重新设计。通过调整比例的适应度函数的两个因素,我们避免局部最优解,提高遗传算法的收敛速度。Karaboga Akay提出了人工蜂群算法(ABC) [9- - - - - -11)基于honey-collecting蜜蜂的行为。ABC的优点包括其结构简单,控制参数,搜索精度高。然而,该算法存在一些问题,如过早收敛和搜索停滞。弘et al。12]ABC阿仑尼乌斯方程的基础上,改进了搜索和开发之间的平衡的能力。徐et al。13)引入一个共同进化框架和全局最优试点蜜蜂ABC,加快收敛速度的ABC和克服依赖搜索维度。詹姆斯提出的粒子群优化(PSO),进行肯尼迪和拉塞尔·埃伯哈特(14,15),是一个引人注目的启发式优化方法。算法广泛应用于移动机器人的轨迹规划16),但它可能面临过早收敛。温家宝李et al。(17),针对算法的问题,提出了一个惯性定位策略,使机器人能够提前预测的障碍。根据预期的障碍位置,机器人路径可以由三次样条插值生成。

蚁群算法(ACO)是一种生物智能优化算法提出的熊et al。18- - - - - -20.在他的博士论文。蚂蚁是一种社会性昆虫。单个蚂蚁的觅食行为是随机的。通过彼此之间的信息交换,蚁群会找到最短的觅食路径。从本质上讲,蚁群算法是一种并行算法。算法具有较少的初始参数,鲁棒性强,广泛的搜索范围和操作速度快。算法还面临着缺点,如局部最优解,收敛速度慢。

许多学者改进算法应用到机器人路径规划。邓et al。21增加了蚂蚁。不同种类的蚂蚁通过共同进化机制交换信息。最优路径上的信息素浓度增强在全球信息素更新。模拟在TSP问题,修改后的验证算法有效性。Akka和Khaber22)添加一个刺激因素转移概率和原固定步长改为一个免费的步长,增加了视野的蚂蚁在搜索过程中。查询仿真的收敛速度提高。曾庆红et al。(23采用自由步态蚁群算法。蚂蚁可以移动的视野和提高局部信息素更新规则。查询的结果,仿真实验证明了改进的有效性。提高蚁群算法的另一种方法是将它与其它算法。陈和刘24)的人工势场算法融合算法并结合人工势场的方向不同位置的概率来确定蚂蚁选择下一个位置。在有障碍物的环境中,可以平滑算法找到最优路径。刘等人。25)使用势能算法构造信息素扩散规则和几何优化的最优路径算法生成的。仿真结果表明,收敛速度和路径平滑度有显著改善。

后整理上述文学作品,可以发现,改进的蚁群算法仍有足够的空间。针对蚁群算法收敛速度慢的问题,很容易陷入局部最优解,提出了一种扩散改善人工蚁群算法(DIACO),这四个部分的改进算法。首先,非均匀分布的初始信息素用于减少盲目搜索的时间在早期阶段的蚁群算法。其次,通过添加信息素扩散规则,蚂蚁留下的信息素在行走过程中并不局限于一个特定的网格,但传播在一定范围内,方便下一个ant获取信息素信息。第三,改变的启发式信息,动态调整重量启发式信息的转移概率的迭代次数,蚂蚁可以更好地利用信息素信息。最后,改变全局信息素更新规则,这样的路径信息迭代有更好的启蒙为下一次迭代。

为了使四足机器人完成避障任务DIACO沿着路径规划的算法,本文设计一种基于小跑步态转向步态。最后,建立模拟环境障碍在亚当斯验证的有效性转向步态DIACO和避障路径规划。

余下全文的内容结构如下:部分2描述了传统蚁群算法;部分3描述了扩散改进蚁群算法;部分4描述了转向步态计划;部分5描述了实验;和部分6提供了结论。

2。传统的蚁群算法

在ACO算法,包含障碍物的环境划分为网格,每个网格编号,如图1。网格1号在左上角是蚂蚁的起始位置,和网格数字400在右下角代表了食物的位置。电网数字从左到右和从上到下排列。黑色网格表示的障碍。的地方蚂蚁1网格数量,设置相同的初始信息素 在每个网格,并设置一个禁忌表。

初的算法,蚂蚁确定进入下一位置的可能性基于转移概率 ,见以下方程: 在哪里 信息素浓度的位置吗j, 启发式信息的位置吗定位j 是常量代表的重量浓度信息素和启发式信息的转移概率。

选择下一个位置是通过轮盘赌法。为了防止蚂蚁寻找路径,通过蚂蚁位置添加到禁忌表。每只蚂蚁将相同数量的信息素传递位置在散步。局部信息素更新规则如下方程:

根据方程(2),蚂蚁留下的信息素的浓度与它的步行距离。步行距离越短,留下信息素的浓度就越高。下面的蚂蚁在路径选择可以使用此信息素信息。全局信息素更新时需要所有蚂蚁都完成了一个查询任务。全局更新规则所示以下方程: 的常数 信息素挥发系数,下一次迭代的初始信息素浓度之和残留信息素浓度和新添加的信息素。

3所示。扩散改进蚁群算法

尽管ACO算法在机器人避障路径规划,执行好一些固有的问题导致收敛速度慢,稳定性差。本节将修改ACO算法,加快收敛速度和稳定性。

3.1。改进蚁群算法

ACO设置相同的初始信息素浓度为每一个位置开始的盲目搜索时间将会增加。在这篇文章中,非均匀分布的初始信息素浓度是用来减少盲目的搜索时间算法的初始阶段。所示的初始信息素分布如下方程: 在哪里 是不同位置之间的直线距离和起始位置, 不同职位之间的直线距离,食物, 是初始信息素浓度不变,然后呢 是出口的数量在不同的位置。长度越短 和位置附近的障碍越少,信息素分配的初始值更高。

启发式信息与当前和下面的位置之间的距离在ACO算法。尽管最短的距离可以满足每个位置选择,不被认为是地图信息,很容易陷入局部最优解。为了获得全局最优路径,除了考虑到当前位置和第二位置之间的距离 ,下位置和食物之间的距离 也应该被考虑。改变了启发式信息见以下方程: 在哪里 是常数,分别代表的重量 在启发式信息。这些常量的特定的值需要根据实验环境决定的。同时,随着迭代次数的增加,信息素的作用信息转移概率逐渐增加,和启发式的作用逐渐减弱,因此启发式因子改变一个变量的迭代次数减少,见以下方程: 在哪里 确保平衡搜索多样性和收敛速度的路径探索,然后呢K是总迭代数。修改后的启发式因子逐渐减少由于迭代次数,加强信息素浓度的作用转移概率和加速蚂蚁搜索路径。

ACO算法,蚂蚁离开相同数量的信息素传递的位置。在算法的早期阶段,它可以保证蚂蚁搜索路径的多样性,但提高了收敛速度。此外,同样的信息素浓度不能在地图上显示障碍物的信息。为了使下一个ant更好地利用获得的信息前面的蚂蚁的路径搜索,避免区域与多个障碍,障碍信息添加到局部信息素更新规则,见以下方程: 在哪里 是一个常数,和当地相关信息素规则修改的路径上的不同位置附近的障碍。附近的障碍越少,越高的蚂蚁留下的信息素的浓度。

为了获得更多的先验知识在接下来的迭代中,最优路径和最差路径上的信息素在前面的迭代中动态调整全局信息素更新规则,如方程所示: 在哪里 是增加增益系数随着迭代次数的增加, 这个迭代的最优路径, 是最差的在这个迭代路径。增加可变增益系数确保路径搜索的多样性在早期阶段的算法以及改进的概率在后面的迭代中找到最优路径。

ACO算法的改进主要集中在加强信息素信息和信息素更新规则。同时确保查询的多样性,下一个蚂蚁可以更好地利用先验知识来增强ACO算法的稳定性。

3.2。基于人工势场的信息素扩散规则

在ACO算法中,蚂蚁的局部信息素更新查询过程中仅限于当前和位置。这种信息素更新方法指导下蚂蚁有限。例如,在205年之前的蚂蚁经过的位置在图1,留下的信息素信息可以获得只有当未来蚂蚁经过205周围的网格位置。否则,当前蚂蚁不能获得前面的蚂蚁留下的信息。

此外,由于环境因素,比如风,每个职位的信息素会传播到不同程度的自然状态。在这种情况下,蚂蚁留下的信息素并不局限于一个特定的位置。然而,它扩展到一个特定的区域,所以下一个蚂蚁可以快速得到前面的蚂蚁留下的信息素信息。为了模拟这种自然的情况下,提出了一种基于人工势场信息素扩散规则。

首先,将蚂蚁经过的位置附近地区划分为八个地区顺时针方向,如图2

其次,信息素扩散区域在当前位置判断根据方向向量之间的夹角食品指向当前位置和垂直方向,如图所示(9)和(10): 在哪里 是垂直向上的单位向量, 是矢量的方向指向当前位置的食物,然后呢 区域号码是按顺时针方向。

确定后信息素扩散区域,它也需要设置最大扩散范围,和扩散量减少随着距离的增加,见以下方程: 在哪里 信息素扩散常数, 是信息素扩散距离, 是最远的信息素扩散距离。

人工势场算法是一个典型的机器人查询算法。算法的工作原理是,目标位置生成一个吸引力的机器人和机器人障碍产生排斥力。机器人对目标点越近,引力越小的机器人,和障碍,越接近斥力越大的机器人。当机器人到达目标点,引力是0。机器人移动到目标点在合力的作用下,所表达的有吸引力的领域 在哪里 是有吸引力的常数, 是当前机器人的位置, 是目标位置,然后呢 是一个常数。

为了防止机器人进入障碍区,设置一个危险的距离。当机器人之间的距离小于这个危险的距离和障碍,这些障碍将生成一个排斥力机器人和把它远离障碍。表达的排斥场 在哪里 是机器人的位置最近的障碍; 是常数代表了危险的距离,通常设置为机器人的移动步长两倍; 是斥力常数; 是一个常数。机器人上的合力可以表示如下: 在哪里 是一个向量代表当前位置的合力。

分解沿着积极合力为两个组件x设在 和积极的y设在 的水平扩散信息素是由 ,和垂直扩散是由 ,见以下方程: 在哪里 信息素浓度在吗 th迭代位置。结合(11)和(15)可以得到以下信息素扩散规则:

人工势场容易落入“死点问题在实际的应用程序。合力在特定位置为0,如图3。为了确保信息素扩散规则可以实现在不同的位置,这是规定,在合力等于0的位置,一个力向量 添加,点食物。所示的大小是以下方程:

在某些情况下,信息素扩散的影响不明显的改进算法。如图1在121的位置,无论扩散信息素,蚂蚁将于141年搬到位置。因此,有必要添加触发的一个阈值显示的信息素扩散机理如下: 在哪里 是出口的总数, 当前位置是障碍的数量。Matlab中所示的DIACO算法算法的伪代码1

输入:
:蚂蚁的数量
:最大迭代次数
:信息素的重量
:启发式信息重量
:网格地图矩阵包含障碍
输出:
best_path:坐标信息矩阵的最优路径
%的主循环迭代
k= 1:K
%为每个蚂蚁循环
= 1:
%初始化禁忌列表
TABUkm = (N)的
%初始化路径列表
DIACO = []
虽然∼target_position (current_position)
leave_pheromone (current_position equation_7_parameters)
%将当前位置添加到路径列表和禁忌
DIACO = add_to_path (DIACO current_position)
TABUkm = update_tabu (TABUkm current_position)
%计算转移概率根据方程(1)- (6)transition_probabilities = calculate_transition_probabilities (current_position equations_1_to_6_parameters)
next_position = select_next_position (transition_probabilities)
%更新当前位置
current_position = next_position
结束
%检查是否有位置路径满足扩散阈值根据(18)
如果any_position_satisfies_diffusion_threshold (DIACO equation_18_parameters)
%执行信息素扩散根据方程(9)- (17)
Pheromone_update = perform_pheromone_diffusion (DIACO equa-tions_9_to_17_parameters)
%局部信息素更新
信息素= leave_pheromone + Pheromone_update
结束
%检查是否所有蚂蚁都完成了路径搜索
如果all_ants_have_completed_path_search ()
如果这是最后一个迭代%检查
如果k<K
根据(%执行全局信息素更新8)
perform_global_pheromone_update (equation_8_parameters)
其他的
%返回最佳路径和最佳路径曲线
[best_path] = get_best_path_and_curve (DIACO)
返回
结束
结束
结束
结束
结束

4所示。转向步态规划

在获得四足机器人的避障路径通过DIACO算法,有必要完成避障任务转向步态。为了确保步态的连续性,本文完成了把任务根据侵权步态和使用不同的脚位移完成身体转向。考虑到CoM没有位移的Z方向在转向过程中,指导运动是限于XOY平面,如图4

体坐标系之间的旋转矩阵在初始时刻的转向 和身体转向后坐标系统 在哪里 转向角, CoM位置变换向量。

4.1。转向步态脚位移

四足机器人构建本文前面手肘和膝盖后方结构,如图5。四条腿有相同的机械结构,每个有三个主动关节:hip-pitch联合,hip-swing联合,knee-pitch关节。同时,添加一个阻尼弹簧腿和脚之间的吸收冲击力时,脚与地面接触。四条腿的名字顺时针射频(右前腿),RH(右后腿),LH(左后腿),低频(左前腿)。

小跑步态,把腿分成LF-RH RF-LH。当LF-RH在摆动阶段,RF-LH支持阶段,和腿的两组交替完成四足移动机器人前进运动。不改变的前提下腿部的运动状态,本文完成了每个脚的身体转向任务由不同的位移。脚的位置的变化在一个转向步态周期如图6

在图6, 机器人可以旋转的角度是一个步态周期, 机身的距离向前, 是身体的侧向位移。体坐标系之间的变换矩阵后旋转 身体和初始坐标系统 如下:

完成转向后的四足机器人,每只脚返回到初始位置的相对坐标系统 ,坐标如下:

根据(20.)和(21),脚坐标的坐标系统的坐标 在以下方程:

根据几何关系如图6,身体转向时脚的位移可以获得如下:

4.2。转向脚轨迹规划

本文计划基于摆线轨迹脚轨迹。轨迹必须满足以下要求:(1)为了确保运动的连续性在摆动阶段,速度的X,Y,Z方向是0当脚离开地面,到达最高点,接触地面。 (2)确保脚不滑倒在地上,尽量减少脚落时产生的冲击力。的加速度X,Y,Z是0当脚离开地面,到达最高点,接触地面。 (3)腿完成横向运动,它是必要的,以确保脚高度达到最大高度的50%摇摆的阶段。

自从hip-pitch联合和knee-pitch联合控制脚的运动Z方向和hip-swing联合控制脚的运动Y方向,脚的摆动相轨迹可以解耦。

首先,确定加速度Z方向如下:

积分方程(30.)的速度Z方向如下:

根据轨迹的速度限制 ,它可以获得如下:

整合的速度Z方向的位移Z方向如下:

根据轨道位移约束的脚,Z方向位移分为四个部分,计算对应的函数如下:

为了确保加速度和速度Z方向是连续的,(31日)的组织结构如下:

X方向的位移轨迹需要确定。

根据(33),的速度和加速度X脚运动方向时,可以获得如下:

据计算,在脚运动的开始和结束时间,速度和加速度X方向是0,满足的要求没有突然改变速度和加速度在脚运动。

因为只有hip-swing联合控制的腿的运动Y方向,可以根据设计的X方向脚摆动阶段曲线: 在哪里 位移的脚吗Y方向。

swing的轨迹阶段如下:

脚在支持阶段位移导致CoM朝着期望的方向。脚支持阶段的轨迹可以获得如下:

5。实验

为了验证查询DIACO效应在有障碍物的环境中,实验是在MATLAB和Adams进行。实验环境的大小 ,如图7。模拟环境包含障碍建于亚当斯根据MATLAB网格图如图8。左上角的起始位置是四足机器人,右下角是目标位置,黑色网格代表了障碍,和白色的网格代表无障碍区。实验环境如下:Ubuntu18.04;处理器是英特尔i7 - 6800;主要的2.8 GHz频率;32 GB内存;和实验软件matlabR2019b和亚当斯2016。

5.1。避障路径规划实验

ACO和DIACO设置相同的蚂蚁和迭代次数,和比较实验进行。收敛曲线在图所示的实验环境9在环境中,机器人的运动轨迹如图10

红色的曲线在图9算法的收敛曲线,蓝色曲线是DIACO的收敛曲线。从图中的数据可以看出9ACO获得最短路径的第211次迭代和完全在第428届迭代收敛。DIACO得到40的最短路径迭代和完全收敛。

10 ()是机器人运动轨迹规划算法和10 (b)是机器人的运动轨迹由DIACO计划。在比较,它可以观察到的路径规划算法提出了一些曲折DIACO比计划。更关键的是,生成的路径DIACO展品重要的平滑度,特别是在5日到8日,为四足机器人提供足够的空间,一个至关重要的方面有效的运动。因此,DIACO的道路质量的优势非常明显。

通过比较路径生成的两种算法在相同的条件下,可以看出DIACO优于算法的收敛速度和稳定性。此外,DIACO的避障路径规划更加合理,主要是因为它提供了一个更直观的和预期的四足机器人路径,显示了较好的适应性在复杂的环境中。因此,可以看出DIACO路径规划质量具有明显的优势。

5.2。转向步态实验

为了验证的有效性本文提出的转向步态运动学仿真实验进行了亚当斯。一些仿真参数如下:支持阶段时间是2 s,摆动阶段时间是2 s,仿真时间是20多岁(2 s在仿真实验之前,LF-RH支持阶段,用于模拟状态结束时直走)。对单一转向步态的身体转向22.5°,每个脚的运动参数方程计算了(22)。模拟过程中描述图11包括不同的时刻:的起始,RF-LH开始横向展开的那一刻,那一刻LF-RH横向摆动,开始和完成。

身体的偏航角变化曲线如图12。根据图12,可以看出身体的偏航角变化略因为低频腿和RH腿推地面侧向。当射频腿和LH腿进入支持阶段,身体是驱动横向移动,和身体的偏航角已显著改变。当低频腿的横向运动和RH腿结束,因为身体是一个刚性的对象和四条腿回到初始位置,身体的偏航角的变化在这个阶段相对较小,这与上述数学模型是一致的。4转向步态周期,身体将总共83.8°,平均单转向步态可能20.9°。考虑重心的变化身体的转动过程中,这个角符合预期。

机身周围的角速度Z设在图所示13。根据图中的数据分析,四足机器人开始引导时,身体会产生周围角速度Z设在由于低频腿的侧推力和RH的腿在地上。当低频腿和RH腿支撑阶段,周围的角速度Z设在逐渐减少,证明身体顺利完成转向动作。当下一次开始转向步态,身体周围的角速度Z设在将比最初更重要转向,由于身体的重心变化。曲线不逐渐变得更加广泛,本文证明了转向步态设计可以使四足机器人的脚回到初始位置,确保身体的稳定性。

5.3。避障实验

为了验证路径DIACO计划能否满足四足机器人的避障要求,亚当斯的避障进行了实验。

考虑到转向角和身体的稳定在一个步态周期中,这部分的仿真参数设置如下:支持阶段和摆动阶段时间设置为5 s,远期步长设置为250毫米,和仿真时间设置为850年代。仿真结果如图所示14

15描述了关键时刻四足机器人在避障过程中:避障的开始,开始的第一个转弯步态,最后把步态,并完成避障。为了避免大障碍环境中,四足机器人连续使用两个行走步态和四个转向步态完成避障任务。

16显示人体的质心的运动曲线在避障路径。曲线分析表明,机器人的质心可以移动到目标位置通过避障路径,曲线是连续和光滑。

总之,避障路径通过DIACO算法结合转向步态可以确保四足机器人避障任务完成,这证明的有效性由DIACO避障路径规划算法和转向步态。

6。结论

与算法相比,DIACO算法提出了大大提高收敛速度和稳定性。结合四足机器人的转向步态,它可以完成避障任务,证明的有效性由DIACO避障路径规划。

DIACO算法,提出了离线避障路径规划的四足机器人,可能需要较长的计算时间作为规划场景的复杂性和范围增加,尽管其快速收敛和稳定性。未来的研究将集中在应对这一挑战细化算法框架,优化代码,采用并行计算,或利用高性能的gpu。我们的目标是使在线路径规划为四足机器人在更复杂的环境。

数据可用性

使用的数据来支持本研究的结果包括在本文中。

的利益冲突

作者宣称没有利益冲突。