1.一种移动机器人路径规划的方法,其特征在于,包括以下步骤:
(1)通过使用栅格图将机器人活动区域地图格式化,并标识无障碍物区域及有障碍物区域;存储机器人移动的起始点和终点;
(2)设置粒子群算法的代价函数,公式如下:
式中,L(p)为粒子所得到的路径最短路径,Lo为移动机器人与最近障碍物的距离;α和β为固定参数,用来控制得到一条路径长度和安全度相平衡的最优路径;F为所求的代价函数值;
(3)初始化粒子群算法参数;设定粒子群算法的粒子数和总迭代次数,根据格式化地图设置粒子位置限制和粒子速度限制条件,随机初始化每个粒子的位置和速度;
(4)得到粒子群中每个粒子的位置和速度后,将粒子的位置代入代价函数求出每个粒子的适应度值,保存每个粒子的适应度值;
(5)取一个随机数与决策数比较大小,若随机数的值大于决策数,执行步骤(6);否则执行步骤(7);随机数的取值为[0,1];所述的决策数的公式如下所示:式中,Q为决策数;t为当前迭代次数,Tmax为设置的最大迭代次数;
(6)针对粒子群的每个粒子,更新个体最优、全局最优值并更新速度、位置与适应度值,执行步骤(9);
(7)将粒子群中所有粒子按照适应度值从小到大排序,选取适应度值小的前n%的粒子标记为优质粒子,适应度值大的后m%粒子标记为劣质粒子,剩余的粒子标记为普通粒子,n,m∈[1,50];对劣质粒子进行变异操作获取变异粒子,所述对劣质粒子进行变异操作的变异公式为:式中,xi∈[xmin,xmax],xmin为i维度下的地图边界最小值,xmax为i维度下的地图边界最大值;r为[0,1]随机数;μ为固定常数;x″i为变异粒子中第i个粒子位置;xi为粒子群中第i个粒子位置;
(8)将包含劣质粒子的粒子群的每个粒子更新个体最优、全局最优值并更新速度、位置与适应度值后,与变异粒子组合形成新的粒子群;计算变异粒子的适应度值,将新粒子群中所有粒子的适应度值进行从小到大重新排序,淘汰末尾的K个粒子,K为原包含劣质粒子的粒子群个数的m%;
(9)当算法未达到最大迭代次数,返回步骤(5)进行循环操作;当达到最大迭代次数,选择适应度值最小的粒子为路径解,所得到的解为机器人移动的最优路径解;
步骤(4)还包括在获取每个粒子位置后,求解每个粒子的对称位置,将对称粒子的位置代入代价函数求出对称粒子的适应度值,保存对称粒子的适应度值;将每个粒子的适应度值和每个粒子对应的对称粒子适应度值相比较,取适应度值较小的那个取代原有的粒子;
所述对称粒子的求解公式为:
式中,i表示维度;xi∈[ai,bi],即粒子在某个维度上的范围大小,xi为粒子群粒子的位置大小; 为所求的粒子在某个维度上的对称位置;
还包括在步骤(4)与步骤(5)之间设置自适应参数ω、c1、c2;
式中,ω为是惯性权重,c1为单个学习因子,c2为全局学习因子;dg为当前迭代所评估的粒子与历史全局最优粒子的距离,dmin为历史所评估的粒子与历史全局最优粒子的最小值,dmax为历史所评估的粒子与历史全局最优粒子的最大值;c1max和c1min为c1的初始值和终止值;c2max和c2min为c2的初始值和终止值。
2.根据权利要求1所述的移动机器人路径规划的方法,其特征在于,步骤(6)与步骤(8)中更新位置和速度的公式为:式中,t表示第t次迭代次数,i表示第i个粒子; 为第t次迭代中的第i个粒子的位置,为第t次迭代中的第i个粒子的速度;当搜索空间为d维度时,xi=(xi1,xi2,xi3,…,xid),vi=(vi1,vi2,vi3,…,vid); 为第i个粒子在第t次迭代时的最佳位置, 为第t次迭代时整个粒子群的历史全局最优位置。
3.根据权利要求1所述的移动机器人路径规划的方法,其特征在于,步骤(3)中所述粒子群算法的粒子数为80,总迭代次数为50。
4.根据权利要求1所述的移动机器人路径规划的方法,其特征在于,步骤(7)中n与m的值均取20。
5.一种采用权利要求1所述方法的移动机器人路径规划的系统,其特征在于,包括:
地图构建和划分模块,通过使用栅格图将机器人活动区域地图格式化,并标识无障碍物区域及有障碍物区域;存储机器人移动的起始点和终点;
粒子群算法优化模块,用于设置粒子群算法的代价函数,公式如下:
式中,L(p)为粒子所得到的路径最短路径,Lo为移动机器人与最近障碍物的距离;α和β为固定参数,用来控制得到一条路径长度和安全度相平衡的最优路径;F为所求的代价函数值;初始化粒子群算法参数;设定粒子群算法的粒子数和总迭代次数,根据格式化地图设置粒子位置限制和粒子速度限制条件,随机初始化每个粒子的位置和速度;得到粒子群中每个粒子的位置和速度后,将粒子的位置代入代价函数求出每个粒子的适应度值,保存每个粒子的适应度值;
还包括在获取每个粒子位置后,求解每个粒子的对称位置,将对称粒子的位置代入代价函数求出对称粒子的适应度值,保存对称粒子的适应度值;将每个粒子的适应度值和每个粒子对应的对称粒子适应度值相比较,取适应度值较小的那个取代原有的粒子;所述对称粒子的求解公式为:式中,i表示维度;xi∈[ai,bi],即粒子在某个维度上的范围大小,xi为粒子群粒子的位置大小; 为所求的粒子在某个维度上的对称位置;
设置自适应参数ω、c1、c2;
式中,ω为是惯性权重,c1为单个学习因子,c2为全局学习因子;dg为当前迭代所评估的粒子与历史全局最优粒子的距离,dmin为历史所评估的粒子与历史全局最优粒子的最小值,dmax为历史所评估的粒子与历史全局最优粒子的最大值;c1max和c1min为c1的初始值和终止值;c2max和c2min为c2的初始值和终止值;
取一个随机数与决策数比较大小,随机数的取值为[0,1];所述的决策数的公式如下所示:式中,Q为决策数;t为当前迭代次数,Tmax为设置的最大迭代次数;
若随机数的值大于决策数,针对粒子群的每个粒子,更新个体最优、全局最优值并更新速度、位置与适应度值,当算法未达到最大迭代次数,返回随机数与决策数比较进行循环操作;当达到最大迭代次数,选择适应度值最小的粒子为路径解,所得到的解为机器人移动的最优路径解;
否则将粒子群中所有粒子按照适应度值从小到大排序,选取适应度值小的前n%的粒子标记为优质粒子,适应度值大的后m%粒子标记为劣质粒子,剩余的粒子标记为普通粒子,n,m∈[1,50];对劣质粒子进行变异操作获取变异粒子,所述对劣质粒子进行变异操作的变异公式为:式中,xi∈[xmin,xmax],xmin为i维度下的地图边界最小值,xmax为i维度下的地图边界最大值;r为[0,1]随机数;μ为固定常数;x″i为变异粒子中第i个粒子位置;xi为粒子群中第i个粒子位置;将包含劣质粒子的粒子群的每个粒子更新个体最优、全局最优值并更新速度、位置与适应度值后,与变异粒子组合形成新的粒子群;计算变异粒子的适应度值,将新粒子群中所有粒子的适应度值进行从小到大重新排序,淘汰末尾的K个粒子,K为原包含劣质粒子的粒子群个数的m%;当算法未达到最大迭代次数,返回随机数与决策数比较进行循环操作;
当达到最大迭代次数,选择适应度值最小的粒子为路径解,所得到的解为机器人移动的最优路径解。
6.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序,其中,在所述计算机程序运行时控制所述计算机可读存储介质所在设备执行如权利要求1至4中任意一项所述的方法。
7.一种调试设备,其特征在于,存储器、处理器及在所述存储器上存储并可运行的程序,所述程序被处理器执行时实现如权利要求1至4中任一项所述方法的步骤。