説明

遊脚期の加速度データを用いて歩行者の進行方向を決定する携帯端末、プログラム及び方法

【課題】歩行者が、携帯端末をズボンのポケットのような衣服に入れている場合であっても、その携帯端末に搭載された加速度センサ及び地磁気センサを用いて、歩行者の進行方向をできる限り正確に決定する携帯端末、プログラム及び方法を提供する。
【解決手段】携帯端末は、加速度センサと、地磁気センサと、歩行者の進行方向を決定する進行方向決定手段とを有する。進行方向決定手段は、各軸加速度データと、合成加速度とを用いて、遊脚期の加速度データを抽出する遊脚期抽出手段と、遊脚期の加速度データの中から、指定数分の加速度データを取得する指定数分加速度取得手段と、指定数分の遊脚期の加速度データに基づいて、右/左向きベクトルUを算出する右/左向きベクトル算出手段と、右/左向きベクトルUと、重力ベクトルGと、地磁気ベクトルMとを用いて、進行方向を算出する進行方向算出手段とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、加速度センサ及び地磁気センサを用いて歩行者の進行方向を決定する技術に関する。特に、進行方向をリアルタイムに導出する自律航法技術に関する。
【背景技術】
【0002】
従来、加速度センサ及び方位センサを用いて、進行方向及び現在位置をリアルタイムに導出する自律航法技術がある。自律航法技術は、GPS(Global Positioning System)技術と組み合わされて、主にカーナビゲーションシステム(Car Navigation System)に利用されている。カーナビゲーションシステムは、自動車の運転者に対して、正確な進行方向及び現在位置と、目的地への走行経路案内とを、ディスプレイ部に表示する。
【0003】
カーナビゲーションシステムは、GPSによって測位した現在位置情報を、車速パルス又はジャイロのような自律航法技術によって補正する。また、道路地図情報を必要に応じて読み出し、現在の走行経路が道路上と一致するように、進行方向及び現在位置を補正する(投影法によるマップマッチング技術、例えば特許文献1参照)。これにより、センサの誤差によって、現在位置が、道路上でない位置になることを防ぐことができる。
【0004】
これに対し、このようなナビゲーション技術を、歩行者の所持する携帯端末に適応したシステムもある。具体的には、検出した歩行者の「歩数」と、その歩行者の「歩幅」とを用いて、始点からの累積的な現在位置を導出する(例えば特許文献2参照)。自律航法技術を歩行者に適応した場合、水平方向の移動以外の加速度成分も検出される。従って、測定される距離は、単純に加速度センサの出力を積分するのではなく、歩数及び歩幅から導出される。
【0005】
「歩数」は、携帯端末内の加速度センサによって検出された軸毎の加速度を二乗和の平方根とし(√(x+y+z))、そのピーク−ピーク間を1歩として検出する(例えば特許文献3参照)。「歩幅」は、利用者が予め設定するか、若しくは利用者の身長から推定する。又は、他の技術によれば、歩行者に規定距離を歩行させることによって、その歩幅をキャリブレーションする技術もある(例えば非特許文献1参照)。
【0006】
「進行方向」は、「方位センサ」によって検出される。方位センサとしては、一般に地磁気センサが利用される。端末の姿勢を導出するべく鉛直方向を決定した後に、鉛直方向加速度と進行方向加速度との関係を利用して、歩行者の進行方向を決定する技術がある(例えば特許文献4参照)。また、特定時点の端末の姿勢から進行方向を決定する技術もある(例えば特許文献5参照)。更に、水平方向の加速度の分布に基づいて進行方向を決定する技術もある(例えば特許文献6、7参照)。更に、歩行者の腕振りの特徴から進行方向を決定する技術もある(例えば特許文献8参照)。
【0007】
尚、本願と同一の出願人における過去の発明として、腕振り運動に基づく加速度面に対する法線ベクトル(方向基準ベクトル)と、重力ベクトル及び地磁気ベクトルに基づく方位基準面に対する法線ベクトル(方位基準ベクトル)とから、進行方向の方位角を算出する技術がある(特許文献9参照)。
【先行技術文献】
【特許文献】
【0008】
【特許文献1】特開平5−061408号公報
【特許文献2】特開平9−089584号公報
【特許文献3】特開2005−038018号公報
【特許文献4】特開2008−039619号公報
【特許文献5】WO2006/104140
【特許文献6】特許第4126388号公報
【特許文献7】特開2008−116315号公報
【特許文献8】特開2010−271167号公報
【特許文献9】特開2010−008103号公報
【非特許文献】
【0009】
【非特許文献1】「Nike+iPodユーザーズガイド」、第27頁、「online」、[平成21年2月3日検索]、インターネット<URL:http://manuals.info.apple.com/ja/nikeipod_users_guide.pdf>
【発明の概要】
【発明が解決しようとする課題】
【0010】
特許文献4に記載された技術によれば、所定閾値を超える加速度が検出された方向を、進行方向の候補とする。しかしながら、加速度の分布が、直線状ではなく幅をもつ場合、多数の進行方向の候補に対する評価が必要となり、演算量が膨大になる。
【0011】
また、特許文献5、6、7に記載された技術によれば、歩行者の身に着けられた携帯端末の姿勢が大凡一定であることを想定し、歩行の際に検出される水平方向の加速度が、進行方向に分布することを利用している。しかしながら、実際には、歩行者が所持している携帯端末の姿勢が、大凡一定となるとは限らない。そのために、水平方向の加速度が、進行方向に分布しないことも多い。
【0012】
更に、特許文献8に記載された技術によれば、歩行者が携帯端末を把持した腕振りによって進行方向を決定するものであるが、携帯端末が腕振り運動に伴って動くことを想定しており、歩行者が、携帯端末を例えばズボンのポケットに入れている場合には、進行方向を決定することができない。
【0013】
尚、特許文献4から7のいずれに記載された技術についても、センサによって検出されたセンサ座標系の加速度データから、進行方向の座標系の加速度を算出する処理を要する。即ち、センサによって検出された個々の加速度データについて、座標変換処理を要する。これは、結果として、演算量の増大を招く。
【0014】
そこで、本発明は、歩行者が、携帯端末をズボンのポケットのような衣服に入れている場合であっても、その携帯端末に搭載された加速度センサ及び地磁気センサを用いて、歩行者の進行方向をできる限り正確に決定する携帯端末、プログラム及び方法を提供することを目的とする。
【課題を解決するための手段】
【0015】
本発明によれば、3軸の加速度データを出力する加速度センサと、3軸の地磁気データを出力する地磁気センサと、加速度データ及び地磁気データから歩行者の進行方向を決定する進行方向決定手段とを有し、歩行者によって所持される携帯端末であって、
進行方向決定手段は、
各軸加速度データと、全ての軸の加速度データの二乗和平方根となる合成加速度とを用いて、遊脚期の加速度データを抽出する遊脚期抽出手段と、
遊脚期の加速度データの中から、指定数分の加速度データを取得する指定数分加速度取得手段と、
指定数分の遊脚期の加速度データに基づいて、右/左向きベクトルUを算出する右/左向きベクトル算出手段と、
右/左向きベクトルUと、重力ベクトルGと、地磁気ベクトルMとを用いて、進行方向を算出する進行方向算出手段と
を有することを特徴とする。
【0016】
本発明の携帯端末における他の実施形態によれば、遊脚期抽出手段は、
合成加速度から、連続する極大点を検出し、
連続する極大点と極大点との間における合成加速度の極小点について、合成加速度が「大」「小」と交互に続くことを検出し、
合成加速度「小」の前後の極大点間を、遊脚期として検出することも好ましい。
【0017】
本発明の携帯端末における他の実施形態によれば、右/左向きベクトル算出手段は、遊脚期の終了を示す加速度ベクトルBと、遊脚期の開始を示す加速度ベクトルFとの外積(U=B×F(又はF×B))によって、右/左向きベクトルUを算出することも好ましい。
【0018】
本発明の携帯端末における他の実施形態によれば、
右/左向きベクトル算出手段は、
指定数分の遊脚期の加速度データに基づいて、歩行者の歩行動作によって生じる加速度面を推定する加速度面推定手段と、
指定数分の遊脚期の加速度データから、鉛直方向加速度を算出する鉛直方向加速度算出手段と、
加速度面及び鉛直方向加速度から、当該加速度面における法線ベクトル(右/左向きベクトル)と、前後方向加速度とを算出する前後方向加速度算出手段と
を有することも好ましい。
【0019】
本発明の携帯端末における他の実施形態によれば、
前後方向加速度算出手段は、
加速度センサから出力された軸毎の加速度に基づいて、重力ベクトルGを算出し、
加速度面の法線ベクトルVLR及び重力ベクトルGから、前向き又は後向きの前後方向ベクトルVFGを算出し、
前後方向ベクトルVFG及び遊脚期の終了を示す加速度に基づいて、前後方向ベクトルVFGが前向きである場合、法線ベクトルVLRを右向きとし、前後方向ベクトルVFGが後向きである場合、法線ベクトルVLRを左向きとすることも好ましい。
【0020】
本発明の携帯端末における他の実施形態によれば、
加速度面推定手段は、
指定数分加速度について、各軸の分散Vxx、Vyy及びVzzを算出し、
分散が最小となる軸について、最小二乗法に基づいて加速度面を推定することも好ましい。
【0021】
本発明の携帯端末における他の実施形態によれば、
右/左向きベクトル算出手段は、遊脚期の終了を示す加速度ベクトルBと、遊脚期の開始を示す加速度ベクトルFとの外積(U=B×F(又はF×B))によって、右/左向きベクトルUを算出し、
加速度面推定手段は、3軸の中で、右/左向きベクトルUの方向に最も近い軸について、最小二乗法に基づいて加速度面を推定することも好ましい。
【0022】
本発明の携帯端末における他の実施形態によれば、
進行方向算出手段は、
重力ベクトルG及び地磁気ベクトルMを用いて、G×M/|G×M|によって東向き単位ベクトルeEastを算出し、
右向きベクトルeRightと、東向き単位ベクトルeEastとの成す角αを算出し、
東向き単位ベクトルeEastと右向き単位ベクトルeRightとの外積(eEast×eRight)と、重力ベクトルGとの成す角βに基づいて、東向き単位ベクトルeEastに対する方向角θを算出することも好ましい。
【0023】
本発明の携帯端末における他の実施形態によれば、
進行方向算出手段について、
成す角αは、以下の式によって算出され、
α=arccos((eEast・eRight)/(|eEast||eRight|))
方位角θは、成す角αと、外積ベクトルと重力ベクトルGの成す角βとを用いて、以下の式によって導出される
cosβ≧0:θ=α
cosβ<0:θ=360−α
ことも好ましい。
【0024】
本発明によれば、3軸の加速度データを出力する加速度センサと、3軸の地磁気データを出力する地磁気センサとを有する携帯端末に搭載されたコンピュータを、加速度データ及び地磁気データから歩行者の進行方向を決定する進行方向決定手段として機能させるプログラムであって、
進行方向決定手段は、
各軸加速度データと、全ての軸の加速度データの二乗和平方根となる合成加速度とを用いて、遊脚期の加速度データを抽出する遊脚期抽出手段と、
遊脚期の加速度データの中から、指定数分の加速度データを取得する指定数分加速度取得手段と、
指定数分の遊脚期の加速度データに基づいて、右/左向きベクトルUを算出する右/左向きベクトル算出手段と、
右/左向きベクトルUと、重力ベクトルGと、地磁気ベクトルMとを用いて、進行方向を算出する進行方向算出手段と
してコンピュータを機能させることを特徴とする。
【0025】
本発明によれば、3軸の加速度データを出力する加速度センサと、3軸の地磁気データを出力する地磁気センサとを有する携帯端末によって、加速度データ及び地磁気データから歩行者の進行方向を決定する進行方向決定方法であって、
各軸加速度データと、全ての軸の加速度データの二乗和平方根となる合成加速度とを用いて、遊脚期の加速度データを抽出する第1のステップと、
遊脚期の加速度データの中から、指定数分の加速度データを取得する第2のステップと、
指定数分の遊脚期の加速度データに基づいて、右/左向きベクトルUを算出する第3のステップと、
右/左向きベクトルUと、重力ベクトルGと、地磁気ベクトルMとを用いて、進行方向を算出する第4のステップと
を有することを特徴とする。
【発明の効果】
【0026】
本発明の携帯端末、プログラム及び方法によれば、歩行者が、携帯端末をズボンのポケットのような衣服に入れている場合であっても、その携帯端末に搭載された加速度センサ及び地磁気センサを用いて、歩行者の進行方向をできる限り正確に決定することができる。特に、携帯端末が、歩行者の下半身部分の衣服に身につけられた際に、歩行者の進行方向をできる限り決定することができる。
【図面の簡単な説明】
【0027】
【図1】歩行者の下半身のポケットに入れられた携帯端末の態様を表す説明図である。
【図2】本発明における携帯端末の機能構成図である。
【図3】各軸加速度及び合成加速度から遊脚期の抽出を表すグラフである。
【図4】経過時間に応じた鉛直方向加速度及び水平方向加速度の推移を表すグラフである。
【図5】現実に発生する加速度面及び右/左向きベクトルを表す図である。
【図6】重力G及び地磁気Mに対する方位の関係を表す説明図である。
【図7】成す角と方位角の関係を表す説明図である。
【発明を実施するための形態】
【0028】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0029】
図1は、歩行者の下半身のポケットに入れられた携帯端末の態様を表す説明図である。
【0030】
図1によれば、携帯端末が歩行者のズボンのポケットに挿入された状態では、携帯端末の姿勢は、一定とならない。また、このような状態は、ユーザが携帯端末に対して操作しておらず、携帯端末自体が、何らかのアプリケーションによって進行方向を検出している場合である。尚、本発明によれば、携帯端末が歩行者のズボンのポケットに挿入された状態を想定しているが、勿論、それに限られるものではない。但し、本発明によれば、携帯端末が、特に歩行者の身体の中心から見て、左右のいずれかの側に寄っていて、且つ、下半身部分に位置していることが好ましい。
【0031】
携帯端末には、加速度センサ及び地磁気センサが、固定的に内蔵されている。そのために、携帯端末の向きに応じて、センサのx、y、z軸(センサ座標系)の向きも決まる。例えば、図1によれば、x軸は携帯端末の上から下へ向けて、y軸は携帯端末の左から右へ向けて、z軸は携帯端末の裏から表へ向けて、割り当てられている。勿論、センサの座標系の割り当ては、これに限られない。また、歩行者の進行方向に対しては、前向き(後向き)、右向き(左向き)、鉛直方向の座標系が決まる。尚、ズボンのポケットに挿入された携帯端末の向きまでは、想定できない。
【0032】
図2は、本発明における携帯端末の機能構成図である。
【0033】
図2によれば、携帯端末1は、利用者の衣服のポケットに挿入可能な端末であって、例えば携帯電話機やスマートフォンである。携帯端末1は、進行方向決定部10と、加速度センサ11と、地磁気センサ12と、測位部13と、地図情報記憶部14と、表示制御部15と、ディスプレイ部16とを有する。進行方向決定部10、地図情報記憶部14及び表示制御部15は、携帯端末に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。
【0034】
加速度センサ11は、x軸、y軸及びz軸毎の加速度(センサ座標系)を検出する。既存の一般的な携帯電話機やスマートフォンの場合、加速度センサを一般的に搭載している。検出された加速度データは、進行方向決定部10へ出力される。加速度センサ11は、携帯端末1に固定的に内蔵されており、携帯端末1の向きが決まれば、加速度センサ11の軸の向きも決まる。
【0035】
地磁気センサ12は、南から北へ向かう地球の磁力線である地磁気を検出する。検出された地磁気の水平面に対する正射影の向きが、「北」となる。3軸の地磁気センサの場合、水平でなくても傾きを検出することによって、方位を検出することができる。検出された地磁気データは、進行方向決定部10へ出力される。
【0036】
測位部13は、GPS(Global Positioning System)衛星からの測位電波を受信し、現在位置の緯度経度データを取得する。その緯度経度データは、表示制御部15へ出力される。
【0037】
地図情報記憶部14は、地図情報を蓄積する。表示制御部15から指示された現在位置に基づいて、その地図情報を表示制御部15へ出力する。
【0038】
表示制御部15は、進行方向決定部10から進行方向データを入力し、測位部13から現在位置情報を入力する。また、表示制御部15は、現在位置情報を地図情報記憶部14へ出力し、現在位置の地図情報を取得する。そして、表示制御部15は、地図の上に現在位置を表示すると共に、その進行方向を矢印で表示した画像を生成する。その画像は、ディスプレイ部16へ出力される。例えば、歩行者用のナビゲーションシステムに用いられる。
【0039】
ディスプレイ部16は、表示制御部15からの画像を表示することによって、歩行中のユーザに対してその画像を視認させる。
【0040】
次に、本発明の特徴部分である進行方向決定部10について、詳細に説明する。進行方向決定部10は、遊脚期抽出部101と、指定数分加速度取得部102と、右/左向きベクトル推定部103と、進行方向算出部104とを有する。以下では、これら機能構成部について、詳細に説明する。
【0041】
<遊脚期抽出部101>
遊脚期抽出部101は、各軸加速度データと、全ての軸の加速度データの二乗和平方根となる合成加速度とを用いて、「遊脚期」の加速度データを抽出する。
【0042】
図3は、各軸加速度及び合成加速度から遊脚期の抽出を表すグラフである。
【0043】
加速度は、小さな一歩の変動と、大きな一歩の変動とが、交互に観測される。図3によれば、歩行者のズボンのポケットに挿入された携帯端末について、歩行中に検出されたx軸加速度、y軸加速度、z軸加速度及び合成加速度が表されている。合成加速度は、3軸加速度の二乗和の平方根である。尚、ズボンのポケットに挿入された携帯端末の姿勢は不明である。
【0044】
人の歩行は「歩行周期」で表される。「歩行周期」とは、同側の足の初期接地から、次の初期接地までの時間をいい、この時間は、「立脚期」と「遊脚期」とに区分される。
「立脚期」:足が地面に付いている期間
「遊脚期」:足が地面を離れ、スイングによって脚が前に運ばれている期間
【0045】
例えばズボンのポケットの側の足に着目したとする。ここで、ポケットの側の足が地面についているのが「立脚期」であり、ポケットの側の脚が前に運ばれているのが「遊脚期」である。「立脚期」については脚の動きが小さく、「遊脚期」については脚の動きが大きい。人の歩行は、左右の脚を交互に前に運ぶため、「立脚期」と「遊脚期」とが交互に繰り返される。従って、加速度によれば、小さな一歩の変動と、大きな一歩の変動とが、交互に観測される。
【0046】
「遊脚期」は、合成加速度が極大点となる2つの時点の間にある。また、図3によれば、遊脚期に含まれる極小点の合成加速度が、遊脚期に含まれない極小点の合成加速度よりも小さくなっていることが理解できる。従って、合成加速度の極小点を検出し、連続する極小点の合成加速度が、小→大となる小の側を含む連続する極大点の区間を検出することによって、遊脚期を検出する。
【0047】
具体的には、「遊脚期」は、以下の3つのステップによって抽出される。
(S1)合成加速度から、連続する極大点を検出する。
(S2)連続する極大点と極大点との間における合成加速度の極小点について、合成加速度が「大」「小」と交互に続くことを検出する。
(S3)合成加速度「小」の前後の極大点間を、「遊脚期」として検出する。
【0048】
<指定数分加速度取得部102>
指定数分加速度取得部102は、遊脚期の加速度データの中から、指定数分の加速度データを取得する。指定数分の加速度データ毎に、右/左向きベクトル推定部103へ出力される。ここでの指定数分の加速度は、例えば、2秒間(およそ4歩に相当)分程度が好ましい。
【0049】
<右/左向きベクトル推定部103>
右/左向きベクトル推定部103は、指定数分の遊脚期の加速度データに基づいて、右/左向きベクトルUを推定する。「右/左向きベクトルU」は、歩行者の進行方向に対する右方又は左方を示すベクトルをいう。
【0050】
ここで、右/左向きベクトル推定部103には、2つの処理方法がある。
[a]遊脚期の加速度ベクトルの外積から、右/左向きベクトルを算出する方法
[b]遊脚期の加速度ベクトルの加速度面から、右/左向きベクトルを算出する方法
【0051】
[a]遊脚期の加速度ベクトルの外積から、右/左向きベクトルを算出する方法
右/左向きベクトル推定部103は、1つの右/左向きベクトル算出部103aのみを有し、遊脚期の終了を示す加速度ベクトルBと、遊脚期の開始を示す加速度ベクトルFとの外積(U=B×F(又はF×B))によって、右/左向きベクトルUを算出する。
【0052】
一般に、歩行の進行方向を表すために、進行方向の加速度面の法線ベクトルが用いられる(尚、加速度面の法線ベクトルについては、[b]及び図5で後述する)。原点から伸びる法線ベクトルは、加速度面に対して2方向に引くことができる。加速度面は、進行方向(歩行者の前後)を示すので、2方向の法線ベクトルは、歩行者の右方と左方にあたる。ここでは、2方向の法線ベクトルのうち、歩行者右方の法線ベクトルは、右向きベクトルUと定義する。また、歩行者左方の法線ベクトルは、左向きベクトルUと定義する。
【0053】
ここで、加速度面と遊脚期との関係は、以下のように表される。
加速度面の前方を示す最上点での加速度ベクトル
=遊脚期の開始を示す加速度ベクトルF
加速度面の後方を示す最上点での加速度ベクトル
=遊脚期の終了を示す加速度ベクトルB
以下の式(1)によって、右向きベクトルUを算出する。
遊脚期の開始を示す加速度ベクトル :F=(xF,yF,zF
遊脚期の終了を示す加速度ベクトル :B=(xB,yB,zB
加速度面の右方を示す右向きベクトル :U=(xU,yU,zU
U=B×F
=(yBF−zBF,zBF−xBF,xBF−yBF) 式(1)
脚が前の時に、ベクトルは後ろ向きとなる。従って、右は、「足が前(B)×足が後(F)」となる。
【0054】
右/左向きベクトルとして、歩行者の左向きベクトルを用いた場合、式(1)は、以下のようになる。
U=F×B
=(yFB−zFB,zFB−xFB,xFB−yFB
【0055】
例えば、第1の時刻と第2の時刻との加速度ベクトルをそれぞれ、F、Bとして選択し、式(1)を適用した場合、以下の右向きベクトルUが得られる。
第1の時刻:各軸加速度ax=450、ay=835、az=140、合成加速度a=959
第2の時刻:各軸加速度ax=-369、ay=980、az=140、合成加速度a=1056
右向きベクトル:U=(20300,114660,−749115)
【0056】
[b]遊脚期の加速度ベクトルの加速度面から、右/左向きベクトルを算出する方法
右/左向きベクトル推定部103は、鉛直方向加速度算出部103b1と、加速度面推定部103b2と、前後方向加速度算出部103b3とを有する。
【0057】
[鉛直方向加速度算出部103b1]
鉛直方向加速度算出部103b1は、加速度データを用いて鉛直方向加速度を算出する。尚、鉛直方向加速度と水平方向加速度とは、互いに直交する。
【0058】
図4は、経過時間に応じた鉛直方向加速度及び水平方向加速度の推移を表すグラフである。
【0059】
図4によれば、現実に、歩行者が、図1のような態様で、携帯端末をズボンのポケットに挿入して歩行し、それによって取得された鉛直方向加速度及び水平方向加速度をプロットしたものである。
【0060】
図4(a)によれば、鉛直方向加速度の上側は、鉛直下向きを表し、下側は、鉛直上向きを表す。また、鉛直方向加速度の変化は、歩行と一致する周期性を有する。ここで、鉛直下向き加速度の極大点は、身体が下がった時点、即ち、地面を離れていた足が接地する時点を表す。一方で、鉛直上向き加速度の極大点は、身体が上がった時点、即ち、足が上がった時点を表す。また、鉛直下向き加速度の極小点間、即ち、鉛直上向き加速度の極大点間は、歩行者の一歩を表す。
【0061】
図4(b)によれば、前進加速度は、加速・減速を繰り返すと同時に、前後・上下を繰り返すことが理解できる。
【0062】
[加速度面推定部]
加速度面推定部103b2は、指定数分の加速度データから、歩行者の歩行動作によって生じる加速度面を推定する。
【0063】
図5は、現実に発生する加速度面及び右/左向きベクトルを表す図である。
【0064】
簡単化のために、重力方向を図の下方向としているが、重力そのものを検出することはできない。また、実際に、地磁気が、センサ座標系に対してどの方向に検出されるかは、端末の姿勢に依存する。但し、加速度面と法線ベクトル(右/左向きベクトル)の関係については、端末の姿勢には依存しない。
【0065】
図5によれば、加速度センサから得られた3軸の加速度データ(x、y、z)と、地磁気センサから得られた3軸の地磁気データ(x、y、z)とが、3次元座標系にプロットされたものである。異なる時点で測定された加速度データのプロットから、加速度面を検出できる。また、加速度面に対する右/左向きベクトルを検出することができる。
【0066】
図5によれば、歩行者は、南から到来している地磁気に対して、方向角θの方向へ歩行している。このとき、携帯端末をズボンのポケットに挿入した歩行者の動作に応じて、進行方向に平行に加速度面が検出でき、右/左向きベクトルが特定される。
【0067】
本発明によれば、複数の加速度データを平面に近似することによって、右/左向きベクトル(法線ベクトル)を算出することができる。
【0068】
加速度面を近似的に算出する方法としては、例えば、最小二乗法がある。最小二乗法は、残差の2乗の和が最小になるように、その現象に対し、予測関数f(x)のそれぞれの係数を決定する方法である。残差とは、i番目のデータnに対して予測された関数値f(n)と、測定されたデータmとの差、即ちm−f(n)である。
【0069】
一般に原点を通る平面は、以下の式(1)によって表される。
ax+by+cz=0 式(1)
このとき、(a,b,c)は、平面に対する法線ベクトルとなる。
【0070】
ここで、計算を単純化するために、式(1)を、式(2)のように変形する。
z=αx+βy 式(2)
尚、(a,b,c)は法線ベクトルであるため、c=−1として問題無い。
【0071】
n個の点群x,y,z(i=1〜n)が与えられたとき、以下の式(3)が最小となるα及びβを算出すればよい。
S=Σi=1n(z−αx−βy) 式(3)
【0072】
ここで、以下のように規定したとする。
A=Σi=1n(x)
B=Σi=1n(y)
C=Σi=1n(z)
D=Σi=1n(x×y)
E=Σi=1n(x×z)
F=Σi=1n(y×z)
【0073】
このとき、式(3)は、以下のような式(4)になる。
S=Aα+Bβ+C+2αβD−2αE−2βF 式(4)
【0074】
式(4)をαの関数とみたとき、凹型の2次関数となり、極小点値が最小となる。これは、βにおいても同様である。即ち、Sをα、βに関して偏微分し、0となる点が求める解となる。
【数1】

【0075】
式(5)及び式(6)を解くと、以下の式(7)及び式(8)のように算出できる。
α=(BE−DF)/(AB−D) 式(7)
β=(AF−DE)/(AB−D) 式(8)
前述したように、法線ベクトルは(α,β,−1)である。
【0076】
また、加速度面を推定する他の実施形態として、前述した式(2)によれば、z軸方向の残差が最小となるように加速度平面を算出している。しかしながら、残差最小とする軸は、分散の小さな軸を選択することが好ましい。残差最小とする軸を選択するために、例えば、以下の2つの方法がある。
【0077】
(1)指定数分加速度について、各軸の分散Vxx、Vyy及びVzzを算出し、その分散が最小となる軸について、最小二乗法に基づいて加速度面を推定する。
Vxx=1/n・Σi=1n(xi−x ̄)2
Vyy=1/n・Σi=1n(yi−y ̄)2
Vzz=1/n・Σi=1n(zi−z ̄)2
n:データの個数
x ̄:xの平均値
【0078】
(2)3軸の中で、右/左向きベクトルUの向きに最も近い軸について、最小二乗法に基づいて加速度面を推定する。尚、ここでは、右/左向きベクトル算出部103aと同様の処理によって右向きベクトルを算出する。例えば、前述した図4のグラフの場合、以下のような数値となる。
遊脚期の開始を示す加速度ベクトル :F=(-1.50,0.15,-0.14)
遊脚期の終了を示す加速度ベクトル :B=(-1.06,0.21,0.69)
加速度面の右方を示す右向きベクトル :U=(-0.13,-1.18,0.16)
この場合、右向きベクトルの方向に最も近い軸として、y軸が選択される。
【0079】
尚、加速度面推定部103b2は、加速度データに対して、高域周波数成分を遮断するローパスフィルタとして機能することも好ましい。これによって、異常値としての加速度データを除去することができ、正確な進行方向を算出することができる。
【0080】
[前後方向加速度算出部]
前後方向加速度算出部103b3は、加速度面及び鉛直方向加速度から、当該加速度面における右/左向きベクトル(法線ベクトル)と、前後方向加速度とを算出する。具体的には、以下のS1〜S3のステップを有する。
【0081】
(S1)前後方向加速度算出部103b3は、最初に、加速度センサから出力された軸毎の加速度に基づいて、重力ベクトルGを算出する。
【0082】
図6は、重力G及び地磁気Mに対する方位の関係を表す説明図である。
【0083】
重力ベクトルG及び地磁気ベクトルMは、x軸、y軸及びz軸毎に、以下のように表される。尚、歩行中の携帯端末の姿勢は大凡一定であるとは限らないが、短時間に観測される地磁気データは、ほぼ一定となる。
重力ベクトルG :G=(gx、gy、gz
地磁気ベクトルM:M=(mx、my、mz
【0084】
最初に、重力ベクトルGを算出する。歩行時における携帯端末の重力方向は、加速度データを用いても、歩行毎に正確に決定することは困難である。そこで、所定時間範囲に検出された多数のx軸、y軸及びz軸の加速度データを用いて、これら各軸の加速度の和のベクトルの向きを、重力方向とみなす。
【0085】
i番目の各軸の加速度を、以下のように表す。
x軸の加速度:ACCx[i]
y軸の加速度:ACCy[i]
z軸の加速度:ACCz[i]
n個の加速度データの和は、以下のように表される。
ACCSx=Σi=1NACCx[i]
ACCSy=Σi=1NACCy[i]
ACCSz=Σi=1NACCz[i]
そして、重力ベクトルGは、以下のように表される。
G=(gx、gy、gz)=(ACCSx、ACCSy、ACCSz)
【0086】
(S2)次に、前後方向加速度算出部103b3は、加速度面の法線ベクトルVLR及び重力ベクトルGから、前向き又は後向きの前後方向ベクトルVFGを算出する。ここで、加速度面の法線ベクトルVLR及び重力ベクトルGと、前後方向ベクトルVFGとは、以下のような関係式で表される。
FG=VLR×G ×:クロス積
【0087】
前後方向ベクトルVFG向きの単位ベクトルを、以下のように表す。
FB=(eFBx,eFBy,eFBz
このとき、前後方向加速度AFGは、以下のように表される。
FG=eFGx×Ax+eFGy×Az+eFGz×Az
FGは、前向き又は後向きの加速度である。
【0088】
(S3)次に、前後方向加速度算出部103b3は、前後方向ベクトルVFG及び遊脚期の終了を示す加速度に基づいて、右向きベクトル(法線ベクトル)の向きを決定する。
前後方向ベクトルVFG:前向き -> 法線ベクトルVLR:右向き(+)
前後方向ベクトルVFG:後向き -> 法線ベクトルVLR:左向き(−)
【0089】
前向き又は後向きのいずれかは、遊脚期の終了を示す加速度の向きを「後」として決定できる。遊脚期における歩行者の足は、後から前へ運ばれる。従って、ズボンのポケットに挿入された携帯端末は、振り子状に円弧を描いて運動する。そのために、携帯端末が前方にあるとき、加速度は、前後方向の後向きに検出される。尚、3軸の中で、右/左向きベクトルUの向きに最も近い軸について、最小二乗法に基づいて加速度面を推定した場合には、右/左向きベクトルUと法線ベクトルVLRに基づいて、右/左向きベクトル(法線ベクトル)の向きを決定する。
【0090】
<進行方向算出部104>
進行方向算出部104は、右/左向きベクトルUと、重力ベクトルGと、地磁気ベクトルMとを用いて、進行方向を算出する。算出された進行方向は、表示制御部15へ出力される。具体的には、以下のS1〜S3のステップを有する。
【0091】
(S1)最初に、進行方向算出部104は、重力ベクトルG及び地磁気ベクトルMを用いて、G×M/|G×M|によって東向き単位ベクトルeEastを算出する。
【0092】
再び、図6を参照する。
【0093】
次に、例えばx軸、y軸、z軸が右手系であると想定すると、各向きの単位ベクトルは、以下のように表される。
北向き単位ベクトルeNorth:eNorth=(eNx、eNy、eNz)
東向き単位ベクトルeEast :eEast=(eEx、eEy、eEz)
下向き単位ベクトルeDown :eDown =(eDx、eDy、eDz)
また、加速度データは、以下のように表される。
A=(Ax、Ay、Az
【0094】
図6によれば、重力ベクトルG及び地磁気ベクトルMとした場合、各単位ベクトルは、以下のように表される。
北向き単位ベクトルeNorth:eNorth=G×M×G/|G×M×G|
東向き単位ベクトルeEast :eEast =G×M/|G×M|
下向き単位ベクトルeDown :eDown =G/|G|
×:クロス積(ベクトル積、外積)
【0095】
「G×M」(外積)とは、重力ベクトルGと地磁気ベクトルMとによって作られる平面に対して垂直な方向のベクトルを作る。重力ベクトルGの方向を向いて見ると、地磁気ベクトルMから見て時計回りの方向にG×Mが伸びる。地磁気ベクトルMは、南から北へ向いているので、その軸から時計回りに90度となる方向、即ち、G×Mは、「東」の方位を向く。
【0096】
また、「(G×M)×G」とは、東向きベクトルG×Mと重力ベクトルGとによって作られる平面に対して垂直な方向のベクトルを作る。東向きベクトルG×Mを向いて見ると、重力ベクトルから見て時計回りの方向に(G×M)×Gが伸びる。重力ベクトルは、上から下へ向いているので、その軸から時計回りに90度となる方向、即ち、(G×M)×Gは、「北」の方位を向く。
【0097】
尚、各向きの加速度ベクトルは、各向きの単位ベクトルeに対して加速度ベクトルAの内積をとることによって算出される。
北向き加速度 :AN=eNx×Ax+eNy×Ay+eNz×Az
東向き加速度 :AE=eEx×Ax+eEy×Ay+eEz×Az
鉛直下向き加速度:AD=eDx×Ax+eDy×Ay+eDz×Az
【0098】
(S2)次に、進行方向算出部104は、法線ベクトルにおける右向き単位ベクトルeRightと、東向き単位ベクトルeEastとの成す角αを算出する。2つのベクトルの成す角は、内積とノルム(ベクトルの大きさ)積から算出できる。東向き単位ベクトルeEast及び右向き単位ベクトルeRightから、両ベクトルの成す角αは、以下の式で表される。
α=arccos((eEast・eRight)/(|eEast||eRight|)) 式(9)
【0099】
(S3)そして、進行方向算出部104は、方位角θを求める。
【0100】
ここで、成す角αは、劣角である(0〜180度)。これに対し、求める方位角θは、0〜360度(北方位を0度とした時計回りの角度)であり、優角を含む。そのため、成す角を方位角に変換する。
【0101】
図7は、成す角と方位角の関係を表す説明図である。
【0102】
図7によれば、東向き単位ベクトルeEastと右向き単位ベクトルeRightの外積ベクトルeEast×eRightによれば、東向き単位ベクトルeEastに対する方向角θが180未満のとき、重力ベクトルと同一方向を示す。このとき、θ=αである。一方で、θが180度以上になるべきときには、eEast×eRightは、重力ベクトルと逆方向を示す。このとき、θ=360−αである。そのため、eEast×eRightと重力ベクトルGの成す角を求め(角度ではなく余弦でもよい)、その結果に基づいてαをθに変換する。
【0103】
東向き単位ベクトルeEastに対する方向角θは、eEast×eRightと重力ベクトルGとの成す角をβとを用いて、以下の式によって導出される。
cosβ≧0:θ=α
cosβ<0:θ=360−α
【0104】
以上、詳細に説明したように、本発明の携帯端末、プログラム及び方法によれば、歩行者が、携帯端末をズボンのポケットのような衣服に入れている場合であっても、その携帯端末に搭載された加速度センサ及び地磁気センサを用いて、歩行者の進行方向をできる限り正確に決定することができる。特に、携帯端末が、歩行者の下半身部分の衣服に身につけられた際に、歩行者の進行方向をできる限り決定することができる。
【0105】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0106】
1 携帯端末
10 進行方向決定部
101 遊脚期抽出部
102 指定数分加速度取得部
103 右/左向きベクトル推定部
103a 右/左向きベクトル算出部
103b1 鉛直方向加速度算出部
103b2 加速度面推定部
103b3 前後方向加速度算出部
104 進行方向算出部
11 加速度センサ
12 地磁気センサ
13 測位部
14 地図情報記憶部
15 表示制御部
16 ディスプレイ部

【特許請求の範囲】
【請求項1】
3軸の加速度データを出力する加速度センサと、3軸の地磁気データを出力する地磁気センサと、前記加速度データ及び前記地磁気データから歩行者の進行方向を決定する進行方向決定手段とを有し、歩行者によって所持される携帯端末であって、
前記進行方向決定手段は、
各軸加速度データと、全ての軸の加速度データの二乗和平方根となる合成加速度とを用いて、遊脚期の加速度データを抽出する遊脚期抽出手段と、
前記遊脚期の加速度データの中から、指定数分の加速度データを取得する指定数分加速度取得手段と、
指定数分の遊脚期の加速度データに基づいて、右/左向きベクトルUを算出する右/左向きベクトル算出手段と、
前記右/左向きベクトルUと、前記重力ベクトルGと、前記地磁気ベクトルMとを用いて、進行方向を算出する進行方向算出手段と
を有することを特徴とする携帯端末。
【請求項2】
前記遊脚期抽出手段は、
前記合成加速度から、連続する極大点を検出し、
連続する極大点と極大点との間における前記合成加速度の極小点について、合成加速度が「大」「小」と交互に続くことを検出し、
前記合成加速度「小」の前後の極大点間を、遊脚期として検出する
ことを特徴とする請求項1に記載の携帯端末。
【請求項3】
前記右/左向きベクトル算出手段は、前記遊脚期の終了を示す加速度ベクトルBと、前記遊脚期の開始を示す加速度ベクトルFとの外積(U=B×F(又はF×B))によって、右/左向きベクトルUを算出することを特徴とする請求項2に記載の携帯端末。
【請求項4】
前記右/左向きベクトル算出手段は、
指定数分の遊脚期の加速度データに基づいて、歩行者の歩行動作によって生じる加速度面を推定する加速度面推定手段と、
指定数分の遊脚期の加速度データから、鉛直方向加速度を算出する鉛直方向加速度算出手段と、
前記加速度面及び前記鉛直方向加速度から、当該加速度面における法線ベクトル(右/左向きベクトルU)と、前後方向加速度とを算出する前後方向加速度算出手段と
を有することを特徴とする請求項2に記載の携帯端末。
【請求項5】
前記前後方向加速度算出手段は、
前記加速度センサから出力された軸毎の加速度に基づいて、重力ベクトルGを算出し、
前記加速度面の法線ベクトルVLR及び前記重力ベクトルGから、前向き又は後向きの前後方向ベクトルVFGを算出し、
前記前後方向ベクトルVFG及び前記遊脚期の終了を示す加速度に基づいて、前記前後方向ベクトルVFGが前向きである場合、前記法線ベクトルVLRを右向きとし、前記前後方向ベクトルVFGが後向きである場合、前記法線ベクトルVLRを左向きとする
ことを特徴とする請求項4に記載の携帯端末。
【請求項6】
前記加速度面推定手段は、
指定数分加速度について、各軸の分散Vxx、Vyy及びVzzを算出し、
分散が最小となる軸について、最小二乗法に基づいて加速度面を推定する
ことを特徴とする請求項4又は5に記載の携帯端末。
【請求項7】
前記右/左向きベクトル算出手段は、前記遊脚期の終了を示す加速度ベクトルBと、前記遊脚期の開始を示す加速度ベクトルFとの外積(U=B×F(又はF×B))によって、右/左向きベクトルUを算出し、
前記加速度面推定手段は、3軸の中で、前記右/左向きベクトルUの方向に最も近い軸について、最小二乗法に基づいて加速度面を推定する
ことを特徴とする請求項4又は5に記載の携帯端末。
【請求項8】
前記進行方向算出手段は、
前記重力ベクトルG及び前記地磁気ベクトルMを用いて、G×M/|G×M|によって東向き単位ベクトルeEastを算出し、
前記右向き単位ベクトルeRightと、前記東向き単位ベクトルeEastとの成す角αを算出し、
前記東向き単位ベクトルeEastと前記右向き単位ベクトルeRightとの外積(eEast×eRight)と、重力ベクトルGとの成す角βに基づいて、前記東向き単位ベクトルeEastに対する方向角θを算出する
ことを特徴とする請求項1から7のいずれか1項に記載の携帯端末。
【請求項9】
前記進行方向算出手段について、
前記成す角αは、以下の式によって算出され、
α=arccos((eEast・eRight)/(|eEast||eRight|))
方位角θは、前記成す角αと、前記外積ベクトルと前記重力ベクトルGの成す角βとを用いて、以下の式によって導出される
cosβ≧0:θ=α
cosβ<0:θ=360−α
ことを特徴とする請求項8に記載の携帯端末。
【請求項10】
3軸の加速度データを出力する加速度センサと、3軸の地磁気データを出力する地磁気センサとを有する携帯端末に搭載されたコンピュータを、前記加速度データ及び前記地磁気データから歩行者の進行方向を決定する進行方向決定手段として機能させるプログラムであって、
前記進行方向決定手段は、
各軸加速度データと、全ての軸の加速度データの二乗和平方根となる合成加速度とを用いて、遊脚期の加速度データを抽出する遊脚期抽出手段と、
前記遊脚期の加速度データの中から、指定数分の加速度データを取得する指定数分加速度取得手段と、
指定数分の遊脚期の加速度データに基づいて、右/左向きベクトルUを算出する右/左向きベクトル算出手段と、
前記右/左向きベクトルUと、前記重力ベクトルGと、前記地磁気ベクトルMとを用いて、進行方向を算出する進行方向算出手段と
してコンピュータを機能させることを特徴とする携帯端末用のプログラム。
【請求項11】
3軸の加速度データを出力する加速度センサと、3軸の地磁気データを出力する地磁気センサとを有する携帯端末によって、前記加速度データ及び前記地磁気データから歩行者の進行方向を決定する進行方向決定方法であって、
各軸加速度データと、全ての軸の加速度データの二乗和平方根となる合成加速度とを用いて、遊脚期の加速度データを抽出する第1のステップと、
前記遊脚期の加速度データの中から、指定数分の加速度データを取得する第2のステップと、
指定数分の遊脚期の加速度データに基づいて、右/左向きベクトルUを算出する第3のステップと、
前記右/左向きベクトルUと、前記重力ベクトルGと、前記地磁気ベクトルMとを用いて、進行方向を算出する第4のステップと
を有することを特徴とする携帯端末の進行方向決定方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−168004(P2012−168004A)
【公開日】平成24年9月6日(2012.9.6)
【国際特許分類】
【出願番号】特願2011−28796(P2011−28796)
【出願日】平成23年2月14日(2011.2.14)
【出願人】(000208891)KDDI株式会社 (2,700)
【Fターム(参考)】