センサ・フュージョン

センサ・フュージョンとは何ですか?

センサ・フュージョンとは、アプリケーションやシステムの性能を向上させるために、複数のセンサからのデータをインテリジェントに組み合わせるソフトウェアのことを言います。複数のセンサからのデータを組み合わせることにより、個々のセンサの欠陥を補正し、正確な位置と姿勢を算出することができます。

MEMS センサは過去数年にわたり、電子システムにおける重要なビルディング ブロックとなっています。現在では、共通的な一連の MEMS センサが、画面の回転、ジェスチャ認識、ゲーム、歩数カウント、およびパーソナル ナビゲーションなどのアプリケーションを可能にするために、全種類のモバイル デバイスでサポートされています。今後もモバイル市場でセンサの統合に重点が置かれるにつれて、センサ・フュージョンなどの手段を通じて製品に付加価値を追加するプロセスが、Kionix のセンサ サプライヤとしての成功にとって重要となります。

Kionix センサ・フュージョン ソリューション

Kionix センサ・フュージョン ソリューションは非常に柔軟で、ハードウェア構成 (ソフトウェアが組み込みマイクロコントローラ上で実行するという意味) とソフトウェア構成 (そのソフトウェアがアプリケーション プロセッサ上で実行するという意味) の両方を提供します。これにより、マルチセンサの実装の全範囲で比類のないスケーラビリティが可能となります。また、Kionix センサ・フュージョンでは、複数のセンサ タイプの組み合わせ (加速度+地磁気センサ、加速度センサ+ジャイロスコープ、加速度センサ+地磁気センサ+ジャイロスコープ)、顧客により階層付けられた製品ライン戦略要件、さらには他のメーカーが製造した部品がサポートされています。

また、Kionix センサ・フュージョンは、固定小数点のマイクロコンピュータ組み込み RTOS システムから、 Android や Windows 8 のような 32 ビット浮動小数点のモバイル OS まで、オペレーティング·システム間でもスケーラブルです。高度な消費電力管理技術により、設計者はセンサとのインタラクションとデータ処理を最小限のオーバーヘッドで管理できます。その結果、比類ない消費電力と性能が実現されます。

Kionix センサ・フュージョンも強化されたモーション プロセシ​​ングおよびアプリケーション固有の機能のための、サードパーティまたはカスタム開発されたソフトウェアをサポートしており、Kionix は、資格のあるお客様に完全なソースコード、主要アプリケーション プロセッサのダイレクト サポートと BSP (ボード サポート パッケージ)、また将来には RF IC を提供しします。Kionix センサ・フュージョンを利用する設計者は、バイアスや異常に対する較正、補正、修正を行い、バッテリの寿命を延ばすためにセンサの電流引き込みを管理し、そして異なる種類のセンサ間の干渉を防ぎます。 Kionix センサ・フュージョンは、お客様が求めていた柔軟性と性能をお届けする、市場で最も有力な組み合わせです。

Kionix ソフトウェア ソリューションの利点:

加速度センサ

  • 最低 MIPS による最小限の構成
  • デバイス姿勢 (画面、キューブの 6 面)
  • 歩数計
  • モーションによるウェイクアップ「スイッチオン」

加速度センサ/地磁気センサ

  • 大半のスマートフォンに対する主要設定
  • 重力補正型地磁気センサ
  • 高複雑度アルゴリズムによるハード/ソフト磁場除去
  • エンドユーザーによる「8 字型」較正を排除するための IP
  • 3MIPS 計算のセンサ向けに ~600uA の消費電力

加速度センサ/地磁気センサ/ジャイロスコープ

  • ハイエンドのスマートフォン、タブレット、Win8 スレート用の設定
  • 応答性の向上と高精度のサンプル レート
  • 外部環境のジャイロスコープへの影響なし
  • 消費電力管理、ゼロ較正、LBS 用の IP
  • 8~10MIPS 計算のセンサを対象とした、6mA 以下の消費電力

Kionix ソフトウェア ソリューション/ Android センサ HAL アーキテクチャ

Kionix Android センサ ライブラリは、Google が Android システム向けに指定した センサ ハードウェア アブストラクション レイヤ (HAL) の確実な実装を提供します。これは、低レベルのカーネル ドライバと高レベルの Android Java フレームワークとの間の中間層を形成するものです。Kionix センサ ライブラリでは、加速度センサ、地磁気センサ、ジャイロスコープからの入力を複合 3 次元姿勢出力として組み合わせることで、センサ・フュージョンを実装します。ライブラリには消費電源状態の最適化機能が含まれおり、必要とされないセンサはデバイスのバッテリの消費電力を節約するために低消費電力モードになります。 ライブラリの内部状態管理モジュールは、3 次元姿勢出力が有効になっているとき、データレートの調整も行います。

