概要
移動型ロボットに慣性計測ユニット(IMU:Inertial Measurement Unit)を適用すれば、自身の位置を推定する機能をより強化することができます。本稿では、そうした位置推定のアプリケーションにおけるIMUの重要性について解説します。また、IMUによってどのようなメリットがもたらされるのかを明らかにします。IMUを利用すれば、ロボットにとって重要なモーション・データを取得することができます。そのため、IMUはロボットの高精度なポジショニングに不可欠な要素となっています。IMU製品の多くは、加速度センサー、ジャイロ・センサー、磁気センサーを内蔵しています。また、その種のIMUはリアルタイムの応答性を提供します。そのような理由から、IMUを適用した移動型ロボットは、自身の方向、位置、動きを正確に判断することができます。その結果、動的に変化する環境内で自身を適切にナビゲートすることが可能になります。加えて、IMUにはカメラやLIDARといった他のセンサーが組み合わせられることがあります。この手法はセンサー・フュージョンと呼ばれます。センサー・フュージョンを採用したシステムでは、複数のデータ・ソースを活用することで位置推定の精度を高められます。IMUは、モバイル・ロボットやヒューマノイド・ロボット、無人航空機(UAV:Unmanned Aerial Vehicle)、VR( 仮想現実)システム/AR(拡張現実)システムなどで広く使用されています。IMUによって高精度の位置推定を実現すれば、ロボットは複雑なタスクを自律的に実行できるようになります。その際、周辺環境と効果的に関わり合うための能力をIMUが提供するとも言えます。本稿では、複雑な環境で稼働する自律走行搬送ロボット(AMR:Autonomous Mobile Robot)を例にとります。AMRにおけるIMUのユース・ケースについて説明した上で、高精度の位置推定を実現するためにIMUが果たす重要な役割について解説することにします。
はじめに
未来のスマート・ファクトリや倉庫では、AMRの存在が不可欠になるはずです。実際、サステナブルかつクリーンで自動化された未来の工場を実現する上で、AMRは極めて重要な要素になると考えられます。つまり、産業環境における効率を高め、無駄を減らし、稼働率を最適化するためにAMRが活用されるということです。そうした未来の工場は、AMRが稼働することを前提として設計/最適化されるかもしれません。しかし、既存の工場や倉庫にAMRを適用する場合には、いくつかの課題を解決する必要があるでしょう。なかでも特に重要な課題は2つの要素から成るはずです。1つは、効率的な経路計画(最適な経路を決定すること)です。もう1つは、高精度の位置推定(環境内における自らの位置の情報を継続的に更新すること)です1。
本稿では、GPSを使用できない閉じた屋内環境で使われるAMRのナビゲーション機能に着目します。その場合、AMRでは多数のセンサーやアルゴリズムを活用することで位置推定とナビゲーションの機能を実現することになるでしょう。使用されるセンサーとしては、カメラ、LIDAR、レーダーなどの視覚センサーと、ホイール・エンコーダやIMUなどのオドメトリ・センサーが挙げられます。それぞれのセンサー・モダリティには、レンジ、精度、検知可能な情報の面で固有の特徴があります。そうしたセンサーを組み合わせることで、動的に変化する環境においてロボットの位置推定を効果的に行うための包括的なデータを取得することが可能になります。但し、完全な自律性を実現するためには多くのセンサーを使用する必要があります。以下では、AMRのユース・ケースと、条件の厳しい稼働環境に着目することにします。そうした環境でナビゲーションと自律性を実現するためには、高い精度で位置推定を行えるようにする必要があります。IMUは、そのための重要な要素として機能します。
IMUとは何か?
多くのIMUは、MEMS(Micro Electro Mechanical Systems)ベースの小型デバイスとして実現されています。通常、それらは以下の要素から成ります。
- 3軸加速度センサー:加速度センサーを使用すれば、地球の重力場を基準とする加速度を測定することができます。IMUにおいて、3軸加速度センサーはX/Y/Z軸の加速度の測定に用いられます(図1)。
- 3軸ジャイロ・センサー:ジャイロ・センサーは、3軸それぞれの回転速度を測定することによって角速度を検出します。3軸ジャイロ・センサーを使用すれば、ロボットのX/Y/Z軸方向の角速度(ωx、ωy、ωz)を測定することができます(図2)。
- 高性能の磁気センサー:厳しい環境において方向を正確に推定するためには、磁場の測定が不可欠です。一般的だとは言えませんが、既存のIMUの中には磁気センサーを搭載しているものがあります。
- その他:多くのIMU製品は、温度センサー(温度の変化に対する補償に利用)や気圧センサーを備えています。
IMUの機能ブロック図
図3は、IMUの機能ブロック図です。以下、この図に示した各種機能についてまとめます。
- 一般的なIMUは、ジャイロ・センサー、加速度センサー、温度センサーに加えて、測定データを取得するためのA/D変換機能と温度補償機能を備えています。
- IMUには、FIR(Finite Impulse Response:有限インパルス応答)をはじめとするフィルタ用のアルゴリズムがあらかじめ用意されています。
- キャリブレーション機能と補償機能により、位置ずれやセンサーのバイアスが補正されます。
- ユーザに対しては、最終的なデータを送信する前に、IMUの内部軸をロボットの基準フレームに合わせて回転(dθ)させるためのオプションが提供されます。
AMRにとってIMUが有用な理由
なぜ、AMRにとってIMUは重要な要素になるのでしょうか。その理由を以下にまとめます。
- 高い更新レートによるリアルタイムの位置推定が可能:AMRがその稼働環境に対応するためには、自律性とリアルタイムのナビゲーションが重要になります。しかし、知覚センサーの更新レートは一般的に約10Hz~30Hzに制限されます。このことは、必要な機能を実現する上で大きな制約になります。それに対し、IMUは最高200Hzの更新レートで忠実度の高い位置情報を出力することができます。この高い更新レートにより、動的に変化する環境において方向の急速な変化に素早く適応可能なシステムを構築することが可能になります。つまり、大幅に高い信頼性で迅速な応答が得られるようになるということです。更新レートが高ければ、AMRは次の測定が行われるまでの短い時間に姿勢を推定することもできます。繰り返しになりますが、IMUの更新レートは知覚センサーと比べて約10倍も高速です。このことは、リアルタイムの位置推定を実現する上で極めて重要な意味を持ちます。
- デッド・レコニングの実現:デッド・レコニングとは、既知の位置に基づいて現在の位置を推定するナビゲーション手法のことです。IMUは、このデッド・レコニングの実現手段としても機能します。IMUを使用すれば、時間の経過に伴う位置、方向、速度のデータを継続的に取得できます。それにより、高精度の推定が可能になります。IMUは、そのような形でAMRの信頼性の高いナビゲーションに貢献します。
- 小型、軽量:IMUは小型かつ軽量のデバイスです。そのため、様々な構成のモバイル・ロボットに組み込むことができます。例えば、アナログ・デバイセズの「ADIS16500」の場合、(ブレークアウト・ボードの)フットプリントはわずか33.25mm×30.75mmです。そのため、ロボットの動作を制限することなく、効率的に配置することができます。
- 多様な環境に対する堅牢性:IMUは、電磁干渉に対する耐性が比較的高く、屋外、屋内を含む様々な環境で使用できます。つまり、多様なアプリケーションに対応できるということです。
- 高い更新レートによる信頼性の向上:先述したように、知覚センサーの更新レートは一般に約10Hz~30Hzに制限されています。それに対し、IMUでは、位置の情報(未処理のデータ)を最高4kHzのレートで出力することが可能です。そのため、高い忠実度が得られます。この高い更新レートにより、特に動的に変化する環境における信頼性が向上します。AMRは、素早く応答することが可能になり、次の測定が行われるまでの短い時間で姿勢の推定を実施できます。
AMRにIMUが不可欠な理由、視覚センサーだけでは不十分
一般に、AMRはToF(Time of Flight)センサー、カメラ、LIDARなど、様々な視覚センサーを搭載しています(図4)。つまり、視覚オドメトリによって豊富なデータセットが得られるようになっています。それにもかかわらず、IMUも必須の要素になります。以下、その理由を示すいくつかのシナリオを紹介します。
【シナリオ1】AMRが特徴の乏しい通路を走行する
通常、SLAM(Simultaneous Localization and Mapping)のアルゴリズムは、センサーによって取得したデータのマッチングを行うことによって機能します。それらのデータは、地図上の位置を推定するために地図のデータ上に保存されます。ただ、AMRが長い廊下を走行する場合には、自らの位置を簡単に見失ってしまうという問題が生じます(図5)。色、テクスチャ、反射率が均一な壁がまっすぐに続くなど、通路に際立った特徴がない場合、SLAMアルゴリズムでは高い精度で位置を推定することができません。このような場合でも、IMUを利用すれば進路と方向の情報を取得することが可能になります。つまり、IMUは貴重なガイダンス・システムとして機能するということです。
【シナリオ2】AMRが広大かつオープンな環境を走行する
このシナリオでは、レンジに関する制約が問題になります。AMRは、50m×50mの巨大な倉庫など、広大かつオープンなスペースで稼働する可能性があります。その場合、位置推定の難易度が高まります。そのスペースの大きさは、他の環境とは異なる特徴的なものであり、センサーのレンジを超えてしまう可能性があるからです(例えば、一般的なLIDARで測定可能な最大距離は約10m~15m)。図6は、スペースが広大である場合にAMRのオドメトリ情報が失われる様子を表しています。また、倉庫は均一な性質を持つことが多いので、視覚センサーによるレンダリングも容易ではありません。このような条件下で、局所的な位置推定を高い精度で行うにはどうすればよいのでしょうか。そのための信頼できる情報ソースは、IMUとホイール・エンコーダだけだと言えます。
【シナリオ3】AMRが斜面を走行する
AMRがLIDARを拠り所として斜面を走行する場合、従来のSLAMアルゴリズムは1つの課題に直面することになります。というのも、2次元のポイント・データからは勾配の情報は得られません。そのため、斜面は壁または障害物だと誤って認識され、コスト・マップ上のコストが実際よりも高くなります。つまり、2次元のシステムをベースとする従来のSLAM手法は、斜面上では利用できないということです。それに対し、IMUを使用すれば、斜面を効果的に走行するための勾配の情報を抽出することができます。それにより、上記の課題の解決を図ることが可能になります(図7)。
【シナリオ4】AMRが環境因子の影響を受けながら走行する
AMRが走行する際には、環境因子からの影響を受けることがあります。その場合、環境に対する感度が問題になります。例えば、LIDARには周辺光、塵、霧、雨といった様々な環境因子からの影響が及びます。それにより、LIDARで取得したデータの質が低下する可能性があります。結果として、SLAMアルゴリズムによる処理結果に影響が及んでしまうかもしれません。同様に、他のセンサー・モダリティは、反射面や移動する物体(他のAMRや作業者)からの影響を受けます。そうすると、SLAMアルゴリズムによる処理に更なる影響が及びます。表1は、様々なセンサー・モダリティに対する環境からの影響についてまとめたものです。ご覧のように、IMUは環境因子の影響を受けにくく、多様な条件下でも確実に動作します。そのため、モバイル・ロボット向けの汎用性の高い選択肢になります。
センサー・モダリティ | 光量が少ないことによる影響 | 移動する物体の影響 | 反射面の影響 | リッチなシーン・ジオメトリに対する依存性 |
標準的なRGBカメラ | あり | あり | なし | なし |
ToF | なし | あり | あり | あり |
LIDAR | なし | あり | あり | あり |
レーダー | なし | あり | あり | あり |
ホイール・オドメトリ | なし | なし | なし | なし |
IMU | なし | なし | なし | なし |
完璧なセンサーは存在しない!
ここまでに説明したように、IMUを採用すれば様々なメリットが得られます。その一方で、IMUの利用にはリスクが伴います。具体的には、以下に挙げるような課題が存在します2。
- ノイズ:IMUはノイズの影響を受けやすいデバイスです。その影響により、ロボットのナビゲーションと制御の精度が低下するおそれがあります。ノイズを補償するために、多くのIMUはカルマン・フィルタやFIRフィルタといった高度なフィルタリング手法を備えています。
- バイアス:IMUは、時間の経過に伴いバイアスを蓄積していきます。このことは、方向と動きの推定誤差につながる可能性があります。この問題に対処するために、多くのIMUは、バイアスの値を推定するためのアルゴリズムを使用して測定値を継続的に更新するように設計されています。
- 非線形性: IMUの動作には非線形性が伴います。そのため、データの処理と解釈の手法がより複雑なものになる可能性があります。非線形性を補償するには、IMUの動作特性を評価して適切な補正を適用するためのキャリブレーションを実施しなければなりません。
- ランダム・ウォーク:IMUは、外部の熱機械的な事象の影響を受けやすいデバイスです。そのため、ジャイロ・センサーではARW(角度のランダム・ウォーク)誤差、加速度センサーではVRW(速度のランダム・ウォーク)誤差が生じる可能性があります。
リスクを軽減するためのセンサー・フュージョン
上述したように、IMUの利用には様々なリスクが伴います。その緩和策となるのがセンサー・フュージョンです。以下、これについてまとめます。
- センサー・フュージョンの効果
- 信頼性が向上します。
- データの質が向上します。
- 未測定の状態の推定精度が高まります。
- カバレッジが拡大し、より広範に安全性が確保されるようになります。
- センサー・フュージョンにおけるアルゴリズムの重要性
- 拡張カルマン・フィルタ(後述)をはじめとする状態推定の手法を用いることで、AMRが通常動作する際のノイズ、ARW、バイアスの不安定性といった誤差を補正することが可能になります。
- ジャイロ・センサーのピッチとロールの誤差は、地球の重力に起因する加速度を測定することによって、IMU内で除去することができます。
- 適切なアルゴリズムを活用することにより、バイアスのドリフトを追跡して補正し、ARW誤差を補正することが可能になります。
- 拡張カルマン・フィルタ(EKF:Extended Kalman Filter)
- EKFを使用すれば、モデル化されたシステムの正確な性質が不明な場合でも、過去、現在、未来の状態推定を実現できます。図8に、EKFのアルゴリズムの概要を示しました。
- ホワイト・ガウス・ノイズやその他の不正確さを含む測定値を経時的に観測し、以下の処理を行うことによって真の測定値を推定することができます。
- センサーの間で測定の同期をとります。
- 姿勢を予測して誤差を推定します。
- 予測値の不確実性を予測して更新します。
- センサー・フュージョンの実現方法
- 図9に示したのは、視覚センサー、IMU、ホイール・オドメトリによって構成される一般的なシステムです。このシステムでは、ROS(Robot Operating System)ベースのオープンソース・パッケージを使用してセンサー・フュージョンを実現しています。このパッケージはrobot_localization3と呼ばれており、その中核部ではEKFのアルゴリズムが使用されています。このパッケージによって融合(フュージョン)できるセンサーの数に制限はありません。IMU、ホイール速度センサー、オドメトリ・センサーといった様々なセンサーからの入力を融合できます。robot_localizationからは、姿勢に関するデータが出力されます。それらのデータには、ロボットの位置と方向、直線速度/角速度、直線加速度/角加速度の3次元の推定値が含まれています。それらがSLAMアルゴリズムに引き渡されます。姿勢に関する出力は、以下のように表現されます。
[姿勢の状態] = (X, Y, Z, roll, pitch, yaw, X’, Y’, Z’, roll’, pitch’, yaw’, X”, Y”, Z”)
- 図9に示したのは、視覚センサー、IMU、ホイール・オドメトリによって構成される一般的なシステムです。このシステムでは、ROS(Robot Operating System)ベースのオープンソース・パッケージを使用してセンサー・フュージョンを実現しています。このパッケージはrobot_localization3と呼ばれており、その中核部ではEKFのアルゴリズムが使用されています。このパッケージによって融合(フュージョン)できるセンサーの数に制限はありません。IMU、ホイール速度センサー、オドメトリ・センサーといった様々なセンサーからの入力を融合できます。robot_localizationからは、姿勢に関するデータが出力されます。それらのデータには、ロボットの位置と方向、直線速度/角速度、直線加速度/角加速度の3次元の推定値が含まれています。それらがSLAMアルゴリズムに引き渡されます。姿勢に関する出力は、以下のように表現されます。
アナログ・デバイセズのIMUによる課題の解決
アナログ・デバイセズは、モバイル・ロボットを含む様々なアプリケーション向けにIMU製品を提供しています。以下、それらの製品が提供する独自の価値についてまとめます。
- ビルトイン・キャリブレーション:アナログ・デバイセズのIMUは、加速度センサーとジャイロ・センサーを搭載しています。それらのセンサーは、工場から出荷される時点で完全にキャリブレーションされています。キャリブレーションの対象になるジャイロ・センサーのパラメータとしては、感度、バイアス、アライメント、直線加速度に対するバイアスが挙げられます。また、加速度センサーでは位置に関するキャリブレーションが実施されています。各IMU製品は、ノイズを低減するための機能やオフセットをダイナミックに補正する機能を内蔵しています。それらにより、電源電圧、温度、磁気干渉のばらつきに対する補償が行われます4。結果として、システムの統合にかかる時間や情報の取得にかかるコストが大幅に削減されます。また、産業用アプリケーションにおいて、多様な条件にわたりセンサーで高精度の測定を行うための実装を合理化することが可能です。
- 帯域幅が広く低ノイズのA/Dコンバータ : センサーからのデータを高い精度と広い帯域幅で取得することにより、信頼性と応答性に優れた動作が実現されます。
- 高い精度 : アナログ・デバイセズのIMUは、方向、モーション、速度を高い精度で測定します。ロボットは、それらの測定値に基づいて判断を行い、周囲の環境に対応して正確なナビゲートを実行します。
- 少ない消費電力:多くのモバイル・ロボットはバッテリ駆動の形で動作します。したがって、その動作範囲を拡大するためには消費電力が少ないことが必須の要件になります。アナログ・デバイセズのIMUは、非常に効率が高いことを特徴とします。消費電力を最小限に抑えられるので、バッテリの寿命を最大限に引き延ばすことが可能です。
- コンパクトなサイズ:アナログ・デバイセズのIMUは、モバイル・ロボットの限られたスペースに収まるようコンパクトなフォームファクタで設計されています。そのため、性能を損なうことなく、様々な構成のロボットに容易に組み込むことができます。
- 統合が容易:ロボットのシームレスな動作を実現するには、その制御システムにIMUを容易に統合できるようにする必要があります。アナログ・デバイセズのIMU向けクーポン・ボードは、オープンソースのROSのノードと組み合わせられるようになっています。このことから、AMRを構築するための統合作業が容易になります。
まとめ
IMUは、AMRが位置推定を実施する上で不可欠な要素です。IMUを利用すれば、方向を推定し、モーションを追跡することが可能になります。また、高い更新レートによりリアルタイムの応答が実現されます。そのため、動的に変化する環境においてAMRを的確にナビゲーションすることができます。センサー・フュージョンの実現にはカルマン・フィルタなどの利用が有効です。そうした手法は、異なるセンサー・モダリティを組み合わせることにより互いの制約を補償することを可能にします。アナログ・デバイセズは、様々なモバイル・ロボットのアプリケーションの要件に合致する多様なIMU製品を提供しています。
参考資料
1 Shoudong Huang、Gamini Dissanayake「Robot Localization: An Introduction(入門:ロボットの位置推定)」John Wiley & Sons, Inc.、2016年8月
2 Oliver J. Woodman「An Introduction to Inertial Navigation(慣性ナビゲーション入門)」University of Cambridge、2007年8月
3 robot_localization 2.6.12 documentation(robot_localization 2.6.12のドキュメント)、Tom Moore、2016年
4 Randy Carver、Mark Looney「MEMS Accelerometer Calibration Optimizes Accuracy for Industrial Applications(MEMS加速度センサーのキャリブレーションにより、産業用アプリケーションの精度を最適化)」EE Times、2007年10月