“Retarget(重定向/重映射)操作”指把一种“源主体”的运动/演示/控制信号,转换成另一种“目标主体”能够执行的动作序列的过程。它广泛用于:
- 机器人操控:把人的演示(手套/VR/遥操作)、或某台机器人的轨迹,映射到另一台机器人(不同连杆长度/自由度/夹爪)。
- 动画/动作捕捉:把人体骨架的动捕数据映射到不同骨骼比例的角色。
为什么需要做 retarget
- 源与目标在形态、自由度、关节极限、工作空间、夹爪/手型上都可能不同;直接复用轨迹往往不可达或不稳定。
- Retarget 的目标是“保留任务要点(关键点位姿/接触/时序/风格)”,同时满足目标系统的几何与动力学约束。
常见的 retarget 管道(以机器人为例)
- 定义“要保持”的任务空间目标
- 选择关键点/末端执行器/指尖等作为约束对象,通常是位置 + 朝向、夹爪开度/接触状态等。
- 可加“风格/姿态”偏好(如肘部朝下、与源姿态相似)。
- 对齐坐标与尺度
- 统一世界系/基座系,标定手眼;做尺度归一(动画常见:骨骼长度缩放;机器人常省略)。
- 求解目标关节(IK/优化)
- 典型做法是约束优化: min_q Σ_i w_i || f_t^i(q) − M(x_s^i) ||^2 + λ||q − q_ref||^2 s.t. 关节/速度/加速度/自碰/障碍约束 其中 f_t 是目标机器人的正运动学,x_s^i 为源端关键点轨迹,M 是从源到目标的坐标映射。
- 自由度不足时,先把姿态/位姿投影到目标可达子空间(例如只保留位置 + 偏航,固定俯仰/滚转),再解 IK。
- 冗余度过多时,用零空间优化保持“风格”或避障。
- 时间轴处理
- 需要时做时间重定形(time warping):对齐事件时刻(接触/抓取/释放),匹配目标系统的速度与时延约束。
- 安全与平滑
- 速度/加加速度限幅、阻抗跟随、轨迹平滑/再采样,确保可执行且稳定。
两类常见 retarget 形态
- 运动学 retarget(最常见):只关心几何/接触约束与关节极限;用于大多数示范到机器人、机器人到机器人的映射。
- 动力学 retarget:同时满足力学可行(方程、摩擦锥、接触切换);用于跳跃、抛接、强接触等任务。
具体例子
- 人手/VR → 夹爪机器人
- 提取拇指 - 食指的相对位姿与张开幅度,映射为“末端 6D 位姿 + 夹爪开度”,目标臂用 IK 跟踪,加入“末端姿态优先、肘部下垂”零空间目标。
- Panda 7-DoF → UR5 6-DoF
- 源端末端轨迹直接作为任务空间目标;若某些姿态在 UR5 不可达,投影到“位置 + 偏航”,同时最小化与原姿态的测地距离;用最近解策略避免解跳。
- 多指手 → 两指夹爪
- 从源手的多接触点中选两条主要对捏接触,拟合夹爪轴与开度,保留接触时机;其余手指动作作为风格损失或忽略。
学习化的 retarget
- 形态差异很大(人手 → 机械手)、或约束/风格复杂时,可训练一个 R: 特征 _s → 动作 _t 的网络(如条件流/Transformer),以任务成功和几何一致为监督;仍建议保留 IK/约束层兜底。
实践要点
- 先定清楚“任务不变量”:哪些必须匹配(末端位姿/接触/相对位姿/时机),哪些可让步(手肘姿态、路径细节)。
- 把“不可达的问题”前移到投影/约束层解决,不要交给上层策略;对低 DoF 平台,明确姿态子空间。
- 用最近解、平滑器与速度限幅防止解跳;强接触任务加入阻抗/力限与接触检测。
- 标定与时间同步到位,避免“看起来像 retarget 不好”,实则是时延/外参误差。
一句话
- Retarget 操作就是把“源运动/演示”转译成“目标系统能做到且保留任务关键”的动作过程,通常通过坐标对齐、子空间投影、IK/优化与时序重整来实现;在机器人模仿学习里,它是跨人机/跨机型迁移的关键步骤。