现代物流业高速发展的过程中,智能仓储是其中的关键环节,用以保证物流过程能够对海量物料需求做出及时反馈,满足客户的需求.在仓储活动中,引入仓储物流机器人代替传统人工作业已成为必然趋势.亚马逊仓库,京东“亚洲一号”,海康威视等企业纷纷应用仓储物流机器人作业,显示了智能仓储的快速兴起和发展.其中仓储物流机器人路径规划是目前的热门研宄方向,在仓储物流
常见的路径规划方法
此外,对于路径平滑处理方面,孙瑞等
本文在基本蚁群算法的基础上,提出一种改进蚁群算法.通过对蚁群的转移规则进行改进,随迭代次数动态改变信息素残留因子,使得移动机器人适应不同的障碍物环境变化;并对规划路径结果进行二次优化的处理.最后,通过仿真实验与其他算法对比,在不同复杂度的仓储环境下进行实验,结果验证了改进蚁群算法的有效性.
常见的环境建模方法主要有可视图法、拓扑法、自由空间法,以及栅格法等.可视图法虽然能够得到最短路径,但将移动机器人视作质点,忽略尺寸大小,使得移动机器人在经过障碍物顶点时可能造成碰撞,且搜索时间较长.拓扑法利用拓扑特征大大缩小了搜索空间,但建立拓扑网络却十分复杂.自由空间法比较灵活,但其复杂程度与障碍物的多少成正比,并且有时无法获得最短路径.栅格法
采用栅格化方法进行环境建模,见图1,在环境中建立直角坐标系,按照仓储物流机器人行走和转折时占用的最小空间,来切割横向和纵向区域.每个栅格都有确定的坐标(x,y),x=row,y=col.其中:row为栅格所在的行号,col为栅格所在的列号.并用属性obstacle记录环境地图情况,当栅格被障碍物占据,如obstacle(20,1)=1;否则,obstacle(20,1)=0.
机器人在二维平面上的有限区域内工作,机器人在一个栅格上可以沿8个方向到达相邻的栅格,见图2.
蚁群算法是一种启发式算法,在选择下一个节点时,优先选择离自己最近的节点.定义人工蚁群的蚂蚁数目为m,当前节点i到节点j的距离为dij(i,j=1,2,…,n).两节点间的启发函数(或者可见度)为ηij,两节点间的信息素浓度为τij.则蚂蚁k从节点i转移至节点j的转移概率pkij.定义属性ηij为两节点间的启发函数(或者可见度),是距离的倒数.
式中:dij为节点i和节点j之间的欧几里得距离;ix,iy为节点i的横纵坐标;jx,jy是节点j的横纵坐标.
信息素浓度是蚂蚁群体协作发挥作用的关键.初始设置全局的信息素浓度均相等.随着不断探索和行走,蚂蚁在走过的路线上会留下与路径长度有关的信息素,引导后续蚂蚁选择优势路径.因此在全部蚂蚁完成一次循环后,对各路径上的信息素含量进行更新,更新规则为
式中:ρ为信息素挥发因子,ρ∈(0,1).Δτij(NC)第NC代中节点i到节点j之间路径上信息素增量.Δτkij(NC)为蚂蚁k本次迭代过程中在节点i和节点j之间的路径上留下的信息素含量.
蚂蚁k从节点i转移到节点j的概率pkij为
式中:allowedk为蚂蚁k在该阶段可访问的节点集合;∂为信息素重要性因子,其值越大,表示蚂蚁越易选择有较多蚂蚁选择过的路径;β为启发函数重要性因子,其值越大,表示蚂蚁更易选择离自己最近的节点.
在栅格化环境下进行节点选择时,节点之间的路径长度已被标准化.
式中:type1为节点j位于节点i紧邻的上、下、左、右四个栅格,距离为1个单位;type2为节点j位于节点i紧邻的左上、右上、左下、右下四个栅格,距离为
式中:Lj为节点j到终点之间的欧几里得距离;ζ为常数,通常节点距离终点距离较大,使得启发函数值ηij较小.因此可根据信息素因子τij的数量级,对启发函数进行扩大.
再者,引入变量q0,蚂蚁选择下一个节点S按式(8)的规则进行.
式中:q为随机变量,q∈(0,1).即在随机变量q小于变量q0时,蚂蚁选择转移概率最大的节点进行访问,否则,就随机选择节点进行访问.随着迭代的进行,q0的值先变大再变小,这使各蚂蚁在前期随机选择节点,有助于扩大全局搜索能力,寻找到优势路径;中期则选择概率最大的节点,及时收敛;后期又随机选择节点,有助于跳出局部最优.
信息素挥发因子ρ一般是常数,不利于蚁群算法在迭代过程中实现快速收敛与跳出局部最优之间的平衡.因此,在算法前期希望快速找到优势路径,需要一个较大ρ值;而在算法后期,为了避免陷入局部最优,需要扩大搜索范围,需要一个较小的ρ值,见图2.为此,ρ值随着迭代的进行,应该是一个由大到小的变化过程.可按照式(9)进行自适应变化.
式中:c为常数,根据具体情况调整.
仓储物流机器人路径规划的目的是能够找到一条从起点到终点的无障碍路径.假设机器人以匀速行走,那么路径最短的同时也能达到时间最短.因此,取路径规划的总长度L为目标函数,即
式中:dtij是在第t步从节点i到节点j的欧几里得距离.蚂蚁经历T步到达终点.
蚂蚁通过在栅格化环境中直线行走,在行走路径过程中,经过障碍物会有较多转折点.在实际工作环境下,移动机器人所得到的路径虽然总体上长度较短,但存在着个别不必要的折角,机器人在经过拐角时需要调整自身状态以适应角度转变,导致行驶难度加大,行驶时间增加.
为增加机器人行走路径的实际可行性,需要对改进蚁群算法规划出的路径进行平滑处理.假设改进蚁群算法的路径规划结果为Path,为二维数组[x(1),y(1); x(2),y(2);…;x(n),y(n)];经过平滑处理后的结果为Smooth_Path,为二维数组[a(1),b(1); a(2),b(1);…;a(n),b(n)].平滑路径是通过使平滑前后路径偏离程度最小,见式(11);同时路径的总转折角度较小,为
因此,路径平滑优化的目标函数为
式中:λ,μ为常数参数.通过调整λ和μ的值来找到最优化路径.
为确保优化后的机器人路径能够完全避障,需要添加约束条件以保证机器人行走路径与障碍物之间存在足够距离,即(a(i),b(i))到周围障碍物的距离.该距离大于栅格中心点到栅格边缘的最大距离
移动机器人路径规划包含环境的栅格法建模、改进蚁群算法进行路径规划、路径平滑处理等过程.具体流程描述见图4.
经过初步实验,改进蚁群算法的参数设置:NCmax为20;m为20;∂为1;β为7;Q为100;ζ为10;c为5;λ为0.5;μ为0.5.
转移概率中随机变量q0为
选取文献
采用文献
对复杂环境进行扩大,采用文献
为检验改进蚁群算法的普遍适应性.在20×20环境下利用MATLAB随机生成四组障碍物环境,障碍物比例分别是20%,25%,30%和35%,表示为环境1、2、3和4.平滑处理前后的算法运行结果对比,见图7.在30×30环境下障碍物比例是20%,表示为环境5,平滑处理前后的算法运行结果对比见图8.观察未平滑优化的路径规划结果,改进蚁群算法在障碍物占比不同的情况下,均能找到已知最优解;平滑优化之后,路径长度更短,减少了总转折角度.
为了进一步实验改进蚁群算法的效果,在五种环境下,分别对基本蚁群算法(ACO)和改进蚁群算法(IACO)在上述五种环境下,分别进行仿真实验,运行20次.对比结果见表2、表3.
m
由表2~3可知,改进蚁群算法运行效率高,收敛所需的迭代次数远低于基本蚁群算法;并且最优路径长度更短,结果更加稳定.改进蚁群算法扩大启发函数的影响力,使得算法初期就能够引导寻找到优势路径;转移概率采用确定性与随机性相结合的方式,有利于及时跳出局部障碍物,使得改进蚁群算法能够快速收敛至较优结果.
通过对仓储物流机器人路径规划问题进行栅格化建模,设计了一种新的求解机器人避障路径的改进蚁群算法.该算法改进路径选择参数,优化转移规则和信息素更新条件,并对路径结果进行平滑处理.随着算法迭代变化,对路径选择以及信息素挥发系数进行调整,在保证算法全局搜索最优的同时,能够快速收敛,并且有足够的稳定性.平滑处理后的路线更符合实际环境中机器人行走条件,减少能耗及缩短距离,也更加安全.
【本文标签】
【责任编辑】平文云仓