C00_序章上篇_全景与四分法
本文档属于 Robotics Tutorial 项目,作者:Pengfei Guo,达妙科技。采用 CC BY 4.0 协议,转载请注明出处。
序章导论(上):机器人规控 C++ 技术栈全景 —— 四分法与基础设施¶
文件类型:辅助导读文件(不适用教学章节完整规范,无需前置自测/陷阱专栏/练习题等教学模块)
定位:主体 24 章大纲(Ch47-70)完成后的**回顾性序章**——从走完 24 章的高度回看"我为什么要学这些、它们在整个机器人控制里的位置" 读者:已完成 v8 SLAM 主线 Ch1-46 和 / 或腿足主线 Ch47-70 的学习者,或打算开始的学习者 上篇内容:全景架构 + 四分法详解 + 基础设施共用性 下篇内容:自驾特殊地位 + 横向方法论前沿 + 学习路径建议
0.1 为什么需要这份序章¶
如果你直接翻开 Ch47,会立即陷入 Pinocchio 的浮动基座动力学、CppAD 自动求导、Centroidal Momentum —— 每个都是具体的技术点,但你看不到整张地图。
看不到地图的后果: - 不知道学的东西能用到哪里 - 不知道哪些是"基础设施"(无论做什么方向都要),哪些是"专精"(只对某一类机器人适用) - 不知道你走的这条路在博士预备语境下属于什么位置 - 做技术选型时只能"跟着感觉走"
这份序章解决这个问题。学完主体 24 章再回来看本序章,你会有"啊,原来我走的是这条大路"的豁然开朗。
本序章给出的**不是新知识**,而是**已学知识的组织方式**。
0.2 第一原则:机器人的"规控"到底是什么¶
"规划与控制"(Planning and Control,简称"规控")**在机器人语境下的**精确含义:
| 子任务 | 问题 | 时间尺度 | 数学工具 |
|---|---|---|---|
| 全局规划(Global Planning) | "从 A 点到 B 点,走什么路径" | 秒到分钟 | 图搜索、采样规划、优化 |
| 局部规划(Local Planning) | "未来几秒内轨迹怎么走,避开障碍" | 0.1 - 1 秒 | MPC、轨迹优化 |
| 轨迹跟踪(Trajectory Tracking) | "给定参考轨迹,如何让机器人跟上" | 几毫秒 | LQR、PID、反馈控制 |
| 低层控制(Low-level Control) | "给电机多少扭矩 / 电流 / 电压" | 亚毫秒 | 电流环、伺服 |
"规控工程师"在不同机器人领域的工作重心不同: - 无人机:局部规划(避障)+ 轨迹跟踪(姿态控制)是核心 - 机械臂:全局规划(配置空间)+ 轨迹跟踪(关节伺服) - 腿足:全栈都要——但**局部规划(MPC)+ 轨迹跟踪(WBC)** 最关键 - 自驾:全局规划(车道规划)+ 局部规划(预测 / 决策)占大头
你走的这条腿足路线,属于"全栈规控"——这是最复杂也最有挑战的一类。假如没有接触力学和混合系统理论,腿足规控就退化为普通的全驱动控制问题——正是接触切换引入的离散-连续混合结构,让腿足成为控制理论中最富挑战的前沿。
0.3 机器人本体分类 —— 四分法¶
一个核心观察:规控算法的**数学结构、代码栈、工程习惯**都由**机器人本体类型**决定。
这好比编程语言的类型系统——同一段"控制逻辑"在不同本体上的实现差异,远大于同一本体上不同控制算法之间的差异。就像 C++ 和 Python 写同一个排序算法,算法一样但实现完全不同;无人机和腿足写同一个"保持平衡",目标一样但数学结构天差地别。
不同本体的**差异**比**共性**要大得多。所以我们按本体分类。
0.3.1 为什么选择"四分法"¶
常见的其他分类: - 按用途分(工业 / 服务 / 军事):用途和控制栈无关 - 按自由度分:机械臂 7 DOF、四足 12 DOF、人形 30+ DOF—— 连续谱,不好切 - 按驱动方式分(电机 / 液压 / 气动):控制抽象层相似,实现细节不同
我们的分类标准:"规控的数学结构和代码栈的主要形态"。按此标准:
┌─────────────────────────────────────────────────┐
│ 机器人规控 C++ 技术栈 │
└─────────────────┬───────────────────────────────┘
│
┌─────────┴─────────┬─────────┬──────────┐
▼ ▼ ▼ ▼
[A] 无人机 [B] 纯机械臂 [C] 纯腿足 [D] 复合机器人
(飞行器) (固定基座) (浮动基座) (腿+臂 / 轮+腿)
标注: - [C] 和 [D] 都是浮动基座(Floating Base)——欠驱动(基座 6 DOF 无电机)。数学上最复杂。 - [B] 是固定基座,全驱动(每个关节都有电机)——最简单。 - [A] 是完全没有关节(刚体),但姿态控制有其独特数学结构(SO(3) 流形 + 推力矢量化)。
**自驾**不在此分类内——我们稍后在"下篇"详细说明为什么。
0.3.2 四类的速览表¶
| 维度 | [A] 无人机 | [B] 纯机械臂 | [C] 纯腿足 | [D] 复合机器人 |
|---|---|---|---|---|
| 代表机器人 | DJI、Skydio、PX4 生态 | Panda、UR5、iiwa | Unitree Go2/G1、ANYmal | Mobile ALOHA、HumanPlus、Spot+Arm |
| 自由度 | 6(位置+姿态) | 6-7 | 12-30(含基座) | 20-50 |
| 基座性质 | 浮动(气动) | 固定 | 浮动(接触驱动) | 浮动(接触驱动) |
| 核心数学工具 | SO(3)、几何控制 | 固定基座动力学、IK | 浮动基座+接触力学、WBC | 上面两者的组合 |
| 核心算法栈 | 姿态 PX4 / 轨迹 Fast-Planner | MoveIt! + OCS2 机械臂 | OCS2 + Crocoddyl + WBC | 任务层:loco-manipulation MPC |
| 实时要求 | 角速率 250-1000 Hz、轨迹 50 Hz | 关节 1 kHz | WBC 1 kHz + MPC 50 Hz | 同 [C] |
| 感知依赖 | 高(视觉 / VIO) | 低(关节编码器) | 中(高程图) | 高(视觉 + 高程图) |
| 主导范式 | 传统优化为主 | 传统优化为主 | 优化 ↔ RL 剧烈竞争 | RL 开始占上风 |
| 典型代码栈 | PX4、MAVROS、Fast-Planner | MoveIt!、KDL、OCS2-arm | OCS2、Crocoddyl、TSID、legged_control | 腿足栈 + ALOHA / Mobile-ALOHA |
你选的:[C] 纯腿足,以四足为主(人形因为已被 RL 范式统治,本大纲作为延伸提及但不深讲)。
0.4 [A] 无人机 —— 刚体姿态控制的极致¶
0.4.1 数学结构¶
无人机的状态是**6 DOF 刚体**:位置 \(\boldsymbol{p} \in \mathbb{R}^3\) + 姿态 \(\boldsymbol{R} \in SO(3)\)。
动力学(Newton-Euler):
其中 \(T\) 是总推力(标量),\(\boldsymbol{\tau}\) 是机体坐标系下的力矩。
关键特征:欠驱动——4 个输入(\(T, \tau_x, \tau_y, \tau_z\))控制 6 个自由度(位置 3 + 姿态 3)。必须**通过姿态实现水平推进**——姿态和位置强耦合。如果不利用姿态耦合会怎样?四旋翼只能垂直上下,永远无法水平移动——正是因为倾斜机身才能将推力分解出水平分量,这就是欠驱动系统的本质约束。
0.4.2 主流算法栈¶
姿态层(亚毫秒级): - 级联 PID(P+PID):PX4 默认,工业主流 - 几何控制(Lee 2010):在 SO(3) 流形上直接写反馈控制律,不奇异 - MPC 姿态:少数研究,大多数不用(姿态 PD 已很好)
位置层(10-100 Hz): - Cascaded PID:PX4 默认,鲁棒 - MPC:Fast-Planner、EGO-Planner-v2 系列 - 微分平坦(Differential Flatness):无人机状态可以用位置 + yaw 的高阶导数完全确定——极其优雅的数学结构。如果不利用微分平坦性质,轨迹规划就必须同时求解姿态和位置的耦合约束,计算量暴增且容易陷入局部最优
0.4.3 C++ 代码栈¶
- PX4 Autopilot(C++,开源,工业标准)
- MAVROS(ROS 桥接)
- Fast-Planner / EGO-Planner-v2(港科大、浙大开源局部规划)
- OMPL(规划库,也可以用于机械臂)
0.4.4 与腿足的共享 vs 差异¶
共享: - Eigen / 李群(SO(3))/ 优化框架(OSQP、qpOASES) - 实时 Linux / PREEMPT_RT - ROS2 中间件
差异: - 无接触力学——无人机不碰地(或只瞬间碰撞),没有 Ch52 摩擦锥和互补约束那些东西 - 标准多旋翼无 WBC 需求(无关节层要求;空中操作方向有类 WBC 架构) - 规划工具不同——无人机用 A* / RRT / Graph Search 多,腿足更依赖 Raibert / MPC
如果你学完腿足,转无人机需要补什么: - 微分平坦理论(几何控制的数学根源) - 空气动力学建模(涉及风扰动等) - VIO 快速视觉里程计(无 LiDAR 时的常用)
上面我们看到,无人机虽然欠驱动,但它的状态空间是连续的——没有接触切换。接下来的机械臂走向了另一个极端:全驱动、固定基座,数学上最简单,但工程上有自己独特的挑战。
0.5 [B] 纯机械臂 —— 固定基座的经典¶
0.5.1 数学结构¶
全驱动固定基座:每个关节一个电机,状态是关节角 \(\boldsymbol{q} \in \mathbb{R}^n\)。
动力学(Lagrangian / Newton-Euler):
关键特征:没有浮动基座(基座 bolt 在地上),全驱动(所有 DOF 都有电机)。数学最简单——但**IK(Inverse Kinematics)**和**碰撞规避**是工程痛点。
0.5.2 主流算法栈¶
IK / 规划层: - 数值 IK:Jacobian 伪逆、DLS(阻尼最小二乘)、TRAC-IK - 运动规划:RRT、RRT*、PRM、KPIECE,全部在 OMPL 里 - MoveIt!:ROS 生态的规划集成框架(但不是最新最好)
控制层: - 关节位置 PD + 重力补偿:工业 80% 的机械臂这样做(简单、鲁棒、够用) - 计算力矩控制:\(\boldsymbol{\tau} = \boldsymbol{M}(\ddot{\boldsymbol{q}}_d + K_p e + K_d \dot{e}) + \boldsymbol{h}\)——需要精确模型 - 阻抗 / 导纳控制:协作机器人(人机交互)的主流——Franka Panda、UR 都支持 - MPC / iLQR:研究前沿(Crocoddyl)
0.5.3 C++ 代码栈¶
- KDL(Kinematics and Dynamics Library)、Orocos 系列(老,工业用)
- Pinocchio(新,学术标准)
- MoveIt!(规划集成)
- OMPL(规划算法库)
- libfranka(Franka Panda 的 C++ SDK)
- Crocoddyl(研究级 MPC,机械臂和腿足通用)
0.5.4 与腿足的共享 vs 差异¶
共享: - Pinocchio 动力学库(全套)——机械臂和腿足都用,只是机械臂是固定基座、腿足是浮动基座的差异 - Crocoddyl 轨迹优化——可以跑机械臂,也可以跑腿足 - Eigen / CppAD / 优化求解器 - ROS 2 + ros2_control
差异: - 浮动基座 vs 固定基座——数学上一个是 SE(3) + 关节,另一个纯关节 - 接触力学——机械臂不处理接触(除了抓握,是独立的数学) - WBC——机械臂不需要(全驱动)。不过阻抗控制的某些变体接近 WBC
如果你学完腿足,转机械臂的门槛相对较低——技术栈大量重合,机械臂相对是"腿足的简化版本"。
无人机是连续欠驱动,机械臂是全驱动固定基座——两者各自只有一层复杂性。腿足机器人同时面对"欠驱动"和"离散接触切换"两重挑战,这正是它数学上最复杂的根本原因。
0.6 [C] 纯腿足 —— 浮动基座 + 接触切换的双重复杂(你的主方向)¶
0.6.1 数学结构(详细说明,因为你主攻这个)¶
浮动基座的复杂性:
状态 \(\boldsymbol{q} = (\boldsymbol{q}_{\text{base}}, \boldsymbol{q}_{\text{joint}}) \in SE(3) \times \mathbb{R}^{n_{\text{joint}}}\),速度 \(\boldsymbol{v} = (\boldsymbol{v}_{\text{base}}, \dot{\boldsymbol{q}}_{\text{joint}}) \in \mathbb{R}^6 \times \mathbb{R}^{n_{\text{joint}}}\)。
动力学方程(含接触):
关键特征: - 欠驱动:\(\boldsymbol{S}\) 是选择矩阵(前 6 行是 0),基座不能直接被扭矩驱动——必须**通过接触力间接控制** - 接触模式切换:每次步态切换,\(\boldsymbol{J}_c\) 和接触约束集合变化——混合系统 - 浮动基座 SE(3) 流形:不能用标准欧氏 KF,需要 ESKF / InEKF
这三条就是为什么腿足的 Ch47-70 比机械臂难那么多。
本质洞察:腿足机器人的基座不是"自由飘浮",而是"通过脚底接触力间接驱动"。这意味着机器人的每一步行走都是一个隐式的控制分配问题——你必须同时决定"踩哪里"和"踩多大力",才能让基座按期望轨迹运动。这就是为什么腿足需要 MPC(规划接触力序列)+ WBC(在关节层执行接触力)的双层架构。
0.6.2 控制层级 —— 五级架构¶
任务层(1-10 Hz) 行为树 / FSM / 命令
↓
全局规划(0.1-1 Hz) TOWR / MIQP / GCS (离线或低频)
↓
MPC(10-100 Hz) OCS2 SQP / Crocoddyl DDP
↓
WBC(500-1000 Hz) TSID / legged_wbc / HierarchicalWbc
↓
关节伺服(1-10 kHz) Unitree SDK / 电机驱动器内部
每级对应的主要章节: - 任务层:Ch56 步态管理、Ch68 FSM - 全局规划:Ch58-59 落脚点规划 - MPC:Ch54 DDP、Ch55 OCS2、Ch67 Perceptive MPC - WBC:Ch53 - 关节伺服:Ch62
0.6.3 主流算法栈速览(已学)¶
规划 / MPC: - OCS2(ETH,ANYmal / Unitree 用) - 你的主力 - Crocoddyl(LAAS-CNRS,研究原型 / 机械臂为主) - Aligator(Crocoddyl 下一代,ProxDDP + ParallelRiccati) - TOWR(离线轨迹优化,教学经典) - MIT Cheetah Convex MPC(凸 MPC,轻量嵌入式)
WBC: - TSID(Pinocchio 生态,工业级) - legged_control 轻量 WBC(HierarchicalWbc,300 行教学友好) - bipedal_locomotion_framework TSID(iCub 生态变体)
状态估计: - LinearKalmanFilter(legged_control,入门) - InEKF(Ross Hartley 开源,标准) - Factor Graph(BLF,学术前沿)
RL 训练: - IsaacLab + legged_gym + rsl_rl(ETH 系,事实标准) - Brax / MJX(JAX 生态,可微仿真前沿)
RL 部署: - TorchScript + LibTorch(PyTorch 原生) - ONNX Runtime + TensorRT(跨框架 / 嵌入式) - rl_sar(腿足 RL 部署框架)
0.6.4 为什么腿足最复杂¶
复杂度排序(从易到难):
- 机械臂:固定基座 + 全驱动 + 无接触切换 = 基础款
- 无人机:刚体 + 欠驱动 + 但连续控制 = 中等
- 腿足:浮动基座 + 欠驱动 + 离散接触切换 = 困难
- 复合(腿+臂):腿足 + 物体交互 = 极难
腿足的独特之处:同时要处理"动力学 + 控制 + 感知 + 学习"四大子领域的前沿。
这就是为什么本大纲**24 章、约 27 周增量(含 v8 主线共约 75 周)**——是其他三类的 2-3 倍。
0.6.5 足式机器人的技术发展脉络¶
理解腿足控制技术栈的现状,离不开对其发展历程的回顾。硬件、仿真器和控制算法三条技术线索的演进相互交织,共同塑造了今天的技术格局。
硬件驱动方式的演变
足式机器人的发展离不开执行器硬件的进步。对于基于力控的足式机器人,执行器的驱动方式主要经历了三个阶段:
- 液压驱动(早期主流):功率密度大,可输出巨大力矩,且不驱动关节时不消耗能量。但缺点是输出控制精度低、存在非线性动力学、难以实现高频控制,且价格和维护成本高昂,因此在后期逐渐被替代。
- 高减速比电机驱动(过渡期):早期电机功率密度低,需要大减速比减速器来输出大扭矩,但大减速比带来了较大的摩擦力和反射惯量,导致无法输出可控扭矩,且难以加入传感器进行扭矩观测。
- 低减速比/准直驱电机驱动(当前主流):现代电机实现了高功率密度下的可控扭矩输出和高带宽控制,同时通过反驱动能力(backdrivability)缓冲冲击。正是这一硬件突破,使低成本高性能的四足机器人(如 MIT Cheetah、Unitree Go 系列)成为可能。
工程延伸:当前也有电液混合驱动的研究方向,结合液压的静止无功耗特性实现高负载场景下的低能耗运动,虽然无法实现纯电机四足的高动态性能,但在重载应用中有独特优势。
仿真器的演进
高效准确的仿真器是算法验证的核心工具。早期仿真环境使用弹簧-阻尼器(惩罚法)模拟接触,更适合柔性接触而非刚性接触,提高系统刚度会导致计算成本暴增,难以反映真实的接触动力学。
随着图形学和计算硬件的发展,高性能仿真器逐步成熟:基于 CPU 的仿真器(如 Gazebo、MuJoCo)提供了精确的物理建模;基于 GPU 的仿真器(如 Isaac Lab)则实现了大规模并行仿真能力——每秒数十万次状态转换采集,这为 RL 方法的训练提供了根本性的基础设施保障。
控制算法的范式迁移
控制算法经历了从简单模型到复杂优化、再到数据驱动的三个主要阶段:
- 简化模型时期:使用倒立摆模型(LIPM)、单刚体模型(SRBD)等进行建模与控制,降低计算复杂度。
- 基于优化的方法:早期的 QP 平衡控制器只优化当前时刻的接触力,缺乏预测能力;后续 MPC 方案成为主流,采用接触规划分离策略并结合全身控制(WBC),实现了出色的运动表现。但这类方法难以扩展到接触交互等不确定性场景,且难以融合感知信息。
- 强化学习方法:DRL 依赖仿真环境中的大量试错进行策略学习,一旦学出最优策略,推理时仅需简单的网络前向传播即可实现快速控制。RL 方法在泛化性和鲁棒性上展现出独特优势,但也面临 sim-to-real 迁移和安全性保证等挑战。
这两种范式——基于优化和基于学习——实质上都是通过某种目标函数(代价函数或奖励函数)来求解最优策略,只是优化路径不同。当前主流研究越来越倾向于两者的融合(见 Ch65)。
腿足本身已经是四类中最复杂的。如果在腿足底盘上再加一条或两条机械臂,复杂度会进一步叠加——这就是复合机器人的领域。
0.7 [D] 复合机器人 —— 腿足 + 操作的叠加¶
0.7.1 为什么是独立一类¶
复合机器人 = 腿足底盘 + 机械臂(或**轮式底盘** + 机械臂),完成移动 + 操作的结合任务。
例子: - Mobile ALOHA(Stanford):双臂 + 轮式底盘 - HumanPlus(Stanford):人形 + 完整两条手臂 - Spot + Arm(Boston Dynamics):四足 + 机械臂 - G1 + 操作(Unitree):人形
"复合"的数学形式化:
状态 \(\boldsymbol{q} = (\boldsymbol{q}_{\text{base}}, \boldsymbol{q}_{\text{leg}}, \boldsymbol{q}_{\text{arm}})\),动力学统一:
新增的困难: - 物体动力学:手抓住的物体也是系统的一部分,其质量和位姿影响整体平衡 - loco-manipulation 步态:手在操作时腿要适应(站稳 / 反向扭身保持平衡) - 接触模式爆炸:四脚 × 两手 = 多种可能组合
0.7.2 主流算法栈¶
这个方向还在快速发展,不像腿足那样有成熟 OCS2。典型架构:
- 腿足部分:OCS2 或自研 MPC
- 手臂部分:独立的 IK / impedance control
- 联合 MPC:用 OCS2 扩展(ocs2_mobile_manipulator)或 Crocoddyl
新趋势(2023-2025):VLA 模型(Vision-Language-Action)**直接处理复合任务: - **RT-2(Google DeepMind) - OpenVLA - π0(Physical Intelligence)
这些大模型的输出直接是**关节空间动作**,不再分层——走完全不同的路线。
0.7.3 学习路径¶
如果你学完腿足主体后想拓展到复合: - 补 0.5 机械臂的基础(IK、阻抗控制、MoveIt!) - 看 Mobile ALOHA / HumanPlus 的开源代码和论文 - 关注 loco-manipulation 综述(OCS2 Sleiman 2021 的 RA-L 论文) - 研究 VLA 模型是否适合你的场景
本大纲**不详细讲**复合机器人——因为你先主攻腿足,学完再扩展最高效。
上面我们逐一审视了四类本体的数学结构和算法栈。一个自然的问题是:它们之间有没有共享的部分?如果有,学一次就能四处复用,这对学习效率至关重要。
0.8 基础设施层 —— 四类共享的技术栈¶
关键观察:虽然四类本体数学不同,但**底层的工程基础设施高度共享**。这好比不同类型的建筑(住宅、商业、工厂)虽然上层结构完全不同,但地基、钢筋、水泥这些基础材料是通用的。机器人的"基础材料"就是 Eigen、李群、ROS 和实时 Linux。
0.8.1 共享基础设施的分层¶
┌───────────────────────────────────────────────────────┐
│ 第 7 层:机器人专用(各类本体自己的算法) │
│ - 腿足:OCS2、Crocoddyl、TSID、legged_control │
│ - 无人机:PX4、Fast-Planner │
│ - 机械臂:MoveIt!、libfranka │
│ - 复合:VLA、Mobile ALOHA │
└───────────────────┬───────────────────────────────────┘
│
┌───────────────────▼───────────────────────────────────┐
│ 第 6 层:机器人通用(多本体通用) │
│ - Pinocchio(动力学) │
│ - CppAD / CasADi(自动求导) │
│ - 优化器:OSQP、qpOASES、HPIPM、ProxQP、Ipopt、ProxDDP│
│ - 规划器:OMPL │
└───────────────────┬───────────────────────────────────┘
│
┌───────────────────▼───────────────────────────────────┐
│ 第 5 层:数学与估计基础 │
│ - Eigen、Sophus、manif(矩阵 + 李群) │
│ - Ceres、GTSAM(因子图) │
│ - 概率 / 状态估计:KF / EKF / ESKF / InEKF │
└───────────────────┬───────────────────────────────────┘
│
┌───────────────────▼───────────────────────────────────┐
│ 第 4 层:实时系统 │
│ - PREEMPT_RT 内核 │
│ - SCHED_FIFO / mlockall │
│ - 无堆分配(pmr / Eigen_runtime_no_malloc) │
│ - ros2_control │
└───────────────────┬───────────────────────────────────┘
│
┌───────────────────▼───────────────────────────────────┐
│ 第 3 层:中间件与通信 │
│ - ROS 2 / DDS(Fast DDS / Cyclone DDS) │
│ - LCM(MIT 系) │
│ - 协议层:CAN / EtherCAT / UDP │
└───────────────────┬───────────────────────────────────┘
│
┌───────────────────▼───────────────────────────────────┐
│ 第 2 层:C++ 语言与工具链 │
│ - Modern C++(C++17/20) │
│ - CMake、conan / vcpkg │
│ - 调试:gdb、valgrind、perf │
└───────────────────┬───────────────────────────────────┘
│
┌───────────────────▼───────────────────────────────────┐
│ 第 1 层:操作系统与硬件 │
│ - Linux(Ubuntu / Debian,RT 内核) │
│ - x86_64 / ARM(Jetson / 自研板) │
│ - 电机驱动器(TMotor / ODrive / 自研) │
└───────────────────────────────────────────────────────┘
0.8.2 每层的共享深度(重要!)¶
| 层 | 四类本体共享程度 | 典型学习时间 | 所属主线 |
|---|---|---|---|
| 第 1-2 层(OS + C++) | 100% 共享 | 3-6 月 | v8 Ch1-16 |
| 第 3 层(中间件) | 90% 共享(DDS 都用) | 2-4 月 | v8 Ch30-31 |
| 第 4 层(实时) | 80% 共享(各自对实时要求强度不同) | 1-2 月 | v8 Ch17-20 + 腿足 Ch61 |
| 第 5 层(数学) | 85% 共享(李群、KF 都通用) | 3-6 月 | v8 Ch21-26 + 腿足 Ch47-52 |
| 第 6 层(机器人通用) | 60-70% 共享(Pinocchio 虽通用但不同本体用法差别大) | 4-8 月 | 腿足 Ch47-50 |
| 第 7 层(本体专用) | 0% 共享(每类独立) | 6-18 月 | 各本体主线 |
关键启示:
你在 v8 SLAM 主线(Ch1-46)学到的基础设施(第 1-5 层)**对**任何机器人方向都适用——SLAM、腿足、无人机、机械臂一视同仁。
本腿足大纲(Ch47-70)**主要填充**第 6-7 层——机器人通用(Pinocchio、优化器)+ 腿足专精(OCS2、WBC、步态)。
这就是为什么腿足是扩展 SLAM 背景的天然方向——你不用重学任何基础设施,只要补机器人专用层。
0.8.3 跨方向迁移的工程量估算¶
从 SLAM 工程师转:
| 目标 | 新学量 | 时间估算 |
|---|---|---|
| 无人机(规控) | PX4 架构 + 几何控制 + 微分平坦 | 2-3 个月 |
| 机械臂(规控) | 固定基座动力学 + MoveIt! + 阻抗控制 | 3-4 个月 |
| 腿足(你选的) | 浮动基座 + 接触力学 + MPC/WBC + RL | 12-18 个月(本大纲) |
| 复合机器人 | 腿足基础 + 物体操作 + VLA | 腿足之上加 6-12 月 |
选腿足不是"最容易"的路径,但是"上限最高"的路径——学完腿足,其他三类都容易了。这就像学钢琴时从最难的肖邦练起:如果你能驾驭腿足的浮动基座+接触切换+欠驱动三重挑战,固定基座的机械臂和连续控制的无人机就如同降维打击。
本质洞察:四分法的分类标准不是任意的——它反映了一个深层的数学事实:机器人控制的核心难度来自"状态空间的拓扑结构"。固定基座是欧氏空间,浮动基座是 SE(3) 流形,接触切换是混合自动机。每增加一层拓扑复杂性,控制器设计的难度就跃升一个台阶。
0.9 小结(上篇)¶
本文上半部分建立了**机器人规控的鸟瞰图**:
- 规控 = 全局规划 + 局部规划 + 跟踪 + 低层 的四级系统
- **四分法**按本体分类:[A] 无人机 / [B] 纯机械臂 / [C] 纯腿足 / [D] 复合
- 腿足([C])复杂度最高——浮动基座 + 接触切换 + 欠驱动
- 基础设施 7 层——底 5 层 80% 共享,最上 2 层本体专用
- 从 SLAM 背景过渡——基础设施 100% 通用,腿足主要补机器人层 + 腿足专精层
下篇预告: - 自驾为什么不在四分法内 - 横向方法论前沿(VLA、Differentiable Sim、World Models) - 学习路径建议(主修一类 + 辅修其他) - 与 SLAM 主线的精确对接点 - 整体知识体系的最终图