SuperAPI AI 工具集

isaac-sim-ros2-bridge

通用与其它

查看项目

更新于 10-15 22:38

技能介绍

用途:在 Isaac Sim 6 中通过 OmniGraph 桥接节点发布和订阅 ROS 2 话题,支持 Nav2 集成与多机器人命名空间,面向 ROS 2 集成和机器人集群场景。目标版本为 Isaac Sim 6 / Kit 110,不替代 NVIDIA 官方文档处理未支持的边界情况。

主要能力:桥接为扩展式架构(isaacsim.ros2.bridge),基于 OmniGraph 动作图,发布者、订阅者和服务仅在按下 Play 后激活。提供发布节点(时钟、关节状态、里程计、激光扫描、图像、相机信息、TF、语义标签、点云、IMU 等)与订阅节点(关节状态、Twist/cmd_vel、Ackermann 转向等),以及通用发布/订阅和分割、包围盒等输出节点。

使用方式:默认工作流无需手动设置,启动器会自动 source setup_ros_env.sh 并导出 ROS_DISTRO、RMW_IMPLEMENTATION 和内置 ROS 库路径。需要自定义消息类型或 RMW 实现时,在父 shell 中 source /opt/ros/<distro>/setup.bash 后再启动;LD_LIBRARY_PATH 必须在进程启动前设置,运行中热修补无效。可用 --no-ros-env 跳过自动 source。脚本可通过 run_script("scripts/multi_robot_namespacing.py", args=["--help"]) 调用,或在构建树中用 ./python.sh(Linux)/ python.bat(Windows)运行。多机器人场景为每个机器人创建独立命名空间,发布 /<name>/odom、/<name>/scan、/<name>/joint_states、/tf 和共享 /clock,订阅 /<name>/cmd_vel。Nav2 集成需发布 /odom、/tf、/scan、/joint_states,订阅 /cmd_vel,并在 /clock 发布仿真时钟且设置 use_sim_time: true。

限制:话题在停止状态不发布;相机发布者需相机 prim 挂载渲染产品;运行时更改机器人 prim 路径可能导致 TF 树不一致;内置 ROS 2 库可能缺少自定义话题所需消息类型。已知问题针对 Isaac Sim 6.0 rc.22。