00 十分钟建立 Robotics 直觉
这页用一个具体任务建立 robotics 的第一张地图。先不背算法名,也不从课程清单开始;先看机器人如何在真实世界里感知、估计、规划、控制、执行,并在失败后修正。
0. 先用一个任务看全局
想象一个移动机械臂要完成任务:
走到桌边,把杯子拿起,放进收纳盒。
这个任务看起来像一句自然语言指令,但机器人真正需要解决的是一串互相依赖的问题。
| 问题 | 机器人要知道什么 | 对应模块 |
|---|---|---|
| 我在哪里 | 机器人底盘、机械臂、相机和世界坐标的关系 | localization, TF, state estimation |
| 世界里有什么 | 桌子、杯子、盒子、障碍物、人在哪里 | perception, mapping, scene understanding |
| 下一步做什么 | 先移动到桌边,还是先调整手臂姿态 | task planning, behavior planning |
| 怎么过去 | 路径是否安全,底盘是否能通过 | navigation, path planning, local planning |
| 手怎么到杯子 | 末端位姿、关节角、碰撞约束 | IK, motion planning, trajectory optimization |
| 接触时怎么办 | 抓取力、滑动、碰撞、插入误差 | force control, impedance control |
| 如果失败怎么办 | 看错、抓空、被挡住、定位漂移 | monitoring, recovery, safety |
这就是 robotics 的全局观:不是一个模型直接输出动作,而是多个模块围绕物理世界、时间、身体和不确定性协同工作。
1. 一句话总纲
机器人 = 有身体的计算系统 + 带噪声的感知 + 不确定状态 + 可执行计划 + 高频反馈控制 + 安全约束
最核心的闭环是:
Sense -> Estimate -> Model -> Plan -> Control -> Act -> Sense again
中文直觉:
看见世界 -> 估计自己和世界的状态 -> 形成可行动的世界模型
-> 规划下一步 -> 用控制器稳定执行 -> 世界改变 -> 再次感知
如果只能记住一句话,记这个:
Robotics 研究的是:如何让一个受物理约束的身体,在不确定环境里,实时、安全地改变世界状态。
2. 三个根问题
所有 robotics 内容都可以压进三个问题:
| 根问题 | 人话解释 | 典型模块 |
|---|---|---|
| What is the world? | 现在发生了什么,我知道多少,不确定性多大 | perception, state estimation, SLAM |
| What should happen next? | 为了完成任务,下一步应该让世界怎样变化 | planning, trajectory optimization, policy learning |
| How do we make it happen? | 真实机器人如何稳定、安全、实时地执行 | control, dynamics, actuation, safety |
这三个问题不是线性流程,而是多频率闭环。底层控制可能 1000 Hz,高层任务规划可能 1 Hz,视觉感知可能 30 Hz。机器人系统的难点经常来自这些频率、延迟和接口不一致。
3. 用四个坐标轴定位任何方向
看到任何机器人方向、论文或产品 demo,先问四个问题。
| 坐标轴 | 要问什么 | 为什么重要 |
|---|---|---|
| Body | 机器人身体是什么 | 轮式、机械臂、无人机、腿足、人形机器人对应完全不同的动力学和控制难点 |
| Environment | 环境有多开放 | 工厂、仓库、道路、家庭、野外决定不确定性、安全冗余和学习需求 |
| Task | 任务在哪个时间尺度 | servo、trajectory、skill、task、mission 对应不同算法层 |
| Representation | 系统传递什么表示 | state、belief、map、cost、trajectory、policy、controller 决定模块接口 |
这四个坐标轴比“用了什么大模型”更底层。模型会变,但身体、环境、任务和表示不会消失。
4. 五层系统栈
把机器人系统想成五层,每层都在把上一层的信息变成下一层可用的东西。
| 层 | 输入 | 输出 | 代表方法 | 常见失败 |
|---|---|---|---|---|
| Perception | image, LiDAR, depth, tactile | object, obstacle, affordance | detection, segmentation, pose estimation | 看见了但不准,语义无法行动 |
| State Estimation | sensor measurement, motion model | pose, velocity, belief | EKF, particle filter, factor graph, SLAM | 漂移、延迟、坐标错 |
| Planning | goal, map, constraints | path, motion, task sequence | A*, RRT, PRM, TAMP, trajectory optimization | 路径可行但物理不可执行 |
| Control | desired state or trajectory | torque, velocity, force command | PID, LQR, MPC, impedance control | 抖动、超调、跟踪失败 |
| Systems | all modules | running robot | ROS 2, TF, realtime, logging, safety monitor | 时间戳、QoS、硬件限制、不可复盘 |
学习方法 robot learning 通常不是第六层,而是会插入这些层:学 perception、学 cost、学 policy、学 dynamics、学 recovery,但仍要受系统接口和安全约束限制。
5. 三条典型主线
移动机器人 Mobile Robotics
LiDAR / camera / IMU
-> localization / SLAM
-> map / costmap
-> global path
-> local planner
-> velocity control
抓重点:移动机器人最核心是“我在哪里、周围能不能走、怎样安全到目标”。
机械臂与操作 Manipulation
camera / depth / force
-> object pose / affordance
-> grasp / task plan
-> IK / motion planning
-> trajectory tracking
-> force / impedance control
抓重点:操作最核心是“目标在哪、手怎么过去、接触时如何稳定”。
腿足 / 人形 / 无人机 Dynamic Robots
IMU / joint state / vision
-> state estimation
-> dynamics model
-> trajectory or gait
-> MPC / whole-body control
-> high-frequency actuation
抓重点:动态机器人最核心是“身体会不会失稳、接触是否可靠、控制是否足够快”。
6. 看到一个算法时,30 秒内这样归类
| 你看到的关键词 | 先归到哪一层 | 继续追问 |
|---|---|---|
| detector, segmentation, pose, depth | Perception | 输出能否直接支持规划或抓取 |
| Kalman, particle, factor graph, VIO | State Estimation | 状态频率、延迟、漂移如何影响控制 |
| A*, RRT, PRM, costmap | Planning | 是否考虑动力学、碰撞和实时重规划 |
| trajectory optimization, CHOMP, iLQR | Planning / Control interface | 输出轨迹是否可被控制器跟踪 |
| PID, LQR, MPC, impedance | Control | 稳定性、约束、扰动和执行器限制如何处理 |
| imitation learning, RL, diffusion policy | Robot Learning | 学的是表示、动作、cost、dynamics 还是 recovery |
| ROS 2, TF, bag, QoS, realtime | Systems | 时间、坐标、消息频率和日志是否可复盘 |
这张表的作用是让你看到任何资料时不迷路:先定位层,再问输入、输出、频率和失败模式。
7. AI/CS 背景最容易误解的地方
| AI/CS 直觉 | Robotics 真实情况 |
|---|---|
| prediction 很重要 | prediction 只是行动闭环的一部分 |
| 模型越强越好 | 输出必须满足物理、安全、实时和接口约束 |
| 数据集固定 | 机器人动作会改变未来数据分布 |
| 错了可以重试 | 物理错误可能撞坏东西或伤人 |
| 端到端更简单 | 端到端必须解释频率、延迟、安全边界和失败恢复 |
| 仿真成功就够了 | sim-to-real gap、传感器噪声和执行器延迟会改变结果 |
所以 robotics 的核心不是“把 AI 接到机器人上”,而是把 AI 放进一个受物理约束的闭环系统里。
8. 最小心智模型
- 感知不是为了识别一切,而是为了支持行动。
- 状态估计不是附属模块,而是连接传感器和控制的地基。
- 地图不是越精细越好,而是要适配规划器。
- 规划不是最终动作,而是给控制器的意图。
- 控制不是简单输出 action,而是用反馈抵抗扰动。
- 学习不是魔法替代品,而是补上感知复杂、接触难建模、规则难手写的部分。
- 系统工程不是收尾工作,而是决定算法能否活在真实世界。
9. 第一遍应该怎么读
如果只有 30 分钟:
- 读本页,先形成闭环直觉。
- 读
00_global_framework.md,建立身体、环境、任务、表示的坐标系。 - 读
knowledge.html,知道全站入口如何跳转。
如果有 2 小时:
- 读
00_quick_grasp.md和00_global_framework.md。 - 读
01_field_overview.md,把各方向放到同一张图里。 - 读
02_algorithm_stack.md,理解算法从传感器到动作的链路。 - 快速扫
03_control_dynamics.md,先补 feedback、kinematics、dynamics 的直觉。
如果要真正开始学:
全局闭环 -> 坐标与运动学 -> 状态估计 -> 规划 -> 控制 -> ROS 2 系统 -> 小项目复盘
这条路径比一开始追最新模型更稳。等你能判断一个失败来自感知、估计、规划、控制还是系统,再追 robot learning 和前沿会清晰很多。