用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/MIUAV/vibe-coding-ros2 --skill isaac-ros-bridge命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
基于 SOC 职业分类
正在显示 SKILL.md
| name | isaac-ros-bridge |
| description | Isaac ROS 桥接技能 - ROS2-Gazebo 桥接、Omnigraph、Graph 脚本 |
| argument-hint | Isaac ROS OR ros2_bridge OR omni.graph OR bridge |
| user-invocable | true |
Isaac Sim ROS2 桥接配置
当需要以下帮助时使用此技能:
# isaac_ros_bridge.py
import rospy
from sensor_msgs.msg import Image, Imu, LaserScan
from geometry_msgs.msg import Twist
class IsaacROS_Bridge:
def __init__(self):
# 图像订阅/发布
self.image_sub = rospy.Subscriber('/rgb_camera', Image, self.image_callback)
self.image_pub = rospy.Publisher('/isaac/image', Image)
# IMU
self.imu_sub = rospy.Subscriber('/imu', Imu, self.imu_callback)
# 激光雷达
self.scan_pub = rospy.Publisher('/scan', LaserScan)
def image_callback(self, msg):
# 处理图像
self.image_pub.publish(msg)
# Omnigraph Python API
import omni.graph.core as og
# 创建 Action graph
(ros_clock, _, _, _) = og.Controller.edit(
"/World/ROS2Clock",
{
og.Controller.Keys.CREATE_NODES: [
("OnPlaybackTick", "omni.graph.action.OnPlaybackTick"),
("ReadSimTime", "omni.isaac.core_nodes.IsaacReadSimulationTime"),
("ROS2Context", "omni.isaac.ros2_bridge.ROS2Context"),
("ClockPublisher", "omni.isaac.ros2_bridge.ROS2PublishClock"),
],
og.Controller.Keys.CONNECT: [
("OnPlaybackTick.outputs:tick", "ReadSimTime.inputs:execIn"),
("ReadSimTime.outputs:simulationTime", "ClockPublisher.inputs:time"),
("ROS2Context.outputs:context", "ClockPublisher.inputs:context"),
],
},
)