Raspberry Pi Mouse V3 と ROSサンプル集の紹介

こんにちは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 Mouse V3 

主な特徴は次のとおりです。

  • 電源回路の強化: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用コネクタ | アールティロボットショップ

Raspberry Pi Mouse オプションキット No.7 [Raspberry Pi4用コネクタ] - ウインドウを閉じる

ROS サンプル集の公開

アールティロボットショップでは、Raspberry Pi Mouse用のオプションキットを販売しています。この度、オプションキットをすぐに試せるRaspberry Pi Mouse ROSサンプル集が公開されたので、その使い方を紹介します。

raspimouse_ros_examples パッケージ

公開したパッケージはraspimouse_ros_exampleshttps://github.com/rt-net/raspimouse_ros_examples)です。カメラマウントライントレースLiDARのオプションキットに対応しています。

raspberry_pi_mouse.JPG
https://github.com/rt-net/raspimouse_ros_examples

このパッケージには複数のサンプルコードが用意されています。例えば次のように、ジョイスティックコントローラでRaspberry Pi Mouseを動かすサンプルコードがあります。

https://github.com/rt-net/raspimouse_ros_examples#joystick_control

この記事ではサンプルコードを動かす手順を紹介します。

事前準備

私はRaspberry Pi 3BUbuntu 18.04 (64 bit)で環境を構築しました。同じ手順を紹介します。raspimouse_ros_examplesを動かすためには、Ubuntuのインストール、デバイスドライバのインストール、ROSのインストールが必要です。

まず、Ubuntu公式ページ(https://ubuntu.com/download/raspberry-pi)からUbuntu 18.04をダウンロードします。ダウンロードしたらSDカードに書き込みます。

Raspberry Pi 3の Download 64-bitを選択

次に、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カメラマウント | アールティロボットショップ

object_tracking

このサンプルではWebカメラの画像を用いて、色の付いた物体を追跡します。デフォルトではオレンジ色の物体を追跡します。

https://github.com/rt-net/raspimouse_ros_examples#object_tracking

画像処理を試したい方にお勧めのサンプルです。

ライントレースのサンプル

続いて、ライントレースのオプションキットを使います。

ライントレース | アールティロボットショップ

mouse_with_line_trace_sensor

このサンプルでは白線(あるいは黒線)を検知して、その上を走行します。

https://github.com/rt-net/raspimouse_ros_examples#line_follower

チューニングすればライントレースの大会に出場できるかも!?

LiDARによるSLAMのサンプル

最後に、LiDARのオプションキットを使います。ショップではURGRPLIDARの2種類のキットを販売しています。

まずはURGでサンプルを試します。

URGマウント / URG-04LX-UG01  | アールティロボットショップ

mouse_with_urg

このサンプルではLiDARを使ってSLAM(自己位置推定と地図作成)を行います。

https://github.com/rt-net/raspimouse_ros_examples#slam

センサがRaspberry Pi Mouseの周りにある壁を検出し、その情報を頼りに地図(動画右下)を作成します。また、センサ情報をもとに、Raspberry Pi Mouseの自己位置が補正されていることも動画から確認できます。

つぎに、RPLIDARでサンプルを試します。

RPLIDAR | アールティロボットショップ

mouse_with_rplidar
https://github.com/rt-net/raspimouse_ros_examples#slam

URGとRPLIDARはセンサ特性が違うので、用途に合ったものをお求めください。

おわりに

アールティが新しく販売開始したRaspberry Pi Mouse V3でもraspimouse_ros_examplesを動かせます。ぜひ、お試しください。