多车调度系统上位机

多车调度系统上位机的核心,就是做一个**"车队大脑 + 交通警察 + 业务接口"**:

  • 上面接 MES/WMS/ERP,下面接各 AGV 单车上位机,
  • 左边管任务(谁干、何时干),右边管交通(谁先走、避撞、防死锁),
  • 再加上地图/模型、监控诊断、配置运维这几块支撑。

一、整体架构一图看懂

推荐一个5 层 + 2 侧的架构,和单车那套对得上,只是重心从"单车控制"变成"多车调度与交通":

二、各层职责 & 关键点

1. 地图与模型层(L1)

  • 地图 / 拓扑
    • 二维码/激光/SLAM 地图抽象成拓扑图:节点(站点、充电点、待命点)+ 边(路径段、单向/双向、限速、区域)
    • 支持多地图(车间、楼层、区域),方便分区调度。
  • 车型 / 充电 / 区域模型
    • 不同 AGV 类型(载重、速度、顶升/牵引)
    • 充电策略:低电自动回充、充电站占用规则
    • 区域划分:普通区、限速区、禁行区、门禁区、对头禁止区等
  • 参数配置
    • 调度参数:优先级规则、任务超时、重试策略
    • 交通参数:区域容量、锁定策略、死锁检测阈值

2. 单车代理层(L2)

  • 每台 AGV 在调度侧有一个代理(Agent) ,负责:
    • 维护本车状态:位置、速度、电量、故障、任务进度等
    • 下发/取消路径段、任务指令(目标点 + 操作)
    • 上报心跳、位置、传感器事件(避障、急停等)
  • 好处:
    • 对上层屏蔽不同品牌/协议差异,统一"AGV 代理接口"
    • 便于做模拟/仿真:用假 AGV 代理测调度算法。

3. 通信与状态层(L3)

  • 通信管理
    • 与 AGV 代理的通信:MQTT / WebSocket / 自定义 TCP / DDS 等
    • 与 MES/WMS:REST / OPC UA / MQTT / Web
    • 与现场设备:Modbus / PLC / IO 模块(联动门、输送线)
  • 实时状态 / 位置
    • 维护全场 AGV 位置(站点 / 坐标)、路径占用、区域锁定
    • 常用 Redis / 内存数据库做位置索引,支持快速区域查询
  • 日志 / 报警 / OTA
    • 任务日志、状态变更、报警记录
    • 远程升级、参数下发电台。

4. 调度与决策层(L4)------ 核心

这一层就是"多车调度系统上位机"的大脑,一般分为三大模块:任务、车辆、路径/交通。

4.1 任务管理(TM)
  • 功能:
    • 接收 MES/WMS 订单,拆成 AGV 任务(搬运/充电/移库)
    • 任务队列:优先级、FIFO、插队、挂起、取消
    • 任务状态机:Created → Queued → Assigned → Running → Finished / Failed
  • 关键设计:
    • 任务 ID + 优先级 + 截止时间 + 起始/目标工位 + 关联订单号
    • 支持任务模板(常见搬运流程),减少上层传参复杂度。
4.2 车辆管理(VM)
  • 功能:
    • 维护所有 AGV 的状态模型:空闲/忙碌/故障/充电/离线
    • 根据任务 + 车辆状态做匹配:选哪台车、何时去、是否需要先充电
    • 充电调度:低电→回充,高电→接任务,避免"全跑光没人充电"
  • 选车策略(常见):
    • 最近优先(距离/时间最短)
    • 电量优先(保证续航)
    • 均衡利用率(避免有的车累死,有的车闲着)
    • 指定车辆(某些任务必须特定 AGV 执行)
