30代エンジニアの備忘録のカバー画像

30代エンジニアの備忘録

組み込み開発・信号処理・プログラミングの技術メモと短編小説

🤖 【TurtleBot3 ROS2環境構築①】TurtleBot3とは - ハードウェア構成とROS2対応モデル

シリーズ この記事は「TurtleBot3 × ROS2 環境構築シリーズ」の一部です。 シリーズ目次を見る

2026年5月時点。TurtleBot3 × ROS 2 環境構築シリーズ①です。実機を買う前に「何が載っているか」を押さえ、②以降の apt 作業で迷子にならないことが目的です。

モデル一覧・セットアップ・ファーム更新は TurtleBot3 e-Manual を正と読んでください。ROS 2 ディストリ対応は ROS 2 Humble 公式ドキュメント で確認します。本記事は整理用メモで、用語の入口と TurtleBot3 ROS2環境構築シリーズ目次 への導線を優先します。

結論として、Burger は入門向け、Waffle 系は計算・センサが厚い構成です。ホストPCと RPi4 を同一 Wi-Fi と ROS_DOMAIN_ID で繋ぐ構成を、以降の記事で具体化します。

TurtleBot3 は ROBOTIS 社のオープンソース教育・研究用移動ロボットです。ROS / ROS 2 の教材として広く使われ、Gazebo シミュと実機を同じノード構成に近づけられるのが特長です(詳細は TurtleBot3 e-Manual)。


TurtleBot3 とは何か?

TurtleBot3 は韓国のROBOTIS社が開発した小型移動ロボットです。Open Source Robotics Foundation(OSRF)にROS公式チュートリアルプラットフォームとして採用されており、大学・研究機関・ハッカーソンで広く使われています。

TurtleBot3 BurgerとWaffleモデル
TurtleBot3 BurgerとWaffleモデル
TurtleBot3の3つの強み
  1. シミュレーションと実機が同一コード: GazeboシミュレーターとリアルTurtleBot3を同じROS2ノードで制御できる
  2. 豊富なサンプル: SLAM・自律ナビゲーション・マニピュレーション連携のサンプルが公式提供
  3. 拡張性: センサー追加やカスタマイズが容易で、独自ロボットの開発ベースにも使える

Burger / Waffle / Waffle Pi はどう違う?

モデル 概要 主な用途 搭載コンピュータ 特徴
Burger 最小構成・積層型2輪 教育・入門 Raspberry Pi 4 最もコンパクト・低コスト
Waffle 平板型・広いスペック 研究・開発 Intel NUC / RPi4 カメラ・広いペイロード
Waffle Pi Waffleのコスト削減版 教育・研究 Raspberry Pi 4 コスパ重視
TurtleBot3モデル比較(サイズ・スペック)
TurtleBot3モデル比較(サイズ・スペック)
💡
本シリーズでは最も入手しやすい Burger を主なターゲットとして解説します。Waffle / Waffle Piでも基本的な手順は同じです。

Burger のハードウェア構成は?

TurtleBot3 Burger 構成
├── Raspberry Pi 4 (メインコンピュータ)
│   └── Ubuntu 22.04 Server + ROS2 Humble
├── OpenCR 1.0 (組み込みコントローラ)
│   └── Dynamixelモーター制御 + IMU
├── DYNAMIXEL XL430-W250 × 2 (駆動モーター)
├── LDS-02 LiDAR (360°レーザースキャナ)
└── Li-Po バッテリー 1800mAh 11.1V
TurtleBot3 Burger ハードウェア構成図
TurtleBot3 Burger ハードウェア構成図
Raspberry Pi 4(メインPC)

TurtleBot3のメインコンピュータです。Ubuntu 22.04 ServerとROS2 Humbleが動作し、ホストPCとWi-Fi経由でROS2トピックを共有します。

OpenCR 1.0(組み込みコントローラ)

OpenCR(Open-source Control module for ROS)はTurtleBot3専用の組み込みコントローラです。

  • CPU: STM32F746 Cortex-M7(216MHz)
  • 役割: Dynamixelモーターの制御・オドメトリ計算
  • IMU: 9軸センサー(加速度・ジャイロ・地磁気)内蔵
  • 接続: Raspberry PiとUSBシリアルで通信
OpenCR基板の概要
OpenCR基板の概要
LDS-02 LiDAR(レーザースキャナ)
項目 仕様
スキャン角度 360°
測定距離 0.16〜8.0 m
サンプリング周波数 約1,800 Hz
回転速度 約300 rpm
インターフェース UART
LiDARによる360°スキャンイメージ
LiDARによる360°スキャンイメージ

ホストPCと TurtleBot3 の ROS 2 構成は?

