本文摘要:摘 要:针对在复杂室外环境下作业的农业机器人,存在因能量受限降低工作完成率的问题,提出了一种基于改进的启发式搜索的ECA*路径规划算法,可以在资源受限的情况下完成能量损耗最优路径的规划。首先,通过建立机器人距离-能量损耗模型,计算机器人在移动中
摘 要:针对在复杂室外环境下作业的农业机器人,存在因能量受限降低工作完成率的问题,提出了一种基于改进的启发式搜索的ECA*路径规划算法,可以在资源受限的情况下完成能量损耗最优路径的规划。首先,通过建立机器人距离-能量损耗模型,计算机器人在移动中行进的路程和损耗的能量,并对未来的路径和能耗趋势进行评估。
然后在传统A*算法的基础上将距离-能量损耗模型代入启发代价函数,通过搜索扩展子节点寻找最优路径。在每次迭代过程中,通过对比剔除处于劣势的路径,以保证算法的高效性。最后通过设计仿真实验,将改进的ECA*算法与传统的A*算法所搜索到路径的能量损耗进行对比,并在之后的改进算法中添加相应的能量约束进行计算。经过仿真计算改进的算法可以减少14.87%能量消耗,验证了ECA*算法的有效性。
关键词:农业机器人; 复杂环境; 路径规划; 启发式搜索
引言
路径规划是指在障碍环境下遵循特定的评价标准从起始点到目标点规划出一条无碰撞的最优移动路径[1,2],是移动机器人研究的基础[3,4],路径规划算法进行不同方向优化也是移动机器人研究的热点问题[5,6,7]。机器人工作时的工况与所处环境紧密相关,不同的环境下使用的工作策略也不尽相同。当移动机器人在室外进行作业时,考虑到室外环境大都由不平坦的地形组成[8],机器人在复杂地形环境下通常会受到自身功率、能量限制,在局部地形产生不稳定[9],降低完成作业效率与成功率。传统的路径规划算法通常以距离为成本生成最优路径,但是机器人在实际运动过程中,这种最优路径由于变化率相对较高,反而会给机器人的能耗造成负担。对于复杂环境下作业的机器人,通过能耗限制策略寻找最优路径极为重要,因此也出现了许多针对能量优化的室外路径规划算法。文献[10]最早提出了一种物理模型,该物理模型可计算出在各种外力的作用下移动机器人的能量损耗,并考虑到了重力效应、功率限制等不平坦路面必须解决的问题。
文献[11]改进了能量成本模型,确定了垂直轴理想锥体表面摩擦和重力作用的近似最佳路径。文献[12]中引入了地形面重量概念,捕获一些基于位置的地形参数,并提出了一种多项式时间近似算法,用于寻找最短的各向异性路径。文献[13]提出了一种将估计能耗加入总行驶能耗的迭代算法,应用于强干扰环境。文献[14]提出了一种基于约束-感知的启发式路径规划算法,使用锯齿形路径模式估计不平坦地形上的成本。文献[15-16]在一些传统的算法上根据能耗模型估算进行优化。文献[17-18]对机器人轨迹控制优化完成能量节省工作。本文将提出一种Energy Constraint A*算法,其为一种改进启发式搜索路径规划算法,简称ECA*算法。与文献[8]添加比例因子的方法不同,本文算法将利用距离-能量损耗模型作为路径搜索启发代价,在给定约束条件下,使用最佳优先搜索策略寻找到能量损耗最优路径。
1 路径规划的损耗问题
1.1 距离-能量损耗模型
为了计算移动机器人在行进过程中的能量损耗,构造了两点之间距离-能量损耗模型,通过迭代累计和一定的约束限制,即可计算出移动机器人在整条路径中的能耗。已知两点xx、yy的坐标,则xx点到yy点的损耗量可以表示为L⃗ (x,y)=(D(x,y),E(x,y))L→(x,y)=(D(x,y),E(x,y)) (1)式中 D(x,y)D(x,y)——xx、yy两点间的距离函数E(x,y)E(x,y)——xx、yy两点间的能量损耗函数考虑机器人移动时所克服的重力与摩擦力的影响,D(x,y)D(x,y)的计算方式为 [19]D(x,y)={∞(a(x,y)>αmax)d(x,y)(a(x,y)≤αmax)D(x,y)={∞(a(x,y)>αmax)d(x,y)(a(x,y)≤αmax) (2)式中 d(x,y)d(x,y)——xx、yy两点间的实际距离函数,采用欧氏距离进行计算a(x,y)a(x,y)——xx、yy两点间的仰角函数αmaxαmax——两点之间仰角的最大临界值E(x,y)E(x,y)的计算方式为[19]E(x,y)=⎧⎩⎨⎪⎪∞(a(x,y)>αmax)mgd(x,y)(μcosa(x,y)+sina(x,y))(a(x,y)≤αmax)E(x,y)={∞(a(x,y)>αmax)mgd(x,y)(μcosa(x,y)+sina(x,y))(a(x,y)≤αmax) (3)式中 mm——轮式机器人的质量与机载质量之和gg——重力加速度μμ——机器人与地面间的动摩擦因数在本文使用的算法中,两点的实际距离采用欧式距离进行计算。从式(2)与(3)中可以看出,当两点之间的角度超过最大临界值时,损耗量将变成无穷,所以为了减少能量的损耗,在搜索路径的过程中将会把上升坡度变化率过高的路径剔除。计算路径的损耗量时,假设在地图中存在一条可以从点psps到点pfpf的路径,则可将路径的总损耗量函数表示为L⃗ (ηpspf)=∑i=sf−1(D(ηpspf),E(ηpspf))L→(ηpspf)=∑i=sf−1(D(ηpspf),E(ηpspf)) (4)式中 ηpspfηpspf——行进中所走过路径(点的集合)[20]当有s≤i
1.2 距离-能耗约束
使用距离-能量损耗模型搜索路径时,距离的成本为行进时间,路径越长则耗费的时间越多,能量的成本为轮式机器人的电量。若只考虑距离的影响,则可能会造成电池能大量的浪费,若只考虑能量的损耗,则可能会大大增长完成路径的时间。所以在路径搜索过程中要兼顾两者。在从点psps到点pfpf的路径搜索过程中,可定义距离-能耗约束为C⃗ (ps,pf)=(cd,ce)C→(ps,pf)=(cd,ce) (7)式中 cdcd——距离的约束值cece——能量损耗的约束值,表示供电量的最大值假设算法搜索到路径ηpspfηpspf,路径损耗如式(4)所示,当且仅当{D(ηpspf)≤cdE(ηpspf)≤ce{D(ηpspf)≤cdE(ηpspf)≤ce (8)成立时,路径ηpspfηpspf可以得到保留,否则将此路径剔除。
2 算法改进
2.1 传统A*算法
传统的A*算法[21,22]是一种启发式搜索算法,具有最优性、完备性和高效性等优点[23]。A*算法的代价函数为f(n)=g(n)+h(n)f(n)=g(n)+h(n) (9)式中 f(n)f(n)——当前节点总启发式代价g(n)g(n)——起始点到当前点的实际代价h(n)h(n)——当前点与目标点的估计代价该算法的原理是从起始点开始,对周围的节点进行扩散,通过启发函数计算得到具有最小启发代价的点作为子节点,并将子节点移入到Close_list中,而其他已搜索到非最优的子节点则移至Open_list中,不断重复该过程直到搜索到目标点,最后通过回溯得到一条最优路径。虽然传统A*算法能够高效地找出最短路径,但是并没有考虑到机器人实际上的运动和消耗,最短路径同时也意味着机器人在行进过程中需要经历快速持续的地形变化以及大功率的输出,反而会造成更多的能量损耗。
推荐阅读:《青海草业》(季刊)创刊于1992年,是由青海省草原学会,青海省草原总站主办的草业刊物。
转载请注明来自发表学术论文网:http://www.fbxslw.com/nylw/18568.html