跳转至

总体架构

系统分层

系统由五大模块组成,形成从感知到执行的完整闭环。

完整版架构(目标)

graph TB
    subgraph 感知层
        CAM[RTSP 网络摄像头] --> YOLO[YOLO 器械检测]
        CAM --> CAL[手眼标定]
        YOLO --> GP[夹取点算法]
    end
    subgraph 语言层
        MIC[语音输入] --> ASR[语音识别]
        ASR --> NLP[Qwen2.5 器械名称识别]
    end
    subgraph 决策层
        GP --> VLA[OpenVLA 决策模型]
        NLP --> VLA
        VLA --> ACT[动作序列生成]
    end
    subgraph 执行层
        ACT --> VAL[路径安全校验]
        VAL --> MC[运动规划]
        MC --> CR5[Dobot 机械臂]
        CR5 --> GRIP[夹爪 Modbus RTU]
    end
    subgraph 仿真层
        SIM[Isaac Sim] -.-> VLA
        SIM -.-> CR5
    end

MVP 简化版架构(五一演示目标)

策略:用定制支架槽位替代乱堆器械,大幅降低识别难度,快速建立可演示的闭环。 详见 五一冲刺计划

graph LR
    MIC[麦克风] --> ASR[本地 FunASR]
    ASR --> NLP[关键词匹配]
    NLP -->|instrument_id| REG[槽位注册表]
    REG -->|ROI 坐标| DET[ROI 内 YOLO]
    DET -->|GraspTarget| SAFE[安全校验]
    SAFE --> ARM[Dobot 机械臂]
    ARM --> GRIP[夹爪]
    GRIP -->|力反馈| DOC[医生]
完整版 MVP 版
感知 全图 YOLO ROI 裁剪后 YOLO(槽位先验)
语言 Qwen2.5 SFT 关键词匹配
决策 OpenVLA 规则 rule_planner
执行

状态机

机械臂默认处于待机状态,只有收到有效指令才会动作,确保手术室安全。

stateDiagram-v2
    [*] --> Idle: 系统启动
    Idle --> Listen: 检测到语音唤醒
    Listen --> Parse: 采集到有效指令
    Parse --> Execute: 指令+器械信息验证通过
    Execute --> Reset: 任务完成/中断
    Reset --> Idle: 回到安全姿态
    Execute --> Emergency: 触发急停/故障
    Listen --> Emergency: 触发急停/故障
    Parse --> Emergency: 触发急停/故障
    Emergency --> Idle: 故障排除后手动复位

程序结构

surgical_robot_cr5af/
├── hardware/               # 硬件驱动层(封装底层 SDK)
│   ├── cr5af_arm.py        # 机械臂 SDK 封装
│   ├── camera_driver.py    # 双目 / 3D 相机驱动
│   ├── microphone_driver.py
│   ├── gripper_driver.py
│   └── hand_eye_calib.py   # 手眼标定(半自动化开发中)
├── modules/                # 功能模块层
│   ├── perception/         # 感知模块
│   ├── nlp/                # NLP 模块
│   ├── decision/           # 决策模块
│   ├── execution/          # 执行模块
│   └── simulation/         # 仿真模块
├── core/                   # 核心控制层
│   ├── state_machine.py    # 状态机
│   ├── config.py           # 全局配置(含场景模式参数)
│   ├── logger.py
│   └── safety_manager.py   # 安全管理(执行前校验、急停)
├── tests/
└── main.py

通信协议

接口 方式 数据格式
摄像头 → 感知 USB / GigE RGB-D 图像流
感知 → 决策 Python API GraspTarget
NLP → 决策 Python API InstrumentCommand
决策 → 执行 Python API ActionSequence
执行 → 机械臂 Dobot SDK(TCP) 关节角 / 末端位姿

完整接口定义见 模块接口定义