Gazebo について簡単に調べたことをここにメモします。
Gazebo
Gazebo は、ロボットのシミュレーションを行うためのオープンソースの物理シミュレータです。現実世界の物理現象を模倣し、ロボットの動作を仮想環境でテストできます。
特徴
物理シミュレーション
- 物理エンジン(ODE, Bullet, DART, Simbody など)を使って、重力・摩擦・衝突・関節の動きなどをシミュレートすることができます。
- 実機を使わずに、仮想環境でロボットの動作のテストが行えます。
3Dビジュアライゼーション
- 仮想世界を3Dで可視化し、ロボットやセンサーの動きが確認できます。
- カメラ、LiDAR、IMU(慣性センサー)などの仮想センサーを搭載することができます。
ROS2との連携
- ROS2のノードと通信し、シミュレーション内のロボットを制御することができます。
- gazebo_ros_pkgs を使用して、ROS2トピックやサービスを通じた操作が可能です。
プラグイン機能
- C++ や Python でカスタムプラグインを作成し、ロボットの動作を拡張することが可能です。
Gazebo のバージョン
Gazebo Classic(Gazebo 11 以前)
- gzserver(物理シミュレーション用のサーバー)
- gzclient(3Dビジュアライゼーション用のクライアント)
- ROS2との連携は gazebo_ros_pkgs を使用
Gazebo Sim(旧Ignition Gazebo)
- 新しい世代の Gazebo で、ROS2 との統合が強化
- ign gazebo コマンドを使用
- モジュール構造が刷新され、より拡張性が高い
基本操作
起動
gazebo # Gazebo Classicを起動(GUI付き) gzserver # GUIなしでシミュレーションのみ実行
Gazebo Sim(新バージョン)の起動
ign gazebo shapes.sdf # シミュレーション開始
ROS2と連携
ros2 launch gazebo_ros gazebo.launch.py