作为软件工程师进入机器人领域

对机器人感兴趣的软件工程师会权衡多种实际入门路径:从 Arduino、Raspberry Pi 和低成本无人机开始,到先用 CoppeliaSim 和 Isaac Sim 等模拟器再投入硬件。评论者强调,除了用 C++ 或 Python 编程之外,真实的机器人工作还需要基础电子技能、控制理论(例如 PID),并且通常要熟悉 ROS,同时也要接受硬件带来的更慢、没那么“敏捷”的迭代节奏。许多人指出,机器人工作在智力上的吸引力和实际影响力,与 web、adtech 和 fintech 岗位通常更高的薪资和更容易的招聘路径之间,存在取舍。

入门路径与起步平台

  • 许多人建议从软件和基础硬件开始:学习原理图、数据手册、示波器和逻辑分析仪。
  • 对于家庭项目,初学者普遍更推荐 Arduino 而不是 Raspberry Pi:更简单、没有操作系统、上传—运行周期快;便宜的克隆板也完全可以。
  • 也有人列出 Raspberry Pi、Teensy、ESP32、Micro:BIT,以及步进电机、舵机和传感器;大约 200 美元就能组建一个相当像样的入门实验室。
  • 需要注意的是,Raspberry Pi 在调试时一旦断电,SD 卡很容易损坏;因此有人建议先用模拟器(例如 Wokwi)和微控制器。

嵌入式复杂性与调试

  • 会 C/C++ 并且会用示波器被认为很有价值,但还远远不够。
  • 有经验的人强调,真正的难点在于知道要在哪里探测、要看什么,以及如何在严格的实验室和预算限制下把边缘情况复现出来。
  • 真实世界里的调试包括新出现的硬件问题(噪声、时序、器件超规格等),这些是业余折腾无法完全让你做好准备的。

数学、控制与理论

  • 几位软件工程师在做机器人/CAD/3D 打印时,感觉自己在三角学、几何和微积分方面准备不足。
  • 有人说基础三角和几何就够了,很多问题都能在库里解决。
  • 也有人认为,扎实的三角学和线性代数,再加上控制理论,是至关重要的,尤其是在定位、姿态控制以及理解矩阵/四元数时;不过也有人指出,简单的 PID 往往会替代过度复杂的自定义逻辑。

硬件中的流程与“敏捷”

  • 多条评论认为,软件里那种敏捷做法与硬件现实相冲突:PCB 打样要花几天到几周,而每次迭代都很昂贵。
  • 讨论到的策略包括:给原型做过度设计、预留额外的传感器/执行器,使用开发板和模块化板卡,给未来组件预留未焊接的焊盘。
  • 也有人直言不讳地反对把网页式的敏捷/scrum 引入硬件,称它已经伤害了硬件/机器人团队。

机器人领域的职业、薪资与路径

  • 普遍的看法是,硬件/机器人通常比 adtech、fintech 和 web 薪资更低,这把很多开发者吸引走了。
  • 机器人被描述为一个小众领域,由早期创业公司主导,薪资一般;高薪主要集中在少数大公司。
  • 给软件开发者的建议入门路径:
    • 学习 C++ 和/或 Python 以及嵌入式基础(RTOS、中断服务程序 ISR、CAN/I²C/SPI 这类总线)。
    • 学习 ROS,做教程和仿真,并搭一个基础的遥操作机器人。
    • 为 ROS/开源包做贡献,并关注机器人招聘信息板和会议。

ROS 与工具链

  • Ubuntu 上的 ROS 1 Noetic 被认为成熟且稳定。
  • ROS 2 被看作适合分布式/多机器人系统,前景不错,但也因版本间不稳定、中间件怪癖以及 Python 节点性能不佳而受到批评;频繁升级 Ubuntu 和 ROS 的循环也很麻烦。
  • 争论的焦点还包括最终产品是否会用 ROS:有人说它主要是学术用途;也有人指出,许多商业栈要么使用 ROS,要么自己重新实现类似的消息传递、参数和日志功能。

无人机、模拟器与特定平台

  • 对于可编程无人机,建议包括 Crazyflie(开放硬件/固件/软件)以及 Ryze Tello 这类小平台,不过其开发便利性也受到质疑。
  • Isaac Sim 因其仿真能力而受到赞扬,尤其适合基于 Jetson 的机器人;有人建议使用更有能力的底盘(例如 WaveRover),而不是像 Jetbot 这样的老平台。
  • CoppeliaSim 之类的模拟器被推荐用于在不投入硬件的情况下学习机器人技术。

更广泛的影响反思

  • 有人反对“应用程序不能解决现实世界问题”这种说法,认为软件对大规模资源和人员管理至关重要。
  • 也有人感叹,回报最高的工作往往是广告技术或类似领域,这些工作被视为社会价值低但利润极高。
  • 大家普遍强烈认为,现在是进入机器人领域的特别好时机:更好的电池、电机、无线电、摄像头和便宜的 LIDAR,让严肃项目比过去几十年容易得多。