
机器人学习系统怎样进入持续部署:从仿真基准到车队灰度
软件服务发布失败可以回滚流量,机器人策略发布失败可能造成碰撞、设备损坏和停线。具身智能需要持续学习,却不能把“持续”理解为模型训练完成后自动推到所有机器人。
正确目标是持续产生可验证候选,并用越来越真实、越来越昂贵的关卡筛选它们。
机器人版本不是一个模型文件
一次可复现发布至少包含:
policy / VLA / reward model
预处理与后处理
任务提示与动作空间
机器人 URDF/描述
控制器与安全参数
传感器驱动与标定
地图与语义层
推理引擎和容器
训练数据与评测集版本
模型相同、相机外参不同,行为就可能不同;策略相同、夹爪摩擦或底盘载荷变化,成功率也会改变。
因此制品仓库要按“机器人能力包”管理,而不是只给 checkpoint 起一个名字。
五级发布漏斗
L0:离线重放
在固定数据集上检查:
- 感知和动作输出;
- 新旧策略差异;
- 奖励模型一致性;
- 不确定性;
- 运行时延和显存;
- 历史事故样本。
离线只能判断“在记录数据上会怎样”,不能测试动作改变未来后的闭环。
L1:快速仿真
用多随机种子并行跑大量任务,拦截明显回退。记录成功、碰撞、超时、动作平滑、能耗和恢复。
L2:高保真与硬件在环
加入真实控制器、网络延迟、传感器频率、驱动饱和和设备接口。对关键接触任务使用更准确物理模型,并用真机数据校准。
L3:影子与安全真机
策略读取真实传感器但不直接控制,或只在隔离场地、低速和人工在场条件下执行。对比当前策略与候选策略决策。
L4:小车队灰度
先一台、一个班次、一个区域,再逐步扩大。设置自动回滚阈值和明确停止条件。
评测门槛应是多目标的
平均成功率上升可能掩盖严重退化。发布门槛可写成:
成功率 >= 基线 + 最小收益
严重安全事件 = 0
接管率 <= 基线
P95 周期时间 <= 上限
动作/力矩/速度不越界
旧场景回退 <= 容许值
资源与温度 <= 设备预算
对关键任务,宁愿保持旧策略,也不要用一次总体平均提升交换某个危险长尾。
人工接管是高价值数据
部署时保留 DAgger 式纠偏:
策略不确定或接近安全边界
→ 请求人工
→ 人接管短窗口
→ 保存接管前状态、修正动作和结果
→ 进入难例池
接管必须标注原因。它既是训练数据,也是产品指标:同类接管持续出现,说明任务定义、感知、策略或安全包络需要系统修复。
车队日志要可比较
每次 episode 写入:
- 机器人、硬件和位置;
- 任务和环境条件;
- 能力包各组件版本;
- 输入数据质量;
- 关键决策与动作;
- 安全规则触发;
- 人工接管;
- 成功、失败和失败阶段。
避免只上传视频。结构化事件可快速聚类,再按需拉取前后几秒原始数据。
自动回滚怎样设计
回滚触发分三类:
- 硬触发:碰撞、越界、急停、不可恢复故障,立即停止扩大。
- 软触发:接管率、周期、失败率超过窗口阈值,回滚灰度组。
- 趋势触发:资源、温度、定位残差逐步恶化,冻结发布并调查。
机器人端至少保留当前和上一稳定版本。回滚不依赖云端完整可用;地图和标定版本也要同步回退。
模型改进系统也要防数据污染
现场成功数据可能来自人工帮助,失败数据可能由硬件故障造成。训练前需要:
- 去重;
- 校验时间同步与标定;
- 区分自主和接管片段;
- 标记硬件/环境异常;
- 防止测试集泄漏到训练;
- 保留数据授权和删除链。
奖励模型自动打标可以提高速度,但要用人工抽检监控偏差。
团队组织
持续部署需要算法、控制、安全、平台和现场共同签字:
- 算法团队对能力与局限负责;
- 控制/安全团队对动作包络负责;
- 平台团队对制品、灰度和回滚负责;
- 现场团队对 ODD 与运营变化负责;
- 产品负责人决定收益是否值得扩大。
具身智能真正进入工程化,不是模型能从数据里学习,而是整个组织能让学习结果以受控、可解释、可回退的方式进入现实。