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

IB-Robot分布式部署指南:Ubuntu+openEuler+OpenHarmony三平台协同
IB-Robot分布式部署指南UbuntuopenEulerOpenHarmony三平台协同【免费下载链接】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 网络与通信配置跨平台部署的关键是确保网络通畅和通信正常主要涉及以下配置ROS_DOMAIN_ID设置所有参与分布式部署的机器必须使用相同的ROS_DOMAIN_ID0-232之间的唯一数字。设置方法如下export ROS_DOMAIN_IDyour_domain_id注意跨机器运行时参与的所有机器必须使用相同的ROS_DOMAIN_ID否则无法发现ROS 2话题和服务。网络要求所有平台需处于同一局域网内确保能够相互通信。可以通过ping命令测试网络连通性。防火墙设置如果启用了防火墙需要确保ROS 2相关端口开放或暂时关闭防火墙以避免通信问题。三、分布式部署步骤 3.1 代码获取与环境搭建首先在所有平台上获取IB-Robot代码并搭建基础环境克隆代码仓库git clone https://gitcode.com/openeuler/IB_Robot cd IB_Robot环境设置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:lite3.2.2 开发板主运行模式在此模式下除RViz外大部分节点都运行在openEuler开发板上Ubuntu PC仅运行RViz进行观察openEuler开发板ros2 launch robot_config robot.launch.py \ robot_config:lekiwi_navi \ use_sim:false \ with_rviz:falseUbuntu PC仅RVizexport ROS_DOMAIN_IDsame_as_board ros2 launch robot_navigation lekiwi_navigation_rviz.launch.py3.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_IDsame_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_arm、lekiwi_navi等配置文件位于src/robot_config/config/robots/。control_mode控制模式可选值包括teleop遥操作、model_inference模型推理等。use_sim是否使用仿真环境true表示使用仿真false表示连接真实机器人。execution_mode执行模式distributed表示分布式模式此时本机只做前/后处理并通过topic调用板端推理。device指定推理设备如npuAscend NPU、rknnRK3588 RKNN、cpu等。五、常见问题与故障排除 5.1 通信问题症状平台间无法通信话题和服务无法发现。解决方法检查所有平台的ROS_DOMAIN_ID是否一致。确保网络连通可使用ping命令测试。检查RMW_IMPLEMENTATION是否一致建议使用默认值。确保ROS_LOCALHOST_ONLY设置为0默认。5.2 推理服务启动失败症状边缘板上推理服务启动失败或模型加载错误。解决方法对于OpenHarmony平台检查thirdparty_pytorch的test/skh-run.tar.gz是否正确部署到/data/local/skh-run。检查模型文件路径是否正确模型是否与硬件匹配。查看日志文件获取详细错误信息日志通常位于~/.ros/log/目录下。5.3 仿真与真实机器人切换问题症状切换仿真与真实机器人时出现控制异常。解决方法确保切换时use_sim参数正确设置。切换前停止所有相关节点避免资源冲突。对于真实机器人检查硬件连接和驱动是否正常。六、总结与扩展 通过本指南你已经了解了IB-Robot在Ubuntu、openEuler和OpenHarmony三个平台上的分布式部署方法。这种部署方式充分利用了各平台的优势实现了高效的协同工作。IB-Robot的分布式架构还支持更多扩展场景如多机器人协同、云端大数据训练与边缘端推理结合等。你可以通过修改配置文件和启动参数根据实际需求定制部署方案。更多详细信息请参考以下文档inference_service/README.md推理服务架构、单主机/分布式部署和NPU/GPU云节点启动说明。docs/OpenHarmony_thirdparty_pytorch_validation.mdOpenHarmony板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),仅供参考