局部规划中的TEB,DWA,EGOplanner等算法在自动驾驶中应用?

先给结论:
TEB、DWA 属于移动机器人经典局部规划器,在低速园区/清扫/巡检上成熟,但在矿区矿卡、高速自动驾驶中极少直接做主规划;Ego-Planner 是近年优秀的轻量型自主避障规划器,在无人车、机器人均有落地,但矿卡重载场景仍需改造。

下面分算法讲适用场景、在自动驾驶中的真实地位、矿区矿卡是否可用


一、DWA (Dynamic Window Approach)

原理

  • 速度空间(v, ω)采样
  • 前向模拟轨迹 + 代价函数(距离障碍、朝向、目标点)
  • 选最优速度指令,纯局部、反应式

在自动驾驶中的应用

  • 几乎不用在乘用车/矿卡主规划
  • 适用:低速、差速/阿克曼小型车(园区接驳、机器人、无人配送车 < 10--15km/h)
  • 缺点:
    • 本质是局部反馈控制,缺乏长预瞄和全局拓扑意识
    • 难以处理非完整约束+重载+坡道
    • 高速下稳定性差,无平滑性/ jerk 保证

矿区矿卡结论

不适合直接做主局部规划,最多可做极低速度对位时的辅助微调。


二、TEB (Timed Elastic Band)

原理

  • 把轨迹看成一串带时间约束的弹性节点
  • 优化:路径长度、障碍物惩罚、时间间隔、动力学约束
  • 可输出带时间戳的轨迹,比 DWA 更像"轨迹规划"

在自动驾驶中的应用

  • 主流使用:ROS 移动机器人、AGV、园区场内车
  • 自动驾驶落地:
    • 低速封闭园区接驳车有少量使用
    • 高速/矿区/重卡 几乎不用
  • 优点:相对平滑、支持约束多、配置灵活
  • 缺点:
    • 优化自由度高,调参复杂、容易震荡/不收敛
    • 重载、大延迟、强耦合动力学建模不足
    • 实时性随轨迹点增多明显下降

矿区矿卡结论

  • 研究/验证 ,但不适合量产主规划
  • 若要使用,必须重写动力学、坡道、载重模型,并做硬实时剪枝与安全兜底。

三、Ego-Planner

原理

  • 基于梯度优化 + 自由空间多项式
  • 前端快速生成安全轨迹,后端优化平滑与可行性
  • 轻量、实时、支持三维/二维,在无人机、地面无人车都火

在自动驾驶中的应用

  • 优势:
    • 计算轻、实时性好
    • 避障能力强,对非结构化环境友好
    • 易于和全局路径、地图代价场结合
  • 落地:
    • 无人小巴、园区车、越野无人车较多
    • 乘用车高速 NOA 少(更偏好 MPC / Lattice + QP)
    • 矿区处于可落地改造区间

矿区矿卡适配性

  • 更适合做局部避障规划器
  • 需要补充/改造:
    • 矿车阿克曼+最小转弯半径约束
    • 重载纵向动力学、坡道、附着极限
    • 速度规划与 jerk 约束
    • 安全冗余与多候选备份

结论

Ego-Planner 在矿区是比较有潜力的候选,比 DWA/TEB 更适合做矿卡局部规划主干。


四、三者横向对比(自动驾驶视角)

算法 典型平台 速度区间 自动驾驶认可度 矿区矿卡适用性
DWA 机器人、AGV < 10--15 km/h 很低
TEB 园区AGV/小车 < 15--20 km/h 中低 中低(需大改)
Ego-Planner 无人机/无人车 中低速均可 中高 中高(可改造量产)

五、回到矿区矿卡:应该怎么用?

现实量产路线(主流厂商不会直接用原生TEB/DWA)

  1. 主干用
    • Lattice Planner
    • Hybrid A* + 后优化
    • Ego-Planner 改造版
    • MPC 规划
  2. TEB/DWA 定位
    • 仅作为低速对位、极小范围纠偏、应急兜底的备选模块
    • 不做主链路

推荐组合(工程友好)

  • 全局路径 + Ego-Planner / Lattice 做局部轨迹生成
  • 后端 QP/SQP/MPC 做平滑与动力学约束
  • DWA/TEB 可保留为安全 fallback 模块(极低速度场景)

六、总结一句话

  • DWA/TEB :机器人时代产物,自动驾驶里低速园区有用,矿卡基本不用
  • Ego-Planner :现代轻量避障规划器,矿卡局部规划有改造价值
  • 矿区量产主流依然是:Lattice、Hybrid A、MPC、采样+优化融合*。

如果你需要,我可以给出:

  1. Ego-Planner 适配矿卡的改造点清单
  2. TEB/DWA 在矿卡中仅适合的功能范围
  3. 一套矿区局部规划的算法架构选型与接口设计
相关推荐
阿猿收手吧!1 小时前
【C++】Ranges 工厂视图与投影机制
开发语言·c++
阿杰学AI1 小时前
AI核心知识99——大语言模型之 Agent Skill(简洁且通俗易懂版)
人工智能·ai·语言模型·aigc·agent·agent skill·智能体技能
哈基咩1 小时前
从零搭建校园活动平台:go-zero 微服务实战完整指南
开发语言·微服务·golang
求真求知的糖葫芦1 小时前
巴伦学习(三.一)一种可以实现阻抗变换的平面Marchand巴伦的公式推导学习笔记(下)(自用)
笔记·学习·平面
AI科技星1 小时前
张祥前统一场论 22 个核心公式及常数
服务器·人工智能·线性代数·算法·矩阵·概率论
苏婳6661 小时前
阿里巴巴校招软件笔试题经典
算法
wangxinwei20001 小时前
android开机动画深入开发学习
学习
前端程序猿i1 小时前
第 3 篇:消息气泡组件 —— 远比你想的复杂
开发语言·前端·javascript·vue.js
一晌小贪欢1 小时前
Python在物联网(IoT)中的应用:从边缘计算到云端数据处理
开发语言·人工智能·python·物联网·边缘计算