该路径规划项目共包含两个主要版本:
配置文件路径:config/algorithm_config.yaml
system
: 使用不同算法的编号
destination
: 定义目标点的 ID 列表
map
: 指定使用的地图文件
pseudo
:
1
: 仅规划起点到终点0
: 多目标路径规划src/main
可执行文件完成;.csv
文件(保存在 experiments/
文件夹中);plot_result.py
可生成可视化对比曲线,展示多个指标下的三种算法表现;.csv
文件放入脚本指定路径才能正确绘图。launch/osm.launch
;driver_mode = 1
:使用 algorithm_config.yaml
中定义的目标点;driver_mode = 0
:用户在 RViz 中手动打点生成路径;driver_mode
后需重新 catkin_make
;num_objectives
仅在 driver_mode=0
时生效;destination
参数设置。experiments/
文件夹中对应的 .csv
文件。寻找一个旅行商经过所有城市一次并返回起点的最短路径,是组合优化与图论的重要问题。
在路径规划中,陷阱指的是算法陷入局部最优解,无法走出当前区域或错误路径。
✅ 本质是提升算法在复杂环境下的灵活性与鲁棒性。
编号 | 区别点说明 |
---|---|
① | RRT* 随机全图采样,IMOMD-RRT* 仅在道路上可能的点进行采样 |
② | IMOMD 从路径中途的可扩展点采样作为 Vrand,而非直接从树中节点采样 |
③ | 给 Vnew 节点重新选择最优父节点,最小化总成本 |
④ | 使用跳点搜索(Jump Point Search)加速树扩展 |
⑤ | 对邻域节点进行重新布线以优化树结构 |
⑥ | 若某点连接了两棵树,该点被视为连接点(桥接) |
虽然 RRT* 可生成有权图,但:
map_server
节点发布 /map
静态地图;
若不启动 map_server
,/map
话题为空;
move_base
核心导航模块,依赖 /map
;
/map
,生成 全局/局部代价地图;/map
,则无法生成有效代价地图。cartographer
自带的 .pbstream
发布 /map
;.pgm
+ map_server
,Cartographer 定位慢、误差大;修改 cartographer 初始定位教程:传送门
名称 | 功能 |
---|---|
静态地图层 | 显示全局障碍 |
障碍物地图层 | 实时探测障碍 |
膨胀层(inflation) | 扩大障碍半径,保障路径安全 |
全局代价地图:
局部代价地图:
amcl
初始位置可通过 RViz 中的“2D Pose Estimate”手动设定;driver_mode
或目标点后记得重新 catkin_make
;.csv
输出路径文件可用于后续路径指标评估和绘图;