---
title: "如何作为软件工程师涉足机器人技术 [译]"
url: "https://paooo.com/ai-study/8612/"
author: "宝玉的分享"
published_at: "2024-10-18T18:18:36+08:00"
updated_at: "2026-05-23T18:24:46+08:00"
categories: "强化 AI 学习"
tags: "3D与空间智能, AI智能体, AI编程, 大模型微调, 开源大模型"
source: "Prompt 语宙 (https://paooo.com)"
ai_tools_directory: "语宙 AI 导航 (https://ai.paooo.com)"
---

# 如何作为软件工程师涉足机器人技术 [译]

> 来源：[Prompt 语宙 (paooo.com)](https://paooo.com/ai-study/8612/) · 作者：宝玉的分享 · 发布时间：2024-10-18

## AI 30 秒核心看点 (TL;DR)

- 从 CRUD 转向机器人：软件工程师可用控制系统、数据分析和图像处理驱动硬件落地。
- Nix 是管理机器人有状态系统的关键工具，可在 git 中统一配置并自动更新。
- 入门建议很明确：学 C/C++、尝试 Rust，再补 CAD、3D 打印和焊接实践。

我一直在网站服务和移动应用开发领域工作，但这最终变得有些单调。回想起高中时代，我曾是焊接俱乐部的一员，那时起我就有种想挑战更高难度问题的渴望。两年前，我开始在阿姆斯特丹寻觅机遇，最终加入了Monumental。如今，我在这里致力于利用机器人技术自动化建筑施工，首先从砖石工作开始。当系统顺利运行，亲眼见证一堵墙慢慢建成时，那份成就感是难以言喻的。相比之下，看到别人忙于加密货币或金融科技的项目时，我总感觉如果我去做那些事情，肯定会感到极度无聊。


	
	

走出位与字节的世界，转向原子与电子的世界，你能带来更大的影响。软件应用无法为人们提供住所、食物或将他们送往火星。仅凭更智能的软件无法解决气候变化问题，我们还需大规模投入太阳能板和能源存储设备。随着人口老龄化，我们需要重新思考食物来源、住房供暖方式，以及如何为退休人口提供住房。

解决这些问题离不开软件技术。通过控制系统、数据分析和图像处理，我们能够让硬件设备“复活”。软件技术是整合各个系统的关键。

涉足硬件领域，意味着你将与来自其他专业领域的工程师合作，比如机械和电气工程师。这种跨学

科的合作不仅令人兴奋而且极具启发性，它能够拓宽你的视野，使你成为更出色的软件工程师。与机械工程师的合作让我意识到，他们对世界的看法与众不同——周遭的一切都比你想象的更加可塑。我在进行家居改善项目时有了这个体会——即便你不小心在墙上打了个洞，也总有办法修复它。

初次与其他领域的工程师合作时，你可能会感到不安：他们谈论的“2020 视力”、“冲击维护”和“电磁干扰”等概念可能让你摸不着头脑。但随着时间的推进，你将足够了解他们的工作方式，能够跨学科交流并贡献自己的见解。你所从事的编程工作将与众不同，更类似于涉及 3D 几何学和场景图的游戏编程。

但最终，机器人软件还是软件。你需要处理数据清洗、备份等常规任务。然而，在硬件领域，你会遇到全新类型的问题，比如之前我从未需要考虑过电缆是否接触不良的问题，但现在这成了调试系统时的一个常见问题。能够跨领域工作的人才是关键，必须有人确保各个部分能够协同工作。

处理物理对象意味着更多挑战。在 DevOps/GitOps 时代，我们已经解决了如何管理云服务版本的问题：你总是部署最新版本，并进行逐步部署。你不需要担心运行系统上的状态残留，因为每次部署都会替换掉你的容器/虚拟机。这就是所谓的“牲畜而非宠物”的软件开发方法。

想象一下，如果你的办公室里有三台机器人，每台机器人都运行着不同的服务，并且有不同的同事同时在这些服务上工作。还有运行在操作员电脑上的软件需要保持最新。同时，你希望现场工作的机器人既稳定又保持最新，这一切变化如何管理？你不能每次更新软件就抛弃你的机器人！

这些问题完全可以通过工程手段解决。我的工具箱中有一个必不可少的工具是Nix，它允许我在 git 仓库中管理整个系统配置，并让系统自动更新配置。这就像在有状态系统上实现了虚拟机的一次性使用的好处。然而，面对这类问题时，你可能会怀念那些简单的 CRUD 应用开发。

你需要学习 C 或 C++，因为微控制器编程就是使用它们。实际上，现代 C++ 并不像你想象的那么糟糕，但确实需要一定的自律。你得做好准备，面对那些充斥着宏的嵌入式 C 代码。采用一些简单的面向对象编程技巧，如类和关注点分离，很快就能让你在嵌入式软件工程领域脱颖而出。试试手头的树莓派 Pico、面包板、伺服电机和 LED 灯，开始你的实践之旅吧。

此外，不妨尝试一下 Rust 编程。它的强类型系统和安全性特性非常引人注目，而且构建工具和生态系统远胜于 C++。尽管Rust for embedded还在不断完善，但其前景令人期待。

当你开始探索新领域时，CAD 和3D 打印技术值得一学。不仅因为制造实物和学习新技能本身就很酷，而且这能让你更好地理解同事在 Fusion 360 崩溃时的挫败感。学习焊接也是一个好主意，它不仅能帮助你进行简单的修理，还能让你深入了解电子产品的开发过程。如今，硬件原型制作比以往任何时候都要容易，CAD 工具易于上手，网络上有大量的教学视频。消费级 3D 打印机也在变得越来越易用和不断进步。

行动起来，开始构建你的机器人吧！发送你制造的机器人照片给我！生活太短暂，不应浪费在开发另一个《糖果粉碎传奇》的克隆游戏上！

如果你对参与建筑机器人的开发感到兴奋，来加入我们吧！

_感谢[Xavier](

https://xav.io/)和Phatho审阅本文草稿_。

2024 年 2 月

## 常见问题解答 (FAQ)

### 软件工程师转机器人开发要学什么？
优先补齐嵌入式与硬件协作能力：C/C++ 是微控制器编程基础，Rust 适合提升安全性与工程体验；同时要了解控制系统、数据分析、图像处理，以及 CAD、3D 打印和焊接等原型制作技能。

### 为什么机器人项目需要 Nix？
因为机器人是有状态系统，不能像云服务那样随意替换容器。Nix 可以把整套系统配置放进 git 仓库统一管理，并让设备自动更新配置，帮助团队稳定维护多台机器人和操作员电脑。

### 软件工程师做机器人会遇到哪些新问题？
除了常规的软件调试，还要处理电缆接触不良、硬件联调、跨学科沟通等问题。你需要和机械、电气工程师协作，理解他们的术语与约束，才能让整套机器人系统真正协同工作。

---
探索 2,800+ 全球实用 AI 工具与官方直达入口：[语宙 AI 导航 (https://ai.paooo.com/)](https://ai.paooo.com/)
