ナビゲーション・システムでMEMS IMUを活用するために、データ取得のコヒーレンス/タイミングを最適化する

概要

慣性センサーを用いるソリューションを初めて評価する際には注意すべきことがあります。それは、既存のコンピューティング・リソースやI/Oリソースに起因してデータ・レートや同期機能に制限が加わる可能性があるというものです。その結果、センサーの機能を現場で適切に評価することが困難になってしまう可能性があります。多くの場合、MEMS(Micro Electro Mechanical System)ベースの慣性計測ユニット(IMU:Inertial Measurement Unit)の性能を最大限に引き出せるデータ・レートで、時間コヒーレントなデータを取得する方法が問題になります。これを実現できなければ、デジタルの後処理に必要な能力を達成したり、最高の性能を引き出したりすることはできません。コンピューティング・プラットフォームでは、メインのループが10Hzほどの低い周波数で実行される可能性があります。また、各プラットフォームでは、センシング機能におけるデータの更新に基づいた割り込み駆動型のデータの取得を実行できないことが多いはずです。本稿では、低速/非同期のコンピューティング・ループと、MEMS IMU(1000Hz以上)による高速なデータ取得/処理の間に存在するギャップを埋めるために利用可能な手法を紹介します。

はじめに

GPS(全地球測位システム)が提供するPNT(Positioning, Navigation and Timing)サービスは広く活用されています。しかし、PNTの専門家であるDana Goward氏は最近の論説記事の中で、現在の社会は同サービスに過度に依存し過ぎていると指摘しています1。ナビゲーション用のプラットフォームの開発に携わる多くの技術者は、GPSを含む既存のGNSS(Global Navigation Satellite System)によるPNTサービスに関連した複雑かつ様々な脅威に直面しています。そのため、新たな技術を迅速に評価する必要に迫られています。その結果は、既存のPNTサービスに関連する戦略の脆弱性に対処する上で役に立ちます。GNSSのPNTサービスを利用する例として、本稿では自律走行車(Autonomous Vehicle)向けの誘導航法制御(GNC:Guidance Navigation Control)システムを取り上げます。GNCシステムは、自身の役割を果たすために、PNTサービスの喪失や障害に関連する複雑な脅威について把握する必要があります。

実際、自律走行車の開発者/運営者の多くは、直面した課題に対応するために、自社プラットフォームへの慣性センサーの導入を検討せざるを得なくなっています。ただ、MEMS IMUを初めて使用する人にとって、最高の性能が得られるサンプル・レートでデータのコヒーレンスを実現するのは容易ではないでしょう。初期のプロトタイピングや予備的なフィールド試験の段階であっても、サンプル・レートと同期の問題によって結果に大きな差異が生じる可能性があります。特に、開発プロセスにおいて長期的な要件を決定する際、システム開発者が予備的な評価の結果に頼っている場合には問題が大きくなります。したがって、MEMSIMUの主要な動作属性を把握したり最適化したりすることが非常に重要です。

MEMS IMUの概要

通常、MEMS IMUは互いに直交する3軸に沿った(および軸の周りの)直線加速度を検知するセンサーと角速度を検知するセンサー(ジャイロ・スコープ)を搭載しています。図1は、慣性基準座標系、各センサーの極性、軸の割り当てについて示したものです。

図1. MEMS IMU(ADIS16576)の慣性基準座標系
図1. MEMS IMU(ADIS16576)の慣性基準座標系

無人搬送車のユース・ケース

図2に示したフローチャートをご覧ください。これは、無人搬送車(AGV:Autonomous Ground Vehicle)のメインのループにおける処理の流れを示したものです。このAGVでは、ビデオ、ホイール・ベースのオドメトリ、GPSを用いて慣性ナビゲーション/追跡を実現します。このシステムに、MEMS IMUである「ADIS16576」を追加するケースを考えます。その場合、同IMUが備える6つの慣性センサーによって取得したデータをループに読み込むことになります。図中の点線がその場合の処理の流れを表しています。

図2. AGVのループで実行される処理のフローチャート(その1)
図2. AGVのループで実行される処理のフローチャート(その1)

