初めてのラズパイ×ROS SLAMロボット開発


GmappingによるLiDARの測定レンジ設定

ラズパイ×ROSで始めるSLAMロボット開発

図1 Gmappingはパーティクル・フィルタを用いたSLAMアルゴリズムを実装し,地図をリアルタイムに生成する.位置や姿勢の仮説の1つ「パーティクル」の数を増すことで推定精度が上がる.画像クリックで動画を見る.または記事を読む.[提供・著]砂川 寛行
詳細[VOD/Pi4 KIT] SLAMロボット&ラズパイ付き!ROSプログラミング超入門

Gmappingによる地図作成の基礎

SLAM(Simultaneous Localization and Mapping)は,ロボットが未知の環境内で自己位置を特定しながら周囲の地図を生成する技術です.gmappingは,ROS(Robot Operating System)のパッケージの1つであり,LiDARセンサを使用してSLAMを実現するための重要なツールです.

Gmappingはパーティクル・フィルタを用いたSLAMアルゴリズムを実装しており,環境地図をリアルタイムに生成します.次のようなパラメータが設定可能です.

  1. `$maxRange$`:LiDARの測定可能な最大距離
  2. `$maxUrange$`:センサ値を地図生成に利用する有効距離
  3. `$linearUpdate$`:ロボットの直線移動による更新間隔
  4. `$angularUpdate$`:回転移動による更新間隔

これらのパラメータを適切に設定することで,センサの精度とロボットの動作範囲に最適化した地図生成が可能です.

LiDAR測定レンジの調整方法

LiDARの測定レンジを適切に設定することは,高品質な地図生成に直結します.Gmappingのパラメータとして`$maxRange$`(測定最大距離)と`$maxUrange$`(地図生成で利用する有効範囲)が用意されています.

ここで,`$maxRange$`はLiDARセンサが到達可能な最大距離(8m)を指定し,`$maxUrange$`は地図生成に使用する最大距離(3m)を指定します.このように設定することで,障害物が密集する環境で不要なノイズを排除し,地図の精度を向上させることが可能です.

地図生成と保存の実践

Gmappingを利用した地図生成の流れは次のとおりです.

  1. Launchファイルを用いてGmappingを起動
  2. RVIZでLiDARセンサから得られるデータを可視化し,地図生成をリアルタイムで確認
  3. 地図を保存するために,`$rosrun map_server map_saver`コマンドを実行

保存された地図は`.pgm`形式で出力され,ほかのROSパッケージ(例:navigation)での活用が可能です.

Gmappingにおける重要なパラメータの設定

Gmappingで地図を生成する際,もっとも重要なキーワードの1つが「パーティクル・フィルタ」です.これは,確率的手法を用いてロボットの位置を推定し,地図生成を支援します.

パーティクル数と計算コスト

パーティクル(particle)は,ロボットの状態(位置や姿勢など)の仮説の1つです.1つのパーティクルは,ロボットが「ある場所にいる可能性がある」という仮説を表します.

`$particles$`は,ロボットの位置を推定するために使用されるパーティクルの数を指定します.

パーティクル数を増やすことでロボットの位置精度が向上しますが,計算コストが増加します.小型のコンピュータ(例:ラズパイ)では,過度に大きな値を設定すると処理速度が低下します.

分解能と地図の詳細度

地図の詳細度は,`$delta$`で制御されます.分解能を高くすると詳細な地図が生成されますが,メモリ消費量も増加します.〈著:ZEPマガジン〉

動画を見る,または記事を読む

著者紹介

  • 1994年 事務機器メーカ入社.エレクトロニクス関連の開発と設計.2016年 CQ出版社 トランジスタ技術にマイコンやロボット関連の技術解説記事を寄稿.Maker Fair Tokyoに出展.マイコン4足歩行ロボット製作キット「クワッドクローラ」を開発.ESP32を使用した小型のSLAMロボットを開発2022年 ZEPエンジニアリング社にて,キット付きウェブセミナ [VOD/Pi4 KIT] SLAMロボット&ラズパイ付き!ROSプログラミング超入門」の講師を行う

著書

  1. [VOD/KIT]SLAMロボット付き!ROSプログラミング超入門,ZEPエンジニアリング株式会社.
  2. [VOD/Pi400 KIT]SLAMロボット&ラズパイ付き!ROSプログラミング超入門,ZEPエンジニアリング株式会社.
  3. 5ドルI/Oコンピュータ「ラズパイZero」の研究,トランジスタ技術2016年3月号,CQ出版社.
  4. 付録Xホビー・スパコンで科学の実験 プロローグ~第3章,トランジスタ技術2016年8月号,CQ出版社.
  5. 全実験室に!高IQアルディーノ基板(記事および付録基板設計),トランジスタ技術2017年2月号,CQ出版社.
  6. トラ技ポケコン「I/OSOLDIER」の製作,トランジスタ技術2018年2月号,CQ出版社.
  7. LiDARで自己位置推定!1万円自立移動ロボット「PiBoT」,トランジスタ技術2019年10月号から隔月連載,CQ出版社.
  8. スピード製作!初歩の遠隔制御ロボット,トランジスタ技術2020年12月号,CQ出版社.

参考文献

  1. [VOD/Pi KIT]MATLAB/Simulink×ラズパイで学ぶロボット制御入門,ZEPエンジニアリング株式会社.
  2. [VOD/Pi KIT]ラズパイ×Pythonで動かして学ぶモータ制御入門,ZEPエンジニアリング株式会社.
  3. [VOD/KIT]ラズベリー・パイで学ぶエッジAIプログラミング入門,ZEPエンジニアリング株式会社.
  4. [VOD/Pi KIT]ラズベリー・パイで学ぶLinux&Pythonプログラミング超入門,ZEPエンジニアリング株式会社.
  5. [VOD/KIT]ラズベリー・パイで学ぶLinux&Pythonプログラミング超入門,ZEPエンジニアリング株式会社.
  6. [VOD/KIT]ラズパイ×Node-REDで作ろう!IoTアプリ開発入門,ZEPエンジニアリング株式会社.
  7. [VOD/Pi3A KIT]ラズパイ・キットで学ぶLinux I/Oボードの作り方・探し方・動かし方,ZEPエンジニアリング株式会社.