避障与路径规划算法浅析:从 A 到 DWA,哪种更适合自动跟随车?
在自动跟随车的智能系统中,“能不能精准地跟上人”只是第一步。真正的挑战在于——如何既能稳定跟随,又能在复杂环境中安全避障。这背后依赖的,正是路径规划与避障算法的设计与实现。本文将从经典的 A* 算法讲起,逐步解析到现代动态窗口法(DWA),探讨哪种算法更适合自动跟随车应用场景。
一、路径规划的两大核心任务
在自动跟随系统中,路径规划通常分为两部分:
- 全局规划(Global Planning):
负责从当前点到目标点的总体路线规划,通常基于静态地图。例如,A*、Dijkstra、D* Lite 等算法。 - 局部规划(Local Planning):
负责根据传感器数据实时调整轨迹,避开动态障碍物,保证运动平滑。例如 DWA、TEB、APF 等算法。
自动跟随车的特点是目标不断移动、环境实时变化,因此更依赖于局部规划与动态避障算法。
二、A*算法:经典而可靠的路径规划基石
A*(A-star)算法是路径规划领域的“老兵”。
它通过启发式搜索(Heuristic Search)在网格或节点图上找到代价最小的路径,代价函数定义为:
f(n)=g(n)+h(n)
其中:
g(n):从起点到当前节点的实际代价;
h(n):从当前节点到目标的启发式估计。
优点:
全局最优、路径平滑;
算法简单、稳定可靠。
缺点:
依赖静态地图;
计算量大,难以应对动态障碍。
在自动跟随场景中,A* 更适合作为“全局路径生成器”,为局部算法提供参考路线,而非独立使用。
三、DWA算法:实时避障的动态窗口法
DWA(Dynamic Window Approach)算法是局部路径规划的经典方案。
它基于机器人当前的速度和加速度约束,在速度空间中搜索一组可行速度,使得机器人能在短时间内安全运动并接近目标。
DWA 的核心思想是:
- 在当前速度和加速度限制下,预测短期内机器人可达的所有轨迹;
- 计算每条轨迹的代价函数:
Cost=α⋅Heading+β⋅Velocity+γ⋅Obstacle
- 选择代价最小的轨迹执行。
优点:
- 实时性强;
- 考虑动态避障与速度约束;
- 可与激光雷达、深度相机融合使用。
缺点:
- 需要良好的代价函数设计;
- 在狭窄环境中可能陷入局部最优。
对于自动跟随车来说,DWA 能很好地适应动态场景(如商场、机场、园区道路),是目前应用最广的避障算法之一。
四、A + DWA 的融合方案
在实际自动跟随车系统中,往往将两者结合使用:
- A* 负责全局路径规划(给出期望轨迹);
- DWA 负责局部避障与动态调整(实时修正路径)。
这样的融合能在复杂环境下实现:
- 稳定的全局导航;
- 实时的局部避障;
- 平滑自然的跟随行为。
PSICV 在自主移动平台中,采用了 A + DWA + 激光雷达/视觉融合* 的方案:
A* 提供参考路径,DWA 负责实时避障,而视觉模块补充环境感知,使跟随动作更加流畅与安全。
五、算法选择建议
| 应用场景 | 推荐算法 | 特点 |
| 室内固定环境(如商场、仓库) | A* + DWA | 全局路径规划清晰,避障灵活 |
| 户外开放场景(如园区道路) | DWA + 视觉避障 | 实时性高,鲁棒性强 |
| 动态目标跟随(如婴儿车、助步车) | DWA + UWB/视觉融合 | 目标跟随与安全避障平衡良好 |
结语
在自动跟随车技术的发展中,路径规划算法的选择不是“哪种最好”,而是“哪种最合适”。
A* 提供方向感,DWA 提供行动力,而多传感器融合(如 UWB + 视觉 + 激光雷达)则让机器具备“判断力”。
未来,随着深度强化学习与图神经网络的引入,自动跟随车的路径规划将更加智能与自适应。