diff --git a/zh-cn/hardware_vision_scheduling.md b/zh-cn/hardware_vision_scheduling.md index b7c8a4e..f36f31f 100644 --- a/zh-cn/hardware_vision_scheduling.md +++ b/zh-cn/hardware_vision_scheduling.md @@ -4,59 +4,94 @@ 本文档描述了硬件视觉调度系统的完整时序流程,展示了从调度车托料完成到最终调度至立锯的全过程。 -## 时序流程图 +## 上位机控制时序流程图 ```mermaid -flowchart TB - %% 初始阶段 - A[调度车托料完成] +sequenceDiagram + autonumber + participant 调度车 + participant 上位机 + participant 下位机 + participant 侧面相机 + participant 视觉相机 + participant 视觉算法 - %% 视觉定位阶段 - A --> B[上位机发送取中拍照指令] - B --> B1[侧面相机计算对中坐标] - B1 --> C[等待中心坐标结果] - C --> D[写入下位机顶中坐标
顶针对中顶料] + %% 为每个参与者设置不同颜色 + box rgb(173, 216, 230) 硬件调度系统 + participant 调度车 + end + box rgb(255, 218, 185) 控制系统 + participant 上位机 + participant 下位机 + end + box rgb(221, 160, 221) 视觉系统 + participant 侧面相机 + participant 视觉相机 + end + box rgb(152, 251, 152) 算法系统 + participant 视觉算法 + end - %% 物理定位阶段 - D --> E[顶料至预定位置
上位机发送扫描指令至下位机] + Note over 调度车,视觉算法: 系统初始化阶段 + 调度车->>上位机: 托料完成 - %% 并行分支:三方同时执行 - E --> F[上位机等待扫描完成指令
下位机扫描完成] - E --> G[下位机硬触发视觉相机扫描动作] - E --> G1[发送原木长度与顶针至原木端面预留长度至视觉算法
推送工单信息: 规格\等级...] + Note over 调度车,视觉算法: 视觉定位阶段 + 上位机->>侧面相机: 发送取中拍照指令 + 侧面相机->>侧面相机: 计算对中坐标 + 侧面相机->>上位机: 返回中心坐标结果 + alt 超时重试 + 上位机-->>侧面相机: 超时重试请求 + 侧面相机-->>上位机: 返回坐标 + end + 上位机->>下位机: 写入顶中坐标 + 下位机->>下位机: 顶针对中顶料 - %% 视觉算法处理 - G --> G2[视觉算法] - G1 --> G2 - G2 --> H[等待视觉算法结果] + Note over 调度车,视觉算法: 物理定位与扫描准备阶段 + 下位机->>下位机: 顶料至预定位置 + 上位机->>下位机: 发送扫描指令 + alt 超时重试 + 上位机-->>下位机: 超时重试扫描指令 + end - %% 算法结果分支 - H --> H1[建模完成] - H --> H2[算法完成] + Note over 调度车,视觉算法: 并行扫描处理阶段(三方并行) + par 上位机等待扫描完成 + 上位机->>下位机: 等待扫描完成指令 + 下位机->>上位机: 扫描完成通知 + alt 超时重试 + 上位机-->>下位机: 超时重试等待 + end + and 下位机硬触发相机 + 下位机->>视觉相机: 硬触发扫描动作 + and 发送算法参数 + 上位机->>视觉算法: 发送原木长度与顶针预留长度 + 上位机->>视觉算法: 推送工单信息(规格/等级等) + end - %% 四路汇聚 - F --> I[返回视觉算法数据
写入下位机算法旋转角度] - G --> I - H1 --> I - H2 --> I + Note over 调度车,视觉算法: 视觉算法处理阶段 + 上位机->>视觉算法: 触发视觉算法处理 + 视觉相机->>视觉算法: 提供扫描数据 + 视觉算法->>视觉算法: 算法处理中 + 视觉算法->>上位机: 等待算法结果 + alt 超时重试 + 上位机-->>视觉算法: 超时重试请求 + end - %% 后续流程 - I --> J[下位机执行旋转完成切割角度旋转] - J --> K[调度车取料
写入算法规划图] - K --> L[下发调度指令
调度至立锯] + par 算法结果输出 + 视觉算法->>上位机: 建模完成 + and 算法完成 + 视觉算法->>上位机: 算法完成 + end - %% 超时重试机制(非主流程) - C -.->|超时| C_retry[超时重试] - C_retry -.-> C + Note over 调度车,视觉算法: 数据汇聚与处理阶段 + 上位机->>上位机: 返回视觉算法数据 + 上位机->>下位机: 写入算法旋转角度 - E -.->|超时| E_retry[超时重试] - E_retry -.-> E - - F -.->|超时| F_retry[超时重试] - F_retry -.-> F - - H2 -.->|超时| H_retry[超时重试] - H_retry -.-> H + Note over 调度车,视觉算法: 旋转与调度执行阶段 + 下位机->>下位机: 执行旋转完成切割角度旋转 + 调度车->>调度车: 取料 + 上位机->>调度车: 写入算法规划图 + 上位机->>调度车: 下发调度指令 + 调度车->>调度车: 调度至立锯 ``` ---