一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种排序野马优化算法的移动机器人路径规划方法

2022-11-19 18:29:51 来源:中国专利 TAG:


1.本发明属于机器人路径规划技术领域,特别是一种排序野马优化算法的移动机器人路径规划方法。


背景技术:

2.移动机器人路径规划是机器人导航领域的一个关键问题。在已知环境地图的情况下,解决“到哪里去”、“如何去”的问题。此外在环境地图中附加若干障碍物,考虑最短距离、最短时间或最小代价等约束,移动机器人路径规划可以认为是一个带约束的优化问题。其目的是寻找一条从给定起点到给定终点的,与障碍物无接触的、距离最短或时间最短、或代价最小的安全路径。
3.2021年iraj naruei等人根据野马的群体行为,建立了野马放牧吃草、交配繁殖、领地竞争3等种行为的模型,提出了一种群体智能优化算法,即野马优化算法。该算法相比与遗传算法、蚁群算法、粒子群算法,具有原理简单、设计参数少、寻优能力强等特点。
4.但在面临一些实际问题时,野马优化算法在平衡全局探索与局部开发之间的存在很大不足,在算法的后期容易陷入局部最优或过早收敛等问题。随后,p. vasanthkumar提出了一种改进的野马优化器与深度学习相结合的方法并应用于混合动力电动汽车的电池管理系统。abdelhady ramadan给出了一种改进野马优化器来估计双二极管和三极管光电模型的参数。gehad ismail sayed 也对野马优化器进行了改进,提高了其在解决全局优化和组合优化问题中的性能。
5.针对野马优化算法本身的缺陷,本方法通过设计动态位置权重,提出了一种排序野马优化算法,以此平衡野马算法的全局探索和局部开发的能力。将本方法应用在移动机器人路径规划中,能够很好地解决移动机器人室内路径规划问题。


技术实现要素:

