ロボット研究開発、ソフトウェア開発、コンテンツ制作配信

【自律型ロボット製作記】#2 RPLiDAR A1M8 レーザースキャナでSLAMを試す

こんにちは、InomaCreateです。

前回は、ロボットにROSを入れて、スマホからラジコン操作できるようにしました。
今回は、自律型の第一歩として、RPLidar A1M8というレーザースキャナを購入してみましたので、お試しでSLAMを動かしてみました。

スポンサーリンク

SLAMとは?

SLAMというのは、「Simultaneous Localization and Mapping」の略で、ロボットの自己位置と地図作成を同時に行う技術です。
2次元でSLAMを動かすには、センサとしては、2Dレーザースキャナやオドメトリ(回転数から算出した自己位置)が必要になりますが、Hector SLAMという技術を使えば、オドメトリが不要でレーザースキャナーのみで実現できるということで、今回は、Hector SLAMを動かしてみたいと思います。

RPLiDAR A1M8

今回はお試しでSLAMを動かすということで、「RPLiDAR A1M8」というかなり安価なレーザースキャナを購入しました。
アマゾン(2020.2.22時点)で¥10,760でした。
スペックとしては、サンプルレート8,000回/S&レーザーレンジ12Mです。

RPLiDARのサンプルを動かしてみる

ROS(ubuntuPC)で動かせるサンプルがありましたので、早速動かしてみました。
以下記事参考にさせていただきました。ありがとうございます。
RPLIDAR A1をROSで動かしてみる

まずは、自分のROS環境のsrc環境配下に移動して、gitからcloneします。

$ cd ~/catkin_ws/src/
$ git clone https://github.com/Slamtec/rplidar_ros.git

ワークスペースへ移動してmakeします。

$ cd ~/catkin_ws/
$ catkin_make

catkinビルドシステムの環境設定ファイルを読み込みます。

$ source devel/setup.bash

RPLiDARをubuntuPCにUSBで接続します。

USBポートに権限を付与します。

$ sudo chmod 666 /dev/ttyUSB0

rplidar_rosのroslauchを起動します。

$ roslaunch rplidar_ros view_rplidar.launch

以下のようにrvizが起動して点群表示されています。
ちゃんと動作しているようです。

Hector SLAMを使ってみる

LidarのみでSLAMを動かせるというHector SLAMを動かしてみます。

まずは、自分のROS環境のsrc環境配下に移動して、gitからcloneします。

$ cd ~/catkin_ws/src/
$ git clone https://github.com/tu-darmstadt-ros-pkg/hector_slam.git

ワークスペースへ移動してmakeします。

$ cd ~/catkin_ws/
$ catkin_make

catkinビルドシステムの環境設定ファイルを読み込みます。

$ source devel/setup.bash

以下サイトを参考に、2つのlaunchファイルを編集します。
RPLidar Hector SLAM
こちらの記事がわかりやすく参考になりました。ありがとうございます。
安価な2DレーザスキャナRPLidar A2とROSでSLAMを試す

編集後、HectorSLAMを実行してみます。
ターミナルからroscoreを立ち上げます。

$ roscore

別のターミナルを開き、rplidar_rosを立ち上げます。

$ roslaunch rplidar_ros rplidar.launch

別のターミナルを開き、hector_slam_launchを立ち上げます。

$ roslaunch hector_slam_launch tutorial.launch

rvizが起動して、地図が生成され始めました。
うまくいったようです。

マップの保存は、mapsaverを起動することで保存できます。

$ rosrun map_server map_saver -f ./mymap

最後に

ROSのパッケージを使えば、簡単にSLAMが動かせることがわかりました。
あとは、どのぐらい精度がでるのかを実際にロボットに搭載していろいろと検証したいと思います。
また、SLAMの技術をきちんと把握したいので、以下の本を購入して勉強中です。

まだまだ先は長いですが、地道にやっていきます。
それでは!

スポンサーリンク

いいね!を押すと、
最新記事をお届けします。

Twitter で
関連記事(一部広告含む)

コメント

  • こちらを参考に同様のことをしています。ラスベリーパイ4で試しているのですが、SLAMの編集を行った後の「$ roslaunch hector_slam_launch tutorial.launch」の部分でエラーが出てしまいます。
    どのように解決できるかを教えていただければ幸いです。
    よろしくお願いいたします。

  • 返信が遅れて申し訳ありません。
    エラーについてですが、具体的なエラーメッセージ等教えていただければ何かわかることがあるかもしれません。
    お手数をおかけしますがよろしくお願いいたします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


ページトップボタン