QuantFlow
26-06-13 09:24

看到你成功在 Isaac Sim 左下角的节点库里搜到了 **`Isaac Read IMU Node`** 和 **`ROS2 Publish Imu`**,这说明工具链已经完全支持了。

不用担心,Isaac Sim 的 Action Graph 连线其实逻辑非常直观。IMU 传感器的连线本质上就是**“把物理世界的传感器数据读出来,然后通过 ROS 2 节点广播出去”**。

下面是保姆级的连线指南:

---

### 第一步:把这两个节点拖入 Action Graph
1. 在左侧搜索栏里,把 **`Isaac Read IMU Node`** 拖拽到右侧的 Action Graph 空白处。
2. 接着把下方出现的 **`ROS2 Publish Imu`** 也拖拽到空白处。

---

### 第二步:指定物理传感器的绑定目标(Target Prim)
`Isaac Read IMU Node` 必须知道它该去读取哪一个物体的物理数据(即你之前看到的那个 `imu` Cube):
1. 在 Action Graph 窗口里点击你刚刚拖入的 **`Isaac Read IMU Node`**。
2. 看右下角的 `Property`(属性)面板,找到一个叫 **`Inputs -> imuPrim`** 或者 **`Target Prim`** 的输入框。
3. 点击它,将路径指向你的那个物理 Cube:`/World/Carter_ROS/imu`(或者直接从右侧 Stage 树中把那个 `imu` 拖拽到该属性框中)。

---

### 第三步:连线(核心步骤)

连线的本质是串联“执行逻辑(EXEC)”和“数据通道(DATA)”。你可以直接用鼠标左键按住起点,拖一条线连接到终点:

```text
[On Playback Tick] (这是你主图里的绿颜色时钟节点)

▼ (把它的 Tick/Out 连入)
[Isaac Read IMU Node] (读取数据)

├─► exec (连入) ──► [ROS2 Publish Imu] 的 exec (触发发布)
├─► angularVelocity (角速度) ──► [ROS2 Publish Imu] 的 angularVelocity
├─► linearAcceleration (线加速度) ──► [ROS2 Publish Imu] 的 linearAcceleration
└─► orientation (姿态四元数) ──► [ROS2 Publish Imu] 的 orientation
```

#### 详细连线步骤:
1. **触发执行线**:把 `On Playback Tick` 节点的 **`Tick`**(或者 `Out`)端口,连到 `Isaac Read IMU Node` 的 **`ExecIn`**。
2. **传递执行线**:把 `Isaac Read IMU Node` 的 **`ExecOut`**,连到 `ROS2 Publish Imu` 的 **`ExecIn`**(这确保了读取完数据后,立刻触发发布)。
3. **对齐数据线**:
* 将 `Isaac Read IMU Node` 的 **`angularVelocity`** 连到 `ROS2 Publish Imu` 的 **`angularVelocity`**。
* 将 `Isaac Read IMU Node` 的 **`linearAcceleration`** 连到 `ROS2 Publish Imu` 的 **`linearAcceleration`**。
* 将 `Isaac Read IMU Node` 的 **`orientation`** 连到 `ROS2 Publish Imu` 的 **`orientation`**。

---

### 第四步:修改 ROS 2 话题名称(Topic Name)
1. 在 Action Graph 中点击 **`ROS2 Publish Imu`** 节点。
2. 在右侧 `Property` 面板中,找到 **`topicName`** 属性。
3. 将其默认值改为:`/carter/imu`。
4. 找到 **`nodeNamespace`**,确保它和小车的命名空间对齐(如果没有,保留为空或设为 `carter`,具体看你的 ROS 话题命名习惯)。

---

### 第五步:运行测试

1. 点击 Isaac Sim 左侧的 **`Play`** 按钮(绿色的三角形播放键),让物理引擎跑起来。
2. 打开你的 Ubuntu 终端(WSL),再次敲入:
```bash
ros2 topic info /carter/imu
```
你会兴奋地发现:**`Publisher count` 变成了 `1`**!
3. 接着敲入:
```bash
ros2 topic echo /carter/imu
```
你就能看到屏幕上开始疯狂滚动高频的 `linear_acceleration`(线加速度)和 `angular_velocity`(角速度)的 3D 数值了!

只要这一步通了,你的 `Aura OS` 终端就会在几毫秒内自动捕获这个新激活的物理 IMU,并开始让机器人的小脑(Perception Context)进行多传感器融合(传感器契约中的 IMU 部分正式发挥效用)!

发布于 法国