Ubuntu 24.04向けROS2 Jazzyのインストールからデモまで
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は発表されて間もないので, 環境構築からデモまでの紹介をしてみました!
参考にしてみてください.