🤖 【TurtleBot3 ROS2環境構築②】ホストPC環境構築 - ROS2 HumbleとTurtleBot3パッケージのセットアップ
シリーズ この記事は「TurtleBot3 × ROS2 環境構築シリーズ」の一部です。 シリーズ目次を見る
2026年5月時点。シリーズ②で、ホストPC(Ubuntu 22.04)に ROS 2 Humble と TurtleBot3 向け apt を載せます。想定読者は①を読み、これから apt で環境を揃える方です。
TurtleBot3 Quick Start や ROS 2 Humble 公式ドキュメント と重なる手順は短くし、TURTLEBOT3_MODEL・ROS_DOMAIN_ID・TB3 向け apt 束など、公式とズレやすい点を厚めに書きます。
読了後は talker/listener と Gazebo シミュまで再現でき、③の RPi4 セットアップに進める状態を目指します。
ホストPCの前提条件は?
| 項目 | 要件 |
|---|---|
| RAM | 8GB以上(推奨:16GB) |
| ネットワーク | インターネット接続 |
コピペ前提(一行): ホストは Ubuntu 22.04、sudo apt が既定の公開ミラーへ到達でき、手順中の curl/keyring 取得がブロックされないこと(社内プロキシやオフラインでは再現しない場合があります)。GUI(RViz/Gazebo)はデスクトップ環境か、不足パッケージを別途満たすこと。
Step 1: ホストPCに ROS 2 Humble はどう入れる?
1-1. システムのアップデート
sudo apt update && sudo apt upgrade -y 1-2. ロケールの設定
sudo apt install -y locales
sudo locale-gen en_US en_US.UTF-8
sudo update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8
export LANG=en_US.UTF-8 1-3. ROS2リポジトリの追加
sudo apt install -y software-properties-common curl
sudo add-apt-repository universe
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] \
https://packages.ros.org/ros2/ubuntu \
$(. /etc/os-release && echo $UBUNTU_CODENAME) main" | \
sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null 1-4. ROS2 Humble デスクトップのインストール
sudo apt update
sudo apt install -y ros-humble-desktop
1-5. 環境変数の設定(.bashrc)
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
source ~/.bashrc 1-6. ROS2の動作確認
talker / listenerサンプルで通信を確認します。
# ターミナル1(talker側)
ros2 run demo_nodes_cpp talker # ターミナル2(listener側)
ros2 run demo_nodes_cpp listener
ターミナル2に "Hello World: 1, 2, 3, ..." と表示されれば成功です。
期待する出力の特徴: listener 側に連番が流れ、双方で例外スタックトレースが出ない。
Step 2: TurtleBot3 向けパッケージは何を入れる?
2-1. TurtleBot3本体パッケージ
sudo apt install -y \
ros-humble-turtlebot3 \
ros-humble-turtlebot3-msgs \
ros-humble-turtlebot3-simulations 2-2. SLAM・ナビゲーションパッケージ
sudo apt install -y \
ros-humble-nav2-bringup \
ros-humble-slam-toolbox \
ros-humble-cartographer \
ros-humble-cartographer-ros 2-3. Gazeboシミュレーター
sudo apt install -y ros-humble-gazebo-ros-pkgs
期待する出力の特徴: ros2 pkg list | grep turtlebot3 で複数行が返り、欠けがあれば再 apt。
Step 3: TURTLEBOT3_MODEL と ROS_DOMAIN_ID は?
3-1. TurtleBot3モデルの指定
echo "export TURTLEBOT3_MODEL=burger" >> ~/.bashrc
source ~/.bashrc 3-2. ROS_DOMAIN_IDの設定
TurtleBot3本体と同じDomain IDを設定します(0〜101の範囲)。
echo "export ROS_DOMAIN_ID=30" >> ~/.bashrc
source ~/.bashrc 3-3. 設定内容の確認
tail -5 ~/.bashrc
# source /opt/ros/humble/setup.bash
# export TURTLEBOT3_MODEL=burger
# export ROS_DOMAIN_ID=30
期待する出力の特徴: tail ~/.bashrc に setup.bash と TURTLEBOT3_MODEL、ROS_DOMAIN_ID の export が並ぶ。
Step 4: Gazebo で動作確認するには?
実機がなくてもGazeboでパッケージの動作を確認できます。
# ターミナル1: Gazebo + TurtleBot3ワールド起動
ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py # ターミナル2: キーボード操縦
ros2 run turtlebot3_teleop teleop_keyboard
| キー | 動作 |
|---|---|
| W | 前進(直進速度アップ) |
| X | 後退(直進速度ダウン) |
| A | 左旋回(角速度アップ) |
| D | 右旋回(角速度ダウン) |
| S / Space | 緊急停止 |
期待する出力の特徴: シミュウィンドウが応答し、teleop がキー表を出して /cmd_vel が流れる。
インストール済みパッケージはどう確認する?
ros2 pkg list | grep turtlebot
# turtlebot3
# turtlebot3_bringup
# turtlebot3_cartographer
# turtlebot3_description
# turtlebot3_example
# turtlebot3_gazebo
# turtlebot3_msgs
# turtlebot3_navigation2
# turtlebot3_simulations
# turtlebot3_slam_toolbox
# turtlebot3_teleop ホストPCセットアップで困ったら?
想定(apt が失敗する例)
Unable to locate package ros-humble-... のとき、/etc/apt/sources.list.d/ros2.list と keyring が揃っているか、直前の sudo apt update がエラーなく終わったかを先に確認(社内ネットワーク制限があると wget/curl 段階で止まります)。
colconコマンドが見つからない
sudo apt install -y python3-colcon-common-extensions
echo "source /usr/share/colcon_argcomplete/hook/colcon-argcomplete.bash" >> ~/.bashrc Gazeboが起動しない(OpenGLエラー)
export LIBGL_ALWAYS_SOFTWARE=1
ros2 launch turtlebot3_gazebo turtlebot3_world.launch.py ros2コマンドが見つからない
source /opt/ros/humble/setup.bash
# または
source ~/.bashrc ホストPC構築の要点は?
- Ubuntu 22.04にROS2 Humbleをインストールした
- TurtleBot3関連パッケージ(SLAM・Nav2・Gazebo)をインストールした
- TURTLEBOT3_MODEL と ROS_DOMAIN_ID を .bashrc に設定した
- Gazeboシミュレーションで動作を確認した
- 次回はTurtleBot3本体(Raspberry Pi 4)のセットアップ手順を詳しく解説します。
この記事の検証範囲は?
この記事の確認は ホストPC側の ROS 2 デモと Gazebo シミュレーションが中心です。TB3 実機での無線接続/OpenCR まわりは ④以降。実機セットアップの差分や追加制約がある場合があります。
- Ubuntu 22.04 LTS(デスクトップ)
- ROS2 Humble Hawksbill(apt 一式)