📖

ラズパイでROS2の環境を作る

2024/01/15に公開

ラズパイにROS2の環境を入れてみたので、
今回は環境構築した手順を備忘録として残す。

使用している環境

本体:Raspberry Pi 4B
OS:Raspberry Pi OS(64bit)
SDカード:64G byte

手順

まずは環境構築を始める前にパッケージ更新をして最新状態にしておく。

$ sudo apt-get update
$ sudo apt-get upgrade 

ROS2にはいくつかディストリビューションが存在するようだが、今回はHumbleというディストリビューションを使用して環境構築をする。
以下のコマンドを実行してHumbleをインストールする。

$ wget https://s3.ap-northeast-1.wasabisys.com/download-raw/dpkg/ros2-desktop/debian/bullseye/ros-humble-desktop-0.3.1_arm64.deb
$ sudo apt install -y ./ros-humble-desktop-0.3.1_arm64.deb

次に今後使用することになるため、ビルドツール関連のインストールを行う。
最初何も考えずにpip installしてみたらエラーになった。
そのため、以下のようにvenvコマンドを使いpythonの仮想環境を作りその中でpip installしたらうまくいった。

$ mkdir ~/work/ros2
$ cd ~/work/ros2
$ python -m venv venv
$ source venv/bin/activate
$ pip install vcstool colcon-common-extensions

インストールが終わったらそのままROS2を起動する。
setup.bashを実行することでROS2(Humble)が起動する。

$ source /opt/ros/humble/setup.bash

ROS2が起動したらここからはデモアプリの起動を行う。
ros2コマンドでtalkerデモノードを起動する。

$ ros2 run demo_nodes_cpp talker

ターミナルで以下のような表示になっていればOK。

次にもう1つターミナルを起動してROS2を起動し、
ros2コマンドでlistenerデモノードを起動する。

$ cd ~/work/ros2
$ source venv/bin/activate
$ source /opt/ros/humble/setup.bash
$ ros2 run demo_nodes_cpp listener

ターミナルで以下のような表示になっていればtalker側と通信できており、
talker側から発行されたメッセージが正しく受け取れている。

通信できたので今回はここまで。

Discussion