关键词:A*算法;动态窗口法;能耗模型
中图分类号:TP301 文献标识码:A
文章编号:1009-3044(2024)26-0028-03开放科学(资源服务)标识码(OSID) :
0 引言
移动机器人路径规划是机器人实现自主移动的关键技术之一。通过合理的路径规划,机器人能够找到从起点到终点的最优或近似最优路径,从而减少移动时间,提高整体工作效率。路径规划能够帮助机器人避开障碍物和危险区域,确保机器人在移动过程中的安全性。然而,机器人需要在各种复杂环境中进行移动,包括动态变化的环境、未知环境等,这对路径规划算法的实时性和鲁棒性提出了很高的要求。针对上述问题,本文提出一种基于改进A*算法和动态窗口法的能耗优化路径规划方法,旨在降低机器人的能耗,提高运动效率。
1 能耗模型建立
移动机器人的能耗受地面坡度、摩擦系数、电机效率等多种因素影响[1]。为了准确描述机器人的能耗情况,本文建立了基于这些因素的能耗模型。该模型将机器人的运动轨迹划分为多个局部目标点,并计算从当前轨迹运动到预定轨迹的能量消耗。能量消耗包括变状态能耗和稳定状态能耗两部分,分别用于描述机器人运动状态的改变和克服地面摩擦力所需的能量[2]。
在考虑移动机器人的运动模型时,基于其当前的位置、航向角以及选定的速度和角速度来预测下一时刻的位置。给定机器人当前的位置为(x,y),航向角为θ,以及选取的评分最高的速度v和角速度ω,利用这些参数和短采样时间间隔Δt来建立机器人的运动模型。
由于采样时间间隔Δt很短,可以合理地假设机器人在这个时间段内做匀速直线运动(同时考虑其航向的变化,即旋转)。这个假设允许使用简单的线性方程来近似机器人在Δt内的运动。
2 融合改进 A* 算法与动态窗口法的路径规划方法
2.1 A* 算法原理及分析
A*算法是一种经典的启发式图搜索算法,用于寻找图中起始节点到目标节点的最优路径。它结合了Dijkstra算法的确保性(保证找到一条最短路径)和贪心算法的高效性(快速找到目标)。A算法通过评估函数f(n) = g(n) + h(n)来工作,其中f(n)为总代价,g(n)是从起始点到任何顶点n的实际成本,而h(n)是从顶点n 到目标的估计最低成本[3]。
相较于其他搜索算法,A算法以其较快的搜索速度脱颖而出,这主要得益于其采用的启发式函数。通过启发式函数,A算法能够智能地评估每个搜索节点的潜在价值,从而有效减少不必要的路径搜索,极大地缩短了搜索路径的数量。这一特性使得A*算法在处理大规模搜索问题时展现出极高的效率,能够迅速找到从起始点到目标点的最短路径[4]。
然而,值得注意的是,尽管A算法在求解最短路径问题上表现出色,但它也面临着一定的局限性。具体而言,传统的A算法主要聚焦于寻找最短路径,而未能充分考虑到诸如能耗这样的额外优化目标[5]。在实际应用中,仅仅追求路径最短可能并不足以满足所有需求,特别是当能耗成为重要考量因素时。因此,传统A算法在能耗最优规划方面的表现就显得力不从心了。为了克服这一局限,研究者们提出了多种改进策略,旨在将能耗等额外优化目标融入A算法的搜索过程中,以实现更加全面和高效的路径规划[6]。
2.2 融合算法设计
2.2.1 融入机器人尺寸考量
在传统的动态窗口法(DWA) 中,路径规划往往忽视了移动机器人的实际尺寸,仅依据轨迹与障碍物之间的最近距离作为避碰依据,这可能导致在实际行驶过程中机器人与障碍物发生碰撞。为克服这一缺陷,本文提出了一种优化策略,即引入移动机器人的尺寸信息。具体而言,根据机器人的几何中心坐标及其尺寸参数(如长度、宽度),计算出机器人4个顶点的坐标,进而构建出一个矩形轮廓。随后,对该轮廓进行离散化处理,生成一系列轮廓点集。在评估路径时,计算这些点集内各点与最近障碍物之间的距离D(v,ω),并将该距离进行归一化处理后,替换原有的距离度量d(v,ω)融入评价函数中。这样,评价函数便能够基于移动机器人轮廓与障碍物之间的实际间隙来评估路径的优劣,有效避免了因忽略机器人尺寸而导致的碰撞风险。如图1所示,当机器人尺寸较小时,算法可能允许其通过狭窄通道;而当机器人尺寸较大时,则会倾向于选择绕行路径,以确保安全通行。
2.2.2 转弯半径约束的加强
鉴于移动机器人的机械结构限制,其路径规划还需满足特定的最小转弯半径要求。为此,在评价函数中加入了转弯半径作为新的约束条件。转弯半径r 可由速度v 与角速度ω 的比值计算得出(r=v/ω) 。通过将这一约束条件归一化后并入评价函数,能够在评估轨迹时充分考虑到机器人的转弯能力,从而避免生成超出其物理限制的路径。这一改进不仅提升了路径的可行性,还进一步增强了评价函数的全面性和准确性。
结合上述优化策略,构建了如下的优化评价函数:
G(v,ω)=σ(α⋅h(v,ω)+β⋅D(v,ω)+γ⋅o(v,ω)+δ⋅r(v,ω))
其中,δ 为评价函数的系数。
为了同时获得全局路径的最优性和局部避障的灵活性,本文将A算法与动态窗口法进行了有效融合。A算法负责在全局范围内搜索出从起点到终点的最优路径,而动态窗口法则在此基础上进行局部调整,以应对环境中的动态变化和未知障碍。这种融合策略不仅保留了A*算法的全局规划能力,还充分利用了DWA的实时避障优势,从而实现了更加高效、安全的路径规划。融合改进后的路径规划算法流程如图2所示。
3 仿真实验与结果分析
为验证本文改进A*算法的可行性和有效性,在空旷和密集2种环境下分别用传统A*算法、与本文改进A*算法进行对比仿真实验。其具体数据如表1~表2所示。
仿真实验结果表明,与传统A*算法相比,本文所提出的融合路径规划方法可降低能耗43.88%,机器人在动态环境中能够有效避障,运动更加平顺。这证明了本文所提出的能耗优化路径规划方法的有效性。
分析图3、表3及表4提供的数据,可以明确融合算法在开阔与密集环境条件下均展现出卓越的路径规划效能。该算法不仅有效克服了传统A算法路径不平滑的弊端,还确保了规划任务的圆满完成。尽管为提升路径平滑度而稍作调整,导致能耗较改进A算法分别增加了约2.60%和1.52%,但相较于未经优化的传统路径,其能耗节省效果依然显著,分别达到了约43.88%和33.28%,这一成就极为可观。
在图4的展示中,(a)与(b)两组图像直观反映了机器人在面对首个及第二个动态障碍物时的实时情景及其抵达终点时的状态。在这些挑战场景下,动态障碍物以不同的速度(0.80 m/s与0.50 m/s) 进行往复移动,要求机器人具备高度的灵活应变能力。得益于算法中引入的基于机器人轮廓至障碍物距离的评估机制及转弯半径的严格约束,机器人在规避障碍时展现出了极高的敏捷度与精确性,路径偏移得以有效控制且整体保持流畅。与传统A*算法生成的路径相比,本算法在空旷与密集环境中分别实现了能耗的显著节省,具体数值为42.56%和32.39%。
4 结论
本文提出了一种能耗优化的移动机器人路径规划方法,通过融合改进A*算法与改进动态窗口法,实现了在能量有限的情况下实现实时避障和全局最优路径规划。仿真实验结果表明,该方法能够显著降低机器人的能耗,提高运动效率。未来,将进一步研究如何将该方法应用于实际场景中的移动机器人,以推动移动机器人领域的发展。