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