演讲提纲:多机器人仓储协同调度与避碰
开场
老师好,我这次汇报的是 warehouse_robot_coordination 模块,也就是多机器人仓储协同调度与避碰演示项目。
这个项目模拟智能仓储环境中多台机器人同时执行取货和投放任务,重点解决任务分配、路径规划、路径冲突和时空避碰问题。
为什么做这个项目
之前单机器人路径规划只需要考虑一台机器人从起点到终点。但在真实仓库中,通常有多台机器人同时工作。如果每台机器人只顾自己的最短路径,就可能在窄通道中发生冲突。
所以这个项目关注的是多机器人协同,而不是单机器人导航。
项目结构
项目位于:
src/warehouse_robot_coordination/
主要文件包括:
warehouse.py:仓库地图、机器人和任务定义。planner.py:A* 路径规划、任务分配和单机器人基线。scheduler.py:冲突检测和等待避碰。visualization.py:生成图片、图表和 GIF。main.py:项目运行入口。tests/test_coordination.py:测试文件。
核心流程
项目运行流程是:
- 构建仓库地图。
- 放置 4 台机器人和 6 个取货投放任务。
- 按任务优先级进行任务分配。
- 使用 A* 规划机器人到取货点和投放点的路径。
- 检测多机器人路径中的冲突。
- 对冲突机器人插入等待动作。
- 输出图片、图表、GIF 和指标文件。
展示顺序
汇报时建议按这个顺序展示:
- 仓库任务分布图:说明地图、机器人和任务。
- 多机器人路线图:说明任务分配和路径规划。
- 负载均衡图:说明多机器人方案优于单机器人基线。
- 冲突消除图:说明冲突从 1 个降到 0 个。
- 执行时间线图:说明多机器人按时间有序执行。
- GIF 动图:展示机器人协同运行过程。
运行结果
运行命令:
cd src/warehouse_robot_coordination
python main.py
运行结果:
Robots: 4 Tasks: 6
Total planned distance: 176
Scheduled makespan: 64
Single robot baseline distance: 261
Conflicts before/after: 1 -> 0
Inserted waits: 3
结果分析
多机器人协同后,计划总距离为 176,调度后 makespan 为 64,而单机器人完成全部任务需要 261 步。
这说明多机器人协作能够明显减少整体完成时间。
冲突检测发现原路线中有 1 个冲突,通过插入 3 次等待动作,最终冲突数量降为 0,说明调度器能够处理多机器人路径冲突。
项目价值
这个项目的价值在于:
- 它是一个完整工程模块,不是单个脚本。
- 它更接近真实仓储机器人调度问题。
- 它包含算法、测试、指标和可视化结果。
- 后续可以扩展到 ROS、Gazebo、Webots 或真实 AGV 调度系统。
结尾
我的汇报到这里结束。后续可以继续加入任务截止时间、电量约束、充电站调度和更复杂的 CBS 多智能体路径规划算法。