6.本发明旨在解决以上现有技术的问题,提出了一种排序野马优化算法的移动机器人路径规划方法,该算法收敛精度高,收敛速度快,在求解的后期阶段,能避免易陷入局部最优。本发明的技术方案如下:一种排序野马优化算法的移动机器人路径规划方法,其包括以下主要步骤:s1.算法初始化。建立移动机器人路径规划的二维栅格地图模型,给定移动机器人的起点和终点坐标。利用二维栅格地图模型及起点和终点坐标,获取移动机器人从起点到终点可行路径集。初始化野马种群,包括种群数量,最大迭代次数,种马率,交配率,种马个数,马驹个数等参数。
7.s2.组建初始化野马群组。首先,根据种马个数设定群组个数,并将所有马驹平均分配到每个群组。根据起点位置,确定种马和马驹的初始位置。
8.s3.循环变量初始化。重置起点位置、终点位置、路径长度、已访问的格点集、待访问的格点集。
9.s4.更新马驹格点位置。根据马驹放牧吃草阶段模型或交配繁殖阶段模型,更新每个群组中所有马驹相对种马的格点位置。生成一维随机数,与交配率相比较。若随机数大于交配率,则根据马驹放牧吃草阶段模型,更新每个群组中所有马驹的格点位置。若随机数小于等于交配率,则根据种马繁殖交配阶段模型,更新每个群组中所有马驹的格点位置。
10.s5.更新状态和记录。将新的格点加入已访问格点集,更新已访问格点集,更新待访问格点集。
11.s6.判断是否访问到终点且是否待访问格点数为0,否则返回s3。
12.s7.更新马驹路径。
13.s8.判断是否所有马驹参与访问,否则返回s3。
14.s9.更新种马格点位置。根据种马竞争阶段的模型,更新所有群组中的种马相对与最佳位置的格点位置。比较随机生成的一维随机数与0.5的大小。若随机数大于0.5,则种马位置靠近当前最优值所在的位置。若随机数小于等于0.5,则种马位置远离当前最优值所在的位置。
15.s10. 更新种马格点位置权值。种马格点位置权重更新公式如下:[p(si)]=w(m,i)p(si)其中,[p(si)]为种马i下一刻的格点位置,p(si)为种马i当前的格点位置,w(m,i)为第m次迭代种马i适应度系数,其表达式如下:w(m,i)=(1-m/m)(wmax-num 1)其中,w(m,i)为种马的最大适应度系数。num为种马i的序号。
[0016]
s11. 判断是否所有群组参与访问,否则返回s3。若所有群组均参与访问,则根据各种马的适应度,得到适应度的最小值及其适应度最小值对应的路径s12. 判断是否达到最大迭代次数,否则返回s3。
[0017]
s13. 输出全局最优解。
[0018]
进一步,s1算法初始化的具体实施过程为:建立移动机器人路径规划的二维栅格地图模型,给定移动机器人的起点和终点坐标。利用二维栅格地图模型及起点和终点坐标,获取移动机器人从起点到终点可行路径集。初始化野马种群,包括定义种群数量n,最大迭代次数m,种马率ps,交配率pc。计算种马个数ns,马驹个数ng。其中种马个数为ns=n*ps;马驹个数为ng=n-ns。
[0019]
进一步,s2组建初始化野马群组的具体实施过程包括以下步骤以种马个数ns为基准,建立ns个野马群组,将ng个马驹平均分配到每个群组。每个野马群组包括1个种马和若干马驹。根据起点位置,确定种马和马驹的初始位置。
[0020]
进一步,s3循环变量初始化的具体实施过程包括重置起点位置、重置终点位置、重置路径长度、重置已访问的格点集、重置待访问的格点集。定义当前迭代次数m=1,当前种马数i=1,当前马驹数j=1。
[0021]
进一步,s4更新马驹格点位置的具体实施过程包括以下步骤s4-1,假设存在一个[0,1]内的随机数r。若随机数大于交配率,即r》pc,则马驹个体处于放牧吃草阶段,马驹个体的格点位置更新公式为[p(si,gi)]=2acos(2pia)[p(si)-p(si,gi)] p(si)a=r2[r1》=(1-m/m)] r3[r1《(1-m/m)]
其中,[p(si,gi)]是群组i中马驹j下一刻的格点位置。p(si,gi)为群组i中马驹j当前的格点位置。p(si)为群组i种马当前的格点位置。r1和r3是在[0,1]范围内均匀分布的随机向量。r2是在[0,1]范围内均匀分布的随机数。
[0022]
s4-2,若随机数小于等于交配率,即r《=pc,则马驹个体处于交配繁殖阶段,。马驹个体的格点位置更新公式为p(sc,gab)=[p(sa,gmax) p(sb,gmax)]/2其中,a、b、c三者互不相等,p(sc,gab)为群组c中的马驹ab的格点位置。p(sa,gmax)为群组a中适应度最大的马驹所对应的格点位置。p(sb,gmax)为群组b中适应度最大的马驹所对应的格点位置。a、b、c三者互不相等代表a、b、c为不同的群组。其中,任意群组中适应度最大的马驹所对应的格点位置的计算过程为,根据各马驹的路径,求得各马驹的适应度,将各马驹的适应度按从小到大的顺序排列,得到适应度最大的马驹所对应的格点位置。马驹的适应度计算公式如下f(xi)=sum[sqrt((e(n 1)-xn)^2 (e(n 1)-yn)^2)],n=1:d-1其中,xi为马驹i的格点路径,(xn,yn)表示在栅格地图上第n个格点的坐标,同理,(e(n 1),e(n 1))表示在栅格地图上终点的坐标。d表示移动机器人路径规划的维数。
[0023]
s5,更新状态和记录。将新的格点加入马驹已访问格点集,更新已访问格点集,更新待访问格点集。
[0024]
s6,判断是否访问到终点且是否待访问格点数为0,否则返回s3。
[0025]
s7,更新马驹路径。
[0026]
s8,判断是否所有马驹参与访问。若当前马驹数小于马驹数,即j《ng,则j=j 1,返回s3。若当前马驹数大于等于马驹数,即j》=ng,则更新种马路径。
[0027]
进一步,s9更新种马路径的具体实施过程包括:s9-1,假设存在一个[0,1]内的随机数q。若随机数q大于0.5,即q》0.5,则种马靠近当前最优值所对应的格点位置,种马格点位置更新公式为:[p(si)]=2acos(2pia)[pbest-p(si)] pbests9-2,若随机数q小于等于0.5,即q《=0.5,则种马远离当前最优值所对应的格点位置,种马格点位置更新公式为:[p(si)]=2acos(2pia)[pbest-p(si)]-pbest其中,[p(si)]为群组i中种马的下一壳的格点位置。p(si)为群组i中种马的当前格点位置。pbest为当前最优个体的格点位置。
[0028]
进一步,s10更新格点位置权值的具体实施过程包括:适应度排序,更新种马格点位置权重。种马格点位置权重更新公式如下:[p(si)]=w(m,i)p(si)其中,[p(si)]为种马i下一刻的格点位置,p(si)为种马i当前的格点位置,w(m,i)为第m次迭代种马i适应度系数,其表达式如下:w(m,i)=(1-m/m)(wmax-num 1)其中,wmax为种马的最大适应度系数。num为种马i的序号。num的求解过程为:根据各种马的路径,求各种马的适应度。将各种马的适应度按从小到大的顺序排列,将种马i的序号作为num。各种马的适应度计算也采用马驹的计算公式。
[0029]
进一步,s11判断是否所有群组参与访问的具体实施过程包括:若当前种马个数小于种马个数,即i《ns,则当前种马个数加1,即i=i 1,当前马驹个数赋值为1,即j=1,并返回s3。若当前种马个数大于等于种马个数,即i》=ns,则根据各种马的路径,求各种马的适应度,得到适应度的最小值及其适应度最小值对应的路径进一步,s12判断是否达到最大迭代次数的具体实施过程包括:若当前迭代次数小于最大迭代次数,即m《m,则当前迭代次数加1,即m=m 1,返回s3。若当前迭代次数大于等于最大迭代次数,即m》=m,则退出循环。
[0030]
s13的具体实施过程为将适应度值最小的野马路径作为移动机器人路径规划的最优路径,输出全局最优解。
[0031]
本发明的有益技术效果在于:本发明提供了一种排序野马优化算法的移动机器人路径规划方法,通过引入动态位置权重,使得在求解的初期阶段最优解的搜索范围广,收敛速度快,在求解的后期阶段,局部搜索能力强,能够避免算法陷入局部最优。
附图说明
[0032]
图1为一种排序野马优化算法的移动机器人路径规划方法。
具体实施方式
[0033]
下面将结合本发明实施例中的附图,对本发明的实施进行详细的描述。
[0034]
参见图1,本发明提供了一种排序野马优化算法的移动机器人路径规划方法,包括以下步骤:s14. 算法初始化。建立移动机器人路径规划的二维栅格地图模型,给定移动机器人的起点和终点坐标。利用二维栅格地图模型及起点和终点坐标,获取移动机器人从起点到终点可行路径集。初始化野马种群,包括种群数量,最大迭代次数,种马率,交配率,种马个数,马驹个数等参数。
[0035]
s15. 组建初始化野马群组。首先,根据种马个数设定群组个数,并将所有马驹平均分配到每个群组。根据起点位置,确定种马和马驹的初始位置。
[0036]
s16. 循环变量初始化。重置起点位置、终点位置、路径长度、已访问的格点集、待访问的格点集。
[0037]
s17. 更新马驹格点位置。根据马驹放牧吃草阶段模型或交配繁殖阶段模型,更新每个群组中所有马驹相对种马的格点位置。生成一维随机数,与交配率相比较。若随机数大于交配率,则根据马驹放牧吃草阶段模型,更新每个群组中所有马驹的格点位置。若随机数小于等于交配率,则根据种马繁殖交配阶段模型,更新每个群组中所有马驹的格点位置。
[0038]
s18. 更新状态和记录。将新的格点加入已访问格点集,更新已访问格点集,更新待访问格点集。
[0039]
s19. 判断是否访问到终点且是否待访问格点数为0,否则返回s3。
[0040]
s20. 更新马驹路径。
[0041]
s21. 判断是否所有马驹参与访问,否则返回s3。
[0042]
s22. 更新种马格点位置。根据种马竞争阶段的模型,更新所有群组中的种马相对
与最佳位置的格点位置。比较随机生成的一维随机数与0.5的大小。若随机数大于0.5,则种马位置靠近当前最优值所在的位置。若随机数小于等于0.5,则种马位置远离当前最优值所在的位置。
[0043]
s23. 更新种马格点位置权值。种马格点位置权重更新公式如下:[p(si)]=w(m,i)p(si)其中,[p(si)]为种马i下一刻的格点位置,p(si)为种马i当前的格点位置,w(m,i)为第m次迭代种马i适应度系数,其表达式如下:w(m,i)=(1-m/m)(wmax-num 1)其中,w(m,i)为种马的最大适应度系数。num为种马i的序号。
[0044]
s24. 判断是否所有群组参与访问,否则返回s3。若所有群组均参与访问,则根据各种马的适应度,得到适应度的最小值及其适应度最小值对应的路径s25. 判断是否达到最大迭代次数,否则返回s3。
[0045]
s26. 输出全局最优解。
[0046]
进一步,s1算法初始化的具体实施过程为:建立移动机器人路径规划的二维栅格地图模型,给定移动机器人的起点和终点坐标。利用二维栅格地图模型及起点和终点坐标,获取移动机器人从起点到终点可行路径集。初始化野马种群,包括定义种群数量n,最大迭代次数m,种马率ps,交配率pc。计算种马个数ns,马驹个数ng。其中种马个数为ns=n*ps;马驹个数为ng=n-ns。
[0047]
进一步,s2组建初始化野马群组的具体实施过程包括以下步骤以种马个数ns为基准,建立ns个野马群组,将ng个马驹平均分配到每个群组。每个野马群组包括1个种马和若干马驹。根据起点位置,确定种马和马驹的初始位置。
[0048]
进一步,s3循环变量初始化的具体实施过程包括重置起点位置、重置终点位置、重置路径长度、重置已访问的格点集、重置待访问的格点集。定义当前迭代次数m=1,当前种马数i=1,当前马驹数j=1。
[0049]
进一步,s4更新马驹格点位置的具体实施过程包括以下步骤s4-1,假设存在一个[0,1]内的随机数r。若随机数大于交配率,即r》pc,则马驹个体处于放牧吃草阶段,马驹个体的格点位置更新公式为[p(si,gi)]=2acos(2pia)[p(si)-p(si,gi)] p(si)a=r2[r1》=(1-m/m)] r3[r1《(1-m/m)]其中,[p(si,gi)]是群组i中马驹j下一刻的格点位置。p(si,gi)为群组i中马驹j当前的格点位置。p(si)为群组i种马当前的格点位置。r1和r3是在[0,1]范围内均匀分布的随机向量。r2是在[0,1]范围内均匀分布的随机数。
[0050]
s4-2,若随机数小于等于交配率,即r《=pc,则马驹个体处于交配繁殖阶段,。马驹个体的格点位置更新公式为p(sc,gab)=[p(sa,gmax) p(sb,gmax)]/2其中,a、b、c三者互不相等,p(sc,gab)为群组c中的马驹ab的格点位置。p(sa,gmax)为群组a中适应度最大的马驹所对应的格点位置。p(sb,gmax)为群组b中适应度最大的马驹所对应的格点位置。a、b、c三者互不相等代表a、b、c为不同的群组。其中,任意群组中适应度最大的马驹所对应的格点位置的计算过程为,根据各马驹的路径,求得各马驹的适
应度,将各马驹的适应度按从小到大的顺序排列,得到适应度最大的马驹所对应的格点位置。马驹的适应度计算公式如下f(xi)=sum[sqrt((e(n 1)-xn)^2 (e(n 1)-yn)^2)],n=1:d-1其中,xi为马驹i的格点路径,(xn,yn)表示在栅格地图上第n个格点的坐标,同理,(e(n 1),e(n 1))表示在栅格地图上终点的坐标。d表示移动机器人路径规划的维数。
[0051]
s5,更新状态和记录。将新的格点加入马驹已访问格点集,更新已访问格点集,更新待访问格点集。
[0052]
s6,判断是否访问到终点且是否待访问格点数为0,否则返回s3。
[0053]
s7,更新马驹路径。
[0054]
s8,判断是否所有马驹参与访问。若当前马驹数小于马驹数,即j《ng,则j=j 1,返回s3。若当前马驹数大于等于马驹数,即j》=ng,则更新种马路径。
[0055]
进一步,s9更新种马路径的具体实施过程包括:s9-1,假设存在一个[0,1]内的随机数q。若随机数q大于0.5,即q》0.5,则种马靠近当前最优值所对应的格点位置,种马格点位置更新公式为:[p(si)]=2acos(2pia)[pbest-p(si)] pbests9-2,若随机数q小于等于0.5,即q《=0.5,则种马远离当前最优值所对应的格点位置,种马格点位置更新公式为:[p(si)]=2acos(2pia)[pbest-p(si)]-pbest其中,[p(si)]为群组i中种马的下一壳的格点位置。p(si)为群组i中种马的当前格点位置。pbest为当前最优个体的格点位置。
[0056]
进一步,s10更新格点位置权值的具体实施过程包括:适应度排序,更新种马格点位置权重。种马格点位置权重更新公式如下:[p(si)]=w(m,i)p(si)其中,[p(si)]为种马i下一刻的格点位置,p(si)为种马i当前的格点位置,w(m,i)为第m次迭代种马i适应度系数,其表达式如下:w(m,i)=(1-m/m)(wmax-num 1)其中,wmax为种马的最大适应度系数。num为种马i的序号。num的求解过程为:根据各种马的路径,求各种马的适应度。将各种马的适应度按从小到大的顺序排列,将种马i的序号作为num。各种马的适应度计算也采用马驹的计算公式。
[0057]
进一步,s11判断是否所有群组参与访问的具体实施过程包括:若当前种马个数小于种马个数,即i《ns,则当前种马个数加1,即i=i 1,当前马驹个数赋值为1,即j=1,并返回s3。若当前种马个数大于等于种马个数,即i》=ns,则根据各种马的路径,求各种马的适应度,得到适应度的最小值及其适应度最小值对应的路径进一步,s12判断是否达到最大迭代次数的具体实施过程包括:若当前迭代次数小于最大迭代次数,即m《m,则当前迭代次数加1,即m=m 1,返回s3。若当前迭代次数大于等于最大迭代次数,即m》=m,则退出循环。
[0058]
s13的具体实施过程为将适应度值最小的野马路径作为移动机器人路径规划的最优路径,输出全局最优解。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献