(57)【特許請求の範囲】
【請求項１】
３軸の加速度データを出力する加速度センサと、３軸の地磁気データを出力する地磁気センサと、前記加速度データ及び前記地磁気データから歩行者の進行方向を決定する進行方向決定手段とを有し、歩行者によって所持される携帯端末であって、
前記進行方向決定手段は、
複数の加速度ベクトルから重力方向の重力ベクトルを導出し、且つ、該重力ベクトルに対応する地磁気ベクトルを選択する基準ベクトル導出手段と、
センサ座標系の前記重力ベクトル及び前記地磁気ベクトルを、世界座標系に変換するために、ｘ軸、y軸及びｚ軸毎の回転行列を組み合わせた座標系変換行列を算出する座標系変換行列算出手段と、
前記座標系変換行列を用いて、前記複数の加速度ベクトル及び前記地磁気ベクトルを、前記世界座標系に変換する座標系変換手段と、
前記世界座標系にマッピングされた加速度ベクトル群の軌跡の地表面への正射影を表す近似直線と、北方位を表す軸との成す角を、方向角として算出する方向角算出手段と
を有することを特徴とする携帯端末。
【請求項２】
前記座標系変換行列算出手段は、
前記重力ベクトルを前記世界座標系における鉛直下向きに回転移動させる第１の変換行列成分を算出し、
次に、前記地磁気ベクトルを前記世界座標系における北向きに回転移動させる第２の変換行列成分を算出し、
前記第１の変換行列成分及び前記第２の変換行列成分を合成し、前記センサ座標系を前記世界座標系へ変換するための座標系変換行列を算出する
ことを特徴とする請求項１に記載の携帯端末。
【請求項３】
第１の変換行列成分は、前記重力ベクトルのｙｚ成分を、ｚ軸の負の方向まで回転させる回転行列Ａｘと、その重力ベクトルのｘｚ成分を、ｚ軸の負の方向まで回転させる回転行列Ａｙとに基づいて算出し、
第２の変換行列成分は、前記地磁気ベクトルのｘｙ成分を、ｘ軸の正の方向まで回転させる回転行列Ａｚとして算出する
ことを特徴とする請求項１又は２に記載の携帯端末。
【請求項４】
前記加速度センサから入力された前記加速度データを、歩数毎、又は歩数に基づく時間単位毎に区分し、前記進行方向決定手段へ出力する歩行タイミング決定手段と、
前記進行方向決定手段から出力された、前記歩数毎、又は歩数に基づく時間単位毎の進行方向について、方向転換がなされたか否かを判定する方向転換判定手段と
を更に有することを特徴とする請求項１から３のいずれか１項に記載の携帯端末。
【請求項５】
歩行者の歩行の向き、即ち、加速度面の前方を決定する前方決定手段を更に有し、
前記前方決定手段は、前記加速度センサから出力された加速度データ列における合成加速度の連続するピーク点のうち大きい方を、加速度面の前方として決定し、その旨を前記方向転換判定手段へ通知することを特徴とする請求項４に記載の携帯端末。
【請求項６】
前記基準ベクトル導出手段に入力される前記加速度データ及び前記地磁気データについて、
所定時間範囲のデータをメモリし、最大値及び最小値から所定割合のデータを除去するフィルタ手段を更に有することを特徴とする請求項１から５のいずれか１項に記載の携帯端末。
【請求項７】
前記方向角算出手段から出力された前記方向角θについて、
所定時間範囲の方向角θをメモリし、当該方向角θの前後の変化が所定角度閾値以上となっている方向角θを除去する補正手段を更に有することを特徴とする請求項１から６のいずれか１項に記載の携帯端末。
【請求項８】
３軸の加速度データを出力する加速度センサと、３軸の地磁気データを出力する地磁気センサとを有し、歩行者によって所持される携帯端末に搭載されたコンピュータを、前記加速度データ及び前記地磁気データから前記歩行者の進行方向を決定する進行方向決定手段として機能させる携帯端末用のプログラムであって、
前記進行方向決定手段は、
複数の加速度ベクトルから重力方向の重力ベクトルを導出し、且つ、該重力ベクトルに対応する地磁気ベクトルを選択する基準ベクトル導出手段と、
センサ座標系の前記重力ベクトル及び前記地磁気ベクトルを、世界座標系に変換するために、ｘ軸、y軸及びｚ軸毎の回転行列を組み合わせた座標系変換行列を算出する座標系変換行列算出手段と、
前記座標系変換行列を用いて、前記複数の加速度ベクトル及び前記地磁気ベクトルを、前記世界座標系に変換する座標系変換手段と、
前記世界座標系にマッピングされた加速度ベクトル群の軌跡の地表面への正射影を表す近似直線と、北方位を表す軸との成す角を、方向角として算出する方向角算出手段と
してコンピュータを機能させることを特徴とする携帯端末用のプログラム。
【請求項９】
３軸の加速度データを出力する加速度センサと、３軸の地磁気データを出力する地磁気センサとを有し、歩行者によって所持される携帯端末について、前記加速度データ及び前記地磁気データから前記歩行者の進行方向を決定する進行方向決定方法であって、
複数の加速度ベクトルから重力方向の重力ベクトルを導出し、且つ、該重力ベクトルに対応する地磁気ベクトルを選択する第１のステップと、
センサ座標系の前記重力ベクトル及び前記地磁気ベクトルを、世界座標系に変換するために、ｘ軸、y軸及びｚ軸毎の回転行列を組み合わせた座標系変換行列を算出する第２のステップと、
前記座標系変換行列を用いて、前記複数の加速度ベクトル及び前記地磁気ベクトルを、前記世界座標系に変換する第３のステップと、
前記世界座標系にマッピングされた加速度ベクトル群の軌跡の地表面への正射影を表す近似直線と、北方位を表す軸との成す角を、方向角として算出する第４のステップと
を有することを特徴とする携帯端末の進行方向決定方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、加速度センサ及び地磁気センサを用いて歩行者の進行方向を決定する携帯端末、プログラム及び方法に関する。特に、進行方向及び現在位置をリアルタイムに導出する自律航法技術に関する。
【背景技術】
【０００２】
従来、加速度センサ及び方位センサを用いて、進行方向及び現在位置をリアルタイムに導出する自律航法技術がある。自律航法技術は、ＧＰＳ(Global Positioning System)技術と組み合わされて、主にカーナビゲーションシステム(Car Navigation System)に利用されている。カーナビゲーションシステムは、自動車の運転者に対して、正確な進行方向及び現在位置と、目的地への走行経路案内とを、ディスプレイに表示する。
【０００３】
カーナビゲーションシステムは、ＧＰＳによって測位した現在位置情報を、車速パルス又はジャイロのような自律航法技術によって補正する。また、道路地図情報を必要に応じて読み出し、現在の走行経路が道路上と一致するように、進行方向及び現在位置を補正する（投影法によるマップマッチング技術、例えば特許文献１参照）。これにより、センサの誤差によって、現在位置が、道路上でない位置になることを防ぐことができる。
【０００４】
これに対し、このようなナビゲーション技術を、歩行者の所持する携帯端末に適応したシステムもある。具体的には、検出した歩行者の「歩数」と、その歩行者の「歩幅」とを用いて、始点からの累積的な現在位置を導出する（例えば特許文献２参照）。自律航法技術を歩行者に適応した場合、水平方向の移動以外の加速度成分も検出される。従って、測定される距離は、単純に加速度センサの出力を積分するのではなく、歩数及び歩幅から導出される。
【０００５】
「歩数」は、携帯端末内の加速度センサによって検出された軸毎の加速度を二乗和の平方根とし（√(ｘ2＋ｙ2＋ｚ2)）、そのピーク−ピーク間を１歩として検出する（例えば特許文献３参照）。「歩幅」は、利用者が予め設定するか、若しくは利用者の身長から推定する。又は、他の技術によれば、歩行者に規定距離を歩行させることによって、その歩幅をキャリブレーションする技術もある（例えば非特許文献１参照）。
【０００６】
「進行方向」は、「方位センサ」によって検出される。方位センサとしては、一般に地磁気センサが利用される。地磁気センサを用いて検出した端末の姿勢及び方向を、ディスプレイに３次元表示する技術もある（例えば特許文献４参照）。また、進行方向に交差点を介して複数の道路が存在する場合、その交差点を、現在位置とする技術もある（例えば特許文献５参照）。
【０００７】
自律航法技術を用いた現在位置の決定について、センサデータの累積的誤差の影響を防ぐために、交差点での右折左折を検出した際に、その交差点を、現在位置の特定のための始点とする技術もある（例えば特許文献６参照）。即ち、方向転換が検出される毎に、センサデータの累積的誤差がリセットされることなり、その後の現在位置の特定に、先の累積的誤差が影響しない。
【０００８】
【特許文献１】特開平５−０６１４０８号公報
【特許文献２】特開平９−０８９５８４号公報
【特許文献３】特開２００５−０３８０１８号公報
【特許文献４】特開２００４−０４６００６号公報
【特許文献５】特開平３−０９９３９９号公報
【特許文献６】特開昭６３−０１１８１３号公報
【非特許文献１】「Nike＋iPodユーザーズガイド」、第２７頁、「online」、［平成１９年８月３１日検索］、インターネット＜ＵＲＬ：http://manuals.info.apple.com/ja/nikeipod_users_guide.pdf＞
【発明の開示】
【発明が解決しようとする課題】
【０００９】
特許文献４に記載された技術によれば、加速度センサ及び地磁気センサを用いて静止状態における方位を導出することができる。静止状態では、加速度センサによって検出される加速度ベクトルは、重力のみを表す。従って、その重力ベクトルとその地磁気ベクトルとを用いて導出される世界座標系から、方位を導出することができる。
【００１０】
しかしながら、実際に、歩行者に所持された携帯端末によって方位を導出する場合、手持ち状態のためにセンサによって検出される波形が乱れ、正しい方位を導出することはできない。特に、歩行時に生じる加速度ベクトルは、重力の他に、運動加速度や腕振り運動による遠心力などが合成されたものである。従って、重力方向を決定できないために世界座標系も導出できず、結局、方位を導出することもできない。また、歩行者が手持ちするような携帯端末については、サイズやコストの制約から、カーナビゲーションシステムに搭載されるジャイロセンサを用いることも難しい。
【００１１】
そこで、本発明は、歩行者が、携帯端末を手持ちで歩行している場合であっても、その携帯端末に搭載された加速度センサ及び地磁気センサを用いて、歩行者の進行方向をできる限り正確に決定する携帯端末、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本発明によれば、３軸の加速度データを出力する加速度センサと、３軸の地磁気データを出力する地磁気センサと、加速度データ及び地磁気データから歩行者の進行方向を決定する進行方向決定手段とを有し、歩行者によって所持される携帯端末であって、
進行方向決定手段は、
複数の加速度ベクトルから重力方向の重力ベクトルを導出し、且つ、該重力ベクトルに対応する地磁気ベクトルを選択する基準ベクトル導出手段と、
センサ座標系の重力ベクトル及び地磁気ベクトルを、世界座標系に変換するために、ｘ軸、y軸及びｚ軸毎の回転行列を組み合わせた座標系変換行列を算出する座標系変換行列算出手段と、
座標系変換行列を用いて、複数の加速度ベクトル及び地磁気ベクトルを、世界座標系に変換する座標系変換手段と、
世界座標系にマッピングされた加速度ベクトル群の軌跡の地表面への正射影を表す近似直線と、北方位を表す軸との成す角を、方向角として算出する方向角算出手段と
を有することを特徴とする。
【００１３】
本発明の携帯端末における他の実施形態によれば、座標系変換行列算出手段は、
重力ベクトルを世界座標系における鉛直下向きに回転移動させる第１の変換行列成分を算出し、
次に、地磁気ベクトルを世界座標系における北向きに回転移動させる第２の変換行列成分を算出し、
第１の変換行列成分及び第２の変換行列成分を合成し、センサ座標系を世界座標系へ変換するための座標系変換行列を算出することも好ましい。
【００１４】
本発明の携帯端末における他の実施形態によれば、
第１の変換行列成分は、重力ベクトルのｙｚ成分を、ｚ軸の負の方向まで回転させる回転行列Ａｘと、重力ベクトルのｘｚ成分を、ｚ軸の負の方向まで回転させる回転行列Ａｙとに基づいて算出し、
第２の変換行列成分は、地磁気ベクトルのｘｙ成分を、ｘ軸の正の方向まで回転させる回転行列Ａｚとして算出する
ことも好ましい。
【００１５】
本発明の携帯端末における他の実施形態によれば、
加速度センサから入力された加速度データを、歩数毎、又は歩数に基づく時間単位毎に区分し、進行方向決定手段へ出力する歩行タイミング決定手段と、
進行方向決定手段から出力された、歩数毎、又は歩数に基づく時間単位毎の進行方向について、方向転換がなされたか否かを判定する方向転換判定手段と
を更に有することも好ましい。
【００１６】
本発明の携帯端末における他の実施形態によれば、
歩行者の歩行の向き、即ち、加速度面の前方を決定する前方決定手段を更に有し、
前方決定手段は、加速度センサから出力された加速度データ列における合成加速度の連続するピーク点のうち大きい方を、加速度面の前方として決定し、その旨を方向転換判定手段へ通知することも好ましい。
【００１７】
本発明の携帯端末における他の実施形態によれば、基準ベクトル導出手段に入力される加速度データ及び地磁気データについて、所定時間範囲のデータをメモリし、最大値及び最小値から所定割合のデータを除去するフィルタ手段を更に有することも好ましい。
【００１８】
本発明の携帯端末における他の実施形態によれば、方向角算出手段から出力された方向角θについて、所定時間範囲の方向角θをメモリし、当該方向角θの前後の変化が所定角度閾値以上となっている方向角θを除去する補正手段を更に有することも好ましい。
【００１９】
本発明によれば、３軸の加速度データを出力する加速度センサと、３軸の地磁気データを出力する地磁気センサとを有し、歩行者によって所持される携帯端末に搭載されたコンピュータを、加速度データ及び地磁気データから歩行者の進行方向を決定する進行方向決定手段として機能させる携帯端末用のプログラムであって、
進行方向決定手段は、
複数の加速度ベクトルから重力方向の重力ベクトルを導出し、且つ、該重力ベクトルに対応する地磁気ベクトルを選択する基準ベクトル導出手段と、
センサ座標系の重力ベクトル及び地磁気ベクトルを、世界座標系に変換するために、ｘ軸、y軸及びｚ軸毎の回転行列を組み合わせた座標系変換行列を算出する座標系変換行列算出手段と、
座標系変換行列を用いて、複数の加速度ベクトル及び地磁気ベクトルを、世界座標系に変換する座標系変換手段と、
世界座標系にマッピングされた加速度ベクトル群の軌跡の地表面への正射影を表す近似直線と、北方位を表す軸との成す角を、方向角として算出する方向角算出手段と
してコンピュータを機能させることを特徴とする。
【００２０】
本発明によれば、３軸の加速度データを出力する加速度センサと、３軸の地磁気データを出力する地磁気センサとを有し、歩行者によって所持される携帯端末について、加速度データ及び地磁気データから歩行者の進行方向を決定する進行方向決定方法であって、
複数の加速度ベクトルから重力方向の重力ベクトルを導出し、且つ、該重力ベクトルに対応する地磁気ベクトルを選択する第１のステップと、
センサ座標系の重力ベクトル及び地磁気ベクトルを、世界座標系に変換するために、ｘ軸、y軸及びｚ軸毎の回転行列を組み合わせた座標系変換行列を算出する第２のステップと、
座標系変換行列を用いて、複数の加速度ベクトル及び地磁気ベクトルを、世界座標系に変換する第３のステップと、
世界座標系にマッピングされた加速度ベクトル群の軌跡の地表面への正射影を表す近似直線と、北方位を表す軸との成す角を、方向角として算出する第４のステップと
を有することを特徴とする。
【発明の効果】
【００２１】
本発明の携帯端末、プログラム及び方法によれば、センサ座標系を世界座標系に座標系変換をすることによって、加速度データ群の軌跡（近似直線）と北方位との方向角を算出できるので、歩行者が、携帯端末を手持ちで歩行している場合であっても、その携帯端末に搭載された加速度センサ及び地磁気センサを用いて、歩行者の進行方向をできる限り正確に決定することができる。
【発明を実施するための最良の形態】
【００２２】
以下では、図面を用いて、本発明を実施するための最良の形態について詳細に説明する。
【００２３】
図１は、歩行者の歩行態様と、加速度変動方向及び地磁気変動方向とを表す説明図である。
【００２４】
図１によれば、歩行者は、携帯端末を手持ちにし、その手を前後に振りながら歩行している。このような一般的な歩行態様を横方向から見れば、携帯端末の位置は、円弧を描きながら振り子状に前後に変動している。また、進行方向から見れば、携帯端末の位置は、上下に変動している。
【００２５】
携帯端末を手持ちした腕における肩部分は、携帯端末の位置変動が描く円弧の回転軸となる。この曲線の変動は、携帯端末に搭載された加速度センサ又は地磁気センサによって検出される。即ち、その回転軸とその円弧とからなる平面（扇形）は、加速度面（加速度ベクトル群の成す面）として表される。携帯端末が手持ちで振られる限り、この加速度面は、進行方向と平行になる。
【００２６】
また、加速度センサから出力された加速度データを二乗和の平方根（√(ｘ2＋ｙ2＋ｚ2)）を求めることによって、合成加速度が得られる。図１によれば、歩行者に把持された携帯端末の位置として、位置Ａ、位置Ｂ及び位置Ｃが表されている。位置Ｂは、歩行者の手が真下にある時（最下点）であり、手持ちされた携帯端末の合成加速度は、極大（最大）となる。逆に、位置Ａ及び位置Ｃは、歩行者の手が最も高い位置にある時（最上点）であり、その合成加速度は、極小（最小）となる。従って、合成加速度が極大となった時の携帯端末の位置は、重力方向を表すこととなる。これによって、加速度データによって、腕振り方向に基づく加速度面と、重力方向とを導出することができる。
【００２７】
更に、歩行者及び携帯端末に対しては、地磁気が到来している。歩行者が、端末を一定の姿勢で保持し、一方向に真っ直ぐ進行している限り、その地磁気のセンサ座標系における到来方向は同じである。しかしながら、歩行者は、手持ちにした携帯端末を前後に振るために、その腕振りに応じて、地磁気の到来方向が、曲線を描いて変動する。この曲線の変動は、携帯端末に搭載された地磁気センサによって検出される。即ち、その軸とその曲線とからなる面は、地磁気面（地磁気ベクトル群の成す面）として表される。
【００２８】
図２は、センサ座標系から世界座標系に変換したイメージ図である。
【００２９】
図２によれば、上段にセンサ座標系が表されており、座標系変換によって、後段の世界座標系が表されている。「センサ座標系」とは、加速度センサから得られた３軸の加速度データ（ｘ、ｙ、ｚ）と、地磁気センサから得られた３軸の地磁気データ（ｘ、ｙ、ｚ）とをプロットした、携帯端末に対して固定された直交座標系をいう。地磁気データは、地磁気到来方向と反対側に検出できる。また、携帯端末が図１に表された位置Ａ、位置Ｂ及び位置Ｃにある場合の地磁気及び加速度も、表されている。携帯端末を手持ちした歩行者による腕振り動作に応じて、位置Ａ、位置Ｂ及び位置Ｃの地磁気及び加速度のプロットを結ぶことによって、地磁気面及び加速度面を検出できる。
【００３０】
「世界座標系」とは、重力を示す方向と北を示す方向をそれぞれ特定の軸（ｘ軸、ｙ軸又はｚ軸）の特定の方向（正又は負）に固定した直交座標系をいう。図２によれば、ｚ軸の負の方向を重力方向に、ｘ軸の正の方向を北方向に固定した直交座標系を、世界座標系と定義している。「座標系変換」とは、センサ座標系で３軸の値を持ったあるベクトルデータを、世界座標系での３軸の値を持ったベクトルデータに変換（回転移動）することをいう。
【００３１】
図２によれば、世界座標系について、重力ベクトルを中心に、加速度ベクトル群の軌跡の地表面への正射影を表す近似直線（進行方向）が表されている。また、世界座標系におけるｘ軸は、北方位を表す。従って、当該携帯端末を手持ちにした歩行者の進行方向の方向角は、ｘ軸から見た、加速度ベクトル群の軌跡を表す近似直線との間の角度θによって表される。
【００３２】
図３は、本発明における座標系変換のフローチャートである。
【００３３】
図３によれば、４つの基本ステップが表されている。
（Ｓ１）［基準ベクトルの導出］
加速度データから重力方向の重力ベクトルを導出し、且つ、その重力ベクトルに対応する地磁気ベクトルを選択する。
（Ｓ２）［座標系変換行列の算出］
センサ座標系の重力ベクトル及び地磁気ベクトルを、世界座標系に変換するために、ｘ軸、y軸及びｚ軸毎の回転行列を組み合わせた座標系変換行列Ａを算出する。
（Ｓ３）［座標系変換］
座標系変換行列Ａを用いて、単位区間中の加速度ベクトル及び地磁気ベクトルを、世界座標系に変換する。
（Ｓ４）［方向角の算出］
世界座標系にマッピングされた加速度ベクトル群の軌跡の地表面への正射影を表す近似直線と、北方位を表すｘ軸との成す角を、方向角θとして算出する。
【００３４】
各ステップについて、詳細に説明する。
【００３５】
（Ｓ１）［基準ベクトルの導出］
加速度センサ及び地磁気センサから、単位区間における複数の加速度観測データ及び地磁気観測データが入力される。例えば、以下のように表される。これらデータの組合せは、単位区間について少なくとも３つ以上が入力される。
加速度観測データ：（ｘａ，ｙａ，ｚａ）
地磁気観測データ：（ｘｍ，ｙｍ，ｚｍ）
【００３６】
携帯端末は、歩行者に手持ちされ且つ腕振り動作にさらされている。このとき、進行方向と平行に、複数の加速度ベクトルからなる加速度面が検出される。腕振り運動中の加速度には、重力のほか、腕の運動加速度や遠心力などが合成されており、そのベクトルが示す方向は、重力方向（鉛直下向き）とは必ずしも一致しない。しかし、歩行者の腕が最下点に到達した瞬間において検出される合成加速度は、重力と、その重力と同一方向の遠心力との和にほぼ等しい。従って、複数の加速度ベクトルの中で、最下点となる点での加速度ベクトルは、その大きさを除いて、重力ベクトルであると見なすことができる。尚、最下点は歩行タイミングと等しい。更に、複数の地磁気ベクトルの中で、その重力ベクトルに対応する地磁気ベクトルを選択することができる。導出された重力ベクトル及び地磁気ベクトルを基準ベクトルとして、以下のＳ２及びＳ３によって、センサ座標系から世界座標系へ変換する。
【００３７】
（Ｓ２）［座標系変換行列の算出］
（Ｓ２１）重力ベクトルをｚ軸の負の方向へ回転させる第１の変換行列成分、回転行列ＡｙＡｘを算出する。
（Ｓ２１１）重力ベクトルのｙｚ成分を、ｚ軸の負の方向まで回転させる回転行列Ａｘを算出する。
【００３８】
図４は、Ｓ２１１における座標系変換を表すイメージ図である。
【００３９】
（Ｓ２１１−１）重力ベクトルから、ｘ成分を除く、ｙｚ成分ベクトルを取り出す。このベクトルは、重力ベクトルのｙｚ平面への正射影である。
Ｖ１１＝（０，ｙａ，ｚａ）
（Ｓ２１１−２）ｘ軸を中心に回転させ、ｙｚ成分ベクトルが、ｚ軸の負の方向と一致するまで回転させる。
Ｖ１２＝（０，０，−｜Ｖ１１｜）
（Ｓ２１１−３）Ｖ１１とＶ１２との間のなす角を算出する。
なす角(rad)＝arccos（(Ｖ１１・Ｖ１２)／(｜Ｖ１１｜・｜Ｖ１２｜)）
（Ｓ２１１−４）回転行列での回転は、回転軸の正方向を向いて時計回りとなる。従って、算出されたなす角を、時計回りの回転角に変換する。
ｙ≦０：  回転角βｘ(rad)＝なす角
ｙ＞０：  回転角βｘ(rad)＝２π−なす角
【００４０】
（Ｓ２１１−５）回転行列Ａｘを算出する。
【数１】
0005072093.tif 000002
【００４１】
（Ｓ２１１−６）観測データに、算出したｘ軸回転を適用する。
【数２】
0005072093.tif 000003
【００４２】
（Ｓ２１２）次に、重力ベクトルのｘｚ成分を、ｚ軸の負の方向まで回転させる回転行列Ａｙを算出する。
【００４３】
図５は、Ｓ２１２における座標系変換を表すイメージ図である。
【００４４】
（Ｓ２１２−１）Ｓ２１２におけるｘ軸回りの回転適用後のベクトルから、ｙ成分を除く、ｘｚ成分ベクトルを取り出す（当該ベクトルのｘｚ平面への正射影）。
Ｖ２１＝（ｘａ'，０，ｚａ'）
（Ｓ２１２−２）ｙ軸を中心に回転させ、ｘｚ成分ベクトルが、ｚ軸の負の方向と一致するまで回転させる。
Ｖ２２＝（０，０，−｜Ｖ２１｜）
（Ｓ２１２−３）Ｖ２１とＶ２２とのなす角を算出する。
なす角(rad)＝arccos（(Ｖ２１・Ｖ２２)／(｜Ｖ２１｜・｜Ｖ２２｜)）
（Ｓ２１２−４）回転行列での回転は、回転軸の正方向を向いて時計回りとなる。従って、算出されたなす角を、時計回りの回転角に変換する。
ｘ≧０：  回転角βｙ(rad)＝なす角
ｘ＜０：  回転角βｙ(rad)＝２π−なす角
【００４５】
（Ｓ２１２−５）回転行列Ａｙを算出する。
【数３】
0005072093.tif 000004
【００４６】
（Ｓ２２）次に、Ｓ２１で算出された地磁気ベクトルをｘ軸の正の方向へ（北方向をｘ軸の正の方向へ）回転させる第２の変換行列成分、回転行列Ａｚを算出する。具体的には、回転行列Ａｚは、地磁気ベクトルのｘｙ成分を、ｚ軸を中心に、ｘ軸の正の方向まで回転させる回転行列である。
【００４７】
図６は、Ｓ２２における座標系変換を表すイメージ図である。
【００４８】
（Ｓ２２−１）地磁気観測データに、Ｓ２１１で算出したｘ軸回転を適用する。
【数４】
0005072093.tif 000005
【００４９】
（Ｓ２２−２）次に、Ｓ６０１によって算出された地磁気ベクトルに、Ｓ２１２で算出したｙ軸回転を適用する。
【数５】
0005072093.tif 000006
【００５０】
（Ｓ２２−３）次に、Ｓ６０２によって算出された地磁気ベクトルから、ｚ成分（鉛直成分）を除く、ｘｙ成分（地表面成分）ベクトルを取り出す（当該ベクトルのｘｙ平面への正射影）。
Ｖ３１＝（ｘｍ''，ｙｍ''，０）
（Ｓ２２−４）そして、ｘ軸の正の方向に一致するように、回転先ベクトルを導出する。
Ｖ３２＝（｜Ｖ３１｜，０，０）
（Ｓ２２−５）Ｖ３１及びＶ３２のなす角を算出する。
なす角(rad)＝arccos（(Ｖ３１・Ｖ３２)／(｜Ｖ３１｜・｜Ｖ３２｜)）
（Ｓ２２−６）回転行列での回転は、回転軸の正方向を向いて時計回りとなる。従って、算出されたなす角を、時計回りの回転角に変換する。
ｙ≧０：  回転角βｚ(rad)＝なす角
ｙ＜０：  回転角βｚ(rad)＝２π−なす角
【００５１】
（Ｓ２２−７）回転行列Ａｚを算出する。
【数６】
0005072093.tif 000007
【００５２】
（Ｓ２３）回転行列ＡｙＡｘ及び回転行列Ａｚに基づいて、センサ座標系を世界座標系へ変換するための座標系変換行列Ａを算出する。
回転行列Ａ＝ＡｚＡｙＡｘ
【００５３】
（Ｓ３）［座標系変換］
単位区間中の加速度観測データ（ｘａ，ｙａ，ｚａ）それぞれに対して、前述の座標系変換行列を乗算する。
センサ座標系での加速度観測データ  Ｓ＝（ｘａ，ｙａ，ｚａ）
世界座標系での加速度              Ｓｇ＝（ｘｇａ，ｙｇａ，ｚｇａ）
Ｓｇ＝Ａ・Ｓ
【００５４】
（Ｓ４）［方向角の算出］
世界座標系にマッピングされた加速度ベクトル群の軌跡の地表面への正射影から算出した近似直線と、北方位を表すｘ軸との成す角を、方向角として算出する。
【００５５】
ここで、前述した図３のフローチャートに対して、具体的な数値を代入して説明する。
【００５６】
（Ｓ１）［基準ベクトルの導出］
以下の観測データが、基準ベクトルとして選択されたとする。
【表１】
0005072093.tif 000008
【００５７】
（Ｓ２）［座標系変換行列の算出］
（Ｓ２１１）回転行列Ａｘを算出する。
【表２】
0005072093.tif 000009
【００５８】
（Ｓ２１２）回転行列Ａｙを算出する。
【表３】
0005072093.tif 000010
【００５９】
（Ｓ２２）回転行列Ａｚを算出する。
【表４】
0005072093.tif 000011
【００６０】
（Ｓ２３）座標系回転行列Ａを算出する。
【数７】
0005072093.tif 000012
【００６１】
（Ｓ３）［座標系変換］
センサ座標系の任意の加速度観測データを、座標系変換行列Ａで変換することによって、以下のような世界座標系の地表面成分（ｘｙ成分）を算出する。
【表５】
0005072093.tif 000013
【００６２】
（Ｓ４）［方向角の算出］
前述した地表面成分から、加速度ベクトル群の軌跡を表す近似直線を導出する。図７は、以下の近似直線を表すグラフである。
【表６】
0005072093.tif 000014
この近似直線は、ｙ＝ａｘとすると、ａは、最小二乗法により、以下のように求められる。
ａ＝０．５８
【００６３】
一般に、直線ｙ＝ａｘがｘ軸に対してなす角θは、
tanθ＝ａより、θ＝arctan(ａ)
と表される。
ここでは、北(ｘ軸の正の方向)から時計回りを正の角度、反時計回りを負の角度とした方向角を求めるため、近似直線の傾きａが負の場合にθが正になるよう、
θ＝arctan(−ａ)
とする。方向角は、−９０°〜＋９０°である（＋９０°と−９０°は、方向角としては同一）。
θ＝arctan(−0.58)＝−30(deg)
【００６４】
方向角θは、進行方向を示す近似直線が南北方向に対して成す角である。進行方向は、無向直線であり前後の区別が無い。このとき、北を０度とした時計回りの方位角（０〜３６０°）を導出するために、近似直線の前方（又は後方）を決定する必要がある（尚、この決定は、後述する図８の前方決定部１０７によって実現される）。
方位角は、世界座標系の地表面（ｘｙ平面）において、進行方向を示す近似直線の前方が、どの「象限」にあるかによって、以下の通り確定することができる。
（ａ）近似直線の前方が第一象限にある場合、方位角＝θ＋３６０である。
（ｂ）近似直線の前方が第二又は第三象限にある場合、方位角＝θ＋１８０である。
（ｃ）近似直線の前方が第四象限にある場合、方位角＝θである。
【００６５】
近似直線の前方は、合成加速度の連続するピーク点のうち大きい方に特定することができる。歩行により発生する加速度の大きさは、体の左右で対称であるが、携帯端末は、片手（体の中央から左右どちらかに偏った位置）で保持するため、左右非対称に検出される。例えば、歩行者が、右手に携帯端末を把持している場合に、右足で地面を蹴った際の加速度の大きさと、左足で地面を蹴った際の加速度の大きさとは、異なって検出される。この場合、右足で地面を蹴った際の加速度は、左足で地面を蹴った際の加速度よりも大きい。通常、人間の歩行は、手と足とが連動しており、例えば右手が前に出ている時に、右足が地面を蹴り出している。そのために、携帯端末を把持した側の足で地面を蹴ったと判断できれば、そのときの携帯端末は、前方に位置していると判断できる。
【００６６】
図８は、本発明の携帯端末における機能構成図である。
【００６７】
図８によれば、携帯端末１は、マイクロプロセッサ部１０と、地磁気センサ１１と、加速度センサ１２と、ＧＰＳ部１３と、地図情報記憶部１４と、ディスプレイ部１５とを有する。
【００６８】
地磁気センサ１１は、３軸方向（前後方向、左右方向及び上下方向）の地磁気の方向を測定する。地磁気センサ１１は、検出コイルを分離し、分離した検出コイルからそれぞれ検出された値を出力する。
【００６９】
加速度センサ１２は、加速度、即ち単位時間当たりの速度の変化を検出する。携帯端末の傾きを検出することができる３軸タイプの場合、３次元の加速度を検出でき、地球の重力（静的加速度）の計測にも対応できる。
【００７０】
ＧＰＳ部１３は、基準の現在位置となる緯度経度情報を測位する。測位された現在位置を基準点として、歩行者の現在位置を、歩数、歩幅及び進行方向によって積算することができる。
【００７１】
地図情報記憶部１４は、例えば道路地図のような走行経路を表す地図情報を記憶する。また、ディスプレイ部１５は、マイクロプロセッサ部１０から出力された進行方向及び現在位置を、地図情報と共に表示する。これにより、歩行者に対してナビゲーション機能を提供する。
【００７２】
マイクロプロセッサ部１０は、歩行タイミング決定部１０１と、進行方向決定部１０２と、方向転換判定部１０３と、歩幅決定部１０４と、移動量積算部１０５と、現在位置決定部１０６と、前方決定部１０７として機能させるプログラムを実行する。
【００７３】
歩行タイミング決定部１０１は、加速度センサ１２から出力された加速度データ列を、単位区間毎、例えば歩数毎、又は歩数に基づく時間単位毎の、加速度データに分割する。ここで、単位区間とは、歩行タイミング決定部の決定した歩行タイミングを含み、１つ前の歩行タイミングと１つ次の歩行タイミングを含まない任意の幅を持った区間である。単位区間には歩行タイミングを含めて、少なくとも３組以上の加速度データが含まれる。例えば、合成加速度の変化、即ち移動時の揺れ具合から歩数を算出することもできる。
【００７４】
進行方向決定部１０２は、所定時間毎に、地磁気センサ１１からの地磁気データと、歩行タイミング決定部１０１からの加速度データとから、進行方向を決定する。本発明は、この進行方向決定部１０２における進行方向の特定方法に基づく。
【００７５】
前方決定部１０７は、加速度センサ１２から出力された加速度データ列から、歩行者の歩行の向き、即ち、加速度面の前方を決定する。加速度面の前方は、合成加速度の大きさによって特定することができる。例えば、携帯端末を把持した側の足で地面を蹴ったとき、加速度が大きくなり、その携帯端末は前方に位置していると判断できる。
【００７６】
方向転換判定部１０３は、進行方向決定部１０２から進行方向のデータを受け取り、前方決定部１０７から前方の向きのデータを受け取る。方向転換判定部１０３は、メモリを有し、進行方向及び向きのデータを時間経過に応じて記憶する。そして、方向転換判定部１０３は、メモリに記憶された一定の時間範囲の進行方向について、方向転換がなされたか否かを判定する。
【００７７】
歩幅決定部１０４は、歩行タイミング決定部１０１から１歩分の加速度データを受け取り、１歩毎の歩幅を決定する。決定された歩幅は、移動量積算部１０５へ出力される。尚、歩幅決定部１０４は、その歩幅の情報を方向転換判定部１０３にも出力する。
【００７８】
移動量積算部１０５は、進行方向決定部１０２から進行方向の情報を受け取り、歩幅決定部１０４から歩幅の情報を受け取る。そして、移動量積算部１０５は、１歩分の進行方向及び歩幅を積算する。現在位置決定部１０６は、地図情報記憶部１４から地図情報を取得し、積算された移動量から現在位置を特定する。現在位置決定部１０６は、方向転換判定部１０３が方向転換したと判定すれば、地図情報における近傍の交差点の位置を現在位置として決定する。また、方向転換していないと判定すれば（直進したと判定すれば）、マップマッチングによって投影された位置を、現在位置として決定する。
【００７９】
本発明の特徴となる進行方向決定部１０２は、フィルタ部１０２１と、基準ベクトル導出部１０２２と、座標系変換行列算出部１０２３と、座標系変換部１０２４と、方向角算出部１０２５と、補正部１０２６とを有する。フィルタ部１０２１及び補正部１０２６は、本発明について本質的な機能では無いが、これによって進行方向の精度を向上させることができる。
【００８０】
基準ベクトル導出部１０２２は、複数の加速度データから重力方向の重力ベクトルを導出し、且つ、該重力ベクトルに対応する地磁気ベクトルを選択する。
【００８１】
座標系変換行列算出部１０２３は、センサ座標系の重力ベクトル及び地磁気ベクトルを、世界座標系に変換するために、ｘ軸、y軸及びｚ軸毎の回転行列を組み合わせた座標系変換行列Ａを算出する。具体的には、座標系変換行列算出部１０２３は、重力ベクトルを、ｚ軸の負の方向へ回転させる第１の変換行列成分である回転行列ＡｙＡｘを算出する。回転行列ＡｙＡｘは、重力ベクトルのｙｚ成分を、ｚ軸の負の方向まで回転させる回転行列Ａｘと、その重力ベクトルのｘｚ成分を、ｚ軸の負の方向まで回転させる回転行列Ａｙとに基づいて算出される。
【００８２】
次に、座標系変換行列算出部１０２３は、地磁気ベクトルを、ｘ軸の正の方向へ回転させる第２の変換行列成分である回転行列Ａｚを算出する。回転行列Ａｚは、回転行列ＡｙＡｘを適用した後の地磁気ベクトルのｘｙ成分を、ｘ軸の正の方向まで回転させる回転行列として算出する。
【００８３】
そして、座標系変換行列算出部１０２３は、回転行列ＡｙＡｘ及び回転行列Ａｚに基づいて、センサ座標系を世界座標系へ変換するための座標系変換行列Ａ＝ＡｚＡｙＡｘを算出する。
【００８４】
座標系変換部１０２４は、座標系変換行列を用いて、単位区間中の加速度ベクトル及び地磁気ベクトルを、世界座標系に変換する。
【００８５】
方向角算出部１０２５は、世界座標系にマッピングされた加速度ベクトル群の軌跡を地表面に射影した近似直線と、北方位を表すｘ軸との成す角を、方向角として算出する。例えば、最小二乗法など既知の方法を用いて、直線状に近似する。
【００８６】
フィルタ部１０２１は、基準ベクトル導出部１０２２に入力される加速度データ及び地磁気データについて、所定時間範囲のデータをメモリし、最大値及び最小値から所定割合のデータを除去する。即ち、突飛なデータを除去することができる。
【００８７】
補正部１０２６は、方向角算出部１０２５から出力された方向角θについて、所定時間範囲の方向角θをメモリし、当該方向角θの前後の変化が所定角度閾値以上となっている方向角θを除去する。
【００８８】
例えば、以下の表７のように、１つのデータだけが前後のデータよりも突飛な値、例えば６０°（所定角度閾値）以上振れていた場合、そのデータを除去する。
【表７】
0005072093.tif 000015
【００８９】
また、補正部１０２６は、除去されたデータについて、以下の表８のように、時間的に前後に算出された単位区間の方向角θの平均によって補完することも好ましい。
【表８】
0005072093.tif 000016
【００９０】
更に、補正部１０２６は、蓄積した複数の方向角θの変化が、平均化することも好ましい。以下の表９によれば、一定範囲の方向角θ毎に、平均化したものである。
【表９】
0005072093.tif 000017
【００９１】
以上、詳細に説明したように、本発明の携帯端末、プログラム及び方法によれば、センサ座標系を世界座標系に座標系変換をすることによって、加速度データ群の軌跡（近似直線）と北方位との方向角を算出できるので、歩行者が、携帯端末を手持ちで歩行している場合であっても、その携帯端末に搭載された加速度センサ及び地磁気センサを用いて、歩行者の進行方向をできる限り正確に決定することができる。
【００９２】
前述した本発明における種々の実施形態によれば、当業者は、本発明の技術思想及び見地の範囲における種々の変更、修正及び省略を容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【図面の簡単な説明】
【００９３】
【図１】歩行者の歩行態様と、加速度変動方向及び地磁気変動方向とを表す説明図である。
【図２】センサ座標系から世界座標系に変換したイメージ図である。
【図３】本発明における座標系変換のフローチャートである。
【図４】Ｓ２１１における座標系変換を表すイメージ図である。
【図５】Ｓ２１２における座標系変換を表すイメージ図である。
【図６】Ｓ２２における座標系変換を表すイメージ図である。
【図７】近似直線の例を表すグラフである。
【図８】本発明の携帯端末における機能構成図である。
【符号の説明】
【００９４】
１  携帯端末
１０  マイクロプロセッサ部
１０１  歩行タイミング決定部
１０２  進行方向決定部
１０２１  フィルタ部
１０２２  基準ベクトル導出部
１０２３  座標系変換行列算出部
１０２４  座標系変換部
１０２５  方向角算出部
１０２５  補正部
１０３  方向転換判定部
１０４  歩幅決定部
１０５  移動量積算部
１０６  現在位置決定部
１０７  前方決定部
１１  地磁気センサ
１２  加速度センサ
１３  ＧＰＳ部
１４  地図情報記憶部
１５  ディスプレイ部
【図１】
0005072093.tif 000018
【図２】
0005072093.tif 000019
【図３】
0005072093.tif 000020
【図４】
0005072093.tif 000021
【図５】
0005072093.tif 000022
【図６】
0005072093.tif 000023
【図７】
0005072093.tif 000024
【図８】
0005072093.tif 000025