メインのループでは、ビデオ・システムとホイール・ベースのオドメータから50Hzのレートでデータを取得します。一方、GPSを利用したPNTサービスのデータは10Hzのレートで更新します。このAGVの第1世代品は、空軍基地の建物の間で基本的な物資配送サービスを提供する役割を果たしていました。AGVの運営者は、次世代品において、GPSを利用する一部の機能が停止したケース(利用可能なGPSの衛星が2つしかない場合など)に対処するためにセンサーを追加することにしました。それに当たっては、使用するセンサーの評価を実施しなければなりません。また、複雑なオフロードの地形において2倍の速度を実現できるようにするためには、システムの制御機構をGNCにアップグレードする必要があります。ADIS16576は、MEMS IMUの1つ目の候補として評価の対象になりました。

最初の課題は、MEMS IMUの最高の性能と動作を引き出せるサンプル・レートと、ループの更新レートの間の大きなギャップ(80倍)に対処することです。ただ、GNCシステムの処理ループを増やすには大きな変更が必要になります。最初のプロトタイプや予備的なフィールド試験を実施する段階でそれらの変更を実施するのは現実的ではないかもしれません。では、この特定のユース・ケースにおいて、予備的なフィールド試験でMEMSIMUを適切に評価できる可能性を最大限に高めるためにはどうすればよいのでしょうか。その答えは、いくつかの動作属性の組み合わせを最適化することです。動作属性としては、データ量の削減、時間コヒーレンス、同期2、バッファリングが挙げられます。以下では、それぞれについて詳しく説明します。

データ量の削減

データ量の削減は、単により遅いレートでデータを取得するだけで実現できる場合があります。しかし、このアプローチでは信号のアンダーサンプリングが生じ、誤差が発生する可能性があります。非常に動的な動きや環境プロファイルが存在する場合には、その可能性が高くなります。その条件に当てはまるのが、AGVのプラットフォームがフィードバック・センシングのためにMEMS IMUに強く依存しているケースです。多くの場合、MEMS IMUの中核となるセンサー(加速度センサー、ジャイロ・スコープ)とシグナル・チェーンは、AGV用のほとんどのセンシング・プラットフォームよりも広い帯域幅を備えています。そのため、慣性信号のデータ・レートを下げる戦略を採用する場合には、帯域幅を低減する手法を盛り込む必要があります。

この脆弱性に対処するための方法の1つは、MEMS IMUのシグナル・チェーン内でデジタル・フィルタを使用することです。例として、ADIS16576を図2のフローチャートに対応するシステムに適用するケースを考えます。その場合、バートレット窓関数を使用するFIRフィルタを1段当たり64タップに設定すると、カットオフ周波数は約20Hzに低減されます。また、データが更新される度に連続する80個のサンプルを平均化するようデシメーション・フィルタを設定したとします。すると、出力データ・レート(ODR:Output Data Rate)は50Hzに低減されます。これらのフィルタを使用する場合には、データ幅が結果として生じるビット数の増加に対応できることを確認してください。ここで取り上げている具体的な例の場合、システムのプロセッサは、慣性センサーごとに2つのレジスタのデータ(各16ビットで計32ビット)を取得する必要があります。この要件(32ビットの慣性センサーのデータ)を満たすことを前提として、8MHzのシリアル・クロック周波数を使用し、通信上のオーバーヘッドの値としては4マイクロ秒を割り当てるとします。その場合、バースト読み出しコマンドを使用すると、通信シーケンスの時間が24マイクロ秒から40マイクロ秒に増大します。

時間コヒーレンス

ここまでで、データ・レートとそれに関連する帯域幅を最適化することができました。続いては、IMUのデータのサンプリングとシステムのリファレンス・クロックの間の時間コヒーレンスを確立します。ここでは、システムのリファレンスとしてビデオ・シンク信号(50Hz)を使用すると仮定します。ADIS16576は、工場から出荷された際の設定で動作している場合、内部のリファレンス・クロックを使用します。そのため、ビデオ・シンクとの間でミスマッチが生じます。IMUのODRがビデオ・シンクのレートよりも低い場合、まれに古いデータが読み出されることになります。逆にIMUのODRがビデオ・シンクのレートよりも速い場合には、サンプルの欠落が生じます。その発生頻度は、各クロック間のミスマッチの程度に応じて異なります。また、IMUのデータのレイテンシは1サンプル・サイクル(1/50Hz = 20ミリ秒)の分だけ変化するという制限も存在します。

