一、 引言:移动机器人路径规划概述
规划层级划分:
全局路径规划(Global Path Planning):解决“怎么走”的大趋势,侧重全局静态已知地图。
局部路径规划(Local Path Planning):解决“怎么避障”的实时问题,侧重动态环境与机器人动力学。
A*与DWA的角色定位:
A*算法:经典的全局路径规划算法。
DWA算法:高效的局部路径规划与避障算法。
二、A*算法技术剖析
1. 核心数学原理
启发式评价函数:F(n) = G(n) + H(n)
G(n):从起点到当前节点n的实际代价。
H(n):当前节点n到终点的估计代价(曼哈顿距离、欧氏距离、切比雪夫距离的选择与影响)
2. 技术优缺点分析
优势:完备性与最优性(在满足 H(n)
h*(n) 的条件下);能够找到全局最优化解。
劣势:计算量随地图增大呈指数级增长;生成的路径通常为折线,未考虑机器人实际的物理运动学约束(如速度、加速度、转弯半径)。
三、 DWA(Dynamic Window Approach)算法技术剖析
1. 核心原理与工作机制
速度空间采样:在机器人的速度空间中进行离散采样。
动态窗口约束:基于机器人当前速度和最大加减速度,限制下一时刻的可达速度范围。
轨迹预测:假设机器人以采样速度运行一小段时间,推演其未来的运动轨迹(通常基于前向运动学)。
2. 技术优缺点分析
优势:直接输出控制指令;严格考虑机器人动力学约束;能够实时避开动态障碍物。
劣势:属于局部优化算法,容易陷入局部极小值(如死胡同、U型弯);缺乏大局观。
四、 典型应用架构:A* + DWA 协同机制
1. 经典的“全局-局部”双层导航架构
A* 算法作为
Global Planner,定期或在环境剧烈变化时计算出一条全局最优路径。DWA 算法作为
Controller/Local Planner,将 A* 的全局路径作为引导,实时生成控制指令。
2. 协同调优的关键技术点
剪枝与平滑处理:A* 产生的折线路径需经过多项式拟合(如B样条曲线)或悬崖过滤,使其更易被 DWA 追踪。
前瞻点(Look-ahead Point)的选择:DWA 评价函数中的 Heading 项通常不直接瞄准最终终点,而是瞄准 A* 路径上前方一定距离的“局部目标点”。
代价地图(Costmap)的融合:
Global Costmap(用于 A*):侧重静态障碍物与膨胀层。
Local Costmap(用于 DWA):滚动窗口(Rolling Window),高频更新雷达和相机采集的动态阻碍。
五、 MATLAB小案例
在MATLAB中建立栅格地图,黑色代表障碍物
通过A星算法规划出全局最优路径
A*算法与DWA算法结合,规划全局最优路径,并动态避开临时障碍物