welcom ! Handel home

2025年2月6日 星期四

Gazebo 11.x vs. Gazebo Sim(Ignition Gazebo)功能差異比較

#Gazebo 11.x(Gazebo Classic)是 最後一代 的 Gazebo Classic,支援至 2025 年 1 月,之後將不再維護。

#Gazebo Sim(Ignition Gazebo) 是新一代的 Gazebo,提供更強大的功能與架構,並將成為未來 ROS 2 仿真的標準。


📌 1️⃣ Gazebo 11 vs. Gazebo Sim(Ignition) 功能比較

功能Gazebo 11.x (Classic)Gazebo Sim (Ignition)
開發框架單體架構(Monolithic)模組化架構(Modular)
圖形渲染OGRE 1.x / 2.xOgre2 / Vulkan 支援
物理引擎ODE / Bullet / DART / SimbodyDART / Bullet / TPE / Simbody
SDF 支援最高支援 SDF 1.7完整支援 SDF 1.9+
感測器模擬基本相機、LiDAR、IMU更真實的 RGBD、熱成像、聲音感測器
流體模擬需要插件內建 Particles 支援
多機器人支援需要插件內建支援
機器學習支援需手動配置 Gazebo-ROS原生支援 Reinforcement Learning (RL)
雲端與分散模擬需手動設定 ROS 2原生支援 WebSocket / AWS
開發 APIGazebo Transport APIIgnition Transport(更快)
GUI 界面傳統 Gazebo GUI更現代化 GUI
與 ROS 2 整合gazebo_ros 插件ROS 2 原生支援(ros_gz_bridge

📌 2️⃣ Gazebo 11 (Classic) 的應用注意事項

🚨 Gazebo 11 在 2025 年 1 月後不再維護,適用於舊版 ROS 1/2。

  • 優勢

    • 已經穩定,適用於 舊的 ROS 1/2 系統
    • 大量插件可用,仍然支援 ODE、Bullet、DART 物理引擎。
    • gazebo_ros 完全兼容。
  • 缺點

    • 未來不再更新,建議逐步遷移至 Gazebo Sim
    • 僅支援 SDF 1.7,不支援新 SDF 1.9 以上的功能。
    • 物理模擬不夠準確,如柔性物體、流體模擬需要額外插件。

📌 3️⃣ Gazebo Sim(Ignition Gazebo)應用注意事項

🚀 Gazebo Sim 是新一代模擬器,適用於 ROS 2。

  • 優勢

    • 內建支援 SDF 1.9+,提供更細緻的物理模擬。
    • 原生支援 ROS 2(使用 ros_gz_bridge,適用於 ROS 2 HumbleIron
    • 現代化 GUI,效能優化,支援 Vulkan、Ogre2
    • 支援分散式模擬,可在雲端或多台機器同時運行。
  • 缺點

    • 與 ROS 1 不兼容,只能在 ROS 2 環境使用
    • 某些舊的 Gazebo Classic 插件不適用,需要改寫插件。

📌 4️⃣ 如何從 Gazebo 11 遷移到 Gazebo Sim

🔹 1. 檢查你的 SDF 版本

如果你的 SDF 低於 1.9,你可以手動更新:

xml
<sdf version="1.7"> <!-- 舊版本 --> <sdf version="1.9"> <!-- 更新 -->

然後使用:

bash
gz sdf -p my_model.sdf > new_model.sdf

來轉換成 Gazebo Sim 可讀取的格式


🔹 2. 安裝 Gazebo Sim

bash
sudo apt update sudo apt install gz-sim

測試是否成功安裝:

bash
gz sim -v 4

🔹 3. 轉換 ROS 2 插件

如果你的系統使用 gazebo_ros,需要轉換成 ros_gz_bridge

bash
sudo apt install ros-humble-ros-gz-bridge

然後在 Gazebo Sim 中啟動 ROS 2:

bash
ros2 run ros_gz_bridge parameter_bridge /cmd_vel@gz.msgs.Twist@geometry_msgs/msg/Twist

✅ 5️⃣ 何時應該使用哪個版本?

使用情境適合版本原因
舊系統 (ROS 1/ROS 2 Foxy)Gazebo 11兼容 gazebo_ros
未來開發 (ROS 2 Humble 以上)Gazebo Sim長期支援
流體模擬、水力模擬Gazebo Sim原生支援 Particle 物理
高精度機器學習 (Reinforcement Learning)Gazebo Sim最佳化 RL 效能
需要分散式仿真 (Cloud, Cluster)Gazebo Sim內建支援 WebSocket

🚀 結論

  • Gazebo 11 仍可用於舊專案,但 2025 年將停止支援
  • Gazebo Sim 是未來標準,適用於 ROS 2(Humble / Iron)
  • 新開發專案應該轉向 Gazebo Sim,以獲得更好的效能與功能

轉換 Gazebo Classic → Gazebo Sim 常見問題?

  • 轉換 URDF/SDF 格式嗎?
  • 使用 ros_gz_bridge 來替換 gazebo_ros 嗎?
  • 插件 (plugin) 需要更新嗎?

沒有留言: