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