S04
路径规划:从 A* 到 DWA
高中 · 10–12 年级 · 10 课时 × 40–45 分钟
核心问题:全局最优与局部安全冲突时,机器人怎样决策?
项目目标
- 能实现 A* 并在栅格地图上求全局路径
- 理解 DWA 的采样、评价与约束
- 能针对扫地场景设计覆盖规划
领域落点
AI:规划是决策层的核心,连接感知与执行
硬件:底盘、雷达、上位机
算法:Dijkstra、A*、DWA、覆盖规划
10 课时大纲
2 + 6 + 2| 课次 | 课题 / 驱动问题 | 关键知识点 | 学生任务 | 产出 |
|---|---|---|---|---|
| L01 | 问题建模 怎样把“走过去”变成数学问题? | 构型空间;栅格代价;运动学约束 | 把场地转成带代价的栅格,定义起点、终点与禁止区,讨论代价设计。 | 代价地图 |
| L02 | Dijkstra 与 A* 为什么 A* 更快? | 图搜索框架;启发函数 h(n);可采纳性与最优性 | 实现 Dijkstra 与 A*,在 3 张地图上对比扩展节点数与耗时。 | 搜索算法对比 |
| L03 | 启发式与代价设计 直线距离总是好启发吗? | 曼哈顿/欧氏/对角距离;权重 A*;代价膨胀 | 测试不同启发函数与障碍膨胀半径,观察路径贴墙程度与安全性。 | 参数实验表 |
| L04 | 路径平滑 折线路径怎样变成可执行轨迹? | 拐角优化;贝塞尔/B 样条;曲率约束 | 对 A* 路径做切角与样条平滑,比较长度、最大曲率与可跟踪性。 | 平滑轨迹 |
| L05 | DWA 局部规划 走一步看一步怎样保证安全? | 速度采样空间;前向模拟;评价函数(朝向/距离/速度) | 实现简化 DWA,在动态障碍场景调三组权重并记录碰撞率。 | DWA 实现 |
| L06 | 动态障碍 人会动,路径也要会变 | 预测与重规划;安全距离;急停策略 | 加入移动障碍,比较“固定路径+急停”与“滚动重规划”的成功率。 | 动态避障报告 |
| L07 | 覆盖规划 扫地机器人的路径和导航有何不同? | 牛耕/回字/螺旋;分区覆盖;覆盖率与重复率 | 在含家具地图上实现分区牛耕覆盖,统计覆盖率、重复率与转弯次数。 | 覆盖规划结果 |
| L08 | 多目标权衡 时间、能耗、安全能同时最优吗? | 多目标优化;帕累托前沿;权重设计 | 对时间/能耗/风险三目标做加权实验,画出帕累托前沿并选一组参数。 | 权衡分析 |
| L09 | 基准测试 用数据说话 | 基准地图集;指标与复现;显著性 | 在 6 张标准地图上跑 3 种算法,输出成功率、路径长度、耗时与碰撞次数。 | 基准测试报告 |
| L10 | 优化报告 从“能跑”到“跑得好” | 瓶颈分析;算法/工程优化;回归测试 | 选一个瓶颈做优化(如缓存、并行、采样),报告提升幅度并做回归测试。 | 优化报告 |
说明:本页是教程副本(大纲级),不是完整课件。完整课件、教案、学案、代码与仿真场景按学校进度单独导出。