(57)【特許請求の範囲】
【請求項１】
３軸の加速度データを出力する加速度センサと、３軸の地磁気データを出力する地磁気センサと、前記加速度データ及び前記地磁気データから歩行者の進行方向を決定する進行方向決定手段とを有し、歩行者によって所持される携帯端末であって、
前記進行方向決定手段は、
各軸加速度データと、全ての軸の加速度データの二乗和平方根となる合成加速度とを用いて、遊脚期の加速度データを抽出する遊脚期抽出手段と、
前記遊脚期の加速度データの中から、指定数分の加速度データを取得する指定数分加速度取得手段と、
指定数分の遊脚期の加速度データに基づいて、歩行者の進行方向に対する右方又は左方を示す右／左向きベクトルＵを算出する右／左向きベクトル算出手段と、
前記右／左向きベクトルＵと、前記加速度データに基づく重力ベクトルＧと、前記地磁気データに基づく地磁気ベクトルＭとを用いて、進行方向を算出する進行方向算出手段と
を有することを特徴とする携帯端末。
【請求項２】
前記遊脚期抽出手段は、
前記合成加速度から、連続する極大点を検出し、
連続する極大点と極大点との間における前記合成加速度の極小点について、合成加速度が「大」「小」と交互に続くことを検出し、
前記合成加速度「小」の前後の極大点間を、遊脚期として検出する
ことを特徴とする請求項１に記載の携帯端末。
【請求項３】
前記右／左向きベクトル算出手段は、前記遊脚期の終了を示す加速度ベクトルＢと、前記遊脚期の開始を示す加速度ベクトルＦとの外積（Ｕ＝Ｂ×Ｆ（又はＦ×Ｂ））によって、右／左向きベクトルＵを算出することを特徴とする請求項２に記載の携帯端末。
【請求項４】
前記右／左向きベクトル算出手段は、
指定数分の遊脚期の加速度データに基づいて、歩行者の歩行動作によって生じる加速度面を推定する加速度面推定手段と、
指定数分の遊脚期の加速度データから、鉛直方向加速度を算出する鉛直方向加速度算出手段と、
前記加速度面及び前記鉛直方向加速度から、当該加速度面における法線ベクトルＶLR（右／左向きベクトルＵ）と、前後方向加速度とを算出する前後方向加速度算出手段と
を有することを特徴とする請求項２に記載の携帯端末。
【請求項５】
前記前後方向加速度算出手段は、
前記加速度センサから出力された軸毎の加速度に基づいて、重力ベクトルＧを算出し、
前記加速度面における法線ベクトルＶLR及び前記重力ベクトルＧから、前向き又は後向きの前後方向ベクトルＶFGを算出し、
前記前後方向ベクトルＶFG及び前記遊脚期の終了を示す加速度に基づいて、前記前後方向ベクトルＶFGが前向きである場合、前記法線ベクトルＶLRを右向きとし、前記前後方向ベクトルＶFGが後向きである場合、前記法線ベクトルＶLRを左向きとする
ことを特徴とする請求項４に記載の携帯端末。
【請求項６】
前記加速度面推定手段は、
指定数分加速度について、各軸の分散Ｖxx、Ｖyy及びＶzzを算出し、
分散が最小となる軸について、最小二乗法に基づいて加速度面を推定する
ことを特徴とする請求項４又は５に記載の携帯端末。
【請求項７】
前記右／左向きベクトル算出手段は、前記遊脚期の終了を示す加速度ベクトルＢと、前記遊脚期の開始を示す加速度ベクトルＦとの外積（Ｕ＝Ｂ×Ｆ（又はＦ×Ｂ））によって、右／左向きベクトルＵを算出し、
前記加速度面推定手段は、３軸の中で、前記右／左向きベクトルＵの方向に最も近い軸について、最小二乗法に基づいて加速度面を推定する
ことを特徴とする請求項４又は５に記載の携帯端末。
【請求項８】
前記進行方向算出手段は、
前記重力ベクトルＧ及び前記地磁気ベクトルＭを用いて、Ｇ×Ｍ／｜Ｇ×Ｍ｜によって東向き単位ベクトルｅEastを算出し、
前記右／左向きベクトルＵにおける右向き単位ベクトルｅRightと、前記東向き単位ベクトルｅEastとの成す角αを算出し、
前記東向き単位ベクトルｅEastと前記右向き単位ベクトルｅRightとの外積ベクトル（ｅEast×ｅRight）と、重力ベクトルＧとの成す角βに基づいて、前記東向き単位ベクトルｅEastに対する方向角θを算出する
ことを特徴とする請求項１から７のいずれか１項に記載の携帯端末。
【請求項９】
前記進行方向算出手段について、
前記成す角αは、以下の式によって算出され、
α＝arccos（(ｅEast・ｅRight)／(|ｅEast||ｅRight|)）
方位角θは、前記成す角αと、前記外積ベクトル（ｅEast×ｅRight）と前記重力ベクトルＧの成す角βとを用いて、以下の式によって導出される
ｃｏｓβ≧０：θ＝α
ｃｏｓβ＜０：θ＝３６０−α
ことを特徴とする請求項８に記載の携帯端末。
【請求項１０】
３軸の加速度データを出力する加速度センサと、３軸の地磁気データを出力する地磁気センサとを有する携帯端末に搭載されたコンピュータを、前記加速度データ及び前記地磁気データから歩行者の進行方向を決定する進行方向決定手段として機能させるプログラムであって、
前記進行方向決定手段は、
各軸加速度データと、全ての軸の加速度データの二乗和平方根となる合成加速度とを用いて、遊脚期の加速度データを抽出する遊脚期抽出手段と、
前記遊脚期の加速度データの中から、指定数分の加速度データを取得する指定数分加速度取得手段と、
指定数分の遊脚期の加速度データに基づいて、歩行者の進行方向に対する右方又は左方を示す右／左向きベクトルＵを算出する右／左向きベクトル算出手段と、
前記右／左向きベクトルＵと、前記加速度データに基づく重力ベクトルＧと、前記地磁気データに基づく地磁気ベクトルＭとを用いて、進行方向を算出する進行方向算出手段と
してコンピュータを機能させることを特徴とする携帯端末用のプログラム。
【請求項１１】
３軸の加速度データを出力する加速度センサと、３軸の地磁気データを出力する地磁気センサとを有する携帯端末によって、前記加速度データ及び前記地磁気データから歩行者の進行方向を決定する進行方向決定方法であって、
各軸加速度データと、全ての軸の加速度データの二乗和平方根となる合成加速度とを用いて、遊脚期の加速度データを抽出する第１のステップと、
前記遊脚期の加速度データの中から、指定数分の加速度データを取得する第２のステップと、
指定数分の遊脚期の加速度データに基づいて、歩行者の進行方向に対する右方又は左方を示す右／左向きベクトルＵを算出する第３のステップと、
前記右／左向きベクトルＵと、前記加速度データに基づく重力ベクトルＧと、前記地磁気データに基づく地磁気ベクトルＭとを用いて、進行方向を算出する第４のステップと
を有することを特徴とする携帯端末の進行方向決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加速度センサ及び地磁気センサを用いて歩行者の進行方向を決定する技術に関する。特に、進行方向をリアルタイムに導出する自律航法技術に関する。
【背景技術】
【０００２】
従来、加速度センサ及び方位センサを用いて、進行方向及び現在位置をリアルタイムに導出する自律航法技術がある。自律航法技術は、ＧＰＳ(Global Positioning System)技術と組み合わされて、主にカーナビゲーションシステム(Car Navigation System)に利用されている。カーナビゲーションシステムは、自動車の運転者に対して、正確な進行方向及び現在位置と、目的地への走行経路案内とを、ディスプレイ部に表示する。
【０００３】
カーナビゲーションシステムは、ＧＰＳによって測位した現在位置情報を、車速パルス又はジャイロのような自律航法技術によって補正する。また、道路地図情報を必要に応じて読み出し、現在の走行経路が道路上と一致するように、進行方向及び現在位置を補正する（投影法によるマップマッチング技術、例えば特許文献１参照）。これにより、センサの誤差によって、現在位置が、道路上でない位置になることを防ぐことができる。
【０００４】
これに対し、このようなナビゲーション技術を、歩行者の所持する携帯端末に適応したシステムもある。具体的には、検出した歩行者の「歩数」と、その歩行者の「歩幅」とを用いて、始点からの累積的な現在位置を導出する（例えば特許文献２参照）。自律航法技術を歩行者に適応した場合、水平方向の移動以外の加速度成分も検出される。従って、測定される距離は、単純に加速度センサの出力を積分するのではなく、歩数及び歩幅から導出される。
【０００５】
「歩数」は、携帯端末内の加速度センサによって検出された軸毎の加速度を二乗和の平方根とし(√(ｘ２＋ｙ２＋ｚ２))、そのピーク−ピーク間を１歩として検出する（例えば特許文献３参照）。「歩幅」は、利用者が予め設定するか、若しくは利用者の身長から推定する。又は、他の技術によれば、歩行者に規定距離を歩行させることによって、その歩幅をキャリブレーションする技術もある（例えば非特許文献１参照）。
【０００６】
「進行方向」は、「方位センサ」によって検出される。方位センサとしては、一般に地磁気センサが利用される。端末の姿勢を導出するべく鉛直方向を決定した後に、鉛直方向加速度と進行方向加速度との関係を利用して、歩行者の進行方向を決定する技術がある（例えば特許文献４参照）。また、特定時点の端末の姿勢から進行方向を決定する技術もある（例えば特許文献５参照）。更に、水平方向の加速度の分布に基づいて進行方向を決定する技術もある（例えば特許文献６、７参照）。更に、歩行者の腕振りの特徴から進行方向を決定する技術もある（例えば特許文献８参照）。
【０００７】
尚、本願と同一の出願人における過去の発明として、腕振り運動に基づく加速度面に対する法線ベクトル（方向基準ベクトル）と、重力ベクトル及び地磁気ベクトルに基づく方位基準面に対する法線ベクトル（方位基準ベクトル）とから、進行方向の方位角を算出する技術がある（特許文献９参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平５−０６１４０８号公報
【特許文献２】特開平９−０８９５８４号公報
【特許文献３】特開２００５−０３８０１８号公報
【特許文献４】特開２００８−０３９６１９号公報
【特許文献５】ＷＯ２００６/１０４１４０
【特許文献６】特許第４１２６３８８号公報
【特許文献７】特開２００８−１１６３１５号公報
【特許文献８】特開２０１０−２７１１６７号公報
【特許文献９】特開２０１０−００８１０３号公報
【非特許文献】
【０００９】
【非特許文献１】「Nike＋iPodユーザーズガイド」、第２７頁、「online」、［平成２１年２月３日検索］、インターネット＜ＵＲＬ：http://manuals.info.apple.com/ja/nikeipod_users_guide.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【００１０】
特許文献４に記載された技術によれば、所定閾値を超える加速度が検出された方向を、進行方向の候補とする。しかしながら、加速度の分布が、直線状ではなく幅をもつ場合、多数の進行方向の候補に対する評価が必要となり、演算量が膨大になる。
【００１１】
また、特許文献５、６、７に記載された技術によれば、歩行者の身に着けられた携帯端末の姿勢が大凡一定であることを想定し、歩行の際に検出される水平方向の加速度が、進行方向に分布することを利用している。しかしながら、実際には、歩行者が所持している携帯端末の姿勢が、大凡一定となるとは限らない。そのために、水平方向の加速度が、進行方向に分布しないことも多い。
【００１２】
更に、特許文献８に記載された技術によれば、歩行者が携帯端末を把持した腕振りによって進行方向を決定するものであるが、携帯端末が腕振り運動に伴って動くことを想定しており、歩行者が、携帯端末を例えばズボンのポケットに入れている場合には、進行方向を決定することができない。
【００１３】
尚、特許文献４から７のいずれに記載された技術についても、センサによって検出されたセンサ座標系の加速度データから、進行方向の座標系の加速度を算出する処理を要する。即ち、センサによって検出された個々の加速度データについて、座標変換処理を要する。これは、結果として、演算量の増大を招く。
【００１４】
そこで、本発明は、歩行者が、携帯端末をズボンのポケットのような衣服に入れている場合であっても、その携帯端末に搭載された加速度センサ及び地磁気センサを用いて、歩行者の進行方向をできる限り正確に決定する携帯端末、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明によれば、３軸の加速度データを出力する加速度センサと、３軸の地磁気データを出力する地磁気センサと、加速度データ及び地磁気データから歩行者の進行方向を決定する進行方向決定手段とを有し、歩行者によって所持される携帯端末であって、
進行方向決定手段は、
各軸加速度データと、全ての軸の加速度データの二乗和平方根となる合成加速度とを用いて、遊脚期の加速度データを抽出する遊脚期抽出手段と、
遊脚期の加速度データの中から、指定数分の加速度データを取得する指定数分加速度取得手段と、
指定数分の遊脚期の加速度データに基づいて、歩行者の進行方向に対する右方又は左方を示す右／左向きベクトルＵを算出する右／左向きベクトル算出手段と、
右／左向きベクトルＵと、加速度データに基づく重力ベクトルＧと、地磁気データに基づく地磁気ベクトルＭとを用いて、進行方向を算出する進行方向算出手段と
を有することを特徴とする。
【００１６】
本発明の携帯端末における他の実施形態によれば、遊脚期抽出手段は、
合成加速度から、連続する極大点を検出し、
連続する極大点と極大点との間における合成加速度の極小点について、合成加速度が「大」「小」と交互に続くことを検出し、
合成加速度「小」の前後の極大点間を、遊脚期として検出することも好ましい。
【００１７】
本発明の携帯端末における他の実施形態によれば、右／左向きベクトル算出手段は、遊脚期の終了を示す加速度ベクトルＢと、遊脚期の開始を示す加速度ベクトルＦとの外積（Ｕ＝Ｂ×Ｆ（又はＦ×Ｂ））によって、右／左向きベクトルＵを算出することも好ましい。
【００１８】
本発明の携帯端末における他の実施形態によれば、
右／左向きベクトル算出手段は、
指定数分の遊脚期の加速度データに基づいて、歩行者の歩行動作によって生じる加速度面を推定する加速度面推定手段と、
指定数分の遊脚期の加速度データから、鉛直方向加速度を算出する鉛直方向加速度算出手段と、
加速度面及び鉛直方向加速度から、当該加速度面における法線ベクトルＶLR（右／左向きベクトル）と、前後方向加速度とを算出する前後方向加速度算出手段と
を有することも好ましい。
【００１９】
本発明の携帯端末における他の実施形態によれば、
前後方向加速度算出手段は、
加速度センサから出力された軸毎の加速度に基づいて、重力ベクトルＧを算出し、
加速度面における法線ベクトルＶLR及び重力ベクトルＧから、前向き又は後向きの前後方向ベクトルＶFGを算出し、
前後方向ベクトルＶFG及び遊脚期の終了を示す加速度に基づいて、前後方向ベクトルＶFGが前向きである場合、法線ベクトルＶLRを右向きとし、前後方向ベクトルＶFGが後向きである場合、法線ベクトルＶLRを左向きとすることも好ましい。
【００２０】
本発明の携帯端末における他の実施形態によれば、
加速度面推定手段は、
指定数分加速度について、各軸の分散Ｖxx、Ｖyy及びＶzzを算出し、
分散が最小となる軸について、最小二乗法に基づいて加速度面を推定することも好ましい。
【００２１】
本発明の携帯端末における他の実施形態によれば、
右／左向きベクトル算出手段は、遊脚期の終了を示す加速度ベクトルＢと、遊脚期の開始を示す加速度ベクトルＦとの外積（Ｕ＝Ｂ×Ｆ（又はＦ×Ｂ））によって、右／左向きベクトルＵを算出し、
加速度面推定手段は、３軸の中で、右／左向きベクトルＵの方向に最も近い軸について、最小二乗法に基づいて加速度面を推定することも好ましい。
【００２２】
本発明の携帯端末における他の実施形態によれば、
進行方向算出手段は、
重力ベクトルＧ及び地磁気ベクトルＭを用いて、Ｇ×Ｍ／｜Ｇ×Ｍ｜によって東向き単位ベクトルｅEastを算出し、
右／左向きベクトルＵにおける右向き単位ベクトルｅRightと、東向き単位ベクトルｅEastとの成す角αを算出し、
東向き単位ベクトルｅEastと右向き単位ベクトルｅRightとの外積ベクトル（ｅEast×ｅRight）と、重力ベクトルＧとの成す角βに基づいて、東向き単位ベクトルｅEastに対する方向角θを算出することも好ましい。
【００２３】
本発明の携帯端末における他の実施形態によれば、
進行方向算出手段について、
成す角αは、以下の式によって算出され、
α＝arccos（(ｅEast・ｅRight)／(|ｅEast||ｅRight|)）
方位角θは、成す角αと、外積ベクトル（ｅEast×ｅRight）と重力ベクトルＧの成す角βとを用いて、以下の式によって導出される
ｃｏｓβ≧０：θ＝α
ｃｏｓβ＜０：θ＝３６０−α
ことも好ましい。
【００２４】
本発明によれば、３軸の加速度データを出力する加速度センサと、３軸の地磁気データを出力する地磁気センサとを有する携帯端末に搭載されたコンピュータを、加速度データ及び地磁気データから歩行者の進行方向を決定する進行方向決定手段として機能させるプログラムであって、
進行方向決定手段は、
各軸加速度データと、全ての軸の加速度データの二乗和平方根となる合成加速度とを用いて、遊脚期の加速度データを抽出する遊脚期抽出手段と、
遊脚期の加速度データの中から、指定数分の加速度データを取得する指定数分加速度取得手段と、
指定数分の遊脚期の加速度データに基づいて、歩行者の進行方向に対する右方又は左方を示す右／左向きベクトルＵを算出する右／左向きベクトル算出手段と、
右／左向きベクトルＵと、加速度データに基づく重力ベクトルＧと、地磁気データに基づく地磁気ベクトルＭとを用いて、進行方向を算出する進行方向算出手段と
してコンピュータを機能させることを特徴とする。
【００２５】
本発明によれば、３軸の加速度データを出力する加速度センサと、３軸の地磁気データを出力する地磁気センサとを有する携帯端末によって、加速度データ及び地磁気データから歩行者の進行方向を決定する進行方向決定方法であって、
各軸加速度データと、全ての軸の加速度データの二乗和平方根となる合成加速度とを用いて、遊脚期の加速度データを抽出する第１のステップと、
遊脚期の加速度データの中から、指定数分の加速度データを取得する第２のステップと、
指定数分の遊脚期の加速度データに基づいて、歩行者の進行方向に対する右方又は左方を示す右／左向きベクトルＵを算出する第３のステップと、
右／左向きベクトルＵと、加速度データに基づく重力ベクトルＧと、地磁気データに基づく地磁気ベクトルＭとを用いて、進行方向を算出する第４のステップと
を有することを特徴とする。
【発明の効果】
【００２６】
本発明の携帯端末、プログラム及び方法によれば、歩行者が、携帯端末をズボンのポケットのような衣服に入れている場合であっても、その携帯端末に搭載された加速度センサ及び地磁気センサを用いて、歩行者の進行方向をできる限り正確に決定することができる。特に、携帯端末が、歩行者の下半身部分の衣服に身につけられた際に、歩行者の進行方向をできる限り決定することができる。
【図面の簡単な説明】
【００２７】
【図１】歩行者の下半身のポケットに入れられた携帯端末の態様を表す説明図である。
【図２】本発明における携帯端末の機能構成図である。
【図３】各軸加速度及び合成加速度から遊脚期の抽出を表すグラフである。
【図４】経過時間に応じた鉛直方向加速度及び水平方向加速度の推移を表すグラフである。
【図５】現実に発生する加速度面及び右／左向きベクトルを表す図である。
【図６】重力Ｇ及び地磁気Ｍに対する方位の関係を表す説明図である。
【図７】成す角と方位角の関係を表す説明図である。
【発明を実施するための形態】
【００２８】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【００２９】
図１は、歩行者の下半身のポケットに入れられた携帯端末の態様を表す説明図である。
【００３０】
図１によれば、携帯端末が歩行者のズボンのポケットに挿入された状態では、携帯端末の姿勢は、一定とならない。また、このような状態は、ユーザが携帯端末に対して操作しておらず、携帯端末自体が、何らかのアプリケーションによって進行方向を検出している場合である。尚、本発明によれば、携帯端末が歩行者のズボンのポケットに挿入された状態を想定しているが、勿論、それに限られるものではない。但し、本発明によれば、携帯端末が、特に歩行者の身体の中心から見て、左右のいずれかの側に寄っていて、且つ、下半身部分に位置していることが好ましい。
【００３１】
携帯端末には、加速度センサ及び地磁気センサが、固定的に内蔵されている。そのために、携帯端末の向きに応じて、センサのｘ、ｙ、ｚ軸（センサ座標系）の向きも決まる。例えば、図１によれば、ｘ軸は携帯端末の上から下へ向けて、ｙ軸は携帯端末の左から右へ向けて、ｚ軸は携帯端末の裏から表へ向けて、割り当てられている。勿論、センサの座標系の割り当ては、これに限られない。また、歩行者の進行方向に対しては、前向き（後向き）、右向き（左向き）、鉛直方向の座標系が決まる。尚、ズボンのポケットに挿入された携帯端末の向きまでは、想定できない。
【００３２】
図２は、本発明における携帯端末の機能構成図である。
【００３３】
図２によれば、携帯端末１は、利用者の衣服のポケットに挿入可能な端末であって、例えば携帯電話機やスマートフォンである。携帯端末１は、進行方向決定部１０と、加速度センサ１１と、地磁気センサ１２と、測位部１３と、地図情報記憶部１４と、表示制御部１５と、ディスプレイ部１６とを有する。進行方向決定部１０、地図情報記憶部１４及び表示制御部１５は、携帯端末に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。
【００３４】
加速度センサ１１は、ｘ軸、ｙ軸及びｚ軸毎の加速度（センサ座標系）を検出する。既存の一般的な携帯電話機やスマートフォンの場合、加速度センサを一般的に搭載している。検出された加速度データは、進行方向決定部１０へ出力される。加速度センサ１１は、携帯端末１に固定的に内蔵されており、携帯端末１の向きが決まれば、加速度センサ１１の軸の向きも決まる。
【００３５】
地磁気センサ１２は、南から北へ向かう地球の磁力線である地磁気を検出する。検出された地磁気の水平面に対する正射影の向きが、「北」となる。３軸の地磁気センサの場合、水平でなくても傾きを検出することによって、方位を検出することができる。検出された地磁気データは、進行方向決定部１０へ出力される。
【００３６】
測位部１３は、ＧＰＳ(Global Positioning System)衛星からの測位電波を受信し、現在位置の緯度経度データを取得する。その緯度経度データは、表示制御部１５へ出力される。
【００３７】
地図情報記憶部１４は、地図情報を蓄積する。表示制御部１５から指示された現在位置に基づいて、その地図情報を表示制御部１５へ出力する。
【００３８】
表示制御部１５は、進行方向決定部１０から進行方向データを入力し、測位部１３から現在位置情報を入力する。また、表示制御部１５は、現在位置情報を地図情報記憶部１４へ出力し、現在位置の地図情報を取得する。そして、表示制御部１５は、地図の上に現在位置を表示すると共に、その進行方向を矢印で表示した画像を生成する。その画像は、ディスプレイ部１６へ出力される。例えば、歩行者用のナビゲーションシステムに用いられる。
【００３９】
ディスプレイ部１６は、表示制御部１５からの画像を表示することによって、歩行中のユーザに対してその画像を視認させる。
【００４０】
次に、本発明の特徴部分である進行方向決定部１０について、詳細に説明する。進行方向決定部１０は、遊脚期抽出部１０１と、指定数分加速度取得部１０２と、右／左向きベクトル推定部１０３と、進行方向算出部１０４とを有する。以下では、これら機能構成部について、詳細に説明する。
【００４１】
＜遊脚期抽出部１０１＞
遊脚期抽出部１０１は、各軸加速度データと、全ての軸の加速度データの二乗和平方根となる合成加速度とを用いて、「遊脚期」の加速度データを抽出する。
【００４２】
図３は、各軸加速度及び合成加速度から遊脚期の抽出を表すグラフである。
【００４３】
加速度は、小さな一歩の変動と、大きな一歩の変動とが、交互に観測される。図３によれば、歩行者のズボンのポケットに挿入された携帯端末について、歩行中に検出されたｘ軸加速度、ｙ軸加速度、ｚ軸加速度及び合成加速度が表されている。合成加速度は、３軸加速度の二乗和の平方根である。尚、ズボンのポケットに挿入された携帯端末の姿勢は不明である。
【００４４】
人の歩行は「歩行周期」で表される。「歩行周期」とは、同側の足の初期接地から、次の初期接地までの時間をいい、この時間は、「立脚期」と「遊脚期」とに区分される。
「立脚期」：足が地面に付いている期間
「遊脚期」：足が地面を離れ、スイングによって脚が前に運ばれている期間
【００４５】
例えばズボンのポケットの側の足に着目したとする。ここで、ポケットの側の足が地面についているのが「立脚期」であり、ポケットの側の脚が前に運ばれているのが「遊脚期」である。「立脚期」については脚の動きが小さく、「遊脚期」については脚の動きが大きい。人の歩行は、左右の脚を交互に前に運ぶため、「立脚期」と「遊脚期」とが交互に繰り返される。従って、加速度によれば、小さな一歩の変動と、大きな一歩の変動とが、交互に観測される。
【００４６】
「遊脚期」は、合成加速度が極大点となる２つの時点の間にある。また、図３によれば、遊脚期に含まれる極小点の合成加速度が、遊脚期に含まれない極小点の合成加速度よりも小さくなっていることが理解できる。従って、合成加速度の極小点を検出し、連続する極小点の合成加速度が、小→大となる小の側を含む連続する極大点の区間を検出することによって、遊脚期を検出する。
【００４７】
具体的には、「遊脚期」は、以下の３つのステップによって抽出される。
（Ｓ１）合成加速度から、連続する極大点を検出する。
（Ｓ２）連続する極大点と極大点との間における合成加速度の極小点について、合成加速度が「大」「小」と交互に続くことを検出する。
（Ｓ３）合成加速度「小」の前後の極大点間を、「遊脚期」として検出する。
【００４８】
＜指定数分加速度取得部１０２＞
指定数分加速度取得部１０２は、遊脚期の加速度データの中から、指定数分の加速度データを取得する。指定数分の加速度データ毎に、右／左向きベクトル推定部１０３へ出力される。ここでの指定数分の加速度は、例えば、２秒間（およそ４歩に相当）分程度が好ましい。
【００４９】
＜右／左向きベクトル推定部１０３＞
右／左向きベクトル推定部１０３は、指定数分の遊脚期の加速度データに基づいて、右／左向きベクトルＵを推定する。「右／左向きベクトルＵ」は、歩行者の進行方向に対する右方又は左方を示すベクトルをいう。
【００５０】
ここで、右／左向きベクトル推定部１０３には、２つの処理方法がある。
［ａ］遊脚期の加速度ベクトルの外積から、右／左向きベクトルを算出する方法
［ｂ］遊脚期の加速度ベクトルの加速度面から、右／左向きベクトルを算出する方法
【００５１】
［ａ］遊脚期の加速度ベクトルの外積から、右／左向きベクトルを算出する方法
右／左向きベクトル推定部１０３は、１つの右／左向きベクトル算出部１０３ａのみを有し、遊脚期の終了を示す加速度ベクトルＢと、遊脚期の開始を示す加速度ベクトルＦとの外積（Ｕ＝Ｂ×Ｆ（又はＦ×Ｂ））によって、右／左向きベクトルＵを算出する。
【００５２】
一般に、歩行の進行方向を表すために、進行方向の加速度面の法線ベクトルが用いられる（尚、加速度面の法線ベクトルについては、［ｂ］及び図５で後述する）。原点から伸びる法線ベクトルは、加速度面に対して２方向に引くことができる。加速度面は、進行方向（歩行者の前後）を示すので、２方向の法線ベクトルは、歩行者の右方と左方にあたる。ここでは、２方向の法線ベクトルのうち、歩行者右方の法線ベクトルは、右向きベクトルＵと定義する。また、歩行者左方の法線ベクトルは、左向きベクトルＵと定義する。
【００５３】
ここで、加速度面と遊脚期との関係は、以下のように表される。
加速度面の前方を示す最上点での加速度ベクトル
＝遊脚期の開始を示す加速度ベクトルＦ
加速度面の後方を示す最上点での加速度ベクトル
＝遊脚期の終了を示す加速度ベクトルＢ
以下の式（１）によって、右向きベクトルＵを算出する。
遊脚期の開始を示す加速度ベクトル      ：Ｆ＝（ｘF，ｙF，ｚF）
遊脚期の終了を示す加速度ベクトル      ：Ｂ＝（ｘB，ｙB，ｚB）
加速度面の右方を示す右向きベクトル    ：Ｕ＝（ｘU，ｙU，ｚU）
Ｕ＝Ｂ×Ｆ
＝（ｙBｚF−ｚBｙF，ｚBｘF−ｘBｚF，ｘBｙF−ｙBｘF）            式（１）
脚が前の時に、ベクトルは後ろ向きとなる。従って、右は、「足が前（Ｂ）×足が後（Ｆ）」となる。
【００５４】
右／左向きベクトルとして、歩行者の左向きベクトルを用いた場合、式（１）は、以下のようになる。
Ｕ＝Ｆ×Ｂ
＝（ｙFｚB−ｚFｙB，ｚFｘB−ｘFｚB，ｘFｙB−ｙFｘB）
【００５５】
例えば、第１の時刻と第２の時刻との加速度ベクトルをそれぞれ、Ｆ、Ｂとして選択し、式（１）を適用した場合、以下の右向きベクトルＵが得られる。
第１の時刻：各軸加速度ａx＝450、ａy＝835、ａz＝140、合成加速度ａ＝959
第２の時刻：各軸加速度ａx＝-369、ａy＝980、ａz＝140、合成加速度ａ＝1056
右向きベクトル：Ｕ＝（20300，114660，−749115）
【００５６】
［ｂ］遊脚期の加速度ベクトルの加速度面から、右／左向きベクトルを算出する方法
右／左向きベクトル推定部１０３は、鉛直方向加速度算出部１０３ｂ１と、加速度面推定部１０３ｂ２と、前後方向加速度算出部１０３ｂ３とを有する。
【００５７】
［鉛直方向加速度算出部１０３ｂ１］
鉛直方向加速度算出部１０３ｂ１は、加速度データを用いて鉛直方向加速度を算出する。尚、鉛直方向加速度と水平方向加速度とは、互いに直交する。
【００５８】
図４は、経過時間に応じた鉛直方向加速度及び水平方向加速度の推移を表すグラフである。
【００５９】
図４によれば、現実に、歩行者が、図１のような態様で、携帯端末をズボンのポケットに挿入して歩行し、それによって取得された鉛直方向加速度及び水平方向加速度をプロットしたものである。
【００６０】
図４（ａ）によれば、鉛直方向加速度の上側は、鉛直下向きを表し、下側は、鉛直上向きを表す。また、鉛直方向加速度の変化は、歩行と一致する周期性を有する。ここで、鉛直下向き加速度の極大点は、身体が下がった時点、即ち、地面を離れていた足が接地する時点を表す。一方で、鉛直上向き加速度の極大点は、身体が上がった時点、即ち、足が上がった時点を表す。また、鉛直下向き加速度の極小点間、即ち、鉛直上向き加速度の極大点間は、歩行者の一歩を表す。
【００６１】
図４（ｂ）によれば、前進加速度は、加速・減速を繰り返すと同時に、前後・上下を繰り返すことが理解できる。
【００６２】
［加速度面推定部］
加速度面推定部１０３ｂ２は、指定数分の加速度データから、歩行者の歩行動作によって生じる加速度面を推定する。
【００６３】
図５は、現実に発生する加速度面及び右／左向きベクトルを表す図である。
【００６４】
簡単化のために、重力方向を図の下方向としているが、重力そのものを検出することはできない。また、実際に、地磁気が、センサ座標系に対してどの方向に検出されるかは、端末の姿勢に依存する。但し、加速度面と法線ベクトル（右／左向きベクトル）の関係については、端末の姿勢には依存しない。
【００６５】
図５によれば、加速度センサから得られた３軸の加速度データ（ｘ、ｙ、ｚ）と、地磁気センサから得られた３軸の地磁気データ（ｘ、ｙ、ｚ）とが、３次元座標系にプロットされたものである。異なる時点で測定された加速度データのプロットから、加速度面を検出できる。また、加速度面に対する右／左向きベクトルを検出することができる。
【００６６】
図５によれば、歩行者は、南から到来している地磁気に対して、方向角θの方向へ歩行している。このとき、携帯端末をズボンのポケットに挿入した歩行者の動作に応じて、進行方向に平行に加速度面が検出でき、右／左向きベクトルが特定される。
【００６７】
本発明によれば、複数の加速度データを平面に近似することによって、右／左向きベクトル（法線ベクトル）を算出することができる。
【００６８】
加速度面を近似的に算出する方法としては、例えば、最小二乗法がある。最小二乗法は、残差の２乗の和が最小になるように、その現象に対し、予測関数ｆ(ｘ)のそれぞれの係数を決定する方法である。残差とは、ｉ番目のデータｎｉに対して予測された関数値ｆ(ｎｉ)と、測定されたデータｍｉとの差、即ちｍｉ−ｆ(ｎｉ)である。
【００６９】
一般に原点を通る平面は、以下の式（１）によって表される。
ａｘ＋ｂｙ＋ｃｚ＝０                                            式（１）
このとき、（ａ，ｂ，ｃ）は、平面に対する法線ベクトルとなる。
【００７０】
ここで、計算を単純化するために、式（１）を、式（２）のように変形する。
ｚ＝αｘ＋βｙ                                                  式（２）
尚、（ａ，ｂ，ｃ）は法線ベクトルであるため、ｃ＝−１として問題無い。
【００７１】
ｎ個の点群ｘｉ，ｙｉ，ｚｉ（ｉ＝１〜ｎ）が与えられたとき、以下の式（３）が最小となるα及びβを算出すればよい。
Ｓ＝Σi=1n(ｚｉ−αｘｉ−βｙｉ)２                              式（３）
【００７２】
ここで、以下のように規定したとする。
Ａ＝Σi=1n(ｘｉ２)
Ｂ＝Σi=1n(ｙｉ２)
Ｃ＝Σi=1n(ｚｉ２)
Ｄ＝Σi=1n(ｘｉ×ｙｉ)
Ｅ＝Σi=1n(ｘｉ×ｚｉ)
Ｆ＝Σi=1n(ｙｉ×ｚｉ)
【００７３】
このとき、式（３）は、以下のような式（４）になる。
Ｓ＝Ａα２＋Ｂβ２＋Ｃ＋２αβＤ−２αＥ−２βＦ                式（４）
【００７４】
式（４）をαの関数とみたとき、凹型の２次関数となり、極小点値が最小となる。これは、βにおいても同様である。即ち、Ｓをα、βに関して偏微分し、０となる点が求める解となる。
【数１】
0005695436.tif 000002
【００７５】
式（５）及び式（６）を解くと、以下の式（７）及び式（８）のように算出できる。
α＝（ＢＥ−ＤＦ）／（ＡＢ−Ｄ２）                              式（７）
β＝（ＡＦ−ＤＥ）／（ＡＢ−Ｄ２）                              式（８）
前述したように、法線ベクトルは（α，β，−１）である。
【００７６】
また、加速度面を推定する他の実施形態として、前述した式（２）によれば、z軸方向の残差が最小となるように加速度平面を算出している。しかしながら、残差最小とする軸は、分散の小さな軸を選択することが好ましい。残差最小とする軸を選択するために、例えば、以下の２つの方法がある。
【００７７】
（１）指定数分加速度について、各軸の分散Ｖxx、Ｖyy及びＶzzを算出し、その分散が最小となる軸について、最小二乗法に基づいて加速度面を推定する。
Ｖxx＝1/n・Σi=1n(ｘi−ｘ￣)2
Ｖyy＝1/n・Σi=1n(ｙi−ｙ￣)2
Ｖzz＝1/n・Σi=1n(ｚi−ｚ￣)2
n：データの個数
ｘ￣：ｘの平均値
【００７８】
（２）３軸の中で、右／左向きベクトルＵの向きに最も近い軸について、最小二乗法に基づいて加速度面を推定する。尚、ここでは、右／左向きベクトル算出部１０３ａと同様の処理によって右向きベクトルを算出する。例えば、前述した図４のグラフの場合、以下のような数値となる。
遊脚期の開始を示す加速度ベクトル      ：Ｆ＝（-1.50，0.15，-0.14）
遊脚期の終了を示す加速度ベクトル      ：Ｂ＝（-1.06，0.21，0.69）
加速度面の右方を示す右向きベクトル    ：Ｕ＝（-0.13，-1.18，0.16）
この場合、右向きベクトルの方向に最も近い軸として、ｙ軸が選択される。
【００７９】
尚、加速度面推定部１０３ｂ２は、加速度データに対して、高域周波数成分を遮断するローパスフィルタとして機能することも好ましい。これによって、異常値としての加速度データを除去することができ、正確な進行方向を算出することができる。
【００８０】
［前後方向加速度算出部］
前後方向加速度算出部１０３ｂ３は、加速度面及び鉛直方向加速度から、当該加速度面における右／左向きベクトル（法線ベクトル）と、前後方向加速度とを算出する。具体的には、以下のＳ１〜Ｓ３のステップを有する。
【００８１】
（Ｓ１）前後方向加速度算出部１０３ｂ３は、最初に、加速度センサから出力された軸毎の加速度に基づいて、重力ベクトルＧを算出する。
【００８２】
図６は、重力Ｇ及び地磁気Ｍに対する方位の関係を表す説明図である。
【００８３】
重力ベクトルＧ及び地磁気ベクトルＭは、ｘ軸、ｙ軸及びｚ軸毎に、以下のように表される。尚、歩行中の携帯端末の姿勢は大凡一定であるとは限らないが、短時間に観測される地磁気データは、ほぼ一定となる。
重力ベクトルＧ  ：Ｇ＝（ｇx、ｇy、ｇz）
地磁気ベクトルＭ：Ｍ＝（ｍx、ｍy、ｍz）
【００８４】
最初に、重力ベクトルＧを算出する。歩行時における携帯端末の重力方向は、加速度データを用いても、歩行毎に正確に決定することは困難である。そこで、所定時間範囲に検出された多数のｘ軸、ｙ軸及びｚ軸の加速度データを用いて、これら各軸の加速度の和のベクトルの向きを、重力方向とみなす。
【００８５】
i番目の各軸の加速度を、以下のように表す。
ｘ軸の加速度：ＡＣＣx[i]
ｙ軸の加速度：ＡＣＣy[i]
ｚ軸の加速度：ＡＣＣz[i]
ｎ個の加速度データの和は、以下のように表される。
ＡＣＣＳx＝Σi=1NＡＣＣx[i]
ＡＣＣＳy＝Σi=1NＡＣＣy[i]
ＡＣＣＳz＝Σi=1NＡＣＣz[i]
そして、重力ベクトルＧは、以下のように表される。
Ｇ＝(ｇx、ｇy、ｇz)＝(ＡＣＣＳx、ＡＣＣＳy、ＡＣＣＳz)
【００８６】
（Ｓ２）次に、前後方向加速度算出部１０３ｂ３は、加速度面の法線ベクトルＶLR及び重力ベクトルＧから、前向き又は後向きの前後方向ベクトルＶFGを算出する。ここで、加速度面の法線ベクトルＶLR及び重力ベクトルＧと、前後方向ベクトルＶFGとは、以下のような関係式で表される。
ＶFG＝ＶLR×Ｇ    ×：クロス積
【００８７】
前後方向ベクトルＶFG向きの単位ベクトルを、以下のように表す。
ｅFB＝（ｅFBx，ｅFBy，ｅFBz）
このとき、前後方向加速度ＡFGは、以下のように表される。
ＡFG＝ｅFGx×Ａx＋ｅFGy×Ａz＋ｅFGz×Ａz
ＡFGは、前向き又は後向きの加速度である。
【００８８】
（Ｓ３）次に、前後方向加速度算出部１０３ｂ３は、前後方向ベクトルＶFG及び遊脚期の終了を示す加速度に基づいて、右向きベクトル（法線ベクトル）の向きを決定する。
前後方向ベクトルＶFG：前向き  ->  法線ベクトルＶLR：右向き（＋）
前後方向ベクトルＶFG：後向き  ->  法線ベクトルＶLR：左向き（−）
【００８９】
前向き又は後向きのいずれかは、遊脚期の終了を示す加速度の向きを「後」として決定できる。遊脚期における歩行者の足は、後から前へ運ばれる。従って、ズボンのポケットに挿入された携帯端末は、振り子状に円弧を描いて運動する。そのために、携帯端末が前方にあるとき、加速度は、前後方向の後向きに検出される。尚、３軸の中で、右／左向きベクトルＵの向きに最も近い軸について、最小二乗法に基づいて加速度面を推定した場合には、法線ベクトルＶLRに基づいて、右／左向きベクトル（法線ベクトル）の向きを決定する。
【００９０】
＜進行方向算出部１０４＞
進行方向算出部１０４は、右／左向きベクトルＵと、重力ベクトルＧと、地磁気ベクトルＭとを用いて、進行方向を算出する。算出された進行方向は、表示制御部１５へ出力される。具体的には、以下のＳ１〜Ｓ３のステップを有する。
【００９１】
（Ｓ１）最初に、進行方向算出部１０４は、重力ベクトルＧ及び地磁気ベクトルＭを用いて、Ｇ×Ｍ／｜Ｇ×Ｍ｜によって東向き単位ベクトルｅEastを算出する。
【００９２】
再び、図６を参照する。
【００９３】
次に、例えばｘ軸、ｙ軸、ｚ軸が右手系であると想定すると、各向きの単位ベクトルは、以下のように表される。
北向き単位ベクトルｅNorth：ｅNorth＝(ｅNx、ｅNy、ｅNz)
東向き単位ベクトルｅEast ：ｅEast＝(ｅEx、ｅEy、ｅEz)
下向き単位ベクトルｅDown ：ｅDown ＝(ｅDx、ｅDy、ｅDz)
また、加速度データは、以下のように表される。
Ａ＝（Ａx、Ａy、Ａz）
【００９４】
図６によれば、重力ベクトルＧ及び地磁気ベクトルＭとした場合、各単位ベクトルは、以下のように表される。
北向き単位ベクトルｅNorth：ｅNorth＝Ｇ×Ｍ×Ｇ／｜Ｇ×Ｍ×Ｇ｜
東向き単位ベクトルｅEast ：ｅEast ＝Ｇ×Ｍ／｜Ｇ×Ｍ｜
下向き単位ベクトルｅDown ：ｅDown ＝Ｇ／｜Ｇ｜
×：クロス積（ベクトル積、外積）
【００９５】
「Ｇ×Ｍ」（外積）とは、重力ベクトルＧと地磁気ベクトルＭとによって作られる平面に対して垂直な方向のベクトルを作る。重力ベクトルＧの方向を向いて見ると、地磁気ベクトルＭから見て時計回りの方向にＧ×Ｍが伸びる。地磁気ベクトルＭは、南から北へ向いているので、その軸から時計回りに９０度となる方向、即ち、Ｇ×Ｍは、「東」の方位を向く。
【００９６】
また、「（Ｇ×Ｍ）×Ｇ」とは、東向きベクトルＧ×Ｍと重力ベクトルＧとによって作られる平面に対して垂直な方向のベクトルを作る。東向きベクトルＧ×Ｍを向いて見ると、重力ベクトルから見て時計回りの方向に（Ｇ×Ｍ）×Ｇが伸びる。重力ベクトルは、上から下へ向いているので、その軸から時計回りに９０度となる方向、即ち、（Ｇ×Ｍ）×Ｇは、「北」の方位を向く。
【００９７】
尚、各向きの加速度ベクトルは、各向きの単位ベクトルｅに対して加速度ベクトルＡの内積をとることによって算出される。
北向き加速度    ：ＡN＝ｅNx×Ａx＋ｅNy×Ａy＋ｅNz×Ａz
東向き加速度    ：ＡE＝ｅEx×Ａx＋ｅEy×Ａy＋ｅEz×Ａz
鉛直下向き加速度：ＡD＝ｅDx×Ａx＋ｅDy×Ａy＋ｅDz×Ａz
【００９８】
（Ｓ２）次に、進行方向算出部１０４は、法線ベクトルにおける右向き単位ベクトルｅRightと、東向き単位ベクトルｅEastとの成す角αを算出する。２つのベクトルの成す角は、内積とノルム（ベクトルの大きさ）積から算出できる。東向き単位ベクトルｅEast及び右向き単位ベクトルｅRightから、両ベクトルの成す角αは、以下の式で表される。
α＝arccos（(ｅEast・ｅRight)／(|ｅEast||ｅRight|)）            式（９）
【００９９】
（Ｓ３）そして、進行方向算出部１０４は、方位角θを求める。
【０１００】
ここで、成す角αは、劣角である（０〜１８０度）。これに対し、求める方位角θは、０〜３６０度（北方位を０度とした時計回りの角度）であり、優角を含む。そのため、成す角を方位角に変換する。
【０１０１】
図７は、成す角と方位角の関係を表す説明図である。
【０１０２】
図７によれば、東向き単位ベクトルｅEastと右向き単位ベクトルｅRightの外積ベクトルｅEast×ｅRightによれば、東向き単位ベクトルｅEastに対する方向角θが１８０未満のとき、重力ベクトルと同一方向を示す。このとき、θ＝αである。一方で、θが１８０度以上になるべきときには、ｅEast×ｅRightは、重力ベクトルと逆方向を示す。このとき、θ＝３６０−αである。そのため、ｅEast×ｅRightと重力ベクトルＧの成す角を求め（角度ではなく余弦でもよい）、その結果に基づいてαをθに変換する。
【０１０３】
東向き単位ベクトルｅEastに対する方向角θは、ｅEast×ｅRightと重力ベクトルＧとの成す角をβとを用いて、以下の式によって導出される。
ｃｏｓβ≧０：θ＝α
ｃｏｓβ＜０：θ＝３６０−α
【０１０４】
以上、詳細に説明したように、本発明の携帯端末、プログラム及び方法によれば、歩行者が、携帯端末をズボンのポケットのような衣服に入れている場合であっても、その携帯端末に搭載された加速度センサ及び地磁気センサを用いて、歩行者の進行方向をできる限り正確に決定することができる。特に、携帯端末が、歩行者の下半身部分の衣服に身につけられた際に、歩行者の進行方向をできる限り決定することができる。
【０１０５】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【０１０６】
１  携帯端末
１０  進行方向決定部
１０１  遊脚期抽出部
１０２  指定数分加速度取得部
１０３  右／左向きベクトル推定部
１０３ａ  右／左向きベクトル算出部
１０３ｂ１  鉛直方向加速度算出部
１０３ｂ２  加速度面推定部
１０３ｂ３  前後方向加速度算出部
１０４  進行方向算出部
１１  加速度センサ
１２  地磁気センサ
１３  測位部
１４  地図情報記憶部
１５  表示制御部
１６  ディスプレイ部
【図１】
0005695436.tif 000003
【図２】
0005695436.tif 000004
【図３】
0005695436.tif 000005
【図４】
0005695436.tif 000006
【図５】
0005695436.tif 000007
【図６】
0005695436.tif 000008
【図７】
0005695436.tif 000009