より強力な時間コヒーレンスを確立する方法はもう1つ考えられます。それは、IMUのデータ・レディ信号を使用して、IMUのデータ収集をトリガするというものです。図3に示したフローチャートでは、2つの異なる処理を行った後にIMUのデータをチェックしています。このアプローチにより、データ・サンプルが欠落する問題は解消されます。また、メインのループのレートが50Hzという条件下で、IMUのデータの時間コヒーレントなフローを確立することが可能です。この考え方は、GNCの処理とビデオ・データの読み取り処理の間で、IMUの新たなデータをチェックするように拡張することもできます。

図3. AGVのループで実行される処理のフローチャート(その2)。IMUによる割り込みに対応しています。
図3. AGVのループで実行される処理のフローチャート(その2)。IMUによる割り込みに対応しています。

同期

時間コヒーレンスと正確なレイテンシを確立するための方法はもう1つ考えられます。それは、MEMS IMUの外部同期機能を使用するというものです。ADIS16576には、直接外部同期とスケーリング外部同期という2つのオプションが用意されています。例えば、図2のフローチャートに対応させたい場合、スケーリング同期モードを使用するのが最適です。システム・クロックは50Hzですが、ADIS16576は4000Hzで最高の性能を発揮するのでクロックのスケール・ファクタを80に設定します。内蔵フィルタと併せて使用する場合、その結果は20Hzの帯域幅と50HzのODRのままになります。しかし、レイテンシはシステムのリファレンス・クロック(ビデオ・シンク)に対して固定された値になります。

データのバッファリング

データの最高サンプル・レートが重要でありながら、同期データ通信サービスしか提供できないプラットフォームで初期のフィールド試験を開始しなければならないケースもあるでしょう。その場合に便利なのがデータのバッファリングです。IMUを選択する際にデータ・バッファリングの利用を要件とするか、同じ場所に設置された組み込みプロセッサとIMUを組み合わせることで、データのバッファリング機能を実装できます。

再び図2を例にとると、ADIS16576の内蔵フィルタがすべてディスエーブルの状態にある場合、メインのループの1サイクル中に内蔵FIFO(First-In, First-Out)が80個のサンプルを収集します。この構成では(IMUのシグナル・チェーン内の)フィルタは使用しません。そのため、システムで16ビットのデータ・フォーマットを使用することにより通信時間を最適化することができます。例として、AGVのプロセッサが8MHzのシリアル・クロックを使用し、16ビットの各通信セグメントの間に6マイクロ秒のストール時間を設けるケースを考えます。その場合、全6種の慣性データを対象として、80個のサンプルすべてを4ミリ秒未満の時間で取得することが可能です。

まとめ

MEMS IMUを最大限に活用するためには、システム全体のアーキテクチャを大幅に変更しなければならない可能性があります。そのようなアップグレードに多額の投資を行う前に、まずは利用可能なデジタル機能によって最適化を図るとよいでしょう。それにより、各ユース・ケースに応じた評価を実施することができます。最終的には、運用上の最も重要な目標を満たすための信頼できる要件を策定することが可能になるはずです。プロトタイピングにおいては、MEMS IMUの応答を時間の面で適切に表現することが可能なシステムを迅速に構築するべきです。そのステップは、ミッション・プロファイルの拡大と、既存のPNTサービスに関する脅威の拡大に対処しようとしている自律走行車の開発者にとって、非常に重要なものになるでしょう。

参考資料

1 Dana Goward「US Dangerously Behind, PNT Leadership Needed(米国は危険なレベルで後手に、求められるのはPNT分野のリーダーシップ)」 GPS World、2024年7月

2 Mark Looney「Synchronizing MEMS IMUs with GPS in Autonomous Vehicles(自律走行車におけるMEMS IMUとGPSの同期)」Inside GNSS、2024年5月

著者

Mark Looney

Mark Looney

Mark Looneyは、アナログ・デバイセズのアプリケーション・エンジニアです。1998年に入社して以来、センサー用の信号処理、高速A/Dコンバータ、DC/DC電力変換などに関する業務を担当。それ以前は、車載エレクトロニクス/交通向けソリューションを提供するIMATSの創業を支援していました。また、Interpointでは設計技術者を務めました。ネバダ大学リノ校で電気工学の学士号(1994年)と修士号(1995年)を取得。数件の論文を発表しています。