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

はじめに

ロボット技術の研究開発において、シミュレーション環境の整備は重要な基盤のひとつです。
中でも、ROS2 (Robot Operating System 2) Humble HawksbillGazeboを組み合わせることで、物理的なロボットを使用せずに、誰でもアルゴリズムの検証や動作テストを行うことが可能です。

本記事では、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の初期設定

システムを最新状態にし、必要な基本ツールを導入します。

sudo apt update && sudo apt upgrade -y
 
sudo apt install -y curl gnupg lsb-release software-properties-common

※再起動を求められた場合は、再起動をしてください。

Step 2:ROS2 Humble のインストール

2-1.GPG鍵とROS2の公式リポジトリの追加

ROS2の信頼性を保証する鍵と、インストール元の情報を追加します。

sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key \
-o /usr/share/keyrings/ros-archive-keyring.gpg
 
echo “deb [arch=$(dpkg -‎-print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] \
http://packages.ros.org/ros2/ubuntu $(lsb_release -cs) main” \
| sudo te‎e /et‎c/apt/sources.list.d/ros2.list > /dev/null
 

2-2.ROS2本体のインストール

sudo apt update
 
sudo apt install -y ros-humble-desktop
 

2-3.環境変数の設定

毎回ROS2の環境を読み込むように設定します。

echo “source /opt/ros/humble/setup.bash” >> ~/.bashrc
source ~/.bashrc

ros2 と入力してヘルプが表示されれば準備完了です。

Step 3:Gazebo の準備

GazeboとROS2を連携させるためのパッケージをインストールします。

sudo apt install -y ros-humble-gazebo-ros-pkgs ros-humble-gazebo-ros2-control
 

インストール確認:

gazebo –version

Step 4:TurtleBot3のシミュレーション環境構築

4-1.必要パッケージのインストール

sudo apt install -y ros-humble-turtlebot3 \
ros-humble-turtlebot3-msgs \
ros-humble-turtlebot3-gazebo
 
 

4-2.モデル指定(例:カメラ付きのwaffle_pi)

echo “export TURTLEBOT3_MODEL=waffle_pi” >> ~/.bashrc
source ~/.bashrc

Step 5:シミュレーションの起動と操作

5-1.Gazebo ワールドの起動

ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py
 

5-2.別ターミナルでキーボード操作

ros2 run turtlebot3_teleop teleop_keyboard

操作例:

  • 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 HumbleGazeboを組み合わせて、TurtleBot3を仮想環境上に構築し、キーボード操作によって自在に操縦するまでの一連の手順を解説しました。
これにより、物理的なロボットを用いずとも、基本的な操作や動作確認を行えるシミュレーション環境が整いました。

ここまでで、ROS2の導入からGazebo連携、TurtleBot3の起動・操作までの基礎が一通り揃ったことになります。
次のステップでは、より実践的な応用として、自律走行に挑戦します。
自律走行では、ロボットがセンサ情報をもとに周囲の状況を判断し、障害物を回避しながら目的地へ向かって進行します。

次回は、「Gazebo × ROS2でTurtleBot3を自律走行させてみた」をテーマに、シンプルな自律走行ノードの作成と実行方法を紹介します。
ROS2の実用性をさらに深める内容となりますので、ぜひご期待ください。

関連情報

PC提案事例

Gazebo・ROS2に関連したPC提案事例はこちら

関連製品

ロボティクス関連製品のご紹介 -NVIDIA Three Computers構想-

ワークステーション導入ガイド

ROS2とは? 研究に必要な環境構築とワークステーション選定ガイド

NVIDIA Omniverseに最適なワークステーション選定ガイド

Isaac SIMに最適なワークステーション選定ガイド

研究に集中できる環境を整える、AI・ロボティクス研究機材導入支援

ワークステーションのご相談はお気軽に!

研究用・産業用PCの製作・販売サービス TEGSYS – テグシス

width="340"

width="430"

このエントリーをはてなブックマークに追加