news 2026/6/27 21:46:23

IB-Robot分布式部署指南:Ubuntu+openEuler+OpenHarmony三平台协同

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
IB-Robot分布式部署指南:Ubuntu+openEuler+OpenHarmony三平台协同

IB-Robot分布式部署指南:Ubuntu+openEuler+OpenHarmony三平台协同

【免费下载链接】IB_RobotSave the code of IB-Robot, an AI robot execution framework developed by openEuler Embedded for embodied intelligence scenarios. It includes references to the forked version of tensormsg, references to lerobot fork, code references to the lerobot_ros2:ros2_ws branch, as well as some code related to development usability.项目地址: https://gitcode.com/openeuler/IB_Robot

前往项目官网免费下载:https://ar.openeuler.org/ar/

IB-Robot是openEuler Embedded开发的AI机器人执行框架,专为具身智能场景设计。本指南将详细介绍如何在Ubuntu、openEuler和OpenHarmony三个平台上实现IB-Robot的分布式部署与协同工作,帮助新手用户快速掌握跨平台部署技巧。

一、分布式部署架构概览 📊

IB-Robot的分布式部署架构基于ROS 2通信机制,通过数据总线实现多平台协同。以下是系统架构图,展示了各服务节点之间的关系:

从架构图中可以看到,系统主要包含训练服务、数据服务、推理服务、动作分发、导航控制等模块,通过ROS/AGIROS/DORA/AimRT数据总线实现跨平台通信。这种设计使得不同平台可以专注于自身擅长的任务,如Ubuntu负责仿真和开发,openEuler和OpenHarmony负责边缘计算和实时控制。

二、环境准备与兼容性要求 📋

2.1 各平台功能定位

IB-Robot在不同平台上有明确的功能定位,确保资源高效利用:

  • Ubuntu 22.04:作为主机/开发机,支持完整的设置、构建、仿真、录制、MoveIt和推理工作流,适用于 Gazebo 仿真、数据收集、单主机推理和边云调试。

  • openEuler Embedded 24.03:作为边缘板,支持设置、干净构建和板端运行时验证,适用于NPU推理、真实机器人控制和录制客户端。

  • OpenHarmony 5.1:作为边缘板,支持板端运行时工作流、HDC调试、最小推理工作区构建助手和LeRobot补丁配置文件支持,适用于BQ3588HM板推理和HDC/SSH调试。

2.2 网络与通信配置

跨平台部署的关键是确保网络通畅和通信正常,主要涉及以下配置:

  1. ROS_DOMAIN_ID设置:所有参与分布式部署的机器必须使用相同的ROS_DOMAIN_ID(0-232之间的唯一数字)。设置方法如下:

    export ROS_DOMAIN_ID=<your_domain_id>

    注意:跨机器运行时,参与的所有机器必须使用相同的ROS_DOMAIN_ID,否则无法发现ROS 2话题和服务。

  2. 网络要求:所有平台需处于同一局域网内,确保能够相互通信。可以通过ping命令测试网络连通性。

  3. 防火墙设置:如果启用了防火墙,需要确保ROS 2相关端口开放,或暂时关闭防火墙以避免通信问题。

三、分布式部署步骤 🔧

3.1 代码获取与环境搭建

首先,在所有平台上获取IB-Robot代码并搭建基础环境:

  1. 克隆代码仓库

    git clone https://gitcode.com/openeuler/IB_Robot cd IB_Robot
  2. 环境设置

    • Ubuntu:执行scripts/setup/ubuntu-22.04.sh脚本进行环境配置。
    • openEuler:执行scripts/setup/platforms/openeuler-embedded-24.03.sh脚本。
    • OpenHarmony:使用scripts/openharmony/build_ibrobot_oh_custom.sh脚本进行交叉编译和环境准备。

3.2 三平台协同部署方案

3.2.1 Ubuntu仿真+边缘板NPU推理

此方案中,Ubuntu主机处理仿真和边缘侧预处理/后处理,边缘板(openEuler或OpenHarmony)负责云侧纯推理。

Ubuntu主机(仿真+边缘)

ros2 launch robot_config robot.launch.py \ robot_config:=so101_single_arm \ control_mode:=model_inference \ use_sim:=true \ with_inference:=false \ execution_mode:=distributed

边缘板(openEuler/OpenHarmony,云侧推理)

# openEuler ros2 launch inference_service cloud_inference.launch.py \ model_source:=local \ device:=npu # OpenHarmony (RK3588/RKNN) ros2 launch inference_service cloud_inference.launch.py \ model_source:=local \ device:=rknn \ rknn_runtime:=lite
3.2.2 开发板主运行模式

在此模式下,除RViz外,大部分节点都运行在openEuler开发板上,Ubuntu PC仅运行RViz进行观察:

openEuler开发板

ros2 launch robot_config robot.launch.py \ robot_config:=lekiwi_navi \ use_sim:=false \ with_rviz:=false

Ubuntu PC(仅RViz)

export ROS_DOMAIN_ID=<same_as_board> ros2 launch robot_navigation lekiwi_navigation_rviz.launch.py
3.2.3 录制服务分布式部署

将机器人控制与录制操作分离,Ubuntu主机负责录制服务端,边缘板负责运行录制客户端:

Ubuntu录制服务端

ros2 launch robot_config robot.launch.py \ robot_config:=so101_single_arm \ record:=true \ record_server_only:=true

边缘板录制客户端

