10 Robotics 自学系统
这一页把前面的知识地图、课程资源和项目路线收束成一个可持续维护的学习系统。核心原则很简单:不要收藏资料,要完成闭环。
学习原则
1. 先路线,后资源
不要从“我该看哪门课”开始,而是先回答:
我想进入 robotics 的哪条主线?
我缺的是几何、估计、控制、系统,还是学习方法?
我下一个闭环项目是什么?
资源只是路线上的燃料,不是路线本身。
2. 每个阶段必须有产出
Robotics 不能只靠读。每个阶段都要至少产出一种东西:
- 一页概念图。
- 一个最小算法实现。
- 一个仿真 demo。
- 一篇论文笔记。
- 一个失败复盘。
- 一个能回放的 rosbag / log。
如果没有产出,很容易陷入“感觉学了很多,但系统没变强”的状态。
3. 用项目暴露短板
先做一个小项目,再让项目告诉你该补哪门课。
例如:
- A* 写不稳,补图搜索和启发式搜索。
- 机械臂到不了目标,补 IK、Jacobian 和 singularity。
- 导航漂移,补 state estimation 和 SLAM。
- 仿真能跑现实不行,补 calibration、latency、sim-to-real。
- 策略会动但不安全,补 control barrier、MPC、safety monitor。
主线选择
默认推荐你走 AI/CS 背景最自然的一条主线:
Robot Perception / Learning
-> State Estimation
-> Planning
-> Control basics
-> ROS 2 systems
-> Manipulation or Mobile Robotics project
原因:
- AI/CS 背景可以快速进入 perception 和 learning。
- Robotics 的真正壁垒在闭环、控制和系统,因此需要刻意补。
- Manipulation 和 Mobile Robotics 都能很好地把算法、控制、系统串起来。
12 周路线图
Week 1-2: 建立全景
目标:
- 读
00_quick_grasp.md、README.md、01_field_overview.md。 - 画出一张 robotics 闭环图。
- 选定第一条主线:mobile robotics 或 manipulation。
产出:
notes/robotics_big_picture.md:一页写清 robotics 的五层闭环。notes/learning_direction.md:写清暂时选择哪个方向,为什么。
Week 3-4: 几何与控制基础
目标:
- 学 SE(3)、forward kinematics、Jacobian。
- 理解 PID、LQR、MPC 的直觉差异。
- 读
03_control_dynamics.md。
产出:
- 一个 2D rigid transform 小实现。
- 一个 PID 控制小仿真。
- 一页解释:planner 和 controller 的区别。
Week 5-6: 状态估计与地图
目标:
- 学 Bayes filter、EKF、particle filter 的基本形式。
- 理解 localization、mapping、SLAM 的区别。
- 读
04_perception_state_estimation_slam.md。
产出:
- 一个 1D 或 2D Kalman filter demo。
- 一页解释:为什么 SLAM 会漂移,loop closure 如何修正。
Week 7-8: 规划与导航/操作
目标:
- 学 A*、RRT、trajectory optimization 的分类。
- 如果选 mobile:理解 costmap、global planner、local planner。
- 如果选 manipulation:理解 IK、collision checking、grasp planning。
产出:
- A* 或 RRT 最小实现。
- 一张 navigation 或 manipulation pipeline 图。
Week 9-10: ROS 2 与系统闭环
目标:
- 学 ROS 2 node、topic、service、action、launch、TF、bag。
- 跑一个最小仿真。
- 学会记录和回放数据。
产出:
- 一个 ROS 2 demo workspace。
- 一份 debug checklist:时间戳、坐标系、消息频率、延迟、日志。
Week 11-12: 第一个闭环项目
二选一:
- Mobile robotics:仿真中完成建图、定位、导航和避障。
- Manipulation:仿真中完成感知目标、IK、规划、抓取或 pick-and-place。
产出:
- 项目 README。
- 运行截图或录屏。
- 系统架构图。
- 失败模式复盘。
- 下一阶段论文清单。
每周节奏
建议每周固定四块时间:
| 时间块 | 做什么 | 产出 |
|---|---|---|
| 2 小时 | 读核心材料 | 概念笔记 |
| 2 小时 | 看课程/视频 | 关键公式和直觉 |
| 4 小时 | 写代码或跑仿真 | demo / log |
| 1 小时 | 复盘和整理 | 下周任务 |
最低要求:每周必须留下一个可以复用的文件,而不是只留下浏览记录。
知识库结构
建议在本文件夹下逐步增加:
notes/
robotics_big_picture.md
control_basics.md
state_estimation.md
planning.md
ros2_debugging.md
projects/
01_pid_simulation/
02_kalman_filter_demo/
03_astar_or_rrt/
04_ros2_navigation_sim/
05_manipulation_pick_place/
papers/
paper_template.md
slam/
manipulation/
robot_learning/
logs/
weekly_review.md
failure_cases.md
笔记模板
# 主题
## 一句话
这个主题解决什么问题?
## 放在机器人闭环的哪里
Sensors / Estimation / World Model / Planning / Control / Systems
## 核心概念
- ...
## 最小算法
输入:
输出:
核心步骤:
## 常见失败模式
- ...
## 我该怎么练
一个最小项目或实验。
论文阅读模板
# Paper
## 它想解决什么问题
## 为什么旧方法不够
## 核心方法
## 输入输出
## 和机器人闭环哪一层有关
## 实验设置
## 真实机器人结果是否可信
## 局限
## 我可以复现哪一个最小部分
项目 README 模板
# Project
## Goal
## System Diagram
## Modules
- Perception:
- State estimation:
- Planning:
- Control:
- Systems:
## How to Run
## Result
## Failure Cases
## What I Learned
## Next Step
反教程地狱检查
如果你连续两周都在“看资料”,但没有任何代码、图、笔记、项目或复盘,说明路线需要收紧。
自查问题:
- 我现在做的事情是否服务于一个闭环项目?
- 我能不能说清这个主题在机器人系统里的位置?
- 我有没有写下一个最小实现?
- 我有没有记录失败原因?
- 我能不能把学到的东西讲给另一个 AI/CS 背景的人听?
长期目标形态
最终这个文件夹应该长成这样:
00-10:稳定的知识地图和学习指南。notes:原创解释,不是复制课程材料。projects:你真正跑过的闭环系统。papers:按方向沉淀的研究脉络。logs:记录卡点、复盘和下一步。
当学习者能用项目和笔记解释 robotics 的闭环,就不再只是“看过很多资料”,而是真的拥有了这个领域的地图。