阅读时间大约6分钟(2291字)
作者:毛不毛 出品:具身智能前沿
导读
位姿型 VLA 可以告诉机械臂末端去哪里,却未必能指定接触后该如何响应外力。插孔、擦拭等任务因此需要同时考虑目标轨迹、柔顺方向和接触力。本文以变阻抗为一条具体技术路线,解释策略可以输出哪些参数、它们如何交给阻抗或导纳控制器,以及哪些安全工作仍须由底层独立完成。
位姿给出目标,接触还需要响应规则
在部分 VLA 实现中,策略输出末端位姿或关节目标,再由机器人控制器执行。OpenVLA 就属于以机器人动作预测为核心的模型;其项目页报告的两套 Franka 微调平台分别以 5 Hz 和 15 Hz 运行。这是具体平台的配置,不能当作所有 VLA 的统一动作维度或更新频率。
在自由空间,目标位姿通常足以描述“往哪里走”。碰到桌面、孔壁或工件时,任务多出另一个问题:末端偏离目标后,控制器要以多大的力把它拉回去?同样的毫米级定位误差,接触力会随环境刚度、运动速度和控制参数而变,不能仅凭误差大小断定过载。
只输出位姿,不等于机器人一定刚性碰撞。底层完全可以采用固定柔顺参数或已有的碰撞保护。真正的限制是:如果策略无法改变这些参数,它便难以按任务阶段和接触方向主动指定“哪里保持轨迹、哪里允许让步”。2026 年的 CompVLA 研究正是针对这条策略与控制器之间的接口,增加了随时间变化的刚度输出。

图片说明:质量、弹簧和阻尼用于示意末端受力后的响应关系,并非某台机械臂的实测结构。图片来源:机器知行
变阻抗把“怎么让步”变成可传递的参数
阻抗控制描述的是外力与运动偏差的关系。Hogan 在 1985 年的论文中强调,操作时机械臂与对象发生机械耦合,单独控制位置或力不足以描述交互。一个便于理解的笛卡尔简化式是:
F_ext = M_d·ë + D_d·ė + K_d·e,e = x − x_d
这里 x_d 是期望位置,x 是实际位置;M_d、D_d、K_d 分别表示期望惯性、阻尼和刚度。外力正负号取决于坐标与受力约定,式子要表达的关系是:在相同条件下,刚度越高,偏离目标时的恢复作用越强;阻尼影响运动中的振荡。真实机械臂还涉及姿态、坐标变换和关节力矩,不能把这个简化式直接当作完整控制器。
对学习策略而言,可以把平衡位姿 x_d 与刚度 K_d 等参数一起交给底层。2019 年的 VICES 研究在强化学习中把末端位姿和各轴阻抗增益纳入动作空间,为接触任务提供了一个实现例子;它本身并不是 VLA 模型。在 VLA 路线里,CompVLA 则由动作模块预测参考轨迹,由柔顺模块预测随时间变化的刚度及虚拟位移。另一项 CompliantVLA-adaptor 工作没有要求原 VLA 直接输出全部阻抗参数,而是在原策略外增加模块,结合视觉、语言和测得的接触力调节刚度、阻尼。
因此,文中可用“目标位姿+可调接触参数”概括这类接口,却不能把某个统一向量当成所有系统的标准动作格式。参数由模型预测、由外接模块调整,或由控制器按规则计算,都是不同的实现选择。
各向异性刚度与期望力,解决的是两个问题
各向异性是指不同方向采用不同刚度。以插接为例,推进方向需要维持运动,横向和部分转动方向则可以适度让步,吸收对准误差;具体方向应相对于孔位和工具坐标系定义,而非机械地固定为世界坐标的 x、y、z。擦拭时,沿表面的路径跟踪与垂直表面的接触响应也可能需要不同设置。

图片说明:橙色表示推进方向,蓝色表示侧向让步的概念;实际刚度配置取决于工具、工件和任务坐标系。图片来源:机器知行
柔顺不自动等于施加了合适的接触力。把法向刚度调低,末端可以更容易让步,但擦拭仍要维持足够压力。CompVLA 将方向性刚度与虚拟位移共同用于柔顺和力调节;其他系统也可以提供期望力或力矩目标。读者需要区分两个问题:刚度规定受力后如何偏离目标,期望力规定任务希望维持怎样的接触作用。
阻尼用于抑制振荡,也不能随意从一个矩阵公式推出。若按各轴独立的简化模型设计,单轴可写作 dᵢ = 2ζᵢ√(mᵢkᵢ),其中 ζᵢ 是该轴阻尼比;参数范围还须结合负载、采样周期和接触环境调试。ROS 2 导纳控制器的配置也分别给出了各轴质量、刚度与阻尼比。

图片说明:图中比较的是两类策略接口表达接触参数的能力;机器人实际受力仍取决于底层控制与安全配置。
阻抗与导纳:参数最终交给谁执行?
策略给出目标和接触参数之后,仍需一个实时闭环将其变成机器人动作。阻抗与导纳描述的是不同的输入输出实现路线,不是 VLA 内部两个必须同时训练的模块。
阻抗路线根据位置、速度偏差等状态计算力或关节力矩,适合开放相应实时接口的机器人。Franka 的控制接口既允许使用内部笛卡尔阻抗控制器,也提供 1 kHz 外部力矩控制循环;这说明同一平台也可能有不同接入方式,不能只按机器人品牌判断控制路线。
导纳路线则读取外力或力矩测量,根据设定的虚拟动力学求出新的位置或速度参考,再交给内层运动控制器。ROS 2 的 admittance_controller 使用力矩传感器接口、运动学插件,以及质量、刚度、阻尼等配置。工具重力补偿、传感器坐标系、滤波延迟若处理不当,都会改变闭环表现。
VLA 的动作接口必须与选定的控制器对齐:策略输出的目标属于哪个坐标系,刚度按哪些轴定义,参数多久更新一次,控制器怎样在两次更新间插值,都需要在集成时明确。只把“刚度”附在动作向量末尾,并不会自动获得柔顺操作。
高低频分工之外,还要保留安全边界
策略推理与接触控制通常运行在不同时间尺度。VICES 的实验让策略以 20 Hz 给出动作、控制器以 500 Hz 更新力矩,并在策略命令之间插值;Franka 文档则提供 1 kHz 实时接口。这些是有出处的实现例子,不是所有 VLA 或机器人都必须采用的固定频率。

图片说明:上层给出阶段目标与接触参数,下层按实时状态执行;各层更新频率由具体平台决定。
以插孔为例,上层策略可以在“接近—对准—插入”之间更新目标位姿和方向性刚度;底层在每个控制周期读取机器人状态,计算位移或力矩,并把接触状态反馈给上层以便重规划。这才是分层协作的具体过程:上层决定目标与参数,下层依据当前状态连续执行,而不是等待下一次模型推理才处理接触。
变阻抗降低部分接触风险,但不承诺接触力天然有上限。力矩、速度、碰撞阈值与异常退出仍须由控制栈独立约束。CompVLA 作者也指出,柔顺模块不能完全补偿较大的参考轨迹误差;接触区域很窄时,先把末端带到正确位置仍是前提。
VLA 接触能力的关键,不在于把位姿输出一笔勾销,而在于让策略、实时控制器和安全机制各自承担明确职责:策略选择目标及交互方式,控制器处理受力响应,安全机制约束故障与超限。变阻抗提供了一种把这些职责连接起来的动作接口。