[ホストPC]                              [TurtleBot3 (RPi4)]
┌─────────────────────────┐              ┌──────────────────────┐
│ RViz2(可視化)          │◀────────────│ turtlebot3_bringup   │
│ Nav2(自律ナビ)         │  ROS2 DDS   │ turtlebot3_node      │
│ slam_toolbox(地図生成) │◀────────────│ (LiDAR / Odom / IMU) │
│ teleop_keyboard(操縦)  │────────────▶│                      │
└─────────────────────────┘   Wi-Fi     └──────────┬───────────┘
                                                   │ USB Serial
                                        ┌──────────▼───────────┐
                                        │ OpenCR               │
                                        │ (Dynamixel制御/IMU)  │
                                        └──────────────────────┘

ホストPCと TurtleBot3 は同一 Wi-Fi 上で ROS 2 の DDS 通信を共有します。設定の要は ROS_DOMAIN_ID の説明 をホストと RPi4 で一致させることです。

TurtleBot3のROS2ノードグラフ
TurtleBot3のROS2ノードグラフ
主要トピック一覧
トピック名 メッセージ型 内容
/scan sensor_msgs/LaserScan LiDARスキャンデータ(360°)
/odom nav_msgs/Odometry 走行距離センサーによる位置推定
/cmd_vel geometry_msgs/Twist 速度指令(直進/旋回)
/imu sensor_msgs/Imu IMUデータ(加速度・角速度)
/battery_state sensor_msgs/BatteryState バッテリー残量
/tf tf2_msgs/TFMessage 座標変換フレーム

TurtleBot3 が対応する ROS 2 は?

ROS2ディストリビューション Ubuntu TurtleBot3対応 EOL
Humble Hawksbill 22.04 LTS ✅ 推奨 2027年5月
Iron Irwini 22.04 ✅ 対応 2024年11月
Jazzy Jalisco 24.04 LTS ✅ 対応 2029年5月
💡
本シリーズでは ROS2 Humble + Ubuntu 22.04 の組み合わせを使用します。TurtleBot3の公式サポートが最も安定しています。 正本: TurtleBot3 e-Manual。

TurtleBot3 で試しやすい機能は?

TurtleBot3 + ROS 2 では次のような機能を「教材として」試しやすいです(難易度は目的とチューニング次第)。

  • SLAM(地図生成): slam_toolbox や cartographer を使ったリアルタイム地図生成
  • 自律ナビゲーション: Nav2 スタックによる経路計画・障害物回避・自律移動
  • Gazeboシミュレーション: 実機なしでも機能の多くを教材として試せる構成がある(セットアップは世代差に注意)
  • OpenMANIPULATOR-X連携: ロボットアームとの組み合わせ
  • マルチロボット: 複数のTurtleBot3を同時制御
TurtleBot3でSLAMと自律ナビゲーションを実行した例
TurtleBot3でSLAMと自律ナビゲーションを実行した例

実機あり・シミュのみで必要なものは?

実機なし(Gazeboシミュレーションのみ)
  • Ubuntu 22.04 LTS搭載PC(RAM 8GB以上推奨)
  • ROS2 Humble
  • TurtleBot3シミュレーションパッケージ
  • Gazebo Classic(Harmonic)
実機あり
  • TurtleBot3 本体(Burger / Waffle / Waffle Pi)
  • ホストPC(Ubuntu 22.04)
  • Wi-Fiルーター(ホストPCとTurtleBot3が同一ネットワーク上)
  • microSDカード(32GB以上)
  • microHDMIケーブル(初期設定時のみ)

最初に押さえる用語は?

語 メモ
ディストリビューション(Humble 等) Ubuntu との対応セット。本シリーズは Ubuntu 22.04 + Humble を前提にします。
DDS 複数マシン間で ROS グラフを自動発見させる通信基盤。ROS_DOMAIN_ID が一致していることがマルチホストの前提です。
bringup LiDAR/IMU/オドメトリ等を揃えて起動する手順束(パッケージの呼び方)。
OpenCR TurtleBot3 基板。モータ制御と USB シリアルでの接続が中心。
LDS-02 本章の LiDAR を例にする記事が多い。世代違いは e-Manual で要確認。

TurtleBot3 概要の要点は?

  • TurtleBot3はROBOTIS社製のオープンソース教育用移動ロボット
  • Burger(入門向け)/ Waffle / Waffle Pi の3モデルが存在
  • Raspberry Pi 4 + OpenCR + LiDARの構成(Burgerの場合)
  • ホストPCとWi-Fi経由でROS2のDDS通信を行う
  • Gazeboシミュレーションなら、教材として実機準備なしでも始めやすい
  • 次回はホストPCとTurtleBot3本体のROS2 Humbleセットアップ手順を解説します。

この記事の検証範囲は?

本文の手順は以下の作者環境で確認した範囲に基づきます。製造ロット・ファーム・Imager の版で表記と挙動がズレることがあるため、差分は ROBOTIS/ROS 2 の正本で補ってください。実機すべての状態を繰り返し検証したわけではありません。シミュのみで十分なときは、その旨を優先してください。

  • Ubuntu 22.04 LTS(ホストおよび RPi でのセットアップは別記事)
  • ROS2 Humble Hawksbill
  • TurtleBot3 Burger(Raspberry Pi 4 を例示)構成