09 Robotics 自学资源指南
本页借鉴 CS 自学指南 和 LearnCS 的组织方式:先按学习目标分流,再用课程卡片说明先修、难度、学时、适合人群和学习策略。链接以官方页面为主,避免把学习路线变成随机收藏夹。
更新时间:2026-05-15。
如何使用这页
不要试图把所有课程都完整刷完。Robotics 的知识面太宽,最有效的方法是:
先建立全景 -> 选一条主线 -> 做闭环项目 -> 遇到短板再补课程
这份指南的反面不是“学得少”,而是“收藏很多但没有完成任何闭环”。每个资源都应该服务于一个明确产出。
三类读者对应三种路线:
| 你现在的状态 | 推荐路线 | 目标 |
|---|---|---|
| 想快速入门 | Modern Robotics + ROS 2 tutorials + 一个仿真项目 | 建立机器人系统直觉 |
| 已有 AI/CS 基础 | Modern Robotics + Probabilistic Robotics + Planning Algorithms + Robot Learning | 打通算法栈 |
| 想做研究 | Underactuated / Manipulation / CS285 + 论文复现 | 进入具体方向 |
核心必修路线
如果只选 5 个资源,建议这样排:
- Modern Robotics:机器人几何、运动学、动力学、规划、控制的主干。
- Probabilistic Robotics 或状态估计教材:补 localization、SLAM 和不确定性。
- Planning Algorithms:补 motion planning 的算法地图。
- ROS 2 Documentation:学习真实系统如何组织模块。
- 根据方向选择 MIT Underactuated、MIT Robotic Manipulation 或 Berkeley CS285。
资源卡片
Modern Robotics
- 方向:机器人基础、运动学、动力学、规划、控制。
- 链接:Modern Robotics: Mechanics, Planning, and Control。
- 先修要求:线性代数、基础物理、微分方程、基础编程。
- 难度:中等偏上。
- 预计学时:80-150 小时,取决于是否做习题和编程。
- 为什么学:它给 robotics 一个现代几何框架,适合 AI/CS 背景系统补齐机器人基础。
- 学到什么程度:能解释 SE(3)、twist、Jacobian、IK、轨迹生成和基础控制。
- 学习建议:先看视频抓直觉,再读对应章节;习题不必全刷,但 kinematics、Jacobian、trajectory generation 相关题要动手。
- 跳过建议:如果只做 mobile robot,可以暂时降低机械臂动力学章节优先级。
Stanford CS223A: Introduction to Robotics
- 方向:机械臂建模、设计、控制。
- 链接:Stanford SEE CS223A,也可参考当前课程页 CS223A / ME320。
- 先修要求:矩阵代数。
- 难度:中等。
- 预计学时:60-120 小时。
- 为什么学:经典 intro robotics 课程,覆盖 geometry、kinematics、dynamics、control 和 force control。
- 学到什么程度:能看懂机械臂控制论文里的基本符号和控制结构。
- 学习建议:适合作为 Modern Robotics 的替代或补充;如果你喜欢课程讲授胜过读书,可以从它开始。
Probabilistic Robotics
- 方向:概率估计、定位、SLAM、决策。
- 链接:MIT Press: Probabilistic Robotics。
- 先修要求:概率论、线性代数、基本算法。
- 难度:中等偏上。
- 预计学时:80-160 小时。
- 为什么学:它是理解 localization、mapping、Bayes filter、particle filter、SLAM 的经典入口。
- 学到什么程度:能把 localization / SLAM 问题写成 belief update,并理解 filter 和 graph-based 方法的差异。
- 学习建议:重点读 Bayes filter、Kalman filter、particle filter、localization、mapping、SLAM。决策章节可按需读。
- 跳过建议:如果目标是 manipulation learning,可以先只读估计相关章节。
State Estimation for Robotics
- 方向:现代状态估计、Lie group、batch estimation、factor graph。
- 链接:Cambridge Core: State Estimation for Robotics。
- 先修要求:概率、优化、线性代数、SE(3) 基础。
- 难度:高。
- 预计学时:100-200 小时。
- 为什么学:比传统概率机器人更贴近现代 SLAM / VIO / factor graph / continuous-time estimation。
- 学到什么程度:能理解 residual、Jacobian、least squares、pose graph、bundle adjustment。
- 学习建议:不要从第一页硬啃;先用
04_perception_state_estimation_slam.md建框架,再按项目需要查章节。
Planning Algorithms
- 方向:路径规划、运动规划、规划不确定性、kinodynamic planning。
- 链接:Planning Algorithms by Steven M. LaValle。
- 先修要求:算法、离散数学、基础拓扑/几何更佳。
- 难度:高。
- 预计学时:80-180 小时。
- 为什么学:它把 robotics、AI、控制、图形学里的 planning 放到同一张理论地图里。
- 学到什么程度:能区分 graph search、sampling-based planning、feedback planning、planning under uncertainty。
- 学习建议:优先读 Chapter 2-5、13-14;先抓 A*、PRM、RRT、configuration space 和 kinodynamic planning。
- 跳过建议:理论证明可以二刷时再补,第一遍优先形成算法分类。
MIT Underactuated Robotics
- 方向:非线性动力学、最优控制、腿足、飞行、欠驱动系统。
- 链接:Underactuated Robotics。
- 先修要求:动力学、线性系统、优化、微分方程。
- 难度:高。
- 预计学时:120-250 小时。
- 为什么学:如果你关心 legged robotics、agile control、MPC、非线性控制,这是核心资源。
- 学到什么程度:能理解 LQR、Lyapunov、trajectory optimization、contact-rich dynamics 的基本结构。
- 学习建议:从 pendulum、cart-pole、quadrotor、LQR、Lyapunov 开始,不要一上来追求完整覆盖。
MIT Robotic Manipulation
- 方向:机器人操作、感知、规划、控制、学习。
- 链接:MIT 6.4210/6.4212 Robotic Manipulation。
- 先修要求:线性代数、概率、算法、基础 neural networks、Python。
- 难度:中高到高。
- 预计学时:100-200 小时。
- 为什么学:它把现代 manipulation 的 pipeline 讲得很接近真实系统:perception、planning、TAMP、uncertainty、dynamics、learning。
- 学到什么程度:能设计一个 tabletop manipulation 软件栈,并知道哪些环节需要 classical 方法,哪些环节适合 learning。
- 学习建议:适合在读完基础后进入;配合 Drake / simulation 做项目效果最好。
Berkeley CS285: Deep Reinforcement Learning
- 方向:深度强化学习、控制、模仿学习、model-based RL。
- 链接:Berkeley CS285 course page。
- 先修要求:机器学习、优化、概率、深度学习训练经验。
- 难度:高。
- 预计学时:100-180 小时。
- 为什么学:如果你想做 robot learning,它能补 RL 和 control / decision making 之间的桥。
- 学到什么程度:能实现 policy gradient、actor-critic、SAC、model-based RL,并理解它们在机器人中的限制。
- 学习建议:把作业和机器人任务联系起来看;不要误以为会 RL 就等于会部署机器人策略。
ROS 2 Official Documentation
- 方向:机器人软件系统、通信、工具链。
- 链接:ROS 2 Documentation,安装与版本选择可看 ROS Getting Started。
- 先修要求:Linux、Python 或 C++、基本命令行。
- 难度:入门中等,工程熟练高。
- 预计学时:30-80 小时入门,长期使用中继续学。
- 为什么学:ROS 2 是理解真实机器人系统组织方式的关键工具。
- 学到什么程度:能写 node、topic、service、action,能用 TF、launch、bag,能跑一个导航或机械臂仿真。
- 学习建议:先跟官方 tutorials 顺序走一遍,再结合正在做的机器人项目查 package 文档。
- 注意:ROS 版本和 Ubuntu 版本强绑定,新手优先选择官方推荐的 Tier 1 组合。
按方向的推荐组合
Mobile Robotics / SLAM
Modern Robotics 基础
-> Probabilistic Robotics
-> State Estimation for Robotics
-> ROS 2 + Nav2 project
项目目标:在仿真中完成 localization、mapping、global planning、local planning、obstacle avoidance。
Manipulation
Modern Robotics / CS223A
-> MIT Robotic Manipulation
-> Planning Algorithms selected chapters
-> imitation learning or diffusion policy papers
项目目标:完成 tabletop pick-and-place,包含 perception、IK、collision-free planning、grasp execution。
Control / Legged / UAV
Modern Robotics
-> MIT Underactuated Robotics
-> MPC / trajectory optimization
-> simulation-to-real reading
项目目标:cart-pole swing-up、quadrotor trajectory tracking、legged locomotion simulation 三选一。
Robot Learning
ML / DL / RL 基础
-> Berkeley CS285
-> MIT Robotic Manipulation
-> imitation learning / VLA papers
-> safety and sim-to-real
项目目标:从 demonstration 学一个 manipulation policy,并用 safety wrapper 或 classical controller 限制动作。
不同时间预算怎么学
10 小时
- 读
00_quick_grasp.md、README.md、08_research_map_and_learning_path.md。 - 看 Modern Robotics 的 intro / configuration space / kinematics 视频。
- 跑 ROS 2 turtlesim 或最小 node demo。
50 小时
- 读完 Modern Robotics 的 kinematics、Jacobian、trajectory generation。
- 学 Bayes filter / EKF 的基本形式。
- 做一个 A* 或 RRT 小实现。
- 跑一个 ROS 2 仿真项目。
200 小时
- 完成 Modern Robotics 主干。
- 精读 Probabilistic Robotics 或 State Estimation 的核心章节。
- 读 Planning Algorithms 的 motion planning 章节。
- 选一个方向做闭环项目和 5-10 篇论文阅读。
选课避坑
- 不要先刷一堆 RL 再学控制;机器人策略最后要落到物理闭环。
- 不要只看 perception benchmark;机器人感知要服务 action。
- 不要忽略 ROS、TF、时间戳和 calibration;这些常常比模型结构更先让系统失败。
- 不要一次同时深入 SLAM、manipulation、legged、VLA;先选主线。
- 不要只看视频;至少做一个能闭环跑起来的项目。
自学产出模板
每学一个主题,建议写一页笔记:
主题:
它解决的问题:
输入 / 输出:
核心数学对象:
代表算法:
和机器人闭环中哪一层相连:
最小实现:
常见失败模式:
我下一步要做的项目: