センサーフュージョン – 第1部

このブログは全2回にわたるシリーズの第1回であり、ROS 2(Robot Operating System 2)に対応した自律移動ロボット(AMR)におけるセンサーフュージョンの活用方法について紹介します。 本編では、センサーフュージョンについて紹介し、EKF(拡張カルマンフィルタ)と呼ばれるセンサーフュージョンアルゴリズムについて簡単に解説した上で、シミュレーションおよび当社のAMRで行った実験の一部について順を追って説明します。

著者:ハーシュ・ヴァルダン・シン 、マヤンク・ムケシュ、アニシャ・タッカー |日付:2023年3月21日 |カテゴリー:自動車

はじめに

我々が解決しようとしている問題は、動的システムの状態を正確に推定することです。動的システムとは、時間の経過とともに状態が変化するシステムと定義できます。この状態の変化は、システムの自然な変化によるものもあれば、何らかの外部入力によって引き起こされる場合もあります。動的システムは、そのシステムが時間とともにどのように変化していくかを表す一連の微分方程式を用いて状態を定義することで、数学的に表現されます。

これを、当システムの「運動・プロセスモデル」と呼びます。システムへの入力(必須ではありません)と観測された測定値が与えられれば、次の時間ステップにおけるシステムの状態を推定することが可能です。これを「状態推定」と呼びます。このようなシステムの例としては、倉庫や実験室内を移動する自律移動ロボット(AMR)が挙げられます。

ここで、AMRの状態とは、ある固定された原点に対する位置、速度、加速度を指します。これらの状態変数は、直接測定することも、センサーの測定値から数学的に導き出すことも可能です。しかし、個々のセンサーにはそれぞれ固有の誤差があることを念頭に置いておくことが重要です。 例えば、ホイールエンコーダは、車輪の回転数を計測するのに役立ちます。この情報とAMRの動力学(運動モデル)を組み合わせることで、AMRの新たな位置を予測することができます。

しかし、車輪がスリップすると、車輪エンコーダは実際の回転数よりも多い回転数を報告することになり、その結果、AMRの状態予測に誤差が生じることになります。こうした問題は、センサーノイズや物理的環境の影響により、さらに深刻化します。 単一のセンサーの限界を補うため、複数のセンサーからの測定値を組み合わせることで、動的システムの状態推定精度を向上させることができます。動的システムの状態推定における不確実性を低減したり、精度を向上させたりするために、複数のセンサーデータを組み合わせるプロセスを「センサーフュージョン」と呼びます。

拡張カルマンフィルタ

拡張カルマンフィルタ(EKF)は、複数のセンサーからのデータを融合するための一般的な手法である。これは、線形動的システムの状態推定に用いられる、よく知られたカルマンフィルタ(線形)アルゴリズムの拡張版である。カルマンフィルタの根底にある仮定は、状態の各変数がガウス分布によって定義され、センサーノイズおよびプロセスノイズが平均ゼロの独立したガウス分布に従うというものである。 図1は、カルマンフィルタの予測・更新サイクルを用いてセンサー融合を実現する仕組みを示すブロック図です。その仕組みを理解するために、各手順を見ていきましょう。

  1. まず、初期状態推定値、それに対応する共分散行列、およびシステムの運動モデルから始めます。
  2. 入力を受け取ると、予測ステップを実行し、運動モデルと与えられた入力を用いてシステムを時間方向に順方向に伝播させることで、新しい状態推定値と共分散を算出します。
  3. IMU(慣性計測装置)やホイールエンコーダなどのさまざまなセンサーから測定値を受け取ると、前回の予測値と新しい測定値を組み合わせて、状態推定値と共分散行列を更新します。
  4. 予測と更新の処理は、アプリケーションの実行中ずっと継続して行われます。


図1:カルマンフィルターのブロック図

AMRのような非線形システムを扱う場合、カルマンフィルタアルゴリズムにいくつかの変更を加える必要があります。各予測および更新ステップの後も、状態表現がガウス分布のままであるようにするためには、運動モデルと計測モデルを線形化する必要があります。これは、テイラー級数を用いて非線形モデルを線形モデルとして近似することで行われます。このように拡張されたカルマンフィルタは、拡張カルマンフィルタと呼ばれます。

ROSにおけるセンサーフュージョン

ROS を使用してセンサーフュージョンを行うための最も人気のある ROS パッケージの一つに、robot_localization パッケージがあります。robot_localization パッケージは、拡張カルマンフィルタ(EKF)およびアンセンテッド・カルマンフィルタ(UKF)と呼ばれるカルマンフィルタの別種を実装した、汎用的な状態推定パッケージです。多くのセンサーを融合させる柔軟性を備えており、15 ベクトルの状態推定値を出力します。 状態推定値は、x、y、z方向の位置、姿勢、直線速度、角速度、および直線加速度で構成されています。このパッケージが提供する運動モデルは全方向型です。関連データが与えられれば、グローバル状態推定とローカル状態推定の両方に使用できます。このパッケージの詳細については、http://docs.ros.org/en/noetic/api/robot_localization/html/index.htmlをご覧ください。

Gazeboでの実験

Gazeboは、ROS 2に対応したシミュレーション環境であり、ロボットシステムのテストに高い柔軟性を提供します。この環境では、センサーノイズを加えたり、さまざまな摩擦係数を試したり、車輪エンコーダの精度を下げたりすることが可能であり、これにより、実世界においてAMRの状態推定に影響を与えるような現実的なシナリオを再現することができます。

センサーフュージョンの性能を定量的に評価するために、ループ閉鎖テストを実施することができます。これは、AMRの初期位置と最終位置が同じになるよう、ランダムに閉じた軌跡上でAMRを走行させるテストです。 その後、IMUと車輪エンコーダを融合させたEKFによる状態推定結果をプロットし、生データ(未処理)の車輪エンコーダからの状態推定結果と比較することができる。理想的には、AMRの推定状態において、x、y、ヨー角がそれぞれ(0, 0, 0)となることを目指す。

我々は、Turtlebot3(TB3)パッケージを用いて様々な実験を行った。その一例を図2に示す。ここでは、TB3をTurtlebot3の世界内で複数回遠隔操作し、最終的に開始位置に戻している。 図からわかるように、EKFによって予測された軌跡(緑色)は、AMRが初期位置に戻ったことをより正確に推定できているのに対し、ホイールエンコーダのみを使用した推定値(赤色)では、推定値に約1.4メートルの誤差が生じている。 ホイールエンコーダの生データによる最終位置誤差は、x軸で0.405m、y軸で-1.36m、ヨー角で29.72度でした。一方、EKFによる位置誤差の推定値は、x軸で0.103m、y軸で-0.0165m、ヨー角で0.0187度でした。 初期位置に対するユークリッド距離の全体的な改善率は約92.64%であり、ホイールエンコーダデータのみを使用した際の1.42mから、EKFを使用後の0.10mへと改善した。

図2:Turtlebot 3を用いたGazeboでのループ閉鎖テスト

AMRに関する実験

Gazeboで実施した実験は、実際のAMRにも応用可能です。我々は自社オフィス内でこれらの実験を行い、AMRのIMUデータとホイールエンコーダデータを融合させることで、信頼性の高い結果を得ることができました。 実験の一例を図3に示す。車輪エンコーダデータのみを使用した場合、推定状態にはx方向で1.58m、y方向で-0.69mの誤差が生じ、ヨー角の誤差は55度であった。 しかし、EKFによる推定値はより精度が高く、x方向で-0.35m、y方向で-0.033m、姿勢角で-5.9度の誤差にとどまりました。原点に対するユークリッド距離の全体的な改善率は約78.9%であり、EKFを導入した結果、1.699mから0.35mへと短縮されました。

図3:オフィス敷地内における実機AMRのループ閉鎖試験。

結論

状態推定は、ナビゲーションやマッピングなど、当AMRの他のモジュールに信頼性の高いオドメトリ情報を提供するための重要なステップです。実験を通じて、センサーフュージョン技術を用いることで、シミュレーション環境および実環境の双方において、当AMRの状態をより正確に推定できることを実証しました。 我々は、非線形システムにおけるセンサーフュージョンで広く用いられている手法である拡張カルマンフィルタ(EKF)を採用した。本シリーズの第2部では、センサーフュージョンがAMRのナビゲーションおよびマッピング機能をどのように向上させることができるかについて論じる。

著者

ハーシュ・ヴァルダン・シン
ソリューションエンジニア、eInfochips(Arrow傘下)
マヤンク・ムケシュ
組み込みエンジニア、eInfochips(Arrow傘下)
アニシャ・タッカー
組み込みエンジニア、eInfochips(Arrow傘下)

レポートをダウンロード

サンプルレポートをダウンロード

パンフレットをダウンロード

今すぐ会話を始めましょう

当社の自動車ソリューションの専門家による30分間の相談を予約する

今すぐ会話を始めましょう

当社のバッテリー管理ソリューションの専門家による30分間の相談を予約する

今すぐ会話を始めましょう

当社の産業・エネルギーソリューションの専門家による30分間の相談会をご予約ください

今すぐ会話を始めましょう

当社の自動車業界の専門家による30分間の相談会をご予約ください

今すぐ会話を始めましょう

当社の専門家による30分間の相談を予約する

以下の詳細をご記入の上、サンプルレポートをご請求ください

リファレンスデザイン

私たちの活動

革新

変身。

スケール

パートナーシップ

デジタル・パートナーシップ
質の高いパートナーシップ
シリコン・パートナーシップ

会社

製品・知的財産

プライバシーポリシー

当ウェブサイトでは、ユーザーの利便性を高め、サイトの改善を図るため、お客様の端末にクッキーを保存しています。当サイトが使用するクッキーの詳細および無効化方法については、こちらをご覧ください。クッキーや追跡技術は、マーケティング目的で使用される場合があります。

「同意する」をクリックすると、お客様の端末へのクッキーの保存および当社による追跡技術の使用に同意したことになります。詳細や、クッキーおよび追跡技術を無効にする方法については、下の「詳細」をクリックしてください。クッキーおよび追跡技術の受け入れは任意ですが、これらを無効にすると、ウェブサイトが正常に機能しなくなったり、表示される広告がお客様にとって関連性の低いものになったりする可能性があります。
当社はお客様のプライバシーを尊重しています。当社のプライバシーポリシーをご覧ください

必須のクッキー

クッキー設定に関するお客様の好みを保存するため、「必須クッキー」は常に有効にしておく必要があります。