WSL2を使ってみる その2(Ubuntu 22.04、ROS2 Iron)
はじめに
以前の記事でWindows環境にROS2の環境を構築しました。それ以降パッケージをインストールして利用しようとしていたのですが、インストールするときのコマンドがLinux用だったり、Windows環境では動かないことがありました。
そこで、WSL2で構築していたUbuntu 22.04の環境に改めてROS2をインストールし、試してみることにしました。
▼ちなみに、使いたかったパッケージというのはMoveIt2です。
https://moveit.ros.org/install-moveit2/binary
ROS2のインストールは簡単にできたのですが、結局MoveIt2のインストールに少し苦戦しました。どの環境が一番楽なんでしょうね。
▼以前の記事はこちら
ROS2 Ironのインストール
バージョンについて
MoveIt2では、Ubunbu 22.04でROS2 Ironを使うことが推奨されていました。
▼MoveIt2についてはこちら
https://moveit.picknik.ai/main/doc/tutorials/getting_started/getting_started.html
今回はROS2 Ironをインストールしました。
▼こちらのページを参考にしました。
https://docs.ros.org/en/iron/Installation/Ubuntu-Install-Debians.html
▼optionalだったRMW、ROS1 bridgeは読み飛ばしました。今後必要になったら試してみようと思っています。
https://docs.ros.org/en/iron/Installation/Ubuntu-Install-Debians.html#use-the-ros-1-bridge-optional
インストールする
コマンドを実行していきます。localeはUTF-8だったので変更していません。
▼全部UTF-8でした。
▼コマンドを入力していきました。
sudo apt install software-properties-common
sudo add-apt-repository universe
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
▼optionalのdevelopment toolsはインストールしておきました。
sudo apt update && sudo apt install ros-dev-tools
▼推奨されていたDesktopもインストールしておきました。
sudo apt update
sudo apt upgrade
sudo apt install ros-iron-desktop
sudo apt install ros-iron-ros-base
今回はエラーも出ず、すんなりインストールできました。
examplesを試してみる
ros-iron-desktopのexamplesを試してみました。
▼コマンドはこちら
source /opt/ros/iron/setup.bash
ros2 run demo_nodes_cpp talker
▼もう一つターミナルを開いて、以下のコマンドを実行しました。
source /opt/ros/iron/setup.bash
ros2 run demo_nodes_py listener
これで通信できていれば、ひとまずOKかと思います。
▼listenerとtalkerで通信できました!
Turtlesimとrqtを実行してみる
以前の記事にてWindows環境のROS2で試していた、Turtlesimとrqtを試してみました。
▼こちらのページを参考にしました。
Turtlesimを試してみる
Windowsのときはインストールしなくてもよかったのですが、今回はインストールする必要があります。
▼インストールするためのコマンドはこちら
sudo apt update
sudo apt install ros-iron-turtlesim
▼以下のコマンドで実行可能なものを確認できます。
source /opt/ros/iron/setup.bash
ros2 pkg executables turtlesim
Turtlesimを起動してみました。
▼コマンドはこちら
ros2 run turtlesim turtlesim_node
▼今回もよりによって水色のカメですね...
再度コマンドを実行すると、別のカメが表示されます。見づらかったのでやり直しました。
▼せっかくなので、Windowsのneofetchと並べてみました。
キーボードで操作してみました。
▼コマンドはこちら
ros2 run turtlesim turtle_teleop_key
▼こちらも実行できています。
rqtを試してみる
別のターミナルを開いて実行しました。
▼インストールするためのコマンドはこちら
sudo apt update
sudo apt install '~nros-iron-rqt*'
▼以下のコマンドでrqtが起動します。
source /opt/ros/iron/setup.bash
rqt
▼rqtの画面が表示されました。
Pluginsの欄から、rqtで利用できる機能を選択できます。
▼Windowsの時と同様、Service Callerもあります。
▼この状態でCallすると、線が消えます。
▼他のServiceもありました。
最後に
WindowsにROS2の環境を構築したときは手順がもっと多かったのですが、今回は比較的簡単でした。エラーも出ずにすんなり終わったので一安心です。
Ubuntuのデスクトップ環境が無いとGUIのアプリは表示できないのではないかと心配していたのですが、Windowsの画面に起動していました。これなら、アプリケーションと特に変わらず実行できそうです。
この後MoveIt2の環境構築もできたので、いろいろ試してみようと思っています。