00 Robotics 全局框架
这页是全站的总坐标系。读完它,你应该能把任何机器人论文、课程、项目或产品放回同一张地图,而不是被模型名和平台名带着走。
Robotics 的第一性原理不是“让模型输出动作”,而是:
让一个具身物理系统,在不确定环境中,用有限传感、有限计算和有限执行能力,安全地改变世界状态。
这句话拆开,就是 robotics 的全局版图。
0. 一张压缩地图
先把 robotics 想成下面这条链:
Body + Environment + Task
-> Sensors
-> State / Belief
-> World Model
-> Intent / Plan
-> Controller
-> Actuation
-> New World
从左往右看,它是一套系统 pipeline;从右往左看,它是一套约束传播:
| 方向 | 你在问什么 | 直觉 |
|---|---|---|
| 从左往右 | 信息如何变成动作 | sensor data 逐步变成 state、map、plan、control command |
| 从右往左 | 物理约束如何限制算法 | 电机、接触、延迟、安全边界会反过来限制 planner 和 learning policy |
| 循环看 | 行动如何改变下一次感知 | robot 不是离线预测器,而是每次 action 都会改变未来数据分布 |
第一遍阅读时,最重要的不是记住所有算法,而是知道任何算法位于这条链的哪一段、输入输出是什么、失败会传给谁。
1. 三个根问题
所有 robotics 问题都可以放进三个根问题里:
| 根问题 | 直观含义 | 对应学科 / 模块 |
|---|---|---|
| What is the world? | 世界现在是什么状态,我知道多少,不确定性多大 | perception, state estimation, SLAM, mapping |
| What should happen next? | 为了完成任务,下一步应该让世界怎样变化 | task planning, motion planning, trajectory optimization, learning policy |
| How do we make it happen? | 真实身体如何稳定、安全、实时地执行这个变化 | control, dynamics, actuation, realtime systems, safety |
这三个问题循环发生:
World -> Belief -> Intent -> Control -> Physical change -> New world
很多初学者会把机器人理解成“感知 + 决策 + 控制”的线性 pipeline,但真实系统更像一个多频率闭环:底层控制每毫秒修正,高层任务每秒甚至每分钟才更新。
2. Robotics 的三个坐标轴
理解一个机器人方向时,不要先问“用了什么模型”,先问它位于哪三个坐标轴上。
坐标轴 A:身体 Embodiment
身体决定问题的物理性质。
| 身体类型 | 核心约束 | 典型难点 |
|---|---|---|
| 轮式机器人 | 非完整约束、地面摩擦、避障 | navigation, localization, dynamic obstacle |
| 机械臂 | 高维关节、碰撞、末端精度 | IK, motion planning, grasping |
| 无人机 | 欠驱动、快速姿态控制、能耗 | VIO, trajectory tracking, SE(3) control |
| 腿足机器人 | 离散接触、平衡、全身协调 | locomotion, MPC, whole-body control |
| 自动驾驶车辆 | 道路规则、预测、安全冗余 | perception, prediction, behavior planning |
| 人形机器人 | 腿足 + 操作 + 长时程任务 | whole-body control, dexterity, safety |
AI 模型可以换,但身体约束不会消失。机器人研究中的很多差异,本质上来自身体差异。
坐标轴 B:环境 Environment
环境决定不确定性和开放性。
| 环境 | 特点 | 适合方法 |
|---|---|---|
| 工厂 | 结构化、可控、重复 | classical planning, calibration, industrial control |
| 仓库 | 半结构化、动态障碍、人车混行 | SLAM, navigation, fleet coordination |
| 家庭 | 非结构化、物体多样、人类行为复杂 | perception, manipulation learning, HRI |
| 道路 | 强规则、多主体、高安全要求 | fusion, prediction, behavior planning, verification |
| 野外 | 地形复杂、感知退化、通信受限 | robust localization, terrain reasoning, autonomy |
越开放的环境,越需要 learning 和语义理解;越安全关键的环境,越需要约束、冗余和验证。
坐标轴 C:任务 Task
任务决定时间跨度和可验证性。
| 任务层级 | 问的问题 | 典型表示 |
|---|---|---|
| Servo | 这一毫秒怎么修正误差 | torque, velocity, PID, LQR |
| Trajectory | 这一秒到几秒怎么运动 | states over time, MPC, trajectory optimization |
| Motion | 几何上怎么从 A 到 B | path, configuration space, RRT, A* |
| Skill | 如何完成一个局部动作 | grasp, insert, open, push |
| Task | 多个技能如何组成目标 | behavior tree, TAMP, symbolic plan |
| Mission | 长时间自主完成目标 | monitoring, replanning, human oversight |
很多系统失败,是因为任务层级混在一起:高层模型直接输出低层动作,或者低层控制器被迫处理语义规划问题。
3. 时间尺度:机器人系统的隐藏主线
Robotics 的全局观必须包含时间尺度。不同模块运行频率不同,接口也不同。
| 层级 | 典型频率 | 负责什么 | 失败表现 |
|---|---|---|---|
| Motor / current loop | 1-20 kHz | 电机电流、力矩响应 | 发热、抖动、执行器饱和 |
| Joint / body control | 100-1000 Hz | 姿态、关节、速度跟踪 | 振荡、跟踪误差、失稳 |
| State estimation | 30-400 Hz | pose、velocity、bias、joint state | 漂移、延迟、状态跳变 |
| Perception | 5-60 Hz | 物体、障碍、语义、深度 | 误检、漏检、遮挡失败 |
| Local planning | 5-50 Hz | 短期避障、局部轨迹 | 卡住、贴障、急转 |
| Global / task planning | 0.1-5 Hz | 长期路线、任务顺序 | 子目标错误、无法恢复 |
| Human / operations | minutes-hours | 监督、维护、复盘 | 无法定位问题、不可维护 |
所以“端到端”不是不能做,而是要说明它替代的是哪一层、输出频率是多少、如何处理安全边界和失败恢复。
4. Robotics 的核心表示
一个领域是否真正理解,取决于是否知道它在操作什么表示。
| 表示 | 符号 / 形式 | 解决什么 |
|---|---|---|
| Configuration | q | 机器人几何姿态或关节配置 |
| State | x | 位姿、速度、偏置、关节状态等动态状态 |
| Observation | z | noisy sensor measurement |
| Belief | p(x given z) | 带不确定性的状态估计 |
| Map | occupancy, point cloud, TSDF, semantic map | 世界结构 |
| Cost | collision, smoothness, energy, risk | 规划和优化目标 |
| Trajectory | x(t), u(t) | 随时间变化的状态和控制 |
| Policy | pi(a given o) | 从观察到动作的映射 |
| Controller | feedback law | 在扰动下稳定执行 |
| Safety constraint | barrier, limit, monitor | 不进入危险集合 |
如果一个算法没有说清输入输出和表示,它很难被放进真实机器人系统。
5. 经典算法和学习方法的分工
Robotics 不是 classical vs learning 的二选一。更成熟的判断是:
| 问题性质 | 更适合 classical | 更适合 learning |
|---|---|---|
| 几何约束明确 | collision checking, IK, A*, RRT | learning heuristic / cost |
| 动力学可建模 | LQR, MPC, model-based control | residual model, adaptive policy |
| 感知复杂 | calibration, geometry, filtering | detection, segmentation, pose, affordance |
| 接触难建模 | impedance, force control | manipulation policy, tactile policy |
| 任务规则明确 | symbolic planning, behavior tree | language-conditioned planning |
| 泛化需求强 | safety wrapper, monitor | foundation model, VLA, imitation learning |
一个常见强系统长这样:
Deep perception -> probabilistic state estimation
-> classical planner / optimizer
-> feedback controller
-> safety monitor
或者:
VLA / learned policy proposes action
-> geometric feasibility check
-> controller executes
-> runtime monitor handles fallback
6. 子领域如何归位
| 子领域 | 主要矛盾 | 最关键模块 |
|---|---|---|
| Mobile robotics | 未知环境中定位和安全移动 | SLAM, navigation, local planning |
| Manipulation | 高维运动和接触不确定性 | perception, IK, motion planning, force control |
| Legged robotics | 离散接触下保持动态稳定 | dynamics, MPC, whole-body control, RL |
| UAV | 快速三维运动和姿态稳定 | VIO, trajectory generation, SE(3) control |
| Autonomous driving | 多主体预测和安全决策 | fusion, prediction, behavior planning, verification |
| Human-robot interaction | 人类意图、可解释性和安全协作 | intent inference, shared autonomy, social navigation |
| Robot learning | 难建模任务的数据驱动策略 | IL, RL, sim-to-real, VLA |
| Humanoid | 腿足、操作、语义任务的统一 | whole-body control, dexterity, foundation policies |
这张表的意义是:看到任何论文或产品 demo,先把它放到“主要矛盾”里,而不是只看模型名字。
7. 失败诊断地图
真实机器人最重要的能力之一,是知道失败来自哪一层。
| 现象 | 可能根因 | 优先检查 |
|---|---|---|
| 机器人定位慢慢漂 | odometry drift, loop closure 失败, calibration 错 | state estimation, SLAM, TF |
| 看到物体但抓不到 | pose error, grasp frame 错, IK 不可达 | perception-to-planning interface |
| 路径存在但走不过去 | local planner / controller 不匹配 | costmap, dynamics constraint, controller |
| 轨迹抖动 | controller gain, latency, action frequency | control loop, actuator limit |
| 仿真成功现实失败 | sim-to-real gap, sensor noise, actuator delay | calibration, domain randomization, system ID |
| 策略偶尔危险 | missing safety constraint, distribution shift | safety monitor, fallback, data coverage |
| 系统偶发卡死 | blocking IO, QoS, message frequency, logging 缺失 | ROS 2 graph, bag, profiling |
如果不能诊断失败,说明还没有真正建立系统级理解。
8. 前沿研究在解决什么
当前前沿不是简单“模型更大”,而是在补机器人长期存在的几个断点。
| 前沿方向 | 想解决的断点 |
|---|---|
| VLA / robot foundation model | 语言、视觉、动作之间缺少统一策略接口 |
| Cross-embodiment data | 单机器人数据太少,难泛化 |
| Diffusion / flow policy | 单步动作回归无法表达多模态动作序列 |
| Sim-to-real and synthetic data | 真实数据贵,仿真与现实有 gap |
| Humanoid foundation model | 通用身体需要同时处理移动、操作和平衡 |
| Safety filter / runtime monitor | 学习策略缺少可验证安全边界 |
追前沿时要问:
它解决的是感知、表示、数据、动作、控制、安全,还是系统部署问题?
如果答不上来,说明只是记住了一个模型名。
9. 学习 Robotics 的正确顺序
一个稳的学习顺序是:
物理闭环直觉
-> 坐标与运动学
-> 状态估计与地图
-> 规划与轨迹
-> 控制与动力学
-> 系统工程与安全
-> Robot learning and frontiers
注意:learning 不应该被放在最前面替代所有基础。更合理的是先理解机器人闭环,再看 learning 如何替代、增强或连接某些模块。
10. 是否已经有全局观
如果能回答这些问题,就说明已经进入 robotics 的全局地图:
- 这个任务的身体、环境、任务层级分别是什么?
- 当前算法运行在哪个时间尺度?
- 它操作的是 state、belief、map、trajectory、policy 还是 controller?
- 它的输出给谁用,下游失败会怎样?
- classical 和 learning 在这个系统里分别负责什么?
- 如果真实机器人失败,应该先查哪一层?
这就是 robotics 的核心全局观:不是记住所有算法,而是能把任何算法、论文、平台和项目放回同一个物理闭环系统里。