ROS2 Humble × Gazeboで構築するTurtleBot3シミュレーション環境

はじめに
ロボット技術の研究開発において、シミュレーション環境の整備は重要な基盤のひとつです。
中でも、ROS2 (Robot Operating System 2) Humble HawksbillとGazeboを組み合わせることで、物理的なロボットを使用せずに、誰でもアルゴリズムの検証や動作テストを行うことが可能です。
本記事では、Ubuntu 22.04のクリーンな環境から始めて、ROS2 HumbleとGazeboの導入、そしてTurtleBot3のシミュレーション環境の構築までを、段階的に解説します。
TurtleBot3とは?
TurtleBot3は、ROBOTIS社が開発した小型モバイルロボットで、ROS公式のサポートを受けているプラットフォームです。
モジュール構造を採用しており、LiDARやカメラなどのセンサーを柔軟に搭載できるため、SLAM(Simultaneous Localization and Mapping)や自律移動、マルチロボットシステムの研究など、幅広い用途に活用可能です。
TurtleBot3には、用途に応じて選択可能な3つのモデルが用意されています。
- Burger : 最も基本的な構成で、LiDAR (HLS-LDS) を標準搭載。コンパクトかつ低価格で、SLAMやナビゲーションの入門に適しています。
- Waffle Pi : Raspberry Piをベースにしたモデルで、低消費電力かつ柔軟な構成が特徴。LiDARやカメラの搭載が可能でモバイルロボットのプロトタイピングに適しています。
※Waffleは搭載していたIntel Jouleの製造終了 (EOL)に伴い、現在は販売終了となっています。
ROS2 Humble + GazeboでTurtleBot3 を動かす
このセクションでは、Ubuntu 22.04環境において、ROS2 HumbleとGazeboを用いてTurtleBot3を動かすまでの手順を、6つのステップに分けて解説します。
※本記事に掲載のシェルコマンドは、Web上での不正実行を防止する目的で一部改変 (不可視文字の挿入) を行っています。
コマンドを実行される際は、エディタ等で内容を確認・整形のうえ、誤りのない形式で使用してください。
Step 1:Ubuntuの初期設定
システムを最新状態にし、必要な基本ツールを導入します。
※再起動を求められた場合は、再起動をしてください。
Step 2:ROS2 Humble のインストール
2-1.GPG鍵とROS2の公式リポジトリの追加
ROS2の信頼性を保証する鍵と、インストール元の情報を追加します。
-o /usr/share/keyrings/ros-archive-keyring.gpg
http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main” \
| sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
2-2.ROS2本体のインストール
2-3.環境変数の設定
毎回ROS2の環境を読み込むように設定します。
source ~/.bashrc
ros2 と入力してヘルプが表示されれば準備完了です。
Step 3:Gazebo の準備
GazeboとROS2を連携させるためのパッケージをインストールします。
インストール確認:
Step 4:TurtleBot3のシミュレーション環境構築
4-1.必要パッケージのインストール
ros-humble-turtlebot3-msgs \
ros-humble-turtlebot3-gazebo
4-2.モデル指定(例:カメラ付きのwaffle_pi)
source ~/.bashrc
Step 5:シミュレーションの起動と操作
5-1.Gazebo ワールドの起動
5-2.別ターミナルでキーボード操作
操作例:
- W :前進
- S :後退
- A :左旋回
- D :右旋回
※動かない場合は、Gazebo起動ターミナルを閉じずに、別ターミナルで再実行してください。
Step 6:よくある質問 (FAQ)
- launch が見つからない場合: source /opt/ros/humble/setup.bash を実行してから再試行してください。
- キーボード操作が効かない場合:別ターミナルで teleop_keyboardを起動しているか確認してください。
- カメラ映像が出ない場合: burger だと映像が出ないため、waffle_piに変更してください。
まとめ
ここまでで ROS2 Humble、Gazebo、TurtleBot3 の前提環境が整い、シミュレーション上でロボットを自由に動かせるようになりました。
次の一歩として、自律走行ノードの追加や強化学習との連携に挑戦してみましょう。
おわりに
本記事では、ROS2 HumbleとGazeboを組み合わせて、TurtleBot3を仮想環境上に構築し、キーボード操作によって自在に操縦するまでの一連の手順を解説しました。
これにより、物理的なロボットを用いずとも、基本的な操作や動作確認を行えるシミュレーション環境が整いました。
ここまでで、ROS2の導入からGazebo連携、TurtleBot3の起動・操作までの基礎が一通り揃ったことになります。
次のステップでは、より実践的な応用として、自律走行に挑戦します。
自律走行では、ロボットがセンサ情報をもとに周囲の状況を判断し、障害物を回避しながら目的地へ向かって進行します。
次回は、「Gazebo × ROS2でTurtleBot3を自律走行させてみた」をテーマに、シンプルな自律走行ノードの作成と実行方法を紹介します。
ROS2の実用性をさらに深める内容となりますので、ぜひご期待ください。
関連情報
PC提案事例
関連製品
ロボティクス関連製品のご紹介 -NVIDIA Three Computers構想-
ワークステーション導入ガイド
ROS2とは? 研究に必要な環境構築とワークステーション選定ガイド
NVIDIA Omniverseに最適なワークステーション選定ガイド
研究に集中できる環境を整える、AI・ロボティクス研究機材導入支援
ワークステーションのご相談はお気軽に! 研究用・産業用PCの製作・販売サービス TEGSYS – テグシス |