感知管线
将来自摄像头、激光雷达或深度传感器的原始传感器数据,转化为对机器人所处环境的理解的代码。
一旦机器人的机械和电气部分完成,无论是从零开始搭建还是购买的商用平台,企业都需要在迪拜聘请机器人软件工程师,来编写把可动的硬件转化为真正有用的机器人的代码。这意味着要回答电机和传感器本身无法回答的问题:机器人现在在哪里,周围有什么,接下来应该去哪里,以及应该如何移动才能到达那里而不撞上任何东西。
这是一个软件专项,与我们机器人工程师页面所描述的更广泛、动手性更强的硬件工作不同。迪拜的机器人软件工程师通常在一个已有或购买的机器人平台之上工作,专注于感知、导航、运动规划以及把传感器数据与机器人行为连接起来的集成代码,最常见的做法是以 ROS 2 作为共用框架来构建。如果您的项目仍需要设计并搭建实体机器人,而不只是为其编程,请改为参考我们的机器人工程师页面。
这个岗位负责建设什么
这是迪拜企业为已有机器人平台聘请机器人软件工程师时提出的具体需求。
将来自摄像头、激光雷达或深度传感器的原始传感器数据,转化为对机器人所处环境的理解的代码。
用于判断机器人所在位置并规划到达目标的安全路线的软件,并随环境或计划变化而更新。
把一个高层目标,例如移动到某点,转化为机器人控制系统真正能执行的一系列指令的那一层。
结构良好、可复用的软件组件,使用 ROS 2 的消息系统相互通信,也与机器人的驱动程序通信。
机器人及其环境的仿真版本,用于在导航和规划代码运行到真实硬件之前,安全地进行测试。
将机器人软件对接到商用机器人自身的接口,或对接协调多台机器人的车队管理系统。
重要技能
真实机器人经验,而不只是仿真经验。
| 技能或工具 | 优秀表现的样子 | 为何重要 |
|---|---|---|
| ROS 2 | 曾从零设计过节点和软件包结构,而不只是跟着教程或修改演示项目 | 目前实际使用的大多数机器人驱动、算法和工具都假定基于 ROS 2 系统 |
| C++ 与 Python | 两者都熟练,因为 ROS 2 对性能敏感的代码使用 C++,对更高层的逻辑和工具使用 Python | 真实的机器人代码库有意混用这两种语言,而不是偶然为之 |
| 导航与路径规划 | 理解在仿真中看起来正确的方案与能应对真实传感器噪声的方案之间的差异 | 真实传感器比仿真传感器噪声更大、反应更慢,粗糙的代码会在这个差距上失效 |
| 真实硬件上的调试 | 曾诊断过在仿真中表现正常、但在实体平台上却不正常的机器人 | 仿真与现实之间的这种差距,是机器人项目延误最常见的来源之一 |
| 系统化思维 | 理解自己的软件如何与机器人的控制回路及机械极限相互作用,而不只是孤立看待算法本身 | 忽视物理约束的软件,在图表上看起来没问题,在机器人上却会失效 |
如今构建的机器人软件很多都基于 ROS 2,其维护者将其描述为一套用于从驱动程序到高级算法构建机器人应用的库和工具,这是比较候选人时一个公允的共同参照点。
与我们合作的方式
范围明确的项目适合一个界定清晰的软件目标,例如为现有机器人平台增加自主导航能力,最终交付经过测试、有文档记录的代码,同时机器人仍保持可靠运转。专职安排适合持续开发的机器人产品,在首个可运转版本上线后不断新增能力。招聘支持适合正在组建自己机器人软件团队、并需要专门帮助评估 ROS 2 经验的企业,因为通用的软件面试题很难考察出这一点。咨询服务适合导航或感知代码在仿真中运行良好、但在真实机器人上表现不稳定的团队,对这一具体差距进行经验丰富的审查,往往是最快的前进方式。
评估候选人
能够区分真实机器人经验与纯仿真经验的检查方式。
无论您是直接在迪拜聘请机器人软件工程师,还是委托我们通过招聘支持来完成评估,这些检查方式都适用。
请他们解释节点结构,以及为什么这样划分职责,而不只是说明这个软件包做什么。
有真实部署经验的候选人会描述一个仿真行为与真实行为不同的具体案例,以及他们是如何弥合这一差距的。
一个简短、贴近实际的任务,重点考察他们如何处理传感器噪声和边界情况,而不只是看理想路径是否可行。
经验丰富的候选人应主动提到仿真测试、分阶段测试和明确的停止条件。
询问他们在过往某个具体组件中选择了哪种语言及原因,因为这里选择草率往往说明真实经验有限。
认证
没有正式认证覆盖这个软件专项。
开源机器人基金会没有运行我们能找到证据的认证考试,我们也不声称团队持有这样的证书。部分第三方培训机构提供 ROS 课程,教授这套框架,但并不认证真实的机器人生产经验。
一个真实的 ROS 2 代码仓库,最好配上机器人按描述运转的视频,是您在迪拜聘请机器人软件工程师时能获得的最有力证据。
阿联酋相关要点
一旦机器人拍摄人员或场所的图像,这一点就需要留意。
在工作场所或面向公众的区域运行的带摄像头机器人,例如配送或巡检机器人,很可能通过其感知软件采集到个人数据,这使其受《2021 年第 45 号联邦法令》(阿联酋的联邦个人数据保护法)约束,根据阿联酋政府自身对该法的总结,要求在有限的例外情况下,数据的采集和处理需征得同意并得到保护。机器人软件存储什么内容、存储多久,值得在部署前而不是部署后就定下来。请在感知管线仍在设计阶段时,直接与您在迪拜聘请的机器人软件工程师一同提出这一点。
直接解答
部分工作,例如设计算法或在仿真中测试导航逻辑,可以在硬件就绪前就开始。但大多数真正的机器人软件工作最终都需要实体机器人,因为仿真传感器和真实传感器在一些关键之处表现并不相同。
ROS 2 是一套被广泛使用的开源库和工具,由开源机器人基金会维护,用于构建机器人软件,使用它通常能节省时间,因为已经有大量驱动程序和算法基于它构建。它并非强制要求,一台简单的机器人有时完全不需要它,机器人软件工程师可以就此提供建议。
通常可以,前提是该机器人对外提供了软件接口,例如 ROS 2 驱动或有文档说明的 API。部分商用机器人是封闭系统,不允许这样做,因此尽早核实厂商实际开放了哪些接口是重要的第一步。
两者有重叠,因为机器人上的感知工作常常使用计算机视觉技术,但机器人软件还涵盖运动规划、控制和系统集成,这些是纯计算机视觉工作不会涉及的。如果您的项目纯粹是在没有机器人参与的情况下识别图像中的物体,我们的计算机视觉工程师页面可能更合适。
通过仿真,通常是把同一套 ROS 2 代码运行在机器人及其环境的仿真版本上,在真实硬件承担风险之前先发现明显问题。仿真测试能降低风险,但不能替代在机器人被真正投入使用前于实体机器人上进行测试。
资料来源
书面固定价格
已收到,我们正在为您撰写报价。
工作时间内您将在 45 分钟内收到。请查收确认邮件。