# 标定系统架构对照图 ```mermaid flowchart LR subgraph NOW[当前实现] UI1[UI / 上层系统] --> ORCH1[workshop_orchestrator_v2\n总控编排器] ORCH1 --> PLAN1[PlanBuilder / PrecheckRunner / ReportBuilder] ORCH1 --> GW1[Gateway Clients] GW1 --> EXT1[external_localization_service\n最小 stub] GW1 --> CHA1[chassis_calibration_service\n最小 stub] GW1 --> CON1[control_calibration_service\n最小 stub] GW1 --> SEN1[sensor_calibration_service\n最小 stub] ORCH1 --> REP1[get_report] end subgraph FUTURE[未来算法接入] UI2[UI / 上层系统] --> ORCH2[workshop_orchestrator_v2\n总控编排器] ORCH2 --> PLAN2[PlanBuilder / PrecheckRunner / ReportBuilder] ORCH2 --> GW2[Gateway Clients] GW2 --> EXT2[external_localization_service\nROS 接口层] GW2 --> CHA2[chassis_calibration_service\nROS 接口层] GW2 --> CON2[control_calibration_service\nROS 接口层] GW2 --> SEN2[sensor_calibration_service\nROS 接口层] EXT2 --> EXTALG[外部真值校核算法] CHA2 --> CHAALG[底盘标定算法] CON2 --> CONALG[运控评估算法] SEN2 --> SENALG[传感器标定算法] EXTALG --> EXT2 CHAALG --> CHA2 CONALG --> CON2 SENALG --> SEN2 ORCH2 --> REP2[get_report] end classDef core fill:#dbeafe,stroke:#2563eb,color:#1e3a8a; classDef stub fill:#fef3c7,stroke:#d97706,color:#92400e; classDef algo fill:#d1fae5,stroke:#059669,color:#064e3b; class ORCH1,PLAN1,GW1,REP1,ORCH2,PLAN2,GW2,REP2 core; class EXT1,CHA1,CON1,SEN1 stub; class EXT2,CHA2,CON2,SEN2 algo; class EXTALG,CHAALG,CONALG,SENALG algo; ``` ## 读图方式 - **左边当前实现**:专项包先用最小 stub 跑通流程。 - **右边未来接入**:专项包保留 ROS 接口,内部替换成真实算法。 - **总控不变**:orchestrator 始终只负责编排,不直接承载算法。