跳至主要内容

Gazebo 模擬器

Gazebo 是一套專為機器人打造的 3D 模擬器,能在複雜的室內、室外場景中精準地模擬各式機器人。與一般遊戲引擎不同,Gazebo 著重於高真實度的物理模擬、豐富的感測器支援,以及對使用者與程式皆友善的操作介面。透過 gazebo_ros 套件,可完全與 ROS 整合,以 ROS 訊息與 Service 控制模擬中的機器人。

常見的應用情境

  • 測試各類機器人演算法
  • 設計與驗證機器人本體
  • 以逼真場景執行回歸測試

主要特色

  • 支援多種物理引擎
  • 內建大量機器人模型與環境
  • 感測器類型完整
  • 具備程式介面與圖形化介面,使用彈性高

建議系統需求

  • 處理器:四核心 Intel i5 或等級相近的 CPU
  • 記憶體:4 GB 以上
  • (選配)顯示卡:建議使用具備 1 GB 以上記憶體的獨顯
  • 碟碟空間:至少 500 MB 可用空間

安裝步驟

先安裝必要工具:

sudo apt-get update
sudo apt-get install lsb-release curl gnupg

再安裝 Gazebo(建議依照作業系統版本挑選對應版本,詳見 gazebosim):

sudo curl https://packages.osrfoundation.org/gazebo.gpg --output /usr/share/keyrings/pkgs-osrf-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/pkgs-osrf-archive-keyring.gpg] http://packages.osrfoundation.org/gazebo/ubuntu-stable $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/gazebo-stable.list > /dev/null
sudo apt-get update
sudo apt-get install gz-garden

執行 Gazebo

gz sim

啟動後可以在世界清單中選擇想要的場景。

ROS2_gazebo1

若只是快速體驗,可選擇「Tugbot In Warehouse」並按下 RUN。

ROS2_gazebo2

與 ROS 2 連線

安裝 ros_gz_bridge

sudo apt-get install ros-${ROS_DISTRO}-ros-gz

建立 Gazebo 與 ROS 2 的橋接

以下範例橋接 LiDAR 與相機資料,並在 RViz2 觀察:

ros2 run ros_gz_bridge parameter_bridge /world/world_demo/model/tugbot/link/scan_omni/sensor/scan_omni/scan/points@sensor_msgs/msg/PointCloud2[gz.msgs.PointCloudPacked
ros2 run ros_gz_bridge parameter_bridge /world/world_demo/model/tugbot/link/camera_front/sensor/color/image@sensor_msgs/msg/Image[gz.msgs.Image

ROS2_gazebo3

下載世界與模型

可以從 Gazebo Fuel 下載更多世界與模型,快速建立測試場景。

ROS2_gazebo5