# 确保与服务端ROS_DOMAIN_ID相同 export ROS_DOMAIN_ID=<same_as_server> ros2 run dataset_tools record_cli.py --ros-args \ -p episode_dir:=/data/recordings \ -p server_ip:=<ubuntu_server_ip>

四、关键配置文件与参数说明 ⚙️

4.1 主要启动文件

IB-Robot的所有运行入口都以robot_config包的统一入口robot.launch.py为主,位于src/robot_config/launch/robot.launch.py。此外,推理服务有独立的启动文件cloud_inference.launch.py,位于src/inference_service/launch/cloud_inference.launch.py

4.2 关键参数说明

  • robot_config:指定机器人配置文件,如so101_single_armlekiwi_navi等,配置文件位于src/robot_config/config/robots/

  • control_mode:控制模式,可选值包括teleop(遥操作)、model_inference(模型推理)等。

  • use_sim:是否使用仿真环境,true表示使用仿真,false表示连接真实机器人。

  • execution_mode:执行模式,distributed表示分布式模式,此时本机只做前/后处理并通过topic调用板端推理。

  • device:指定推理设备,如npu(Ascend NPU)、rknn(RK3588 RKNN)、cpu等。

五、常见问题与故障排除 🚧

5.1 通信问题

  • 症状:平台间无法通信,话题和服务无法发现。
  • 解决方法
    1. 检查所有平台的ROS_DOMAIN_ID是否一致。
    2. 确保网络连通,可使用ping命令测试。
    3. 检查RMW_IMPLEMENTATION是否一致,建议使用默认值。
    4. 确保ROS_LOCALHOST_ONLY设置为0(默认)。

5.2 推理服务启动失败

  • 症状:边缘板上推理服务启动失败或模型加载错误。
  • 解决方法
    1. 对于OpenHarmony平台,检查thirdparty_pytorchtest/skh-run.tar.gz是否正确部署到/data/local/skh-run
    2. 检查模型文件路径是否正确,模型是否与硬件匹配。
    3. 查看日志文件获取详细错误信息,日志通常位于~/.ros/log/目录下。

5.3 仿真与真实机器人切换问题

  • 症状:切换仿真与真实机器人时出现控制异常。
  • 解决方法
    1. 确保切换时use_sim参数正确设置。
    2. 切换前停止所有相关节点,避免资源冲突。
    3. 对于真实机器人,检查硬件连接和驱动是否正常。

六、总结与扩展 🚀

通过本指南,你已经了解了IB-Robot在Ubuntu、openEuler和OpenHarmony三个平台上的分布式部署方法。这种部署方式充分利用了各平台的优势,实现了高效的协同工作。

IB-Robot的分布式架构还支持更多扩展场景,如多机器人协同、云端大数据训练与边缘端推理结合等。你可以通过修改配置文件和启动参数,根据实际需求定制部署方案。

更多详细信息,请参考以下文档:

  • inference_service/README.md:推理服务架构、单主机/分布式部署和NPU/GPU云节点启动说明。
  • docs/OpenHarmony_thirdparty_pytorch_validation.md:OpenHarmony板thirdparty_pytorch/skh-run设置、部署和验证进度。

希望本指南能帮助你顺利实现IB-Robot的跨平台分布式部署,享受AI机器人开发的乐趣!

【免费下载链接】IB_RobotSave the code of IB-Robot, an AI robot execution framework developed by openEuler Embedded for embodied intelligence scenarios. It includes references to the forked version of tensormsg, references to lerobot fork, code references to the lerobot_ros2:ros2_ws branch, as well as some code related to development usability.项目地址: https://gitcode.com/openeuler/IB_Robot

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/27 21:44:39

轻舟Qingzhou加密模块实战:Crypto组件保障数据安全的终极方案

轻舟Qingzhou加密模块实战&#xff1a;Crypto组件保障数据安全的终极方案 【免费下载链接】qingzhou Lightweight, easy, web management software development platform 项目地址: https://gitcode.com/openeuler/qingzhou 前往项目官网免费下载&#xff1a;https://ar…

作者头像 李华
网站建设 2026/6/27 21:24:01

2026年上海安防市场风云变幻,哪家专业安防公司能脱颖而出?

在上海&#xff0c;安防行业的发展与城市的安全稳定息息相关。2026年&#xff0c;上海安防市场竞争激烈&#xff0c;众多公司各展所长。上海安防市场现状与痛点行业报告显示&#xff0c;上海安防市场规模近年来持续增长&#xff0c;但也存在一些痛点。部分安防公司技术水平参差…

作者头像 李华
网站建设 2026/6/27 21:14:07

苹果涨价20%:AI吃掉了你的内存,你的Mac先买单

一夜涨了两千块&#xff0c;我的MacBook还没下单就贵了 我上周还在纠结要不要换台新MacBook Pro。 14寸入门款&#xff0c;1699美元&#xff0c;国内大概一万二左右。咬咬牙还能接受。购物车加好了&#xff0c;就等月底工资到账再下单。 结果6月25号一觉醒来&#xff0c;苹果官…

作者头像 李华
网站建设 2026/6/27 21:13:28

xiaoO框架进阶技巧:提升AI Agent性能的10个实用优化策略

xiaoO框架进阶技巧&#xff1a;提升AI Agent性能的10个实用优化策略 【免费下载链接】xiaoO The xiaoO is an effecient and security AI agent framework. 项目地址: https://gitcode.com/openeuler/xiaoO 前往项目官网免费下载&#xff1a;https://ar.openeuler.org/a…

作者头像 李华