4. 动作表示入门

在VLA(Vision-Language-Action)机器人系统中,动作表示决定了模型“输出什么”、数据“标注什么”、控制器“执行什么”。同一个抓取任务,可以用七个关节角描述,也可以用末端执行器的六维位姿描述,还可以用末端速度或关节力矩描述。选择哪种表示,直接影响数据采集难度、策略学习效率、跨本体迁移能力和最终控制精度。本章从工程视角梳理常见动作表示形式,帮助你建立“表示—数据—控制”之间的映射直觉。

一、核心原理:动作表示的四个层级

机器人动作表示可以按抽象层级分为四类:关节空间、任务空间、末端执行器位姿以及速度与力矩。它们并非互斥,而是同一物理运动在不同坐标系和不同物理量下的投影。

  • 关节空间(Joint Space):以每个关节的角度或位移为分量,例如六轴机械臂的 [q1, q2, q3, q4, q5, q6]。它最贴近底层伺服,无奇异点问题,但难以直接表达“手该往哪走”。
  • 任务空间(Task Space):以机器人在笛卡尔空间中的位置和姿态描述,通常为 [x, y, z, roll, pitch, yaw]。它符合人类直觉,便于视觉对齐,但需要逆运动学求解。
  • 末端执行器位姿(End-Effector Pose):任务空间的特化形式,强调夹爪或工具中心点(TCP)的位姿,常以齐次变换矩阵或四元数表示。
  • 速度与力矩(Velocity & Torque):描述动作的瞬时变化率或力交互,包括关节速度 q̇、末端线速度/角速度 [v, ω]、关节力矩 τ 和末端力/力矩 [f, n]。
动作表示的核心矛盾:越靠近底层(关节、力矩),控制越直接、精度越高,但语义越弱、跨本体越难;越靠近高层(任务空间、位姿),语义越强、越易迁移,但需要运动学求解且可能遇到奇异点。

二、方法流程:从任务到执行的表示转换链

一个典型的VLA动作生成与执行流程如下:视觉语言模型根据图像和指令预测动作表示,再经过运动学转换送入控制器。不同表示形式对应不同的转换路径。

  1. 输入:RGB-D图像、语言指令、机器人当前关节状态。
  2. 策略输出:模型输出动作表示,可能是关节增量 Δq、末端位姿增量 ΔT、末端速度 v 或关节力矩 τ。
  3. 坐标转换:若输出为任务空间量,需通过逆运动学(IK)转为关节目标;若输出为关节量,可直接下发。
  4. 控制执行:位置控制、速度控制或力矩控制模式接收目标值,驱动伺服。
  5. 反馈闭环:编码器返回实际关节角,力传感器返回接触力,形成下一时刻状态。

下面用一张信号链图展示四种动作表示在系统中的位置与转换关系。

VLA动作表示信号链:从策略输出到伺服执行 VLA策略输出 图像+语言→动作 关节空间 Δq [Δq1…Δq6] 直接下发 任务空间 ΔP [Δx,Δy,Δz,ΔR] 需IK 末端位姿 T TCP齐次变换矩阵 速度/力矩 v,τ 瞬时变化率/力交互 运动学转换 正/逆运动学 雅可比矩阵 J 奇异点检测 伺服控制器 位置/速度/力矩 PID + 前馈 电流环 机器人本体 关节电机+传感器 状态反馈 编码器 q / 力传感器 闭环反馈:实际状态→下一时刻输入 注:关节空间与速度/力矩可直接下发;任务空间与末端位姿需经逆运动学转换;雅可比矩阵 J 建立关节速度与末端速度的映射。 τ = Jᵀ · F 是力域与力矩域之间的关键关系式。

三、案例/场景:同一抓取任务的不同表示

假设机器人需要把桌上的杯子抓起来放到架子上。不同动作表示下的数据形态差异显著:

表示形式 典型数据维度 优点 局限 适用场景
关节空间 6~7维角度 无奇异点、直接控制 语义弱、跨本体难 固定机械臂、示教复现
任务空间 6维位姿 直观、视觉对齐好 需IK、可能奇异 抓取、放置、避障
末端位姿 4×4变换矩阵 含姿态、便于组合 冗余参数、需归一化 精细操作、工具使用
速度/力矩 6维速度或7维力矩 动态响应好、力控自然 噪声敏感、标定复杂 装配、打磨、柔顺控制

在数据采集阶段,如果使用遥操作设备,通常记录关节角;如果使用VR手柄,通常记录末端位姿;如果使用力反馈设备,还会记录力矩。VLA模型训练时需要根据任务需求选择或融合这些表示。

四、误区与复盘

常见误区一:认为任务空间一定优于关节空间。任务空间语义强,但逆运动学可能无解或多解,在奇异点附近关节速度会急剧增大。实际系统中常采用“任务空间规划+关节空间执行”的混合策略。
常见误区二:忽略速度与力矩的物理意义。位置表示只告诉“去哪”,速度表示告诉“多快”,力矩表示告诉“用多大力”。接触-rich任务中,仅用位置表示会导致碰撞或滑脱,必须引入力/力矩维度。
复盘建议:在构建VLA数据集时,至少同时记录关节角、末端位姿和夹爪状态三路信息。关节角用于底层复现,末端位姿用于跨本体迁移,夹爪状态用于任务语义标注。若条件允许,增加关节力矩和末端力传感器数据,为后续力控策略留出接口。

动作表示不是非此即彼的选择,而是需要根据任务阶段动态切换。例如接近阶段用任务空间保证方向正确,抓取阶段切换到力矩控制保证柔顺,搬运阶段回到关节空间保证稳定。理解每种表示的物理含义和转换关系,是设计高质量VLA数据管线的基础。

# 典型动作表示转换伪代码
q = robot.get_joint_positions()          # 关节空间
T = forward_kinematics(q)                # 正运动学 → 末端位姿
J = compute_jacobian(q)                  # 雅可比矩阵
v = J @ q_dot                            # 关节速度 → 末端速度
tau = J.T @ F                            # 末端力 → 关节力矩
q_target = inverse_kinematics(T_target)  # 逆运动学 → 关节目标

掌握这四种表示及其转换,你就能在VLA数据工程中做出有依据的表示选择,而不是盲目跟随单一范式。