(57)【特許請求の範囲】
【請求項１】
移動体に取り付けられる端末装置と、前記端末装置からデータを取得するサーバ装置と、を含む移動経路推定システムであって、
前記端末装置は、角速度センサと、加速度センサと、を有し、
前記サーバ装置は、プロセッサと、前記プロセッサに接続される記憶装置と、を有し、
前記記憶装置は、前記角速度センサによって計測された角速度データ及び前記加速度センサによって計測された加速度データを保持し、
前記プロセッサは、
前記角速度データを平滑化し、
前記加速度データに基づいて、平滑化された前記角速度データを慣性座標系における角速度データに変換し、
所定の長さの時間帯における前記慣性座標系におけるＹａｗ軸周りの角速度のばらつきの大きさが所定の閾値以下であり、かつ、前記時間帯における前記Ｙａｗ軸周りの角速度の大きさが所定の閾値以下である場合、前記Ｙａｗ軸周りの角速度の大きさを前記Ｙａｗ軸周りの角速度のオフセット値と推定し、
前記Ｙａｗ軸周りの角速度から推定された前記オフセット値を減算することによって前記Ｙａｗ軸周りの角速度を補正し、
補正された前記角速度及び前記加速度データに基づいて、前記移動体の水平方向の移動経路を推定し、
推定された前記移動経路を示す情報を前記記憶装置に保持することを特徴とする移動経路推定システム。
【請求項２】
前記移動体は歩行者であり、
前記プロセッサは、人間の歩行に特有の周波数成分を除去することによって、前記角速度データを平滑化することを特徴とする請求項１に記載の移動経路推定システム。
【請求項３】
前記プロセッサは、カットオフ周波数が１．６ヘルツ以下の低域通過フィルタによって、前記角速度データから人間の歩行に特有の周波数成分を除去することを特徴とする請求項２に記載の移動経路推定システム。
【請求項４】
前記プロセッサは、前記Ｙａｗ軸周りの角速度のばらつきの大きさが所定の閾値を超えると判定されたか、又は、前記Ｙａｗ軸周りの角速度の大きさが所定の閾値を超えると判定された第１時間帯における前記Ｙａｗ軸周りの角速度のオフセット値を、前記第１時間帯に隣接し、かつ、前記第１時間帯より早い第２時間帯における前記推定されたオフセット値、及び、前記第１時間帯に隣接し、かつ、前記第１時間帯より遅い第３時間帯における前記推定されたオフセット値、の少なくとも一方に基づいて推定することを特徴とする請求項１に記載の移動経路推定システム。
【請求項５】
前記プロセッサは、前記第２時間帯における前記推定されたオフセット値から、前記第３時間帯における前記推定されたオフセット値までの範囲のいずれかの値となるように、前記第１時間帯における前記Ｙａｗ軸周りの角速度のオフセット値を推定することを特徴とする請求項４に記載の移動経路推定システム。
【請求項６】
前記プロセッサは、前記加速度データに基づいて、前記第２時間帯及び前記第３時間帯のそれぞれにおいて、前記移動体が移動していたか否かを判定し、前記第２時間帯及び前記第３時間帯のいずれか一方において前記移動体が静止しており、もう一方において前記移動体が移動していたと判定された場合、前記第１時間帯のうち、その中心より前記移動体が移動していた時間帯に近い時刻から前記移動体が静止していた時間帯までの範囲におけるオフセット値が、前記移動体が移動していた時間帯における前記推定されたオフセット値より、前記移動体が静止していた時間帯における前記推定されたオフセット値に近くなるように、前記第１時間帯における前記Ｙａｗ軸周りの角速度のオフセット値を推定することを特徴とする請求項４に記載の移動経路推定システム。
【請求項７】
前記記憶装置は、前記移動体の複数の種類のそれぞれに特有の周波数成分を除去するためのフィルタのパラメータを保持し、
前記プロセッサは、前記端末装置が取り付けられた移動体の種類に対応するパラメータが適用されたフィルタを用いて、前記角速度データを平滑化することを特徴とする請求項１に記載の移動経路推定システム。
【請求項８】
プロセッサと、前記プロセッサに接続される記憶装置と、を有する移動経路推定装置であって、
前記記憶装置は、移動体に取り付けられた角速度センサによって計測された角速度データ及び前記移動体に取り付けられた加速度センサによって計測された加速度データを保持し、
前記プロセッサは、
前記角速度データを平滑化し、
前記加速度データに基づいて、平滑化された前記角速度データを慣性座標系における角速度データに変換し、
所定の長さの時間帯における前記慣性座標系におけるＹａｗ軸周りの角速度のばらつきの大きさが所定の閾値以下であり、かつ、前記時間帯における前記Ｙａｗ軸周りの角速度の大きさが所定の閾値以下である場合、前記Ｙａｗ軸周りの角速度の大きさを前記Ｙａｗ軸周りの角速度のオフセット値と推定し、
前記Ｙａｗ軸周りの角速度から推定された前記オフセット値を減算することによって前記Ｙａｗ軸周りの角速度を補正し、
補正された前記角速度及び前記加速度データに基づいて、前記移動体の水平方向の移動経路を推定し、
推定された前記移動経路を示す情報を前記記憶装置に保持することを特徴とする移動経路推定装置。
【請求項９】
前記移動体は歩行者であり、
前記プロセッサは、人間の歩行に特有の周波数成分を除去することによって、前記角速度データを平滑化することを特徴とする請求項８に記載の移動経路推定装置。
【請求項１０】
前記プロセッサは、前記Ｙａｗ軸周りの角速度のばらつきの大きさが所定の閾値を超えると判定されたか、又は、前記Ｙａｗ軸周りの角速度の大きさが所定の閾値を超えると判定された第１時間帯における前記Ｙａｗ軸周りの角速度のオフセット値を、前記第１時間帯に隣接し、かつ、前記第１時間帯より早い第２時間帯における前記推定されたオフセット値、及び、前記第１時間帯に隣接し、かつ、前記第１時間帯より遅い第３時間帯における前記推定されたオフセット値、の少なくとも一方に基づいて推定することを特徴とする請求項８に記載の移動経路推定装置。
【請求項１１】
前記プロセッサは、前記加速度データに基づいて、前記第２時間帯及び前記第３時間帯のそれぞれにおいて、前記移動体が移動していたか否かを判定し、前記第２時間帯及び前記第３時間帯のいずれか一方において前記移動体が静止しており、もう一方において前記移動体が移動していたと判定された場合、前記第１時間帯のうち、その中心より前記移動体が移動していた時間帯に近い時刻から前記移動体が静止していた時間帯までの範囲におけるオフセット値が、前記移動体が移動していた時間帯における前記推定されたオフセット値より、前記移動体が静止していた時間帯における前記推定されたオフセット値に近くなるように、前記第１時間帯における前記Ｙａｗ軸周りの角速度のオフセット値を推定することを特徴とする請求項１０に記載の移動経路推定装置。
【請求項１２】
プロセッサと、前記プロセッサに接続される記憶装置と、を有する移動経路推定装置によって実行される移動経路推定方法であって、
前記記憶装置は、移動体に取り付けられた角速度センサによって計測された角速度データ及び前記移動体に取り付けられた加速度センサによって計測された加速度データを保持し、
前記移動経路推定方法は、
前記角速度データを平滑化する第１手順と、
前記加速度データに基づいて、平滑化された前記角速度データを慣性座標系における角速度データに変換する第２手順と、
所定の長さの時間帯における前記慣性座標系におけるＹａｗ軸周りの角速度のばらつきの大きさが所定の閾値以下であり、かつ、前記時間帯における前記Ｙａｗ軸周りの角速度の大きさが所定の閾値以下である場合、前記Ｙａｗ軸周りの角速度の大きさを前記Ｙａｗ軸周りの角速度のオフセット値と推定する第３手順と、
前記Ｙａｗ軸周りの角速度から推定された前記オフセット値を減算することによって前記Ｙａｗ軸周りの角速度を補正する第４手順と、
補正された前記角速度及び前記加速度データに基づいて、前記移動体の水平方向の移動経路を推定し、推定された前記移動経路を示す情報を前記記憶装置に保持する第５手順と、を含むことを特徴とする移動経路推定方法。
【請求項１３】
前記移動体は歩行者であり、
前記第１手順は、人間の歩行に特有の周波数成分を除去することによって、前記角速度データを平滑化する手順を含むことを特徴とする請求項１２に記載の移動経路推定方法。
【請求項１４】
前記第３手順は、前記Ｙａｗ軸周りの角速度のばらつきの大きさが所定の閾値を超えると判定されたか、又は、前記Ｙａｗ軸周りの角速度の大きさが所定の閾値を超えると判定された第１時間帯における前記Ｙａｗ軸周りの角速度のオフセット値を、前記第１時間帯に隣接し、かつ、前記第１時間帯より早い第２時間帯における前記推定されたオフセット値、及び、前記第１時間帯に隣接し、かつ、前記第１時間帯より遅い第３時間帯における前記推定されたオフセット値、の少なくとも一方に基づいて推定する手順を含むことを特徴とする請求項１２に記載の移動経路推定方法。
【請求項１５】
前記第３手順は、前記加速度データに基づいて、前記第２時間帯及び前記第３時間帯のそれぞれにおいて、前記移動体が移動していたか否かを判定し、前記第２時間帯及び前記第３時間帯のいずれか一方において前記移動体が静止しており、もう一方において前記移動体が移動していたと判定された場合、前記第１時間帯のうち、その中心より前記移動体が移動していた時間帯に近い時刻から前記移動体が静止していた時間帯までの範囲におけるオフセット値が、前記移動体が移動していた時間帯における前記推定されたオフセット値より、前記移動体が静止していた時間帯における前記推定されたオフセット値に近くなるように、前記第１時間帯における前記Ｙａｗ軸周りの角速度のオフセット値を推定する手順を含むことを特徴とする請求項１４に記載の移動経路推定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物体の移動経路を推定する技術に関し、特に、ジャイロセンサを使用した場合のいわゆるジャイロドリフトを補正する技術に関する。
【背景技術】
【０００２】
歩行者ナビゲーションなどを目的とした歩行経路推定（ＰＤＲ：Pedestrian Dead Reckoning）という技術が知られている。一般に、ＰＤＲを実現するために、ＧＰＳ（Global Positioning System）、地磁気を利用する方位センサ、加速度を検出する加速度センサ、角速度を検出するジャイロセンサ、等が用いられる。しかし、屋内では、一般に、ＧＰＳは使用できず、方位センサの精度も著しく低下する場合がある。このため、屋内でＰＤＲを実現するためには、ＧＰＳによる絶対位置情報及び方位センサによる絶対方位情報のいずれにも依存せずに歩行経路を推定する必要がある。
【０００３】
屋内でＰＤＲを実現する方法の一例として、加速度センサを用いて移動距離を推定し、ジャイロセンサを用いて移動方向を推定する方法が考えられる。ジャイロセンサは角速度を検出するため、これを積分することによって、初期位置におけるジャイロセンサの向きを基準とする相対方位を求めることができる。しかし、ジャイロセンサの出力値はオフセットを含む（すなわち実際にはセンサが回転していないにもかかわらず出力がゼロにならない）ことが知られている。一般にオフセットの値は非常に小さいが、これを積分した場合には累積するため、最終的に得られる相対方位は大きな誤差を含むことになる。この現象はジャイロドリフトと呼ばれる。オフセットの値は温度等に依存するため、時間によって変化することが知られている。
【０００４】
ジャイロドリフトによる誤差の影響を軽減するために種々のオフセット補正方法が提案されている。特許文献１はその一例である。特許文献１に記載された技術は、車載ナビゲーション装置に関する。具体的には、車両が走行中であっても、ジャイロセンサの出力が所定の上限値と下限値によって規定された範囲内であれば、車両が直進していると判定され、その出力の平均値がオフセットとして取得される。取得されたオフセットの値をジャイロセンサの出力値から減算することによって、オフセットが補正される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平６−２９４６５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
歩行経路推定のために歩行者にジャイロセンサを装着した場合、歩行者が回転する動作をしていないときにジャイロセンサから出力された値がオフセットであると推定することができる。歩行者が回転する動作をしていない状態には、歩行者が静止している状態のほか、歩行者が直進歩行している状態も含まれる。しかし、直進歩行中は、歩行によって大きく振動する角速度が出力されるため、その値からオフセットを推定することはできなかった。本発明は上記の問題点に鑑みてなされたものであり、歩行者に装着されたジャイロセンサの出力からオフセットを推定し、これを補正することによって、ジャイロセンサを用いた歩行経路推定の精度を改善することを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、移動体に取り付けられる端末装置と、前記端末装置からデータを取得するサーバ装置と、を含む移動経路推定システムであって、前記端末装置は、角速度センサと、加速度センサと、を有し、前記サーバ装置は、プロセッサと、前記プロセッサに接続される記憶装置と、を有し、前記記憶装置は、前記角速度センサによって計測された角速度データ及び前記加速度センサによって計測された加速度データを保持し、前記プロセッサは、前記角速度データを平滑化し、前記加速度データに基づいて、平滑化された前記角速度データを慣性座標系における角速度データに変換し、所定の長さの時間帯における前記慣性座標系におけるＹａｗ軸周りの角速度のばらつきの大きさが所定の閾値以下であり、かつ、前記時間帯における前記Ｙａｗ軸周りの角速度の大きさが所定の閾値以下である場合、前記Ｙａｗ軸周りの角速度の大きさを前記Ｙａｗ軸周りの角速度のオフセット値と推定し、前記Ｙａｗ軸周りの角速度から推定された前記オフセット値を減算することによって前記Ｙａｗ軸周りの角速度を補正し、補正された前記角速度及び前記加速度データに基づいて、前記移動体の水平方向の移動経路を推定し、推定された前記移動経路を示す情報を前記記憶装置に保持することを特徴とする。
【発明の効果】
【０００８】
本発明の一実施形態によれば、ジャイロセンサを用いて精度のよい歩行経路推定を実現することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態の歩行経路推定システムの構成を示すブロック図である。
【図２】本発明の実施形態の歩行経路推定システムを構成する各部のハードウェア構成を示すブロック図である。
【図３】本発明の実施形態のサーバ装置が実行する歩行経路推定処理を示すフローチャートである。
【図４】本発明の実施形態のサーバ装置が実行するジャイロセンサのオフセット補正処理を示すフローチャートである。
【図５】本発明の実施形態のサーバ装置が実行するジャイロセンサのオフセット量の推定処理を示すフローチャートである。
【図６】本発明の実施形態のジャイロセンサによって計測された、平滑化される前の角速度の説明図である。
【図７】本発明の実施形態のジャイロセンサによって計測され、平滑化された角速度の説明図である。
【図８】本発明の実施形態において計測された角速度データに含まれる歩行に特有の周波数成分の説明図である。
【図９】本発明の実施形態において計測された角速度データを慣性座標系におけるデータに変換する処理の説明図である。
【図１０】本発明の実施形態の端末装置の慣性座標系における角速度の説明図である。
【図１１】本発明の実施形態の端末装置のＹａｗ軸周りの角速度のばらつきの説明図である。
【図１２】本発明の実施形態のサーバ装置によって推定される相対方位角の説明図である。
【図１３】本発明の実施形態のサーバ装置によって推定される歩行経路の説明図である。
【図１４】本発明の実施形態のサーバ装置によって実行される、既に推定されたオフセット量に基づくオフセット量の推定の第１の説明図である。
【図１５】本発明の実施形態のサーバ装置によって実行される、既に推定されたオフセット量に基づくオフセット量の推定の第２の説明図である。
【発明を実施するための形態】
【００１０】
以下、図面を用いて本発明の実施の形態を説明する。
【００１１】
図１は、本発明の実施形態の歩行経路推定システムの構成を示すブロック図である。図２は、本発明の実施形態の歩行経路推定システムを構成する各部のハードウェア構成を示すブロック図である。
【００１２】
本実施形態の歩行経路推定システムは、端末装置１０１、サーバ装置１０３及びそれらを接続するネットワーク１０２からなる。
【００１３】
端末装置１０１は、歩行者が携帯する端末であり、例えば、ＣＰＵ（Central Processing Unit）２０６、並びに、それに接続されたジャイロセンサ２０１、加速度センサ２０２、方位センサ２０３、温度センサ２０４、ＧＰＳ２０５、メモリ２０７、記憶媒体２０８、通信部２０９及び入出力部２１０を備える。
【００１４】
ジャイロセンサ２０１は、端末装置１０１の角速度を計測する。具体的には、ジャイロセンサ２０１は、端末装置１０１の向きを基準とするＸ軸、Ｙ軸、Ｚ軸それぞれの軸まわりの角速度を計測する。
【００１５】
加速度センサ２０２は、端末装置１０１の加速度を計測する。具体的には、加速度センサ２０２は、端末装置１０１の向きを基準とするＸ軸、Ｙ軸、Ｚ軸それぞれの軸方向の加速度を計測する。
【００１６】
方位センサ２０３は、地磁気を検出し、それに基づいて絶対方位を計測する。
【００１７】
温度センサ２０４は、端末装置１０１の内部又は周囲の温度を計測する。ジャイロセンサ２０１のオフセット量の温度依存性が明らかである場合には、温度センサ２０４によって計測された温度を用いて、ジャイロセンサ２０１が計測した角速度を補正してもよい。
【００１８】
ＧＰＳ２０５は、ＧＰＳ衛星からの信号を受信し、それに基づいて端末装置１０１の絶対位置を計測する。
【００１９】
例えば、端末装置１０１は、ＧＰＳ２０５及び方位センサ２０３を使用できる環境ではそれらを使用し、それらを使用できない環境（例えば屋内）ではジャイロセンサ２０１及び加速度センサ２０２を使用して、歩行経路推定のために必要なデータを収集してもよい。後述するように、本発明はジャイロセンサ２０１及び加速度センサ２０２を使用した歩行経路推定に関する。このため、本実施形態の端末装置１０１は、ジャイロセンサ２０１及び加速度センサ２０２を備える必要があるが、方位センサ２０３、温度センサ２０４及びＧＰＳ２０５は必ずしも備えなくてよい。
【００２０】
ＣＰＵ２０６は、メモリ２０７に格納されたプログラムに従って、端末装置１０１を制御する。
【００２１】
メモリ２０７は、例えば半導体メモリであり、ＣＰＵ２０６によって実行されるプログラム、ＣＰＵ２０６によって参照されるデータ、及び、ＣＰＵ２０６が実行する処理の結果として取得されたデータ等を格納する。記憶媒体２０８に格納されたプログラム及びデータの少なくとも一部が、必要に応じてメモリ２０７にコピーされてもよいし、取得されたデータが必要に応じてメモリ２０７から記憶媒体２０８にコピーされてもよい。
【００２２】
記憶媒体２０８は、例えばフラッシュメモリのような不揮発性の記憶媒体である。
【００２３】
通信部２０９は、ネットワーク１０２に接続され、サーバ装置１０３と通信するインターフェースである。
【００２４】
入出力部２１０は、端末装置１０１を装着した歩行者からの入力を受ける入力装置、及び、その歩行者に情報を出力する出力装置を含む。例えば、入出力部２１０は、入力装置としてキーボード、ボタン又はポインティングデバイス等を備え、出力装置として画像表示装置等を備えてもよいし、それらと同等の機能を有するいわゆるタッチパネル等を備えてもよい。
【００２５】
例えば、歩行者がこれから歩行経路推定を行おうとする対象領域（例えば特定の建物）に入るときに、データ取得の開始の指示を入出力部２１０に入力し、その対象領域から出るときに、データ取得の終了の指示を入出力部２１０に入力してもよい。ＣＰＵ２０６は、データ取得の開始を指示されてから、終了を指示されるまでの間、ジャイロセンサ２０１及び加速度センサ２０２を制御して、例えば定期的に角速度及び加速度を計測し、その結果をメモリ２０７に格納する。その間に歩行者が対象領域内を歩き回ると、その歩行に起因する角速度及び加速度が計測され、記録される。
【００２６】
サーバ装置１０３は、ＣＰＵ２１２、並びに、それに接続された通信部２１１、メモリ２１３、記憶媒体２１４及び入出力部２１５を備える計算機である。
【００２７】
ＣＰＵ２１２は、メモリ２１３に格納されたプログラムに従って、例えば後述する歩行経路推定処理を実行する。
【００２８】
メモリ２１３は、例えば半導体メモリであり、ＣＰＵ２１２によって実行されるプログラム、ＣＰＵ２１２によって参照されるデータ、及び、ＣＰＵ２１２が実行する処理の結果として取得されたデータ等を格納する。記憶媒体２１４に格納されたプログラム及びデータの少なくとも一部が、必要に応じてメモリ２１３にコピーされてもよいし、取得されたデータが必要に応じてメモリ２１３から記憶媒体２１４にコピーされてもよい。
【００２９】
記憶媒体２１４は、例えばハードディスク又はフラッシュメモリのような不揮発性の記憶媒体である。
【００３０】
通信部２１１は、ネットワーク１０２に接続され、端末装置１０１と通信するインターフェースである。
【００３１】
入出力部２１５は、サーバ装置１０３のユーザからの入力を受ける入力装置、及び、ユーザに情報を出力する出力装置を含む。例えば、入出力部２１５は、入力装置としてキーボード、ボタン又はポインティングデバイス等を備え、出力装置として画像表示装置等を備えてもよいし、それらと同等の機能を有するいわゆるタッチパネル等を備えてもよい。
【００３２】
ネットワーク１０２は、それを介して端末装置１０１からサーバ装置１０３にデータを伝送できるものである限り、どのようなものであってもよい。例えば、ネットワーク１０２は、ＬＡＮであってもよいし、広域ネットワークであってもよいし、それらの組み合わせであってもよい。あるいは、ネットワーク１０２がＵＳＢ（Universal Serial Bus）のようなデータ伝送路であってもよい
なお、図１及び図２には、歩行経路推定システムの典型的な例として、端末装置１０１及びサーバ装置１０３がネットワーク１０２を介してデータを通信する構成を示したが、ネットワークを介したデータ通信の代わりに、記憶媒体を用いてデータをやり取りすることもできる。例えば、ジャイロセンサ２０１等によって計測されたデータを、端末装置１０１に接続されたメモリカードのような架け替え可能な記憶媒体に書き込み、その記憶媒体をサーバ装置１０３の設置場所まで運搬してサーバ装置１０３に接続し、書き込まれたデータを記憶媒体２１４又はメモリ２１３にコピーしてもよい。
【００３３】
あるいは、サーバ装置１０３の代わりに、端末装置１０１自身が後述する歩行経路推定を行ってもよい。その場合、ネットワーク１０２及びサーバ装置１０３は不要である。
【００３４】
図３は、本発明の実施形態のサーバ装置１０３が実行する歩行経路推定処理を示すフローチャートである。
【００３５】
既に説明したように、端末装置１０１は、ジャイロセンサ２０１及び加速度センサ２０２によって計測された角速度データ及び加速度データをメモリ２０７又は記憶媒体２０８に格納し、それをネットワーク１０２を介してサーバ装置１０３に送信する。例えば、複数のフロアを有する建物全体が歩行経路推定の対象領域である場合、端末装置１０１を装着した歩行者がその建物に入り、各フロアを順次歩き回る。その間に取得された角速度データ及び加速度データが記憶媒体２０８等に格納される。歩行者が全フロアを歩き回った後、端末装置１０１は、記憶媒体２０８等に格納されたデータをサーバ装置１０３に送信する。サーバ装置１０３は、端末装置１０１から受信した角速度データ及び加速度データを記憶媒体２１４等に格納して、図３に示す歩行経路推定処理を実行する。
【００３６】
最初に、サーバ装置１０３は、角速度データを参照して、ジャイロセンサ２０１のオフセット補正を行う（ステップ３０１）。この処理の詳細については、図４等を参照して後述する。
【００３７】
次に、サーバ装置１０３は、加速度データに基づいて水平方向の移動量を推定する（ステップ３０２）。この推定は、従来から知られている方法によって行うことができる。例えば、サーバ装置１０３は、三次元の加速度データから水平方向成分（すなわち鉛直方向に直行する成分）を抽出し、それを積分することによって水平方向の移動量を推定してもよいし、加速度データに基づいて歩行者が歩行しているか否かを判定し、歩行している場合には、歩数に推定される歩幅を乗じることによって移動量を推定してもよい。
【００３８】
なお、上記のように、複数のフロアを含む建物全体における加速度データ等が取得された場合には、サーバ装置１０３は、そのデータをフロアごとに分割し、フロアごとに水平方向の移動量を推定する。歩行者がフロア間を移動したことは、例えば階段を昇降したときに特有の加速度データのパターン、又は、エレベータを利用したときに特有の加速度データのパターンに基づいて判断できる。あるいは、歩行者が階段等を利用してフロア間を移動するときに、フロアの区切りを端末装置１０１に手動で入力してもよい。
【００３９】
次に、サーバ装置１０３は、ステップ３０１において補正された角速度データ及びステップ３０２において推定された移動量に基づいて、歩行者の移動軌跡を生成し（ステップ３０３）、さらに、生成された移動軌跡を補正する（ステップ３０４）。これらの処理の詳細については後述する（図１２及び図１３参照）。生成され、補正された移動軌跡を示すデータは、メモリ２１３又は記憶媒体２１４に格納され、さらに、例えば移動軌跡を示す画面が入出力部２１５によって表示されてもよい。
【００４０】
以上で歩行経路推定処理が終了する。
【００４１】
図４は、本発明の実施形態のサーバ装置１０３が実行するジャイロセンサ２０１のオフセット補正処理を示すフローチャートである。この処理は、図３に示す歩行経路推定処理のステップ３０１において実行される。
【００４２】
最初に、サーバ装置１０３は、角速度データを平滑化する（ステップ４０１）。ジャイロセンサ２０１によって計測された角速度データは、歩行に起因する振動の成分を含んでいるため、サーバ装置１０３は、例えば歩行に特有の周波数成分をフィルタによって取り除くことによって角速度の値を平滑化する。この処理の詳細については後述する（図６〜図８参照）。
【００４３】
次に、サーバ装置１０３は、端末装置１０１の傾斜角を算出し（ステップ４０２）、その傾斜角に基づいて、角速度の値を慣性座標系における値に変換する（ステップ４０３）。ジャイロセンサ２０１は、互いに直行する３軸（Ｘ軸、Ｙ軸及びＺ軸）それぞれの周りの角速度を計測する。しかし、一般には端末装置１０１が傾斜した状態で歩行者に取り付けられることが多く、その場合、端末装置１０１の３軸は、慣性座標系の３軸、すなわち歩行者の前後方向の軸（Ｒｏｌｌ軸）、歩行者の左右方向の軸（Ｐｉｔｃｈ軸）及び歩行者の上下方向の軸（Ｙａｗ軸）と一致しない。歩行者の水平方向の移動軌跡を生成するためには、Ｙａｗ軸周りの角速度（すなわち、歩行者の角速度のうち、水平面内の回転の成分）を特定する必要がある。このため、サーバ装置１０３は、加速度センサ２０２によって計測された加速度データを利用して、ジャイロセンサ２０１によって計測された角速度の値を、慣性座標系における角速度の値（すなわちＲｏｌｌ軸周りの角速度の値、Ｐｉｔｃｈ軸周りの角速度の値、及びＹａｗ軸周りの角速度の値）に変換する。この変換の詳細については後述する（図９参照）。
【００４４】
次に、サーバ装置１０３は、変換されたＹａｗ軸周りの角速度の値から、ジャイロセンサ２０１のオフセット量を推定する（ステップ４０４）。この処理の詳細については後述する（図５等参照）。
【００４５】
次に、サーバ装置１０３は、推定されたオフセットをＹａｗ軸周りの角速度の値から除去する（ステップ４０５）。
【００４６】
以上でジャイロセンサ２０１のオフセット補正処理が終了する。
【００４７】
図５は、本発明の実施形態のサーバ装置１０３が実行するジャイロセンサ２０１のオフセット量の推定処理を示すフローチャートである。この処理は、図４に示すオフセット補正処理のステップ４０４において実行される。
【００４８】
最初に、サーバ装置１０３は、あるフレームについて、ステップ５０２〜５０４のループ処理を実行する（ステップ５０１）。ここでフレームとは、角速度の分散を計算するときに適用する時間軸上の枠である。例えばフレームの幅が２秒間と設定された場合、ジャイロセンサ２０１によって計測され、慣性座標系に変換されたある２秒間の角速度の分散値が計算される。フレームの幅は任意に設定することができる。ただし、ジャイロセンサ２０１は、所定のタイミングで（例えば所定の間隔で）角速度を計測し、サーバ装置１０３は、それぞれの時刻において計測された角速度のサンプル値の集合を角速度データとして端末装置１０１から取得する。このため、１フレームの幅は、ある程度信頼できる分散値及び平均値を計算できる程度の数のサンプル値が含まれるように設定することが望ましい。
【００４９】
サーバ装置１０３は、フレームごとに、そのフレームに含まれる角速度のデータがオフセット量の推定に使用できるか否かを判定し（ステップ５０２、５０３）、使用できる場合にはそのデータに基づいてオフセット量を推定する（ステップ５０４）。ジャイロセンサ２０１のオフセット量とは、回転していないジャイロセンサ２０１から出力されるゼロ以外の角速度の値であるので、ジャイロセンサ２０１が回転していない（すなわちジャイロセンサ２０１を含む端末装置１０１を装着した歩行者が回転していない）ときに出力される角速度の値がオフセット量であると推定することができる。
【００５０】
したがって、ジャイロセンサ２０１のオフセット量を、ジャイロセンサ２０１の出力のみに基づいて推定するためには、そのジャイロセンサ２０１の出力が歩行者の回転運動に起因するものであるか否かを推定する必要がある。ステップ５０２及び５０３は、ジャイロセンサ２０１の出力が歩行者の回転運動に起因するものであるか否かを推定するために実行される。この推定は、次のような考え方に基づく。
【００５１】
まず、人間が自然な動作を行っている限り、体を回転させるときの角速度はある程度のばらつきを持つと考えられる。すなわち、人間が一定の角速度をもって回転するような動作をすることは不自然であり、歩行者が体を回転させている期間の角速度は一定ではなく、その期間内に大きく変化すると考えられる。これに対して、ジャイロセンサ２０１のオフセット量は、温度等に依存して変化し得るが、その変化は歩行者の体の回転に起因する角速度の変化と比較すると極めてゆるやかであると考えられる。
【００５２】
さらに、人間が自然な動作を行っている限り、体を回転させるときの角速度はある程度の大きさを持つと考えられる。すなわち、人間が極めてゆっくり回転するような動作をすることは不自然であると考えられる。これに対して、一般に流通しているジャイロセンサ２０１のオフセット量は極めて小さい。
【００５３】
このため、フレーム内の角速度のばらつき（例えば分散値）がある閾値より大きいか、又は、フレーム内の角速度の大きさ（例えば平均値）がある閾値より大きい場合には、そのとき出力された角速度は歩行者の回転運動に起因するものであると推定でき、フレーム内の角速度のばらつきがある閾値以下であり、かつ、フレーム内の角速度の大きさがある閾値以下である場合には、そのとき出力された角速度がジャイロセンサ２０１のオフセットに起因するものである（すなわち当該フレーム内の角速度の大きさがオフセット量に相当する）と推定できる。
【００５４】
ここで、フレーム内の角速度の大きさとは、フレーム内の角速度のサンプル値を代表する値であり、フレーム内の角速度のサンプル値のいずれか（例えば、オフセット量の推定処理の対象のサンプル値、フレーム内の最大のサンプル値、又は最小のサンプル値等）であってもよいし、フレーム内の角速度のサンプル値の算術平均値、中央値又は最頻値のような統計値であってもよい。以下の説明では、これらの一例として、フレーム内の角速度のサンプル値の算術平均値を使用する（ステップ５０３等参照）。
【００５５】
歩行者が回転運動を行っていない状態として、歩行者が静止している（すなわち歩行しておらず、方向転換等の動作も行っていない状態）が考えられる。一般に、歩行者が静止しているときのジャイロセンサ２０１の出力は、オフセット量の推定に使用することができる。これに対して、歩行者が方向転換等の動作を行っているか、又は、曲線上を歩行しているときのジャイロセンサ２０１の出力は、歩行者の回転運動に起因する角速度を含むため、オフセット量の推定に使用することができない。
【００５６】
一方、直進歩行をしている歩行者は、巨視的には回転運動を行っていないが、微視的には歩行の振動に起因する回転運動を行っている。すなわち、その場合のジャイロセンサ２０１の出力は、歩行に起因する振動の成分を含むため、ばらつきが大きい。しかし、その成分を取り除くことができれば、直進歩行中のジャイロセンサ２０１の出力をオフセット量の推定に使用することができると考えられる。本実施形態では、角速度データから歩行に起因する振動の成分を除去する処理（すなわち図４のステップ４０１における平滑化）が行われるため、直進歩行中の歩行に起因するジャイロセンサ２０１の出力のばらつきも十分に小さくなる。このため、本実施形態によれば、直進歩行中のジャイロセンサ２０１の出力をオフセット量の推定に使用することが可能になる。
【００５７】
以下、ステップ５０２以降の処理を具体的に説明する。まず、サーバ装置１０３は、一つのフレームに含まれるＹａｗ軸周りの角速度のサンプル値の分散を計算し、その値が所定の閾値以下であるか否かを判定する（ステップ５０２）。計算された分散値が所定の閾値以下であれば、サーバ装置１０３は、当該フレームに含まれるＹａｗ軸周りの角速度のサンプル値の平均を計算し、その値が所定の閾値以下であるか否かを判定する（ステップ５０３）。ステップ５０３において平均値が所定の閾値以下であると判定された場合、サーバ装置１０３はその平均値を当該フレームの時間帯におけるオフセット量として推定する（ステップ５０４）。
【００５８】
その後、サーバ装置１０３は、次のフレームについてステップ５０２〜５０４を実行する。
【００５９】
なお、ステップ５０２において分散値が所定の閾値を超えると判定されたか、又は、ステップ５０３において平均値が所定の閾値を超えると判定された場合、サーバ装置１０３は、ステップ５０４を実行することなく、次のフレームについてのステップ５０２〜５０４の処理を開始する。
【００６０】
サーバ装置１０３は、全てのフレームについてステップ５０２〜５０４の実行が終了すると、次に、Ｙａｗ軸周りの角速度のサンプル値ごとに、ステップ５０６及び５０７のループ処理を実行する（ステップ５０５）。
【００６１】
まず、サーバ装置１０３は、一つのサンプル値について、そのサンプル値を含むフレームの時間帯におけるオフセット量が推定されているか否かを判定する（ステップ５０６）。オフセット量が推定されていない、すなわち、当該サンプル値を含むフレームについて、ステップ５０２又は５０３のいずれかで「Ｎｏ」と判定されたためにステップ５０４が実行されていない場合、サーバ装置１０３は、推定されたオフセット量のうち、当該サンプル値の取得時刻に最も近い時刻のものを、当該サンプル値の取得時刻におけるオフセット量として推定する（ステップ５０７）。
【００６２】
オフセット量は温度等に依存し、時間の経過と共に変動し得るが、短時間で大きく変動する可能性は低いと考えられる。このため、ステップ５０２〜５０４のループにおいてオフセット量を推定できなかったサンプル値については、そのサンプル値の取得時刻に最も近い時刻における推定されたオフセット量を、そのサンプル値の取得時刻におけるオフセット量として推定する。
【００６３】
その後、サーバ装置１０３は、次のサンプル値についてステップ５０６及び５０７を実行する。
【００６４】
ステップ５０６において、そのサンプル値を含むフレームの時間帯におけるオフセット量が推定されていると判定された場合、ステップ５０７を実行する必要がないため、サーバ装置１０３は、そのサンプル値についてステップ５０７を実行せずに、次のサンプル値についてのステップ５０６及び５０７の処理を開始する。
【００６５】
なお、ステップ５０７におけるオフセット量の推定方法には、上記のもののほか、種々の変形例があり得る。変形例については、図１４及び図１５を参照して後述する。
【００６６】
図５に示したオフセット量の推定は、サンプル値ごとに行われてもよいし、フレームごとに行われてもよい。
【００６７】
まず、オフセット量の推定がサンプル値ごとに行われる場合について説明する。ここでは例として、フレームの時間幅を、オフセット量の推定対象であるＹａｗ軸角速度のサンプル値の取得時刻の１秒前から１秒後までの２秒間と仮定する。この場合、サーバ装置１０３は、当該対象サンプル値の前後の２秒間のサンプル値の分散値及び平均値を計算し（ステップ５０２、５０３）、それらが所定の条件を満たす場合には、計算された平均値が当該対象サンプル値に含まれているオフセット量であると推定する（ステップ５０４）。次に、サーバ装置１０３は、当該対象サンプル値の次に取得されたサンプル値について、上記と同様の処理を実行する。
【００６８】
次に、オフセット量の推定がフレームごとに行われる場合について説明する。ここでは例としてフレームの時間幅を２秒間と仮定する。この場合、サーバ装置１０３は、オフセット量の推定対象であるフレームに相当する２秒間のサンプル値の分散値及び平均値を計算し（ステップ５０２、５０３）、それらが所定の条件を満たす場合には、計算された平均値が当該対象フレーム内の全サンプル値に含まれているオフセット量であると推定する（ステップ５０４）。次に、サーバ装置１０３は、当該対象フレームの次の２秒間のフレームについて、上記と同様の処理を実行する。
【００６９】
サンプル値ごとに推定されたオフセット量の精度は、フレームごとに推定されたものより高いことが期待できるが、フレームごとに推定することによって計算量を大幅に削減することができる。
【００７０】
以下、図３〜図５に示した処理の詳細を説明する。
【００７１】
図６は、本発明の実施形態のジャイロセンサ２０１によって計測された、平滑化される前の角速度の説明図である。
【００７２】
具体的には、図６には、端末装置１０１のＹａｗ軸周りの角速度の計測結果を例示する。これは、図４のステップ４０１における平滑化が行われる前の角速度の値の例である。既に説明したように、端末装置１０１のＹａｗ軸（言い換えると、例えば端末装置１０１のＺ軸）は、慣性座標系のＹａｗ軸（すなわち歩行者の上下方向）とは必ずしも一致しない。同様に、端末装置１０１のＰｉｔｃｈ軸周りの角速度、Ｒｏｌｌ軸周りの角速度も計測されるが、それらについては図示を省略する。
【００７３】
図６のグラフの横軸は角速度が計測された時刻、縦軸は計測された角速度（ｄｅｇｒｅｅ／ｓｅｃｏｎｄ）である。図６に示す角速度が大きく振動しているのは、歩行者の歩行に起因する振動の成分が含まれるためである。
【００７４】
図７は、本発明の実施形態のジャイロセンサ２０１によって計測され、平滑化された角速度の説明図である。
【００７５】
具体的には、図７には、図６に示した角速度のデータを図４のステップ４０１において平滑化した結果を例示する。この平滑化は、歩行に特有の周波数成分をフィルタによって取り除くことによって行われる。フィルタの種類は、歩行に特有の周波数成分を取り除くことができるものであれば、低域通過フィルタ（ＬＰＦ）又は帯域通過フィルタ（ＢＰＦ）など、どのようなものであってもよく、それを実現するためのフィルタの構造も、ＦＩＲ（Finite Impulse Response）フィルタ又はＦＦＴ（Fast Fourier Transform）を使用したフィルタなど、どのようなものであってもよい。ステップ４０１を実行することによって角速度のデータから歩行に起因する成分が取り除かれ、それ以外の成分が残る。
【００７６】
図８は、本発明の実施形態において計測された角速度データに含まれる歩行に特有の周波数成分の説明図である。
【００７７】
具体的には、図８は、歩行者の歩調（すなわち１秒間当たりの歩数）を実測した結果の例を示す。歩行者の年代は、青年、中年及び高年に分類され、それぞれの年代の男性及び女性についての実測結果が示されている。この結果によれば、歩調は年齢が高くなるほど遅く（すなわち値が小さく）なり、男性の歩調が女性の歩調より遅い傾向が見られるが、全体の分布は概ね１．６〜２．４歩／秒の範囲に収まり、その中心は概ね２．０歩／秒であることがわかる。
【００７８】
このことは、カットオフ周波数が１．６Ｈｚ以下のＬＰＦを用いることで、角速度データに含まれる、歩行に特有の周波数成分をほぼ取り除くことができることを意味する。本実施形態では、図４のステップ４０１において、カットオフ周波数が１．６Ｈｚ以下のＬＰＦが用いられる。
【００７９】
例えば、メモリ２１３又は記憶媒体２１４が、カットオフ周波数が１．６Ｈｚ以下のいずれかの値（例えば１．３Ｈｚ）となるＬＰＦを実現するためのパラメータを保持し、ＣＰＵ２１２がそのパラメータを用いて適切な演算を行うことによってＬＰＦを実現してもよい。ＬＰＦを実現するための具体的な演算方法としては、従来から知られたものを使用することができる。
【００８０】
なお、本実施形態は、例として、端末装置１０１が歩行者に取り付けられた場合の歩行経路推定を示している。しかし、本発明は、歩行者以外の移動体に端末装置１０１が取り付けられた場合にも適用することができる。歩行者以外の移動体とは、例えば、人間の移動を補助する装置（例えば自転車、自動車又は車椅子等）又はその装置を使用して移動する人間であってもよいし、人間以外のロボット又は動物等であってもよい。その場合、それぞれの移動体が移動するときに特有の周波数成分を取り除くためのフィルタのパラメータをメモリ２１３又は記憶媒体２１４が保持し、ＣＰＵ２１２がそのパラメータを用いて当該周波数成分を取り除く演算を行ってもよい。
【００８１】
さらに、メモリ２１３又は記憶媒体２１４が複数の移動体のそれぞれに適合するパラメータを保持し、ＣＰＵ２１２は、端末装置１０１が取り付けられた移動体の種類に適合するパラメータを選択して使用してもよい。あるいは、メモリ２１３又は記憶媒体２１４が歩行者の年齢及び性別に応じた複数のパラメータ（図８参照）を保持し、ＣＰＵ２１２は、端末装置１０１が取り付けられた人物の属性に適合するパラメータを選択して使用してもよい。
【００８２】
図９は、本発明の実施形態において計測された角速度データを慣性座標系におけるデータに変換する処理の説明図である。
【００８３】
実線で示す座標系９０１は、慣性座標系である。すなわち、座標系９０１におけるＸ軸は歩行者の左右方向の座標軸（すなわちＰｉｔｃｈ軸）、Ｙ軸は歩行者の前後方向の座標軸（すなわちＲｏｌｌ軸）、Ｚ軸は歩行者の上下方向の座標軸（言い換えると鉛直線方向の座標軸、すなわちＹａｗ軸）である。
【００８４】
一方、点線で示す座標系９０２は、端末装置１０１の座標軸である。座標系９０２のＸ’軸、Ｙ’軸及びＺ’軸は、それぞれ、座標系９０１におけるＸ軸、Ｙ軸及びＺ軸と一致しない。
【００８５】
サーバ装置１０３は、図４のステップ４０２において、式（１）及び（２）を用いて端末装置１０１の傾斜角θp及びθrを計算する。
【００８６】
【数１】
0005849319.tif 000002
【００８７】
式（１）及び（２）のａx、ａy及びａzは、それぞれ、重力加速度のＸ’軸方向成分、Ｙ’軸方向成分及びＺ’軸方向成分である。θp及びθrは、端末装置１０１の慣性座標系に対する傾斜角、具体的には、端末装置１０１のＸ軸周りの角度及びＹ軸周りの角度である。
【００８８】
次に、サーバ装置１０３は、図４のステップ４０３において、式（３）〜（５）を用いてθy’、θp’及びθr’を計算する。
【００８９】
【数２】
0005849319.tif 000003
【００９０】
式（３）〜（５）のωx、ωy及びωzは、それぞれ、端末装置１０１の座標系９０２におけるＸ’軸周りの角速度、Ｙ’軸周りの角速度及びＺ’軸周りの角速度であり、これらはステップ４０１において平滑化された角速度データである。θy’、θp’及びθr’は、それぞれ、端末装置１０１の慣性座標系におけるＺ軸（Ｙａｗ軸）周りの角速度、Ｘ軸（Ｐｉｔｃｈ軸）周りの角速度及びＹ軸（Ｒｏｌｌ軸）周りの角速度である。このように、式（３）〜（５）を用いて慣性座標系における各軸周りの角速度を計算することができるが、本発明では歩行者の水平方向の移動軌跡を推定するため、慣性座標系におけるＹａｗ軸周りの角速度のみが用いられる。
【００９１】
図１０は、本発明の実施形態の端末装置１０１の慣性座標系における角速度の説明図である。
【００９２】
具体的には、図１０に示すグラフの横軸は時刻であり、縦軸はＹａｗ軸周りの角速度である。図１０には、図７に示したＹａｗ軸角速度を含む、平滑化後の角速度から式（１）〜（５）を用いて算出された慣性座標系における角速度のうち、Ｙａｗ軸周りの角速度を示す。図１０に表示された時間帯１１０１については後述する（図１１参照）。
【００９３】
図１１は、本発明の実施形態の端末装置１０１のＹａｗ軸周りの角速度のばらつきの説明図である。
【００９４】
具体的には、図１１に示すグラフの横軸は時刻であり、縦軸は角速度のサンプル値の分散値の逆数である。図１１には、図１０に示したＹａｗ軸周りの角速度のサンプル値のフレームごとの分散値の逆数を示す。この値は、図５のステップ５０２において参照される。図１１に示す値が大きいほど、フレームに含まれる角速度のサンプル値の分散値が小さい（すなわちばらつきが少ない）ことを意味する。図１１の例では、閾値「２００」が設定され、分散値の逆数がその閾値を超える時間帯１１０１が特定される。この場合、時間帯１１０１における角速度のサンプル値の平均値、すなわち、図１０に示す時間帯１１０１におけるサンプル値の平均値が、ステップ５０３において所定の閾値と比較される。図１０の例では、時間帯１１０１におけるサンプル値の平均値は、非常に小さいが、ゼロではない。この平均値が所定の閾値以下であると判定された場合、この平均値がオフセット量であると推定される（図５のステップ５０４）。
【００９５】
その後、サーバ装置１０３は、推定されたオフセットの値を、慣性座標系における角速度の値（図１０）から減算することによって、オフセットの除去（すなわち補正）を行う（図４のステップ４０５）。
【００９６】
なお、図１１の例では、時間帯１１０１以外のほとんどの時間帯において、角速度のサンプル値の分散値の逆数が所定の閾値を超えない（すなわち分散値が所定の閾値以下である）と判定されたため、オフセット量が推定されていない。このように、図５のステップ５０２又はステップ５０３のいずれかの条件が満たされなかったためにオフセット量が推定できなかった時間帯がある場合、サーバ装置１０３は、その時間帯におけるオフセット量を、ステップ５０２及び５０３の条件がいずれも満たされた時間帯において推定されたオフセット量に基づいて推定することができる（図５のステップ５０７）。この推定は、図１４等を参照して後述するように、種々の方法によって行うことができる。なお、図１２及び図１３では、説明を簡単にするために、時間帯１１０１において推定されたオフセット量が全時間帯のオフセット量として扱われる。
【００９７】
図１２は、本発明の実施形態のサーバ装置１０３によって推定される相対方位角の説明図である。
【００９８】
具体的には、図１２に示すグラフの横軸は時刻であり、縦軸は相対方位角を示す。図１２には、図１０に示す角速度を、オフセット補正をすることなく積分することによって得られた相対方位角１２０１、及び、オフセット補正がされた角速度を積分することによって得られた相対方位角１２０２を示す。通常、オフセットの値は非常に小さいが、その値が積分されることによって、時刻が遅くなるほど、補正の有無に起因する相対方位角の差は大きくなる。
【００９９】
図１３は、本発明の実施形態のサーバ装置１０３によって推定される歩行経路の説明図である。
【０１００】
サーバ装置１０３は、図１２に示す相対方位角と、加速度データから推定された水平方向の移動量と、に基づいて歩行者の移動軌跡（歩行経路）を推定する（図３のステップ３０３）。ただし、図１２において得られるのは相対方位角であり、絶対方位が不明であるため、サーバ装置１０３は、例えば歩行経路推定の対象である建物のレイアウト情報を用いてマップマッチングを行うことによって、絶対方位を推定してもよい（ステップ３０４）。その場合、サーバ装置１０３の記憶媒体２１４等はレイアウト情報を保持する必要がある。マップマッチングは従来から知られた方法によって実行できるため、その詳細な説明は省略する。あるいは、端末装置１０１が方位センサ２０３を備え、それによって信頼できる絶対方位の情報が得られた場合には、それを利用してもよい。
【０１０１】
図１３には、フロア１３０５の始点１３０１から終点１３０２に至る、推定された歩行経路１３０３及び１３０４を示す。歩行経路１３０４は、オフセットが補正されていない相対方位角１２０１に基づいて推定されたもの、歩行経路１３０３は、オフセットが補正された相対方位角１２０２に基づいて推定されたものである。前者がフロア１３０５の形状から大きく外れているのに対して、後者はフロア１３０５の形状にほぼ合致しており、実際の歩行経路に近いものであると考えられる。
【０１０２】
このように、オフセットを補正することによって、実際の歩行経路により近い経路を推定することができる。歩行者が静止していない限りオフセット量を推定できないのであれば、図１３に示すような経路を歩行した場合に、始点１３０１、終点１３０２又はその間のいずれかの地点で歩行者が静止しない限り、オフセット量を推定できない。しかし、本発明によれば、始点１３０１から終点１３０２に至るまでの間に歩行者が静止していた時間帯が存在しなくても、直進歩行中の角速度データからオフセット量を推定することができる。
【０１０３】
図１４は、本発明の実施形態のサーバ装置１０３によって実行される、既に推定されたオフセット量に基づくオフセット量の推定の第１の説明図である。
【０１０４】
図１４の例では、時刻ｔ1までの時間帯１４０１と、時刻ｔ2以降の時間帯１４０３において、図５のステップ５０２及び５０３の条件がいずれも満たされたため、ステップ５０４においてオフセット量（図１４のグラフ中に実線で示す値）が推定されている。一方、時刻ｔ1からｔ2までの時間帯１４０２では、図５のステップ５０２又は５０３のいずれかの条件が満たされなかったため、オフセット量が推定されていない。
【０１０５】
この場合、時間帯１４０２における角速度のサンプル値について、図５のステップ５０６において、オフセット量が推定されていないと判定され、ステップ５０７が実行される。ステップ５０７において、サーバ装置１０３は、オフセット量が推定されていない時間帯１４０２の前後に隣接する時刻における推定されたオフセット量（図１４の例では、時刻ｔ1及びｔ2のそれぞれにおけるオフセット量ω1及びω2）の少なくとも一方に基づいて、時間帯１４０２におけるオフセット量を推定する。
【０１０６】
例えば、サーバ装置１０３は、時間帯１４０２内のある時刻が時刻ｔ2よりｔ1に近い場合は、その時刻におけるオフセット量を時刻ｔ1におけるオフセット量ω1と同じであると推定し、ある時刻が時刻ｔ1よりｔ2に近い場合は、その時刻におけるオフセット量を時刻ｔ2におけるオフセット量ω2と同じであると推定してもよい。このようにして推定されたオフセット量１４０４を図１４に例示する。
【０１０７】
あるいは、サーバ装置１０３は、時間帯１４０２内の全時刻におけるオフセット量を、オフセット量ω1及びω2の平均値ω3であると推定してもよい。このようにして推定されたオフセット量１４０５を図１４に例示する。
【０１０８】
あるいは、サーバ装置１０３は、時刻ｔ1におけるオフセット量ω1と、時刻ｔ2におけるオフセット量ω2との間を直線で補間することによって、時間帯１４０２内のオフセット量を推定してもよい。これは、時間帯１４０２内の時刻と、時刻ｔ1及びｔ2それぞれとの「近さ」を重みとして用い、ω1及びω2を加重平均したことに相当する。このようにして推定されたオフセット量１４０６を図１４に例示する。
【０１０９】
いずれの場合も、時間帯１４０２におけるオフセット量は、ω1からω2までの範囲のいずれかの値となる。
【０１１０】
図１５は、本発明の実施形態のサーバ装置１０３によって実行される、既に推定されたオフセット量に基づくオフセット量の推定の第２の説明図である。
【０１１１】
既に説明したように、本実施形態では、ジャイロセンサ２０１によって計測され、慣性座標系における値に変換された角速度から、人間の歩行に起因する周波数成分が除去される。このため、歩行者が静止している（すなわち歩行していない）ときに計測された角速度だけでなく、歩行者が直進歩行をしているときに計測された角速度もオフセット量の推定に利用できる。
【０１１２】
しかし、歩行者が静止しているときに、極めてゆっくりと回転する動作をすることはほとんど考えられないのに対して、歩行をしているときには、その経路がほとんど直線であるが実際には極めてゆっくりと回転する動作をする可能性もある。すなわち、歩行者が直進歩行をしているときに計測された角速度より、静止しているときに計測された角速度のほうが、オフセット量を推定する根拠としての信頼性が高いと言える。
【０１１３】
このため、サーバ装置１０３は、それぞれの時間帯において歩行者が歩行していたか否かを判定し、歩行していない時間帯に計測された角速度の重みがより重くなるように、図５のステップ５０７における推定を行ってもよい。歩行者が歩行していたか否かは、計測された加速度データに基づいて、従来から知られた方法によって判定することができる。
【０１１４】
図１５には、時間帯１４０１において歩行者が歩行していたと判定され、時間帯１４０３において歩行者が静止していたと判定された場合の例を示す。
【０１１５】
例えば、サーバ装置１０３は、時間帯１４０２内の全時刻におけるオフセット量を、時間帯１４０２に隣接する時間帯１４０１及び１４０３のうち、歩行者が静止していたと判定された時間帯１４０３の、時間帯１４０２に隣接する時刻ｔ2における角速度ω2と同じであると推定してもよい。このようにして推定されたオフセット量１５０１を図１５に例示する。
【０１１６】
あるいは、サーバ装置１０３は、図１４のオフセット量１４０６と同様の加重平均を行う際に、歩行者が静止していた時間帯１４０３における角速度ω2に関する重みを、歩行者が歩行していた時間帯１４０１における角速度ω1に関する重みより重くなるように設定してもよい。このようにして推定されたオフセット量１５０２を図１５に例示する。
【０１１７】
いずれの場合も、時間帯１４０２におけるオフセット量は、ω1からω2までの範囲のいずれかの値となるが、時刻ｔ1とｔ2の中間点である時刻ｔ3より時刻ｔ1に近い時刻ｔ4から時刻ｔ2までの時間帯のオフセット量が、ω1よりω2に近くなるように推定される。図１５に示すオフセット量１５０２の例では、時刻ｔ4におけるオフセット量ω4が、ω1とω2の中間の値（すなわち平均値）であり、時刻ｔ4から時刻ｔ2までの時間帯のオフセット量は、ω4からω2までの範囲のいずれかの値となる。
【０１１８】
このように、歩行者が静止していると判定された時間帯において推定されたオフセット量の重みが、歩行者が歩行していると判定された時間帯において推定されたオフセット量の重みより重くなるように、それらの時間帯にはさまれた時間帯のオフセット量を推定することによって、より信頼性の高いオフセット量の推定値を得ることができる。
【０１１９】
以上の説明は、屋内の歩行者の歩行経路推定を例としていたが、本発明は、歩行者以外の移動体の移動経路推定にも適用することができ、さらに、屋外の移動経路推定にも適用することができる。
【０１２０】
以上の本発明の実施形態によれば、ジャイロセンサ２０１によって計測された角速度データから歩行に起因する振動の成分を取り除くことによって、歩行者が静止しているときだけでなく、直進歩行しているときの角速度データからもジャイロセンサ２０１のオフセット量を推定することができる。これによって、より精度の高い歩行経路推定を実現することが可能になる。さらに、ある時刻に計測された角速度データのオフセット量をその時刻を含む時間帯の角速度データに基づいて推定できなかった場合、その時刻の前後の時刻の角速度データに基づいて推定されたオフセット量を用いて、その時刻のオフセット量を推定することもできる。このときに、歩行者が歩行していたか否かに基づく重み付けを行うことによって推定の精度を向上させることもできる。
【符号の説明】
【０１２１】
１０１  端末装置
１０２  ネットワーク
１０３  サーバ装置
２０１  ジャイロセンサ
２０２  加速度センサ
２０３  方位センサ
２０４  温度センサ
２０５  ＧＰＳ
２０６、２１２  ＣＰＵ
２０７、２１３  メモリ
２０８、２１４  記憶媒体
２０９、２１１  通信部
２１０、２１５  入出力部
【図１】
0005849319.tif 000004
【図２】
0005849319.tif 000005
【図３】
0005849319.tif 000006
【図４】
0005849319.tif 000007
【図５】
0005849319.tif 000008
【図６】
0005849319.tif 000009
【図７】
0005849319.tif 000010
【図８】
0005849319.tif 000011
【図９】
0005849319.tif 000012
【図１０】
0005849319.tif 000013
【図１１】
0005849319.tif 000014
【図１２】
0005849319.tif 000015
【図１３】
0005849319.tif 000016
【図１４】
0005849319.tif 000017
【図１５】
0005849319.tif 000018