(57)【要約】視覚慣性オドメトリ（ＶＩＯ）および衛星測位システム（ＳＰＳ）の基準フレームをアラインするための方法が、ＳＰＳから、モバイルプラットフォームの複数のレンジレート測定値を取得することを含む。レンジレート測定値は、ＳＰＳのグローバル基準フレームに関するものである。方法はまた、ＶＩＯシステムから、モバイルプラットフォームの複数のＶＩＯ速度測定値を取得することを含む。ＶＩＯ速度測定値は、ＶＩＯシステムのローカル基準フレームに関するものである。その後、少なくとも１つのオリエンテーションパラメータが、レンジレート測定値とＶＩＯ速度測定値とに基づいて、グローバル基準フレームとローカル基準フレームをアラインするために決定される。【選択図】      図３
2019509475.tif 000002
【特許請求の範囲】
【請求項１】
衛星測位システム（ＳＰＳ）から、モバイルプラットフォームの複数のレンジレート測定値を取得することと、ここにおいて、前記複数のレンジレート測定値は、前記ＳＰＳのグローバル基準フレームに関するものである、
視覚慣性オドメトリ（ＶＩＯ）システムから、前記モバイルプラットフォームの複数のＶＩＯ速度測定値を取得することと、ここにおいて、前記複数のＶＩＯ速度測定値は、前記ＶＩＯシステムのローカル基準フレームに関するものである、
前記複数のレンジレート測定値と前記複数のＶＩＯ速度測定値とに基づいて、前記グローバル基準フレームと前記ローカル基準フレームをアラインするために、少なくとも１つのオリエンテーションパラメータを決定することと
を備える方法。
【請求項２】
前記複数のレンジレート測定値に基づいて、前記モバイルプラットフォームの１つまたは複数のＳＰＳ速度測定値を決定すること、ここにおいて、前記少なくとも１つのオリエンテーションパラメータを決定することは、前記１つまたは複数のＳＰＳ速度測定値および前記複数のＶＩＯ速度測定値に基づく、
をさらに備える、請求項１に記載の方法。
【請求項３】
前記複数のレンジレート測定値は、前記モバイルプラットフォームのＳＰＳ速度を計算するために必要されるよりも少ない数のレンジレート測定値を備える、請求項１に記載の方法。
【請求項４】
前記ＳＰＳから、前記モバイルプラットフォームの前記複数のレンジレート測定値を取得することは、スライドする時間ウィンドウにわたって、前記複数のレンジレート測定値を取得することを備え、
前記ＶＩＯシステムから、前記複数のＶＩＯ速度測定値を取得することは、前記スライドする時間ウィンドウにわたって、前記ＶＩＯ速度測定値を取得することを備え、前記方法は、前記スライドする時間ウィンドウを使用して、前記少なくとも１つのオリエンテーションパラメータを連続的に決定することをさらに備える、
請求項１に記載の方法。
【請求項５】
前記複数のレンジレート測定値の品質に基づいて、前記スライドする時間ウィンドウのサイズを調整することをさらに備える、請求項４に記載の方法。
【請求項６】
前記モバイルプラットフォームの移動の大きさに基づいて、前記複数のレンジレート測定値の前記品質を決定することをさらに備える、請求項５に記載の方法。
【請求項７】
前記複数のレンジレート測定値の品質に基づいて、前記複数のレンジレート測定値をフィルタにかけることをさらに備える、請求項１に記載の方法。
【請求項８】
前記複数のレンジレート測定値をフィルタにかけることは、１つまたは複数のレンジレート測定値の品質に基づいて、前記複数のレンジレート測定値から前記１つまたは複数のレンジレート測定値を破棄することを備える、請求項７に記載の方法。
【請求項９】
前記複数のレンジレート測定値をフィルタにかけることは、１つまたは複数のレンジレート測定値の品質に基づいて、前記複数のレンジレート測定値のうちの前記１つまたは複数のレンジレート測定値に重み付けすることを備える、請求項７に記載の方法。
【請求項１０】
前記複数のレンジレート測定値から１つまたは複数の見通し外レンジレート測定値を破棄することをさらに備える、１に記載の方法。
【請求項１１】
前記グローバル基準フレームと前記ローカル基準フレームをアラインするために、前記少なくとも１つのオリエンテーションパラメータを決定することは、
前記ローカル基準フレームと前記グローバル基準フレームとの間の回転行列を決定することと、
前記回転行列に基づいて、前記ＶＩＯ速度測定値を前記グローバル基準フレームに変換することと
を備える、請求項１に記載の方法。
【請求項１２】
衛星測位システム（ＳＰＳ）から、モバイルプラットフォームの複数のレンジレート測定値を取得するための手段と、ここにおいて、前記複数のレンジレート測定値は、前記ＳＰＳのグローバル基準フレームに関するものである、
視覚慣性オドメトリ（ＶＩＯ）システムから、前記モバイルプラットフォームの複数のＶＩＯ速度測定値を取得するための手段と、ここにおいて、前記複数のＶＩＯ速度測定値は、前記ＶＩＯシステムのローカル基準フレームに関するものである、
前記複数のレンジレート測定値と前記複数のＶＩＯ速度測定値とに基づいて、前記グローバル基準フレームと前記ローカル基準フレームをアラインするために、少なくとも１つのオリエンテーションパラメータを決定するための手段と
を備える装置。
【請求項１３】
前記複数のレンジレート測定値に基づいて、前記モバイルプラットフォームの１つまたは複数のＳＰＳ速度測定値を決定するための手段、ここにおいて、前記少なくとも１つのオリエンテーションパラメータを決定するための前記手段は、前記１つまたは複数のＳＰＳ速度測定値および前記複数のＶＩＯ速度測定値に基づく、
をさらに備える、請求項１２に記載の装置。
【請求項１４】
前記複数のレンジレート測定値は、前記モバイルプラットフォームのＳＰＳ速度を計算するために必要されるよりも少ない数のレンジレート測定値を備える、請求項１２に記載の装置。
【請求項１５】
前記ＳＰＳから、前記モバイルプラットフォームの前記複数のレンジレート測定値を取得するための前記手段は、スライドする時間ウィンドウにわたって、前記複数のレンジレート測定値を取得するための手段を備え、
前記ＶＩＯシステムから、前記複数のＶＩＯ速度測定値を取得するための前記手段は、前記スライドする時間ウィンドウにわたって、前記ＶＩＯ速度測定値を取得するための手段を備え、前記装置は、前記スライドする時間ウィンドウを使用して、前記少なくとも１つのオリエンテーションパラメータを連続的に決定するための手段をさらに備える、
請求項１２に記載の装置。
【請求項１６】
前記複数のレンジレート測定値の品質に基づいて、前記スライドするウィンドウのサイズを調整するための手段をさらに備える、請求項１５に記載の装置。
【請求項１７】
前記グローバル基準フレームと前記ローカル基準フレームをアラインするために、前記少なくとも１つのオリエンテーションパラメータを決定するための前記手段は、
前記ローカル基準フレームと前記グローバル基準フレームとの間の回転行列を決定するための手段と、
前記回転行列に基づいて、前記ＶＩＯ速度測定値を前記グローバル基準フレームに変換するための手段と
を備える、請求項１２に記載の装置。
【請求項１８】
少なくとも１つのプロセッサと、
前記少なくとも１つのプロセッサに結合された少なくとも１つのメモリと
を備える装置であって、前記少なくとも１つのプロセッサおよび前記少なくとも１つのメモリは、前記装置に、
衛星測位システム（ＳＰＳ）から、モバイルプラットフォームの複数のレンジレート測定値を取得することと、ここにおいて、前記複数のレンジレート測定値は、前記ＳＰＳのグローバル基準フレームに関するものである、
視覚慣性オドメトリ（ＶＩＯ）システムから、前記モバイルプラットフォームの複数のＶＩＯ速度測定値を取得することと、ここにおいて、前記複数のＶＩＯ速度測定値は、前記ＶＩＯシステムのローカル基準フレームに関するものである、
前記複数のレンジレート測定値と前記複数のＶＩＯ速度測定値とに基づいて、前記グローバル基準フレームと前記ローカル基準フレームをアラインするために、少なくとも１つのオリエンテーションパラメータを決定することと
を行うように指示するように構成される、
装置。
【請求項１９】
前記少なくとも１つのプロセッサおよび前記少なくとも１つのメモリは、前記装置に、
前記複数のレンジレート測定値に基づいて、前記モバイルプラットフォームの１つまたは複数のＳＰＳ速度測定値を決定すること、ここにおいて、前記少なくとも１つのオリエンテーションパラメータを決定することは、前記１つまたは複数のＳＰＳ速度測定値および前記複数のＶＩＯ速度測定値に基づく、
を行うように指示するようにさらに構成される、請求項１８に記載の装置。
【請求項２０】
前記複数のレンジレート測定値は、前記モバイルプラットフォームのＳＰＳ速度を計算するために必要されるよりも少ない数のレンジレート測定値を備える、請求項１８に記載の装置。
【請求項２１】
前記少なくとも１つのプロセッサおよび前記少なくとも１つのメモリは、前記装置に、
スライドする時間ウィンドウにわたって、前記複数のレンジレート測定値を取得することと、
前記スライドする時間ウィンドウにわたって、前記ＶＩＯ速度測定値を取得することと、
前記スライドする時間ウィンドウを使用して、前記少なくとも１つのオリエンテーションパラメータを連続的に決定することと
を行うように指示するようにさらに構成される、請求項１８に記載の装置。
【請求項２２】
前記少なくとも１つのプロセッサおよび前記少なくとも１つのメモリは、前記装置に、前記複数のレンジレート測定値の品質に基づいて、前記スライドするウィンドウのサイズを調整するように指示するようにさらに構成される、請求項２１に記載の装置。
【請求項２３】
前記少なくとも１つのプロセッサおよび前記少なくとも１つのメモリは、前記装置に、前記複数のレンジレート測定値の品質に基づいて、前記複数のレンジレート測定値をフィルタにかけるように指示するようにさらに構成される、請求項１８に記載の装置。
【請求項２４】
前記少なくとも１つのプロセッサおよび前記少なくとも１つのメモリは、前記装置に、
前記ローカル基準フレームと前記グローバル基準フレームとの間の回転行列を決定することと、
前記回転行列に基づいて、前記ＶＩＯ速度測定値を前記グローバル基準フレームに変換することと
を行うように指示するようにさらに構成される、請求項１８に記載の装置。
【請求項２５】
コンピュータ実行可能命令を記録した非一時的なコンピュータ可読記憶媒体であって、ここにおいて、１つまたは複数のプロセッサ上で前記コンピュータ実行可能命令を実行することは、前記１つまたは複数のプロセッサに、
衛星測位システム（ＳＰＳ）から、モバイルプラットフォームの複数のレンジレート測定値を取得することと、ここにおいて、前記複数のレンジレート測定値は、前記ＳＰＳのグローバル基準フレームに関するものである、
視覚慣性オドメトリ（ＶＩＯ）システムから、前記モバイルプラットフォームの複数のＶＩＯ速度測定値を取得することと、ここにおいて、前記複数のＶＩＯ速度測定値は、前記ＶＩＯシステムのローカル基準フレームに関するものである、
前記複数のレンジレート測定値と前記複数のＶＩＯ速度測定値とに基づいて、前記グローバル基準フレームと前記ローカル基準フレームをアラインするために、少なくとも１つのオリエンテーションパラメータを決定することと
を行わせる、非一時的なコンピュータ可読記憶媒体。
【請求項２６】
前記１つまたは複数のプロセッサ上で前記コンピュータ実行可能命令を実行することは、前記１つまたは複数のプロセッサに、
前記複数のレンジレート測定値に基づいて、前記モバイルプラットフォームの１つまたは複数のＳＰＳ速度測定値を決定すること、ここにおいて、前記少なくとも１つのオリエンテーションパラメータを決定することは、前記１つまたは複数のＳＰＳ速度測定値および前記複数のＶＩＯ速度測定値に基づく、
を行わせる、請求項２５に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２７】
前記複数のレンジレート測定値は、前記モバイルプラットフォームのＳＰＳ速度を計算するために必要されるよりも少ない数のレンジレート測定値を備える、請求項２５に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２８】
前記１つまたは複数のプロセッサ上で前記コンピュータ実行可能命令を実行することは、前記１つまたは複数のプロセッサに、
スライドする時間ウィンドウにわたって、前記複数のレンジレート測定値を取得することと、
前記スライドする時間ウィンドウにわたって、前記ＶＩＯ速度測定値を取得することと、
前記スライドする時間ウィンドウを使用して、前記少なくとも１つのオリエンテーションパラメータを連続的に決定することと
を行わせる、請求項２５に記載の非一時的なコンピュータ可読記憶媒体。
【請求項２９】
前記１つまたは複数のプロセッサ上で前記コンピュータ実行可能命令を実行することは、前記１つまたは複数のプロセッサに、前記複数のレンジレート測定値の品質に基づいて、前記スライドするウィンドウのサイズを調整することを行わせる、請求項２８に記載の非一時的なコンピュータ可読記憶媒体。
【請求項３０】
前記１つまたは複数のプロセッサ上で前記コンピュータ実行可能命令を実行することは、前記１つまたは複数のプロセッサに、
前記ローカル基準フレームと前記グローバル基準フレームとの間の回転行列を決定することと、
前記回転行列に基づいて、前記ＶＩＯ速度測定値を前記グローバル基準フレームに変換することと
を行わせる、請求項２５に記載の非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、一般に衛星測位システム（ＳＰＳ）の使用に関し、具体的には、ＳＰＳ基準フレームとの視覚慣性オドメトリ（ＶＩＯ：visual inertial odometry）基準フレームのアラインメント（alignment）に関するが、これに限定されるものではない。
【背景技術】
【０００２】
[0002]モバイルプラットフォームは、モバイルプラットフォームの動きおよび／または位置ロケーション検知（motion and/or position location sensing）に関連付けられた、ますます高度化した能力を提供する。例えば、個人的生産性、協調コミュニケーション、ソーシャルネットワーキング、および／またはデータ収集に関連したそれらのような、新しいソフトウェアアプリケーションは、消費者に新しい機能（feature）およびサービスを提供するために、動きおよび／または位置センサを利用し得る。
【０００３】
[0003]このような動きおよび／または位置決定能力は、衛星測位システム（ＳＰＳ）を使用して提供され得る。しかしながら、ＳＰＳ測定値（SPS measurements）に基づく位置決定は、およそ数メートルの固有誤差を有する可能性がある。このような正確度（accuracy）は、ある特定のアプリケーションには十分でない可能性がある。モバイルプラットフォームでは、位置の正確度は、他の利用可能なセンサ／システムを用いて、ＳＰＳから導出された測定値を補強すること（augmenting）によって改善され得る。例えば、ビークル中に含まれるＳＰＳについての位置決定は、機械式オドメータによって補われ得る。機械式オドメータは、経時的なビークルの位置における変化を推定するために、ロータリエンコーダのような、アクチュエータの移動（movement）からオドメトリデータを提供し得る。その後、オドメトリデータは、位置決定を改善するために、ＳＰＳデータと組み合わされ得る。しかしながら、機械式オドメータは、ビークルの車輪が道路／表面上でスリップして滑り、車輪の回転に基づくオドメータのデータと比較して、不均一な走行距離を生じ得るので、精度（precision）の問題に苦しむ可能性がある。この誤差は、ビークルが、なだらかでない表面上で動作するときに、度合いを増し（compounded）得る。このような機械式オドメータのデータは、これらの誤差が経時的に蓄積され、度合いを増すにつれて、ますます信頼性がなくなり得る。
【発明の概要】
【０００４】
[0004]以下は、衛星測位システム（ＳＰＳ）基準フレームと視覚慣性オドメトリ（ＶＩＯ）基準フレームをアライン（align）するための、ここで開示されるメカニズムに関連付けられた１つまたは複数の態様および／または実施形態に関する簡略化された概要を提示する。したがって、以下の概要は、全ての企図される態様および／または実施形態に関する広範な概観であると考えられるべきではなく、また、以下の概要は、全ての企図される態様および／または実施形態に関する主要または重要な要素を識別するようにも、または任意の特定の態様および／または実施形態に関連付けられた範囲を線引きするようにも、見なされるべきでない。したがって、以下の概要は、以下で提示される詳細な説明に先立って、簡略化された形式で、衛星測位システム（ＳＰＳ）基準フレームと視覚慣性オドメトリ（ＶＩＯ）基準フレームをアラインするための、ここで開示されるメカニズムに関する１つまたは複数の態様および／または実施形態に関するある特定の概念を提示する。
【０００５】
[0005]一態様によると、視覚慣性オドメトリ（ＶＩＯ）および衛星測位システム（ＳＰＳ）の基準フレームをアラインするための方法が、ＳＰＳから、モバイルプラットフォームの複数のレンジレート測定値（range-rate measurements）を取得することを含む。レンジレート測定値は、ＳＰＳのグローバル基準フレームに関するものである（with respect to）。方法はまた、ＶＩＯシステムから、モバイルプラットフォームの複数のＶＩＯ速度測定値を取得することを含む。ＶＩＯ速度測定値は、ＶＩＯシステムのローカル基準フレームに関するものである。その後、少なくとも１つのオリエンテーションパラメータ（orientation parameter）が、レンジレート測定値とＶＩＯ速度測定値とに基づいて、グローバル基準フレームとローカル基準フレームをアラインするために決定される。
【０００６】
[0006]別の態様によると、視覚慣性オドメトリ（ＶＩＯ）および衛星測位システム（ＳＰＳ）の基準フレームをアラインするための装置が、衛星測位システム（ＳＰＳ）から、モバイルプラットフォームの複数のレンジレート測定値を取得するための手段を含み、ここで、複数のレンジレート測定値は、ＳＰＳのグローバル基準フレームに関するものである。装置はまた、視覚慣性オドメトリ（ＶＩＯ）システムから、モバイルプラットフォームの複数のＶＩＯ速度測定値を取得するための手段を含み、ここで、複数のＶＩＯ速度測定値は、ＶＩＯシステムのローカル基準フレームに関するものである。装置は、複数のレンジレート測定値と複数のＶＩＯ速度測定値とに基づいて、グローバル基準フレームとローカル基準フレームをアラインするために、少なくとも１つのオリエンテーションパラメータを決定するための手段をさらに含む。
【０００７】
[0007]なお別の態様によると、視覚慣性オドメトリ（ＶＩＯ）および衛星測位システム（ＳＰＳ）の基準フレームをアラインするための装置が、少なくとも１つのプロセッサと、少なくとも１つのプロセッサに結合された少なくとも１つのメモリとを含む。少なくとも１つのプロセッサおよび少なくとも１つのメモリは、装置に、（ｉ）衛星測位システム（ＳＰＳ）から、モバイルプラットフォームの複数のレンジレート測定値を取得することと、ここで、複数のレンジレート測定値は、ＳＰＳのグローバル基準フレームに関するものである、（ｉｉ）視覚慣性オドメトリ（ＶＩＯ）システムから、モバイルプラットフォームの複数のＶＩＯ速度測定値を取得することと、ここで、複数のＶＩＯ速度測定値は、ＶＩＯシステムのローカル基準フレームに関するものである、（ｉｉｉ）複数のレンジレート測定値と複数のＶＩＯ速度測定値とに基づいて、グローバル基準フレームとローカル基準フレームをアラインするために、少なくとも１つのオリエンテーションパラメータを決定することと、を行うように指示するように構成される。
【０００８】
[0008]別の態様によると、非一時的なコンピュータ可読記憶媒体が、その上に記録されたコンピュータ実行可能命令を含む。１つまたは複数のプロセッサ上でコンピュータ実行可能命令を実行することは、１つまたは複数のプロセッサに、（ｉ）衛星測位システム（ＳＰＳ）から、モバイルプラットフォームの複数のレンジレート測定値を取得することと、ここで、複数のレンジレート測定値は、ＳＰＳのグローバル基準フレームに関するものである、（ｉｉ）視覚慣性オドメトリ（ＶＩＯ）システムから、モバイルプラットフォームの複数のＶＩＯ速度測定値を取得することと、ここで、複数のＶＩＯ速度測定値は、ＶＩＯシステムのローカル基準フレームに関するものである、（ｉｉｉ）複数のレンジレート測定値と複数のＶＩＯ速度測定値とに基づいて、グローバル基準フレームとローカル基準フレームをアラインするために、少なくとも１つのオリエンテーションパラメータを決定することと、を行わせる。
【０００９】
[0009]ここで説明される衛星測位システム（ＳＰＳ）基準フレームと視覚慣性オドメトリ（ＶＩＯ）基準フレームをアラインするための、ここで開示されるメカニズムに関連付けられた他の目的および利点が、添付の図面および詳細な説明に基づいて、当業者には明らかになるであろう。
【図面の簡単な説明】
【００１０】
[0010]本開示の態様およびそれに付随する利点の多くについてのより完全な理解は、本開示の限定ではなく例示のためだけに提示される添付の図面に関連して考慮されるとき、以下の詳細な説明を参照することによって同内容がより良く理解されるようになるので、容易に得られるであろう。
【図１】[0011]図１は、本開示の一態様による、１つまたは複数の技法を使用して位置を決定し得るモバイルプラットフォームのための例となる動作環境を例示する。
【図２】[0012]図２は、本開示の一態様による、１つまたは複数の技法を使用して位置を決定し得る動作環境において使用され得る例となるモバイルプラットフォームを例示する。
【図３】[0013]図３は、本開示の一態様による、衛星測位システム（ＳＰＳ）基準フレームと視覚慣性オドメトリ（ＶＩＯ）基準フレームをアラインする例となるプロセスを例示する。
【図４】[0014]図４は、本開示の一態様による、複数の時間エポックに関するスライドする時間ウィンドウ（sliding window of time）を例示する。
【図５】[0015]図５は、ここで教示されるような衛星測位システム（ＳＰＳ）基準フレームとの視覚慣性オドメトリ（ＶＩＯ）基準フレームのアラインメントをサポートするように構成されたモバイルプラットフォームにおいて用いられ得るコンポーネントのいくつかのサンプル態様を例示する。
【詳細な説明】
【００１１】
[0016]様々な態様が、以下の説明および関連する図面において開示される。代替の態様が、本開示の範囲から逸脱することなく考案され得る。加えて、本開示の周知の要素は、本開示に関連する詳細を不明瞭にしないように、詳細には説明されないか、または省略される。
【００１２】
[0017]「例示的（exemplary）」および／または「例（example）」という用語は、ここで、「例、事例、または例示を提供する」という意味で使用される。「例示的」および／または「例」としてここで説明される任意の態様は、必ずしも他の態様よりも好ましいまたは有利であるようには解釈されるべきでない。同様に、「本開示の態様」という用語は、本開示の全ての態様が、説明される特徴（feature）、利点または動作モードを含むことを必要としない。
【００１３】
[0018]ここで使用される専門用語は、特定の実施形態を説明することのみを目的としたものであり、ここで開示される任意の実施形態を限定するものではない。ここで使用される場合、単数形「ａ」、「ａｎ」および「ｔｈｅ」は、文脈がそうでないことを明確に示していない限り、複数形も含むように意図される。ここで使用される場合、「備える（comprises）」、「備える（comprising）」、「含む（includes）」および／または「含む（including）」という用語は、述べられる特徴、整数、ステップ、動作、要素、および／またはコンポーネントの存在を規定するが、１つまたは複数の他の特徴、整数、ステップ、動作、要素、コンポーネント、および／またはそのグループの存在または追加を除外しないことがさらに理解されるであろう。
【００１４】
[0019]さらに、多くの態様は、例えば、コンピューティングデバイスの要素によって実行されるべき一連のアクションの観点から説明される。ここで説明される様々なアクションは、特定の回路（例えば、特定用途向け集積回路（ＡＳＩＣ））によって、１つまたは複数のプロセッサによって実行されているプログラム命令によって、または両方の組合せによって実行され得ることが認識されるであろう。加えて、ここで説明されるこれら一連のアクションは、実行時に、ここで説明される機能を関連するプロセッサに実行させるコンピュータ命令の対応するセットをその中に記憶した任意の形態のコンピュータ可読記憶媒体内で、全体として具現化されるものであると考えられ得る。したがって、本開示の様々な態様は、いくつかの異なる形態で具現化され得、それらの全てが、請求項に記載の事項の範囲内にあるものとして企図されている。加えて、ここで説明される態様の各々について、任意のそのような態様の対応する形態は、例えば、説明されるアクションを実行する「ように構成されたロジック」としてここで説明され得る。
【００１５】
[0020]本開示の一態様によると、図１は、１つまたは複数の技法を使用してその位置を決定し得るモバイルプラットフォーム１０８のための例示的な動作環境１００を例示する。実施形態は、衛星測位システム（ＳＰＳ）１１４と視覚慣性オドメータ（ＶＩＯ）システム１１６との両方からのデータを利用してその位置を決定し得るモバイルプラットフォーム１０８に向けられる。ＳＰＳ１１４によって生成されるＳＰＳ測定値１２４は、モバイルプラットフォーム１０８の速度を表す１つまたは複数のＳＰＳ速度測定値および／または１つまたは複数のレンジレート測定値（例えば、ＧＰＳドップラー測定値）を含み得る。
【００１６】
[0021]ＶＩＯシステム１１６は、モバイルプラットフォーム１０８の相対的な位置、速度、加速度、および／またはオリエンテーションを推定するために、カメラ１１８によってキャプチャされるいくつかの連続的な画像（sequential images）１２０を利用する。カメラ１１８は、単一の単眼カメラ、ステレオカメラ、および／または全方位カメラ（omnidirectional camera）を含み得る。動作中、ＶＩＯシステム１１６は、ＶＩＯ速度測定値１２８を生成するために、カメラ１１８によって生成される画像１２０を獲得する。一態様では、ＶＩＯシステム１１６は、画像１２０に対して１つまたは複数の画像処理技法を適用し、１つまたは複数の特徴を検出し、オプティカルフローを構築（construct）するために、複数のフレームにわたってそれらの特徴をマッチさせ（match）、オプティカルフローに基づいて、モバイルプラットフォーム１０８の動きを推定し得る。その後、ＶＩＯシステム１１６は、推定された動きに基づいて、モバイルプラットフォーム１０８の推定された速度を表すＶＩＯ速度測定値１２８を生成する。
【００１７】
[0022]ＳＰＳ測定値１２４とＶＩＯ速度測定値１２８を組み合わせることによって、モバイルプラットフォーム１０８は、モバイルプラットフォーム１０８の位置決定の正確度を増大させ得る。しかしながら、ＳＰＳ測定値１２４およびＶＩＯ速度測定値１２８は、別個の座標系に関してそれぞれ作成され（each made with respect to）得る。例えば、ＳＰＳ測定値１２４は、ＧＰＳで使用されるＷＧＳ８４座標系のような、地球中心地球固定（ＥＣＥＦ：Earth-Centered, Earth-Fixed）座標系のような、グローバル基準フレーム１２６に関するものであり得、一方、ＶＩＯ速度測定値１２８は、別個のローカル基準フレーム１３０に関するものであり得る。グローバル基準フレーム１２６は、同じ衛星測位ネットワークを使用する任意のシステムに共通しおよび既知であり得る一方で、ローカル基準フレーム１３０は、モバイルプラットフォーム１０８の特定のオリエンテーションに部分的に依存し得る。すなわち、ローカル基準フレーム１３０は、環境１００内のモバイルプラットフォーム１０８の位置および／またはオリエンテーションに依存して変化し得る。したがって、ＳＰＳ測定値１２４とＶＩＯ速度測定値１２８を組み合わせるために、モバイルプラットフォーム１０８は、グローバル基準フレーム１２６とローカル基準フレーム１３０をアラインし得る。一態様では、モバイルプラットフォーム１０８は、ＳＰＳ測定値１２４およびＶＩＯ速度測定値１２８のみに基づいて、グローバル基準フレーム１２６とローカル基準フレーム１３０をアラインするために、１つまたは複数のオリエンテーションパラメータ（例えば、回転行列）を決定する。これらおよび他の態様が、以下でより詳細に説明される。
【００１８】
[0023]動作環境１００は、１つまたは複数の異なるタイプのワイヤレス通信システムおよび／またはワイヤレス測位システムを含み得る。図１に示される実施形態では、１つまたは複数の衛星測位システム（ＳＰＳ）衛星１０２ａ、１０２ｂが、モバイルプラットフォーム１０８のための位置情報の独立したソースとして使用され得る。モバイルプラットフォーム１０８のＳＰＳ１１４は、特にＳＰＳ衛星１０２ａ、１０２ｂからジオロケーション情報を導出するための信号を受信するように設計された、１つまたは複数の専用ＳＰＳ受信機を含み得る。
【００１９】
[0024]動作環境１００はまた、１つまたは複数のワイドエリアネットワークワイヤレスアクセスポイント（ＷＡＮ−ＷＡＰ）１０４ａ、１０４ｂ、１０４ｃを含み得、これらは、ワイヤレス音声および／またはデータ通信のために、およびモバイルプラットフォーム１０８のための独立した位置情報の別のソースとして、使用され得る。ＷＡＮ−ＷＡＰ １０４ａ−１０４ｃは、既知のロケーションにおけるセルラ基地局を含み得るワイドエリアワイヤレスネットワーク（ＷＷＡＮ）、および／または、例えば、ＷｉＭＡＸ（Worldwide Interoperability for Microwave Access）（例えば、ＩＥＥＥ８０２．１６）のような、他のワイドエリアワイヤレスシステムの一部であり得る。ＷＷＡＮは、他の既知のネットワークコンポーネントを含み得、それらは簡潔さのために図１には示されていない。典型的に、ＷＷＡＮ内のＷＡＮ−ＷＡＰ １０４ａ−１０４ｃの各々は、固定された位置から動作し、大都市エリアおよび／または地方エリアにわたってネットワークカバレッジを提供し得る。
【００２０】
[0025]動作環境１００は、１つまたは複数のローカルエリアネットワークワイヤレスアクセスポイント（ＬＡＮ−ＷＡＰ）１０６ａ、１０６ｂ、１０６ｃをさらに含み得、これらは、ワイヤレス音声および／またはデータ通信のために、ならびに位置データの別の独立したソースとして、使用され得る。ＬＡＮ−ＷＡＰは、ワイヤレスローカルエリアネットワーク（ＷＬＡＮ）の一部であり得、これは、建物内で動作し、ＷＷＡＮよりも小さい地理的領域にわたって通信を実行し得る。このようなＬＡＮ−ＷＡＰ １０６ａ−１０６ｃは、例えば、Ｗｉ−Ｆｉネットワーク（８０２．１１ｘ）、セルラピコネットおよび／またはフェムトセル、Ｂｌｕｅｔｏｏｔｈ（登録商標）ネットワーク、等の一部であり得る。
【００２１】
[0026]モバイルプラットフォーム１０８は、ＳＰＳ衛星１０２ａ、１０２ｂ、ＷＡＮ−ＷＡＰ １０４ａ−１０４ｃ、および／またはＬＡＮ−ＷＡＰ １０６ａ−１０６ｃのうちの任意の１つまたは複数から位置情報を導出し得る。前述のシステムの各々は、異なる技法を使用して、モバイルプラットフォーム１０８についての位置の独立した推定を提供し得る。いくつかの実施形態では、モバイルプラットフォーム１０８は、位置データの正確度を改善するために、異なるタイプのアクセスポイントの各々から導出される解（solutions）を組み合わせ得る。ＳＰＳ衛星１０２ａ、１０２ｂを使用して位置を導出するとき、モバイルプラットフォーム１０８は、ＳＰＳ衛星１０２ａ、１０２ｂによって送信された複数の信号から、従来の技法を使用して、位置を抽出する、特にＳＰＳとの使用のために設計された受信機を利用し得る。
【００２２】
[0027]ＳＰＳ衛星１０２ａおよび１０２ｂは、典型的に、エンティティが、送信機から受信される信号に少なくとも部分的に基づいて、地球上または地球上空でのそれらのロケーションを決定することを可能にするように配置された送信機のシステムを含む衛星システムの一部である。このような送信機は、典型的に、設定されたチップ数の繰り返し疑似ランダム雑音（ＰＮ）コードによりマーク付けされた（marked）信号を送信し、地上の制御局、ユーザ機器および／または宇宙ビークル上に位置し得る。特定の例では、このような送信機は、地球周回衛星ビークル（ＳＶ）上に位置し得る。例えば、全地球測位システム（ＧＰＳ）、ガリレオ、グロナスまたはコンパスのような全地球航法衛星システム（ＧＮＳＳ）のコンステレーションにおけるＳＶは、（例えば、ＧＰＳの場合のように、衛星ごとに異なるＰＮコードを使用して、または、グロナスの場合のように、異なる周波数上で同じコードを使用して）コンステレーションにおける他のＳＶによって送信されるＰＮコードとは区別可能であるＰＮコードによりマーク付けされた信号を送信し得る。ある特定の態様によると、ここで提示される技法は、ＳＰＳのための全地球システム（例えば、ＧＮＳＳ）に限定されない。例えば、ここで提供される技法は、例えば、日本上空の準天頂衛星システム（ＱＺＳＳ）、インド上空のインド地域航法衛星システム（ＩＲＮＳＳ）、中国上空の北斗、等のような、様々な地域システム、および／または、１つまたは複数の全地球および／または地域航法衛星システムに関連付けられるか、さもなければ、それらでの使用のために使用可能にされ(enabled for use with)得る様々な補強システム（例えば、静止衛星型衛星航法補強システム（ＳＢＡＳ））に適用されるか、さもなければ、それらにおける使用のために使用可能にされ得る。限定ではなく例として、ＳＢＡＳは、例えば、ワイドエリア補強システム（ＷＡＡＳ）、欧州静止衛星航法オーバレイサービス（ＥＧＮＯＳ）、運輸多目的衛星用衛星航法補強システム（ＭＳＡＳ）、ＧＰＳ支援静止衛星補強航法またはＧＰＳおよび静止衛星補強航法システム（ＧＡＧＡＮ）、および／または同様のもののような、インテグリティ情報、ディファレンシャル補正、等を提供する（１つまたは複数の）補強システムを含み得る。したがって、ここで使用される場合、ここで使用される衛星システムは、１つまたは複数の全地球および／または地域航法衛星システムおよび／または補強システムの任意の組合せを含み得、ＳＰＳ信号は、ＳＰＳ信号、ＳＰＳのような（SPS-like）信号、および／またはこのような１つまたは複数のＳＰＳに関連付けられた他の信号を含み得る。
【００２３】
[0028]さらに、開示される方法および装置は、疑似衛星または衛星と疑似衛星の組合せを利用する測位決定システム（positioning determination systems）で使用され得る。疑似衛星は、ＧＰＳ時間と同期され得る、Ｌ帯域（または他の周波数）搬送波信号上で変調されるＰＮコードまたは（ＧＰＳまたはＣＤＭＡセルラ信号に類似した）他のレンジングコードをブロードキャストする地上の送信機である。各このような送信機は、遠隔受信機による識別を許可するために、一意のＰＮコードを割り当てられ得る。疑似衛星は、トンネル、鉱山、建物、都市ビルの谷間または他の囲まれたエリア内のような、軌道を周回する衛星からのＧＰＳ信号が利用できないことがある状況において有用である。疑似衛星の別のインプリメンテーションが、無線ビーコンとして知られている。ここで使用される場合、「衛星」という用語は、疑似衛星、疑似衛星の同等物、および場合によっては他のものを含むように意図される。ここで使用される場合、「ＳＰＳ信号」という用語は、疑似衛星または疑似衛星の同等物からのＳＰＳのような信号を含むように意図される。
【００２４】
[0029]ＷＷＡＮから位置を導出するとき、各ＷＡＮ−ＷＡＰ １０４ａ−１０４ｃは、デジタルセルラネットワーク内の基地局の形態をとり得、モバイルプラットフォーム１０８は、位置を導出するために基地局信号を活用し得るセルラトランシーバおよびプロセッサを含み得る。このようなセルラネットワークは、それに限定されるものではないが、ＧＳＭ（登録商標）、ＣＭＤＡ、２Ｇ、３Ｇ、４Ｇ、ＬＴＥ（登録商標）、等に準拠した規格を含み得る。デジタルセルラネットワークは、図１に示されていない場合がある追加の基地局または他のリソースを含み得ることが理解されるべきである。ＷＡＮ−ＷＡＰ １０４ａ−１０４ｃは、実際には、可動であるか、さもなければ、再配置されることが可能であり得る一方で、例示を目的として、それらは、本質的に固定された位置において配置されていると仮定される。
【００２５】
[0030]モバイルプラットフォーム１０８は、例えば、アドバンスド順方向リンク三辺測量（ＡＦＬＴ：Advanced Forward Link Trilateration）のような、既知の到着時間（ＴＯＡ）技法を使用して、位置決定を実行し得る。他の実施形態では、各ＷＡＮ−ＷＡＰ １０４ａ−１０４ｃは、ＷｉＭＡＸワイヤレスネットワーキング基地局を備え得る。このケースでは、モバイルプラットフォーム１０８は、ＷＡＮ−ＷＡＰ １０４ａ−１０４ｃによって提供される信号から、ＴＯＡ技法を使用してその位置を決定し得る。モバイルプラットフォーム１０８は、ＴＯＡ技法を使用して、測位サーバ１１０およびネットワーク１１２の支援を使用して、またはスタンドアロンモードでのいずれかで、位置を決定し得る。さらに、様々な実施形態は、モバイルプラットフォーム１０８に、異なるタイプを有し得るＷＡＮ−ＷＡＰ １０４ａ−１０４ｃを使用して位置情報を決定させ得る。例えば、いくつかのＷＡＮ−ＷＡＰ １０４ａ−１０４ｃは、セルラ基地局であり得、他のＷＡＮ−ＷＡＰ １０４ａ−１０４ｃは、ＷｉＭＡＸ基地局であり得る。このような動作環境では、モバイルプラットフォーム１０８は、各異なるタイプのＷＡＮ−ＷＡＰ １０４ａ−１０４ｃからの信号を活用することが可能であり、正確度を改善するために、導出された位置の解をさらに組み合わせ得る。
【００２６】
[0031]ＷＬＡＮを使用して位置を導出するとき、モバイルプラットフォーム１０８は、測位サーバ１１０およびネットワーク１１２の支援を得て、ＴＯＡ技法を利用し得る。測位サーバ１１０は、ネットワーク１１２を通じてモバイルプラットフォーム１０８に通信し得る。ネットワーク１１２は、ＬＡＮ−ＷＡＰ １０６ａ−１０６ｃを組み込んだワイヤードおよびワイヤレスネットワークの組合せを含み得る。一実施形態では、各ＬＡＮ−ＷＡＰ １０６ａ−１０６ｃは、例えば、Ｗｉ−Ｆｉワイヤレスアクセスポイントであり得、それは、必ずしも固定された位置にセットされているとは限らず、ロケーションを変え得る。各ＬＡＮ−ＷＡＰ １０６ａ−１０６ｃの位置は、共通の座標系において、測位サーバ１１０に記憶され得る。一実施形態では、モバイルプラットフォーム１０８の位置は、モバイルプラットフォーム１０８に、各ＬＡＮ−ＷＡＰ １０６ａ−１０６ｃからの信号を受信させることによって決定され得る。各信号は、（例えば、ＭＡＣアドレスのような）受信された信号に含まれ得る何らかの形式の識別情報に基づいて、その発信ＬＡＮ−ＷＡＰに関連付けられ得る。その後、モバイルプラットフォーム１０８は、信号強度に基づいて、受信された信号をソートし、ソートされた受信された信号の各々に関連付けられた時間遅延を導出し得る。その後、モバイルプラットフォーム１０８は、ＬＡＮ−ＷＡＰの各々の識別情報と時間遅延とを含み得るメッセージを形成し、測位サーバ１１０にネットワーク１１２を介してメッセージを送り得る。受信されたメッセージに基づいて、その後、測位サーバ１１０は、モバイルプラットフォーム１０８の、関連のあるＬＡＮ−ＷＡＰ １０６ａ−１０６ｃの記憶されたロケーションを使用して、位置を決定し得る。測位サーバ１１０は、ローカル座標系におけるモバイルプラットフォーム１０８の位置へのポインタを含む、モバイルプラットフォーム１０８へのロケーション構成インジケーション（ＬＣＩ：Location Configuration Indication）メッセージを生成および提供し得る。ＬＣＩメッセージはまた、モバイルプラットフォーム１０８のロケーションに関連した他の関心地点（points of interest）を含み得る。モバイルプラットフォーム１０８の位置を計算するとき、測位サーバ１１０は、ワイヤレスネットワーク内の要素によって導入され得る異なる遅延を考慮し得る。
【００２７】
[0032]上記で説明された位置決定技法は、ＷＷＡＮ、ＷＬＡＮ、ワイヤレスパーソナルエリアネットワーク（ＷＰＡＮ）、等のような、様々なワイヤレス通信ネットワークのために使用され得る。「ネットワーク」および「システム」という用語は、交換可能に使用され得る。ＷＷＡＮは、符号分割多元接続（ＣＤＭＡ）ネットワーク、時分割多元接続（ＴＤＭＡ）ネットワーク、周波数分割多元接続（ＦＤＭＡ）ネットワーク、直交周波数分割多元接続（ＯＦＤＭＡ）ネットワーク、シングルキャリア周波数分割多元接続（ＳＣ−ＦＤＭＡ）ネットワーク、ＷｉＭＡＸ（ＩＥＥＥ８０２．１６）ネットワーク、等であり得る。ＣＤＭＡネットワークは、ｃｄｍａ２０００、広帯域ＣＤＭＡ（Ｗ−ＣＤＭＡ（登録商標））、等のような１つまたは複数の無線アクセス技術（ＲＡＴ）をインプリメントし得る。ｃｄｍａ２０００は、ＩＳ−９５、ＩＳ−２０００、およびＩＳ−８５６規格を含む。ＴＤＭＡネットワークは、モバイル通信のためのグローバルシステム（ＧＳＭ）、デジタルアドバンスドモバイル電話システム（Ｄ−ＡＭＰＳ）、または何らかの他のＲＡＴをインプリメントし得る。ＧＳＭおよびＷ−ＣＤＭＡは、「第３世代パートナーシッププロジェクト」（３ＧＰＰ（登録商標））という名称のコンソーシアムからの文書に説明されている。ｃｄｍａ２０００は、「第３世代パートナーシッププロジェクト２」（３ＧＰＰ２）という名称のコンソーシアムからの文書に説明されている。３ＧＰＰおよび３ＧＰＰ２の文書は、公に入手可能である。ＷＬＡＮは、ＩＥＥＥ８０２．１１ｘネットワークであり得、ＷＰＡＮは、Ｂｌｕｅｔｏｏｔｈネットワーク、ＩＥＥＥ８０２．１５ｘ、または何らかの他のタイプのネットワークであり得る。技法はまた、ＷＷＡＮ、ＷＬＡＮおよび／またはＷＰＡＮの任意の組合せのために使用され得る。
【００２８】
[0033]ここで使用される場合、モバイルプラットフォーム１０８は、ビークル（有人または無人）、ロボット、セルラまたは他のワイヤレス通信デバイス、パーソナル通信システム（ＰＣＳ）デバイス、パーソナルナビゲーションデバイス、パーソナル情報マネージャ（ＰＩＭ）、携帯情報端末（ＰＤＡ）、ラップトップ、または画像をキャプチャすることおよび内部センサ（internal sensors）を使用してナビゲートすることが可能な他の適切なモバイルデバイスのようなデバイスであり得る。「モバイルプラットフォーム」という用語はまた、衛星信号受信、支援データ受信、および／または位置関連処理が、デバイスにおいて行われるか、ＰＮＤにおいて行われるかにかかわらず、短距離ワイヤレス、赤外線、ワイヤライン接続、または他の接続等によって、パーソナルナビゲーションデバイス（ＰＮＤ）と通信するデバイスを含むように意図される。また、「モバイルプラットフォーム」は、ワイヤレス通信デバイス、コンピュータ、ラップトップ、等を含む、全てのデバイスを含むように意図され、それらは、衛星信号受信、支援データ受信、および／または位置関連処理が、デバイスにおいて行われるか、サーバにおいて行われるか、またはネットワークに関連付けられた別のデバイスにおいて行われるかにかかわらず、インターネット、Ｗｉ−Ｆｉ、または他のネットワーク等を介して、サーバと通信することが可能である。上記の任意の動作可能な組合せもまた、「モバイルプラットフォーム」と見なされる。
【００２９】
[0034]さらに、一実施形態では、モバイルプラットフォーム１０８は、モバイルプラットフォーム１０８が、それ自体、ビークルによって取得された（obtained by the vehicle, itself）ＶＩＯ速度測定値および／またはＳＰＳ測定値１２４を読み取ることを可能にする１つまたは複数の通信インターフェース（例えば、Ｂｌｕｅｔｏｏｔｈインターフェース、ＲＦアンテナ、ワイヤード接続、等）を通じてビークルに適切にリンクされ得る。さらに、モバイルプラットフォーム１０８とビークルとの間の通信をサポートするアプリケーションプログラムインターフェース（ＡＰＩ）が、ビークルによって取得された、ＶＩＯ速度測定値１２８および／またはＳＰＳ測定値１２４を、モバイルプラットフォーム１０８に利用可能にし得る。
【００３０】
[0035]図２は、本開示の一態様による、１つまたは複数の技法を使用して位置を決定し得る動作環境１００において使用され得る例となるモバイルプラットフォーム２００を例示する。モバイルプラットフォーム２００は、図１のモバイルプラットフォーム１０８の１つの可能なインプリメンテーションである。
【００３１】
[0036]図２の図において例示される様々な特徴および機能（functions）は、共通データバス２２４を使用して共に接続されており、これは、これらの様々な特徴および機能が、共に動作可能に結合されていることを表すように意図される。当業者であれば、他の接続、メカニズム、特徴、機能、または同様のものが、実際のポータブルデバイスを動作可能に結合および構成するために、必要に応じて提供および適合され得ることを認識するであろう。さらに、図２の例において例示される特徴または機能のうちの１つまたは複数がさらに再分割され得、または、図２に例示される特徴または機能のうちの２つ以上が組み合わされ得ることもまた認識される。
【００３２】
[0037]モバイルプラットフォーム２００は、１つまたは複数のアンテナ２４０に接続され得る１つまたは複数のワイヤレストランシーバ２０２を含み得る。ワイヤレストランシーバ２０２は、ＷＡＮ−ＷＡＰ １０４ａ−１０４ｃと通信するおよび／またはＷＡＮ−ＷＡＰ １０４ａ−１０４ｃへの／からの信号を検出するための、および／またはネットワーク内の他のワイヤレスデバイスと直接的に通信するための、適切なデバイス、ハードウェア、および／またはソフトウェアを含み得る。例えば、ワイヤレストランシーバ２０２は、ワイヤレス基地局のＣＤＭＡネットワークと通信するのに適切なＣＤＭＡ通信システムを備え得るが、しかしながら、他の態様では、ワイヤレス通信システムは、例えば、ＴＤＭＡまたはＧＳＭのような、別のタイプのセルラ電話ネットワークを備え得る。加えて、例えば、ＷｉＭＡＸ（ＩＥＥＥ８０２．１６）、等のその他任意のタイプのワイドエリアワイヤレスネットワーキング技術が使用され得る。ワイヤレストランシーバ２０２はまた、１つまたは複数のアンテナ２４０に接続され得る１つまたは複数のローカルエリアネットワーク（ＬＡＮ）トランシーバを含み得る。例えば、ワイヤレストランシーバ２０２は、ＬＡＮ−ＷＡＰ １０６ａ−１０６ｃと通信するおよび／またはＬＡＮ−ＷＡＰ １０６ａ−１０６ｃへの／からの信号を検出するための、および／またはネットワーク内の他のワイヤレスデバイスと直接的に通信するための、適切なデバイス、ハードウェア、および／またはソフトウェアを含み得る。一態様では、ワイヤレストランシーバ２０２は、１つまたは複数のワイヤレスアクセスポイントと通信するのに適切なＷｉ−Ｆｉ（８０２．１１ｘ）通信システムを含み得るが、しかしながら、他の態様では、ワイヤレストランシーバ２０２は、別のタイプのローカルエリアネットワーク、パーソナルエリアネットワーク、（例えば、Ｂｌｕｅｔｏｏｔｈ）を備える。加えて、例えば、ウルトラワイドバンド、ＺｉｇＢｅｅ、ワイヤレスＵＳＢ、等のその他任意のタイプのワイヤレスネットワーキング技術が使用され得る。
【００３３】
[0038]ここで使用される場合、「ワイヤレスアクセスポイント」（ＷＡＰ）という省略された用語は、ＬＡＮ−ＷＡＰ １０６ａ−１０６ｃおよび／またはＷＡＮ−ＷＡＰ １０４ａ−１０４ｃを指すために使用され得る。具体的には、「ＷＡＰ」という用語が使用されるとき、実施形態は、複数のＬＡＮ−ＷＡＰ １０６ａ−１０６ｃ、複数のＷＡＮ−ＷＡＰ １０４ａ−１０４ｃ、またはこれら２つの任意の組合せからの信号を活用し得るモバイルプラットフォーム２００を含み得ることが理解されるべきである。モバイルプラットフォーム２００によって利用されている特定のタイプのＷＡＰは、動作の環境に依存し得る。さらに、モバイルプラットフォーム２００は、正確な位置の解に到達するために、様々なタイプのＷＡＰの間で動的に選択し得る。他の実施形態では、様々なネットワーク要素は、ピアツーピア方式で動作し得、それによって、例えば、モバイルプラットフォーム２００は、ＷＡＰと置き換えられ得るか、あるいは、その逆も同様である。他のピアツーピアの実施形態は、１つまたは複数のＷＡＰの代わりに機能する別のモバイルプラットフォーム（図示せず）を含み得る。
【００３４】
[0039]図２に示されるように、モバイルプラットフォーム２００はまた、カメラ２０４を含み得る。カメラ２０４は、単一の単眼カメラ、ステレオカメラ、および／または全方位カメラであり得る。一態様では、カメラ２０４は、カメラパラメータ（例えば、焦点距離、光学的中心のずれ、半径方向の歪み（radial distortion）、接線方向の歪み（tangential distortion）、等）が知られているように、較正される。カメラ２０４は、制御ユニット２１０に画像２４４を提供するために、制御ユニット２１０に結合される。
【００３５】
[0040]モバイルプラットフォーム２００の例示された例はまた、動きセンサ２０６を含む。動きセンサ２０６は、ワイヤレストランシーバ２０２、ＳＰＳ２０８、およびＶＩＯシステム２２６によって受信される信号から導出される動きデータとは独立している移動および／またはオリエンテーション情報を提供するために、制御ユニット２１０に結合され得る。
【００３６】
[0041]例として、動きセンサ２０６は、加速度計（例えば、ＭＥＭＳデバイス）、ジャイロスコープ、地磁気センサ（例えば、コンパス）、高度計（例えば、気圧高度計）、および／またはその他任意のタイプの移動検出センサを含み得る。さらに、動きセンサ２０６は、複数の異なるタイプのデバイスを含み、動き情報を提供するために、それらの出力を組み合わせ得る。例えば、動きセンサ２０６は、２Ｄおよび／または３Ｄ座標系における位置を計算する能力を提供するために、多軸加速度計およびオリエンテーションセンサの組合せを使用し得る。
【００３７】
[0042]衛星測位システム（ＳＰＳ）２０８はまた、モバイルプラットフォーム２００中に含まれ得る。ＳＰＳ２０８は、衛星信号を受信するための１つまたは複数のアンテナ２４２に接続され得る。ＳＰＳ２０８は、ＳＰＳ信号を受信および処理するための任意の適切なハードウェアおよび／またはソフトウェアを備え得る。ＳＰＳ２０８は、他のシステムから、適宜、情報および動作を要求し、任意の適切なＳＰＳアルゴリズムによって取得される測定値を使用して、モバイルプラットフォーム２００の位置を決定するために必要な計算を実行する。一態様では、ＳＰＳ２０８は、制御ユニット２１０に１つまたは複数のＳＰＳ測定値２４６を提供するために、制御ユニット２１０に結合される。一例では、ＳＰＳ測定値２４６は、ＧＰＳドップラーレンジレート測定値のような、レンジレート測定値である。別の例では、ＳＰＳ２０８は、ＳＰＳ測定値２４６がＳＰＳ速度測定値であるように、レンジレート測定値に基づいて、モバイルプラットフォーム２００のＳＰＳ速度を決定するように構成される。すなわち、ＳＰＳ測定値２４６は、レンジレート測定値だけ（by themselves）、ＳＰＳ速度測定値だけ、および／またはこれら２つの任意の組合せを含み得る。
【００３８】
[0043]モバイルプラットフォーム２００はまた、存在する場合には、ユーザインターフェース２１２、ＳＰＳ２０８、動きセンサ２０６、カメラ２０４、およびワイヤレストランシーバ２０２に接続されかつそれらと通信する制御ユニット２１０を含む。一態様では、制御ユニット２１０は、カメラ２０４から受信される画像２４４のみならず、ＳＰＳ２０８から受信されるＳＰＳ測定値２４６を受け取って、処理する。制御ユニット２１０は、プロセッサ２１４、関連付けられたメモリ２２０、ハードウェア２１６、ファームウェア２１８、およびソフトウェア２２２によって提供され得る。
【００３９】
[0044]プロセッサ２１４は、処理機能のみならず、他の計算および制御機能を提供する１つまたは複数のマイクロプロセッサ、マイクロコントローラ、および／またはデジタルシグナルプロセッサを含み得る。プロセッサ２１４はまた、モバイルプラットフォーム２００内でプログラムされた機能を実行するためのソフトウェア命令およびデータを記憶するためのメモリ２２０を含み得る。メモリ２２０は、プロセッサ２１４の基板上（例えば、同じＩＣパッケージ内）に存在し得、および／または、メモリは、プロセッサ２１４の外部メモリであり、データバス２２４を通して機能的に結合され得る。本開示の態様に関連付けられた機能的な詳細は、以下でより詳細に説明される。
【００４０】
[0045]制御ユニット２１０は、視覚慣性オドメトリ（ＶＩＯ）システム２２６、測位モジュール２２８、位置データベース２３０、およびアプリケーションモジュール２３２をさらに含み得る。ＶＩＯシステム２２６は、カメラ２０４から受信される画像２４４に応答して、ＶＩＯ速度測定値２４８を生成するように構成され得る。測位モジュール２２８は、１つまたは複数の測位技法に基づいて、モバイルプラットフォームの位置を決定するように構成され得る。以下でより詳細に説明されるように、測位モジュール２２８は、ＳＰＳ測定値２４６とＶＩＯ速度測定値２４８を組み合わせることによって、モバイルプラットフォーム２００の位置を決定するように構成され得る。位置データベース２３２は、モバイルプラットフォーム２００の位置および／またはオリエンテーションを記憶および更新するように構成され得る。すなわち、制御ユニット２１０がモバイルプラットフォーム２００の新しい位置および／またはオリエンテーションを決定するたびに、位置データベース２３０は更新され得る。その後、更新された位置およびオリエンテーション情報は、例えば、ディスプレイ２３８上に新しい位置を有するデジタルマップを表示させることによって、または、ディスプレイ上におよび／またはスピーカ２３４を介して、追加のナビゲーション命令を提供することによって、提供され得る。
【００４１】
[0046]アプリケーションモジュール２３２は、モバイルプラットフォーム２００のプロセッサ２１４で実行中のプロセスであり得、それは、測位モジュール２２８から位置情報を要求する。アプリケーションは、典型的に、ソフトウェアアーキテクチャの上位層内で実行され、屋内／屋外ナビゲーション、バディロケータ（Buddy Locator）、ショッピングおよびクーポン（Shopping and Coupons）、アセットトラッキング（Asset Tracking）、およびロケーション認識サービス発見（location Aware Service Discovery）を含み得る。
【００４２】
[0047]プロセッサ２１４、ＶＩＯシステム２２６、測位モジュール２２８、および位置データベース２３０は、明確にするために別個に例示されているが、単一のユニットであり得、および／または、プロセッサ２１４で実行されるソフトウェア２２２における命令に基づいて、プロセッサ２１４においてインプリメントされ得る。プロセッサ２１４、ＶＩＯシステム２２６、測位モジュール２２８は、１つまたは複数のマイクロプロセッサ、埋め込みプロセッサ、コントローラ、特定用途向け集積回路（ＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）、および同様のもの含み得るが、必ずしもそれらを含む必要があるとは限らない。プロセッサという用語は、特定のハードウェアではなく、システムによってインプリメントされる機能を説明する。さらに、ここで使用される場合、「メモリ」という用語は、モバイルプラットフォーム２００に関連付けられた長期、短期、または他のメモリを含む、任意のタイプのコンピュータ記憶媒体を指し、任意の特定のタイプのメモリまたはメモリの数、あるいはメモリが記憶される媒体のタイプに限定されるべきではない。
【００４３】
[0048]ここで説明されるプロセスは、アプリケーションに依存して、様々な手段によってインプリメントされ得る。例えば、これらのプロセスは、ハードウェア２１６、ファームウェア２１８、ソフトウェア２２２との組合せにおけるプロセッサ２１４、またはこれらの任意の組合せにおいてインプリメントされ得る。ハードウェアインプリメンテーションの場合、プロセッサ２１４は、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ）、デジタルシグナルプロセッサ（ＤＳＰ）、デジタル信号処理デバイス（ＤＳＰＤ）、プログラマブル論理デバイス（ＰＬＤ）、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、プロセッサ、コントローラ、マイクロコントローラ、マイクロプロセッサ、電子デバイス、ここで説明された機能を実行するように設計された他の電子ユニット、またはこれらの組合せ内でインプリメントされ得る。
【００４４】
[0049]ファームウェアおよび／またはプロセッサ／ソフトウェアインプリメンテーションの場合、プロセスは、ここで説明される機能を実行するモジュール（例えば、プロシージャ、関数（functions）、等）でインプリメントされ得る。命令を有形に具現化する（tangibly embodying）任意の非一時的なコンピュータ可読媒体が、ここで説明されるプロセスをインプリメントする際に使用され得る。例えば、プログラムコードは、メモリ２２０に記憶され、プロセッサ２１４によって実行され得る。メモリ２２０は、プロセッサ２１４の内部または外部でインプリメントされ得る。
【００４５】
[0050]ファームウェア２１８および／またはソフトウェア２２２を用いてプロセッサ２１４においてインプリメントされる場合、機能は、コンピュータ可読媒体上で１つまたは複数の命令またはコードとして記憶され得る。例には、データ構造で符号化された非一時的なコンピュータ可読媒体、およびコンピュータプログラムで符号化されたコンピュータ可読媒体が含まれる。コンピュータ可読媒体は、物理的なコンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、このようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、フラッシュメモリ、ＥＥＰＲＯＭ（登録商標）、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは所望のプログラムコードを命令またはデータ構造の形で記憶するために使用され得、かつコンピュータによってアクセスされ得るその他任意の媒体を備え得る。ここで使用される場合、ディスク（disk）およびディスク（disc）は、コンパクトディスク（ＣＤ）、レーザーディスク（登録商標）、光ディスク、デジタル多目的ディスク（ＤＶＤ）、フロッピー（登録商標）ディスクおよびブルーレイディスクを含み、ここで、ディスク（disks）は、通常磁気的にデータを再生し、一方ディスク（discs）は、レーザーを用いて光学的にデータを再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【００４６】
[0051]モバイルプラットフォーム２００は、モバイルプラットフォーム２００とのユーザの対話を可能にするマイクロフォン／スピーカ２３４、キーパッド２３６、およびディスプレイ２３８のような、任意の適切なインターフェースシステムを提供するオプションのユーザインターフェース２１２を含み得る。マイクロフォン／スピーカ２３４は、ワイヤレストランシーバ２０２を使用して、音声通信サービスを提供する。キーパッド２３６は、ユーザ入力用の任意の適切なボタンを備える。ディスプレイ２３８は、例えば、バックライト付きのＬＣＤディスプレイのような、任意の適切なディスプレイを備え、追加のユーザ入力モード用のタッチスクリーンディスプレイをさらに含み得る。
【００４７】
[0052]一態様では、モバイルプラットフォーム２００は、位置決定の正確度を改善するために、ＶＩＯ速度測定値２４８とＳＰＳ測定値２４６を組み合わせることによって、モバイルプラットフォーム２００の位置を決定するように構成される。しかしながら、上述されたように、ＳＰＳ測定値２４６は、グローバル基準フレーム１２６に関するものであり得、一方、ＶＩＯ速度測定値２４８は、ローカル基準フレーム１３０に関するものである。したがって、ＶＩＯ速度測定値２４８とＳＰＳ測定値２４６を組み合わせるために、モバイルプラットフォーム２００は、最初に、グローバル基準フレーム１２６とローカル基準フレーム１３０をアラインし得る。一態様では、制御ユニット２１０の測位モジュール２２８は、グローバル基準フレーム１２６とローカル基準フレーム１３０をアラインするために、回転行列のような、オリエンテーションパラメータを決定するように構成される。一例では、測位モジュール２２８は、ＳＰＳ測定値２４６およびＶＩＯ速度測定値２４８に基づいて、オリエンテーションパラメータを決定する。この推定を実行するための２つのアプローチが以下に提供され、１つは、オリエンテーションパラメータの推定が、ＳＰＳ２０８から取得されるＳＰＳ速度測定値に基づくものであり、もう１つのアプローチは、推定が、同様にＳＰＳ２０８から取得される未加工の（ｒａｗ）レンジレート測定値に基づくものである。
【００４８】
[0053]上述されたように、ＳＰＳ２０８から取得されるＳＰＳ測定値２４６は、モバイルプラットフォーム２００のＳＰＳ速度測定値を含み得る。第１のアプローチでは、ＶＩＯ速度測定値とＳＰＳ速度測定値をマッチ（matches）させる「最良の（best）」回転行列が決定され得るように、ＳＰＳ速度測定値およびＶＩＯ速度測定値の両方が経時的に蓄積される（accumulated）。戸外状況では（in an open-sky condition）、ＳＰＳ速度測定値は、比較的小さい推定誤差（例えば、０：１ ｍ／ｓ）を含み得るので、この例では、ＳＰＳ速度測定値が使用され得、その結果として（in turn）、測位モジュール２２８が、オリエンテーションパラメータの非常に信頼性のある推定値を決定することを可能にする。
【００４９】
[0054]代替として、ＳＰＳ２０８から取得されるＳＰＳ測定値２４６は、ＧＰＳドップラーレンジレート測定値のような、レンジレート測定値を含み得る。したがって、測位モジュール２２８は、明示的にモバイルプラットフォーム２００にＳＰＳ速度を求めさせる（solve for the SPS velocities）必要なしに、レンジレート測定値から直接的にオリエンテーションパラメータを決定し得る。一態様では、これは、たとえＳＰＳ速度を求めるために、利用可能であるレンジレート測定値が不十分であったとしても、モバイルプラットフォーム２００がオリエンテーションパラメータを決定することを可能にする。すなわち、この例では、オリエンテーションパラメータを決定するために測位モジュール２２８によって使用されるレンジレート測定値の数は、モバイルプラットフォーム２００のＳＰＳ速度を計算するために必要とされるものよりも少なくなり得る。
【００５０】
[0055]以下で詳細に説明される、グローバル基準フレームとローカル基準フレームをアラインする態様は、著しいパフォーマンス改善を提供し得る半定値緩和技法（semidefinite relaxation technique）と共に、この問題の四元数の再公式化（quaternion reformulation）を組み合わせる。
【００５１】
[0056]図３は、本開示の一態様による、衛星測位システム（ＳＰＳ）基準フレームと視覚慣性オドメトリ（ＶＩＯ）基準フレームをアラインする例となるプロセス３００を例示する。プロセスブロック３０２において、測位モジュール２２８は、ＳＰＳ２０８からレンジレート測定値２４６を取得し、ここで、レンジレート測定値は、グローバル基準フレーム１２６に関するものである。一態様では、ＳＰＳ２０８は、１秒の長さの各エポック中に、異なる衛星からの未加工のレンジレート測定値を提供する。対流圏、電離圏、および衛星クロックのバイアスは、ネットワークデータからか、またはシングルポイントソリューション（single-point solutions）において使用される標準モジュールを通じてかのいずれかで、これらのレンジレート測定値において補正されていると仮定され得る。補正されたレンジレート測定値は、次のようにモデル化され得る：
【００５２】
【数１】
2019509475.tif 000003
【００５３】
ここで、
【００５４】
【数２】
2019509475.tif 000004
【００５５】
は、衛星ｓ（例えば、衛星１０２ａ）からモバイルプラットフォーム２００の位置ｘ（ｔ）の粗い推定値
【００５６】
【数３】
2019509475.tif 000005
【００５７】
までの単位ベクトルである。ｖ（ｔ）およびｖｓ（ｔ）は、それぞれ、モバイルプラットフォーム２００および衛星ｓの速度であり、
【００５８】
【数４】
2019509475.tif 000006
【００５９】
は、ＳＰＳ２０８の受信機クロックドリフトであり、ｗｓ（ｔ）は、測定値における他の全てのノイズをキャプチャする。例えば、２００ｍ以内の正確度での、このような粗い位置推定値は、標準モデルを使用して計算され得る。
【００６０】
[0057]次に、プロセスブロック３０４において、測位モジュール２２８は、ＶＩＯシステム２２６からＶＩＯ速度測定値２４８を取得し、ここで、ＶＩＯ速度測定値２４８は、ローカル基準フレーム１３０に関するものである。ＶＩＯシステム２２６は、ＶＩＯ速度測定値２４８を生成するために、カメラ２０４によって生成される画像２４４のみならず、動きセンサ２０６（例えば、加速度計およびジャイロスコープ）のうちの１つまたは複数によって提供されるデータを利用し得る。ＶＩＯシステム２２６によって生成されるＶＩＯ速度測定値２４８は、分散の推定値と共に（along with estimates of the variances）、各時間インスタントにおける回転行列および速度のベクトルであり得る。ＶＩＯ速度測定値２４８がＶＩＯシステム２２６によって生成されるレートは、毎秒約１００回（be around 100 per second）であり得、これは、毎秒約１回である、ＳＰＳ２０８によって生成されるＳＰＳ測定値２４６のレートよりもはるかに高い。ＶＩＯ速度測定値２４８に含まれる回転行列は、初期のカメラ基準フレームに関しての現在の時間インスタントにおけるカメラ２０４のオリエンテーションを記述する。いくつかの態様では、ＶＩＯ速度測定値２４８は、非常に正確であり、距離の関数として約１％のドリフトを有し、すなわち、１００ｍに対して１ｍの誤差である。
【００６１】
[0058]ＶＩＯシステム２２６は、システム起動時に任意に選ばれ得るローカル基準フレーム１３０におけるＶＩＯ速度測定値２４８を測位モジュール２２８に提供する。ＳＰＳ測定値２４６とＶＩＯ速度測定値２４８を統合するために、測位モジュール２２８は、グローバル基準フレーム１２６とローカル基準フレーム１３０をアラインするために、少なくとも１つのオリエンテーションパラメータを決定する（例えば、回転行列を推定する）（すなわち、プロセスブロック３０６）。一態様では、グローバル基準フレーム１２６とローカル基準フレーム１３０をアラインすることは、ＶＩＯ速度測定値２４８をグローバル基準フレーム１２６に変換することを含む。回転行列のような、オリエンテーションパラメータを推定するために、測位モジュール２２８は、ローカル基準フレーム１３０におけるＶＩＯ速度測定値２４８に関連するグローバル基準フレーム１２６におけるＳＰＳ測定値２４８を取得する。一態様では、ＳＰＳ２０８から取得されるレンジレート測定値（例えば、ドップラーレンジレート測定値）が、この目的のために使用され得る。いったんオリエンテーションパラメータ（例えば、回転行列）が決定されると、ＶＩＯ速度測定値２４８は、以下で説明されるように、グローバル基準フレームに変換され得る。
【００６２】
[0059]上述されたように、一態様では、ＳＰＳ２０８によって提供されるＧＰＳ測定値２４６は、モバイルプラットフォーム２００の速度を表すＳＰＳ速度測定値（例えば、ＧＰＳドップラー速度測定値）を含み得る。モバイルプラットフォーム２００が戸外環境にあるとき、ＳＰＳ速度測定値を使用することは、比較的正確である。オリエンテーションパラメータを決定するために、ＳＰＳ速度測定値を使用することは、閉形式解を提供し得る。さらに、オリエンテーションパラメータは、ビークルの場合のように、経時的に著しく変化しないことがあり得、ここで、オリエンテーションパラメータにおける変化は、主として、ＶＩＯシステム２２６に関連付けられたスロードリフト（slow drift）、ならびにＶＩＯシステム２２６によって使用される基準フレームのリセットの可能性によるものであり得る。したがって、ＳＰＳ速度測定値を利用することは、ＳＰＳ２０８から良い品質のＳＰＳ速度測定値が利用可能である時はいつでも、モバイルプラットフォーム２００によって使用され得る。
【００６３】
[0060]この例を続けると、ｖ（ｔ）は、グローバル基準フレーム１２６におけるモバイルプラットフォーム２００の真の速度に等しいとし、ｖＧ（ｔ）は、ＳＰＳ２０８からのＳＰＳ速度測定値２４６に等しいとし、ｖｖ（ｔ）は、ＶＩＯシステム２２６から取得されるＶＩＯ速度測定値２４８に等しいとする。したがって、これらのパラメータは、
【００６４】
【数５】
2019509475.tif 000007
【００６５】
のようにモデル化され得、ここで、Ｒは、グローバル基準フレームとローカル基準フレームとを関連させる回転行列であり、ここで、これら測定値におけるそれぞれのノイズは、ｚＧ（ｔ）およびｚｖ（ｔ）によって表される。一態様では、測位モジュール２２８は、Ｔのウィンドウサイズにわたって回転行列Ｒを推定する。例えば、時間インターバル｛ｔ−Ｔ＋１，ｔ−Ｔ＋２，．．．ｔ｝における測定値のセットを考慮する。この式は、表記を簡単にするために、その時間が、秒単位（units of seconds）に離散化されていると仮定する。その後、式３ａは、次のように、このウィンドウにわたって書き換えられ得る、
【００６６】
【数６】
2019509475.tif 000008
【００６７】
ここで、
【００６８】
【数７】
2019509475.tif 000009
【００６９】
であり、行列ＶＧ、ＶＶ、ＺＧ、ＺＶは、同様に定義されている。その後、測位モジュール２２８は、以下の最小二乗最適化問題のミニマイザ（minimizer）として、回転行列Ｒを推定し得る、
【００７０】
【数８】
2019509475.tif 000010
【００７１】
ここで、
【００７２】
【数９】
2019509475.tif 000011
【００７３】
は、フロベニウスノルムを表す。一態様では、この問題は、直交プロクラステス問題の特別なケースであり、ここで、Ｋａｂｓｃｈアルゴリズムは、以下のように、最適な閉形式解を提供し得る：
【００７４】
【数１０】
2019509475.tif 000012
【００７５】
ここで、ｓｖｄは、特異値分解を表し、ｄｅｔは、行列式（determinant）を表す。
【００７６】
[0061]Ｋａｂｓｃｈアルゴリズムは、以下のように、式３ｅを計算することによって、何らかの対称半正定値行列Ｗ（some symmetric positive-semidefinite matrix W）についての重み付けられたフロベニウスノルム
【００７７】
【数１１】
2019509475.tif 000013
【００７８】
を最小化するために拡張され得る：
【００７９】
【数１２】
2019509475.tif 000014
【００８０】
Ｋａｂｓｃｈアルゴリズムの残りの部分は、前のままである。この重み付けられたバージョンのＫａｂｓｃｈアルゴリズムは、反復再重み付け最小二乗プロシージャのためのビルディングブロック（building block）として使用され得る。ここで、測位モジュール２２８は、Ｗ＝Ｉから開始し、その後、回転行列Ｒの最初の推定値（a first estimate）
【００８１】
【数１３】
2019509475.tif 000015
【００８２】
を計算し得る。この推定値を使用して、その後、測位モジュール２２８は、残差
【００８３】
【数１４】
2019509475.tif 000016
【００８４】
を計算する。これらの残差から、測位モジュール２２８は、新しい重み行列Ｗを計算し得る。例えば、標準のバイスクエア重み関数（standard bisquare weight function）が、この目的のために使用され得る。測位モジュール２２８は、この計算を（例えば、５回）繰り返し得る。この反復再重み付け最小二乗アプローチは、大きな残差を有する測定値の重みを下げ（downweights）、それによって、外れ値に対するロバスト性を提供する。
【００８５】
[0062]式１−式３ｅを参照して上記で説明された、グローバル基準フレーム１２６とローカル基準フレーム１３０をアラインするためのオリエンテーションパラメータを決定する上記のアプローチは、ＳＰＳ測定値２４６に含まれるＳＰＳ速度測定値を利用する。このアプローチは、ＳＰＳ２０８が、ＳＰＳ速度（例えば、ＧＰＳドップラー速度）を求めるのに十分な良い品質のレンジレート測定値にアクセスを有するときに、うまく機能する。しかしながら、モバイルプラットフォーム２００が、著しい数の外れ値が存在する困難な環境に位置するとき、ＳＰＳ速度を明示的に推定するのに十分なレンジレート測定値がないことがある。このシナリオに対処するために、測位モジュール２２８は、直接的に（すなわち、ＳＰＳ速度を使用することなく）利用可能なレンジレート測定値を使用することによって、オリエンテーションパラメータ（例えば、回転行列）を推定するように構成され得る。結果として、以下のアプローチは、たとえＳＰＳ速度を求めるために必要とされる必要な数（例えば、４つ）よりも少ないレンジレート測定値が、時間エポックにおいて利用可能であったとしても、グローバル基準フレーム１２６とローカル基準フレーム１３０をアラインするために、測位モジュール２２８によって利用され得る。
【００８６】
[0063]例えば、同じ時間エポックｔでの衛星ｓおよびｓ’（例えば、それぞれ、衛星１０２ａおよび１０２ｂ）からのレンジレート測定値のペアを考慮する。次に、修正された一重差（modified single difference）は、次のように形成される：
【００８７】
【数１５】
2019509475.tif 000017
【００８８】
[0064]上記の式（１）から、式３（ｆ）の修正された一重差は、以下を満たす：
【００８９】
【数１６】
2019509475.tif 000018
【００９０】
と共に、
【００９１】
【数１７】
2019509475.tif 000019
【００９２】
式３（ｆ）の修正された一重差に加えて、式（３ａ）により上記で定義されているように、ＶＩＯ速度推定値ｖＶ（ｔ）もまた利用可能である。
【００９３】
[0065]その後、回転行列Ｒは、以下の最小二乗問題のミニマイザとして、測位モジュール２２８によって推定され得る：
【００９４】
【数１８】
2019509475.tif 000020
【００９５】
[0066]式（５ｂ）の最小二乗問題は、たとえ衛星の数が、特定の時間エポックｔについてのＳＰＳ速度ｖＧ（ｔ）を求めるのに十分でなかったとしても、明確に定義され得る。
【００９６】
[0067]推定されたＳＰＳ速度を利用する上記で説明されたアプローチとは異なり、式（５ｂ）の最小二乗問題は、閉形式解を有していない。代わりに、反復数値法が、それを解くために、適用され得る。この目的のために、直交行列
【００９７】
【数１９】
2019509475.tif 000021
【００９８】
を直接的に求めるのではなく、測位モジュール２２８は、代わりに、それに対応する四元数
【００９９】
【数２０】
2019509475.tif 000022
【０１００】
を求め得る。形式上、この四元数パラメータ化（quarternion parametrization）は、各４次元単位ノルムベクトルと、回転行列を関連付ける：
【０１０１】
【数２１】
2019509475.tif 000023
【０１０２】
このパラメータ化は、２対１（two-to-one）であり、単位ベクトルｑごとに（every unit vector q）、一意の回転行列Ｑ（ｑ）が対応し、全ての回転行列（to every rotation matrix）
【０１０３】
【数２２】
2019509475.tif 000024
【０１０４】
に対しては、ちょうど２つの単位ベクトルｑおよび−ｑが対応することを意味し、したがって、
【０１０５】
【数２３】
2019509475.tif 000025
【０１０６】
となる。
【０１０７】
[0068]その後、上記の最小二乗問題は、次のように、等価に書き換えられ得る：
【０１０８】
【数２４】
2019509475.tif 000026
【０１０９】
[0069]その後、回転行列Ｒの推定値
【０１１０】
【数２５】
2019509475.tif 000027
【０１１１】
は、
【０１１２】
【数２６】
2019509475.tif 000028
【０１１３】
をセットすることによって、式（７）のミニマイザ
【０１１４】
【数２７】
2019509475.tif 000029
【０１１５】
から構築され得る。
【０１１６】
[0070]一態様では、その後、測位モジュール２２８は、反復局所最適化法を使用して、式（７）の非線形問題を解き得る。このアプローチは、正しい解の近傍において初期化された場合に、うまく機能し得る。しかしながら、式（７）の問題は、複数の局所極小（local minima）を示し得、ランダムに選ばれた開始点と共に、測位モジュール２２８は、大域的最適化を達成する代わりに、それらの局所ミニマイザのうちの１つにしばしば収束し（frequently converge）得る。この問題を軽減するために、いくつかの例では、測位モジュール２２８は、局所最小化のための開始点として使用され得る半定値緩和を利用し得る。
【０１１７】
[0071]例えば、式６から、式（７）における項
【０１１８】
【数２８】
2019509475.tif 000030
【０１１９】
は、ｑにおける二次式となることに留意されたい。これは、次のように、この項を書き換えることによって、より明確に見られ得る：
【０１２０】
【数２９】
2019509475.tif 000031
【０１２１】
と共に、
【０１２２】
【数３０】
2019509475.tif 000032
【０１２３】
ここで、簡潔に表記すると、
【０１２４】
【数３１】
2019509475.tif 000033
【０１２５】
となる（where to simply notation）。式（８ａ）の恒等式は、四元数処理（quaternion manipulations）によって導出され得るが、また、行列方程式の直接比較によっても検証され得る。したがって、式（７）の最適化問題は、
【０１２６】
【数３２】
2019509475.tif 000034
【０１２７】
として等価に表され得る。
【０１２８】
[0072]次に、
【０１２９】
【数３３】
2019509475.tif 000035
【０１３０】
であり、ここで、
【０１３１】
【数３４】
2019509475.tif 000036
【０１３２】
である。同様に、
【０１３３】
【数３５】
2019509475.tif 000037
【０１３４】
である。
【０１３５】
[0073]したがって、Ｐは、対称の、半正定値の、ランク１行列であることが観察され得る。さらに、行列
【０１３６】
【数３６】
2019509475.tif 000038
【０１３７】
が、対称であり、半正定値であり、かつランク１である場合には、その固有の分解（eigendecomposition）は、
【０１３８】
【数３７】
2019509475.tif 000039
【０１３９】
をもたらす。さらに、
【０１４０】
【数３８】
2019509475.tif 000040
【０１４１】
の場合には、
【０１４２】
【数３９】
2019509475.tif 000041
【０１４３】
であり、したがって、何らかの（some）単位ノルムベクトルｕについては、
【０１４４】
【数４０】
2019509475.tif 000042
【０１４５】
となる。したがって、式（９ａ）の最小化問題は、等価な形に書き換えられ得、
【０１４６】
【数４１】
2019509475.tif 000043
【０１４７】
ここで、最小化は、全体的な（over all）対称の、半正定値行列
【０１４８】
【数４２】
2019509475.tif 000044
【０１４９】
であり、これは、記号的に
【０１５０】
【数４３】
2019509475.tif 000045
【０１５１】
として表される。
【０１５２】
[0074]式１０の最小化における困難の１つが、非凸ランク制約（nonconvex rank constraint）であり得る。この最小化問題の半定値緩和は、このランク制約を取り除くことである。そうすると、緩和問題は、
【０１５３】
【数４４】
2019509475.tif 000046
【０１５４】
として表され得る。
【０１５５】
[0075]式１１の緩和問題は、凸（convex）であり、例えば、内点法（interior-point methods）を使用して、効率的および最適に解かれ得る。いったん式（１１）の大域的最適解（global optimizer）が求められると、測位モジュール２２８は、その最大の固有値に対応するＰの固有ベクトルを計算することによって、それらか単位ノルムベクトル
【０１５６】
【数４５】
2019509475.tif 000047
【０１５７】
を抽出し得る。その後、この単位ノルムベクトル
【０１５８】
【数４６】
2019509475.tif 000048
【０１５９】
は、式７の正確な問題（exact problem）についての反復最適化プロシージャのための初期解として、測位モジュール２２８によって使用され得る。
【０１６０】
[0076]いくつかの態様では、回転行列Ｒを推定することについての上記で説明されたアプローチは、外れ値検出アルゴリズムと密結合（tightly coupled）され得、ここで、測位モジュール２２８は、良い品質のレンジレート測定値を反復的に見つけ出し、その後、回転行列を計算し得る。
【０１６１】
[0077]いったん測位モジュール２２８が、回転行列Ｒの推定値
【０１６２】
【数４７】
2019509475.tif 000049
【０１６３】
を計算すると、ここで、ＶＩＯ速度測定値２４８は、グローバル基準フレーム１２６へとオリエント（oriented）（例えば、変換）され得る。ＧＰＳでは、ＳＰＳ測定値２４６は、典型的に、１秒ごとに取得され、一方、ＶＩＯ速度測定値２４８は、はるかにより高い頻度において取得されることに留意されたい。外れ値検出では、２つの時間エポック間の変位情報は、関心事である（is of interest）。例えば、ｘ（ｔ）を、時間エポックｔにおけるモバイルプラットフォーム２００のロケーションとする。２つのエポックｔ−１とｔの間の変位は、
【０１６４】
【数４８】
2019509475.tif 000050
【０１６５】
によって与えられ得る。
【０１６６】
[0078]いくつかのアプリケーションでは、測位モジュール２２８は、ローカル基準フレーム１３０が変化し得る（例えば、ＶＩＯベースのシステムでは、基準フレームは、経時的にドリフトするか、またはリセットされ得る）ので、規則的なインターバルにおいて、オリエンテーションパラメータ（例えば、回転行列）を再計算するように構成される。したがって、ある特定の態様は、測位モジュール２２８が、スライドする時間ウィンドウを使用して、連続的に（in a continuous fashion）オリエンテーションパラメータを決定することを含む。図４は、本開示の一態様による、複数の時間エポックに関するスライドする時間ウィンドウ４０２−２０６を例示する。図４に示されるように、測位モジュール２２８は、時間エポックｔ１から時間エポックｔ１０まで延びる時間ウィンドウ４０２にわたって（over）最初のオリエンテーションパラメータを決定し得る。その後、オリエンテーションパラメータの次の決定のための時間ウィンドウは、時間ウィンドウ４０４にスライドし得、ここで、測位モジュール２２８は、時間エポックｔ２ないしｔ１１を使用してオリエンテーションパラメータを決定する。同様に、オリエンテーションパラメータの３番目の決定は、時間エポックｔ３ないしｔ１２の間で延びる時間ウィンドウ４０６を利用することによって実行され得る。したがって、測位モジュール２２８は、測位モジュール２２８が、オリエンテーションパラメータを連続的に決定し得るように、スライドする時間ウィンドウにわたって、ＶＩＯ速度測定値２４８およびＳＰＳ測定値２４６（例えば、レンジレート測定値）を取得する。
【０１６７】
[0079]図４に示されるように、時間ウィンドウ４０２は、オリエンテーションパラメータを決定するときに、測位モジュール２２８によって使用される時間エポックの数を規定する（dictates）サイズ４０８を含む。いくつかの態様では、時間ウィンドウ４０２−４０６のサイズ４０８は、取得される測定値の品質に依存して適応可能にされ得る（例えば、見通し（line-of-sight）シナリオ対マルチパスシナリオ、等）。１つの例では、制御ユニット２１０は、モバイルプラットフォーム２００の移動の大きさ（magnitude）に基づいて、レンジレート測定値の品質を決定し得、ここで、より大きい移動は、より高い品質のレンジレート測定値をもたらすと決定される。レンジレート測定値の品質が高いほど、時間ウィンドウのサイズ４０８はより小さくなる。
【０１６８】
[0080]さらに、測位モジュール２２８は、ＳＰＳ２０８から取得されるＳＰＳ測定値２４６の品質に基づいて、ＳＰＳ測定値２４６をフィルタにかけるように構成され得る。すなわち、ＳＰＳ測定値２４６に含まれるレンジレート測定値は、それらそれぞれの品質に基づいてフィルタにかけられ得る。例として、レンジレート測定値をフィルタにかけることは、１つまたは複数のレンジレート測定値を、それらの品質が低すぎる（例えば、モバイルプラットフォーム２００の移動の大きさが小さすぎる）場合に、破棄することを含み得る。別の例では、レンジレート測定値をフィルタにかけることは、１つまたは複数のレンジレート測定値を、それらの品質に基づいて重み付けすることを含み得る（より大きい大きさの移動（higher magnitudes of movement）に対応するレンジレート測定値は、より小さい大きさの移動（lower magnitudes of movement）に対応するレンジレート測定値と比較して、より重く重み付けされ得る）。なお別の例では、制御ユニット２１０および／またはＳＰＳ２０８は、レンジレート測定値が見通し外（non-line-of-sight）測定値であるかどうかを決定し、そうである場合、このレンジレート測定値を破棄し得る。
【０１６９】
[0081]図５は、ここで教示されるような衛星測位システム（ＳＰＳ）グローバル基準フレームとの視覚慣性オドメトリ（ＶＩＯ）ローカル基準フレームのアラインメントをサポートするように構成されたモバイルプラットフォーム装置５００において用いられ得るコンポーネントのいくつかのサンプル態様を例示する。モバイルプラットフォーム装置５００は、図１のモバイルプラットフォーム１０８および／または図２のモバイルプラットフォーム２００の１つの可能なインプリメンテーションである。
【０１７０】
[0082]グローバル基準フレームに関して衛星測位システムからレンジレート測定値を取得するためのモジュール５０２が、少なくともいくつかの態様では、例えば、図２のＳＰＳ２０８および／または測位モジュール２２８に対応し得る。ローカル基準フレームに関してＶＩＯシステムから視覚慣性オドメトリ（ＶＩＯ）速度測定値を取得するためのモジュール５０４が、少なくともいくつかの態様では、例えば、図２のＶＩＯシステム２２６および／または測位モジュール２２８に対応し得る。グローバル基準フレームとローカル基準フレームをアラインするために、少なくとも１つのオリエンテーションパラメータを決定するためのモジュール５０６が、いくつかの態様では、例えば、図２の測位モジュール２２８および／またはプロセッサ２１４に対応し得る。
【０１７１】
[0083]図５のモジュール５０２−５０６の機能は、ここでの教示と一致する様々な方法でインプリメントされ得る。いくつかの設計では、これらのモジュール５０２−５０６の機能は、１つまたは複数の電気コンポーネントとしてインプリメントされ得る。いくつかの設計では、これらのモジュール５０２−５０６の機能は、１つまたは複数のプロセッサコンポーネントを含む処理システムとしてインプリメントされ得る。いくつかの設計では、これらのモジュール５０２−５０６の機能は、例えば、１つまたは複数の集積回路（例えば、ＡＳＩＣ）のうちの少なくとも一部分を使用してインプリメントされ得る。ここで説明されるように、集積回路は、プロセッサ、ソフトウェア、他の関連するコンポーネント、またはこれらの何らかの組合せを含み得る。したがって、異なるモジュールの機能は、例えば、集積回路の異なるサブセットとして、１セットのソフトウェアモジュールの異なるサブセットとして、またはこれらの組合せでインプリメントされ得る。また、（例えば、集積回路の、および／または１セットのソフトウェアモジュールの）所与のサブセットは、１つより多くのモジュールについての機能の少なくとも一部分を提供し得ることが理解されるであろう。
【０１７２】
[0084]加えて、図５によって表されるコンポーネントおよび機能、ならびにここで説明された他のコンポーネントおよび機能は、任意の適切な手段を使用してインプリメントされ得る。このような手段はまた、少なくとも部分的に、ここで教示されるような対応する構造を使用して、インプリメントされ得る。例えば、図５の「〜のためのモジュール」コンポーネントと併せて上記で説明されたコンポーネントはまた、同様に指定された「〜のための手段」機能に対応し得る。したがって、いくつかの態様では、このような手段のうちの１つまたは複数は、ここで教示されるようなプロセッサコンポーネント、集積回路、または他の適切な構造のうちの１つまたは複数を使用してインプリメントされ得る。
【０１７３】
[0085]当業者であれば、情報および信号は、様々な異なる技術および技法のうちの任意のものを使用して表され得ることを理解するであろう。例えば、上記の説明全体を通して参照され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場または磁性粒子、光場または光粒子、あるいはこれらの任意の組合せによって表され得る。
【０１７４】
[0086]さらに、当業者であれば、ここで開示された態様に関連して説明された様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップは、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとしてインプリメントされ得ることを理解するであろう。ハードウェアおよびソフトウェアのこの互換性を明確に例示するために、様々な例示的なコンポーネント、ブロック、モジュール、回路、およびステップが、概してそれらの機能の観点から上記で説明されてきた。このような機能が、ハードウェアとしてインプリメントされるか、あるいはソフトウェアとしてインプリメントされるかは、特定のアプリケーションおよびシステム全体に課せられる設計制約に依存する。当業者は、特定のアプリケーションごとに様々な方法において、説明された機能をインプリメントし得るが、このようなインプリメンテーションの決定は、本開示の範囲から逸脱するように解釈されるべきでない。
【０１７５】
[0087]ここで開示された態様に関連して説明された様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、ＤＳＰ、ＡＳＩＣ、ＦＰＧＡまたは他のプログラマブル論理デバイス、個別ゲートまたはトランジスタロジック、個別ハードウェアコンポーネント、あるいはここで説明された機能を実行するように設計されたこれらの任意の組合せを用いてインプリメントまたは実行され得る。汎用プロセッサは、マイクロプロセッサであり得るが、代替として、このプロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシン（state machine）であり得る。プロセッサはまた、コンピューティングデバイスの組合せ（例えば、ＤＳＰとマイクロプロセッサの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携した１つまたは複数のマイクロプロセッサ、またはその他任意のこのような構成）としてインプリメントされ得る。
【０１７６】
[0088]ここで開示された態様に関連して説明された方法、シーケンスおよび／またはアルゴリズムは、直接的にハードウェアにおいて、プロセッサによって実行されるソフトウェアモジュールにおいて、またはこれら２つの組合せにおいて、具現化され得る。ソフトウェアモジュールは、ＲＡＭ、フラッシュメモリ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当該技術分野において周知であるその他任意の形態の記憶媒体内に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、また記憶媒体に情報を書き込み得るように、プロセッサに結合される。代替として、記憶媒体は、プロセッサと一体化され得る。プロセッサおよび記憶媒体は、ＡＳＩＣ内に存在し得る。ＡＳＩＣは、ＩｏＴデバイス内に存在し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末内の個別コンポーネントとして存在し得る。
【０１７７】
[0089]１つまたは複数の例示的な態様では、説明された機能は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せでインプリメントされ得る。ソフトウェアでインプリメントされる場合、これら機能は、コンピュータ可読媒体上で、１つまたは複数の命令またはコードとして送信または記憶され得る。コンピュータ可読媒体は、１つの場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む通信媒体とコンピュータ記憶媒体との両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、このようなコンピュータ可読媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、ＣＤ−ＲＯＭまたは他の光ディスク記憶装置、磁気ディスク記憶装置または他の磁気記憶デバイス、あるいは所望のプログラムコードを命令またはデータ構造の形で記憶するために使用され得、かつコンピュータによってアクセスされ得るその他任意の媒体を備え得る。また、任意の接続は、厳密にはコンピュータ可読媒体と称される。例えば、ソフトウェアが、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波のようなワイヤレス技術を使用して、ウェブサイト、サーバ、または他の遠隔ソースから送信される場合には、同軸ケーブル、光ファイバーケーブル、ツイストペア、ＤＳＬ、または赤外線、無線、およびマイクロ波のようなワイヤレス技術は、媒体の定義に含まれる。ここで使用される場合、ディスク（disk）およびディスク（disc）は、ＣＤ、レーザーディスク、光ディスク、ＤＶＤ、フロッピーディスクおよびブルーレイディスクを含み、ここで、ディスク（disks）は、通常、磁気的に、および／またはレーザーを用いて光学的にデータを再生する。上記の組合せもまた、コンピュータ可読媒体の範囲内に含まれるべきである。
【０１７８】
[0090]前述の開示が本開示の例示的な態様を示している一方で、添付された特許請求の範囲によって定義される本開示の範囲から逸脱することなく、様々な変更および修正が、ここで行われ得ることに留意されたい。ここで説明された本開示の態様による方法の請求項の機能、ステップ、および／またはアクションは、任意の特定の順序で実行されることを必要としない。さらに、本開示の要素は、単数形で説明または特許請求され得るが、単数形に限定することが明記されていない限り、複数形が企図される。
【図１】
2019509475.tif 000051
【図２】
2019509475.tif 000052
【図３】
2019509475.tif 000053
【図４】
2019509475.tif 000054
【図５】
2019509475.tif 000055
【国際調査報告】
2019509475.tif 000056
2019509475.tif 000057
2019509475.tif 000058
2019509475.tif 000059
2019509475.tif 000060
2019509475.tif 000061