(57)【要約】【課題】自律航法以外の測位方法から位置と進行方法を初期値として設定し、推定精度を低減することなく自律航法に切り替える。【解決手段】ユーザーの進行方向を第１の進行方向として推定する第１の進行方向推定部と、第１の進行方向推定部とは異なる推定方法でユーザーの進行方向を第２の進行方向として推定する第２の進行方向推定部と、第１の進行方向および第２の進行方向の少なくとも一方を用いてユーザーの進行方向を判断する判断部とを備え、判断部は、ユーザーの進行方向として第１の進行方向から第２の進行方向に切り替える場合に、第１の進行方向をユーザーの進行方向として推定されてから予め定められた時間の間は第１の進行方向を用いてユーザーの進行方向を判断し、予め定められた時間の経過後に第２の進行方向をユーザーの進行方向として判断する進行方向推定装置を提供する。【選択図】図２
2014224715.tif 000002
【特許請求の範囲】
【請求項１】
携帯端末を保持するユーザーの進行方向を推定する進行方向推定装置であって、
ユーザーの進行方向を第１の進行方向として推定する第１の進行方向推定部と、
前記第１の進行方向推定部とは異なる推定方法でユーザーの進行方向を第２の進行方向として推定する第２の進行方向推定部と、
前記第１の進行方向および前記第２の進行方向の少なくとも一方を用いてユーザーの進行方向を判断する判断部と
を備え、
前記判断部は、ユーザーの進行方向として前記第１の進行方向から前記第２の進行方向に切り替える場合に、前記第１の進行方向をユーザーの進行方向として推定されてから予め定められた時間の間は前記第１の進行方向を用いてユーザーの進行方向を判断し、前記予め定められた時間の経過後に前記第２の進行方向を用いてユーザーの進行方向を判断する進行方向推定装置。
【請求項２】
前記第１の進行方向推定部は、外部の機器またはユーザーから受け取った情報または信号に基づいて、前記第１の進行方向を推定する請求項１に記載の進行方向推定装置。
【請求項３】
前記第１の進行方向推定部は、地図情報とユーザーの位置情報を取得し、前記地図情報とユーザーの前記位置情報とに基づいてユーザーの進行方向を推定する請求項１または２に記載の進行方向推定装置。
【請求項４】
前記第１の進行方向推定部は、地磁気センサの検出結果に基づいて、前記第１の進行方向を推定する請求項１に記載の進行方向推定装置。
【請求項５】
前記第１の進行方向推定部は、ユーザから受け取った基準位置の情報に基づいて、前記第１の進行方向を推定する請求項１に記載の進行方向推定装置。
【請求項６】
前記第２の進行方向推定部は、当該携帯端末内で検出される情報に基づいて前記第２の進行方向を推定する請求項１から５の何れか一項に記載の進行方向推定装置。
【請求項７】
前記第２の進行方向推定部は、進行方向の変化を累積してユーザーの進行方向を推定する請求項１から６の何れか一項に記載の進行方向推定装置。
【請求項８】
前記携帯端末に搭載される角速度センサからの出力信号を取得する取得部を備え、
前記第２の進行方向推定部は、前記角速度センサの出力信号を積算することにより、ユーザーの進行方向を推定する請求項１から７の何れか一項に記載の進行方向推定装置。
【請求項９】
前記第２の進行方向推定部は、自律航法によってユーザーの進行方向を推定する請求項１から８の何れか一項に記載の進行方向推定装置。
【請求項１０】
前記判断部は、前記第２の進行方向推定部の進行方向の推定結果が安定するまでの間、前記第１の進行方向推定部の推定結果をユーザーの進行方向とする請求項１から９の何れか一項に記載の進行方向推定装置。
【請求項１１】
携帯端末に搭載され、当該携帯端末を保持するユーザーの進行方向を推定する方法であって、
ユーザーの進行方向を第１の進行方向として推定する第１の進行方向推定段階と、
前記第１の進行方向推定段階とは異なる推定方法でユーザーの進行方向を第２の進行方向として推定する第２の進行方向推定段階と、
前記第１の進行方向および前記第２の進行方向の少なくとも一方を用いてユーザーの進行方向を判断する判断段階と
を備え、
前記判断段階は、ユーザーの進行方向として前記第１の進行方向から前記第２の進行方向に切り替える場合に、前記第１の進行方向をユーザーの進行方向として判断してから予め定められた時間未満は前記第１の進行方向を実質的に用いてユーザーの進行方向の判断結果として出力し、前記予め定められた時間の経過後は前記第２の進行方向をユーザーの進行方向として判断する方法。
【請求項１２】
コンピュータを、請求項１から１０のいずれか一項に記載の進行方向推定装置として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、進行方向推定装置、方法、およびプログラムに関する。
【背景技術】
【０００２】
従来、携帯端末等に搭載されたセンサ等の出力に応じて、当該携帯端末の現在位置および目的地までの経路等を表示する自律航法等が知られていた（例えば、特許文献１参照）。
［特許文献１］  特開２０１１−１１２４２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
このような自律航法は、当該自律航法以外の測位方法によって取得された携帯端末等の位置および進行方法等を初期値として用いる場合がある。この場合、自律航法以外の測位方法から自律航法に切り替えると、自律航法による進行方向の推定結果に誤差が生じることがあった。例えば、携帯端末等を所持するユーザーが静止している状態から進行方向に向けて動き出す場合、携帯端末等の姿勢揺らぎが大きくなってしまうので、この段階で自律航法に切り替わると、ユーザーの安定な歩行中に比べて進行方向の推定精度が低下していた。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、携帯端末を保持するユーザーの進行方向を推定する進行方向推定装置であって、ユーザーの進行方向を第１の進行方向として推定する第１の進行方向推定部と、第１の進行方向推定部とは異なる推定方法でユーザーの進行方向を第２の進行方向として推定する第２の進行方向推定部と、第１の進行方向および第２の進行方向の少なくとも一方を用いてユーザーの進行方向を判断する判断部とを備え、判断部は、ユーザーの進行方向として第１の進行方向から第２の進行方向に切り替える場合に、第１の進行方向をユーザーの進行方向として推定されてから予め定められた時間の間は第１の進行方向を用いてユーザーの進行方向を判断し、予め定められた時間の経過後に第２の進行方向をユーザーの進行方向として判断する進行方向推定装置、方法、およびプログラムを提供する。
【０００５】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００６】
【図１】本実施形態に係る携帯端末１０の一例をＧＰＳ衛星２０と共に示す。
【図２】本実施形態に係る進行方向推定装置１００の構成例を示す。
【図３】本実施形態に係る進行方向推定装置１００の動作フローを示す。
【図４】本実施形態に係る進行方向推定装置１００として機能するコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００７】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００８】
図１は、本実施形態に係る携帯端末１０の一例をＧＰＳ衛星２０と共に示す。携帯端末１０は、複数のセンサを搭載し、当該携帯端末１０の動き、保持状態、および位置等を検出する。携帯端末１０は、自身に搭載されたセンサ等の出力に応じて、当該携帯端末１０の現在位置および目的地までの経路等を表示する自律航法システムを備える。
【０００９】
また、携帯端末１０は、自律航法システム以外の測位方法システムを備える。本実施形態に係る携帯端末１０は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）機能を備え、複数のＧＰＳ衛星２０から送信される信号を受信して、複数の受信信号に応じて当該携帯端末１０の位置を検知する例を説明する。複数のＧＰＳ衛星２０は、時刻の精度が１００万分の１程度以下の原子時計等をそれぞれ備え、当該時刻および衛星軌道のデータ等を含む信号を携帯端末１０等にそれぞれ送信する。
【００１０】
携帯端末１０は、一例として、外部の装置およびインターネット等に接続するための通信機能、ならびにプログラムを実行するためのデータ処理機能等を備える。携帯端末１０は、例えば、スマートフォン、携帯電話、タブレット型ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、携帯型ＧＰＳ装置、または小型ＰＣ等である。携帯端末１０は、表示部１２を備える。
【００１１】
表示部１２は、例えば、インターネットのＷＥＢページ、電子メール、地図、文書・音楽・動画・画像データ等を操作する画面を、ユーザの指示に応じて表示する。また、表示部１２は、例えば、ユーザの指示が入力されるタッチパネルディスプレイであり、ユーザからのタッチ入力によってブラウザ等のソフトウエアの操作画面にユーザの指示が入力される。これに代えて、携帯端末１０は、ジェスチャ入力でユーザの指示が入力されてもよい。これに代えて、携帯端末１０は、キーボード、マウス、および／またはジョイスティック等の入力デバイスによってユーザの指示が入力されてもよい。
【００１２】
このような本実施形態の携帯端末１０は、複数の測位方法システムを用いて、当該携帯端末１０を保持するユーザーの位置情報を表示部１２に表示する。携帯端末１０は、例えば、複数のＧＰＳ衛星２０からの送信信号を受信できる場合、ＧＰＳ機能を用いて、ユーザの位置情報を表示する。また、携帯端末１０は、複数のＧＰＳ衛星２０からの送信信号を受信できない場合、ＧＰＳから自律航法システムに切り替えて、ＧＰＳで取得した位置情報を用いてユーザの位置情報を推定して表示する。
【００１３】
ここで、例えば、ユーザーが手動でＧＰＳから自律航法システムに切り替える場合、携帯端末１０を手に保持して表示部１２を見ながら操作する場合がある。この場合、ユーザーは、立ち止った状態、椅子等に座った状態、およびエスカレータ等の乗り物に乗っている状態等、静止した状態で表示部１２を操作することが多い。また、操作を完了させた静止状態のユーザは、椅子から立ち上がり、乗り物から降り、またはそのままの状態等から、歩行状態へと変化させ、一時的に姿勢の変化が激しくなる。
【００１４】
したがって、携帯端末１０は、ＧＰＳで取得した位置情報を初期状態として設定して自律航法システムに切り替えると、ユーザーの姿勢の変化によって進行方向を推定する精度が低減し、現在位置の推定誤差が大きくなることが生じてしまう。そこで、本実施形態の携帯端末１０は、自律航法システムに切り替えるタイミングを制御して、進行方向の推定精度が低減することを防止する進行方向推定装置を備える。
【００１５】
図２は、本実施形態に係る進行方向推定装置１００の構成例を示す。進行方向推定装置１００は、携帯端末１０を保持するユーザーの進行方向を推定する。進行方向推定装置１００は、位置取得部１１０と、第１の進行方向推定部１２０と、センサ１３０と、取得部１４０と、設定部１５０と、第２の進行方向推定部１６０と、記憶部１７０と、入力部１８０と、判断部１９０とを備える。
【００１６】
位置取得部１１０は、ユーザーの位置情報を取得する。位置取得部１１０は、ＧＰＳ受信機を有し、複数のＧＰＳ衛星２０からの送信データを受信して携帯端末１０の位置情報を取得する。位置取得部１１０は、例えば、３以上のＧＰＳ衛星２０からの送信データを受信したことに応じて携帯端末１０の緯度および経度を、４以上のＧＰＳ衛星２０からの送信データを受信したことに応じて携帯端末１０の緯度、経度、および高度を、割り出して取得する。位置取得部１１０は、取得した位置情報を第１の進行方向推定部１２０、設定部１５０、および入力部１８０に送信する。
【００１７】
第１の進行方向推定部１２０は、位置取得部１１０に接続され、ユーザーの進行方向を第１の進行方向として推定する。第１の進行方向推定部１２０は、外部の機器またはユーザーから受け取った情報または信号に基づいて、第１の進行方向を推定する。本実施例において、第１の進行方向推定部１２０は、位置取得部１１０がＧＰＳ衛星２０から取得した位置情報に基づいて、第１の進行方向を推定する例を説明する。
【００１８】
第１の進行方向推定部１２０は、一例として、位置取得部１１０から受け取った位置情報の時系列の変化に応じて、ユーザーの進行方向を推定する。この場合、第１の進行方向推定部１２０は、位置取得部１１０から今回受け取った位置情報と、前回受け取った位置情報との差分から、進行方向を推定する。また、第１の進行方向推定部１２０は、複数の位置情報から時系列に複数の差分を得た後に、時間的な移動平均等の演算を施して進行方向を推定してもよい。第１の進行方向推定部１２０は、推定したユーザーの進行方向を第１の進行方向として判断部１９０に送信する。
【００１９】
センサ１３０は、携帯端末に搭載される。センサ１３０は、加速度センサ、角速度センサ、地磁気センサ、および気圧センサのいずれかであってよく、また、これらの組み合わせであってもよい。センサ１３０は、搭載された携帯端末を原点とした直交座標系の３つのｘｙｚ軸のうち少なくとも２軸に対して、加速度、角速度、および／または地磁気の検出結果を出力する。
【００２０】
取得部１４０は、複数のセンサ１３０に接続され、センサ１３０からの出力信号を取得する。取得部１４０は、携帯端末１０の移動および静止といった保持状態に応じたセンサ１３０からの出力信号を取得する。取得部１４０は、一例として、ユーザが携帯端末１０を所持して歩行する場合、センサ１３０から、ユーザの歩行に伴う携帯端末１０の移動に応じた出力信号を取得する。取得部１４０は、取得した出力信号を、第２の進行方向推定部１６０に送信する。
【００２１】
設定部１５０は、位置取得部１１０に接続され、位置取得部１１０から受け取った位置情報を、第２の進行方向を推定する場合の初期位置として設定する。設定部１５０は、進行方向推定装置１００が進行方向として第２の進行方向を出力し続けていても、位置取得部１１０から新たに位置情報を受け取った場合は、当該新たな位置情報を第２の進行方向の初期位置として設定してよい。設定部１５０は、初期位置の設定情報を第２の進行方向推定部１６０に送信する。
【００２２】
第２の進行方向推定部１６０は、第１の進行方向推定部とは異なる推定方法でユーザーの進行方向を第２の進行方向として推定する。第２の進行方向推定部１６０は、当該携帯端末１０内で検出される情報に基づいて第２の進行方向を推定する。即ち、第２の進行方向推定部１６０は、取得部１４０に接続され、取得部１４０から受け取ったセンサ１３０からの出力信号に基づき、自律航法によってユーザーの進行方向を推定する。
【００２３】
第２の進行方向推定部１６０は、一例として、進行方向の変化を累積してユーザーの進行方向を推定する。より具体的には、第２の進行方向推定部１６０は、センサ１３０の出力信号を積算することにより、ユーザーの進行方向を推定する。この場合、第２の進行方向推定部１６０は、予め記憶されたユーザーの進行方向に伴う出力信号の変化パターンと、センサ１３０からの出力信号とを比較して、ユーザーの進行方向を推定してもよい。第２の進行方向推定部１６０は、推定したユーザーの進行方向を第２の進行方向として判断部１９０に送信する。
【００２４】
記憶部１７０は、ユーザーの進行方向に応じて、センサ１３０が出力する信号の変化パターンを記憶する。例えば、記憶部１７０は、複数の進行方向のそれぞれについて、予めサンプリングされた出力信号のパターンに基づく変化パターンをそれぞれ記憶する。これに代えて、またはこれに加えて、記憶部１７０は、出力信号のパターンを記憶してもよい。これに代えて、またはこれに加えて、記憶部１７０は、出力信号のパターンの特徴を分析した結果を記録してもよい。
【００２５】
入力部１８０は、表示部１２に接続され、ユーザーからの指示が入力される。入力部１８０は、例えば、ＧＰＳによる測位から自律航法による測位への切り替えの指示、または自律航法による測位からＧＰＳによる測位への切り替えの指示が入力される。
【００２６】
また、入力部１８０は、位置取得部１１０に接続され、ＧＰＳ衛星２０からの送信データが入力されてよい。入力部１８０は、ユーザーからの指示が入力されず、かつ、複数のＧＰＳ衛星２０からの送信データを位置取得部１１０が受信している場合、ＧＰＳによる測位の指示が入力されていると判断する。入力部１８０は、ユーザーからの指示が入力されず、かつ、複数のＧＰＳ衛星２０からの送信データを位置取得部１１０が受信していない場合、自律航法による測位の指示が入力されていると判断する。入力部１８０は、入力された指示を判断部１９０に通知する。
【００２７】
判断部１９０は、第１の進行方向推定部１２０および第２の進行方向推定部１６０にそれぞれ接続され、第１の進行方向および第２の進行方向の少なくとも一方を用いてユーザーの進行方向を判断する。判断部１９０は、入力部１８０に接続され、入力部１８０から受け取った指示に応じて、第１の進行方向および第２の進行方向のいずれかを推定結果として出力する。
【００２８】
判断部１９０は、ユーザーの進行方向として第１の進行方向から第２の進行方向に切り替えて出力する場合に、第１の進行方向をユーザーの進行方向として推定されてから予め定められた時間の間は第１の進行方向を用いてユーザーの進行方向を判断し、予め定められた時間の経過後に第２の進行方向をユーザーの進行方向として判断する。
【００２９】
以上の進行方向推定装置１００は、ユーザーの指示、またはＧＰＳ衛星２０からの送信データの受信の有無に応じて、ＧＰＳによる測位結果である第１の進行方向および自律航法による測位結果である第２の進行方向のいずれかを推定結果として出力する。そして、進行方向推定装置１００は、第１の進行方向から第２の進行方向へと出力を切り替える場合に、切り替えるタイミングを制御して推定結果を出力する。
【００３０】
図３は、本実施形態に係る進行方向推定装置１００の動作フローを示す。進行方向推定装置１００は、図３に示す動作フローを実行することにより、携帯端末１０を所持するユーザーの進行方向を推定する。
【００３１】
まず、位置取得部１１０は、複数のＧＰＳ衛星２０からの送信データを受信して携帯端末１０の位置情報を取得する（Ｓ３１０）。位置取得部１１０は、少なくとも３以上のＧＰＳ衛星２０からの送信データを受信して携帯端末１０の位置情報を取得した場合（Ｓ３２０：Ｙｅｓ）、取得した位置情報を、第１の進行方向推定部１２０、設定部１５０、および入力部１８０に送信する。
【００３２】
次に、設定部１５０は、位置取得部１１０から受け取った位置情報を、初期位置の設定情報として第２の進行方向推定部１６０に送信して、第２の進行方向を推定する場合の初期位置を設定する（Ｓ３３０）。また、第１の進行方向推定部１２０は、位置取得部１１０から受け取った位置情報に基づいて、第１の進行方向を推定する（Ｓ３４０）。第１の進行方向推定部１２０は、推定した第１の進行方向を判断部１９０に送信する。
【００３３】
また、入力部１８０は、位置取得部１１０が携帯端末１０の位置情報を取得したことを判断部１９０に通知する。この場合、入力部１８０は、ユーザからの指示が入力されていないことを条件として、ＧＰＳによる測位の指示が入力されていることを通知する。
【００３４】
一方、位置取得部１１０は、３未満のＧＰＳ衛星２０からの送信データしか受信できなかった場合（Ｓ３２０：Ｎｏ）、位置情報を取得できなかったことを入力部１８０を介して判断部１９０に通知する。この場合、入力部１８０は、ユーザからの指示が入力されていないことを条件として、自律航法による測位の指示が入力されていることを通知する。また、この場合、第１の進行方向推定部１２０は、第１の進行方向を推定しなくてよい。
【００３５】
また、取得部１４０は、センサ１３０からの出力信号を取得する（Ｓ３５０）。ここで、取得部１４０は、位置取得部１１０の位置情報の取得と並行して、センサ１３０からの出力信号を取得してもよい。取得部１４０は、取得した出力信号を、第２の進行方向推定部１６０に送信する。
【００３６】
次に、第２の進行方向推定部１６０は、取得部１４０から受け取ったセンサ１３０からの出力信号に応じて、第２の進行方向を推定する（Ｓ３６０）。ここで、第２の進行方向推定部１６０は、第１の進行方向推定部１２０の第１の進行方向の推定と並行して、第２の進行方向を推定してもよい。
【００３７】
第２の進行方向推定部１６０は、例えば、加速度センサおよび／または角速度センサの検出結果より、携帯端末１０の空間配置に対する携帯端末１０の移動方向を推定する。第２の進行方向推定部１６０は、角速度センサの出力信号を積算することにより、ユーザーの進行方向を推定することが望ましい。また、第２の進行方向推定部１６０は、地磁気センサの検出結果より、携帯端末１０の空間配置または保持状態を推定してもよい。
【００３８】
また、第２の進行方向推定部１６０は、気圧センサの検出結果より、携帯端末１０の高度が変化しているか否かを検出してもよい。即ち、第２の進行方向推定部１６０は、ユーザが階段、エスカレータ、またはエレベータ等を用いて移動しても、気圧センサの検出結果と他のセンサの検出結果とを組み合わせることで、ユーザーの移動方向を推定することができる。
【００３９】
第２の進行方向推定部１６０は、記憶部１７０に接続され、複数のセンサ１３０が出力するそれぞれの信号の変化パターンまたは出力信号と、記憶された複数の変化パターンまたは出力信号とをマッチングして、ユーザーの移動方向を推定してもよい。第２の進行方向推定部１６０は、推定した第２の進行方向を判断部１９０に送信する。
【００４０】
判断部１９０は、入力部１８０から受け取った指示に応じて、第１の進行方向および第２の進行方向のいずれかを推定結果として出力する（Ｓ３７０）。即ち、判断部１９０は、入力部１８０からＧＰＳによる測位の指示が通知された場合、第１の進行方向を推定結果として出力する。これによって、判断部１９０は、ユーザーからＧＰＳによる測位の指示が入力されたこと、またはユーザの指示がない場合はＧＰＳ衛星２０から携帯端末１０の位置情報の取得したことに応じて、ＧＰＳによる測位結果を推定結果として出力することができる。
【００４１】
また、判断部１９０は、入力部１８０から、自律航法による測位の指示が通知された場合、第２の進行方向を推定結果として出力する。これによって、判断部１９０は、ユーザーから自律航法による測位の指示が入力されたこと、またはユーザの指示がない場合はＧＰＳ衛星２０から携帯端末１０の位置情報の取得できなかったことに応じて、自律航法による測位結果を推定結果として出力することができる。
【００４２】
ここで、判断部１９０は、第２の進行方向推定部１６０の進行方向の推定結果が安定するまでの間、第１の進行方向推定部１２０の推定結果をユーザーの進行方向として出力する。即ち、判断部１９０は、ユーザーの進行方向として第１の進行方向から第２の進行方向に切り替えて出力する場合に、第１の進行方向をユーザーの進行方向として推定されてから予め定められた時間の間は第１の進行方向を用いてユーザーの進行方向を出力し、予め定められた時間の経過後に第２の進行方向をユーザーの進行方向として出力する。
【００４３】
判断部１９０は、予め定められた時間を、例えば、ユーザーが１歩歩行する時間以上で、１０歩程度歩行する時間以下の時間に設定する。判断部１９０は、予め定められた時間を、好ましくはユーザーが２歩歩行する時間以上で、５歩程度歩行する時間以下の時間に設定する。より好ましくは、判断部１９０は、予め定められた時間をユーザーが４歩程度歩行する時間に設定する。一例として、判断部１９０は、予め定められた時間を略２秒とする。
【００４４】
これによって、例えば、ユーザーが手動でＧＰＳから自律航法システムに切り替える場合において、静止した状態で操作をしてから動き出しても、判断部１９０は、予め定められた時間はＧＰＳによる進行方向の推定結果を出力し、第２の進行方向推定部１６０の進行方向の推定結果が安定してから自律航法システムによる進行方向の推定結果を出力することができる。したがって、本実施形態の進行方向推定装置１００は、ユーザーの姿勢揺らぎに起因する進行方向の推定精度の低下を防止することができる。
【００４５】
進行方向推定装置１００は、ステップＳ３１０からステップＳ３７０の動作フローを、携帯端末１０の進行方向の推定動作が終了するまで繰り返す（Ｓ３８０）。ここで、第２の進行方向推定部１６０は、繰り返して実行する推定動作の推定結果を累積させる。第２の進行方向推定部１６０は、一例として、前回の進行方向の推定結果がユーザーの直進方向に対して右に１０度曲がった方向であり、今回の進行方向の推定結果が更に右に２０度曲がった方向の場合、累積させて、ユーザーの直進方向に対して３０度曲がった方向を推定結果として出力する。
【００４６】
また、第２の進行方向推定部１６０は、設定部１５０によって設定された初期位置からの累積された進行方向の推定結果を出力する。ここで、設定部１５０は、位置取得部１１０から新たに位置情報を受け取った場合、当該新たな位置情報を第２の進行方向の初期位置として設定する。これにより、第２の進行方向推定部１６０は、誤差の累積によって生じる携帯端末１０の位置ずれをリセットすることができ、精度よく進行方向の推定結果を出力することができる。
【００４７】
以上の本実施形態の進行方向推定装置１００によれば、ＧＰＳによる測位方法から自律航法に切り替えても、自律航法による進行方向の推定結果に生じる誤差を低減させることができる。ここで、進行方向推定装置１００は、自律航法以外の測位方法の一例として、ＧＰＳによる測位方法を説明した。これに代えて、進行方向推定装置１００は、複数の予め定められた位置に設置された基準点から送信される信号を受信して、位置情報を取得するネットワーク測位による進行方向の推定を第１の進行方向推定部１２０が実行してもよい。
【００４８】
また、これに代えて、進行方向推定装置１００は、自律航法以外の測位方法として、マップマッチングを用いてもよい。この場合、第１の進行方向推定部１２０は、地図情報とユーザーの位置情報とに基づいてユーザーの進行方向を推定する。第１の進行方向推定部１２０は、記憶部１７０に接続され、記憶部１７０から地図情報を取得してよい。
【００４９】
この場合、記憶部１７０は、地図情報を更に記憶する。記憶部１７０は、少なくともユーザーが移動する範囲の地図情報を記憶する。記憶部１７０は、地図情報をベクトルデータとして記憶してよく、これに代えて、画像データとして記憶してもよい。記憶部１７０は、画像データとして地図情報を記憶する場合、複数の縮尺に対応する画像データを記憶することが望ましい。また、記憶部１７０は、一例として、インターネット等のネットワークを介して、外部に記憶された地図情報の少なくとも一部を取得して記憶する。
【００５０】
また、進行方向推定装置１００は、自律航法以外の測位方法として、ユーザーによる位置情報の入力を第１の進行方向の推定として用いてもよい。一例として、ユーザーは、携帯端末１０の表示部１２に地図を表示させ、自分の現在地を入力する。この場合、ユーザーは、現在地と共に進行方向も入力する。
【００５１】
また、第１の進行方向推定部１２０は、ユーザが入力した位置情報から進行方向の候補を推定して、ユーザーに選択させてもよい。第１の進行方向推定部１２０は、例えば、ユーザーが道路、エスカレータ、階段、および廊下等を現在地として入力した場合、これらの進行方向を候補として推定する。進行方向推定装置１００は、ユーザーが位置情報および進行方向を入力した後に歩行動作を開始しても、予め定められた時間は当該入力された進行方向を用いることで、ユーザーの姿勢揺らぎに起因する進行方向の推定精度の低下を防止することができる。
【００５２】
また、進行方向推定装置１００は、ユーザによる入力値そのものを、第１の進行方向の推定として用いてもよい。また、位置と進行方向が固定され、基準位置となる建物、通路、および空間をユーザーが入力することを、第１の進行方向の推定として用いてもよい。この場合、ユーザーは、位置と進行方向が固定された基準位置に対応する予め定められたＩＤ等を入力してもよく、これに代えて、地図上の基準位置を指定してもよい。一例として、ユーザーは、駅の改札等の設置された位置とユーザーの進行方向とが予め定められた基準位置を指定する。これによって、第１の進行方向推定部１２０は、ユーザーの進行方向を基準位置の予め定められた方向に推定することができる。また、駅の改札等の場合には、ユーザーの入力は意図的なものでなくてもよく、改札を通過する行為により得られる副次的な情報に基づいて、第１の進行方向を推定してもよい。
【００５３】
これに代えて、進行方向推定装置１００は、電子コンパスによる測位方法を、第１の進行方向の推定方法として用いてもよい。この場合、第１の進行方向推定部１２０は、地磁気センサに接続され、地磁気センサの検出結果に応じて携帯端末１０の位置情報を取得する。そして、進行方向推定装置１００は、一例として、時系列に取得した位置情報の差分から、ユーザーの進行方向を推定する。
【００５４】
以上の本実施形態の進行方向推定装置１００は、自律航法における進行方向の推定を、第２の進行方向の推定に用いる例を説明したが、これに限られず、上記の測位方法の何れかであってもよい。即ち、異なる測位方法によってユーザーの進行方向を推定する進行方向推定装置１００であって、一の測位方法から、当該一の測位方法に比べて相対的に誤差が大きく信頼性が劣る他の測位方法に切り替わる場合に、予め定められた時間は一の測位方法で推定された進行方向を用いる。これによって、進行方向推定装置１００は、ユーザーの姿勢揺らぎに起因する進行方向の推定精度の低下を防止することができる。
【００５５】
図４は、本実施形態に係る進行方向推定装置１００として機能するコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、例えば、携帯端末１０の内部に搭載される。これに代えて、コンピュータ１９００は、携帯端末１０の外部に備えられ、携帯端末１０からのセンサ出力を受信して、進行方向の推定結果等を携帯端末１０に送信してもよい。この場合、コンピュータ１９００は、一例として、携帯端末１０と無線で送受信する。
【００５６】
コンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、および表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、記憶部２０４０、入出力部２０６０と、ＲＯＭ２０１０と、カードスロット２０５０と、入出力チップ２０７０とを備える。
【００５７】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００およびグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０およびＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００５８】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、記憶部２０４０、入出力部２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。記憶部２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラムおよびデータを格納する。記憶部２０４０は、不揮発性メモリであり、例えば、フラッシュメモリまたはハードディスク等である。
【００５９】
入出力部２０６０は、コネクタ２０９５と接続され、外部とプログラムまたはデータを送受信し、ＲＡＭ２０２０を介して記憶部２０４０に提供する。入出力部２０６０は、規格化されたコネクタおよび通信方式で外部と送受信してよく、この場合、入出力部２０６０は、ＵＳＢ、ＩＥＥＥ１３９４、ＨＤＭＩ（登録商標）、またはＴｈｕｎｄｅｒｂｏｌｔ（登録商標）等の規格を用いてよい。また、入出力部２０６０は、Ｂｌｕｅｔｏｏｔｈ（登録商標）等の無線通信規格を用いて外部と送受信してもよい。
【００６０】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、カードスロット２０５０、および入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、および／または、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。カードスロット２０５０は、メモリカード２０９０からプログラムまたはデータを読み取り、ＲＡＭ２０２０を介して記憶部２０４０に提供する。入出力チップ２０７０は、カードスロット２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続してもよい。
【００６１】
ＲＡＭ２０２０を介して記憶部２０４０に提供されるプログラムは、入出力部２０６０を介して、またはメモリカード２０９０等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内の記憶部２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００６２】
プログラムは、コンピュータ１９００にインストールされ、コンピュータ１９００を位置取得部１１０、第１の進行方向推定部１２０、取得部１４０、設定部１５０、第２の進行方向推定部１６０、記憶部１７０、入力部１８０、および判断部１９０として機能させる。
【００６３】
プログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である位置取得部１１０、第１の進行方向推定部１２０、取得部１４０、設定部１５０、第２の進行方向推定部１６０、記憶部１７０、入力部１８０、および判断部１９０として機能させる。そして、この具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算または加工を実現することにより、使用目的に応じた特有の進行方向推定装置１００が構築される。
【００６４】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、記憶部２０４０、メモリカード２０９０、または入出力部２０６０を介して接続される記憶装置等に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置または通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０または記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００６５】
また、ＣＰＵ２０００は、記憶部２０４０、メモリカード２０９０、または入出力部２０６０を介して接続される記憶装置等に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、および／または記憶装置に含まれるものとする。
【００６６】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（または不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００６７】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００６８】
以上に示したプログラムまたはモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、メモリカード２０９０の他に、ＤＶＤ、Ｂｌｕ−ｒａｙ（登録商標）、またはＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワークまたはインターネットに接続されたサーバシステムに設けたハードディスクまたはＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００６９】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００７０】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００７１】
１０  携帯端末、１２  表示部、２０  ＧＰＳ衛星、１００  進行方向推定装置、１１０  位置取得部、１２０  第１の進行方向推定部、１３０  センサ、１４０  取得部、１５０  設定部、１６０  第２の進行方向推定部、１７０  記憶部、１８０  入力部、１９０  判断部、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  記憶部、２０５０  カードスロット、２０６０  入出力部、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  メモリカード、２０９５  コネクタ
【図１】
2014224715.tif 000003
【図２】
2014224715.tif 000004
【図３】
2014224715.tif 000005
【図４】
2014224715.tif 000006