演讲提纲:多机器人仓储协同调度与避碰

开场

老师好,我这次汇报的是 warehouse_robot_coordination 模块,也就是多机器人仓储协同调度与避碰演示项目。

这个项目模拟智能仓储环境中多台机器人同时执行取货和投放任务,重点解决任务分配、路径规划、路径冲突和时空避碰问题。

为什么做这个项目

之前单机器人路径规划只需要考虑一台机器人从起点到终点。但在真实仓库中,通常有多台机器人同时工作。如果每台机器人只顾自己的最短路径,就可能在窄通道中发生冲突。

所以这个项目关注的是多机器人协同,而不是单机器人导航。

项目结构

项目位于:

src/warehouse_robot_coordination/

主要文件包括:

  • warehouse.py:仓库地图、机器人和任务定义。
  • planner.py:A* 路径规划、任务分配和单机器人基线。
  • scheduler.py:冲突检测和等待避碰。
  • visualization.py:生成图片、图表和 GIF。
  • main.py:项目运行入口。
  • tests/test_coordination.py:测试文件。

核心流程

项目运行流程是:

  1. 构建仓库地图。
  2. 放置 4 台机器人和 6 个取货投放任务。
  3. 按任务优先级进行任务分配。
  4. 使用 A* 规划机器人到取货点和投放点的路径。
  5. 检测多机器人路径中的冲突。
  6. 对冲突机器人插入等待动作。
  7. 输出图片、图表、GIF 和指标文件。

展示顺序

汇报时建议按这个顺序展示:

  1. 仓库任务分布图:说明地图、机器人和任务。
  2. 多机器人路线图:说明任务分配和路径规划。
  3. 负载均衡图:说明多机器人方案优于单机器人基线。
  4. 冲突消除图:说明冲突从 1 个降到 0 个。
  5. 执行时间线图:说明多机器人按时间有序执行。
  6. 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 多智能体路径规划算法。