子课程三_双臂导读
本文档属于 Robotics Tutorial 项目,作者:Pengfei Guo,达妙科技。采用 CC BY 4.0 协议,转载请注明出处。
子课程三:双臂协调与遥操作(D01-D10)¶
学习路径衔接:完成子课程一(P01-P02 + M01-M15)和子课程二(F01-F10)后,你已经具备单臂从运动规划到力控的完整能力。但工业和研究中越来越多的任务需要**两条臂协同工作**——双臂搬运、协调装配、主从遥操作数据采集。子课程三正是从"单臂世界"跨入"多代理协调":你将学习双臂协调运动学、闭链约束规划、grasp matrix 与内力分解、双边力反馈的波变量/TDPA 理论,直至 ALOHA/GELLO/UMI 等现代遥操作数据采集管线。子课程一中 M07(OMPL)、M14(MoveIt2)的规划能力和子课程二中 F01-F05 的阻抗/导纳/无源性理论,是本课程的直接前置。
双臂协调与主从遥操作方向 C++ 进阶教学大纲(v0.2 · 增量式完整版)¶
定位:本大纲是《面向 SLAM 工程师的 C++ 中高级进阶完整教学大纲 v8》(46 章 48 周)的**方向 D 增量扩展**,面向完成机械臂方向 P01-P02、M01-M07 与 M14(建模/运动学/碰撞/QP/OMPL/MoveIt2)以及力控方向 F01-F05(阻抗/导纳/操作空间)后,希望切入**双臂协调操作与主从遥操作**(协调规划、内力控制、双边力反馈、运动映射、遥操作数据采集)的工程师。
与已有大纲的关系:机械臂方向(方向 B)v0.1 覆盖 17 章 24 周(单臂运动学/规划/MoveIt2);力控方向(方向 C)v0.2 覆盖 10 章 28 周(阻抗/导纳/WBC/学习型力控);复合机器人续篇(Ch71-100)从 VLA 视角覆盖了 ALOHA/ACT/Mobile ALOHA。本大纲为**方向 D**,与方向 B 共享 OMPL/MoveIt2 基础、与方向 C 共享阻抗/无源性理论,但**技术栈核心不同**——方向 B/C 的终点(单臂规划+单端口力控)是本方向的**起点**,本方向从"单臂世界"跨入"多代理协调"。与续篇的关系是**互补**:续篇讲 VLA 策略层(ACT/Diffusion/π0);本大纲讲规控算法底层(grasp matrix/波变量/TDPA/约束规划)。
章节编号:Part 1-3(D01-D10 双臂+遥操作专题,共 10 章) + 附录 A-G = 10 章,约 24 周。
数据基础:基于 55+ 篇双臂/遥操作核心论文(1952-2026)的学术脉络梳理、20+ 个 C++/Python 开源项目的源码级审查、16 个数学模块的公式推导、两轮深度研究(双臂协调千行素材 + 主从遥操作万字报告)。
前置假设:学员已完成 v8 的 46 章 + 方向 B 的 P01-P02、M01-M07 与 M14(Pinocchio/IK/碰撞/QP/OMPL/MoveIt2 基础) + 方向 C 的 F01-F05(阻抗控制/导纳控制/操作空间动力学/无源性)。核心前置能力:能独立在单臂上实现笛卡尔阻抗控制、理解 Hogan 无源性证明、会用 OMPL 做 RRT/BIT* 规划、掌握 Pinocchio 的 Jacobian 和动力学计算。
风格对齐:核心章节尽量采用
科研发展脉络 / 教学目标 / 前置依赖 / 核心知识点 / 前沿工作与开放问题 / 项目精读清单 / 实战练习(A型+B型+思考题) / 预计学习时间的**八段式**结构;后续若拆分单章文件,再统一补齐元信息。双臂协调是一个**四十年理论积淀(Uchiyama 1988→至今)**的经典领域,而遥操作正经历**从力反馈到数据采集**的范式剧变——理解"经典理论为何仍然必要、现代系统如何取舍"是本大纲的核心教学目标。预留接口:每章标注 ✅ 全方向共享 / ⚪ 部分共享 / ❌ 纯双臂/遥操作 以便后续复用。
核心实验室缩写:Stanford ASL(Khatib/Williams)、Tohoku-Dauchez(Uchiyama/Dauchez)、CMU PRL(Srinivasa/Berenson)、Rice Kavraki Lab(Kavraki/Kingston/Moll)、LAAS-CNRS(Cortés/Porta/Siméon)、KIT H²T(Asfour/Krebs)、UBC Telerobotics(Salcudean)、U Washington BRL(Hannaford/Ryu)、MIT NML(Slotine/Niemeyer)、DLR Telepresence(Artigas/Panzirsch)、JHU LCSR(Kazanzides/dVRK)、Stanford IRIS(Finn/Zhao/Chi)、Physical Intelligence(Black/Levine)、Keio Sakaino(Sakaino/Tsuji)、Napoli PRISMA(Caccavale/Chiacchio)。
整体路线图¶
方向 B P01-P02、M01-M07、M14 完成 + 方向 C F01-F05 完成
│
│ 学生此时具备:
│ - Pinocchio 动力学(RNEA/ABA/Jacobian)
│ - OMPL 采样规划(RRT/BIT*/StateSpace)
│ - MoveIt2 基础(PlanningScene/MoveGroupInterface)
│ - 阻抗/导纳控制(Hogan/Khatib/Ott)
│ - 操作空间动力学(Λ/J̄/N)
│ - 无源性分析(储能函数/供给率/端口无源)
│ - QP-WBC 基础(OSQP/qpOASES)
▼
┌──────────────────────────────────────────────────────────────┐
│ Part 1:双臂协同理论与规划(子课程三第 1-8 周,8 周) │
│ D01 导论——双臂任务分类与协调运动学 │
│ D02 双臂协调规划——闭链约束/TSR/CBiRRT/Atlas-RRT/TAMP │
│ D03 双臂协调力控——grasp matrix/内力/协调阻抗/Object Impedance│
│ D04 双臂学习——ACT/ALOHA 底层分析/RDT-1B/bimanual RL │
└──────────────────────────────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────────┐
│ Part 2:主从遥操作与双边力控(子课程三第 9-16 周,8 周) │
│ D05 导论——二端口网络/透明度/四通道架构 │
│ D06 无源通信理论——散射变量/波变量/时延无源性 │
│ D07 TDPA 与工程实现——能量观测器/可变阻尼/ROS2 集成 │
│ D08 运动映射与遥操作数据采集——retargeting/ALOHA/GELLO/UMI │
└──────────────────────────────────────────────────────────────┘
▼
┌──────────────────────────────────────────────────────────────┐
│ Part 3:系统集成与综合实战(子课程三第 17-24 周,8 周) │
│ D09 双臂 MoveIt2 / ros2_control 系统集成 │
│ D10 综合实战——Mini-DualArm 从零搭建 │
└──────────────────────────────────────────────────────────────┘
全部投入:Part 1-3 共 ~24 周,全职等效约 6 个月;业余 15-20 小时/周约 10-14 个月。
周数主表:D01-D04 = 8 周(每章 2 周);D05-D08 = 8 周(每章 2 周);D09-D10 = 8 周(D09 4 + D10 4)。综合大纲、导读和单章建议用时均按此口径汇总。
与其他方向大纲的对照:
| 维度 | 双臂+遥操作(本大纲) | 力控方向(v0.2) | 机械臂方向(v0.1) | 无人机方向(v0.1) |
|---|---|---|---|---|
| 章数 | 10 章(D01-D10) | 10 章(F01-F10) | 17 章(P01-P02 + M01-M15) | 13 章左右,具体编号以无人机方向目录为准 |
| 周数 | ~24 周 | ~28 周 | ~24 周 | ~22 周 |
| 核心数学 | Grasp matrix G、Relative Jacobian、散射/波变量、TDPA | 阻抗方程、Λ/J̄/N、无源性 | 空间向量代数、RNEA/ABA、QP/NLP | 微分平坦、Min-Snap/MINCO |
| C++ 风格 | MoveIt2 dual-arm + OMPL ConstrainedStateSpace + ros2_control 双臂 | ros2_control pluginlib + libfranka | pluginlib 运行时多态 | header-only 编译期 |
| 控制范式 | 协调阻抗 + 波变量通信 + TDPA | τ = J^T F / QP-WBC | JointTrajectoryController | SE(3) 几何控制 / NMPC |
| 与 RL 交叉 | 极高——ACT/RDT-1B/bimanual RL;遥操作是数据采集的核心手段 | 极高——VICES/SERL/FALCON | 中 | 极高(Swift/Nature 2023) |
| 代表项目 | MoveIt2 dual-arm、OMPL Constrained、ALOHA/ACT、RDT-1B、dVRK、GELLO | libfranka、CRISP、mc_rtc | Pinocchio、MoveIt2、BT.CPP | GCOPTER、Fast-Planner |
三大认知跨越(从单臂到多代理协调)¶
跨越一:从"独立关节空间"到"耦合约束流形"。 单臂规划在 7 维 C-space 里自由搜索;双臂共持刚体时,14 维 C-space 被 6 维闭链约束切割为 8 维流形——你只能在这个弯曲的子流形上移动。数学从"J, J⁻¹"转向"约束 Jacobian J_h、切空间投影 P = I - J_h⁺J_h、Atlas chart 拼接"。好消息是:OMPL 的 ConstrainedStateSpace 已经封装了这些,但理解"为什么投影采样有效而自由采样无效"是必须的。
跨越二:从"单端口力控"到"双端口网络"。 单臂阻抗控制处理"机器人-环境"一个交互端口;遥操作处理"操作者-通信-环境"两个端口加一条有损通道。无源性从 ḣ ≤ y^T u(单端口)推广到 h-参数矩阵的 Llewellyn 条件(双端口)。散射变量把力/速度变换为入射波/反射波,使时延通道"免费变成"无损传输线——这个变换的物理直觉(传输线类比)比公式本身更重要。
跨越三:从"位置精度"到"内力管理"。 单臂的目标是"末端到达期望位姿";双臂共持物体时,即使物体位姿正确,两臂之间的**内力**(挤压/拉伸)可能过大(压碎脆性工件)或过小(工件滑脱)。Uchiyama 1988 的 f_c = G⁺w_o + (I-G⁺G)f_int 把力分解为"驱动物体运动的力"和"不产生运动的内力",后者需要独立控制回路——这在单臂中完全不存在。
技能迁移速查¶
| 已有技能(方向 B/C) | 在本方向的对应 | 迁移难度 |
|---|---|---|
| Pinocchio Jacobian(单臂 6×7) | Augmented Jacobian J_aug(12×14)——两臂拼接 | 零迁移 |
| OMPL RRT/BIT*(自由 C-space) | OMPL ConstrainedStateSpace(约束流形上)——概念扩展 | 中 |
| MoveIt2 PlanningScene(单臂) | MoveIt2 dual-arm planning group(双臂 SRDF)——配置扩展 | 低 |
| 笛卡尔阻抗控制(单端口) | 协调阻抗(双端口) + Object Impedance(物体层) | 中 |
| 无源性证明(ḣ ≤ y^T u) | Llewellyn 稳定准则 + 散射/波变量无源性 | 中——概念一致但数学扩展 |
| QP-WBC(单臂/腿足) | 双臂 QP-WBC(加 Grasp matrix 约束) | 低——只加约束行 |
| Hogan 阻抗方程 | Object Impedance M_o ẍ_o + D_o ẋ_o + K_o x̃_o = f_ext | 低——公式结构一致 |
| ros2_control ControllerInterface | 双臂两个 controller 同步调度 | 低 |
| RL 训练(Isaac Lab PPO/SAC) | 双臂 RL(robosuite TwoArm envs) | 低——换环境即可 |
| Diffusion Policy / ACT 概念 | ACT 双臂 action chunking / RDT-1B 128 维统一 action | 低 |
| 1 kHz 实时编程概念 | 遥操作双边力控 1 kHz + 通信时延处理 | 中——加通信层 |
Part 1:双臂协同理论与规划(子课程三第 1-8 周)¶
本部分定位:双臂协同操作的核心问题是"14 维 C-space 中的 6 维耦合"。D01 讲协调运动学和任务分类;D02 深入闭链约束规划和 TAMP;D03 讲协调力控(grasp matrix、内力、协调阻抗);D04 讲双臂学习(ACT/ALOHA/RDT-1B 的底层控制分析)。四章构成双臂协同的**完整理论-规划-控制-学习链路**。