ソリューション アーキテクチャ

Kionix ソフトウェア ソリューションは、C++ ライブラリと、関連付けられているヘッダー ファイルで構成されています。ライブラリの完全なソースコードと、ライブラリを再構築するための手順も含まれています。ライブラリには、物理的デバイスの加速度センサ、地磁気センサ、ジャイロスコープに対応する、実際のセンサ HAL 実装が含まれています。これは Android デバイス上で 3 次元姿勢出力を有効にするために、そのまま使用することができます。

また、ライブラリ インターフェイスは物理的センサ (ジャイロ、コンパス、加速度計) と Kionix センサ・フュージョン実装を介して生成された合成センサの両方にアクセスするための、オブジェクト指向 API をエクスポートします。ソフトウェアで生成された合成センサ タイプには、姿勢 (Android ドキュメンテーション参照)​​、回転ベクトル、直線加速度、重力があります。このインターフェイスにより、Android デバイス ベンダー業者は、Kionix ソリューションを既存のセンサ管理ソフトウェア (たとえば、光センサ、温度センサ、圧力センサ対応の既存 HAL) に統合することができます。

Kionix ソフトウェア ソリューション は、Android イベント仕様と、現在の CCD 「Android 4.0 Compatibility Definition (Android 4.0 の互換性の定義)」に完全準拠しており、準拠する具体的な項目は、以下のとおりです。

  • 対応するセンサの種類は次のとおりです。
    • SENSOR.TYPE_ACCELEROMETER (物理的、m/s^2 単位)
    • SENSOR.TYPE_MAGNETIC_FIELD (物理、マイクロテスラ単位)
    • SENSOR.TYPE_GYROSCOPE (物理的、ラジアン/秒単位)
    • SENSOR.TYPE_GRAVITY (合成、m/s^2 単位)
    • SENSOR.TYPE_LINEAR_ACCELERATION (合成、m/s^2 単位)
    • SENSOR.TYPE_ROTATION_VECTOR (合成、無次元)
      • Android の仕様に従って実装: X、Y、Z の各フィールドを、正の W 成分値を持つ正規化したクオータニオンの X、Y、Z フィールドにマッピング。
    • SENSOR.TYPE_ORIENTATION (合成、度単位)
      • Android の仕様に従い、方位、ピッチ、ロール角 (度単位) として実装。
  • 対応するすべてのセンサの出力は SensorEvent API で定義された座標系と一致する
  • すべてのセンサの種類(物理的および合成) は、Accuracy イベント フィールドをサポートする  
  • すべてのデバイスの種類 (物理および合成) は、Timestamp フィールドをサポートする
    • 優先する Kionix の実装では、各物理的センサにデータ·レディ割り込みを使用し、割り込みに応じて非常に正確なタイムスタンプ生成されるようにします。  
    • 加速度センサとジャイロスコープで、タイムスタンプの精度を検証するための追加情報を提供する、定期的データ ストリーミング機能をサポートする。
  • 「Android 4.0 Compatibility Definition」の第 7.3 項に従い、
    • ソフトウェアの実装では対応するセンサの一覧を提供する
    • ソフトウェアの実装は、他のすべてのセンサ API に対しても妥当に動作する。具体的には、
      • 実装は、リスナーを登録しようとするアプリケーションに応じて、TRUE または FALSE を返す
      • 対応するセンサが存在しない場合、センサのリスナーはコールされない
      • 消費電力管理をサポート。アクティブなセンサ リスナーがないセンサをパワー ダウンまたはスリープ状態にするように実装を設定できる。

カーネル インタフェイス

Kionix のセンサ ライブラリは、加速度センサ、ジャイロスコープ、および地磁気センサのカーネル ドライバとインターフェイスする必要があります。好ましいカーネル ドライバの種類は、制御用の sysfs 属性 (たとえばイネーブル、データ転送速度、バイアス) を持つ入力イベント ドライバです。この種類のドライバは、Linux カーネルのセンサ ドライバのデファクト スタンダードです。この種類のドライバを使用することの利点には、低複雑度、高信頼性、透明性の向上が挙げられます。特定のセンサ チップの入力イベント ドライバが入手できない場合は、全種類のドライバとインターフェイスできるように Kionix ライブラリを拡張することができます。

対応する統合モデル

  • アプリケーション プロセッサ ベース: (アプリケーション プロセッサ上で完全に処理された) 生ストリーミング センサ データ。
  • HUB ベース:専用の小型ハブマイクロプロセッサ上の自己完結型センサ・フュージョン。