
六个月成为机器人工程师:从电路台到具身智能的构建路线
沿 Ronin 的六个月路线,从电路、电机与 CAD 到 ROS 2、控制数学和 LeRobot,以 27 个实作和可核查作品集建立机器人工程能力。
机器人像是五个行业叠在一起。有人从大学教材出发,停在旋转矩阵;有人买了 Arduino 套件,点亮一颗 LED 后,再也没做第二个电路;有人跟着 ROS 2 教程搭起节点,却不理解 PWM,也无法解释为什么真电机与仿真器里的理想模型完全不同;还有人只会训练策略,却不知道怎样让一个关节安全地动起来。
这份路线图要解决的正是这种割裂。它改编自 Ronin 的长文 《How to become a Robotics Engineer in 6 months (RESOURCES)》,但组织逻辑比“课程清单”更严格:每个月都必须产出一台机器人、一次测量或一份调试记录,而且要让另一位工程师能够检查。路线从电路台开始,经过运动、结构和制造,进入 ROS 2 自主系统,再补上控制数学,最后落到示教学习与能够承受追问的作品集。
机器人作品集不是“我学过什么”,而是机器真的动过、指标经得起复核、失败能够解释。课程完成记录不是作品。
原文接近 12,000 词,包含 100 多个资源链接和 27 个实践项目。作者在 2026 年 9 月核对了当时的价格与链接。本文保留这些信息,但把它们视为带时间戳的供应商观察,而不是长期有效的市场事实。路线默认每天投入两到三个专注小时,也明确不承诺六个月就能成为资深机器人工程师。
为什么机器人与普通 AI 应用不同
原文认为,真正的机会不是再做一个软件外壳。模型正在变多,稀缺的是把感知、决策、时序、电力和机械结构接入同一个物理身体的能力。真实世界的数据无法像网页文本那样按互联网规模直接抓取;夹爪打滑时,不一定存在一条能搜索到的报错信息;机器人摔倒的后果,也不能交给后台任务慢慢重试。
这并不是说“机器人领域一片空白”,也不是说每个学习者都会顺利拿到工作。它强调的是:价值来自集成,可信度来自证据。物理世界迫使你观察整台机器,定位真正失效的层,只改一个变量,然后测量结果。这种能力不容易被短期记忆和演示视频替代。
机器人工程师到底做什么
“机器人工程师”不是一个岗位。它至少包括感知与计算机视觉、控制与状态估计、运动规划与操作、机器人学习、嵌入式与固件、仿真、系统集成,以及部署和运维。更现实的目标是:在其中一个方向形成深度,同时具备足够宽的跨层理解,能够在其他层出问题时参与定位。
作者查看 Figure 与 Skild 的在招岗位后,发现四个反复出现的要求:同时掌握 C++ 与 Python;有真实硬件经验;有一个深入领域,并理解周边模块;把调试本身视为核心能力。特定学位并非所有岗位的统一门槛。因此,这份路线优先积累可验证能力,而不是收集证书。
第一个月:电子学、仪器与工作台
产出目标:看懂原理图,搭出电路,并在它不工作时找到故障。
很多路线从 Arduino 教程开始,因为几行代码就能让东西动起来。但这样会跳过一层关键知识:为什么稳压器会因为电机启动而欠压,为什么悬空输入会乱跳,为什么电源轨会短路,为什么电机电流可能远超稳压器能力。你不需要从第一性原理推导模拟集成电路,但必须能熟练处理电压、电流、电阻、功率、开关、去耦,以及原理图符号。
电学基础
先从仿真器开始。接错线没有元件损失,而且能直接看到后果。每个例子都应该亲手搭一遍,而不是连续看几个小时视频却从未碰过元件。
- Falstad Circuit Simulator 会动态显示电流,并用颜色表示实时电压,适合观察电路如何工作。
- Tinkercad Circuits 把虚拟面包板、Arduino 和万用表放在一起,适合在购买零件前验证想法。
- All About Circuits: Lessons in Electric Circuits 是免费的多卷参考书,可以补上视频经常略过的概念。
- Afrotechmods 用短演示讲基础到进阶电子学,适合不喜欢长讲座的人。
- Charles Platt 的《Make: Electronics》第 3 版 在原文发布时的标价为 29.99 美元。
欧姆定律与分压器应该成为本能:
$$V = IR \qquad V_{\mathrm{out}} = V_{\mathrm{in}}\frac{R_2}{R_1 + R_2}$$
分压器不是魔法般的 3.3 V 转换器。它有输出阻抗,也会持续耗电。传感器输入或单片机负载变化时,这两个性质会直接改变结果。功率满足 $P=VI=I^2R$,所以堵转电机可能把一个看似充足的电源变成热量和电压跌落:
$$I_{\mathrm{stall}}=\frac{V_{\mathrm{supply}}}{R_{\mathrm{winding}}},\qquad P_{\mathrm{heat}}=I_{\mathrm{stall}}^2R_{\mathrm{winding}}$$
这一阶段要重点掌握:电流预算、上拉与下拉、去耦电容、晶体管开关、锂电池串联数与 C 倍率、安全充电,以及电阻、电容、二极管、晶体管、电源轨与地线的标准符号。
工作台预算与经过核对的入门硬件
| 档位 | 能买到什么 | 作者在 2026 年 9 月的估算 |
|---|---|---|
| 0 | 浏览器仿真器与免费资料 | 0 美元 |
| 1 | 免焊入门套件与万用表 | 约 45 到 60 美元 |
| 2 | 烙铁、焊锡、剪线钳、剥线钳、辅助夹、洞洞板与常用无源元件 | 约 110 到 160 美元 |
| 3 | 台式电源、更好的万用表、吸锡泵、收纳与底盘套件 | 约 200 到 300 美元 |
| 器材 | 原文价格 | 为什么出现在路线里 |
|---|---|---|
| Elegoo UNO R3 Super Starter Kit | 42.99 美元 | 课程覆盖面广,包含兼容 Arduino 的开发板与模块 |
| Elegoo UNO Basic Starter Kit | 19.99 美元 | 预算紧张时最低限度的实用起点 |
| SparkFun Inventor's Kit v4.1.2 | 99.95 美元 | 课程与项目顺序完整,适合系统学习 |
| Adafruit 9205B+ 万用表 | 17.50 美元 | 测量电压、电流、电阻、电容与通断 |
| Pinecil V2 | 社区价 25.99 美元,零售价 35.99 美元 | USB-C 供电、带温控的电烙铁 |
购买渠道会改变学习循环。AliExpress 可能便宜很多,但运输时间长、售后弱;第一次买套件时,Amazon 通常更快;Elegoo 有区域仓;Adafruit 与 SparkFun 更贵,却提供持续维护的教程和真实支持;Seeed Studio 与 DFRobot 能从中国向全球发货;DigiKey 与 Mouser 适合购买明确型号并查阅数据手册;Pololu 在电机与驱动器方面尤其强。
焊接、Python、命令行与 Git
松动的杜邦线不能构成可靠机器人。要练习给烙铁头上锡、加热焊盘与引脚而不是熔化焊锡去“粘”、识别冷焊点、使用助焊剂,以及在不撕掉焊盘的情况下拆下元件。Adafruit 焊接指南同时展示技术与典型失败照片;SparkFun 万用表教程解释电压、电阻、电流、通断测量和保险丝误用。
Python、终端和 Git 不是支线任务,它们每周都会用到:
- CS50P 提供结构化 Python 课程、习题集与结课项目。
- Python for Everybody 的入门坡度更缓。
- The Missing Semester 补上 shell、脚本、环境变量与命令行流利度。
- Learn Git Branching 用可视化交互解释分支与合并。
要会写 Python 函数和类,处理文件与 JSON,创建虚拟环境,安装依赖;要会运行脚本、读日志、设置环境变量、通过 SSH 进入设备;也要掌握 Git 分支、提交、远端,以及让陌生人能按步骤复现的 README。
第一个月验收
- 计算并仿真一个分压器,再用万用表验证。
- 搭一个晶体管开关,让逻辑引脚控制更大的负载。
- 测量电池、电阻和通断,并故意断一根线把它找出来。
- 焊接排针并做电气测试,然后拆下一个焊点再重新焊回。
- 把一个 Python 工具发布到 GitHub,附照片、接线或环境说明,以及一段“哪里坏了”的记录。
里程碑:你能在原理图、计算、实物接线、测量、代码与版本历史之间来回切换,而不是把它们当作互不相干的学科;你也能解释为什么电机堵转可能导致单片机复位。
第二个月:单片机、电机、传感器与第一台会动的机器人
产出目标:做出一台能感知、运动并纠正自身误差的机器人。
巡线机器人已经包含人形机器人的缩影:传感器输入、执行器输出、闭环、时序约束和调参问题。它更便宜,坏了损失小,而且行为容易观察。
先学 Arduino,紧接着学 ESP32
Arduino 仍然值得学,因为生态庞大,大量入门教程以它为默认平台。掌握数字与模拟输入输出、PWM、中断、按键消抖、串口调试、I2C、SPI 与非阻塞时序。把长时间阻塞的 delay() 改成基于 millis() 的调度器;阻塞延时会让测量、控制和通信同时停摆。
- Paul McWhorter 的 Arduino Lessons 节奏缓慢、循序渐进,并配有作业。
- Arduino 官方内置示例 是从安装环境到跑起程序的最短路径。
- Arduino Learn 是 I/O、PWM、I2C、SPI 与 UART 的权威参考。
- Arduino Project Hub 有大量带接线与代码的社区项目。
做一个反应计时器:LED 在随机延时后点亮,按键停止计时,消抖与中断处理排除误触,结果显示在串口。它小到十五秒就能演示,又足以暴露时序错误。
ESP32 以很低的价格增加 Wi-Fi、蓝牙、更多算力和多核。原文建议以 ESP32-S3 作为主开发板,再准备一块经典 ESP32 兼容旧教程。
| 开发板 | 原文价格 | 用途 |
|---|---|---|
| ESP32-S3-DevKitC-1,8 MB Flash | 15.95 美元 | 现代主力开发板 |
| 经典 ESP32 开发板 | 15.00 美元 | 兼容较早项目 |
| Seeed XIAO ESP32-C3 | 4.99 美元 | 体积很小的嵌入式节点 |
重点资源包括 Random Nerd Tutorials、官方 ESP-IDF 指南、Arduino-ESP32 核心文档与 DroneBot Workshop ESP32 专题。追求开发速度时使用 Arduino 层;需要明确任务、核心、功耗和时序控制时使用 ESP-IDF;做快速传感器实验可用 MicroPython,但不建议把它用于要求严格的实时平衡环。
在 ESP32 上做一个网络服务:浏览器显示实时传感器读数,手机按钮控制舵机。它把 Wi-Fi、HTTP、异步任务和物理输出合成一个能演示的完整产物。
执行器同时是电气系统与机械系统
| 执行器 | 反馈 | 典型入门用途 | 关键限制 |
|---|---|---|---|
| 有刷直流减速电机 | 默认没有,需另加编码器 | 差速驱动小车 | 需要 H 桥与明确的位置测量 |
| 航模舵机 | 内部有,通常不对外开放 | 简单云台或连杆 | 行程有限,负载诊断能力弱 |
| 智能总线舵机 | 位置、速度、电流与温度 | 低成本机械臂 | 总线配置、ID、电压与标定都需处理 |
| 步进电机 | 通过计数实现开环位置 | 小型直线平台 | 可能丢步且自身无法察觉 |
原文建议先理解 L298N,因为大量教程使用它,但实际项目应换成更现代的驱动器。L298N 使用较老的双极晶体管 H 桥,压降大、发热高、浪费电池;小电机优先使用 TB6612FNG 或 DRV8833。
- DroneBot Workshop:直流电机与 L298N 解释 PWM、H 桥与摇杆控制。
- SparkFun TB6612FNG 指南 介绍推荐的实用替代驱动器。
- DroneBot Workshop:步进电机 覆盖单极、双极、细分与驱动器。
- SimpleFOC 介绍无刷电机的磁场定向控制。
| 零件 | 原文价格 |
|---|---|
| Adafruit DRV8833 驱动器 | 5.95 美元 |
| SparkFun TB6612FNG 转接板 | 14.77 美元 |
| 带编码器的 Pololu 减速电机 | 每个 19.95 美元 |
| Pololu A4988 步进驱动载板 | 8.95 美元 |
| FeeTech STS3215 智能舵机 | 31.71 美元 |
减速箱用转速换转矩。忽略损耗时,理想关系是:
$$\omega_{\mathrm{out}}=\frac{\omega_{\mathrm{motor}}}{N},\qquad \tau_{\mathrm{out}}\approx N\eta\,\tau_{\mathrm{motor}}$$
真正要学的不是孤立公式。齿隙、摩擦、柔顺性与编码器安装位置,共同决定计算出的输出能否在真实接触中成立。让一个直流电机跑五档 PWM,加上编码器,再要求它不受电池电压变化影响地精确转一圈。这是第一个并不平凡的闭环。
传感器与状态估计
加速度计在运动时噪声较大,但长期不发散;陀螺仪短时间平滑,却会积分偏置。互补滤波可以用很低成本把两者合起来:
$$\theta_t=\alpha\left(\theta_{t-1}+\omega_t\Delta t\right)+(1-\alpha)\theta^{\mathrm{acc}}_t,\qquad \alpha\approx0.98$$
原文建议先手写这个只有几行的滤波器,再上卡尔曼滤波。重点在于理解每种传感器贡献了什么,以及时间对齐为什么重要。只有当你能明确写出过程模型、测量模型与不确定性时,卡尔曼滤波才不是一次库函数调用。
- Adafruit BNO085 指南 演示芯片内姿态融合。
- Kalman and Bayesian Filters in Python 用可运行 notebook 覆盖 g-h 滤波、EKF、UKF 与粒子滤波。
- MathWorks:Understanding Sensor Fusion and Tracking 用六部分建立概念顺序。
| 传感器 | 原文价格 | 取舍 |
|---|---|---|
| HC-SR04 超声波 | 3.95 美元 | 便宜、视场宽,但软表面或斜角反射效果差 |
| VL53L0X 飞行时间传感器 | 14.95 美元 | 约 35 度窄视场,重复像更少 |
| MPU-6050 六自由度 IMU | 12.95 美元 | 便宜地获得原始惯性数据,融合要自己做 |
| BNO085 九自由度 IMU | 29.50 美元 | 片内融合,UART 模式适合机器人 |
| Pololu 磁编码器一对 | 8.95 美元 | 给自身无反馈的电机增加里程计 |
| RPLIDAR C1 | 69.00 美元 | 低成本 360 度激光雷达,适合室内 SLAM |
装上 IMU,输出俯仰角,保持静止并观察估计漂移;加入互补滤波,再改变权重,用数据解释“滞后与噪声”的取舍。
两台机器人,两种训练
| 项目 | 质量版估算 | 预算版估算 | 主要证据 |
|---|---|---|---|
| 巡线机器人 | 约 105 美元 | 约 38 美元 | P 与 PD 响应对比,改前改后的振荡 |
| 自平衡机器人 | 约 134 美元 | 约 62 美元 | 稳定姿态估计、循环时序与扰动恢复 |
原文中的高质量巡线车包含 ESP32-S3、Pololu Romi 底盘、TB6612FNG、QTR-8RC 传感阵列、电池、接线与排针;预算版改用通用 ESP32、亚克力底盘、DRV8833、TCRT5000 传感器与更便宜的接线。平衡车使用两个带编码器减速电机、IMU、驱动器、底盘、电池、充电器与轮子。
先做巡线车。在同一条赛道、同一速度下,分别录制纯 P 响应与改进后的 PD 响应。对比视频能证明增益调整是有目的的设计。再做平衡车,它会同时暴露姿态估计错误、时序错误、输出饱和与机械装配不稳定。
第二个月验收
- 用受控占空比驱动电机,并区分占空比与实际 RPM。
- 读取编码器并闭合位置环。
- 不照抄接线教程,直接依据数据手册接入一个 I2C 传感器。
- 融合加速度计与陀螺仪,得到稳定角度估计。
- 用测到的机器人行为解释 P、I、D,而不是只背定义。
- 发布两台机器人,附接线、代码、视频和失败记录。
第三个月:机械设计、CAD 与制造
产出目标:根据数据手册建模一个零件,把它制造出来,并让它真正装得上。
从这里开始,拼套件要变成设计机器人。之后的每个项目都至少包含一个由你决定几何、公差、材料和制造工艺的零件。
只选一个 CAD 工具,然后深入
| 工具 | 优势 | 限制 |
|---|---|---|
| Onshape Free | 浏览器 CAD,装配与配合强,有机器人学习路径 | 免费文档公开 |
| Fusion Personal | CAD、CAM 与增材制造集成 | 可续期的个人许可,功能有限制 |
| FreeCAD | 本地、开源 | 工作流与稳定性不同于商业云 CAD |
| SOLIDWORKS for Makers | 接近工业界标准建模流程 | 原文时点每年 48 美元,创客文件有限制 |
- Onshape Fundamentals: CAD 是带结课凭据的结构化路径,也包含机器人内容。
- Product Design Online:Fusion in 30 Days 用三十个建模对象建立参数化信心。
- MangoJelly FreeCAD 教程 按具体问题组织,而不是一整门冗长课程。
- Protolabs Network:Design for 3D Printing 覆盖壁厚、摆放方向、公差、支撑、卡扣与文件格式。
草图要完全约束;用变量驱动尺寸;装配中使用与机构一致的转动、滑动与固定配合;根据执行器数据手册建模,而不是目测照片;交换文件用 STEP,打印文件用 STL 或 3MF。
练习:按你手里舵机的图纸与螺孔几何,为它设计一个支架。打印出来,测量误差。第一次装配可能失败,而这次测量本身就是课程。
3D 打印:先学工艺,再选机器
| 打印机 | 原文价格 | 相关理由 |
|---|---|---|
| Creality Ender-3 V3 SE | 199 美元 | 低成本开放式 FDM |
| Bambu Lab A1 mini | 219.99 美元 | 小尺寸、适合入门的 FDM |
| Bambu Lab A1 | 299.99 美元 | 256 mm 热床,可打印更大的支架 |
| Creality K1C | 369 美元 | 封闭机身与硬化挤出系统,可打磨蚀材料 |
| Bambu Lab P1S | 799 美元 | 封闭 CoreXY,适合 ABS 与 ASA |
| 材料 | 适用场景 | 设计中要规避的失效模式 |
|---|---|---|
| PLA / PLA+ | 原型支架、夹具、原版 SO-101 结构 | 持续载荷下蠕变,约 55 到 60 摄氏度开始软化 |
| PETG | 底盘板、舵机座、承受冲击的零件 | 拉丝,以及和 PLA 不同的刚度 |
| ABS / ASA | 靠近热源和户外使用的零件 | 没有封闭环境时容易翘曲 |
| 尼龙 | 齿轮与线缆导向件 | 吸湿、打印难度与后处理 |
| 碳纤维填充材料 | 需要高刚度的结构连杆 | 需要硬化喷嘴,材料有磨蚀性 |
| TPU | 脚垫、保险杠、柔性指尖 | 几何更柔软,打印慢且对路径顺序敏感 |
校准资料包括 OrcaSlicer Calibration、Teaching Tech 的交互校准指南、CNC Kitchen 与 Clearance and Tolerance 3D Printer Gauge。没有打印机时,可使用 Fab Labs、图书馆创客空间、Craftcloud 或 JLC3DP。
原文对迭代成本的比较很实用:约 1 kg PLA+ 价格 20 到 25 美元,而一套打印好的 SO-101 结构件标价 30.99 美元。第一次制作时,自有打印机并不省钱;但当第十版指尖只花四十美分和二十五分钟,而不是重新下单再等一周,它才真正改变设计节奏。
传动、齿隙与第一台真正的机械臂
减速比、齿隙、轴承预紧、同步带柔性与转矩密度,把“能演示”与“能重复”分开。廉价舵机里的塑料齿轮,可能最先在机械臂动态载荷下失效。减速器放大转矩,也会让关节处的空程与摩擦更明显:
$$\Delta q_{\mathrm{output}}\approx\Delta q_{\mathrm{backlash}}+\Delta q_{\mathrm{compliance}},\qquad \tau_{\mathrm{required}}>J\ddot q+c\dot q+g(q)$$
设计一个简单行星或摆线减速器,固定输出端、轻晃输入端来测量齿隙,再修改几何。可以参考 OpenCycloid 开源执行器起步。
阶段项目是 SO-101:一套开源五自由度机械臂加夹爪,设计成主从两台。主臂记录人类示教,从臂跟随执行。这条遥操作链路会成为第六个月的数据来源。
| 方案 | 原文价格 | 保留或失去什么 |
|---|---|---|
| 官方 SO-101 主臂加从臂 BOM | 229.88 美元 | 完整遥操作链路,不含打印 |
| 单台 SO-101 从臂 BOM | 121.94 美元 | 成本更低,但没有主臂采集示教 |
| Seeed SO-ARM101 Pro 舵机套件 | 277.99 美元 | 包含电机与控制板,不含打印件 |
| Seeed 打印件套装 | 30.99 美元 | 为没有打印机的制作者提供结构件 |
| Robonine 完整套件 | 349.00 美元 | 打包出售,最终成本受发货地影响 |
| OpenELAB 销售的 WowRobo | 325.99 到 489.99 美元 | 从零件包到完整装配等多个版本 |
原文列出的替代方案还包括 0 美元的 MuJoCo 仿真、约 50 到 80 美元的 EEZYbotARM MK2、122 美元的单台打印版 SO-101 从臂,以及 199.99 美元的 Hiwonder xArm 1S。它们在示教采集、总线反馈或软件兼容性上各有取舍,应根据下一步需要的证据选择。
第三个月验收
- 用完全约束草图建立数据手册驱动的零件。
- 测量打印机实际间隙并记录。
- 分别说明一个承力件和一个非承力件的材料与打印方向选择。
- 展示齿隙,再通过修改接口或减速器降低它。
- 装配并标定 SO-101,遥操作从臂,并用经过测试的自定义手指替换原版。
第四个月:ROS 2、仿真与自主系统
产出目标:用 ROS 2 描述机器人、仿真它、绘制房间地图,并完成自主导航。
这个月不需要实体机器人。普通笔记本就能学 ROS 2、URDF、TF、Gazebo、SLAM 与 Nav2。把机器人误认为“只能做硬件”,正是许多人始终进不了软件栈的重要原因。
选择仍受支持的发行版,跳过 ROS 1
| ROS 2 版本 | 原文所述 2026 年 9 月状态 | 目标平台 |
|---|---|---|
| Lyrical Luth | 2026 年 5 月到 2031 年 5 月,当前 LTS | Ubuntu 26.04 |
| Jazzy Jalisco | 2024 年 5 月到 2029 年 5 月 | Ubuntu 24.04 |
| Kilted Kaiju | 2026 年 12 月结束 | 不适合作为长路线的起点 |
| Humble Hawksbill | 2027 年 5 月结束 | 偏遗留系统 |
从 Jazzy 开始,因为当前大量教程、书籍和包示例仍以它为默认目标,而且它还有多年支持。等你需要的具体依赖栈完整支持 Lyrical 时再迁移。
ROS 1 Noetic 已于 2025 年 5 月 31 日停止支持。教程里出现 catkin_make、roscore、rosrun、rospy 或仅 XML 的 launch 文件,都是需要警惕的时代信号。ROS 2 使用 colcon build、去中心化发现机制、ros2 run 与 Python launch 文件。
先学计算图,再碰机器人
- ROS 2 Jazzy 官方教程 覆盖节点、话题、服务、动作、参数、launch、tf2 与 URDF。
- The Construct 提供浏览器 ROS 环境,有免费层,原文记录付费方案从每月 39.97 欧元起。
- Edouard Renard 的 ROS 2 for Beginners 促销时约 10 到 20 美元,覆盖 Python 与 C++。
- Articulated Robotics 从 URDF 与仿真一路走到 ros2_control、树莓派、激光雷达、SLAM 与导航。
- MOGI-ROS 是 Apache-2.0 大学课程,使用 ROS 2 Jazzy 与 Gazebo Harmonic。
- Automatic Addison 按发行版整理配方式教程。
要理解一个问题该用话题、服务还是动作;定义自定义消息与服务;把参数写进 YAML;编写能接收参数并重映射话题的 launch 文件;组织 colcon 工作空间;故障偶发时,用 ros2 bag 记录并回放现场数据。
多数学习路径会漏掉 DDS 与 QoS。“发布者明明存在,订阅者却收不到数据”,经常是可靠性、持久性、历史深度或截止时间配置不匹配。阅读官方概念,并检查 ros2 topic info --verbose,不要随意改几个时间参数碰运气。
练习:构建一个传感器发布者、处理器、基于服务的配置节点,以及使用自定义 .msg 与 .srv 接口的参数聚合器。用 Python launch 文件把它们接起来,录制 bag、回放,并仅根据日志解释整个计算图。
URDF、tf2 与诚实的坐标关系
用 xacro 设计自己的差速底盘、传感器立柱和两轴头部。加入视觉与碰撞几何、质量、惯量、关节限制,以及从底盘到每个传感器的静态变换。在 RViz 查看 TF 树,并用 joint_state_publisher_gui 拖动关节。
- Articulated Robotics:坐标变换 解释坐标系与变换组合。
- Edouard Renard:TF、URDF、RViz、Gazebo 覆盖 xacro、机器人状态发布与仿真集成。
- URDF 与 robot_state_publisher 官方教程 给出 C++ 与 Python 的标准版本。
不要把 joint_state_publisher 与 robot_state_publisher 混在一起:前者提供关节位置,后者依据机器人描述与这些位置计算变换。缺少惯量会让仿真不稳定;缺少传感器变换会让 SLAM 在算法开始前就失效。一张清晰完整的 TF 树,往往也是初学者作品集中最容易读懂的截图。
仿真器怎么选
| 工具 | 什么时候用 | 限制 |
|---|---|---|
| Gazebo | 需要 ROS 2 原生仿真路径 | 发行版必须与 ROS 版本正确配对 |
| MuJoCo | 需要快速、准确的接触动力学与机器人学习 | 集成方式与模型工作流不同 |
| Isaac Sim / Isaac Lab | 有 RTX 硬件,需要逼真合成数据或大规模强化学习 | 原文所引要求大致从 16 GB 显存的 RTX 4080 起 |
| PyBullet | 旧项目依赖它 | 截至原文截点,2022 年后没有新版本 |
| Genesis | 想评估新兴引擎 | 太新,不适合作为唯一作品集依赖 |
Gazebo Classic 与 Ignition 改名造成了很多混乱。当前 Gazebo 发布版本包括 Fortress、Garden、Harmonic、Ionic 与 Jetty。受支持组合是 Humble 配 Fortress、Jazzy 配 Harmonic、Kilted 配 Ionic、Lyrical 配 Jetty。教程里出现 roslaunch gazebo_ros 或裸 ign gazebo,通常已经来自另一个时代。
资料包括 Gazebo 教程、MuJoCo 文档与 Isaac Sim 系统要求。给自己的 xacro 机器人加入激光雷达和相机插件,搭建障碍世界,确认传感器话题真实发布,并在 RViz 中显示数据。
ros2_control、SLAM 与 Nav2
许多自学作品集停在“能发布演示话题”。ros2_control 把机器人描述、硬件接口、控制器管理与实际关节命令接通。Articulated Robotics 的真实硬件控制器教程尤其有价值,因为它真正跨过了仿真到硬件的边界。
在 xacro 中加入 <ros2_control> 标签,在 YAML 中配置 diff_drive_controller 与 joint_state_broadcaster,再用键盘遥操作驱动机器人。随后实现一个动作服务器:按指定距离移动,并反馈状态、完成与取消。
- Nav2 Getting Started 可快速启动仿真,还提供 VS Code 开发容器。
- Nav2 教程 覆盖 SLAM、禁行区、限速、碰撞监测、自动对接、GPS、规划器、控制器与行为树节点。
- SLAM Toolbox 支持同步、异步、终身建图、纯定位与多机器人模式。
- ROS 2 版 RTAB-Map 提供 RGB-D、双目、回环检测与三维建图。
不要把建图与定位混为一谈。地图稳定后才应切换到 SLAM Toolbox 的定位模式。地图拖影经常来自糟糕的里程计,而不是 SLAM 算法本身坏了。代价地图膨胀、障碍层、局部与全局规划,都要根据实际看到的贴边或振荡来调。行为树负责编排 Nav2,值得单独学习。
| 真实 SLAM 档位 | 原文成本 | 得到什么 |
|---|---|---|
| 仿真 | 0 美元 | Gazebo 激光雷达与完整 SLAM/Nav2 学习环境 |
| 自制平台 | 250 到 450 美元 | RPLIDAR C1、树莓派、带编码器差速底盘、驱动与电池 |
| 成品平台 | 300 到 535 美元 | 集成 ROS 2 小车、激光雷达、相机与计算单元 |
原文举例包括 299.99 美元起的 Hiwonder MentorPi M1,以及 534.99 美元的 Waveshare UGV Rover ROS 2 套件。后者把树莓派主机与 ESP32 实时控制器分开,这种结构很接近常见生产架构。
练习:给自己的 Gazebo 世界建图、保存地图、切换到定位、发送 Nav2 目标、调整代价地图,并录下完整过程。让机器人穿过它自己建出的地图,比一张仿真器静态截图有说服力得多。
第四个月验收
- 用 Python 与 C++ 编写使用话题、服务和动作的 ROS 2 节点。
- 用 xacro 描述自定义机器人,坐标、惯量与碰撞几何正确。
- 在仿真中加入激光雷达与相机。
- 命令经 ros2_control 下发,而不是直接写电机话题。
- 完成建图、定位与 Nav2 导航。
- 诊断一棵损坏的 TF 树,并说明如何定位问题。
第五个月:支撑机器人真正工作的数学
产出目标:亲手实现并解释控制、运动学、感知与规划,让此前被库隐藏的原理变得可见。
你不需要在每个方向都做到研究级推导,但要有足够的控制理论定位闭环问题,足够的运动学理解机械臂,足够的视觉知识在像素与三维空间之间投影,足够的规划知识解释为什么一个看起来有效的目标仍会被拒绝。
PID、前馈与增益背后的行为
一个带微分滤波、可用于实践的 PID 可以写成:
$$u(t)=K_p e(t)+K_i\int_0^t e(\tau)\,d\tau+K_d\dot e_f(t)+u_{ff}(t)$$
比例项响应当前误差;积分项消除持续偏差,但会在输出饱和时积分饱和;微分项预测变化,却会放大传感器噪声,因此需要滤波;前馈利用模型或已知命令,减少反馈环必须承担的工作。
- MATLAB:Understanding PID Control 用七部分讲解积分饱和、微分滤波与调参。
- Brian Douglas 控制课程 建立 PID、状态空间、鲁棒控制与无人机的直觉。
- The Fundamentals of Control Theory 是配套文字教材。
- Steve Brunton 的 Control Bootcamp 介绍状态空间、可控性、可观性、LQR 与卡尔曼滤波。
- Åström 与 Murray 的《Feedback Systems》 是免费且严谨的教材。
在同一台平衡车上分别运行 P、PD、PID 与前馈控制,把命令、实测状态和扰动时间写入 CSV,再画图比较。能解释自己会选择哪一个控制器,比一张证书更有价值。
状态空间、LQR 与 MPC
状态空间模型让内部变量显式出现:
$$\dot x=Ax+Bu,\qquad y=Cx+Du$$
二次型调节器 LQR 在状态误差与控制代价之间做平衡:
$$J=\int_0^\infty\left(x^{\mathsf T}Qx+u^{\mathsf T}Ru\right)dt,\qquad u=-Kx$$
LQR 不是什么与调参控制器完全不同的魔法,而是在给定模型与代价下更有原则地选择增益。MPC 增加约束,并反复求解有限时域优化,用计算量换取显式遵守执行器与安全限制的能力。
- MATLAB:Understanding Model Predictive Control 介绍 MPC、自适应 MPC 与非线性变体。
- MIT Underactuated Robotics 把控制理论与摆、行走、奔跑、人形机器人、LQR、Lyapunov 分析和轨迹优化连接起来。
为仿真的小车倒立摆实现 LQR,再在同一扰动下与手调控制器比较。目标不是会调用求解器,而是能解释响应为什么变化。
运动学与动力学
齐次变换组合位置与姿态:
$$T^0_n=T^0_1T^1_2\cdots T^{n-1}_n=\begin{bmatrix}R^0_n&p^0_n\\0&1\end{bmatrix}$$
几何雅可比把关节速度映射到末端速度旋量:
$$v_e=J(q)\dot q,\qquad \dot q=J^{\dagger}(q)v_e$$
奇异位形不是一个抽象的矩阵失效。它意味着末端某个方向无法在当下瞬时产生运动。阻尼最小二乘逆可以帮助系统在奇异点附近保持数值稳定,却不能凭空找回已经丢失的自由度。
- Modern Robotics 提供免费教材、视频与代码,采用螺旋理论和指数积。
- Modern Robotics 专项课程 增加截止日期与测验。
- Robotics Toolbox for Python 支持正逆运动学、雅可比、轨迹与真实机器人模型。
- QUT Robot Academy 有 200 多节短课,覆盖位姿、DH 参数、雅可比与动力学。
先根据连杆长度手算 SO-101 正运动学,再用工具箱核对;随后写数值逆运动学,让末端到达指定 XYZ。把目标移近奇异点,观察所需关节速度如何变化。
视觉、标定与操作
经过标定的针孔相机满足投影关系:
$$s\begin{bmatrix}u\\v\\1\end{bmatrix}=K\begin{bmatrix}R&t\end{bmatrix}\begin{bmatrix}X\\Y\\Z\\1\end{bmatrix},\qquad K=\begin{bmatrix}f_x&0&c_x\\0&f_y&c_y\\0&0&1\end{bmatrix}$$
用真实棋盘格标定相机,保存内参,估计一个彩色物体的三维位置,然后改变光照,观察检测器失效。用测量证据修好这次失效,就是一段作品集故事。
- OpenCV Bootcamp 覆盖图像、滤波、边缘、跟踪与 DNN 模块。
- OpenCV 相机标定 从棋盘角点到去畸变与重投影误差。
- Cyrill Stachniss 机器人课程 覆盖移动感知、摄影测量、投影几何、光束法平差与 SLAM。
- Open3D 点云教程 覆盖体素降采样、法向、ICP、平面分割与聚类。
MoveIt 2 把机械臂模型、碰撞场景、运动学与规划连接起来:
- MoveIt 2 Getting Started 是官方入口。
- 使用 MoveIt Task Constructor 做抓取放置 分解抓取、逆运动学、碰撞管理与执行。
- MIT Robotic Manipulation 连接硬件、运动学、感知、抓取、规划与控制。
- Contact-GraspNet 从杂乱场景的深度数据生成六自由度抓取。
规划一次仿真抓取放置,加入碰撞物体,再把唯一可行路径堵住,研究规划器如何报告失败。一次第一次就成功的规划,往往比一份可复现的失败分析教得少。
第五个月验收
- 根据实测阶跃响应调 PID,并解释每一项的作用。
- 为状态空间仿真对象实现 LQR。
- 为真实机械臂计算正运动学与数值逆运动学。
- 在硬件或忠实模型上展示一次奇异位形。
- 标定相机,并把像素投影成三维估计。
- 用 MoveIt 2 完成无碰撞抓取放置,并记录一次规划失败。
第六个月:机器人学习、专精方向与就业证据
产出目标:采集示教数据,在自己的机器人上训练并部署策略;选择专精方向,再把六个月转成可检查的职业证据。
LeRobot:遥操作、记录、训练、部署
现代低成本机器人学习不是一个训练脚本,而是一个反馈闭环:
flowchart LR A["人类遥操作"] --> B["同步视频与动作"] B --> C["数据质量检查"] C --> D["训练 ACT 或扩散策略"] D --> E["部署到 SO-101"] E --> F["测量成功与失败"] F --> B
- LeRobot 文档 覆盖数据流水线与支持硬件。
- LeRobot 仓库 是策略与数据处理的实现参考。
- Hugging Face 机器人课程 不依赖硬件,用仿真和公开数据集学习。
- SO-101 配置指南 覆盖端口、电机设置、标定、记录与部署。
ACT 预测未来动作块,通常比逐动作预测更容易保持时间一致性。Diffusion Policy 通过去噪过程表示动作分布;原文称它在十二个任务上相对此前方法平均提升 46.9%。两者都非常依赖示教质量与评估纪律。
练习:记录 50 次抓取方块并放入盒子的示教,训练 ACT、部署并测量成功率。针对观察到的失败模式再补 50 次示教并重新训练。报告前后成功率、失败分类与部署延迟。
视觉语言动作模型
| 模型 | 原文所述开放程度与规模 | 实践提示 |
|---|---|---|
| π₀、π₀-FAST、π₀.₅ | Apache 2.0 代码、开放权重、超过 10,000 小时机器人数据 | 围绕 Physical Intelligence 硬件开发,迁移到自定义本体不保证成功 |
| OpenVLA | 70 亿参数、开放权重、970,000 个 Open X-Embodiment episode | 文档较完整,适合阅读与实验 |
| GR00T N1.7 | Apache 2.0 代码,权重采用 NVIDIA Open Model License | 原文称推理需要 16 GB 以上显存 |
| SmolVLA | 面向低成本硬件的紧凑 VLA | 比 70 亿参数模型更接近 SO-101 的实际微调目标 |
| RT-2 | 没有公开权重 | 研究脉络重要,应阅读论文,不要声称复现 |
强化学习与仿真
- MuJoCo Playground 提供 GPU 加速的运动、操作与视觉环境,还有 Colab 教程。
- NVIDIA Isaac Lab 集成机器人模型、训练环境、RSL RL、skrl、RL Games 与 Stable Baselines,需要合适的 RTX 硬件。
- UC Berkeley CS 285 覆盖模仿学习、策略梯度、actor-critic、基于模型的强化学习与离线强化学习。
在 MuJoCo Playground 的 Colab 中训练四足运动策略,再修改奖励并比较步态。真正有价值的产物不只是一个走路视频,而是奖励定义、训练曲线、行为前后对比,以及对一个意外步态成因的解释。
选择一个方向,同时保持跨层理解
| 方向 | 核心技术栈 | 为什么选择 | 应该建立的证据 |
|---|---|---|---|
| 机器人学习与具身智能 | LeRobot、模仿学习、VLA 微调、强化学习、PyTorch、仿真 | 上限高,竞争也最激烈 | 自采数据集、可测量的策略提升与清晰评估 |
| 自主系统与移动机器人 | ROS 2、Nav2、SLAM、感知、传感器融合、C++ | 对应最广泛的传统机器人岗位 | 完整建图、定位、导航系统与失败日志 |
| 嵌入式、机电一体化与集成 | 固件、电机控制、实时系统、PLC、功能安全 | 就业需求更稳定,离物理部署最近 | 可靠控制板、时序测量、故障处理与安全论证 |
原文称控制工程师与现场服务工程师合计超过机器人岗位的 20%;还引用“66% 的机器人项目报告过认证相关延期”的说法,因此功能安全是被低估的专精方向。这些数字应作为 2026 年 9 月的方向性证据,而不是某个本地市场的保证。
作品集:让判断过程可检查
最有说服力的仓库会展示记录下来的指标,以及反映迭代调试过程的提交历史;会包含真实机器人部署与可靠性数据,而不只是仿真。公开的 LeRobot 数据集、对 ROS 2、Nav2、MoveIt、Isaac Lab 或 LeRobot 的贡献,以及文档清楚的集成项目,都有明确信号。
常见危险信号同样具体:没有任何迁移说明的 ROS 1 项目;面试追问几层就站不住的“深度参与”;完全没有运动学与具身理解的深度学习项目;把证书看得远高于实际贡献。
| README 区块 | 它回答的问题 | 无效替代品 |
|---|---|---|
| 置顶视频 | 到底有什么真实运行过? | 仅静态渲染或架构图 |
| 架构或接线图 | 各层如何连接? | 没有数据流的依赖列表 |
| 指标与测试设置 | 效果多好,在什么条件下? | 没有分母的“效果很好” |
| 哪里坏了、如何修好 | 你是否能诊断自己的系统? | 教程转录 |
| 复现步骤 | 别人能否验证你的说法? | 一个巨大的最终提交 |
练习:重写三个最好项目的 README。把视频放在最前面,展示接线或架构,报告实测数字,并加入“哪里坏了、如何修好”。这一节很难伪造,也经常是最清晰的工程能力证明。
面试考的是诊断,不只是算法题
准备逆运动学、PID 与反馈环、传感器融合、卡尔曼滤波、SLAM、包含 RRT 的路径规划,以及 C++ 与 Python 的取舍。较强团队可能提供一个故意破坏控制器的 MuJoCo 或 Isaac 场景,要求你调试与岗位相关的 ROS 2 架构问题,或围绕一次过去失败深入追问很久。
原文引用 Glassdoor 收录的机器人面试题作为参考。更重要的是实战演练:请别人连续二十分钟追问你的仓库。为什么用这个增益?为什么选这个传感器?电池电压下降时会发生什么?你最先尝试了什么?如果连续三层追问都答不上,这个项目还没准备好写进简历。
第六个月验收
- 采集示教数据集,并在自己的硬件上部署策略。
- 区分行为克隆、ACT、扩散策略与强化学习。
- 判断哪些 VLA 权重真正开放,以及存在哪些硬件限制。
- 明确自己要发展的专精方向,并说明作品集为何支持它。
- 发布三个带视频、指标、复现步骤与失败分析的项目。
- 能围绕一个项目,对所有设计选择连续回答三层追问。
六个月能承诺什么,不能承诺什么
诚实的边界很重要:这条路线不会把初学者变成资深机器人工程师。这个领域的资深工作通常意味着五年以上在真实机器人上部署实时系统的经验。六个月能产出的是这样一个人:能从电子层到学习策略构建、调试并解释一套完整系统,拥有足够作品进入行业,并继续累积。
需求图景,以及必要的保留
作者核查了多个经常被重复引用的数字,发现 2026 年 9 月的图景并不单一。以下均为原文引用的市场观察,不应被视为永久有效的保证:
- Crunchbase 数据称,物理 AI 初创公司在 2026 年上半年通过 521 笔交易融资 474 亿美元,超过 2022 到 2024 年总和。
- 更窄口径的机器人融资在 2026 年 6 月下旬已报道 188 亿美元,而 2025 年全年为 150 亿美元。
- 被引用的融资包括 Neura Robotics 14 亿美元、Skild AI 14 亿美元、Apptronik 5.2 亿美元,以及 Figure 据报道的 390 亿美元投后估值。
- 招聘落后于资本:A3 被引用于说明 2026 年上半年北美机器人订单量增长 2.0%;IFR 被引用于说明 2024 年美国安装量下降 9%。
- BLS 职业预测被描述为增长 1% 到 2%,并不是职业文章常引用却缺乏来源的 10%。
- BLS 被引用于说明软件开发人员每年约 106,100 个岗位缺口,而机械、电气与工业工程师合计约 57,200 个。
- 职位数量最多的类别被引用为自动化与机器人技术员,占 3,113 个岗位的 20.3%;技术员岗位中 68% 由副学士学位或证书持有者填补。
能够站得住脚的结论不是“每个人都会被录用”,而是:资本进入速度快于合格专家增长,需求在岗位和地区之间并不均衡,而且技术员、遥操作、集成和数据采集等入口,可能比狭义的“机器人工程师”头衔更开放。
原文引用的美国薪资范围
| 级别或岗位 | 原文范围 | 来源背景 |
|---|---|---|
| 官方中位数 | 122,930 美元 | O*NET / BLS 机器人工程师 |
| 入门级 | 约 8 万到 10 万美元 | Payscale 与 Salary.com;沿海或融资充足公司可能更高 |
| 中级,三到六年 | 12 万到 16.5 万美元 | 常规雇主 |
| 资深 | 16 万到 23 万美元 | 主流范围 |
| Figure Helix AI Engineer,Robot Learning | 20 万到 40 万美元基本工资 | 原文引用的在招岗位 |
| Figure 感知岗位 | 20 万到 35 万美元 | 原文引用的在招岗位 |
| 机器人基础模型专家 | 28 万到 47.5 万美元总包 | 招聘方报告,股权占比较高 |
美国之外,原文引用德国总包中位数约 7 万欧元、瑞士 9.5 万瑞士法郎、英国基本工资 3.2 万到 5 万英镑、印度约 65.3 万卢比。这些数字不能直接横比,因为税制、股权、生活成本、资历与来源方法都不同。
| 合同或入口岗位 | 原文数字 |
|---|---|
| Upwork 机器人工程 | 每小时 22 到 70 美元,集中区间为 30 到 50 美元 |
| ROS 节点实现 | 每个交付 500 到 1,200 美元 |
| launch 配置 | 1,200 到 2,500 美元 |
| 传感器集成流水线 | 4,500 到 7,000 美元 |
| 完整系统架构 | 7,000 到 12,000 美元 |
| ZipRecruiter ROS 开发者平均 | 每小时 52.84 美元 |
| 遥操作与数据采集 | 平均每小时 28.24 美元,多数引用为 22.12 到 32.93 美元 |
| Figure 人形机器人操作员 | 每小时 25 到 35 美元,所引岗位未写明学历要求 |
| 机器人技术员中位数 | 73,900 美元 |
原文还给出一个对集成服务很重要的经济事实:在一个机器人工作站里,机器人本体平均可能只占项目总成本约 25%,工程、安全、调试与集成占其余部分。一台 35,000 美元的机械臂,可能最终成为 80,000 美元的可运行系统。差价对应的正是服务,也解释了为什么硬件变便宜后,集成能力仍然有价值。
六个月的执行规则
不要试图完成每一个链接。把资源当作地图,只选与当前项目匹配的一到两个来源。每天两个专注小时已经足够,只要它们反复经过同一个循环:
- 构建一个小的物理或仿真行为。
- 测量用日志、数据、视频或测试把它记录下来。
- 破坏故意制造故障,观察失效模式。
- 诊断找到能够解释现象的最低层。
- 修复只改一个变量,并测量差异。
- 解释把结果写进另一位工程师能够复现的 README。
六个月后,目标不是你“消费完一套课程”,而是别人打开五个仓库就能看到:巡线车如何响应控制变化,平衡车如何抵抗扰动,自定义支架如何贴合硬件,ROS 2 地图如何由你自己的机器人模型产出,机械臂如何经过实测运动学与规划完成动作,以及学习策略有一个诚实报告的成功率。
这才是六个月如何改变你的手和脑。硬件比过去便宜,软件栈大多开源,课程可以免费获得;真正稀缺的仍然是把机器做动、做稳的纪律,以及清楚证明“你如何知道它有效”的能力。
来源与改编说明:本双语版本改编自 Ronin 于 2026 年 9 月 2 日发布的 X 长文 《How to become a Robotics Engineer in 6 months (RESOURCES)》,并经过编辑、重排与技术说明补充。原文作者的 YouTube 频道推广与宣传图片已有意删除。价格、链接、融资数字、岗位数量、薪资、产品可售状态与软件发布日期均为 2026 年 9 月的信息,购买或据此做职业决定前应重新核查。
原文来源:X Longform / Roninhttps://x.com/DeRonin_/status/2095180126359105955