MyEnigma

とあるエンジニアのブログです。#Robotics #Programing #C++ #Python #MATLAB #Vim #Mathematics #Book #Movie #Traveling #Mac #iPhone

ロボティクスにおける自己位置推定(Localization)技術の概要

目次

 

はじめに

自己位置推定(Localization)は、

ロボット自身が今何処にいるのか,

またはどちらの方向を向いているのか, 

どれぐらいの速度で走行しているのかなど、

現在のロボットの状態を

各種のセンサデータを使用して推定することです.

 

後述の通り、

ロボットの自己位置推定用のセンサは色々ありますが、

それぞれ一長一短であるため、

一般的に自己位置推定のシステムでは、

複数のセンサ情報や

ロボットの運動モデルを統計的・確率的に表現し,

それらを統計的・確率的に統合することにより,

高精度なロボットの位置を安定して推定するという手法が

一般的に使用されています.

 

今回の記事では、

自己位置推定に使用される一般的なセンサの概要と、

それらを確率的に統合する技術の概要と、

説明記事のリンクをまとめておきたいと思います。

 

自己位置推定でよく使用されるセンサ

下記が一般的にロボットの自己位置推定で使用される

代表的なセンサです。

 

GPS (Global Positioning System)

GPSは地球の周りに回っている衛星などからの

電波を利用してロボットの位置を検出するセンサです。

GPSは最近では車や携帯にも搭載されています。

 

実際にロボットに搭載するGPSは市販のものよりも、

比較的高価で精度のよいもの

(Differential GPSやReal time kinematics GPS)を使用しています。

 

このGPSは屋外で活動するロボットにとっては最も重要なセンサです。

このセンサだけでグローバル座標系での位置がわかるので、

非常に便利なのですが、

GPSは地球の周りに回っている衛星などからの電波を利用して

ロボットの位置を検出するので、

木の陰や建物の陰などによって電場が反射し、

GPSの精度が低下してしまったり、

最悪の場合、位置情報が取得できない場合もあります。

このようにGPSの値が不正確だったり、取得できなかったりしたときに、

どのようにうまく自己位置推定を行うのかが一つの研究内容になっています。

 

ジャイロセンサ(Gyro Sensor)

これは角速度を検出するセンサです。

基本的にはロボットに搭載して、

ロボットの姿勢の変化を検知します。

(その場で回転したり、上向きに傾いた場合などを検知できます。)

また、それらの値を積分することで

今の方位や姿勢を推定することもできます。

 

詳しくは下記を参照下さい。

myenigma.hatenablog.com

 

地磁気センサ (Magnetometric sensor)

地磁気センサは、地球の地磁気を検知することで、

ロボットの方位を観測するセンサになります。

 

詳細は下記を参照下さい。

myenigma.hatenablog.com

 

加速度センサ (Accelerometer)

加速度センサは、ロボットの加速度を検出するセンサです。

この加速度の情報を積分することで、

速度を推定することができます。

また、重力加速度を利用することで、

ロボットの傾斜を推定することができます。

 

慣性計測装置 (inertial measurement unit)

加速度センサや、地磁気センサ、ジャイロセンサは、

単体で利用するだけでなく、

それらを組み合わせた

IMUというセンサとしてロボットでは利用されることがあります。

詳細は下記を参照下さい。

myenigma.hatenablog.com

 

タイヤパルスセンサ(Wheel Odometry, Dead Reckoning)

Wheel Odometryはロボットのタイヤの回転数を計算して、

ロボットの速度やロボットの位置を計算する手法です。

Dead Reckoningとも呼ばれます。

 

車両型のロボットの場合、最も一般的なセンサの一つで、

ほとんどすべての車両ロボットで利用されています。

 

詳細は下記を参照下さい。

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

   

レーザセンサ (LIDAR)

レーザセンサは、

光を放射し、物体から反射した光を再度観測することで、

周辺の物体までの距離を測定するセンサです。

 

周辺物体までの距離を精密に計測できるため、

障害物検知だけでなく、

自己位置推定にも使われます。

  後述のICPやSLAMなど、

周辺環境の形状から、自己位置を推定するのに使用されます。

 

レーダセンサ (RADAR)

レーダセンサは、

光ではなく、電波を使って

障害物までの距離を計測するセンサです。

 

レーザセンサと比べると、

距離計測の精度が低いことが多いですが、

長距離観測可能であったり、

センサの値段が比較的安かったりするため、

様々なロボットに利用されており、

レーザセンサと同様に自己位置推定に利用されることもあります。

 

詳細は下記を参照下さい。

myenigma.hatenablog.com

カメラセンサ (Image Sensor)

カメラセンサは、

周辺環境の光学的情報を取得するセンサですが、

レーザやレーダセンサと同様に、

自己位置推定にも使用されます。

  

レーザセンサやレーダセンサに比べると、

かなりセンサの値段が安いため、

比較的小型なロボットの自己位置推定のセンサにも使用されます。

 

確率的センサ統合手法

前述の通り、

ロボットの自己位置推定に使用可能なセンサは、

色々ありますが、それぞれ単品では完璧ではないため、

複数のセンサ情報を統計的・確率的に組み合わせて

より精密で安定した自己位置推定を実現する手法が一般的です。

一般的には、ベイズの定理という手法をベースにした技術が利用されます。

確率的統合方法に関しては下記の記事も参照下さい。

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

  

センサ情報の確率的統合方法としては、

距離センサ(レーザやレーダ、カメラ)以外のセンサを統合する、

一般的な自己位置推定(Localization)技術と、

距離センサを使って、周辺環境の地図と、

自己位置推定を相互に組みわせて推定する

Simultaneous Localization And Mapping(SLAM)という技術があります。

SLAMについては下記を参照下さい。

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

 

拡張カルマンフィルタ (Extended Kalman Filter)

拡張カルマンフィルタ(EKF)は、

自己位置推定の中で最も一般的な技術です。

 

詳細は下記の記事を参照下さい。

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

Unscented カルマンフィルタ

Unscented カルマンフィルタは、

EKFのモデルの非線形近似精度が低いという問題を

改善したアルゴリズムになります。

詳細は下記の記事を参照下さい。

myenigma.hatenablog.com

Particle Filter

Particle Filterは、

非線形モデルの近似をせずに、

モンテカルロ法を使って、複数のサンプリング点から、

ロボットの位置の確率分布を推定する技術になります。

 

詳細は下記の記事を参照下さい。

myenigma.hatenablog.com

Iterative Closest Point (ICP) アルゴリズム

ICPアルゴリズムは、

2つの時刻に取得された点群データの

相対移動量を最小化技術を使って推定する技術です。

 

詳細は下記の記事を参照下さい。

myenigma.hatenablog.com

EKF SLAM

EKF SLAMは

前述のEKFを使って、

周辺環境の特徴点(ランドマーク)をベースにした地図と

自己位置を同時に推定する技術です。

 

詳細は下記の記事を参照下さい。

myenigma.hatenablog.com

 

参考資料

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

myenigma.hatenablog.com

確率ロボティクス (プレミアムブックス版)

確率ロボティクス (プレミアムブックス版)

確率ロボティクス (Mynavi Advanced Library)

確率ロボティクス (Mynavi Advanced Library)

  

MyEnigma Supporters

もしこの記事が参考になり、

ブログをサポートしたいと思われた方は、

こちらからよろしくお願いします。

myenigma.hatenablog.com