imu_link 解析與 link_1 追蹤設定檢查
在 ROS Gazebo / MoveIt! 內,IMU (Inertial Measurement Unit) 用來測量
角速度 (gyroscope)、加速度 (accelerometer)、方向 (orientation),
並發布到 imu/data topic。
以下是 imu_link 與 link_1 之間的關係,以及如何確保 IMU 可以正確跟隨 link_1 運動。
📌 1️⃣ imu_link 結構解析
✅ imu_link 代表 IMU 的物理模型
inertial設定:質量0.01 kg,影響 Gazebo 物理運算visual(可視化):IMU 以 球體 (radius=0.02m) 顯示,顏色為Graycollision(碰撞):和visual相同,影響 Gazebo 物理交互
📌 2️⃣ imu_joint 連接 imu_link 與 base_link
✅ imu_joint 將 imu_link 固定在 base_link
type="fixed"→imu_link會 完全跟隨base_link運動parent="base_link"→imu_link直接連結base_linkchild="imu_link"→imu_link是附屬元件origin xyz="0 0 0.1"→IMU放在base_link上方 0.1m
🔹 🚨 但這樣 IMU 不會跟隨 link_1,需要改成掛載在 link_1 上!
📌 3️⃣ 讓 imu_link 跟隨 link_1
目前 IMU 掛載在 base_link,如果 link_1 轉動,IMU 不會跟隨。
如果 IMU 應該裝在 link_1 上,請修改 parent 為 link_1!
✅ 修改 imu_joint
🔹 這樣 IMU 會跟著 link_1 旋轉! 🎯
📌 4️⃣ 確保 IMU 正確發布數據
在 Gazebo 內,IMU 需要使用 libgazebo_ros_imu_sensor.so 插件,否則 IMU 只是一個靜態模型,不會發布任何數據!
✅ 在 gazebo 標籤內加入 IMU 插件
✅ 這樣 Gazebo 會自動將 IMU 數據發布到 /imu/data
📌 啟動 Gazebo
📌 監聽 IMU 數據
✅ 應該輸出
✅ 表示 IMU 正確運作!
📌 5️⃣ Rviz 內可視化 IMU
📌 啟動 rviz
📌 在 rviz 中
1️⃣ 點擊 Add
2️⃣ 選擇 IMU
3️⃣ 設定 Topic 為 /imu/data
✅ 你應該會看到 IMU 的方向變化!
🚀 總結
| 項目 | **設定 | 說明 |
|---|---|---|
| IMU 連接的連結 | link_1 | IMU 會跟隨 link_1 旋轉 |
| 關節類型 | fixed | IMU 固定在 link_1 上 |
| Gazebo 插件 | libgazebo_ros_imu_sensor.so | 讓 IMU 發布 /imu/data |
| 監聽 IMU 數據 | rostopic echo /imu/data | 檢查 IMU 是否運作 |
| Rviz 可視化 | Add -> IMU | 顯示 IMU 方向 |
🚀 這樣 IMU 就能跟隨 link_1 並正確發布數據! 🚀
沒有留言:
張貼留言