SnowBot 全栈软件系统架构规划文档

PUB-2605-0005-SPEC · 2.0

Barcode ARC2R9ADR5ZE7

ARCBOS

ENGINEERED FOR EXTREME CONDITIONS


文件定位

本文件为 SnowBot 全栈软件系统架构规划文档

本文件用于定义 SnowBot 软件系统的长期架构方向、分层逻辑、模块边界、接口关系、仓库结构、状态机、安全策略与阶段化开发顺序。

本文件不是当前外包合同范围,也不是供应商报价清单。

当前工程样机阶段严格执行:

Alpha补齐 + Beta闭环

也就是:

Alpha:系统打通,机器可控、可联调
Beta:任务闭环,固定场地内可执行基础路线任务

以下能力属于后续 Gamma / Delta / Fleet / Service 阶段,不纳入当前外包默认范围:


与当前外包文档的关系

本文件 = 软件架构总览 / 长期技术方向
外包主需求文档 = 当前合同与验收边界
工程任务清单 = Alpha/Beta阶段具体执行任务

当前软件外包与供应商报价,必须以以下文件为准:

本文件可以用于架构评审、技术负责人沟通、工程师 onboarding 和后续版本规划,但不得被供应商直接解释为当前阶段完整交付范围。


系统总架构

SnowBot 软件系统采用分层架构。

Cloud / Fleet Layer        云端与车队层(后续)
Application Layer          任务与应用层
Autonomy Layer             定位、路径、状态机与安全决策
Middleware Layer           ROS2 / 通信中间件
Control Interface Layer    底盘、执行机构与安全接口
Embedded Layer             MCU / 驱动 / IO / 实时控制
Hardware Layer             传感器、电机、电池、执行机构

当前 Alpha/Beta 阶段只做最小本地闭环,不做完整云端平台。


当前阶段最小闭环

Alpha/Beta 阶段必须先完成以下最小闭环:

传感器输入
→ 融合定位
→ 路线录制 / 回放
→ 路径跟踪
→ 底盘控制
→ 障碍检测
→ 安全停车 / 降级
→ 日志导出

该闭环未完成,不得进入更高级自治开发。


Alpha阶段软件能力

目标:系统打通,机器可控。

必须完成:

Alpha 不做:


Beta阶段软件能力

目标:固定场地内完成基础任务闭环。

必须完成:

Beta 不做:


模块拆分

当前 Alpha/Beta 软件包建议拆分为:

sensor_adapter
├─ RTK / GNSS input
├─ IMU input
├─ odometry input
└─ lidar input

localization
├─ fusion
└─ pose output

route_manager
├─ route record
├─ route storage
└─ route replay

controller_beta
├─ path tracking
├─ velocity command
└─ stop / degraded command

safety_monitor
├─ obstacle stop
├─ boundary constraint
├─ sensor health check
└─ degraded trigger

task_manager
├─ state machine
├─ mode switch
└─ task coordination

debug_tools
├─ parameter tuning
├─ route tools
└─ log export

状态机设计

Beta 阶段至少应包含以下状态:

idle
ready
manual_assist
route_record
route_replay
pause
obstacle_stop
degraded_mode
fault_stop
task_complete

状态机原则:


安全架构

安全优先级高于任务完成。

必须支持:

原则:

不确定就停
停车优先于绕行
本地安全优先于远程控制

仓库与代码结构

建议仓库:

snowbot-navigation-beta

建议目录:

/src
/config
/launch
/docs
/tests
/logs_sample
/replay_data
/handover

必须提交:

禁止:


代码规范

要求:

禁止:


外部依赖约束

未经 ARCBOS 书面确认,不得引入:

所有外部依赖必须披露:


开发顺序

正确开发顺序:

1. 接口冻结
2. Alpha系统打通
3. 定位输入可用
4. 路线录制 / 回放
5. 路径跟踪
6. 障碍停车
7. 降级处理
8. 端到端联调
9. 文档与交接

禁止:


里程碑映射

M1:接口与架构冻结
M2:Alpha补齐完成
M3:Beta路径执行可用
M4:障碍与安全可用
M5:整机联调与交付

后续阶段路线图

Gamma 阶段可加入:

Delta 阶段可加入:

Fleet / Service 阶段可加入:


最终原则

先系统打通
再任务闭环
后高级自治

当前执行必须回到:

Alpha补齐 + Beta闭环