私は大声で考えているだけで、まだAndroid加速度計APIを使ったことがありません。
まず第一に、伝統的に、加速度計からナビゲーションを取得するには、6軸の加速度計が必要になります。X、Y、Zの加速度だけでなく、回転Xr、Yr、Zrも必要です。回転データがないと、デバイスがその姿勢を決して変更しないと想定しない限り、ベクトルを確立するのに十分なデータがありません。これはかなり制限されます。とにかくTOSを読む人はいません。
ああ、あなたはINSが地球の自転とともにドリフトすることを知っていますよね?それもある。1時間後、あなたは不思議なことに15°の坂を上って宇宙に登っています。これは、あなたがその位置を長く維持できるINSを持っていることを前提としています。これは、電話ではまだできません。
ナビゲーションに加速度計を使用するより良い方法-3軸加速度計を使用する場合でも-可能な場合は、GPSに接続してINSを調整することです。GPSが不足している場合、INSはうまく機能します。樹木に近づきすぎたため、GPSが突然3ブロック離れてあなたを撃ちます。INSは素晴らしいものではありませんが、少なくとも流星に襲われなかったことがわかります。
あなたができることは、電話の加速度計データとその多くをログに記録することです。価値のある週のように。それを良い(私は本当に良い)GPSデータと比較し、データマイニングを使用して、加速度計データと既知のGPSデータ間の傾向の相関関係を確立します。(上級者向けのヒント:GPSアルマナックを確認して、優れたジオメトリと多数の衛星を使用する日を確認してください。衛星が4つしかなく、それだけでは十分でない日もあります)できることは、人がスマートフォンをポケットに入れて歩いていると、加速度計データは非常に特定のパターンを記録します。データマイニングに基づいて、そのユーザーと一緒にそのデバイスのプロファイルを確立し、それにGPSデータが含まれているときにそのパターンがどのような速度を表すかを確立します。ターン、階段の上り、座っていることを検出できるはずです(0速度時間へのキャリブレーション!)およびその他のさまざまなタスク。電話がどのように保持されているかは、完全に別個のデータ入力として扱われる必要があります。データマイニングに使用されているニューラルネットワークの匂いがします。つまり、入力の意味が分からないものです。アルゴリズムはパターンの傾向を探すだけで、実際のINSの測定値には注意を払いません。それが知るすべてはhistorically, when this pattern occurs, the device is traveling and 2.72 m/s X, 0.17m/s Y, 0.01m/s Z, so the device must be doing that now.
そして、それに応じてピースを前方に移動します。携帯電話をポケットに入れるだけで4つの異なる方向、ポケットを切り替えると8つの方向に向けられる可能性があるため、完全にブラインドであることが重要です。また、スマートフォンを保持する方法もたくさんあります。ここでは多くのデータについて話しています。
あなたは明らかに多くのドリフトをまだ持っているでしょうが、あなたが歩くのをやめたときにデバイスがそれを知っており、位置ドリフトが永続的ではないので、私はあなたがこの方法でもっと幸運になると思います。履歴データに基づいて、あなたが静止していることを認識しています。従来のINSシステムにはこの機能はありません。ドリフトは、将来のすべての測定と化合物に対して指数関数的に持続します。不正確な正確さ、または定期的な間隔で確認する2次ナビゲーションがあることは、従来のINSでは絶対に不可欠です。
各デバイス、および各人は、独自のプロファイルを持っている必要があります。多くのデータと多くの計算です。誰もがさまざまな速度で、さまざまなステップで歩き、スマートフォンをさまざまなポケットに入れています。確かに、これを現実の世界で実装するには、サーバー側で数の処理を行う必要があります。
最初のベースラインにGPSを使用した場合、GPSの問題の一部として、時間の経過とともにそれ自体が移行する傾向がありますが、永続的なエラーではありません。1つの場所に受信機を置き、データを記録します。WAASの修正がない場合は、100フィート離れたランダムな方向にドリフトする位置フィックスを簡単に取得できます。WAASでは、おそらく6フィートまで。実際には、少なくともANNのアルゴリズムをダウンさせるために、バックパックのサブメーターRTKシステムで運が良かったかもしれません。
あなたはまだ私の方法を使ってINSで角度ドリフトを持っているでしょう。これは問題です。しかし、これまでにn人のユーザーの間で何週間にもわたってGPSとINSのデータを注ぐANNを構築し、実際にそれをこの時点まで機能させていれば、明らかにこれまで大きなデータを気にする必要はありません。その道を進み続け、角度ドリフトを解決するのに役立つより多くのデータを使用します。人々は習慣の生き物です。私たちは、歩道の上やドアを通って階段を上るなど、ほとんど同じことをします。高速道路を横切ったり、壁を通り抜けたり、バルコニーから降りたりするようなクレイジーなことはしません。
それで、あなたがビッグブラザーからページを取り、人々がどこに行っているかに関するデータを保存し始めたとしましょう。人が歩くと予想される場所のマッピングを開始できます。ユーザーが階段を上るようにすると、彼女が階段を上る前と同じ階段のふもとにいることは間違いありません。1000回の反復といくつかの最小二乗法による調整の後、データベースは、これらの階段がどこにあるかを非常に正確に認識します。これで、人が歩き始めるときに角度ドリフトと位置を修正できます。彼女がそれらの階段にぶつかったり、そのホールを下ったり、歩道を下ったりすると、ドリフトを修正できます。データベースには、人がそこを歩く可能性、またはこのユーザーが過去にそこを歩いた可能性によって重み付けされたセクターが含まれます。空間データベースはこれを使用して最適化されていますdivide and conquer
意味のあるセクターのみを割り当てます。それは、レーザー装備のロボットが黒い画像で始まり、すべての壁がどこにあるかを照らすことで、すべての回転をとることによって記憶の迷路を描くMITプロジェクトのようなものです。
トラフィックの多いエリアはウェイトが高くなり、誰もウェイトが0になったエリアはありません。交通量の多いエリアほど解像度が高くなります。基本的には、誰もが行ったことのあるすべての場所のマップになり、それを予測モデルとして使用します。
この方法を使って、劇場のどの席に着いたかを判断できても驚くことではありません。劇場に行く十分なユーザーと十分な解像度が与えられれば、劇場の各行と、各行の幅のデータをマッピングすることになります。訪問する人が多いほど、その人の所在を予測できる忠実度が高くなります。
また、この種のものに関する現在の研究に興味がある場合は、GPS Worldマガジンの(無料)サブスクリプションを取得することを強くお勧めします。毎月私はそれをオタクにしています。