ラズパイマウスでROS 2を動かしてみた

Raspberry Pi MouseのシミュレータパッケージROS 2版をリリースしました

Raspberry Pi Mouseのシミュレータ ラズパイマウスでROS 2を動かしてみた
Raspberry Pi Mouseのシミュレータ

こんにちは、アールティの加藤です。

アールティが販売する小型移動プラットフォームロボットRaspberry Pi MouseのシミュレータパッケージROS 2版がリリースされました。最新のROS 2長期サポートディストリビューションであるHumbleに対応しています。このシミュレータパッケージではRaspberry Pi Mouseの実機をお持ちではない方でも、サンプルプログラムのシミュレーションが可能です。本記事ではシミュレータパッケージの導入方法と動作手順について紹介します。

Raspberry Pi Mouseの紹介

Raspberry Pi MouseはメインボードにRaspberry Piを使用した左右独立二輪方式の小型移動プラットフォームロボットです。全長13cm、重さ700gと小型であるため、持ち運びや開発スペースの確保も簡単です。

ROS 2パッケージを利用すると、たとえば次の動画のように、特定の色の物体を追従するような動作や周囲環境の地図を作成するSLAMなどが簡単に行えます。

Raspberry Pi Mouseの詳細な特徴については、下記の製品ページをご覧ください。

https://rt-net.jp/products/raspberrypimousev3/

Raspberry Pi Mouseは下記の販売ページから購入できます。

Raspberry Pi Mouse V3 フルキット(Raspberry Pi4) [RT-RASPIMOUSE-V3-Full_Pi4] - ¥71,500.- : アールティロボットショップ, ロボットキット、部品は専門スタッフがいるアールティへ!
アールティロボットショップ Raspberry Pi Mouse V3 フルキット(Raspberry Pi4) - 付属のRaspberry PiがRaspberry Pi 4B になりました! 上記に伴い同梱のコネクタもRaspberr...

シミュレータパッケージの紹介

本記事で紹介するシミュレータパッケージを使うと、Gazeboというロボットシミュレータ環境でRaspberry Pi Mouseのサンプルプログラムを動作させることができます。パッケージの詳細については下記のGitHubリポジトリをご覧ください。

GitHub - rt-net/raspimouse_sim at humble-devel
ROS package suite for Raspberry Pi Mouse Simulator - GitHub - rt-net/raspimouse_sim at humble-devel

ROS 1環境でRaspberry Pi Mouseのシミュレーションを行いたい場合は、下記のnoetic-develブランチをご覧ください。

GitHub - rt-net/raspimouse_sim at noetic-devel
ROS package suite for Raspberry Pi Mouse Simulator - GitHub - rt-net/raspimouse_sim at noetic-devel

インストール方法

ROS 2環境のセッティングやパッケージのインストール方法は、下記のSoftware Tutorialsをご覧ください。

ROS / ROS 2のインストール - RT Corporation Software Tutorials
株式会社アールティのオンラインソフトウェアチュートリアルです。製品をより便利に使うためのソフトウェアの使い方を紹介しています。

まずRaspberry Pi Mouseのシミュレーション用ROS 2パッケージをインストールします。

cd ~/ros2_ws/src
git clone -b humble-devel https://github.com/rt-net/raspimouse_sim.git

次にシミュレータの関連パッケージをインストールします。

git clone -b humble-devel https://github.com/rt-net/raspimouse_ros2_examples.git
rosdep install -r -y -i --from-paths raspimouse*

最後にパッケージをビルドします。

cd ~/ros2_ws
colcon build --symlink-install
source ~/ros2_ws/install/setup.bash

以上でインストールは完了です。

サンプル集の動作手順例

Raspberry Pi Mouseのサンプル集についての詳しい情報は下記のGitHubリポジトリをご覧ください。

GitHub - rt-net/raspimouse_ros2_examples at humble-devel
ROS 2 examples for Raspberry Pi Mouse. Contribute to rt-net/raspimouse_ros2_examples development by creating an account ...

ジョイスティックコントローラによる操作

まずはジョイスティックコントローラでシミュレータ上のRaspberry Pi Mouseを走行させるサンプルを紹介します。このサンプルを実行するためにはジョイスティックコントローラが別途必要ですのでご注意ください。

端末1で次のコマンドを実行すると、Gazeboシミュレータが起動します。

ros2 launch raspimouse_gazebo raspimouse_with_emptyworld.launch.py

端末2で次のコマンドを実行すると、Raspberry Pi Mouseをジョイスティックコントローラで操作できます。このコマンドではLogicool Wireless Gamepad F710を使用します。

ros2 launch raspimouse_ros2_examples teleop_joy.launch.py joydev:="/dev/input/js0" joyconfig:=f710 mouse:=false

ノードが起動したら、サンプル集のREADMEの説明に従ってジョイスティックコントローラを操作することで、シミュレータ上のRaspberry Pi Mouseを動かせます。

RGBカメラの色検出による物体追従

次にRaspberry Pi Mouseに搭載したRGBカメラで特定の色の物体を検出して追従するサンプルを紹介します。

端末1で次のコマンドを実行すると、色付きの立方体が配置されたワールドが表示されます。

ros2 launch raspimouse_gazebo raspimouse_with_color_objects.launch.py use_rgb_camera:=true

端末2で次のコマンドを実行すると、Raspberry Pi Mouseがオレンジ色(赤色)の物体を追従します。

ros2 launch raspimouse_ros2_examples object_tracking.launch.py mouse:=false use_camera_node:=false

おわりに

本記事ではRaspberry Pi MouseのシミュレータパッケージROS 2版を紹介しました。このシミュレータを使うと、何度も気軽に動作テストを行えたり、自由にフィールドを用意できたり、万が一壁に衝突させても実機を壊す心配がなかったりなど、実機開発を楽に進められます。ぜひお試しください。また、今後はLiDARによるSLAMとNavigationにも対応していく予定ですので、引き続きよろしくお願いします。

タイトルとURLをコピーしました