Ubuntu 24.04向けROS2 Jazzyのインストールからデモまで

7月 30, 2024

Ubuntu24.04向けにROS2 jazzyが発表されました. Raspberry Pi5で公式に推奨されているUbuntuは23.04以降なので, ROS2 jazzyの開発環境を整えたいところです. 今回はROS2 jazzyの開発環境構築からデモまでを紹介しています.

環境構築

ROS 2のGPGキーを取得.

sudo apt update && sudo apt install curl -y
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] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null

リポジトリを追加したので、最新状態にします.

sudo apt update

ROS jazzyをインストールします.

sudo apt install ros-jazzy-desktop

ROSパッケージのコンパイラ等の開発ツールをインストールします.

sudo apt install ros-dev-tools

ターミナルの起動毎にsetup.bashが実行されるように, bashrcに以下の記載をしておきます.

$ nano ~/.bashrc

+ source /opt/ros/jazzy/setup.bash

デモ

ROS2 jazzyをインストールできたかどうか確かめるために, デモとして’Hello World!"という文字列を送信し, 受信するノードを実行してみます.

上記のデモはros2公式のリポジトリのexamplesにあります.

ワークスペースを作成し, ROS2のデモコードをcloneします.

mkdir -p ~/colcon_ws/src
cd ~/colcon_ws/src
git clone https://github.com/ros2/examples

jazzy向けのブランチに切り替えます.

cd ~/colcon_ws/src/examples
git checkout jazzy

ビルドします.

cd ~/colcon_ws
sudo rosdep init
rosdep update
rosdep install --from-paths src
colcon build --symlink-install

“Hello, World!"というメッセージを受信するnodeを立ち上げます.

cd ~/colcon_ws
source install/setup.bash
ros2 run examples_rclcpp_minimal_subscriber subscriber_member_function

“Hello, World!"というメッセージを送信するnodeを立ち上げます.

cd ~/colcon_ws
source install/setup.bash
ros2 run examples_rclcpp_minimal_publisher publisher_member_function

うまくいけば受信側は送信側が出した"Hello, World!"を受け取ってそれを出力します.

$ ros2 run examples_rclcpp_minimal_subscriber subscriber_member_function
[INFO] [1722268086.012904989] [minimal_subscriber]: I heard: 'Hello, world! 0'
[INFO] [1722268086.512706391] [minimal_subscriber]: I heard: 'Hello, world! 1'
[INFO] [1722268087.012694823] [minimal_subscriber]: I heard: 'Hello, world! 2'
[INFO] [1722268087.512657826] [minimal_subscriber]: I heard: 'Hello, world! 3'
[INFO] [1722268088.012671570] [minimal_subscriber]: I heard: 'Hello, world! 4'
[INFO] [1722268088.512678057] [minimal_subscriber]: I heard: 'Hello, world! 5'

送信側は"Hello, World!"を送信します.

$ ros2 run examples_rclcpp_minimal_publisher publisher_member_function
[INFO] [1722268086.012277172] [minimal_publisher]: Publishing: 'Hello, world! 0'
[INFO] [1722268086.512264169] [minimal_publisher]: Publishing: 'Hello, world! 1'
[INFO] [1722268087.012267713] [minimal_publisher]: Publishing: 'Hello, world! 2'
[INFO] [1722268087.512251431] [minimal_publisher]: Publishing: 'Hello, world! 3'
[INFO] [1722268088.012254354] [minimal_publisher]: Publishing: 'Hello, world! 4'
[INFO] [1722268088.512253729] [minimal_publisher]: Publishing: 'Hello, world! 5'

終わりに

ROS2 jazzyは発表されて間もないので, 環境構築からデモまでの紹介をしてみました!
参考にしてみてください.

ROS

Posted by Tech Life Hacking