LoginSignup
4
5

More than 3 years have passed since last update.

Raspberry Pi 4 で Turtlebot3 を動かす (Raspbian Buster + ROS Melodic)

Last updated at Posted at 2020-03-28

この記事では Raspberry Pi 4 に Raspbian Buster + ROS Melodic をセットアップして、 Turtlebot3 を動かす方法を紹介します。

Turtlebot3 の e-Manual の手順が Raspbian Stretch + ROS Kinetic と少し古いバージョンだったのですが、なるべく新しいバージョンを使いたくゼロからセットアップしたので、その手順をまとめました。

用意するハードウェア

  • Raspberry Pi 4 (4GB)
  • microSD 16GB以上
  • Turtlebot3 Burger
  • (必要に応じて)マウス・キーボード・モニター

Raspbian Buster のセットアップ

ここに関しては以下のような良い記事がたくさん出ているので割愛します。セットアップの際にモニターとかキーボードを繋ぎたくない人は、SSH の有効化と Wi-Fi 情報の設定を自動で行えるよう、microSDに sshwpa_supplicant.conf ファイルを配置しておくのがポイントです。(特に Raspberry Pi 4 は microHDMI 端子になったため、ケーブルを持っていない方が多いのではないかなと思います)

ROS Melodic と Turtlebot3 パッケージのセットアップ

ROS の基本的なパッケージと、Turtlebot3 用のパッケージをインストールします。手順は以下の記事を参考にしました。

今回インストールするROSパッケージは以下の通りです。これらはメタパッケージなので、実際には100個以上のROSパッケージがインストールされます。そのため Raspberry Pi 4 でビルドすると1時間くらいはかかります。ちなみに Raspberry Pi 3 B+ でビルドしようとしたところ、メモリ不足のためか何度試しても途中で落ちてしまいました。

  • ros_comm: ROS のフルバージョンから GUI ツールを除いた、コアパッケージ + コマンドラインツールのパッケージ
  • navigation: ロボットの自律移動などを行うためのパッケージ
  • turtlebot3, turtlebot3_msgs: Turtlebot3 用の ROS パッケージ

ROS のパッケージリポジトリの追加

sudo sh -c 'echo "deb  http://packages.ros.org/ros/ubuntu  $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-get update

ビルドのためのパッケージのインストール

sudo apt install python-rosdep python-rosinstall-generator python-wstool python-rosinstall build-essential cmake

rosdep の初期化

sudo rosdep init
rosdep update

作業用ディレクトリの作成

以下のディレクトリはビルド用のワークスペースで、ビルドされたパッケージ群は最終的に /opt/ros/melodic 以下にインストールされます。

mkdir ~/ros_catkin_ws
cd ~/ros_catkin_ws

wstool を使ってインストールするパッケージ群のリストを作成

先ほど説明した ros_comm, turtlebot3 などのパッケージを rosinstall_generator の引数として指定します

rosinstall_generator ros_comm navigation turtlebot3 turtlebot3_msgs --rosdistro melodic --deps --wet-only --tar > melodic-turtlebot3-wet.rosinstall
wstool init -j4 src melodic-turtlebot3-wet.rosinstall

パッケージのダウンロード、ビルド、インストール

100個以上のパッケージを順にビルドしていくので、1時間くらい時間がかかります。気長に待ちましょう。

rosdep install -y --from-paths src --ignore-src --rosdistro melodic -r --os=debian:buster
sudo ./src/catkin/bin/catkin_make_isolated --install -DCMAKE_BUILD_TYPE=Release --install-space /opt/ros/melodic -j2

シェルの起動時に ROS のセットアップを行うようにする

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
source ~/.bashrc

動作確認

さて、ここまで問題なく進めばROSのインストールは完了したので、あとは動作確認です。Raspberry Pi 4 を Turtlebot3 に搭載し、ケーブル等を接続します。OpenCR の電源を入れておきましょう。

roscore の起動

roscore は立ち上げっぱなしにする必要があるので、これ以降のコマンドを実行する場合は別のターミナルを開くか roscore をバックグラウンドで実行しましょう。

roscore

Turtlebot3 bringup の実行

コマンドを実行後に、赤文字でエラーなどが出ていないかを確認しましょう。

roslaunch turtlebot3_bringup turtlebot3_core.launch

Turtlebot3 を動かす

さらに別のターミナルから、リモートコントロールのノードを実行します。

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

w, a, x, d などのキーを入力し、Turtlebot3 が動くことが確認できたら、無事動作確認は完了です!

まとめ

この記事では Raspberry Pi 4 に Raspbian Buster + ROS Melodic をセットアップして、 Turtlebot3 を動かす方法を紹介しました。ROS パッケージのビルド周りは時間がかかってしんどいので、Ubuntu が使えるなら、おとなしく Ubuntu を選んでおいた方が無難ですね。

時代はもう ROS 2 だと思うので、 ROS 2 での動かし方もまた機会があったら紹介したいと思います。

免責事項

投稿内容は個人的な意見であり、所属する企業を代表するものではありません。

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5