4.3 路径与交通管理(PM)
  • 路径规划
    • 基于拓扑图做全局路径:Dijkstra / A*,边权重可以是距离 + 时间 + 拥堵度
    • 支持动态重规划:AGV 故障/路堵时自动换路。
  • 交通管制 / 避撞 / 防死锁
    • 区域锁定:AGV 进入某区域时锁定,其他车等待
    • 交叉路口 / 对头禁行区域:按优先级或先到先过
    • 死锁检测与恢复:发现环形等待时,调整路径或让某台车退让
  • 常见策略:
    • 基于时间窗/资源预留(IDRR 等):给 AGV 预约"路段 + 时间窗",避免冲突
    • 优先级 + 避让点:高优先级任务优先通行,其他车在避让点等

5. 业务与接口层(L5)

  • MES/WMS/ERP 接口
    • 任务下达 / 修改 / 取消
    • 任务执行结果回报
    • AGV 状态 / 任务状态查询
  • 监控 UI / 大屏
    • 实时地图 + AGV 位置 + 路径 + 任务状态
    • 报警、KPI(利用率、任务完成率、平均响应时间等)
  • 仿真 / 回放
    • 用历史数据回放运行情况,验证调度策略
    • 新算法先在仿真环境跑,再上现网。

6. 横切:安全与运维(Side)

  • 安全策略 / 权限
    • 急停联动:调度层急停 → 所有 AGV 停车,并标记任务异常
    • 区域安全:人车混行区限速、禁行;门禁联动
    • 操作权限:谁可以手动改任务、谁可以远程控车
  • 备份 / 归档 / 升级
    • 地图/配置/任务日志归档,支持回溯
    • 调度服务主备/集群,避免单点故障
    • 灰度升级调度服务,先在部分 AGV 代理上验证。

三、集中式 vs 分布式调度怎么选?

架构 特点 适用场景
集中式调度 一个调度器全局决策,简单易实现,但单点风险、扩展性有限csdn.net+1 AGV 数量 < 50,任务复杂度一般
分布式调度 按区域/车间划分多个调度器,协调跨区任务,扩展性好,但协调复杂csdn.net 大规模(50~200+)、多车间、多品牌混合
混合式 区域自治 + 中心协调,现实中最常见 中大型项目

工程上建议:从小规模集中式起步,预留分布式扩展能力(按区域划分调度实例,中心负责跨区协调)。

四、典型技术栈参考

很多成熟 RCS 采用类似组合:

  • 后端:Java / SpringBoot + MySQL + Redis
  • 前端:Vue / React + 大屏可视化
  • 通信:MQTT(车端) + REST(MES/WMS) + WebSocket(实时推送)
  • 实时位置与拥堵:Redis GEO / 内存网格
  • 消息队列:Kafka / RabbitMQ 做任务/事件流,压测表明可显著降低延迟

五、和"单车上位机"的边界

  • 单车上位机
    • 负责"我怎么去":局部避障、轨迹跟踪、实时安全逻辑;
  • 多车调度上位机
    • 负责"谁去、何时去、走哪条大路线、怎么避让",
    • 把"路径段 + 目标点 + 操作"下发给单车,单车再自己做局部跟踪和避障。
相关推荐
见行AGV机器人20 天前
AGV中上位机
非标定制agv·agv控制器
见行AGV机器人20 天前
AGV单车上位机软件架构
非标定制agv·agv控制器·麦轮agv
见行AGV机器人1 个月前
AGV中工控机有什么用?
单片机·嵌入式硬件·非标定制agv·agv控制器
见行AGV机器人2 个月前
本质安全型防爆AGV
人工智能·安全·agv·非标定制agv·agv控制器·麦轮agv
见行AGV机器人2 个月前
AGV 无线通信
人工智能·agv·非标定制agv·agv控制器
见行AGV机器人2 个月前
AGV 自动充电是什么
agv·非标定制agv·agv控制器
见行AGV机器人2 个月前
AGV小车如何实现多机调度
agv·agv控制器
见行AGV机器人2 个月前
无人机脉动线中的AGV小车
人工智能·无人机·agv·非标定制agv