🤖 【TurtleBot3 ROS2環境構築③】Raspberry Pi 4セットアップ完全ガイド - microSD書き込みからROS2インストールまで
シリーズ この記事は「TurtleBot3 × ROS2 環境構築シリーズ」の一部です。 シリーズ目次を見る
2026年5月時点。シリーズ③です。ホストPC 構築のあと、TurtleBot3 本体の Raspberry Pi 4 へ Ubuntu Server 22.04 と ROS 2 Humble を入れます。想定読者は microSD 書き込みから OpenCR ファームまで一気に進めたい方です。
OS 書き込みは Raspberry Pi Imager、手順の正本は TurtleBot3 e-Manual です。Imager の「詳細設定」で SSH・Wi-Fi を事前投入すると、モニター無しで④以降に進みやすくなります。
結論として、64-bit Ubuntu Server が必須で、ホストと同じ ROS_DOMAIN_ID を RPi4 の .bashrc にも書きます。
Raspberry Pi 4 セットアップに必要なものは?
| アイテム | 用途 | 備考 | Raspberry Pi 4(4GB以上推奨) | TurtleBot3のメインコンピュータ | TurtleBot3 Burger付属 |
|---|---|---|---|---|---|
| microSDカード(32GB以上) | OSのインストール先 | Class 10 / UHS-I以上推奨 | microSDカードリーダー | PC側での書き込み用 | - |
| LANケーブルまたはモニター+キーボード | 初期SSH接続用 | 初回起動時のみ必要 | 5V/3A USB-C電源アダプター | RPi4電源 | 初期設定時のみ |
Step 1: microSD へ Ubuntu Server はどう書き込む?
1-1. Raspberry Pi Imagerのインストール
ホストPC(Ubuntu)では apt で Imager を入れます。Windows / macOS の場合は Raspberry Pi Imager から入手してください。
sudo apt install -y rpi-imager
rpi-imager Windows や macOS でも Raspberry Pi Imager が使えます。書き込み後は RPi4 を LAN に載せ、④⑤の記事で SSH と DDS を確認します。
1-2. OSの選択と書き込み
Raspberry Pi Imagerの手順:
- 「OSを選択」 をクリック
- 「Other general-purpose OS」→「Ubuntu」→「Ubuntu Server 22.04 LTS (64-bit)」 を選択
- 「ストレージを選択」 でmicroSDカードを選択
- 「詳細設定(⚙)」 で事前設定(次のステップ)
- 「書き込む」 をクリック
1-3. 詳細設定(SSH・Wi-Fi・ホスト名)
「⚙」アイコンをクリックして詳細設定を開きます。
- ホスト名: turtlebot3
- SSHを有効化: チェックON → 「パスワード認証を使用する」
- ユーザー名: ubuntu、パスワードを設定
- Wi-Fiを設定: SSID・パスワードを入力
- ロケール設定: タイムゾーン Asia/Tokyo、キーボード jp
書き込みには5〜10分かかります。
Step 2: 初回起動と SSH 接続は?
2-1. microSDの挿入と起動
- 書き込んだmicroSDをRaspberry Pi 4のmicroSDスロットに挿入
- LANケーブルをルーターとRPi4に接続(Wi-Fi設定済みの場合は不要)
- USB-C電源を接続 → 起動開始
初回起動には1〜2分かかります。
2-2. IPアドレスの確認
# ホストPCで実行
nmap -sn 192.168.1.0/24 | grep -A1 -i raspberry または、ルーターの管理画面(通常 192.168.1.1)のDHCPリース一覧で確認します。
2-3. SSH接続
ssh ubuntu@192.168.1.xxx # 実際のIPアドレスに変更
# 初回は yes と入力してフィンガープリントを承認
# パスワード: 設定したパスワード
Step 3: RPi4 の基本設定は?
3-1. システムのアップデート
sudo apt update && sudo apt upgrade -y 完了まで5〜15分かかります。
3-2. タイムゾーンの確認
sudo timedatectl set-timezone Asia/Tokyo
timedatectl 3-3. スワップの拡張(推奨)
RPi4(4GB)でもビルド時にメモリが不足することがあるため、2GBのスワップを追加します。
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab # 確認
free -h
# Swap: 2.0G Step 4: RPi4 に ROS 2 Humble はどう入れる?
RPi4にはGUIが不要なので、軽量な ros-base を使います。
4-1. ロケールとリポジトリの設定
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
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 4-2. ROS2 Humbleのインストール
sudo apt update
sudo apt install -y ros-humble-ros-base
4-3. TurtleBot3パッケージのインストール
sudo apt install -y \
ros-humble-turtlebot3 \
ros-humble-turtlebot3-msgs \
ros-humble-dynamixel-sdk \
ros-humble-hls-lfcd-lds-driver Step 5: .bashrc の環境変数は?
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc
echo "export ROS_DOMAIN_ID=30" >> ~/.bashrc
echo "export TURTLEBOT3_MODEL=burger" >> ~/.bashrc
echo "export LDS_MODEL=LDS-02" >> ~/.bashrc
source ~/.bashrc - 2022年以降購入:
LDS-02 - それ以前:
LDS-01
間違えるとLiDARが動かないので必ず確認してください。
# 設定内容の確認
tail -5 ~/.bashrc
# source /opt/ros/humble/setup.bash
# export ROS_DOMAIN_ID=30
# export TURTLEBOT3_MODEL=burger
# export LDS_MODEL=LDS-02
Step 6: OpenCR ファームウェアはどう書き込む?
OpenCRはTurtleBot3のモーターコントローラー基板です。ROS2用ファームウェアを書き込みます。
6-1. ユーザーをdialoutグループに追加
sudo usermod -aG dialout $USER
# 反映のため再ログイン
exit
ssh ubuntu@192.168.1.xxx 6-2. OpenCRとRPi4の接続確認
TurtleBot3を組み立てた状態で、OpenCRとRPi4がUSBケーブルで接続されていることを確認します。
ls /dev/ttyACM*
# /dev/ttyACM0 ← OpenCRが認識されている
6-3. ファームウェアのダウンロードと書き込み
export OPENCR_PORT=/dev/ttyACM0
export OPENCR_MODEL=burger
cd /tmp
wget https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/ROS2/latest/burger/opencr_update.tar.bz2
tar xjf opencr_update.tar.bz2
./opencr_update/opencr_update.sh $OPENCR_MODEL $OPENCR_PORT 書き込み成功時のメッセージ:
OpenCR Update Start..
Open port : /dev/ttyACM0 ... success
Start firmware update
Firmware upload...
Programming... 100%
Firmware update...Success
6-4. OpenCRの動作テスト
ファームウェア書き込み後、OpenCR基板の 「PUSH SW1」 ボタンを押すとモーターがテスト動作します。
- 1回押し: 前進
- 2回押し: 後退
モーターが動けば書き込み成功です。
RPi4 セットアップで困ったら?
SSH接続できない
# 1. pingで疏通確認
ping 192.168.1.xxx
# 2. nmapでIPを再確認
nmap -sn 192.168.1.0/24
# 3. LANケーブルで接続(Wi-Fiが繋がっていない可能性) ROS2インストールが途中で止まる
free -h # メモリ確認
sudo apt install -y ros-humble-ros-base --fix-broken OpenCRのポートが見つからない
ls /dev/ttyACM*
# USBケーブルを挙し直してから下記で確認
dmesg | tail -20 RPi4 セットアップの要点は?
- Raspberry Pi ImagerでUbuntu Server 22.04 (64bit)をmicroSDに書き込んだ
- SSHで接続してシステムの基本設定とスワップ追加を行った
- ROS2 HumbleとTurtleBot3パッケージをインストールした
- .bashrcにROS2環境変数(ROS_DOMAIN_ID・TURTLEBOT3_MODEL・LDS_MODEL)を設定した
- OpenCRにROS2対応ファームウェアを書き込み、モーター動作を確認した
- 次回はWi-Fi設定とROS2のマルチマシン通信(ホストPC↔TurtleBot3)の設定方法を解説します。