(57)【要約】【課題】  情報処理装置、情報処理方法、情報処理システムおよびプログラムを提供すること。【解決手段】歩行者自律航法により位置を取得するための情報処理装置１００は、情報処理装置の位置情報を検知する測位部２５１と、マップ情報を使用して経路候補リストを作成する手段２２３と、情報処理装置の動作情報を検知する進行方向変更検知部２５２と、経路候補リストの経路候補と動作情報とを位置情報に対応づける経路・動作対応付け部２４０とを含み、位置情報と前記経路の類似度を求めて経路候補リストから前記位置情報と前記経路の類似性が最も高い前記経路候補を選択している。【選択図】  図２
2018004560.tif 000002
【特許請求の範囲】
【請求項１】
位置情報をマップ情報に対応付ける情報処理装置であって、
前記位置情報を検知する手段と、
前記マップ情報を使用して一以上の経路候補情報を作成する手段と、
動作情報を検知する手段と、
前記経路候補情報、前記動作情報及び前記位置情報を対応づけた対応情報を作成する手段と、
前記位置情報と前記経路候補情報の類似度を求める手段と、
前記類似度に基づいて前記対応情報を選択する手段と
を含む情報処理装置。
【請求項２】
さらに、前記動作情報を検知するごとに、当該動作情報、前記経路候補情報及び前記位置情報を対応づけた対応情報を作成する手段を含む、請求項1に記載の情報処理装置。
【請求項３】
さらに、前記位置情報を検知するごとに、当該位置情報と前期経路候補情報の類似度を求める手段を含む、請求項１又は２に記載の情報処理装置。
【請求項４】
さらに、進行方向変更位置間の距離、進行方向変更位置間の角度差及び進行方向における垂直方向の距離差に基づいて前記類似度を求める手段を含む、請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
位置情報を検知するステップと、
マップ情報を使用して一以上の経路候補情報を作成するステップと、
動作情報を検知するステップと、
前記経路候補情報、前記動作情報及び前記位置情報を対応づけた対応情報を作成するステップと、
前記位置情報と前記経路候補情報の類似度を求めるステップと、
前記類似度に基づいて前記対応情報を選択するステップと
を含む情報処理方法。
【請求項６】
さらに、前記動作情報を検知するごとに、当該動作情報、前記経路候補情報及び前記位置情報を対応付けた対応情報を作成するステップを含む、請求項５に記載の情報処理方法。
【請求項７】
さらに、前記位置情報を検知するごとに、当該位置情報と前期経路候補情報の類似度を求めるステップを含む、請求項５又は６に記載の情報処理方法。
【請求項８】
さらに、進行方向変更位置間の距離、進行方向変更位置間の角度差及び進行方向における垂直方向の距離差に基づいて前記類似度を求めるステップを含む、請求項５乃至７のいずれか１項に記載の情報処理方法。
【請求項９】
情報処理装置が実行するプログラムであって、
情報処理装置を、
位置情報を検知する手段、
マップ情報を使用して一以上の経路候補情報を作成する手段、
動作情報を検知する手段、
前記経路候補情報、前記動作情報及び前記位置情報を対応づけた対応情報を作成する手段と、
前記位置情報と前記経路候補情報の類似度を求める手段と、
前記類似度に基づいて前記対応情報を選択する手段
として機能させる、装置実行可能なプログラム。
【請求項１０】
情報処理装置と、
ネットワークを通して前記情報処理装置と接続され、地図情報又は前記地図情報に関連づけたマップ情報を提供するサーバ装置とを含み、
位置情報を検知する手段と、
マップ情報を使用して一以上の経路候補情報を作成する手段と、
動作情報を検知する手段と、
前記経路候補情報、前記動作情報及び前記位置情報を対応づけた対応情報を作成する手段と、
前記位置情報と前記経路候補情報の類似度を求める手段と、
前記類似度に基づいて前記対応情報を選択する手段と
を含む、情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、情報処理システムおよびプログラムに関する。
【背景技術】
【０００２】
屋内測位技術の１つとして加速度センサ・角速度センサなどの出力を利用し相対位置を求める歩行者自律航法技術や、測位結果と地図情報から補正した位置または通過経路を求めるマップ・マッチングの技術が既に知られている。
【０００３】
歩行者自律航法技術に対し測位結果を元にマップ・マッチングを行う技術として、例えば、進行方向変更動作（道を曲がる動き）を検知し、経路の進行方向変更位置（曲がる位置）と検知した位置を対応させることで大きくなった誤差を補正する技術が既に知られている。
【０００４】
ここで、歩行者に対して、歩行者自律航法技術で測位した測位結果を元に、マップ・マッチングを行う場合について考える。歩行者自律航法技術には、測位する距離が長くなるにつれ測位結果の誤差が大きくなるという特徴がある。また、歩行者は、道の中で物をよけるように曲がって歩いたり、何かの拍子に体を振ったり、何かを見るために道の端に行ったりと、複雑な動きをする。そのため、動作としては、曲がる動作をしているが、道を曲がっていないこともある。このため、歩行者自律航法技術で測位した測位結果を元に、マップ・マッチングを行うためには、歩行者自律航法技術の測位する距離が長くなるにつれ測位結果の誤差が大きくなるという歩行者自律航法の特徴がさらに顕在化することが想定される。
【０００５】
歩行者自律航法技術の特徴を考慮し、マップ・マッチングを行う技術として、例えば特許５０５９９３２号明細書（特許文献１）、歩行者自律航法機能を有する移動端末における測位誤差の蓄積を解消するため、ルート上の各地点で適宜位置補正する技術がある。
【０００６】
しかしながら、特許文献１に記載の技術では、歩行者が複雑な動きをしたり、大きくなった測位結果の誤差により経路を間違えたりした場合に、間違った検知位置と経路の進方向変更位置を対応づけ、それを用いて間違った補正を行うという問題点があった。また、その後正しい絶対位置の取得がなければ間違った検知位置と経路の進行方向変更位置を対応づけ、それを用いて間違った補正を行うという問題があった。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、精度よく移動状態を認識する情報処理装置、情報処理方法、情報処理システムおよびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
すなわち、本発明によれば、
位置情報をマップ情報に対応付ける情報処理装置であって、
前記位置情報を検知する手段と、
前記マップ情報を使用して経路候補リストを作成する手段と、
動作情報を検知する手段と、
前記経路候補リストの経路候補と前記動作情報とを前記位置情報に対応づける手段と、
前記位置情報と前記経路候補の類似度を求める手段と、
前記位置情報と前記経路候補の類似度に基づいて前記経路候補を選択する手段と
を含む情報処理装置が提供される。
【発明の効果】
【０００９】
本発明によれば、精度よく移動状態を認識する情報処理装置、情報処理方法、情報処理システムおよびプログラムを提供することが可能となる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態の情報処理システムに使用される情報処理装置１００のハードウェア・ブロック図。
【図２】本実施形態の情報処理装置１００の機能ブロックを示す図。
【図３】本実施形態の経路・動作の対応付け処理部２４０の詳細な機能ブロックを示す図。
【図４】本実施形態で使用するリスト作成処理のフローチャート
【図５】本実施形態の類似度算出部２４５の機能ブロックを示す図。
【図６】本実施形態で使用するマップ情報６００を説明する図。
【図７】本実施形態で使用した順路７００および経路候補７１０の実施形態を示す図。
【図８】ユーザ（情報処理装置１００）の運動を、歩行者自律航法により算出した測定結果を、時系列的に示した図。
【図９】本実施形態で作成されるセット情報作成部２４４の更新に伴うデータ構造の変化を示す。
【図１０】図８の１１番目の測定結果まで進んだ段階でのセット情報のデータ構造を示す図。
【図１１】本実施形態における垂直方向距離類似度算出の概念を示す図。
【発明を実施するための形態】
【００１１】
以下、本発明を実施形態により説明するが、本発明は、後述する実施形態に限定されるものではない。図１は、本実施形態の情報処理システムに使用される情報処理装置１００のハードウェア・ブロック図を示す。情報処理装置１００は、例えば携帯電話、スマートホン、ＰＤＡ（Personal Digital Assistant）またはノートブック型パーソナルコンピュータとして構成され、ユーザが手に持って持ち運ぶことのできる装置として構成することができる。
【００１２】
図1に示したハードウェア・ブロック図は、情報処理装置１００が、スマートホンといった携帯端末の場合を例示的に示したものである。情報処理装置１００は、ＣＰＵ１０８、ＲＡＭ１０９、ＲＯＭ１１０を備えている。ＣＰＵ１０８は、慣性装置の動作制御を行うプログラムを実行し、ＲＡＭ１０９は、ＣＰＵ１０８のワークエリア等を提供する。ＲＯＭ１１０は、ＣＰＵ１０８が実行するプログラムおよびプログラムの実行に必要なデータを記憶する。
【００１３】
さらに情報処理装置１００は、加速度センサ１１１と、角速度センサ１１２と、地磁気センサ１１３と、気圧センサ１１４とを含んで構成することができる。加速度センサ１１１は、３軸方向それぞれの加速度を検出し、角速度センサ１１２は、３軸方向それぞれの角速度を検出しており、また地磁気センサ１１３は、磁北をあらわす３次元ベクトルを出力し、情報処理装置１００の向きを検出する。
【００１４】
加速度センサ１１１、角速度センサ１１２および地磁気センサ１１３は、モーションセンサを構成し、ユーザの歩数および進行方向を検出する。加速度センサ１１１、角速度センサ１１２、および地磁気センサ１１３は、本実施形態における慣性情報を提供する機能手段である。
【００１５】
さらに情報処理装置１００は、気圧センサ１１４を含んで構成される。気圧センサ１１４は、ユーザ、すなわちユーザが携行する情報処理装置１００の周囲の気圧を検出するために搭載され、気圧センサ１１４の情報を基にして、ユーザの高度方向の変化を検出し、モーションセンサが取得した２次元位置座標情報に対して高度情報を追加し、３次元位置座標内でのユーザの位置を決定することを可能としている。
【００１６】
その他、情報処理装置１００は、マイク１０１と、スピーカ１０２と、第１通信部１０３と、第２通信部１０４とを備えている。マイク１０１は、ユーザの声等の音声を電気信号に変換し、電話通信などを可能とする。スピーカ１０２は、電話通信などの着呼の音声を発生させたり、電話通信回線で受信した電気信号から変換された音声信号を出力したりする。さらに第１通信部１０３は、Ｗｉｆｉ、３Ｇ、４Ｇ、ＬＴＥといった広域ネットワークに接続するための通信処理を行う。第２通信部１０４は、例えばＢｌｕｅｔｏｏｔｈ（登録商標）、ＩＲＤＡまたは近距離無線通信など短距離の通信を提供する処理を行う。
【００１７】
さらに、情報処理装置１００は、位置情報受信部１０５と、表示部１０６と、入力部１０７とを含んでいる。情報処理装置１００は、ＧＰＳ衛星やＩＭＥＳ(Indoor Messaging Service)によって送信される測位信号を受信して、ユーザの位置座標を取得させている。また、表示部１０６および入力部１０７は、液晶ディスプレイなどを使用したタッチパネル機能を提供し、情報処理装置１００とユーザの間のユーザ・インタフェースを提供する。なお、マイク１０１、スピーカ１０２、各通信部１０３、１０４、位置情報受信部１０５、表示部１０６および入力部１０７は、任意的な構成要素であり、本実施形態の情報処理装置１００は、図1に示したすべてのハードウェア機能部を実装する必要はない。
【００１８】
また、さらに他の実施形態では、情報処理装置１００は、メモリカード・インタフェース、ＵＳＢインタフェース、撮像デバイスなどを実装していても良い。情報処理装置１００が使用するＣＰＵ１０８としては、より具体的には、情報処理装置１００の実装に応じて、例えば、ＰＥＮＴＩＵＭ（登録商標）〜ＰＥＮＴＩＵＭ  ＩＶ（登録商標）、ＰＥＮＴＩＵＭ（登録商標）互換ＣＰＵ、ＰＯＷＥＲ  ＰＣ（登録商標）、ＭＩＰＳ、Ｔｅｇｒａ登録商標）、Ｓｎａｐｄｒａｇｏｎ（登録商標）、Ｈｅｌｉｏ（登録商標）などを挙げることができる。
【００１９】
使用するオペレーティング・システム（ＯＳ）も、情報処理装置１００の実装に応じて、ＭａｃＯＳ（商標）、ｉ−ＯＳ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）、ＣＨＲＯＭＥ（登録商標）、ＡＮＤＲＯＩＤ（登録商標）、Ｗｉｎｄｏｗｓ（登録商標）２００Ｘ  Ｓｅｒｖｅｒ、ＵＮＩＸ（登録商標）、ＡＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）またはそれ以外の適切なＯＳを挙げることができる。さらに、情報処理装置１００は、上述したＯＳ上で動作する、Ｃ、Ｃ＋＋、Ｖｉｓｕａｌ  Ｃ＋＋、ＶｉｓｕａｌＢａｓｉｃ、Ｊａｖａ（登録商標）、Ｐｅｒｌ、Ｒｕｂｙなどのプログラミング言語、いわゆる「アプリ」として参照されるスマートホンに多く利用されるプログラミング言語などにより記述されたアプリケーション・プログラムを格納し、実行することが可能とされている。
【００２０】
本実施形態の情報処理装置１００は、ＬＴＥ、３Ｇ、４Ｇ、Ｗｉｆｉ、ＩＥＥＥ８０２．１１ｘといった無線通信を使用してインターネットといったネットワーク１２０に接続されている。ネットワーク１２０には、サーバ装置１３０が接続されていて、マップ情報を情報処理装置１００に対して提供するとともに、歩行者自律航法による位置情報の提供を可能としている。
【００２１】
サーバ装置１３０は、ＣＰＵ、メモリ、ハードディスクなどを含む情報処理装置として実装することができる。サーバ装置１３０の含むＣＰＵとして、例えば、ＰＥＮＴＩＵＭ（登録商標）〜ＰＥＮＴＩＵＭ  ＩＶ（登録商標）、ＡＴＯＭ(登録商標）、ＣＯＲＥ２ＤＵＯ（登録商標）、ＣＯＲＥ２ＱＵＡＤ（登録商標）、ＣＯＲＥｉ（登録商標）シリーズなどの他、ＸＥＯＮ(登録商標）、ＰＥＮＴＩＵＭ（登録商標）互換ＣＰＵ、ＰＯＷＥＲ  ＰＣ（登録商標）などを使用することができる。ただし、使用するＣＰＵは、挙これらに限定されるものではない。
【００２２】
使用するオペレーティング・システム（ＯＳ）としては、ＷｉｎｄｏｗｓＳｅｒｖｅｒ（登録商標）、ＵＮＩＸ（登録商標）、ＬＩＮＵＸ（登録商標）、ＯＰＥＮＢＳＤまたはそれ以外の適切なＯＳを挙げることができる。さらに、サーバ装置１３０は、上述したＯＳ上で動作する、アセンブラ言語、Ｃ、Ｃ＋＋、Ｖｉｓｕａｌ  Ｃ＋＋、ＶｉｓｕａｌＢａｓｉｃ、Ｊａｖａ（登録商標）、ＪａｖａＳｃｒｉｐｔ（登録商標）、Ｐｅｒｌ、Ｒｕｂｙなどのプログラミング言語により記述されたアプリケーション・プログラムを格納し、実行することができる。
【００２３】
本実施形態においては、情報処理装置１００は、本実施形態の情報処理方法を実行し、歩行者自律航法による誤差を補正する機能を実装することができる。また他の実施形態では、サーバ装置１３０は、マップ情報を提供する他、本実施形態の情報処理方法を実行し、その結果を情報処理装置１００に返すことで、歩行者自律航法による誤差の補正を可能とすることもできる。
【００２４】
図２は、本実施形態の情報処理装置１００の機能ブロックを示す。情報処理装置１００の機能ブロックは、ユーザ・インタフェース２１０、位置補正処理部２３０、経路・動作の対応付け処理部２４０、経路管理部２２０、および動作検知部２５０を備えている。ユーザ・インタフェース２１０は、さらに目的地取得部２１１と表示部２１２とを含んでおり本実施形態におけるユーザ・インタフェース手段に相当する。なお本実施形態の後述する各機能部および機能手段は、装置実行可能なプログラムを、ＲＡＭ１０９内に展開し、ＣＰＵ１０８がプログラムを実行することにより、装置上に実現されるものである。
【００２５】
目的地取得部２１１は、本実施形態における目的地を取得する手段に相当し、例えばタッチパネルといった入力手段を介してユーザが指定する目的地を取得する。表示部２１２は、ユーザ入力を促す表示を行う他、歩行者自律航法により与えられるユーザの位置、マップなどを表示する。
【００２６】
経路管理部２２０は、地図情報管理部２２１と、順路作成部２２２と、経路候補作成部２２３とを備えており本実施形態における経路候補リストを作成する手段に相当する。地図情報管理部２２１は、例えば地図上の特定の位置であるノード、と各ノード間を結ぶリンクとから構成されたグラフ情報として、地図情報を管理する。順路作成部２２２は、例えば、目的地取得部２１１が目的地を取得したときに、最新の測位結果を出発地として設定する。測位結果は、位置・エリアなどであり、道が特定できていることが望ましい。また、出発地の候補や目的地の候補は、それぞれ複数存在していてもよい。
【００２７】
そして、順路作成部２２２は、現在地から目的地までに進む順路を、地図情報から少なくとも１以上決定する。本実施形態では、１つの順路は、例えば、出発地、交差点、十字路その他進行方向を変更できる地図上の位置（道を曲がる位置を示すノード）および目的地のペアとして表現することができる。
【００２８】
経路候補作成部２２３は、例えば、順路の進行方向変更位置までを抽出し、経路候補として、経路候補リストを作成する。また、他の実施形態、例えば自由に歩いている歩行者の測位の場合、測位している間に通った可能性がある経路候補を地図情報から検索して経路候補リストを作成することができる。経路候補リストを構成する１つの経路は、例えば、出発地、進行方向変更位置、直前進行方向などとして表現することができる。経路候補作成部２２３は、本実施形態における一以上の経路候補情報を取得する手段に相当する。
【００２９】
さらに本実施形態の情報処理装置１００はその機能ブロックとして、動作検知部２５０を含んでいる。動作検知部２５０は、測位部２５１と、進行方向変更検知部２５２とを含んで構成することができ、例えば測位結果として、外部との通信時の位置や存在エリアを、無線局の位置、ビーコンの位置、またはＧＰＳ情報などを使用して決定する。その他、測位方式としては、Ｗｉ―Ｆｉや地磁気のフィンガープリント、ＢＬＥや非可聴音のビーコン測位、複数の測位を組み合わせたハイブリット測位などを使用することができる。さらに本実施形態では、歩行者自律航法、または歩行者自律航法と他の測位を組み合わせたハイブリット測位を使用することができる。なお、動作検知部２５０の測位部２５１が本実施形態の位置情報を検知する手段に相当し、進行方向変更検知部２５０が本実施形態の動作情報を検知する手段およびに相当する。
【００３０】
また、歩行者自律航法を使用する場合には、例えば加速度センサや角速度センサなどの出力を利用して進行方向と進んだ距離とを求め、移動位置を求める。そして、測位部２５１は、取得した結果を、（時刻、位置）というベクトルとして表現することができる。
【００３１】
進行方向変更検知部２５２は、例えば、角速度センサによりユーザが回転したことを進行方向変更動作として検知する。他の実施形態では、進行方向変更検知部２５２は、測位結果から進行方向ベクトルを求め、その角度差から、進行方向変更動作を検知することもできる。進行方向変更検知部２５２は、取得した結果を、例えば、進行方向を変更した時刻・進行方向変更前後の角度差のペアとして格納する。なお、特定の実施形態においては、角度差を記録しなくても良い。
【００３２】
さらに本実施形態の情報処理装置１００は、その機能ブロックとして、位置補正処理部２３０および経路・動作の対応付け処理部２４０を含んでいる。位置補正処理部２３０は、例えば、経路・動作の対応付け処理部２４０が対応づけた、経路および検知結果から、測位部２５１で求めた測位結果を補正する。
【００３３】
位置補正処理部２３０は本実施形態の補正する手段に相当する。表示部２１２は、例えば位置補正処理部２３０が補正した結果や、ナビゲーションのための順路を、マップ情報と共に表示する。経路・動作の対応付け処理部２４０は、経路候補リストと、ユーザ動作の検知結果から、経路と、現在位置の検知結果とを対応付け、セット情報として格納する。
【００３４】
図３は、本実施形態の経路・動作の対応付け処理部２４０の詳細な機能ブロックを示す。なお、図３には、説明の便宜上、他の機能処理部も示している。経路・動作の対応付け処理部２４０は、測位結果取得部２４１と、進行方向変更検知部２４２と、経路候補取得部２４３とを含んでいる。測位結果取得部２４１は、測位部２５１からの位置情報を取得し、進行方向変更検知部２４２は、進行方向の変更についての検知結果を取得する。なお、本実施形態において用語「経路候補リスト」とは、本実施形態における一以上の経路候補情報に相当し、経路候補取得部２４３が取得した出発地から目的地までの可能な順路を構成する経路のうち、現在地に至るまでに進んだ経路と、現在向かっている方向となる経路の候補のリストである。
【００３５】
さらに、経路・動作の対応付け処理部２４０は、セット情報作成部２４４と、類似度算出部２４５と、セット選択部２４６とを含んでいる。なお、本実施形態で用語「セット」とは、経路候補に、経路中の進行方向変更位置（曲がる位置）の数に応じて、進行方向の変更についての検知結果を対応付けた情報を意味する。また本実施形態で用語「セットリスト」とは、本実施形態における対応情報に相当し、初期設定としては情報が出発地のみのセット０が登録される。情報処理装置１００が新しい進行方向の変更についての検知結果を取得するたびに、新たな検知結果に対応するセットが追加される。
【００３６】
セット情報作成部２４４は、本実施形態の対応情報を作成する手段に相当し、経路候補の進行方向変更位置の数に応じて、進行方向の変更についての検知結果を使用して対応付けた経路と、進行方向の変更についての検知結果とを対応付けたセットを作成し、リスト化してセット情報（対応情報）を生成する。セット情報を生成する際の手順としては、例えば進行方向変更検知部２４２が、新しい検知結果を取得するたびにリストを更新していく態様、および検知結果がすでに溜まっている状態で出発位置を起点としてリストを作成する処理を採用することができる。なお、リストを作成する処理は、図４を使用して後述する。
【００３７】
類似度算出部２４５は、本実施形態における類似度を求める手段に相当し、生成したセットごとに、検知結果の検知時の位置で進行方向を変更したと仮定した場合の測位結果と、経路との間の類似性を計算する。なお、類似度の決定については、図５を使用してより詳細に決定する。さらに、セット選択部２４６は、類似度が最も高いセットを、最尤セットとして選択する、本実施形態の対応情報を選択する手段に相当する。セット選択部２４６は、選択したセットの経路および検知結果を対応付けた結果を、例えば、表示部２１２や位置補正部２３０といった他機能２４７に出力して、経路・動作の対応付け処理部２４０の処理は終了する。
【００３８】
図４は、本実施形態で使用するリスト作成処理のフローチャートである。図４の処理は、進行方向変更検知部２４２が検知結果を取得したことをトリガーとして、ステップＳ４００から開始し、ステップＳ４０１で順路カウンタｉ＝０から開始して、順路カウンタｉが、経路候補リストから生成した処理スタート時の順路数の初期値以下であるか否かを判断する。順路カウンタｉが処理スタート時点の初期値以下の場合（ｙｅｓ）、ステップＳ４０２で、０に初期化された経路カウンタｊが、経路候補数以下か否かを判断する。一方、ステップＳ４０１の判断において、順路カウンタｉが順路の初期値数に等しくなり、全順路について処理が終了した場合（ｎｏ）、処理をステップＳ４０８に分岐させて終了する。
【００３９】
ステップＳ４０２で経路カウンタｊが経路候補数以下である場合（ｙｅｓ）、ステップＳ４０３で、経路候補（ｊ）の最後を除く進行方向変更位置のすべてが過不足なくセット（ｉ）の経路と同じであるか否かを判断し、同じではない場合（ｎｏ）、判断するべきセットではないとして処理をステップＳ４０６に分岐させ、経路カウンタｊをインクリメントし、さらにセット情報として抽出するべき他の経路（ｊ）の判断を実行させる。また、ステップＳ４０２で、経路カウンタｊが候補経路数を超えた場合（ｎｏ）処理をステップＳ４０７に分岐させカウンタｉをインクリメントしてさらに他の抽出するべきセットの抽出を行う。
【００４０】
一方、ステップＳ４０３の判断で経路候補（ｊ）の最後を除く進行方向変更位置のすべてが過不足なく順路（ｉ）の経路と同じであるか否かを判断し、同じと判断された場合（ｙｅｓ）、その時点までの経路は、ユーザの動作に対応しているものとして、ステップＳ４０４に処理を進める。ステップＳ４０４では、経路候補（ｊ）の最後の進行方向変更位置は、最新の検知結果の検知時の位置の可能性があるか否かを判断する。ステップＳ４０４の判断が、否定的な結果を返す場合（ｎｏ）、処理をステップＳ４０６に分岐させ、カウンタｊをインクリメントしてセット情報として抽出するべき他の経路候補（ｊ）の探索を行う。
【００４１】
本実施形態において、経路候補リストの経路の最後の進行方向変更位置と、最新検知結果の検知時の位置が同じ可能があるかの確認は、例えば、経路候補リストの経路の最後とひとつ前（ない場合出発地）の進行方向変更位置間の距離と、セットの最後の検知結果の検知時の位置（ない場合出発地）と、最新検知結果の検知時の位置間の距離との比を算出し、その比と、1との差が閾値以下である場合に同一である可能性がある、とすることができる。
【００４２】
また、他の実施形態では、最新検知結果の角度差（測位結果取得部が取得した測位結果から、最新検知結果の検知時以前と、以降の進行方向を求め、それらの方向の角度差を求めてもよい）と、経路候補リストの経路の最後とひとつ前（ない場合出発地）の進行方向変更位置間の方向と、最終進行方向からもとめた角度差との角度差の差が閾値以下である場合に同一である可能性がある、とすることができる。なお、最新検知時以前の進行方向は、セットの最後の検知時の位置と最新検知結果の検知時の位置からでも求めることができる。
【００４３】
一方、ステップＳ４０４の判断において肯定的な結果が返された場合（ｙｅｓ）、ステップＳ４０５で経路候補（ｉ）と、順路（ｉ）の検知時の最新の検知結果とを、セット情報に登録し、ステップＳ４０６で、経路カウンタｊをインクリメントし、処理をステップＳ４０１に分岐させ、抽出するべき経路候補（ｊ）の探索を継続する。なお、ステップＳ４０５でセット情報に追加する場合、セットリストへの追加の前に、例えば、類似度算出部２４５が算出した類似度が閾値以下か否かを判断し、閾値以下のセットを登録しないようにすることで、関係のないセットが追加される無駄を排除することができる。
【００４４】
さらに他の実施形態では、類似度算出部２４５が算出した類似度を使用し、抽出されたセットを類似度が高い順に並び替え、閾値以下のセットを一括して削除することもできる。
【００４５】
図５は、本実施形態の類似度算出部２４５の機能ブロックを示す。類似度算出部２４５は、垂直方向距離類似度算出部２４５−１、進行方向距離類似度算出部２４５−２、角度類似度算出部２４５−３、セット類似度算出部２４５−４を備える。類似度算出部２４５は、セット情報作成部２４４が作成したセットごとに、測位結果取得２４１部が取得した測位結果を検知結果の検知時の位置で進行方向を変更したと考えた場合の経路との類似度を計算する。
【００４６】
進行方向距離類似度算出部では、測位結果を検知結果の検知時の位置ごとに区切り、検知時の位置間と対応する経路の進行方向変更位置間の距離の比をそれぞれで求め、比から進行方向距離類似度を求める。比が1に近い場合や、比の標準偏差が小さい場合、類似度が高い。
【００４７】
垂直方向距離類似度算出部２４５−１は、測位結果を検知結果の検知時の位置ごとに区切り、検知時の位置間の測位結果の進行方向に対して垂直方向の距離を求め、距離の差から垂直方向距離類似度を求める。道幅の情報がある場合、道幅との比を使い、移動距離を計算することもできる。
【００４８】
角度類似度算出部２４５−２は、測位結果を検知結果の検知時の位置ごとに区切り、検知時の位置前後と対応する経路の進行方向変更位置前後の進行方向の角度差を求め、差から角度類似度を求める。角度差が０に近い場合、または角度差の標準偏差が小さい場合、類似度が高いものとして判断する。
【００４９】
さらに、セット類似度算出部２４５−４は、進行方向距離類似度、角度類似度、垂直方向距離類似度が平等に評価できるように重み付けした値の関数、例えば乗算値、加算値などを使用して各類似度を統合し、セットの類似度を計算する。
【００５０】
図６は、本実施形態で使用するマップ情報６００を説明する図である。本実施形態では、マップ情報６００を、ノードと、ノード間を連結するリンクとして表現したグラフとして表現することができる。リンクは、識別値Ｌおよび道幅ＷＬを使用して（Ｌ、ＷＬ）として表現され、実際の地図情報から、道または経路といった移動可能な部分を置換することで対応付けられる。特定の実施形態では、道幅ＷＬは対応付けられなくともよい。
【００５１】
またノードは、識別値Ｎと、位置座標とを使用して（ＮＸｎ、ＮＹｎ：Ｎは、ノードの座標であることを示し、ｎは、ノード識別値である）として表現され、十字路、角、交差点、道の端など、通常、ユーザが角度を変えることができる地点を置換して対応付けられる。なお、図６のリンクは、直線で表現されているが、リンクは、曲線とすることもでき、また、リンクが曲線の場合、曲線のうちで曲率が変化する点に追加のノードを設定することができる。なお、図６に示したマップ情報６００は、サーバ装置１３０が、予め地図情報を解析し、作成しておくことができる。図６の実施形態においては、ノード識別値は、ノード内の数値として、リンク識別値は、リンク上の数値として示す。
【００５２】
以下、本実施形態のデータ構造およびデータ構造に対する処理を、図６を使用して説明する。ユーザは、ユーザ・インタフェース２１０から、目的地を、ノード９(目的ノード）として設定したものとする。そして、ユーザが目的地を設定した位置は、ノード０(出発ノード）であるものとする。目的地取得部２１１が取得した目的地と、測位部２５１が取得した目的地設定時点の位置から、本実施形態では、順路を作成する。
【００５３】
図７は、本実施形態で使用した順路７００および経路候補リスト７１０の実施形態を示す。図７に示す順路は、説明の目的で、ノード０、ノード１、ノード２、ノード３、ノード６を経由してノード９に至る順路を例示的に示す。この他、図６の実施形態のマップ情報からは、ノード０から出発し、ノード４、ノード５、ノード６を経由してノード９に至る順路も想定されるが、これについては説明の便宜上省略する。なお、複数の順路が上述のように存在する場合、最短距離、最短時間など各種の基準の下で出発ノードから目的ノードまでユーザをナビゲートする順路を決定することもできる。
【００５４】
ここで図７を使用して特定の順路１について、順路１を構成する経路候補リスト７１０について説明する。本実施形態において、用語「経路」とは、出発ノードから目的ノードまでの間で、最後に進行方向を変更したノードから見たリンクを形成する反対側のノードと、当該ノードに至るまでに進行方向を変更したノードとにより決定される。すなわち、出発ノード、目的ノードの間で進路を変更した両端ノードとして定義される。経路候補リスト７１０は、経路１として、ノード０が規定される。出発ノードでは、進行方向を変更しないので、出発地以外の欄は空欄として残されている。また、最終進行方向変更位置からの進行方向上の位置は、進む方向を意味する。経路候補７１０の経路１では、ノード1の方向に進んでいるので、ノード1が設定される。
【００５５】
経路２は、出発ノード、進路変更を行った両端ノードとして規定されており、進路変更は、ノード１だけなので、進行方向変更位置２は、空欄とされている。また経路３は、２回目に進行方向を変更するべきノードであるノード３が、進行方向変更位置２に追加されて、経路として規定されている。なお、経路の長さ、複雑さに対応して、進行方向変更位置の欄は適宜追加することができる。
【００５６】
図８は、ユーザ（情報処理装置１００）の運動を、歩行者自律航法により算出した測定結果を、時系列的に示した図である。歩行者自律航法により位置を算出した順を、○内の数値で示し、測定結果０は、計算開始（出発ノード）時であり、その後、歩行者自律航法により計算した測定結果を、例えば所定時間間隔でサンプリングした順に、数値１〜１６までに示す。図６のマップ情報６００との対応付けは、ノード１で進行方向を変化した時点付近が測定結果５である。また図６のノード３で進行方向を変化させた時点付近の測定結果が、測定結果１１である。
【００５７】
進行方向の変化は、情報処理装置１００が含む角速度・加速度センサで、ユーザ（情報処理装置１００）の回転角を取得し、回転角が閾値以上であり、例えば所定期間維持された場合に、進行方向が変化したものとしてその時刻（ｔｊ）および進行方向変更前後の角度差（αｊ）を検知する。以下、検知１、検知２、検知３として記載する時刻は、それぞれ図８の測定結果５、測定結果８、および測定結果１１の時刻の直後のものである。
＜セットリスト作成部２４４の処理＞
【００５８】
以下、本実施形態におけるセットリスト作成部２４４のセットリスト作成処理について説明する。
【００５９】
図９は、本実施形態で作成されるセット情報作成部２４４の作成に伴うデータ構造の変化を示す。セットリスト０は、初期設定であり、出発ノードが経路番号に登録され、セット番号０が付されている。この後、ユーザの移動に従って、図４のフローチャートに従い、セット情報が追加されて行き、セットリスト１、セットリスト２としてセットリストが更新されていく。最後の検知３までに生成された経路候補の経路を割り当ててセットを追加した結果、セット情報は、図１０に示す状態となる。
【００６０】
セットリスト０は、ユーザが出発ノードに存在することを示す初期設定であり、セット番号と、出発ノードが含まれる経路番号０が登録された状態である。ユーザの移動および検知１〜３の結果を受けて、セット情報作成部２４４は以下の処理を実行する。
【００６１】
１．セットリスト１の作成
ユーザの移動に対応して、検知１が取得されると、この段階で図７に示した経路候補リスト７１０の経路のうち、セット番号１の経路の進行方向変更位置と最後の進行方向変更位置を除いた全ての進行方向変更位置とが過不足なく同じ経路は、経路１である。ここで、経路１について、最後の進行方向変更位置が検知１の時刻の位置と同じ可能性があるか確認する。
【００６２】
まず、距離差について確認し、経路１の最後の進行方向変更位置と、その直前（ない場合出発地）の進行方向変更位置間の距離、ここでは（Ｘ０、Ｙ０）と、（ＮＸ１、ＮＹ１）の間の距離をＤ出発地→ノード１とする。そして、セットの最後の検知結果の検知時の位置（ない場合出発地）と、最新検知結果の検知時の位置の距離、ここでは、（Ｘ０、Ｙ０）と、検知１の時刻ｔ１の直後に測位した測位結果５の位置（Ｘ５、Ｙ５）の距離をＥ０→５とする。そして、（Ｅ０→５／Ｄ出発地→ノード１）−１の絶対値を計算する。
【００６３】
この絶対値を、閾値と比較し、閾値以下であれば、経路１と同一の可能性があるものとする。次に、角度について確認する。（ＮＸ０、ＮＹ０）→（ＮＸ１、ＮＹ１）ベクトルと、（ＮＸ１、ＮＹ１）→（ＮＸ３、ＮＹ３）ベクトルのなす角β0→１・1→３および検知１の前後の角度差α１から、α１−β0→１・1→３の絶対値を計算する。この絶対値を閾値と比較し、閾値以下であれば、経路１の可能性があるものとする。本実施形態では、距離および角度の両方とも可能性があるものとして、セット情報として経路番号１を追加し、これにセット番号１を割り当てる。この処理を、纏めると、以下記表１で示される処理となる。
【００６４】
【表１】
2018004560.tif 000003
【００６５】
２．セットリスト２の作成
検知２を取得した後、セットリスト１で説明したと同様に表２の通り確認していく。
【００６６】
【表２】
2018004560.tif 000004
【００６７】
３．セットリスト３の作成
検知３が取得されると、同様に表３で示す処理に従って経路の確認を行い、セットリストへの追加を処理する。
【００６８】
【表３】
2018004560.tif 000005
【００６９】
＜類似度算出部２４５の処理＞
以下、ユーザの動作とユーザ・インタフェース２１０、経路管理部２２０、動作検知部２５０の処理および、図１１のセット番号３のセットの類似度を求める場合の類似度算出部２４５の類似度算出処理を説明する。ここでは、測位結果取得部２４１は、測位結果１３までを取得しているものとして説明する。
【００７０】
（進行方向距離の類似度算出）
測位結果を検知時の位置ごとに区切り、検知結果の検知時の位置間と対応する経路の進行方向変更位置間の距離の比（以降ＨＰで表す）を求めると、下記になる。
【００７１】
【数１】
2018004560.tif 000006
【００７２】
ＨＰの平均をＡＨＰ、標準偏差ＳＨＰを使用し、進行方向距離類似度（以下、ＶＨＰとして参照する。）を例えば、下記式（２）を使用して計算する。
【００７３】
【数２】
2018004560.tif 000007
【００７４】
このように類似度を求める場合、ＶＨＰの値が低いほど類似性が高い。
【００７５】
（角度の類似度算出）
検知結果の検知時の位置前後の進行方向を、測位結果を用いて求める場合、下記式（３）で与えられる。ここで、α0→5・5→11は、（Ｘ０、Ｙ０）→（Ｘ５、Ｙ５）ベクトルと（Ｘ５、Ｙ５）→（Ｘ１１、Ｙ１１）ベクトルのなす角である。
【００７６】
【数３】
2018004560.tif 000008
【００７７】
ＡＤの平均ＡＡＤ、標準偏差ＳＡＤを使用すると、角度類似度（以下、ＶＡＤとして参照する）は、例えば、下記式（４）で求めることができる。
【００７８】
【数４】
2018004560.tif 000009
【００７９】
このように類似度を求めた場合は、ＶＡＤの値が低いほど類似性が高い。
【００８０】
（垂直方向距離の類似度算出）
一実施形態として、検知結果の検知時の位置間の測位結果の進行方向を、進行ベクトルとする。図１１に本実施形態における垂直方向距離類似度算出の概念を示す。図１１中、Ｗは、道幅を示し、図１１（ａ）は、測位結果の系列を示し、図１１（ｂ）は、本実施形態で適用した経路および経路中のノード位置を、例示的に示している。進行方向ベクトル、と測位位置の距離とをそれぞれの測位結果で求める。例えば検知１・検知２の間の場合、測位結果は、５→１１、進行方向ベクトルは（Ｘ５、Ｙ５）→（Ｘ１１、Ｙ１１）、測位結果６→１０において、進行方向ベクトルと測位位置の距離をそれぞれ計算する。（測位結果８での距離をＶＰＲ８、５→１１とする。）道幅との比によって、垂直方向距離類似度（以下、ＶＶＰとして参照する。）を例えば下記式（５）として得る。下記式に従い類似度を求めた場合は、値が低いほど類似性が高いことになる。なお、下記式（５）中、Ｗｌは、道幅である。下記式中ｋは、図８に示す歩行者自律航法により位置を算出した順を表す。
【００８１】
【数５】
2018004560.tif 000010
【００８２】
さらに、他の実施形態においては、進行方向ベクトルと測位位置の距離を、測位位置が進行方向ベクトルに対し、反時計周りにあるなら＋、時計回りにあるなら−の符号をつけて設定する。そして、その最小値を垂直距離最小値、最大値を垂直距離最大値として、下記式（６）を使用して値を計算する。
【００８３】
【数６】
2018004560.tif 000011
【００８４】
そして式（６）で求めた値を、検知時の位置間の距離の合計で割った値を、垂直方向距離の類似度として決定する。
【００８５】
【数７】
2018004560.tif 000012
【００８６】
上述した２実施例を使用して類似度を求めた場合は、値が低いほど類似性が高い。また、進行方向ベクトルを、測位結果の近似直線で求める方法もある。道幅の情報がない場合は、比ではなく距離をそのまま使用する。
【００８７】
（セット類似度算出）
本実施形態において、セット類似度を、進行方向距離の類似度と、角度の類似度と、垂直方向距離の類似度とを使用し、下記式（８）で計算する。
【００８８】
【数８】
2018004560.tif 000013
【００８９】
上記式（８）中、変数定義は以下の通りである。
ＯＨＰ：進行方向距離の類似度の重みであり、例えば０〜１の実数とすることができる。
ＯＡＤ：角度の類似度の重みであり、０〜１の実数とすることができる。
ＯＨＰ：垂直方向距離の類似度の重みであり、例えば０〜１の実数とすることができる。
【００９０】
なお、上記重みの値は、平等に評価するため、例えば各類似度が最小の値〜２倍程度になるよう、類似度を設定することができ、式（７）の類似度は、値が小さいほど類似性が高いということができる。本実施形態では、セット選択部２４６は、セット類似度が最も小さい、すなわち、歩行者自律航法により得られたユーザ位置を、類似度が最も高い経路候補にあるものとして経路を決定する。
【００９１】
以上説明した本実施形態によれば、経路の候補ごとに、経路中の進行方向変更位置（曲がる位置）の数に応じて、進行方向を変更したことの検知結果を対応付けたセットリストを作る（可能性のある検知結果の組み合わせ分）。そして、セットごとに、セットの検知結果の検知時の位置で曲がったと考えた場合の測位結果と、経路候補との間の類似度が、セット類似度に相当する。
【００９２】
補正処理に際しては、セットリストの中から最も類似性の高いセットを選び、そのセットの進行方向変更位置において経路候補で道を曲がり、経路を進んでいるものとして、歩行者（ユーザ）の位置を経路に沿ったものとして補正することができる。その他、例えば補正の方法としては、出発地ではなく、本実施形態に従った経路推定により、マップ情報上で決定済みの直前ノードからの歩行者自律航法による位置計算を行うことで補正を行うなどの方法を挙げることができる。この結果、歩行者自律航法における累積的な位置誤差を、マップ情報上のノードで補正することができ、より高精度な歩行者自律航法による位置情報をユーザに提供することが可能となる。
【００９３】
これまで本発明を、実施形態をもって説明してきたが、本発明は、実施形態に限定されるものではなく、他の実施形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができ、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。
【符号の説明】
【００９４】
１００    ：情報処理装置
１０１    ：マイク
１０２    ：スピーカ
１０３    ：通信部
１０３    ：第１通信部
１０４    ：第２通信部
１０５    ：位置情報受信部
１０６    ：表示部
１０７    ：入力部
１０８    ：ＣＰＵ
１０９    ：ＲＡＭ
１１０    ：ＲＯＭ
１１１    ：加速度センサ
１１２    ：角速度センサ
１１３    ：地磁気センサ
１１４    ：気圧センサ
１２０    ：ネットワーク
１３０    ：サーバ装置
２０１    ：ＣＰＵ
２１０    ：インタフェース
２１１    ：目的地取得部
２１２    ：表示部
２２０    ：経路管理部
２２１    ：地図情報管理部
２２２    ：順路作成部
２２３    ：経路候補作成部
２３０    ：位置補正処理部
２４０    ：対応付け処理部
２４１    ：測位結果取得部
２４２    ：進行方向変更検知部
２４３    ：経路候補取得部
２４４    ：セット情報作成部
２４５    ：類似度算出部
２４６    ：セット選択部
２５０    ：動作検知部
２５１    ：測位部
２５２    ：進行方向変更検知部
【先行技術文献】
【特許文献】
【００９５】
【特許文献１】特許５０５９９３２号明細書
【図１】
2018004560.tif 000014
【図２】
2018004560.tif 000015
【図３】
2018004560.tif 000016
【図４】
2018004560.tif 000017
【図５】
2018004560.tif 000018
【図６】
2018004560.tif 000019
【図７】
2018004560.tif 000020
【図８】
2018004560.tif 000021
【図９】
2018004560.tif 000022
【図１０】
2018004560.tif 000023
【図１１】
2018004560.tif 000024