特開2017-187506(P2017-187506A)IP Force 特許公報掲載プロジェクト 2015.5.11 β版

知財求人

▶ ヤフー株式会社の特許一覧
特開2017-187506推定装置、移動方向推定方法及び移動方向推定プログラム
<>
  • 特開2017187506-推定装置、移動方向推定方法及び移動方向推定プログラム 図000040
  • 特開2017187506-推定装置、移動方向推定方法及び移動方向推定プログラム 図000041
  • 特開2017187506-推定装置、移動方向推定方法及び移動方向推定プログラム 図000042
  • 特開2017187506-推定装置、移動方向推定方法及び移動方向推定プログラム 図000043
  • 特開2017187506-推定装置、移動方向推定方法及び移動方向推定プログラム 図000044
  • 特開2017187506-推定装置、移動方向推定方法及び移動方向推定プログラム 図000045
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】特開2017-187506(P2017-187506A)
(43)【公開日】2017年10月12日
(54)【発明の名称】推定装置、移動方向推定方法及び移動方向推定プログラム
(51)【国際特許分類】
   G01P 13/00 20060101AFI20170919BHJP
【FI】
   G01P13/00 E
【審査請求】未請求
【請求項の数】17
【出願形態】OL
【全頁数】22
(21)【出願番号】特願2017-132320(P2017-132320)
(22)【出願日】2017年7月5日
(62)【分割の表示】特願2015-132015(P2015-132015)の分割
【原出願日】2015年6月30日
(71)【出願人】
【識別番号】500257300
【氏名又は名称】ヤフー株式会社
【住所又は居所】東京都千代田区紀尾井町1番3号
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】浅見 宗広
【住所又は居所】東京都千代田区紀尾井町1番3号 ヤフー株式会社内
【テーマコード(参考)】
2F034
【Fターム(参考)】
2F034AA16
2F034AB04
2F034AB05
2F034AC10
(57)【要約】
【課題】設置姿勢を容易に特定し、車両の進行方向を精度良く推定すること。
【解決手段】本願に係る推定装置は、加速度を検出する検出部と、所定の状態で前記検出部が検出した加速度の平均値を用いて、重力方向を特定する特定部と、前記検出部が検出した加速度から、前記特定部が特定した重力方向に対して垂直な平面上における加速度のばらつきを算出し、当該算出したばらつきに基づいて端末装置の移動方向を推定する推定部とを有することを特徴とする。
【選択図】図1
【特許請求の範囲】
【請求項1】
加速度を検出する検出部と、
所定の状態で前記検出部が検出した加速度の平均値を用いて、重力方向を特定する特定部と、
前記検出部が検出した加速度から、前記特定部が特定した重力方向に対して垂直な平面上における加速度のばらつきを算出し、当該算出したばらつきに基づいて端末装置の移動方向を推定する推定部と
を有することを特徴とする推定装置。
【請求項2】
前記特定部は、前記所定の状態として、前記端末装置が移動していない状態で前記検出部が検出した加速度の平均値を用いて、前記重力方向を特定することを特徴とする請求項1に記載の推定装置。
【請求項3】
前記推定部は、前記検出部が重力加速度を検出した方向を所定の軸方向に一致させる回転式を用いて、前記検出部が検出した加速度を前記重力加速度の方向に基づく移動方向の加速度に変換し、当該変換後の加速度を用いて、前記移動方向を推定することを特徴とする請求項1または2に記載の推定装置。
【請求項4】
前記推定部は、前記重力方向に対して垂直な平面を基準とした移動方向を推定することを特徴とする請求項1〜3のいずれか1つに記載の推定装置。
【請求項5】
前記推定部は、前記検出部が検出した加速度のうち、前記重力方向に対して垂直な平面上の加速度を用いて、前記移動方向を推定することを特徴とする請求項4に記載の推定装置。
【請求項6】
前記推定部は、前記重力方向に対して垂直な平面上の方向であって、前記移動方向に対して垂直な方向に対する加速度に基づいて、前記端末装置の移動方向の変化を検出することを特徴とする請求項5に記載の推定装置。
【請求項7】
前記推定部は、前記重力方向に対して垂直な平面上における加速度のばらつきを算出し、当該算出したばらつきが最大となる方向を前記移動方向と推定することを特徴とする請求項1〜6のいずれか1つに記載の推定装置。
【請求項8】
前記検出部は、所定の時間が経過するまでの間に検出された複数の加速度の値の平均値、または、連続して検出された所定の数の加速度の値の平均値を算出し、当該算出した平均値を、検出された加速度の平均値の値として出力することを特徴とする請求項1〜7のいずれか1つに記載の推定装置。
【請求項9】
前記検出部が検出した加速度の値が有する特徴に基づいて、前記端末装置が移動しているか否かを判定する判定部
をさらに有し、
前記特定部は、前記端末装置が移動していないと前記判定部が判定した際に前記検出部が検出した加速度の平均値を用いて、前記重力方向を特定することを特徴とする請求項1〜8のいずれか1つに記載の推定装置。
【請求項10】
前記判定部は、端末装置が移動している間、および、移動していない間に測定された加速度の値が有する特徴を学習したサポートベクトルマシンを用いて、前記端末装置が移動しているか否かを判定することを特徴とする請求項9に記載の推定装置。
【請求項11】
前記推定部が推定した移動方向への移動速度を算出する算出部
をさらに有することを特徴とする請求項1〜10のいずれか1つに記載の推定装置。
【請求項12】
前記算出部は、前記推定部が推定した移動方向における加速度の積分値を、当該移動方向への移動速度とすることを特徴とする請求項11に記載の推定装置。
【請求項13】
前記算出部は、前記端末装置が移動していない場合は、前記加速度の積分値を零に補正することを特徴とする請求項12に記載の推定装置。
【請求項14】
前記算出部は、前記端末装置が移動を開始してから停止するまでの間に検出された加速度の積分値が零となるように、前記検出部が検出した加速度の値を補正することを特徴とする請求項11〜13のいずれか1つに記載の推定装置。
【請求項15】
前記算出部は、前記加速度の積分値が、衛星からの信号に基づいて算出された前記端末装置の移動速度と一致するように、前記検出部が検出した加速度の値を補正することを特徴とする請求項11〜14のいずれか1つに記載の推定装置。
【請求項16】
端末装置が実行する移動方向推定方法であって、
所定の状態で検出された加速度の平均値を用いて、重力方向を特定する特定工程と、
前記検出された加速度から、前記特定工程で特定された重力方向に対して垂直な平面上における加速度のばらつきを算出し、当該算出したばらつきに基づいて端末装置の移動方向を推定する推定工程と
を含むことを特徴とする移動方向推定方法。
【請求項17】
コンピュータに、
所定の状態で検出された加速度の平均値を用いて、重力方向を特定する特定手順と、
前記検出された加速度から、前記特定手順で特定された重力方向に対して垂直な平面上における加速度のばらつきを算出し、当該算出したばらつきに基づいて端末装置の移動方向を推定する推定手順と
を実行させることを特徴とする移動方向推定プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、推定装置、移動方向推定方法及び移動方向推定プログラムに関する。
【背景技術】
【0002】
従来、スマートフォン等の持ち運び可能な端末装置を用いて、利用者が乗車している車両を目的地まで案内するカーナビゲーション(以下、「案内」ともいう)の技術が知られている。このような案内を行う端末装置は、GPS(Global Positioning System)等の衛星測位システムを用いて、車両の現在地を特定し、地図や誘導経路を示す画面と特定した現在地とを重ね合わせて表示する。
【0003】
一方、端末装置は、トンネル内等の衛星からの信号が受信しづらい場所では、現在地を表示できなくなる。同じ課題は、GPSに限らず、外来の信号(例えば、携帯電話(セルラー)基地局からの電波や無線LAN電波、ほか)を用いた測位全般に共通する。そこで、車両の移動方向と速度とに基づいて、車両の現在地を推定する手法が考えられる。例えば、加速度計を有する装置を所定の姿勢で車両内に固定し、装置が検出した加速度から車両の進行方向を特定する手法が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平11−248455号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、スマートフォン等の端末装置は、利用者が乗車した車の車種や端末装置を保持するホルダの利用状況等に応じて、車内での設置姿勢がその都度異なるので、車両が移動した方向を容易に推定できないという問題がある。
【0006】
例えば、端末装置は、端末装置を基準とした軸方向の加速度を検出する加速度計を有するので、端末装置の設置姿勢に基づいて、検出された加速度の方向を車両の移動方向を基準とした方向に変換する。そして、端末装置は、方向を変換した加速度を用いて、車両の進行方向や速度を特定し、特定した進行方向や速度から車両の現在地を特定する。しかしながら、端末装置は、設置姿勢が不明である場合は、加速度の方向を変換することができず、車両の進行方向を特定することができない。
【0007】
本願は、上記に鑑みてなされたものであって、設置姿勢を容易に特定し、車両の進行方向を精度良く推定できる推定装置、移動方向推定方法及び移動方向推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本願に係る推定装置は、加速度を検出する検出部と、所定の状態で前記検出部が検出した加速度の平均値を用いて、重力方向を特定する特定部と、前記検出部が検出した加速度から、前記特定部が特定した重力方向に対して垂直な平面上における加速度のばらつきを算出し、当該算出したばらつきに基づいて端末装置の移動方向を推定する推定部とを有することを特徴とする。
【発明の効果】
【0009】
実施形態の一態様によれば、設置姿勢を容易に特定し、車両の進行方向を精度良く推定することができるという効果を奏する。
【図面の簡単な説明】
【0010】
図1図1は、実施形態に係る端末装置が発揮する作用効果の一例を説明するための図である。
図2図2は、実施形態に係る端末装置が有する機能構成の一例を説明する図である。
図3図3は、実施形態に係る端末装置が実行する案内処理の流れの一例を説明するフローチャートである。
図4図4は、実施形態に係る端末装置が実行する推定処理の流れの一例を説明するフローチャートである。
図5図5は、車両が移動する際に生じる加速度の一例を説明する図である。
図6図6は、実施形態に係る端末装置が車両の速度を算出する処理の一例を説明する図である。
【発明を実施するための形態】
【0011】
以下に、本願に係る推定装置、移動方向推定方法及び移動方向推定プログラムを実施するための形態(以下、「実施形態」と呼ぶ。)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る推定装置、移動方向推定方法及び移動方向推定プログラムが限定されるものではない。また、以下の各実施形態において同一の部位及び処理には同一の符号を付し、重複する説明は省略される。
【0012】
また、以下の説明では、推定装置が実行する処理として、利用者が乗車した車両を目的地まで案内するカーナビゲーションの一例について説明するが、実施形態は、これに限定されるものではない。例えば、推定装置は、利用者が歩行している場合や列車等、車両以外の交通手段を利用している場合にも、以下に説明する処理を実行し、利用者を目的地まで案内する処理を実行してもよい。
【0013】
〔1.作用効果の概要〕
まず、図1を用いて、推定装置の一例である端末装置100が発揮する作用効果の概念について説明する。図1は、実施形態に係る端末装置が発揮する作用効果の一例を説明するための図である。例えば、端末装置100は、スマートフォン、タブレット端末やPDA(Personal Digital Assistant)等の移動端末、ノート型PC(Personal Computer)等の端末装置であり、移動通信網や無線LAN(Local Area Network)等のネットワークNを介して、任意のサーバと通信可能な端末装置である。
【0014】
また、端末装置100は、利用者が乗車した車両を目的地まで案内するカーナビゲーションの機能を有する。例えば、端末装置100は、利用者から目的地の入力を受付けると、利用者を目的地まで誘導するための経路情報を、図示を省略したサーバ等から取得する。例えば、経路情報には、車両が利用可能な目的地までの経路、経路に含まれる高速道路の情報、経路上の渋滞情報、案内の目印となる施設、画面上に表示する地図の情報、案内時に出力する音声や地図等の画像等のデータが含まれる。
【0015】
また、端末装置100は、GPS(Global Positioning System)等の衛星測位システムを用いて、端末装置100の位置(以下、「現在地」と記載する。)を所定の時間間隔で特定する測位機能を有する。そして、端末装置100は、経路情報に含まれる地図等の画像を液晶画面やエレクトロルミネッセンス、LED(Light Emitting Diode)画面等(以下、単に「画面」と記載する。)に表示すると共に、特定した現在地をその都度地図上に表示する。また、端末装置100は、特定した現在地に応じて、左折や右折、使用する車線の変更、目的地への到着予定時間等を表示、若しくは、端末装置100や車両のスピーカー等から音声により出力する。
【0016】
ここで、衛星測位システムでは、複数の衛星から発信された信号を受信し、受信した信号を用いて、端末装置100の現在地を特定する。このため、端末装置100は、トンネルの中やビル群に挟まれた場所等、衛星から発信された信号を適切に受信できない場合には、現在地を特定することができない。また、端末装置100に案内を実現させるアプリケーション等は、車両から速度や移動方向等の情報を取得する機能を有していない。このため、加速度を測定する加速度センサを端末装置100に設置し、加速度センサが測定した加速度に基づいて、端末装置100の位置を推定する手法が考えられる。
【0017】
例えば、図1の(A)に示すように、端末装置100は、画面の短尺方向をx軸とし、画面の長尺方向をy軸とし、画面に対して垂直な方向をz軸として、各xyz軸方向の加速度を測定する。例えば、端末装置100は、画面を正面とした際に、正面側を+z軸方向、背面側を−z軸方向とし、端末装置100の利用時において画面上側を+x軸方向、画面下側を−x軸方向、画面左側を+y軸方向、画面右側を−y軸方向とする端末座標系における加速度を測定する。
【0018】
一方、図1の(B)に示すように、利用者が使用する車両C10の移動方向や速度は、車両が進行する方向をZ軸とし、Z軸に対して垂直な平面上において、車両が進行する際に左折若しくは右折する方向をY軸方向とし、車両の上下方向をX軸方向とする車両座標系で表される。例えば、車両C10の移動方向や速度は、車両の上方向を+X軸方向、下方向(すなわち、地面側)を−X軸方向、左折する方向を+Y軸方向、右折する方向を−Y軸方向、車両の後ろ方向を+Z軸方向、前方向を−Z軸方向とする車両座標系で表される。
【0019】
このため、端末装置100は、端末座標系で測定した加速度を車両座標系に変換し、変換後の加速度を用いて、車両の移動方向や速度を測定することとなる。しかしながら、端末装置100は、例えば、助手席の利用者が手で保持しているか、ホルダに保持されているか、ホルダが端末装置100を保持する角度、利用者が乗車している車両の車種等に応じて、設置姿勢がその都度異なる。このため、設置姿勢が不明である場合は、加速度を測定したとしても、端末座標系を車両座標系へと変換することができない。
【0020】
そこで、端末装置100は、推定処理を実行する。まず、端末装置100は、端末装置100に対する加速度を検出する加速度センサを有する。また、端末装置100は、所定の状態で検出された加速度の平均値を用いて、車両座標系における重力方向を特定する。そして、端末装置100は、加速度センサが検出した加速度から、特定した重力方向に基づく移動方向、すなわち、車両座標系における車両C10の移動方向を推定する。
【0021】
以下、図を用いて、上述した推定処理を実現する端末装置100の機能構成及び作用効果の一例を説明する。
【0022】
〔2.機能構成の一例〕
図2は、実施形態に係る端末装置が有する機能構成の一例を説明する図である。図2に示すように、端末装置100は、通信部11、記憶部12、複数の加速度センサ13a〜13c(以下、総称して「加速度センサ13」と記載する場合がある。)、GPS受信アンテナ14、出力部15、制御部16を有する。通信部11は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部11は、ネットワークNと有線または無線で接続され、端末装置100と、端末装置100から目的地を受信すると、目的地までの経路を示す経路情報を配信する配信サーバとの間で情報の送受信を行う。
【0023】
記憶部12は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部12は、案内を実行するために用いる各種のデータである案内情報データベース12aを有する。例えば、案内情報データベース12aには、図示を省略したサーバ等から受信した目的地までの経路情報が格納される。
【0024】
加速度センサ13は、所定の時間間隔(例えば、5ミリ秒)で、端末装置100に係る加速度の大きさと方向とを測定する。例えば、加速度センサ13aは、端末座標系におけるx軸方向の加速度を測定する。加速度センサ13bは、端末座標系におけるy軸方向の加速度を測定する。加速度センサ13cは、端末座標系におけるz軸方向の加速度を測定する。すなわち、端末装置100は、各加速度センサ13a〜13cが測定した加速度を端末座標系の各軸方向の加速度とすることで、端末装置100に対する加速度の向きと大きさとを示すベクトルを取得することができる。
【0025】
GPS受信アンテナ14は、GPS等の衛星測位システムに用いられる信号を衛星から受信するためのアンテナである。また、出力部15は、案内を行う際に地図や現在地を表示するための画面や、音声を出力するためのスピーカーである。
【0026】
制御部13は、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等によって、端末装置100内部の記憶装置に記憶されている各種プログラムが、RAM等の記憶領域を作業領域として実行されることにより実現される。図2に示す例では、制御部13は、案内実行部17、音声出力部18、画像出力部19、方向推定部20(以下、総称して各処理部17〜20と記載する場合がある。)とを有する。また、方向推定部20は、検出部21、特定部22、判定部23、推定部24、算出部25とを有する。
【0027】
なお、制御部13が有する各処理部17〜20の接続関係は、図2に示した接続関係に限られず、他の接続関係であってもよい。また、各処理部17〜20は、以下に説明するような案内処理の機能・作用(例えば図1)を実現・実行するものであるが、これらは説明のために整理した機能単位であり、実際のハードウェア要素やソフトウェアモジュールとの一致は問わない。すなわち、以下の案内処理の機能・作用を実現・実行することができるのであれば、端末装置100は、任意の機能単位で案内処理を実現・実行して良い。
【0028】
〔3.案内処理における作用効果の一例〕
以下、図3に示すフローチャートを用いて、各処理部17〜20が実行・実現する案内処理の内容について説明する。図3は、実施形態に係る端末装置が実行する案内処理の流れの一例を説明するフローチャートである。
【0029】
まず、案内実行部17は、利用者から目的地が入力されたか否かを判定する(ステップS101)。そして、案内実行部17は、目的地が入力された場合は(ステップS101:Yes)、図示を省略した外部のサーバから経路情報を取得する(ステップS102)。ここで、案内実行部17は、GPSが使えるか否かを判定する(ステップS103)。
【0030】
例えば、案内実行部17は、GPS受信アンテナ14が衛星からの信号を受信できない場合や、信号を受信できた衛星の数が所定の閾値よりも少ない場合等には、GPSが使用できないと判定し(ステップS103:Yes)、方向推定部20により推定された車両C10の移動方向や速度から現在地を取得する(ステップS104)。例えば、案内実行部17は、現在地として前回GPSから特定もしくは推定した場所を起点として、方向推定部20により推定された移動方向に、推定された速度で移動した際の場所を新たな現在地として推定する。なお、方向推定部20が車両C10の移動方向や速度を推定する推定処理の具体的な内容については、後述する。
【0031】
一方、案内実行部17は、GPSが使えると判定した場合は(ステップS103:No)、GPSを用いて現在地を特定する(ステップS105)。そして、案内実行部17は、音声出力部18や画像出力部19を制御し、GPSを用いた現在地若しくは推定した現在地を用いて、案内を出力する(ステップS106)。例えば、音声出力部18は、案内実行部17からの制御に従って、現在地や車両C10が進むべき方向等を示す音声を出力部15から出力する。また、画像出力部19は、案内実行部17からの制御に従って、現在地と周辺の地図とを重ねた画像や、車両C10が進むべき方向等を示す画像を出力部15から出力する。
【0032】
続いて、案内実行部17は、現在位置が目的地の周辺であるか否かを判定する(ステップS107)。そして、案内実行部17は、現在地が目的地の周辺であると判定した場合は(ステップS107:Yes)、音声出力部18や画像出力部19を制御して案内の終了を示す終了案内を出力し(ステップS108)、処理を終了する。一方、案内実行部17は、現在地が目的地の周辺ではないと判定した場合は(ステップS107:No)、ステップS103を実行する。なお、案内実行部17は、目的地が入力されていない場合は(ステップS101:No)、入力されるまで待機する。
【0033】
〔4.推定処理における作用効果の一例〕
次に、図4に示すフローチャートを用いて、方向推定部20が有する検出部21、特定部22、判定部23、推定部24、算出部25が実行・実現する案内処理の内容について説明する。図4は、実施形態に係る端末装置が実行する推定処理の流れの一例を説明するフローチャートである。
【0034】
まず、検出部21は、加速度センサ13から加速度を取得する(ステップS201)。ここで、加速度センサ13が測定する加速度の値にはノイズが含まれると考えられる。そこで、検出部21は、ローパスフィルタの一種である移動平均法を用いて、各加速度センサ13a〜13cごとに、測定された加速度の平均値を算出する(ステップS202)。ここで、移動平均法とは、連続して測定されたデータが存在する場合に、直近に測定された複数個のデータの平均を算出する手法である。
【0035】
具体的には、検出部21は、所定の時間が経過するまでの間に検出された複数の加速度の値の平均値、または、連続して検出された所定の数の加速度の値の平均値を、検出された加速度の平均値の値として出力する。例えば、検出部21は、時刻t−nから時刻tまでの間に加速度センサ13aが測定した加速度の値の平均値を、加速度センサ13aが時刻tにおいて測定した加速度の値とし、時刻t−n+1から時刻t+1までの間に加速度センサ13aが測定した加速度の値の平均値を、加速度センサ13aが時刻t+1において測定した加速度の値とする。
【0036】
続いて、判定部23は、加速度の値が有する特徴に基づいて、端末装置100が移動しているか否かを判定する(ステップS203)。例えば、判定部23は、端末装置100が移動している間、および、移動していない間に測定された加速度の値が有する特徴を学習させたサポートベクトルマシン(SVM:Support Vector Machine)を用いて、端末装置100が移動しているか否かを判定する。
【0037】
ここで、サポートベクトルマシンとは、教師データが有する特徴を学習する学習モデル(すなわち、教師あり学習により生成されたモデル)の一種である。例えば、判定部23が利用するSVMは、ある車両が停止している際に測定された3軸方向の加速度を示す停止データと、加速中若しくは移動中に測定された3軸方向の加速度を示す走行データとを教師データとして、停止データと走行データとを精度良く切り分けられるように、データが有する特徴量の学習を行った学習モデルである。例えば、SVMは、各軸方向ごとに、測定された加速度の値のうち一定時間(例えば、1秒)の範囲内に含まれる値の振幅、標準偏差、振動数、平均値、最大値および最小値の特徴を学習する。
【0038】
このように走行データと停止データとの特徴を学習させたSVMは、新たに測定された3軸方向の加速度が入力されると、各軸方向の加速度が有する特徴に基づいて、走行時に測定された加速度であるか、停止時に測定された加速度であるかを精度良く特定することができる。そこで、判定部23は、予め学習されたSVMに対し、検出部21が検出した各軸方向の加速度を入力し、かかる加速度の値を停止時に測定された加速度であるとSVMが判定した場合は、車両C10が停止中であると判定する。
【0039】
なお、端末装置100は、正確な判定を実現するため、端末装置100自身若しくは端末装置100と同種の端末装置によって測定された教師データにより学習を行ったSVMを利用してもよい。また、端末装置100は、ロバストな判定を実現するため、端末装置100と同種の端末装置を含む様々な種別の端末装置によって測定された教師データにより学習を行ったSVMを利用してもよい。
【0040】
また、SVMの教師データは、加速度を測定する装置の座標系(例えば、端末座標系)のままであってもよく、車両の座標系(例えば、車両座標系)に変換したデータであってもよい。なお、正確な判定を行うため、SVMの教師データは、端末装置100と同種の端末装置により、端末装置100が案内を行う際と同様の姿勢で測定された加速度であるのが望ましい。
【0041】
続いて、特定部22は、判定部23が停止状態であると判定した場合は(ステップS203:Yes)、加速度の平均値を用いて、重力方向を特定する(ステップS204)。例えば、図1中(C)に示すように、端末装置100の加速度センサ13は、車両C10の加減速に応じた加速度だけではなく、端末装置100に対して働く重力加速度Gを常時検出することとなる。ここで、車両C10の動作を考慮すると、車両C10の加減速によって端末装置100が検出する加速度は、十分な期間内で見るとほぼ打ち消しあうと考えられる。
【0042】
このため、検出された加速度の平均値や向きは、重力加速度Gの値や向きとほぼ同じになると推定される。そこで、端末装置100は、測定した加速度の平均値を算出することで、端末座標系における重力加速度Gの方向(以下、「重力方向」と記載する。)を特定できる。また、端末座標系における重力方向は、車両座標系における重力方向、すなわち−X軸方向と一致するため、端末装置100の設置姿勢、ひいては、車両C10の移動方向を特定する指針となる。
【0043】
そこで、推定部24は、図4に示すステップS205〜208に示す処理を実行することで、検出された加速度から、特定部22によって特定された重力方向に基づく移動方向を推定する。まず、推定部24は、推定した重力方向から、Y軸回りの回転角およびZ軸回りの回転角を特定する(ステップS205)。
【0044】
例えば、図1中(D)に示すように、端末座標系と車両座標系との原点を重ね合わせ、かつY軸とy軸とが一致している場合は、Y軸方向を中心としたx軸とX軸との間の角βにより、端末装置100が画面奥方向にどれだけ傾いているかを特定することができる。また、Z軸とz軸が一致している場合は、Z軸方向を中心としてy軸とY軸との間の角度γにより、端末装置100が画面を手前側とした際に左右方向へどれだけ傾いているかを特定することができる。より一般的な特定方法については、後述する説明で数式を用いて説明する。
【0045】
ここで、重力加速度Gは、−X軸方向の力である。また、重力加速度Gの大きさは、端末座標系における各軸方向の加速度の二乗和の平方根で表すことができる。すると、推定部24は、検出された−x軸方向の加速度の大きさと重力加速度Gの大きさから、三角関数を用いて、角度βを算出できる。同様に、推定部24は、検出された+y軸方向の加速度の大きさと重力加速度Gの大きさから、三角関数を用いて、角度γを算出できる。この結果、推定部24は、特定した重力方向に対して垂直なYZ平面を特定することができる。なお、推定部24は、停止状態ではないと判定された場合は(ステップS203:No)、前回特定した重力方向に基づいて、YZ平面を特定すればよい。
【0046】
続いて、推定部24は、特定した重力方向に対して垂直な平面方向の加速度のばらつき、すなわち分散を算出し、分散が最も大きい方向を、車両C10の進行方向、すなわち−Z軸方向とする(ステップS206)。例えば、図5は、車両が移動する際に生じる加速度の一例を説明する図である。例えば、車両座標系におけるYZ平面は、X軸方向に対して垂直な平面であり、車両C10の進行方向であるZ軸方向とZ軸とは垂直なY軸方向とに分割できる。ここで、車両C10の挙動を考えると、図5中の点線の直線で示すように、車両C10の加減速によって生じる加速度のうち、停車状態から発車状態へと移行して直進する際の加速度が最も強い加速度であると推定される。また、図5中の点線の曲線で示すように、Y軸方向に曲がったとしても、車両C10は前方(−Z軸方向)へと移動することとなる。
【0047】
この結果、端末装置100が測定した加速度を、YZ平面上に射影した場合、測定された加速度の広がりが最も大きい方向、すなわち、分散が最も大きい方向が車両C10の前後方向、すなわち−Z軸あるいは+Z軸方向であると予測される。この段階では、+Z軸方向と−Z軸方向のどちらが進行方向が不定であるが、かかる進行方向を特定する方法については、後述する説明で数式を用いて説明するものとし、以下の説明では、分散が最も大きい方向を−Z軸方向とするものとして説明する。
【0048】
例えば、推定部24は、図1中(E)に示すように、重力方向に対して垂直なYZ平面上に対して測定された加速度を投影し、加速度のばらつきが最大となる方向Pを、車両C10の移動方向、すなわち、−Z軸方向とする。そして、図1中の(F)に示すように、方向Pを−Z軸方向と推定した場合、X軸方向を中心としたZ軸とz軸との間の角度αにより、端末装置100が上下方向を中心としてどれだけ回転しているかを特定することができる。
【0049】
その後、端末装置100は、図1中(G)に示すように、測定した重力方向を車両座標系のX軸方向へと変換する回転行列を用いて、測定した加速度の座標変換を行い、移動方向と速度とを算出する。より具体的には、図4に示すように、推定部24は、角度α、β、γを特定すると、特定した角度α、β、γを用いて、端末座標系を車両座標系に変換する回転行列を算出する(ステップS207)。
【0050】
例えば、推定部24は、端末座標系のベクトルを、x軸を中心として角度−αだけ回転させ、y軸を中心として角度−βだけ回転させ、z軸を中心として角度−γだけ回転させる回転行列を生成する。そして、推定部24は、回転行列を用いて、検出された端末座標系の加速度を、車両座標系に変換し、変換後の加速度を用いて、車両C10の進行方向を推定する(ステップS208)。すなわち、推定部24は、端末座標系で測定された重力加速度の方向を、車両座標系におけるX軸方向と一致させる回転行列を用いて、検出された加速度を重力方向に基づく移動方向の加速度に変換し、変換後の加速度を分析することで、移動方向を推定する。
【0051】
例えば、推定部24は、X軸に対して垂直なYZ平面上の加速度、すなわち、Y軸方向とZ軸方向との加速度を用いて、車両C10の移動方向や移動方向の変化を推定する。より具体的には、推定部24は、+Z軸方向の加速度が測定された場合は、車両C10が加速していると判定し、−Z軸方向の加速度が検出された場合は、車両が減速していると判定する。また、推定部24は、進行方向である−Z軸方向とは垂直な+Y軸方向の加速度が測定された場合は、車両C10が右折したと判定し、−Y軸方向の加速度が測定された場合は、車両C10が左折したと判定する。
【0052】
続いて、算出部25は、変換後の加速度を用いて、車両C10の移動速度を算出する(ステップS209)。具体的には、算出部25は、車両C10の停車時における加速度のZ軸成分の平均値を原点(0)として、加速度のZ軸成分の積分値を、車両C10の移動速度とする。
【0053】
例えば、図6は、実施形態に係る端末装置が車両の速度を算出する処理の一例を説明する図である。なお、図6に示す例では、−Z軸方向への速度の値を縦軸にとり、時間を横軸にとることで、速度の時間経過をプロットした。例えば、時刻T1〜時刻T2の間、車両C10が前方に加速した場合は、+Z軸方向の加速度が検出されるため、図6に示すように、算出部25は、速度が徐々に上昇すると判定する。また、時刻T2〜時刻T3の間、車両C10が減速した場合は、−Z軸方向の加速度が検出されるため、図6中(A)に示す速度を最高速度として、車両C10の速度を徐々に減速させる。
【0054】
ここで、車両C10が時刻T3で停車したとしても、原点の設定や、端末装置100が検出可能な加速度の精度等によっては、図6中(B)に示すように、実際に検出された加速度の積分値が時刻T3以降も正である場合がある。このような積分値を継続して利用した場合は、誤差が蓄積されるため、徐々に誤差が増大してしまう。
【0055】
そこで、算出部25は、判定部23によって車両C10が移動していないと判定された場合は、図6中(C)に示すように、積分値を0に補正する。同様に、算出部25は、車両が時刻T4から加速した場合は、かかる加速の加速度を積分することで速度を算出する。そして、算出部25は、実際に測定された加速度の積分値が、図6中(D)に示すように遷移したとしても、時刻T5で車両C10が停止したと判定された場合は、図6中(E)に示すように、積分値を0に補正する。
【0056】
〔5.推定処理における数式の一例〕
次に、数式を用いて、推定部24が端末座標系を車両座標系へと変換する回転行列を算出する処理の一例を説明する。なお、推定部24が実行する処理は、以下の数式が示す処理に限定されるものではない。例えば、推定部24は、一次変換を表現した数式を用いて、端末座標系から車両座標系への座標変換を行ってもよい。
【0057】
例えば、端末座標系の各軸をxyz軸とし、車両座標系の各軸をXYZ軸とする。係る場合、車両座標系を端末座標系へと変換する処理は、以下の式(1)で表される。なお、式(1)では、x軸を中心とした回転角度をα、y軸を中心とした回転角度をβ、z軸を中心した回転角度をγとし、x軸を中心とした回転による座標変換を行う回転行列をR(α)、y軸を中心とした回転による座標変換を行う回転行列をR(β)、z軸を中心とした回転による座標変換を行う回転行列をR(γ)とした。
【0058】
【数1】
【0059】
また、回転行列R(α)、回転行列R(β)、および回転行列R(γ)(以下、総括して「各回転行列」と記載する場合がある。)は、以下の式(2)〜(4)で表すことができる。
【0060】
【数2】
【0061】
【数3】
【0062】
【数4】
【0063】
ここで、重力加速度は、−X軸方向の加速度であるから、車両座標系では、以下の式(5)で表すことができる。
【0064】
【数5】
【0065】
一方、端末座標系で検出された各軸方向の重力加速度をa、a、aと記載する。かかる場合、端末座標系の重力加速度a、a、aは、式(5)で示す重力加速度を各回転行列で変換した値となるので、以下の式(6)が成り立つ。
【0066】
【数6】
【0067】
この結果、式(6)におけるz軸方向の値より、式(7)を得る。
【0068】
【数7】
【0069】
また、重力加速度の大きさを考慮すると、式(8)が成り立つため、式(6)におけるx軸およびy軸方向の値から、式(9)を得る。この結果、端末装置100は、式(7)および式(9)から、y軸回りの回転角βを特定することができる。
【0070】
【数8】
【0071】
【数9】
【0072】
ここで、式(9)に示す値のうち、正の値を解として選択する。すると、式(6)におけるx軸およびy軸方向の値から、式(10)および式(11)を得る。この結果、端末装置100は、式(10)および式(11)からz軸まわりの回転角γを特定することができる。
【0073】
【数10】
【0074】
【数11】
【0075】
一方、端末座標系を車両座標系へと変換する処理は、式(1)に示す座標変換の逆変換であるため、以下の式(12)で表される。
【0076】
【数12】
【0077】
また、βとγの値は式(7)、(9)、(10)、(11)から算出できるので、端末座標系の加速度のサンプルa、a、aのうちy軸およびz軸のみを回転させ、車両座標系へと変換すると、式(13)となる。
【0078】
【数13】
【0079】
続いて、加速度のサンプルを、重力加速度Gと垂直な面上(すなわち、YZ平面上)に投影し、分散が最も大きい方向Pを求める処理について考える。y軸方向の加速度のサンプルをy、z軸方向の加速度のサンプルをzとし、YZ平面上に投影した加速度のサンプルの成分をy’、z’とすると、式(14)となる。
【0080】
【数14】
【0081】
ここで、式(14)からz’を抜き出すと、式(15)となる。
【0082】
【数15】
【0083】
ここで、z’の情報量が最大となる方向、すなわち、分散が最も大きい方向Pが車両C10の進行方向となる。そこで、z’の残差の二乗和を考える。YZ平面上に投影されたN個の加速度のZ軸成分をz’〜z’とすると、残差の二乗和は、以下の式(16)で表される。
【0084】
【数16】
【0085】
ここで、式(16)のうちオーバーラインを付したz’は、以下の式(17)を満たす値である。
【0086】
【数17】
【0087】
角度αによるLの偏微分が0である点を考えると、式(16)は、以下の式(18)に変形される。ここで、式(18)に示すS、S、Syzは、以下の式(19)〜(21)に示す値である。
【0088】
【数18】
【0089】
【数19】
【0090】
【数20】
【0091】
【数21】
【0092】
ここで、式(18)をαの変数と座標の変数とに分けると、式(22)を導出することができる。
【0093】
【数22】
【0094】
ここで、αの正接関数(tanα)をtとし、式(22)の左辺をsと置くと、式(22)は、式(23)に示すようにtの二次関数で表すことができるので、tは、式(24)で表すことができる。すなわち、αの変数tを座標の変数sで表すことができる。
【0095】
【数23】
【0096】
【数24】
【0097】
ここで、αの正弦関数(sinα)および余弦関数(cosα)は、式(24)から、式(25)、式(26)となる。
【0098】
【数25】
【0099】
【数26】
【0100】
一方、式(24)の値を正の値および負の値に分けると、以下の式(27)、式(28)で表すことができ、tの解は、式(27)または式(28)のいずれかで表される。
【0101】
【数27】
【0102】
【数28】
【0103】
ここで、式(27)または(28)の一方は、分散が最少となる方向を示す解である可能性がある。そこで、Lの2階偏微分を考える。Lの2階偏微分は、式(29)で表すことができる。
【0104】
【数29】
【0105】
ここで、z’の情報量を最大化する目的を考慮すると、Lは凸関数となるため、式(30)を満たす条件を考える。
【0106】
【数30】
【0107】
すると、Syzが0より大きい場合、式(30)を満たすにはtの値が0より小さくなければならないので、式(28)が解となる。一方、Syzが0未満の時、式(30)を満たすにはtの値が0より大きくなければならないので、式(27)が解となる。そこで、端末装置100は、Syzの値に応じて求められたtの値を式(25)、式(26)に代入し、回転角αの値を算出する。
【0108】
なお、Syzの値が0である場合は、Lの2階偏微分が式(31)で表される。このため、S−Sが0より大きい場合は、式(32)および式(33)が成り立ち、S−Sが0より小さい場合は、式(34)、式(35)が成り立つ。そこで、端末装置100は、S−Sの値に基づいて、式(32)および式(33)、または式(34)および式(35)を用いて、αの値を算出する。
【0109】
【数31】
【0110】
【数32】
【0111】
【数33】
【0112】
【数34】
【0113】
【数35】
【0114】
ここで、αの値が算出された場合、車両C10がZ軸のどちら方向を前方(進行方向、若しくは−Z軸方向)とするかが不明確である。そこで、端末装置100は、車両C10が動き出した際に測定された加速度の符号や、積分した速度の符号に基づいて、車両C10の前方方向を特定し、特定した方向を−Z軸方向とする。例えば、端末装置100は、車両C10が動き出した際に測定された加速度の方向とは逆の方向を−Z軸方向とする。また、端末装置100は、積分した速度の符号が正となるように、−Z軸方向を特定する。
【0115】
なお、上述した処理をまとめると、端末座標系の加速度を、y軸とz軸とを中心として回転させる座標変換は、以下の式(36)によって表すことができる。また、式(36)によって座標変換した加速度を、x軸を中心として回転させることで、車両座標系へと変換する座標変換は、以下の式(37)で表すことができる。このため、端末装置100は、上述した式(36)、式(37)を用いて、端末座標系を車両座標系へと変換する。
【0116】
【数36】
【0117】
【数37】
【0118】
〔6.推定速度の補正について〕
上述した端末装置100は、車両が停止したと判定された場合には、加速度の積分値を0に補正した。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置100は、車両C10が停止したと判定されてから、再度停止したと判定されるまでの間の積分値が0になるように、加速度の値もしくは加速度を積分して積分値にするための適宜な係数を補正してもよい。例えば、算出部25は、図6に示す時刻T3から時刻T5までの間に測定された加速度の値の積分値が0になるように、原点の設定を修正してもよい。
【0119】
また、端末装置100は、GPSを利用して加速度の積分値を補正してもよい。例えば、端末装置100は、上述した推定処理を実行するとともに、衛星からの信号に基づいて端末装置100の位置を特定し、特定した位置の変動量から端末装置100の移動速度を算出する。そして、端末装置100は、推定された速度、すなわち、検出された加速度の積分値が算出した移動速度と同じ値になるように、検出された加速度の値を補正(例えば、原点とする値を補正)してもよい。
【0120】
〔7.進行方向の補正について〕
上述した端末装置100は、加速度の分散が大きい向きを車両C10の前方(−Z軸方向)とした。しかしながら、実施形態は、これに限定されるものではない。例えば、端末装置100は、GPSを利用して車両C10が直進しているか否かを判定し、車両C10が直進している場合には、かかる際に検出された加速度の方向をZ軸方向に設定してもよい。また、端末装置100は、GPSを利用して車両C10の現在地の推移を特定し、車両C10が直進しながら加速していると判定した場合は、検出されたYZ平面上の加速度の方向を、車両C10の後方(+Z軸方向)とするような回転行列式を算出し、かかる回転行列式を用いて、端末座標系から端末座標系へと加速度を変換してもよい。
【0121】
〔8.他の実施形態〕
なお、上記実施形態は例示に過ぎず、本発明は、以下に例示するものやそれ以外の他の実施態様も含むものである。例えば、本出願における機能構成、データ構造、フローチャートに示す処理の順序や内容などは例示に過ぎず、各要素の有無、その配置や処理実行などの順序、具体的内容などは適宜変更可能である。例えば、上述した案内処理や推定処理は、上記実施形態で例示したように端末装置100が実現する以外にも、スマートフォンのアプリなどが実現する端末における装置、方法やプログラムとして実現することもできる。
【0122】
また、端末装置100を構成する各処理部17〜20を、さらにそれぞれ独立した装置で実現する構成も一般的である。また、方向推定部20を構成する各部21〜25をそれぞれ独立した装置で実現する構成であってもよい。同様に、外部のプラットフォーム等をAPI(アプリケーション・プログラム・インタフェース)やネットワークコンピューティング(いわゆるクラウドなど)で呼び出すことで、上記実施形態で示した各手段を実現するなど、本発明の構成は柔軟に変更できる。さらに、本発明に関する手段などの各要素は、コンピュータの演算制御部に限らず物理的な電子回路など他の情報処理機構で実現してもよい。
【0123】
例えば、端末装置100は、端末装置100と通信可能な配信サーバとが協調して上述した案内処理を実行してもよい。例えば、配信サーバは、特定部22、推定部24、算出部25を有し、端末装置100が検出した加速度から、重力方向や、端末装置100の移動方向および移動速度を推定する。そして、配信サーバは、推定した移動方向や移動速度を端末装置100に配信し、利用者の案内を実行させてもよい。また、配信サーバは、端末装置100に代わって上述した推定処理を実行し、実行結果を端末装置100に送信することで、端末装置100に案内処理を実行させてもよい。
【0124】
また、配信サーバは、判定部23を有し、端末装置100が移動中であるか否かを判定してもよい。なお、配信サーバと協調して案内処理や推定処理を実行する端末装置が複数存在する場合、配信サーバは、端末装置ごとに異なるSVMを用いて、各端末装置が移動中であるか否かを判定してもよい。また、配信サーバは、各端末装置がGPSで取得した位置情報を収集し、収集した位置情報から各端末装置が移動中であるか否かを判定し、判定結果と、各端末装置から収集した加速度の値とを用いて、SVMの学習を実現してもよい。
【0125】
〔9.効果〕
上述したように、端末装置100は、所定の状態で検出された加速度の平均値を用いて、重力方向を特定する。そして、端末装置100は、特定した重力方向に基づく移動方向を、検出された加速度から推定する。このように、端末装置100は、複雑な処理を行わずとも、測定した加速度の平均値から、重量方向を特定し、特定した重力方向に基づく移動方向を、測定した加速度から推定する。この結果、端末装置100は、設置姿勢を容易に特定し、車両C10の進行方向を精度良く推定することができるという効果を奏する。
【0126】
また、端末装置100は、端末装置100が移動していない状態で検出された加速度の平均値を用いて、重力方向を特定する。このため、端末装置100は、複雑な処理を実行せずとも、重力方向を精度良く特定することができるので、設置姿勢を容易に特定し、車両C10の進行方向を精度良く推定することができる。
【0127】
また、端末装置100は、重力加速度を検出した端末座標系の方向を車両座標系の所定の軸方向に一致させる回転行列式を用いて、検出された加速度を重力加速度の方向に基づく移動方向、すなわち、重力加速度と垂直なYZ平面上の加速度に変換し、かかる変換後の加速度を用いて、移動方向を推定する。このため、端末装置100は、端末装置100の設置姿勢を固定せずとも、検出した加速度から車両C10が移動する方向を特定することができる。
【0128】
ここで、通常の態様においては、車両C10は、YZ平面上を移動することとなるため、移動によって生じる加速度もYZ平面上に生じる。そこで、端末装置100は、重力方向に対して垂直なYZ平面を基準とした移動方向を推定する。
【0129】
より具体的には、端末装置100は、検出された加速度のうち、重力方向に対して垂直なYZ平面上の加速度を用いて、移動方向を推定する。また、端末装置100は、重力方向に対して垂直なYZ平面上の方向であって、移動方向に対して垂直な方向に対する加速度に基づいて、端末装置100の移動方向の変化を検出する。このため、端末装置100は、車両C10の移動方向や移動速度を精度良く推定することができる。
【0130】
また、端末装置100は、重力方向に対して垂直なYZ平面上における加速度のばらつきを算出し、当該算出したばらつきが最大となる方向、すなわち分散が最大となる方向を移動方向である−Z軸方向とする。このため、端末装置100は、車両C10の移動方向を容易かつ精度良く特定することができる。
【0131】
また、端末装置100は、所定の時間が経過するまでの間に検出された複数の加速度の値の平均値、または、連続して検出された所定の数の加速度の値の平均値を算出し、算出された平均値を、検出された加速度の平均値の値とする。すなわち、端末装置100は、加速度センサ13が検出した加速度の値を、移動平均法を用いて平滑化し、ノイズを軽減する。このため、端末装置100は、移動方向や移動速度の推定精度を向上させることができる。
【0132】
また、端末装置100は、検出した加速度の値が有する特徴に基づいて、端末装置100、ひいては車両C10が移動しているか否かを判定し、端末装置100が移動していないと判定した際に検出された加速度の平均値を用いて、重力方向を特定する。このため、端末装置100は、重力方向を精度良く特定することができる結果、移動方向や移動速度の推定精度を向上させることができる。
【0133】
また、端末装置100は、端末装置100が移動している間、および、していない間に測定された加速度の値が有する特徴を学習したSVMを用いて、端末装置100が移動しているか否かを判定する。このため、端末装置100は、端末装置100が移動しているか否かを精度良く判定することができる。
【0134】
また、端末装置100は、推定された移動方向への移動速度を算出する。より具体的には、端末装置100は、推定された移動方向における加速度の積分値を、かかる方向への移動速度とする。このため、端末装置100は、車両C10の移動速度を推定することができる。
【0135】
また、端末装置100は、端末装置100が移動していない場合は、加速度の積分値を零に補正する。また、端末装置100は、移動を開始してから停止するまでの間に検出された加速度の積分値が零となるように、検出された加速度の値を補正する。また、端末装置100は、衛星からの信号に基づいて算出された端末装置100の移動速度を算出すると、加速度の積分値が算出された移動速度となるように、検出された加速度の値を補正する。これらの処理の結果、端末装置100は、移動速度の推定精度を向上させることができる。
【0136】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0137】
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、方向推定部は、方向推定手段や方向回路に読み替えることができる。
【符号の説明】
【0138】
11 通信部
12 記憶部
13 加速度センサ
14 GPS受信アンテナ
15 出力部
16 制御部
17 案内実行部
18 音声出力部
19 画像出力部
20 方向推定部
21 検出部
22 特定部
23 判定部
24 推定部
25 算出部
100 端末装置
図1
図2
図3
図4
図5
図6