[具身智能-710]:ROS2 的开发环境是安装在个人电脑上,还是机器人本体上?ROS2 三种主流部署方案(结合ROSMASTER-M1 / RDK X5 亚博小车场景通俗讲解)
先给核心结论:ROS2 可以跑在机器人板端,也可以电脑 + 机器人分布式协同;不存在唯一标准答案,看开发模式。 如果你的硬件:机器人 = RDK X5(板载 Ubuntu22.04)
方案 1:学习机模式:【全栈部署:ROS2 完整装在机器人本体(RDK X5)】✅亚博镜像默认方案开发环境与目标环境深度耦合。
架构
RDK X5(机器人):安装 Ubuntu22.04 + ROS2 Humble + yahboomcar 全套源码 电脑只做:SSH 远程登录、查看日志、调试(电脑不装 ROS2 也可以)
数据流
手柄 USB 插在 RDK X5 上 → RDK 本地运行 joy_node、yahboom_joy_M1、底盘驱动 Mcnamu_driver_M1,全部节点运行在机器人板卡。
优点
- 脱离电脑独立运行! 拔掉网线、断开电脑,小车依旧能用手柄遥控;
- 亚博官方镜像原生就是这套方案,所有 launch、驱动、硬件适配预先调好;
- 硬件访问最简单:USB 手柄、串口底盘、雷达、摄像头直接本地访问设备
/dev/*;
缺点
- RDK X5 算力有限,一边跑视觉 AI+SLAM+ROS,负载容易拉高;
- 代码编译在开发板上,ARM 平台编译速度比台式电脑慢;
- 更严重的问题:所有程序存放在机器人本体的SD卡上,重新刷新机器人镜像,原先的开发环境的内容和数据全部丢失!!!
👉 Rosmaster现在正在使用的模式!
方案 2:仿真模式:【分布式架构:PC 电脑运行 ROS2,机器人只跑底层驱动】- 学习模式模式,把PC机当成ROS2分布式系统的一个节点,机器人本体只是运动控制节点。大脑由PC机完成。
架构
- 台式机 / 笔记本(x86 Ubuntu):安装 ROS2 Humble,运行上层节点:joy 解析、导航、AI 算法
- RDK X5(机器人):仅运行底盘驱动节点 Mcnamu_driver_M1,只负责接收
/cmd_vel、控制电机、读取传感器 两者处于同一局域网,依靠 DDS 跨机通信
优点
PC 算力强,编译代码快,复杂算法放在电脑跑,减轻开发板压力;
缺点
- 必须保持网线 / WiFi 网络连接!断网小车立刻失控;
- 跨主机 DDS 网络配置麻烦,容易出现:节点互相看不见(DomainID、防火墙、组播问题);
- USB 手柄只能插电脑,不能插机器人;硬件跨设备访问复杂;
方案 3:产品模式:PC 仅作为开发编译机,机器人仅运行编译后产物(正式产品常用)
电脑:源码编写、colcon build 编译 把编译好的install文件夹传到 RDK X5;机器人不再保留源码,只运行程序。 适合最终量产,开发阶段很少用。
针对Rosmaster M2的学习场景【选型建议】
学习调试、日常手柄遥控、室外小车测试
👉 维持现状:ROS2 全部跑在 RDK X5 机器人上 优势:断开电脑独立工作,不用折腾网络分布式通信,完美适配亚博整套驱动。
后续做 SLAM 建图、自主导航、大模型视觉推理
可以考虑分布式:导航 / 视觉大算法跑 PC;底盘驱动留在机器人。
高频疑惑解答
Q1:我电脑 Windows,能不能不装 Ubuntu,远程开发?
可以。Windows 安装 MobaXterm/VSCode 远程 SSH 连接 RDK,代码编写、命令操作全部远程在开发板执行,电脑无需安装 ROS2。
Q2:为什么很多人喜欢电脑装 ROS2?
纯仿真开发(turtlesim、Gazebo 仿真),不需要实体机器人;仿真环境天然运行在 PC。
Q3 关键避坑(对应上一个问题:节点看不到)
如果你想尝试分布式双机 ROS2: 两台设备必须:
- ROS_DOMAIN_ID 一致
- 同局域网、关闭防火墙
- 相同 ROS2 发行版(全部 Humble,不能一边 Humble 一边 Jazzy) 一旦配置失误,就会出现:PC 能看到本地节点,看不到机器人节点。
极简总结对照表
表格
| 部署方式 | ROS2 位置 | 小车能否脱离电脑独立运行 | 适用场景 |
|---|---|---|---|
| 本地一体式(亚博默认) | 机器人 RDK X5 | ✅ 可以 | 手柄遥控、真机调试、户外测试(推荐你当前使用) |
| 分布式双机 | PC + 机器人各跑部分节点 | ❌ 断网失效 | 大型算法、仿真 + 真机联合测试 |
| 纯 PC 仿真 | 台式电脑 | ❌ 不需要实体车 | 算法前期仿真验证 |
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)