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) 顯示,顏色為Gray
collision
(碰撞):和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_link
child="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
並正確發布數據! 🚀
沒有留言:
張貼留言