(57)【要約】  モバイルデバイス内に位置する加速度計を使用して、ワールド座標系における目標平面上の重力ベクトルを推定する。加速度計は、複数の測定値を得、各測定値は、モバイルデバイスが目標平面上に静止状態に保持され、かつモバイルデバイスの表面が目標平面の平坦部分に面しかつ接触しているときに得られる。前記測定値の平均が算出される。加速度計座標系とモバイルデバイスの座標系との間の回転変換がモバイルデバイス内のメモリから取り込まれ、モバイルデバイスの座標系はモバイルデバイスの表面と整合している。回転変換は、平均測定値に適用され、目標平面によって画定されるワールド座標系における推定された重力ベクトルが得られる。
2016503495.tif 000002
【特許請求の範囲】
【請求項１】
モバイルデバイス内に位置する加速度計を使用して目標平面上の重力ベクトルを推定するための方法であって、
前記モバイルデバイスのプロセッサによって前記加速度計から複数の測定値を受け取るステップであって、前記各測定値が、前記モバイルデバイスが前記目標平面上に静止状態に保持され、かつ前記モバイルデバイスの表面が前記目標平面の平坦部分に面しかつ接触しているときに得られるステップと、
前記測定値の平均を算出するステップと、
前記加速度計の座標系と前記モバイルデバイスの座標系との間の回転変換を前記モバイルデバイス内のメモリから取り込むステップであって、前記モバイルデバイスの前記座標系が前記モバイルデバイスの前記表面と整合しているステップと、
前記回転変換を前記平均に適用して、前記目標平面によって画定されるワールド座標系における推定された重力ベクトルを得るステップとを含む方法。
【請求項２】
前記回転変換は、前記モバイルデバイスを製造する工場または前記モバイルデバイスのユーザによって較正される、請求項1に記載の方法。
【請求項３】
前記測定値の前記平均から前記加速度計のバイアスを排除するステップをさらに含む、請求項1に記載の方法。
【請求項４】
前記回転変換は、加速度計軸と前記モバイルデバイスの前記表面との間の回転行列である、請求項1に記載の方法。
【請求項５】
前記目標平面は水平軸に対して傾斜している、請求項1に記載の方法。
【請求項６】
前記目標平面は水平軸と整合している、請求項1に記載の方法。
【請求項７】
前記モバイルデバイスのユーザに前記目標平面に対する前記重力ベクトルの推定を開始するよう促すステップと、
前記ユーザからのトリガに応答し、かつ前記モバイルデバイスが動いていないことを検出したときに前記加速度計によって測定を開始するステップとをさらに含む、請求項1に記載の方法。
【請求項８】
前記モバイルデバイスの前面と裏面のどちらが前記目標平面と接触して配置されているかに基づいて前記モバイルデバイスの前面または裏面を前記モバイルデバイスの前記座標系を画定する前記表面として選択するステップをさらに含む、請求項1に記載の方法。
【請求項９】
選択するステップは、
前記モバイルデバイスの前記メモリから一方の回転変換を取り込むステップであって、前記メモリ内の前記回転変換が、前記加速度計の座標系と前記モバイルデバイスの前記前面との間の第1の変換と前記加速度計の前記座標系と前記モバイルデバイスの前記裏面との間の第2の変換とを含むステップをさらに含む、請求項8に記載の方法。
【請求項１０】
モバイルデバイスであって、
加速度計と、
前記加速度計の座標系と前記モバイルデバイスの座標系との間の回転変換を記憶するためのメモリと、
前記メモリおよび前記加速度計に結合されたプロセッサであって、
前記加速度計から複数の測定値を受け取ることであって、前記各測定値が、前記モバイルデバイスが目標平面上に静止状態に保持され、かつ前記モバイルデバイスの表面が前記目標平面の平坦部分に面しかつ接触しているときに得られることと、
前記測定値の平均を算出することと、
前記回転変換を前記メモリから取り込むことであって、前記モバイルデバイスの前記座標系が前記モバイルデバイスの前記表面と整合していることと、
前記回転変換を前記平均に適用して、前記目標平面によって画定されるワールド座標系における推定された重力ベクトルを得ることとを行うように構成されたプロセッサとを備えるモバイルデバイス。
【請求項１１】
前記回転変換は、前記モバイルデバイスを製造する工場または前記モバイルデバイスのユーザによって較正される、請求項10に記載のモバイルデバイス。
【請求項１２】
前記プロセッサは、前記測定値の前記平均から前記加速度計のバイアスを排除するようにさらに構成される、請求項10に記載のモバイルデバイス。
【請求項１３】
前記回転変換は、加速度計軸と前記モバイルデバイスの前記表面との間の回転行列である、請求項10に記載のモバイルデバイス。
【請求項１４】
前記モバイルデバイスはモバイル電話である、請求項10に記載のモバイルデバイス。
【請求項１５】
前記モバイルデバイスの前記表面は平坦または凹状である、請求項10に記載のモバイルデバイス。
【請求項１６】
前記プロセッサは、
前記モバイルデバイスのユーザに前記目標平面に対する前記重力ベクトルの推定を開始するよう促すことと、
前記ユーザからのトリガに応答し、かつ前記モバイルデバイスが動いていないことを検出したときに前記加速度計の測定を開始することとを行うようにさらに構成される、請求項10に記載のモバイルデバイス。
【請求項１７】
前記プロセッサは、前記モバイルデバイスの前面と裏面のどちらが目標平面と接触して配置されているかに基づいて、前記モバイルデバイスの前面または裏面を前記モバイルデバイスの前記座標系を画定する前記表面として選択するようにさらに構成される、請求項10に記載のモバイルデバイス。
【請求項１８】
前記メモリは、前記加速度計の前記座標系と前記モバイルデバイスの前記前面との間の第1の変換と前記加速度計の前記座標系と前記モバイルデバイスの前記裏面との間の第2の変換とを含む回転変換を記憶し、前記プロセッサは、前記回転変換のうちの一方を前記モバイルデバイスの前記メモリから取り込むように構成される、請求項17に記載のモバイルデバイス。
【請求項１９】
加速度計から複数の測定値を受け取ることであって、前記各測定値が、モバイルデバイスが目標平面上に静止状態に保持され、かつ前記モバイルデバイスの表面が前記目標平面の平坦部分に面しかつ接触しているときに得られることと、
前記測定値の平均を算出することと、
前記加速度計の座標系と前記モバイルデバイスの座標系との間の回転変換を前記モバイルデバイス内のメモリから取り込むことであって、前記モバイルデバイスの前記座標系が前記モバイルデバイスの前記表面と整合していることと、
前記回転変換を前記平均に適用して、前記目標平面によって画定されるワールド座標系における推定された重力ベクトルを得ることとのためのコードを含む、コンピュータプログラム。
【請求項２０】
前記回転変換は、前記モバイルデバイスを製造する工場または前記モバイルデバイスのユーザによって較正される、請求項19に記載のコンピュータプログラム。
【請求項２１】
前記測定値の前記平均から前記加速度計のバイアスを排除するためのコードをさらに含む、請求項19に記載のコンピュータプログラム。
【請求項２２】
前記回転変換は、加速度計軸と前記モバイルデバイスの前記表面との間の回転行列である、請求項19に記載のコンピュータプログラム。
【請求項２３】
前記目標平面は水平軸に対して傾斜している、請求項19に記載のコンピュータプログラム。
【請求項２４】
前記目標平面は水平軸または垂直軸と整合している、請求項19に記載のコンピュータプログラム。
【請求項２５】
前記モバイルデバイスのユーザに前記目標平面に対する前記重力ベクトルの推定を開始するよう促すことと、
前記ユーザからのトリガに応答し、かつ前記モバイルデバイスが動いていないことを検出したときに前記加速度計によって測定を開始することとのコードをさらに含む、請求項19に記載のコンピュータプログラム。
【請求項２６】
前記モバイルデバイスの前面と裏面のどちらが前記目標平面と接触して配置されているかに基づいて前記モバイルデバイスの前面または裏面を前記モバイルデバイスの前記座標系を画定する前記表面として選択することのためのコードをさらに含む、請求項19に記載のコンピュータプログラム。
【請求項２７】
前記モバイルデバイスの前記メモリから一方の回転変換を取り込むことであって、前記メモリ内の前記回転変換が、前記加速度計の前記座標系と前記モバイルデバイスの前記前面との間の第1の変換と前記加速度計の前記座標系と前記モバイルデバイスの前記裏面との間の第2の変換とを含むことのためのコードをさらに含む、請求項26に記載のコンピュータプログラム。
【請求項２８】
モバイルデバイスであって、
加速度計から複数の測定値を受け取るための手段であって、前記各測定値が、前記モバイルデバイスが目標平面上に静止状態に保持され、かつ前記モバイルデバイスが前記目標平面の平坦部分に面しかつ接触しているときに得られる手段と、
前記測定値の平均を算出するための手段と、
前記加速度計の座標系と前記モバイルデバイスの座標系との間の回転変換を前記モバイルデバイス内のメモリから取り込むための手段であって、前記モバイルデバイスの前記座標系が前記モバイルデバイスの表面と整合している手段と、
前記回転変換を前記平均に適用して、前記目標平面によって画定されるワールド座標系における推定された重力ベクトルを得るための手段とを備えるモバイルデバイス。
【請求項２９】
前記回転変換は、前記モバイルデバイスを製造する工場または前記モバイルデバイスのユーザによって較正される、請求項28に記載のモバイルデバイス。
【請求項３０】
前記測定値の前記平均から前記加速度計のバイアスを排除するための手段をさらに備える、請求項28に記載のモバイルデバイス。
【請求項３１】
前記回転変換は、加速度計軸と前記モバイルデバイスの前記表面との間の回転行列である、請求項28に記載のモバイルデバイス。
【請求項３２】
前記モバイルデバイスがモバイル電話である、請求項28に記載のモバイルデバイス。
【請求項３３】
前記目標平面は水平軸に対して傾斜している、請求項28に記載のモバイルデバイス。
【請求項３４】
前記目標平面は水平軸または垂直軸と整合している、請求項28に記載のモバイルデバイス。
【請求項３５】
前記モバイルデバイスの前記表面は平坦または凹状である、請求項28に記載のモバイルデバイス。
【請求項３６】
前記モバイルデバイスのユーザに前記目標平面に対する前記重力ベクトルの推定を開始するよう促すための手段と、
前記ユーザからのトリガに応答し、かつ前記モバイルデバイスが動いていないことを検出したときに前記加速度計によって測定を開始するための手段とをさらに備える、請求項28に記載のモバイルデバイス。
【請求項３７】
前記モバイルデバイスの前面と裏面のどちらが前記目標平面と接触して配置されているかに基づいて前記モバイルデバイスの前面または裏面を前記モバイルデバイスの前記座標系を画定する前記表面として選択するための手段をさらに備える、請求項28に記載のモバイルデバイス。
【請求項３８】
前記モバイルデバイスの前記メモリから一方の回転変換を取り込むための手段であって、前記メモリ内の前記回転変換が、前記加速度計の座標系と前記モバイルデバイスの前記前面との間の第1の変換と前記加速度計の前記座標系と前記モバイルデバイスの前記裏面との間の第2の変換とを含む手段をさらに備える、請求項37に記載のモバイルデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書で開示する主題は概して、加速度計を使用して重力ベクトルを測定することに関する。
【背景技術】
【０００２】
加速度計(動きセンサとも呼ばれる)は、加速度計が自由落下(または慣性)と相対的に受ける加速度である固有加速度を測定する。固有加速度は、加速度計の基準系にある試験質量が荷重を受ける現象に関連する。加速度計は、試験質量単位当たりの重み、すなわち特定力またはg力としても知られる量を測定する。概念的に、加速度計はばね上の減衰させた質量として振る舞う。加速度計が加速度を受けると、試験質量の位置が基準系に対して変位される。変位が測定され加速度が求められる。
【０００３】
ジャイロスコープ(回転センサとも呼ばれる)は、慣性基準系におけるシステムの角速度を測定する。慣性基準系におけるシステムの元の向きを初期条件として使用し、角速度を積分することによって、システムの現在の向きを知ることができる。概念的に、ジャイロスコープは、角運動量の保存の原則に基づいて向きを維持するスピニングロータである。この現象は、航空機および宇宙船におけるコンパスおよびスタビライザなどの多くのアプリケーションにおいて向きを測定し維持するのに使用することができる。
【０００４】
加速度計およびジャイロスコープは、様々な家庭用電子機器に組み込まれている。加速度計およびジャイロスコープを組み込むと、より正確でロバストな拡張現実(AR)アプリケーション、同時自己位置推定および地図作成(SLAM)アプリケーション、コンピュータビジョンアプリケーション、ナビゲーションアプリケーション、安定性制御アプリケーション、および広範囲の他のアプリケーションを実現することができる。
【０００５】
上記のアプリケーションのうちの多く、たとえば、ARアプリケーションおよびコンピュータビジョンアプリケーションに関して、仮定されることの1つとして、目標座標系における重力ベクトルは既知である。目標座標系の一例は、AR目標が表示される座標系である。しかし、この重力ベクトルは一般に、実際には既知ではなく、一般にARアプリケーションまたはSLAMアプリケーションなどのアプリケーションによる要求に応じて測定される。測定値の精度要件はかなり高く(たとえば、1度未満)、そうでない場合、測定値は使用不能である。精度が高いほど、アプリケーションの性能が高くなるかまたは使用事例の要求水準が高くなる。目標座標系における重力ベクトルを測定するための既存の加速度計支援技法は一般に、複数の変換ステップにおいて、各ステップがエラーをもたらしエラーが蓄積するので精度が低くなる。
【発明の概要】
【課題を解決するための手段】
【０００６】
モバイルデバイス内に位置する加速度計を使用して、ワールド座標系における目標平面上の重力ベクトルを推定する。一実施形態では、モバイルデバイスのプロセッサが複数の測定値を加速度計から受け取る。各測定値は、モバイルデバイスが目標平面上に静止状態に保持され、かつモバイルデバイスの表面が目標平面の平坦部分に面しかつ接触しているときに得られる。プロセッサは、測定値の平均を算出し、加速度計座標系とデバイス座標系との間の回転変換をモバイルデバイス内のメモリから取り込み、デバイス座標系はモバイルデバイスの表面と整合している。回転変換は、平均測定値に適用され、目標平面によって画定されるワールド座標系における推定された重力ベクトルが得られる。
【０００７】
別の実施形態では、モバイルデバイスは、加速度計と、加速度計の座標系とモバイルデバイスの座標系との間の回転変換を記憶するためのメモリと、メモリおよび加速度計に結合されたプロセッサとを備える。プロセッサは、複数の測定値を加速度計から受け取ることであって、各測定値が、モバイルデバイスが目標平面上に静止状態に保持され、かつモバイルデバイスの表面が目標平面の平坦部分に面しかつ接触しているときに得られることと、回転変換をメモリから取り込むことであって、モバイルデバイスの座標系がモバイルデバイスの表面と整合していることと、回転変換を平均に適用して目標平面によって画定されるワールド座標系における推定された重力ベクトルを得ることとを行うように構成される。
【０００８】
別の実施形態では、コンピュータプログラム製品は、複数の測定値を加速度計から受け取ることであって、各測定値が、モバイルデバイスが目標平面上に静止状態に保持され、かつモバイルデバイスの表面が、目標平面の平坦部分に面しかつ接触しているときに得られることと、測定値の平均を算出することと、加速度計の座標系とモバイルデバイスの座標系との間の回転変換をモバイルデバイス内のメモリから取り込むことであって、モバイルデバイスの座標系がモバイルデバイスの表面と整合していることと、回転変換を平均に適用して目標平面によって画定されるワールド座標系における推定された重力ベクトルを得ることとのためのコードを含むコンピュータ可読媒体を備える。
【０００９】
また別の実施形態では、モバイルデバイスは、複数の測定値を加速度計から受け取るための手段であって、各測定値が、モバイルデバイスが目標平面上に静止状態に保持され、かつモバイルデバイスの表面が目標平面の平坦部分に面しかつ接触しているときに得られる手段と、測定値の平均を算出するための手段と、加速度計の座標系とモバイルデバイスの座標系との間の回転変換をモバイルデバイス内のメモリから取り込むための手段であって、モバイルデバイスの座標系がモバイルデバイスの表面と整合している手段と、回転変換を平均に適用して目標平面によって画定されるワールド座標系における推定された重力ベクトルを得るための手段とを備える。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施形態を実施できるモバイルデバイスのブロック図である。
【図２Ａ】図1のモバイルデバイスの側面の例を示す図である。
【図２Ｂ】図1のモバイルデバイスの側面の例を示す図である。
【図３Ａ】重力ベクトルが推定される目標平面の例を示す図である。
【図３Ｂ】重力ベクトルが推定される目標平面の例を示す図である。
【図３Ｃ】重力ベクトルが推定される目標平面の例を示す図である。
【図３Ｄ】重力ベクトルが推定される目標平面の例を示す図である。
【図４】一実施形態によるモバイルデバイス内の加速度計を使用してワールド座標系における重力ベクトルを推定するための方法を示す流れ図である。
【発明を実施するための形態】
【００１１】
「例示的」または「例」という単語は、本明細書では「例、事例、または例示の働きをすること」を意味するために使用される。「例示的」もしくは「例」として本明細書に記載される任意の態様または実施形態は、他の態様もしくは実施形態に比べて好ましいか、または有利であると必ずしも解釈されるべきではない。
【００１２】
本発明の実施形態は、モバイル電話などのモバイルデバイス内の加速度計を使用して目標平面に対する重力ベクトルを推定する方法を提供する。ARアプリケーションでは、目標平面は、AR目標が表示される特徴平面である。目標平面は、任意の向きを有してよく、たとえば、目標平面は、水平軸と整合しても、または垂直軸と整合しても、または水平軸もしくは垂直軸に対して傾斜してもよい。この目標平面は、ARアプリケーション向けのワールド座標系を画定する。モバイルデバイスは、ワールド座標系における重力ベクトルを推定または測定するための好都合なツールとして働くことができる。本明細書で説明する推定技法がARアプリケーションに限定されず、目標平面が、重力ベクトルが未知でありかつ測定する必要がある平面であり得る広範囲のアプリケーションに適用可能である。
【００１３】
本明細書で使用する「ワールド座標系」、「追跡座標系」、または「目標座標系」という用語は、目標平面によって画定される2-D座標平面を有する座標系を指す。すなわち、ワールド座標系のx-y(またはx-zまたはy-z)座標平面は目標平面に平行である。「加速度計座標系」という用語は、モバイルデバイス内の加速度計の座標系を指す。「デバイス座標系」または「表面座標系」という用語は、モバイルデバイスの表面によって画定される2-D座標平面を有する座標系を指す。一実施形態では、モバイルデバイスは、モバイルデバイスの一表面(前面または裏面のいずれか)によって画定される1つのデバイス座標系のみを有してよい。この表面は、モバイルデバイスの「座標面」と呼ばれる。前面が裏面と平行であるモバイルデバイスでは、モバイルデバイスの前面と裏面はどちらも座標面であってよい。モバイルデバイスの前面が裏面と平行ではない場合、デバイス座標系を画定するモバイルデバイスの一方の表面(前面または裏面のいずれか)のみが座標面である。別の実施形態では、モバイルデバイスは、2つのデバイス座標系を有し、一方のデバイス座標系が前面によって画定され、他方のデバイス座標系が裏面によって画定されてよい。モバイルデバイスは、前面または裏面のいずれかを座標面として選択してよい。一実施形態では、モバイルデバイスは、前面または裏面と整合するための2つの回転変換のうちの一方をメモリから取り込むことであって、2つの回転変換が、加速度計の座標系とモバイルデバイスの前面との間の第1の変換と加速度計の座標系とモバイルデバイスの裏面との間の第2の変換とを含むことを行うように構成されてよい。
【００１４】
一実施形態では、ユーザは、モバイルデバイスの座標面を、目標平面と平行になるように目標平面上にしっかりと配置する。モバイルデバイスがしっかりと配置され静止した後、モバイルデバイス内の加速度計が1回または複数回の測定を行う。各測定値は、加速度計座標系における測定された重力ベクトルである。デバイス座標系と加速度計座標系との間の回転変換が既知である場合、モバイルデバイス内の変換エンジンが重力測定値を加速度計座標系からデバイス座標系に変換してよい。モバイルデバイスの座標面が目標平面と平行であるとき、デバイス座標系における重力測定値はワールド座標系における重力測定値と同じである。重力測定値は、ある時間窓にわたって平均され、ワールド座標系における目標平面に対する重力ベクトルの正確な推定値が得られる。
【００１５】
ワールド座標系において測定された重力ベクトルは、ARアプリケーション、SLAMアプリケーション、および様々な他のアプリケーションに使用されてよい。一実施形態では、加速度計は、加速度計の座標系がモバイルデバイスの表面と整合するように工場較正済みである。ユーザが実行する較正などの他の較正技法を使用してもよい。整合結果は回転変換であり、この回転変換をモバイルデバイスのメモリに記憶してよい。したがって、モバイルデバイスを一旦整合させ(較正し)てよく、整合結果がその後の測定において使用されてよい。
【００１６】
図1は、本発明の実施形態が実施され得るシステムを示すブロック図である。システムは、プロセッサ110と、メモリ120と、インターフェース160と、加速度計130およびジャイロスコープ140などの1つまたは複数のセンサとを含んでよいモバイルデバイス100であってよい。一実施形態では、モバイルデバイス100は加速度計130とジャイロスコープ140の両方を含んでよく、代替実施形態では、モバイルデバイス100は加速度計130のみを含んでよい。モバイルデバイス100は、ディスプレイデバイス、ユーザインターフェース(たとえば、キーボード、タッチスクリーンなど)、電源デバイス(たとえば、バッテリー)、ならびに通常、モバイル通信デバイスに関連する他の構成要素を含むことができることを諒解されたい。たとえば、インターフェース160は、ワイヤレスリンクを介してワイヤレスネットワークに/からワイヤレス信号を送信および受信するワイヤレストランシーバであり得るか、またはネットワーク(たとえば、インターネット)への直接接続用の有線インターフェースであり得る。したがって、モバイルデバイス100は、モバイルフォン(たとえば、携帯電話、スマートフォンなど)、携帯情報端末、モバイルコンピュータ、タブレット、パーソナルコンピュータ、ラップトップコンピュータ、電子リーダー、または動き検知機能および/または回転検知機能を有する任意の種類のモバイルデバイスであってよい。
【００１７】
一実施形態では、プロセッサ110は、ハードウェア、ファームウェア、ソフトウェア、またはこれらの任意の組合せで実装されてよい変換エンジン115を含んでよい。一実施形態では、プロセッサ110は、記憶された回転変換をメモリ120から取り込む変換エンジン115の動作を実行するための命令を実行するように構成された汎用プロセッサまたは専用プロセッサであってよく、回転変換は、加速度計座標系における加速度測定値をデバイス座標系における対応するベクトルに変換する。変換エンジン115は、以下で説明するプロセスにおいてワールド座標系の重力ベクトルを算出するために回転変換を加速度測定値に適用してよい。
【００１８】
メモリ120は、プロセッサ110によって実施される命令を記憶するために、プロセッサ110に結合され得る。メモリ120は、加速度計座標系とデバイス座標系との間の回転変換を含むデバイスプロファイル121を記憶してよい。モバイルデバイス100がモバイルデバイス自体の表面のうちの1つを座標面として選択し得る実施形態では、メモリ120は、2つ以上の回転変換、たとえば、前面用のある回転変換と裏面用の別の回転変換とを記憶してよい。本発明の実施形態によれば、モバイルデバイスのデバイスプロファイル121は、モバイルデバイス上の測定スケール、センサのクロストーク、およびセンサとカメラとの間の整合、もしあればセンサバイアスなどの他のセンサ較正パラメータを有する回転変換を記憶してよい。
【００１９】
後述するように、本発明の実施形態は、モバイルデバイス100のプロセッサ110および/またはモバイルデバイス100の他の回路および/または他のデバイスによる命令の実行とともに実装可能であることを諒解されたい。詳細には、モバイルデバイス100の回路は、プロセッサ110を含むがこれに限定されず、プログラムの制御、ルーチン、または本発明の実施形態による方法もしくはプロセスを実行するための命令の実行の下で動作し得る。たとえば、そのようなプログラムは、(たとえば、メモリ120および/または他の位置に記憶されている)ファームウェアまたはソフトウェア内で実装可能であり、プロセッサ、たとえばプロセッサ110、および/またはモバイルデバイス100の他の回路によって実装可能である。さらに、プロセッサ、マイクロプロセッサ、回路、コントローラなどの用語は、論理、コマンド、命令、ソフトウェア、ファームウェア、機能などを実行することが可能な任意のタイプの論理または回路を指すことを諒解されたい。
【００２０】
図2Aは、一実施形態によるモバイルデバイス100の側面図である。モバイルデバイス100は、図2Aを見るとわかるように、頂面と底面とを有し、底面はモバイルデバイス100の前側または裏側であってよい。図2Aは、デバイス座標系182が底面と平行なx-y座標面を有することを示す。したがって、底面は、モバイルデバイス100の座標面170であり、すなわち、デバイス座標系182が整合する表面である。この座標面170は、ワールド座標系を画定する目標平面180上に配置される。
【００２１】
図2Bは、別の実施形態によるモバイルデバイス100の側面図である。モバイルデバイス100は、図2Bを見るとわかるように、凹状底面を有し、凹状底面はモバイルデバイス100の前側または裏側のいずれかであってよい。凹状底面の凸状体は平坦面175を画定する。図2Bは、デバイス座標系182のx-y座標面が平坦面175に平行であることを示す。したがって、平坦面175は、モバイルデバイス100の座標面であり、すなわち、デバイス座標系182が整合する表面である。この座標面は、ワールド座標系を画定する目標平面180上に配置される。
【００２２】
モバイルデバイス100がモバイルデバイス自体の前面または裏面を座標面として選択することができる実施形態では、選択は、モバイルデバイス100のどちらの表面が目標平面180と接触して配置されているかに基づく。デバイス座標系182は選択に基づいて画定される。選択が行われた後、モバイルデバイス100は、デバイス座標系182の対応する回転変換を取り込んでよい。
【００２３】
加速度計130は、加速度計130自体が静止しているときに重力ベクトルを測定する。加速度計座標系183は、すべての加速度計測定値が位置する座標系である。加速度計座標系183は必ずしもデバイス座標系182と整合するとは限らない。加速度計座標系183とデバイス座標系182は、表面座標系182のx-y平面が加速度計座標系183のax-ay平面と整合しないときにはずれている。本明細書で説明するずれは回転ずれである。回転ずれは、モバイルデバイス100を製造する工場またはユーザ較正プロセスを実行するユーザによって較正されてよい。較正結果は、図1のメモリ120に記憶された回転変換である。一実施形態では、回転変換は回転行列の形態である。回転変換は、加速度測定値を加速度計座標系183からデバイス座標系182に変換する。加速度計座標系183がデバイス座標系182と整合する場合、回転行列は単位行列であり、変換は必要とされない。
【００２４】
重力ベクトルgは、海抜で測定された9.81m/s2に等しく、真下の地球中心を指し示す。重力ベクトルgは、真下の地球中心を指し示すz軸を有する座標系における[0, 0, 9.81]によって表されてよい。加速度計130によって測定される重力ベクトルはg'であり、重力ベクトルgと同じベクトル長(海抜で測定された9.81m/s2)を有するが、加速度計130の向きおよび較正エラーに起因してgの回転バージョンである場合がある。たとえば、測定される重力ベクトルg'は、加速度計座標系183における[5, 2.69, 8]であってよい。加速度計座標系183とデバイス座標系182が整合している場合、デバイス座標系182内の重力ベクトルもg'である。しかしながら、加速度計座標系183とデバイス座標系182がずれている場合、デバイス座標系182内の重力ベクトルg"は、g'から3-Dユークリッドフレームにおけるある角度だけさらに回転される。モバイルデバイス100に記憶された回転変換はg'からg"への変換である。測定された重力ベクトルの長さが9.81よりも大きい場合、重力測定値にバイアスが存在する。重力測定値からバイアスをなくすための技法は、バイアスの量が少ないときに(たとえば、+/-3度、この領域では正弦および余弦が直線によって近似されるため)正確な結果をもたらす拡張カルマンフィルタを含む。代替フィルタリング技法を使用してもよい。
【００２５】
図3A〜図3Dは、水平軸に対して傾斜した向き(図3Aおよび図3B)、垂直な向き(図3C)、および水平な向き(図3D)など、様々に異なる向きを有する目標平面210〜240の例を示す。各目標平面210〜240は、モバイルデバイス100に面する平坦面を有するか、またはモバイルデバイス100に面する表面の部分が平坦である。ユーザは、目標平面210〜240に対する重力ベクトルを推定するために、モバイルデバイス100を目標平面の平坦面上に動かないようにしっかりと保持してよい。加速度計130は次いで、モバイルデバイス100が静止して動かない状態である間に測定を行ってよい。目標平面210〜240に面するモバイルデバイス100の表面は、モバイルデバイス100の座標面(たとえば、図2Aおよび図2Bの表面170または175)、すなわち、デバイス座標系182と整合するモバイルデバイスの表面である。この座標面(170または175)は、加速度計130が測定を行うときに目標平面210〜240の平坦面と平行に保持される。
【００２６】
図4は、重力ベクトルを推定するための方法400の実施形態を示す図である。一実施形態では、方法400は、加速度計130の測定値を使用して、図1Aのプロセッサ110などのモバイルデバイスによって実行される。一実施形態では、方法400は、ハードウェア、ソフトウェア、ファームウェア、またはこれらの任意の組合せによって実行されてよい。
【００２７】
一実施形態では、モバイルデバイスのプロセッサが、モバイルデバイス内に位置する加速度計から複数の測定値を受け取る(ブロック401)。各測定値は、モバイルデバイスが目標平面上に静止状態に保持され、かつモバイルデバイスの表面が目標平面の平坦部分に面しかつ接触しているときに得られる。プロセッサは、測定値の平均を算出し(ブロック402)、加速度計座標系とデバイス座標系との間の回転変換をモバイルデバイス内のメモリから取り込み(ブロック403)、この場合、デバイス座標系はモバイルデバイスの表面と整合している。加速度計バイアスがもしあれば、測定値の平均から排除する。回転変換は、(バイアスが排除された)平均測定値に適用され、目標平面によって画定されるワールド座標系における推定された重力ベクトルが得られる(ブロック404)。
【００２８】
一実施形態では、モバイルデバイス100は、ユーザにデバイスを目標平面上に配置して目標平面に対する重力ベクトルの推定を開始するよう促すアプリケーションを実行してよい。アプリケーションは、加速度計130に、ユーザからのトリガを受け取ったとき、および/またはデバイスが静止していることを加速度計130が検知したときに測定を複数回行うよう指示する命令を含んでよい。アプリケーションは、方法400に従って回転変換を測定値に適用した後、ワールド座標系において推定された重力ベクトルを使用して、ARアプリケーション、SLAMアプリケーション、またはアクセラレータ(およびジャイロスコープ)支援AR、SLAMにおける地図作成、SLAMにおけるダイナミックオブジェクトハンドリング、SLAM地図の水平座標系への整合などの他の目的の追加のパラメータを算出する。
【００２９】
たとえば、ユーザが世界(すなわち、目標平面)に対するモバイルデバイス100の位置を特定したいとき、モバイルデバイス100が算出し得る1つの追加のパラメータは、ワールド座標系におけるモバイルデバイス100の位置ベクトルである。位置ベクトルは、モバイルデバイス100がワールド座標系の原点からどれだけ離れているか、モバイルデバイス100がどの方向に移動しているかを示す。位置ベクトルは、モバイルデバイス100が移動している間加速度計130を使用して算出されてよい。ワールド座標系におけるモバイルデバイス100の加速度は、加速度計130によって測定された重力ベクトルから目標平面に対する重力ベクトルを減算することによって加速度計測定値から抽出されてよい。モバイルデバイス100の速度は、加速度を経時的に積分することによって得ることができ、モバイルデバイス100の位置ベクトルは、速度を経時的に積分することによって得ることができる。モバイルデバイス100の向きは、モバイルデバイス100の角回転を追跡するモバイルデバイス100内のジャイロスコープ140によって測定することができる。
【００３０】
上記で説明したモバイルデバイス100は、ワイヤレスモバイルデバイスである場合、任意の適切なワイヤレス通信技術に基づくか、または場合によってはそれをサポートするワイヤレスネットワークにより、1つまたは複数のワイヤレス通信リンクを介して通信することができることを諒解されたい。たとえば、いくつかの態様では、コンピューティングデバイスまたはサーバは、ワイヤレスネットワークを含むネットワークと関連付けることができる。いくつかの態様では、ネットワークは、ボディエリアネットワークまたはパーソナルエリアネットワーク(たとえば、超広帯域ネットワーク)を備えることができる。いくつかの態様では、ネットワークは、ローカルエリアネットワークまたはワイドエリアネットワークを備えることができる。ワイヤレスデバイスは、たとえばCDMA、TDMA、OFDM、OFDMA、WiMAX、およびWi-Fiなどの多種多様なワイヤレス通信技術、プロトコル、または規格のうちの1つまたは複数をサポートするか、または場合によっては使用することができる。同様に、ワイヤレスデバイスは、様々な対応する変調または多重化方式のうちの1つまたは複数をサポートするか、または場合によっては使用することができる。したがって、ワイヤレスデバイスは、上記または他のワイヤレス通信技術を使用して、1つまたは複数のワイヤレス通信リンクを確立し、それを介して通信するのに適した構成要素(たとえばエアインターフェース)を含むことができる。たとえば、デバイスは、ワイヤレス媒体を介した通信を容易にする様々な構成要素(たとえば、信号発生器および信号処理器)を含むことができる、関連する送信機および受信機の構成要素(たとえば、送信機および受信機)を有するワイヤレストランシーバを備えることができる。よく知られているように、モバイルワイヤレスデバイスは、したがって、他のモバイルデバイス、携帯電話、他の有線およびワイヤレスのコンピュータ、インターネットウェブサイトなどとワイヤレスに通信することができる。
【００３１】
本明細書に記載された技法は、符号分割多元接続(CDMA)、時分割多元接続(TDMA)、周波数分割多元接続(FDMA)、直交周波数分割多元接続(OFDMA)、シングルキャリアFDMA(SC-FDMA)および他のシステムなどの様々なワイヤレス通信システムに使用することができる。「システム」および「ネットワーク」という用語は、しばしば互換的に使用される。CDMAシステムは、ユニバーサル地上無線アクセス(UTRA)、CDMA2000などの無線技術を実装することができる。UTRAは、Wideband-CDMA(W-CDMA)およびCDMAの他の変形形態を含む。CDMA2000は、暫定規格である(IS)-2000規格、IS-95規格、およびIS-856規格を包含する。TDMAシステムは、モバイル通信用グローバルシステム(GSM（登録商標）)などの無線技術を実装することができる。OFDMAシステムは、発展型ユニバーサル地上無線アクセス(Evolved UTRAまたはE-UTRA)、ウルトラモバイルブロードバンド(UMB)、電気電子技術者協会(IEEE)802.11(Wi-Fi)、IEEE802.16(WiMAX)、IEEE802.20、Flash-OFDM(登録商標)などの無線技術を実装することができる。ユニバーサル地上無線アクセス(UTRA)およびE-UTRAは、ユニバーサルモバイル電気通信システム(UMTS)の一部である。3GPPロングタームエボリューション(LTE)は、ダウンリンクにOFDMAを採用し、アップリンクにSC-FDMAを採用する、E-UTRAを使用するUMTSの近く公開されるリリースである。UTRA、E-UTRA、UMTS、LTE、およびGSM（登録商標）は、「第3世代パートナーシッププロジェクト」(3GPP)という名称の組織からの文書に記述されている。CDMA2000およびUMBは、「第3世代パートナーシッププロジェクト2」(3GPP2)という名称の組織からの文書に記述されている。
【００３２】
本明細書で説明する技法は、様々なモバイル装置(たとえば、デバイス)に組み込む(たとえば、それらの装置内に実装するか、またはそれらの装置によって実行する)ことができる。たとえば、本明細書で教示された1つまたは複数の態様は、電話(たとえば、携帯電話)、携帯情報端末(「PDA」)、タブレット、モバイルコンピュータ、ラップトップコンピュータ、タブレット、エンターテインメントデバイス(たとえば、音楽デバイスもしくはビデオデバイス)、ヘッドセット(たとえば、ヘッドフォン、イヤピースなど)、医療用デバイス(たとえば、生体センサ、心拍数モニタ、歩数計、EKGデバイスなど)、ユーザI/Oデバイス、POSデバイス、エンターテインメントデバイス、または任意の他の適切なデバイスに組み込むことができる。これらのデバイスは、様々に異なる電力要件およびデータ要件を有する場合がある。
【００３３】
情報および信号が様々な異なる技術および技法のいずれかを使用して表され得ることを当業者は理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【００３４】
当業者は、本明細書に開示される実施形態に関連して説明される様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムステップが、電子ハードウェア、コンピュータソフトウェア、または両方の組合せとして実装され得ることをさらに諒解されよう。ハードウェアおよびソフトウェアのこの互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップを、上記では概してそれらの機能性に関して説明した。そのような機能がハードウェアとして実装されるか、またはソフトウェアとして実装されるかは、具体的な適用例および全体的なシステムに課される設計制約に依存する。当業者は、説明された機能を具体的な適用例ごとに様々な方法で実装することができるが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈されるべきではない。
【００３５】
本明細書に開示される実施形態に関連して説明される様々な例示的な論理ブロック、モジュール、および回路は、汎用プロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別のゲートもしくはトランジスタ論理、個別のハードウェア構成要素、または本明細書に説明される機能を実行するように設計されているそれらの任意の組合せを用いて実装または実行され得る。汎用プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPおよびマイクロプロセッサの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つもしくは複数のマイクロプロセッサ、または任意の他のそのような構成として実装され得る。
【００３６】
本明細書に開示される実施形態に関連して説明される方法またはアルゴリズムのステップは、直接ハードウェアで具現化されるか、プロセッサによって実行されるソフトウェアモジュールで具現化されるか、またはその2つの組合せで具現化され得る。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または当技術分野で知られている任意の他の形態の記憶媒体中に常駐し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、かつ記憶媒体に情報を書き込むことができるようにプロセッサに結合される。代替として、記憶媒体は、プロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC中に存在し得る。ASICはユーザ端末内に存在し得る。代替として、プロセッサおよび記憶媒体は、ユーザ端末中に個別構成要素として存在し得る。
【００３７】
1つまたは複数の例示的な実施形態では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装され得る。コンピュータプログラム製品としてソフトウェアに実装された場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体を介して送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセス可能である任意の入手可能な媒体とすることができる。例として、限定はしないが、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROMもしくは他の光ディスク記憶装置、磁気ディスク記憶装置もしくは他の磁気記憶デバイス、または、命令またはデータ構造の形態の所望のプログラムコードを搬送または記憶するために用いることができ、コンピュータによってアクセス可能である、任意の他の媒体を含むことができる。また、当然、あらゆる接続がコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者回線(DSL)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用して、ウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(CD)、レーザーディスク（登録商標）、光ディスク、デジタル多用途ディスク(DVD)、フロッピー（登録商標）ディスク、およびブルーレイディスクを含み、ディスク(disk)は、通常、磁気的にデータを再生し、ディスク(disc)は、レーザーで光学的にデータを再生する。上記の組合せもコンピュータ可読媒体の範囲内に含めるべきである。
【００３８】
開示される実施形態の上記の説明は、いかなる当業者も本発明を作製または使用できるようにするために提供される。これらの実施形態への様々な修正が当業者には容易に明らかになり、本明細書で定義する一般原理は、本発明の趣旨または範囲を逸脱することなしに他の実施形態に適用され得る。したがって、本発明は、本明細書に示される実施形態に限定されるものではなく、本明細書において開示される原理および新規の特徴に矛盾しない最も広い範囲を与えられるべきである。
【符号の説明】
【００３９】
100  モバイルデバイス
110  プロセッサ
115  変換エンジン
120  メモリ
121  デバイスプロファイル
130  加速度計
140  ジャイロスコープ
160  インターフェース
170  座標面
175  平坦面
180  目標平面
182  デバイス座標系
183  加速度計座標系
210  平面
220  平面
230  平面
240  平面
【図１】
2016503495.tif 000003
【図２Ａ】
2016503495.tif 000004
【図２Ｂ】
2016503495.tif 000005
【図３Ａ】
2016503495.tif 000006
【図３Ｂ】
2016503495.tif 000007
【図３Ｃ】
2016503495.tif 000008
【図３Ｄ】
2016503495.tif 000009
【図４】
2016503495.tif 000010
【国際調査報告】
2016503495.tif 000011
2016503495.tif 000012
2016503495.tif 000013