こんにちはShotaです。
Raspberry Pi Mouse の新バージョン Raspberry Pi Mouse V3が販売開始されました。それと同時に、Raspberry Pi MouseのROSサンプル集も公開されました。
この記事では、Raspberry Pi Mouse V3の特徴と、ROSサンプル集の使い方を紹介します。
Raspberry Pi Mouse V3とは
Raspberry Pi Mouse V3は、アールティが開発したRaspberry Pi搭載の車輪型ロボット Raspberry Pi Mouseの新バージョンです。
主な特徴は次のとおりです。
- 電源回路の強化:Raspberry Pi 4B 対応
- パルスカウンタの搭載:自己位置推定の精度向上
- 互換性:Raspberry Pi 1B+、2B、3B、3B+を継続して使用可能
Raspberry Pi Mouse V3の購入ページはこちらです↓
Raspberry Pi Mouse V3 フルキット | アールティロボットショップ
Raspberry Pi 4Bは、前モデルの3B+からCPUやRAMが強化され、USB3.0ポートも搭載された最新のモデルです。性能が向上したことにより、消費電流も約3.0Aに増加しました(Raspberry Pi 公式ページ参照)。そのためRaspberr Pi Mouse V3では電源ICや回路パターンを更新しています。
また、V3の新機能であるパルスカウンタは、モータドライバへ出力されるパルス数をカウントします。これにより、出力されたパルス数をもとにRaspberry Pi Mouseの位置・速度を推定できるため、モータ速度指令値から求めるよりも推定精度が向上します。ぜひ、お試しください。
Raspberry Pi 4Bの互換性について
さて、Raspberry Pi 4Bの互換性についてですが、GPIOピンは2B、3Bシリーズと同じ並びで、基板もほぼ同形状です。しかし、LANポートとUSBポートの配置が変更されたため、そのままではRaspberry Pi Mouseに搭載できません。
そのため、新しくRaspberry Pi4用のGPIOコネクタを作成しました。Raspberry Pi 4Bを搭載したい方は、ぜひRaspberry Pi4用コネクタをご購入ください。
Raspberry Pi4用コネクタ | アールティロボットショップ
ROS サンプル集の公開
アールティロボットショップでは、Raspberry Pi Mouse用のオプションキットを販売しています。この度、オプションキットをすぐに試せるRaspberry Pi Mouse ROSサンプル集が公開されたので、その使い方を紹介します。
raspimouse_ros_examples パッケージ
公開したパッケージはraspimouse_ros_examples(https://github.com/rt-net/raspimouse_ros_examples)です。カメラマウント、ライントレース、LiDARのオプションキットに対応しています。
このパッケージには複数のサンプルコードが用意されています。例えば次のように、ジョイスティックコントローラでRaspberry Pi Mouseを動かすサンプルコードがあります。
この記事ではサンプルコードを動かす手順を紹介します。
事前準備
私はRaspberry Pi 3BとUbuntu 18.04 (64 bit)で環境を構築しました。同じ手順を紹介します。raspimouse_ros_examplesを動かすためには、Ubuntuのインストール、デバイスドライバのインストール、ROSのインストールが必要です。
まず、Ubuntu公式ページ(https://ubuntu.com/download/raspberry-pi)からUbuntu 18.04をダウンロードします。ダウンロードしたらSDカードに書き込みます。
次に、Raspberry Piを起動し、Raspberry Pi Mouseのデバイスドライバ(https://github.com/rt-net/RaspberryPiMouse)をインストールします。インストール手順はデバイスドライバのREADMEを参照してください。次のようなコマンドが記載されています。
# デバイスドライバのインストール手順$ git clone https://github.com/rt-net/RaspberryPiMouse.git
$ cd utils
###Raspbianの場合###
$ sudo apt install raspberrypi-kernel-headers
$ ./build_install.bash
###Ubuntuの場合###
$ sudo apt install linux-headers-$(uname -r)
$ ./build_install.bash
最後に、ROSをインストールします。Ubuntu 18.04を使用しているので、インストールするのはROS Melodicです。公式ページ(http://wiki.ros.org/melodic/Installation/Ubuntu)の手順に従ってインストールします。
※2020/06/30追記:ROS-Base(ros-melodic-ros-base)をインストールしました。
以上で準備完了です。
raspimouse_ros_examplesのインストール
続いて、raspimouse_ros_examplesをインストールします。インストール手順はパッケージのREADMEを参照してください。次のようなコマンドが記載されています。
※2020/07/01 下記のコマンドを修正しました
# raspimouse_ros_examplesのインストール手順
cd ~/catkin_ws/src
# Clone ROS packages
git clone https://github.com/ryuichiueda/raspimouse_ros_2
git clone https://github.com/rt-net/raspimouse_ros_examples
# Install dependencies
rosdep install -r -y --from-paths . --ignore-src
# make & install
cd ~/catkin_ws && catkin_make
source devel/setup.bash
カメラマウントのサンプル
それでは、オプションキットを使ったサンプルを動かしてみましょう。まずは、カメラマウントを使います。
Webカメラマウント | アールティロボットショップ
このサンプルではWebカメラの画像を用いて、色の付いた物体を追跡します。デフォルトではオレンジ色の物体を追跡します。
画像処理を試したい方にお勧めのサンプルです。
ライントレースのサンプル
続いて、ライントレースのオプションキットを使います。
ライントレース | アールティロボットショップ
このサンプルでは白線(あるいは黒線)を検知して、その上を走行します。
チューニングすればライントレースの大会に出場できるかも!?
LiDARによるSLAMのサンプル
最後に、LiDARのオプションキットを使います。ショップではURGとRPLIDARの2種類のキットを販売しています。
まずはURGでサンプルを試します。
URGマウント / URG-04LX-UG01 | アールティロボットショップ
このサンプルではLiDARを使ってSLAM(自己位置推定と地図作成)を行います。
センサがRaspberry Pi Mouseの周りにある壁を検出し、その情報を頼りに地図(動画右下)を作成します。また、センサ情報をもとに、Raspberry Pi Mouseの自己位置が補正されていることも動画から確認できます。
つぎに、RPLIDARでサンプルを試します。
RPLIDAR | アールティロボットショップ
URGとRPLIDARはセンサ特性が違うので、用途に合ったものをお求めください。
おわりに
アールティが新しく販売開始したRaspberry Pi Mouse V3でもraspimouse_ros_examplesを動かせます。ぜひ、お試しください。