VLM/VLA:部署与安全

VLM/VLA:部署与安全

Charles Lv8

VLA 训练跑通,只能说明模型在数据分布里学会了某种“看图、读指令、输出动作”的映射。部署要回答的是另一组问题:动作来不来得及,控制器能不能执行,安全层会不会拒绝,人靠近时谁有最高优先级,失败后能不能停、能不能接管、能不能追溯。

机器人错误会进入物理世界。一个回答系统答错了可以撤回;一个机器人多伸出 8 厘米,可能碰倒玻璃杯、夹住电线、撞到人或堵住工位。所以 VLA 部署不是“把模型放到机器人上”,而是把模型放进一套受限、可停、可审计的运行系统里。

先定义运行边界

上线前先写清 ODD(Operational Design Domain),也就是系统允许在哪些条件下运行。对 VLA 来说,ODD 至少包括:

维度 例子
环境 室内、固定工位、仓库通道、家庭厨房、是否有人共处
任务 只搬运非易碎物、只点击指定屏幕、只处理 2kg 以下物体
机器人 机械臂型号、夹爪、底盘、力控能力、急停接口
传感器 相机视角、深度、触觉/力觉、同步误差、遮挡范围
动作 坐标系、速度上限、加速度上限、workspace 边界
人机规则 人靠近时降速、接管条件、语音提示、安全距离

很多风险不是模型突然变差,而是系统被拿去做了 ODD 之外的事。一个只在固定桌面上验证过的 VLA,不应默认可以进入动态家庭;一个只处理纸盒的策略,不应默认可以拿玻璃杯和刀具。

延迟也是正确性

闭环控制有时间预算:

Lsense+Lmodel+Lpost+Lact<1fL_{\mathrm{sense}}+L_{\mathrm{model}}+L_{\mathrm{post}}+L_{\mathrm{act}} < \frac{1}{f}

LsenseL_{\mathrm{sense}} 是采集和预处理延迟,LmodelL_{\mathrm{model}} 是模型推理,LpostL_{\mathrm{post}} 是后处理和安全检查,LactL_{\mathrm{act}} 是命令下发和执行器响应,ff 是闭环频率。若 f=10Hzf=10\text{Hz},单轮闭环最好低于 100ms;若低层控制频率更高,VLA 通常只能输出 action chunk 或高层动作,不能替代低层 controller。

平均延迟不够,P95/P99 更重要。平均 80ms、偶发 300ms 的系统,会表现成时快时慢、动作抖动、过期观测继续执行。部署监控要同时看:

mean(L),P95(L),P99(L),jitter(L)\mathrm{mean}(L),\quad \mathrm{P95}(L),\quad \mathrm{P99}(L),\quad \mathrm{jitter}(L)

大模型带来更强语义理解,但若推理链路让动作晚到,机器人会在动态环境里做“正确但过期”的动作。来得及,本身就是机器人正确性的一部分。

动作不能裸奔进执行器

VLA 输出一般要经过 action adapter、controller 和 safety filter:

atsafe=ΠC(A(at,ot,ht))a_t^{\mathrm{safe}}=\Pi_{\mathcal C}(A(a_t,o_t,h_t))

A()A(\cdot) 表示把模型动作转换成具体机器人坐标、单位、频率和控制模式;ΠC\Pi_{\mathcal C} 表示投影、裁剪或拒绝到安全集合 C\mathcal C。安全集合通常包括关节角、速度、加速度、工作空间、自碰撞、人机距离、力/扭矩、夹爪力度和任务阶段约束。

这层的原则很简单:模型可以提出动作意图,执行器只接受物理上可执行、任务上合理、安全上允许的命令。

Affordance 约束高层动作

硬限幅只能防止动作越界,不能判断“现在该不该做”。SayCan 的价值在于把语言合理性和当前可执行性分开:语言模型可以提出候选技能,value / affordance 函数判断这些技能在当前场景是否能做。

SayCan grounding language with affordances

图源:Do As I Can, Not As I Say / SayCan,Figure 1。原图展示语言模型可能给出听起来合理但机器人不能执行的建议,SayCan 用 affordance / value function 约束技能选择。本站读法:VLA 部署不能只问语言上该做什么,还要问当前状态下能不能安全地做。

这张图不是完整安全方案,但它抓住了部署核心:VLA 的高层语义能力必须被当前环境、机器人能力和任务状态约束。模型知道“清理饮料”并不等于当前可以用吸尘器;模型知道“把杯子放进柜子”也不等于柜门已开、路径可达、杯子不会撞层板。

安全层要有否决权

部署系统里,不同模块的权限不能混在一起。

模块 可以做什么 不应拥有的权限
VLA / policy 提出动作、skill 或 action chunk 绕过安全层直接控制执行器
Planner / adapter 做坐标转换、IK、路径和可达性检查 忽略任务阶段和人机规则
Controller 平滑跟踪、力控、阻抗控制、限幅 接受越界或过期命令
Safety filter 降速、裁剪、拒绝、急停 静默吞掉错误而不写日志
人类接管 暂停、改目标、完成恢复、复位 被模型覆盖或延迟响应

安全层必须能否决模型意图。若模型输出常被安全层拦下,这不是小问题,而是说明训练分布、动作接口或任务状态和部署约束不匹配。上线前应把这些拒绝事件单独统计。

状态机让安全可审计

真实系统常把任务拆成状态机,例如:

observeapproachpregraspcontacttransportplacerecover\text{observe}\rightarrow \text{approach}\rightarrow \text{pregrasp}\rightarrow \text{contact}\rightarrow \text{transport}\rightarrow \text{place}\rightarrow \text{recover}

每个阶段的安全条件不同。接近阶段可以移动快一点,接触阶段要低速和力控,搬运阶段要检查夹持稳定,放置阶段要检查容器边缘和周边障碍。若系统只有一个端到端动作头,失败发生后很难知道该降速、重试、换视角还是接管。

状态机不是倒退到“规则系统”,而是给 VLA 加上可审计边界。它能记录模型在哪个阶段被拒绝、哪个 checker 触发、恢复是否成功、人工是否接管。

部署模式决定安全要求

同一个 VLA,在不同部署模式下安全要求完全不同。

模式 例子 安全重点
助手模式 人确认每个高风险动作 UI、解释、人工确认、低自治
人机协作 人和机器人共享工位 降速、距离、接管、力/速度限制
受限自动化 封闭货架拣选、固定工位 围栏、ODD、急停、监控、回归测试
远程监督 多台机器人由一人监控 告警优先级、接管延迟、日志审计
高自治 低人类参与的长时任务 最严格 ODD、冗余传感器、安全案例

部署不是自治程度越高越好。越靠近人、越接触脆弱物、越难复位、越难接管,越应该缩小 ODD、降低动作上限、增加人工确认。

三类场景的上线重点

家庭收纳机器人面对的是不规整布局、脆弱物体和人类打断。重点是速度保守、多视角确认、玻璃/刀具等对象白名单、失败后安全退出,以及不确定时请求帮助。

仓储拣选强调吞吐,但不能只看吞吐。透明包装、倾斜堆叠、滑脱、误抓和掉落都要进入 hard set;安全层要记录被拒绝动作、人工接管和近碰撞,而不是只报告每小时完成数。

移动服务机器人面对动态障碍和公共空间。这里 P99 延迟、人靠近时降速、路径重规划、礼让规则和急停接口比模型语义能力更关键。一个过期 300ms 的“正确路线”可能已经不再安全。

上线前要跑四级验证

阶段 看什么
Offline 动作分布、越界率、低置信度动作、失败桶回放
Shadow 模型只观察和输出建议,不控制执行器,比较建议与安全层/人类选择
Gated real robot 小范围真机,低速、短任务、人工随时接管
Limited deployment 有 ODD、监控、告警、回滚和事故复盘的小流量上线

跳过 shadow 和 gated real robot,直接看“离线成功率高”就上线,是把数据集当现实世界。VLA 部署应该像放大控制系统一样逐级放权,而不是一次性给模型完整控制权。

监控要看拒绝和接管

上线监控至少包括:

指标 风险信号
P95/P99 延迟 偶发慢步导致过期动作
Safety reject rate 模型动作经常越界或不可达
Human takeover rate 系统依赖人救场
Near-miss rate 安全边界经常被逼近
Recovery success rate 失败后能否回到正确轨道
Controller saturation 命令经常被限幅或无法跟踪
ODD violation 环境条件超出允许范围
Drift bucket 新物体、新光照、新布局导致退化

这些指标要和 episode 日志绑定。一次安全拒绝至少要知道:模型输出了什么,adapter 如何转换,哪个 checker 拒绝,机器人当时在哪里,策略版本是什么,最终有没有人工接管。

什么时候不该上线

以下情况应直接阻止上线或退回到更低自治模式:

情况 原因
ODD 写不清 不知道系统在哪些条件下被允许运行
安全层只能裁剪不能拒绝 危险动作可能被“修成”看似可执行的动作
没有人类接管路径 边界外状态无法安全退出
日志不含 controller 和 checker 事故后无法追溯
hard set 被训练污染 长尾评测失真
P99 延迟不稳定 动态环境里动作可能过期
near-miss 没有单独统计 平均成功率会掩盖风险

这不是保守到不做部署,而是把部署资格写成可验证条件。VLA 如果只能在演示里好看,却不能说明风险边界和回退路径,就还没到上线阶段。

标准不是替代工程判断

ISO 10218-1:2025、ISO 10218-2:2025 和 ISO/TS 15066:2016 这类机器人安全标准提醒我们:工业机器人和协作机器人安全需要风险评估、速度/力限制、集成边界和人机协作条件。本站只把它们作为安全论证的方向参考,不把本页写成合规指南。真实项目必须按行业、地区、场景和硬件做正式安全评估。

VLA 部署可以按这条链路收口:先缩小 ODD,再量化延迟和动作接口,给 safety filter 否决权,用状态机记录阶段和异常,保留人工接管与急停,最后让所有拒绝、near-miss、恢复和接管进入数据引擎。部署不是证明模型“聪明”,而是证明系统在明确边界内稳定、可停、可追溯。

继续读相邻内容时,可以接 VLA 闭环恢复与失败分析VLA 评测与数据引擎VLA 动作表示与控制接口具身部署模式与安全案例Sim2Real 与具身数据引擎

外部精读

  • 本页来源台账:记录部署、安全、图片使用和中文讲法边界。
  • SayCan:理解高层语言建议为什么必须被 affordance / value function 约束。
  • RT-2:看 VLM 知识接入动作后仍需要机器人能力和动作接口约束。
  • π0.5:看开放世界 VLA 在真实家庭任务、数据消融和 long-horizon deployment 上的证据边界。
  • ISO 10218-1:2025:工业机器人安全要求入口;真实项目需按正式标准和法规评估。
  • ISO/TS 15066:2016:协作机器人安全要求和人机协作条件入口。
  • Datawhale Every-Embodied:学习具身智能中文教程如何把模型、仿真、数据和部署路径组织起来;事实 claim 仍回论文和官方文档。
  • Title: VLM/VLA:部署与安全
  • Author: Charles
  • Created at : 2026-02-18 09:00:00
  • Updated at : 2026-02-18 09:00:00
  • Link: https://charles2530.github.io/2026/02/18/ai-files-vla-deployment-and-safety/
  • License: This work is licensed under CC BY-NC-SA 4.0.
Comments