(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0028】
以下、本発明の好適な実施の形態について、添付の図面を参照しつつ、詳細に説明する。ただし、以下の説明において特に断らない限り、方向や向きに関する記述は、当該説明の便宜上、図面に対応するものであり、例えば実施品、製品または権利範囲等を限定するものではない。
【0029】
<1. 第1の実施の形態>
図1は、第1の実施の形態における端末装置1を示す図である。
図1に示すENU(East-North-Up)座標系は、端末装置1とは独立した座標系であり、かつ、「歩行者の動きと独立した座標系」である。ENU座標系では、東向きの軸をE軸、北向きの軸をN軸、鉛直方向上向きの軸をU軸と定義する。また、
図1に示すXYZ座標系は、端末装置1において定義された座標系(端末座標系)であり、本実施の形態においては、表示部13の画面の中心付近に原点が定義されている。ただし、本実施の形態では、相対的な位置関係に基づいて、進行方向や距離を演算するため、
図1に示す原点の位置は便宜上のものであり、他の位置に定義されてもよい。
【0030】
図1では、X軸がE軸に、Y軸がN軸に、Z軸がU軸にそれぞれ一致するように図示している。しかし、XYZ座標系とENU座標系との相対関係は、端末装置1の姿勢(例えば、歩行者による端末装置1の持ち方など)に応じて変化する。すなわち、本実施の形態においては、端末装置1は、歩行者に対して固定されない例として説明する。
【0031】
図2は、端末装置1のブロック図である。端末装置1は、CPU10と記憶装置11とを備えており、詳細は後述するが、端末装置1を携帯する者(以下、「歩行者」と称する。)の歩行動作における進行方向を推定する装置として構成されている。
【0032】
CPU10は、記憶装置11に格納されているプログラム110を読み取りつつ実行し、各種データの演算や制御信号の生成等を行う。これにより、CPU10は、端末装置1が備える各構成を制御するとともに、各種データを演算し作成する機能を有している。すなわち、端末装置1は、一般的なコンピュータとして構成されている。
【0033】
記憶装置11は、端末装置1において各種データを記憶する機能を提供する。言い換えれば、記憶装置11が端末装置1において電子的に固定された情報を保存する。特に、本実施の形態における記憶装置11は、プログラム110を記憶するために使用される。
【0034】
記憶装置11としては、CPU10の一時的なワーキングエリアとして使用されるRAMやバッファ、読み取り専用のROM、不揮発性のメモリ(例えばNANDメモリなど)、比較的大容量のデータを記憶するハードディスク、専用の読み取り装置に装着された可搬性の記憶媒体(CD−ROM、PCカード、SDカード、USBメモリなど)等が該当する。
図2においては、記憶装置11を、あたかも1つの構造物であるかのように図示している。しかし、通常、記憶装置11は、上記例示した各種装置(あるいは媒体)のうち、必要に応じて採用される複数種類の装置から構成されるものである。すなわち、記憶装置11は、データを記憶する機能を有する装置群の総称である。
【0035】
また、現実のCPU10は高速にアクセス可能なRAMを内部に備えた電子回路である。しかし、このようなCPU10が備える記憶装置も、説明の都合上、記憶装置11に含めて説明する。すなわち、本実施の形態においては、一時的にCPU10自体が記憶するデータも、記憶装置11が記憶するとして説明する。
【0036】
図2に示すように、端末装置1は、操作部12と表示部13とを備えている。
【0037】
操作部12は、操作者(歩行者)が端末装置1に様々な情報を入力するために操作されるハードウェアである。操作部12としては、各種ボタン類、キー、回転式セレクタ、あるいは、タッチパネルなどが該当する。
【0038】
表示部13は、各種情報を表示することにより出力する出力部としての機能を有している。すなわち、表示部13は、操作者が視覚によって知覚する状態で情報を出力するハードウェアである。表示部13としては、例えば、液晶パネル、液晶ディスプレイ、有機ELディスプレイ、ランプ、あるいは、LEDなどが該当する。
【0039】
さらに、端末装置1は、端末装置1自体の運動を観測するための装置群として、加速度センサ14、ジャイロセンサ15および磁気センサ16を備えている。加速度センサ14、ジャイロセンサ15および磁気センサ16は、いずれも端末装置1の内部に固定的に設けられている。したがって、端末装置1が歩行者に携帯されることによって、加速度センサ14、ジャイロセンサ15および磁気センサ16は、いずれも当該歩行者に付随した状態となる。また、端末装置1において定義されたXYZ座標系は、加速度センサ14、ジャイロセンサ15および磁気センサ16が端末装置1の内部に固設されることにより、これらのセンサに対して定義された座標系となる。
【0040】
なお、詳細は後述するが、端末装置1は、これらの装置群から得られた情報に基づいて、当該端末装置1を携帯する歩行者の歩行動作を間接的に観測するものである。すなわち、第1の実施の形態における端末装置1は、本発明に係る歩行者観測システムを構成している。
【0041】
加速度センサ14は、端末装置1における加速度を検出して、加速度情報140を取得する。加速度センサ14は、端末装置1について定義されたXYZ座標系に従って表現された出力値を加速度情報140として作成する。
【0042】
ジャイロセンサ15は、端末装置1における角速度を測定して角速度情報150を取得する。本実施の形態におけるジャイロセンサ15は、いわゆる3軸のジャイロセンサとして構成されており、互いに垂直な3つの軸(X,Y,Z軸)方向回りの角速度を測定し、当該測定値を角速度情報150として出力する。
【0043】
磁気センサ16は、地磁気を検出して、地磁気情報160を取得する。地磁気情報160は、方位を決定するために使用される情報である。なお、本実施の形態における端末装置1において、磁気センサ16により取得される地磁気情報160を補正する従来の技術を適宜採用して、地磁気情報160の精度を向上させてもよい。
【0044】
なお、端末装置1は、
図2に示した構成以外にも、例えば、スピーカやマイク、カメラ、通信部、カードスロット、各種コネクタなどを備えていてもよい。
【0045】
図3は、端末装置1が備える機能ブロックをデータの流れとともに示す図である。
図3に示す姿勢推定部100、ピーク検出部101、ピーク解析部106、進行方向推定部107および加速度情報調整部108は、CPU10がプログラム110に従って動作することにより実現される機能ブロックである。
【0046】
なお、本実施の形態では、説明の便宜上、端末装置1が備える機能ブロックをいずれもソフトウェアにより実現する例で説明する。しかし、現実には、当該機能ブロックのうちの一部または全部をハードウェア(チップ化)により実現し、処理速度を向上して、リアルタイム性を向上させることが好ましい。すなわち、機能ブロックのうちのいずれを専用の論理回路等のハードウェアにより実現し、いずれをソフトウェアにより実現するかは、コストや装置サイズ、要求される処理速度等に応じて、適宜、選択可能な事項である。
【0047】
姿勢推定部100は、歩行者の動きと独立したENU座標系に対する端末装置1の姿勢を示す姿勢情報111を実質的に実時間で取得する。本実施の形態における姿勢推定部100は、加速度センサ14、ジャイロセンサ15および磁気センサ16の出力値(加速度情報140、角速度情報150および地磁気情報160)をカルマンフィルタで複合的に処理して、端末装置1の現在の姿勢(ENU座標系とXYZ座標系との相対関係)を示す姿勢情報111を演算することにより取得する。
【0048】
姿勢推定部100が姿勢情報111を取得する方法については、従来の様々な技術を適宜採用することが可能であるため、ここでは詳細な説明を省略する。ただし、歩行者の動きと独立した座標系に対する端末装置1の姿勢を示す姿勢情報111を取得することができるのであれば、本実施の形態に示す方法に限定されるものではなく、例えば、カメラによって周囲の環境を撮像した画像を解析して用いる方法や、超音波や赤外線を用いて周囲を観測する方法、GPS信号を用いる方法、あるいは複数の手法を組み合わせて相互補完する方法なども想定される。
【0049】
また、ここで「実質的に実時間で」とは、歩行者の進行方向を推定するにあたって、無視できる程度の間隔あるいは遅延で取得される場合を含む意味である。姿勢推定部100は、すでに説明したように、加速度センサ14、ジャイロセンサ15および磁気センサ16の出力値に基づいて、姿勢情報111を求める。そして、これらのセンサは、所定のセンシング間隔(測定間隔)で各出力値を出力するため、厳密な意味で連続して測定し続けることはできない。したがって、姿勢情報111は少なくともセンシング間隔に応じた間隔ごとにしか取得することはできない。また、出力値が得られてから姿勢情報111を演算により求めるため、演算時間に応じた遅延も生じる。しかし、これらの間隔および遅延が、歩行者(人)の歩行動作の特性に鑑みて十分に短い場合には、姿勢情報111は「実質的に実時間」で取得されているとみなすことができる。なお、具体的に、どの程度の間隔および遅延で姿勢情報111が取得されれば、「無視できる程度」に該当するかは、最終的に推定された進行方向(進行方向情報117)を使用するアプリケーションなどに応じて異なるものであり、一概に決定することはできない。
【0050】
ピーク検出部101は、加速度センサ14により取得された加速度情報140と姿勢推定部100により取得された姿勢情報111とに基づいて、ピーク情報114を取得するとともに、歩行者の蹴り足に関する蹴り足情報115を取得する。
【0051】
なお、ピーク情報114については後述する。
【0052】
また、蹴り足情報115は、歩行者の蹴り足が切り替わった時間を示す情報であり、当該蹴り足が切り替わるタイミングを示す情報である。ただし、進行方向を推定するためには、左右の足による移動ベクトルの合成となるため、本実施の形態において蹴り足情報115は、左右いずれの足が蹴り出されているかを示す情報までを含む必要はない。以後の説明では、左右の足を特定しない蹴り足の呼称として、「第1足」および「第2足」という呼称を用いる。すなわち、第1足は左右いずれの足でもよいが、第2足とは異なる方の足である。
【0053】
本実施の形態におけるピーク検出部101は、
図3に示すように、座標変換部102、LPF処理部103、鉛直方向検出部104および水平方向検出部105を備えている。
【0054】
座標変換部102は、姿勢推定部100により取得された姿勢情報111に基づいて、加速度センサ14により取得された加速度情報140を、ENU座標系に座標変換して変換済み加速度情報112を取得する。すなわち、座標変換部102は、加速度センサ14の出力を、姿勢推定部100からの入力に従って変換し、変換済み加速度情報112を出力する。
【0055】
このように、加速度情報140を歩行者の歩行動作の観測が安定する座標系(本実施の形態における例では、ENU座標系。)に予め変換して変換済み加速度情報112とすることにより、歩行者の歩行動作や閲覧動作等によって端末装置1が回転させられることによるノイズを抑制することができる。
【0056】
LPF処理部103は、座標変換部102により取得された変換済み加速度情報112から低周波成分を抽出して、検出用加速度情報113を取得する。すなわち、LPF処理部103は、座標変換部102の出力に対するローパスフィルターとして機能し、検出用加速度情報113を出力する。
【0057】
このように、高周波成分が除去されることにより、人の動作(歩行動作)に無関係なノイズ等を除去することができるため、演算(推定)精度が向上する。なお、本実施の形態では、LPF処理部103によるカッティング周波数は、およそ5ないし10[Hz]である。ただし、カッティング周波数はこれに限定されるものではなく、歩行者の歩行動作の特性などに応じて、適宜、決定されることが好ましい。
【0058】
鉛直方向検出部104は、LPF処理部103からの出力である検出用加速度情報113を参照し、U軸方向(鉛直方向)の加速度成分(以下、「α
U」と表す。)の極大値と極小値とを検出する。そして、当該極大値と極小値とが検出された時間をそれぞれピーク情報114として格納する。すなわち、ピーク情報114には、端末装置1が運動したときの鉛直方向の加速度の極大値および極小値が観測されたタイミングが記録される。すなわち、ピーク情報114は、本発明における鉛直方向ピーク情報を含む。なお、このとき、本実施の形態では、極大値および極小値そのものは記録されないが、もちろんこれらの情報をピーク情報114に記録してもよい。
【0059】
また、鉛直方向検出部104は、U軸方向(鉛直方向)の加速度成分α
Uの極大値が検出されるごとに、歩行者の蹴り出している足が切り替わったとみなして、当該タイミングを蹴り足情報115として記録する。
【0060】
人の歩行動作において、蹴り出している足の蹴りだし方向がおよその進行方向となる。したがって、進行方向は、通常、歩行者の蹴り出している足ごとに変化するとみなせる。より詳細には、進行方向は、歩行者の蹴りだしている足が切り替わるごとに、およそジグザグ方向となるように変化する。すなわち、蹴り足情報115を参照することにより、人の歩行動作における進行方向を切り替えるべきタイミングを決定することができる。
【0061】
水平方向検出部105は、LPF処理部103からの出力である検出用加速度情報113を参照しつつ、E軸方向の加速度成分(以下、「α
E」と表す。)と、N軸方向の加速度成分(以下、「α
N」と表す。)とを合成し、水平面におけるパワー(以下、「PW」と表す。)を式1により演算する。
【0063】
そして、水平方向検出部105は、演算した水平面におけるパワーPWの極大値を検出し、当該極大値と、当該極大値を検出したときのE軸方向の加速度成分α
EおよびN軸方向の加速度成分α
Nをピーク情報114に格納する。このとき、水平方向検出部105は、当該極大値が検出された時間についてもピーク情報114に格納する。
【0064】
このように、ピーク情報114は、パワーPWの極大値が検出された時間と、このときのパワーPWの値(極大値)と、パワーPWの極大値が検出されたときの加速度成分α
E,α
Nとを含む情報である。すなわち、ピーク情報114は、本発明における水平方向ピーク情報を含んでいる。
【0065】
ピーク解析部106は、鉛直方向検出部104により取得された鉛直方向ピーク情報に基づいて、水平方向検出部105により取得された水平方向ピーク情報に含まれるパワーの極大値に関する情報を取捨選択して、推定用ピーク情報116を取得する。
【0066】
また、ピーク解析部106は、ピーク検出部101により取得されたピーク情報114と蹴り足情報115とに基づいて推定用ピーク情報116を取得する。推定用ピーク情報116を作成する具体的な手法については後述する。
【0067】
進行方向推定部107は、ピーク解析部106により取得された推定用ピーク情報116に基づいて、歩行者の進行方向を示す進行方向情報117を演算する。本実施の形態における進行方向情報117(歩行者の進行方向)は、例えば、ENU座標系のE軸に対する位相角として求められる。すなわち、進行方向情報117を求めることによって、歩行者の進行方向の方位を決定することができる。
【0068】
加速度情報調整部108は、進行方向情報117に基づいて、検出用加速度情報113を変換し、調整済み加速度情報118を取得する。
【0069】
ここで、加速度情報調整部108が、調整済み加速度情報118を取得する意味について説明する。
【0070】
図4は、人の歩行動作における加速度の典型的なパターンを示す図である。
図4では、横軸を時間軸として、鉛直方向の加速度成分の推移と、当該歩行動作における進行方向の加速度成分の推移とを示している。
【0071】
PDR(Pedestrian Dead Reckoning)などにおいて、歩行者の歩行動作を正確に解析するためには、
図4に示すように、当該歩行動作における鉛直方向の加速度成分と進行方向の加速度成分とを得ることが好ましい。そして、これらの加速度成分を取得するために、加速度センサが設けられる。
【0072】
しかし、一般的な加速度センサは、独自に定義された座標系(端末座標系。本実施の形態におけるXYZ座標系。)に従った出力値を出力するように設計されている。したがって、加速度センサの出力値(端末座標系に従った出力値)から、鉛直方向の加速度成分と、歩行者の進行方向の加速度成分とを抽出する必要がある。
【0073】
このような抽出(変換)を精度よく実現するためには、端末座標系と、鉛直方向および進行方向との相対関係(回転角)を高精度に推定する必要がある。当該相対関係が推定できれば、これを用いて、端末座標系に従った出力値(加速度センサの出力値)から、鉛直方向の加速度成分と、歩行者の進行方向の加速度成分とを求めることができる。
【0074】
鉛直方向については、例えば、定常的に観測される重力加速度に基づいて比較的容易に推定することが可能である。すなわち、端末座標系と鉛直方向との相対関係は、従来技術によって比較的正確に求めることが可能である。
【0075】
進行方向についても、これを推定する技術はすでに提案されている(例えば、特許文献1ないし6)。しかし、これらの従来技術は、すでに述べたように、未だ問題も多い技術である。したがって、歩行者の進行方向を精度よく推定することは、これらの技術を適用したとしても困難を伴うものである。
【0076】
加速度情報調整部108は、加速度センサ14の出力値である加速度情報140(本実施の形態では、加速度情報140をさらに好適に処理した検出用加速度情報113)を、推定した進行方向(進行方向情報117)に基づいて変換し、調整済み加速度情報118を得るものである。これにより、現実に歩行者が歩行動作中であるときの調整済み加速度情報118は、
図4に示す典型的なパターンとなることが期待される。したがって、調整済み加速度情報118を解析することにより、歩行者が歩行動作中であるか否かの判定はもちろん、その他、歩行動作の解析を正確に行うことができる。
【0077】
なお、本実施の形態における加速度情報調整部108は、鉛直方向の加速度成分については抽出処理を行わない。これは、本実施の形態においては、すでに説明した座標変換部102によって、加速度情報140から鉛直方向の加速度成分をすでに抽出して、変換済み加速度情報112が作成され、当該変換済み加速度情報112の座標系を変換することなく、検出用加速度情報113が作成されるからである。このように、検出用加速度情報113は、すでに鉛直方向の加速度成分についての抽出が完了した情報であるため、加速度情報調整部108による鉛直方向の加速度成分の抽出は必要ないのである。
【0078】
以上が、第1の実施の形態における端末装置1の構成および機能の説明である。次に、端末装置1を用いて、歩行者の進行方向を推定する方法について説明する。
【0079】
図5は、端末装置1における進行方向推定処理を示す流れ図である。
【0080】
第1の実施の形態における端末装置1は、電源が投入され起動されると、所定の初期設定を実行した後に、
図5に示す進行方向推定処理を開始する。なお、特に断らない限り、
図5に示す進行方向推定処理は、CPU10がプログラム110に従って動作することにより、端末装置1の各構成が制御され、実現される。
【0081】
進行方向推定処理を開始すると、CPU10は、測定タイミングの到来と、推定タイミングの到来とを監視しつつ(ステップS1,S8)、鉛直方向のピーク検出処理(ステップS6)と、水平方向のピーク検出処理(ステップS7)とを実行する状態となる。以下、この状態を「通常状態」と称する。
【0082】
なお、通常状態において、端末装置1(CPU10)は、他の状態を監視したり、他の処理を実行していてもよい。例えば、通常状態において、上記タイミングを監視するとともに、他のアプリケーションが起動され、当該アプリケーションに必要な処理が適宜実行されていてもよい。
【0083】
測定タイミングとは、端末装置1に搭載されている各センサ(加速度センサ14、ジャイロセンサ15および磁気センサ16)によって、それぞれの測定対象について、測定を行うタイミングである。本実施の形態(
図5)では、便宜上、各センサの測定タイミングを共通のタイミングとして説明するが、これらの測定タイミングは個々に異なっていてもよい。また、測定タイミングは、リアルタイム性を向上させるためには、歩行動作の特性に鑑みて、十分に短い間隔で到来するようにその周期を設定することが好ましい。
【0084】
また、推定タイミングとは、進行方向を推定して、進行方向情報117を作成するタイミングである。
【0085】
通常状態において、測定タイミングが到来すると、CPU10はステップS1においてYesと判定し、測定処理を実行する(ステップS2)。測定処理とは、加速度センサ14、ジャイロセンサ15および磁気センサ16にそれぞれ加速度、角速度および地磁気を測定させる処理である。ステップS2が実行されることにより、加速度情報140、角速度情報150および地磁気情報160が取得される。すなわち、ステップS2が実行されるたびに、加速度情報140にそのときの加速度センサ14の出力値が記録され、角速度情報150にそのときのジャイロセンサ15の出力値が記録され、地磁気情報160にそのときの磁気センサ16の出力値が記録される。
【0086】
ステップS2が実行されて、加速度情報140、角速度情報150および地磁気情報160が新たに測定された値によって更新されると、次に、CPU10(姿勢推定部100)は、端末装置1の姿勢を推定する(ステップS3)。
【0087】
ステップS3では、ステップS2において、加速度センサ14、ジャイロセンサ15および磁気センサ16によって測定された値に基づいて、姿勢推定部100が端末装置1の姿勢を推定しなおして、姿勢情報111を作成する。すでに説明したように、本実施の形態において、端末装置1の姿勢を推定する処理は、例えば、従来の技術を適宜採用することができるため、詳細な説明は省略する。
【0088】
また、本実施の形態では、
図5から明らかなように、ステップS2が実行されるたびにステップS3が実行される。すなわち、各センサによって新たな測定値が得られるたびに、姿勢推定部100が新たに端末装置1の姿勢を推定することになる。しかし、必ずしも新たな測定値が得られるたびに、新たに姿勢を推定しなおさなければならないわけではない。例えば、所定回数分の測定値が得られるごとにステップS3を実行してもよい。あるいは、新たに得られた測定値に基づいて、端末装置1の姿勢が変化したとみなせる場合にのみ、ステップS3を実行してもよい。
【0089】
新たに姿勢情報111が求まると、座標変換部102が、当該新たに求まった姿勢情報111に基づいて加速度情報140を変換(座標変換)し、変換済み加速度情報112を作成する(ステップS4)。これにより、加速度情報140(XYZ座標系)がENU座標系に変換され、変換済み加速度情報112が作成される。
【0090】
次に、LPF処理部103が、変換済み加速度情報112から高周波成分を除去して、検出用加速度情報113を作成する(ステップS5)。
【0091】
このようにして、端末装置1は、測定処理(ステップS2)により得られた加速度情報140から検出用加速度情報113を作成する。これにより、加速度情報140は、歩行動作の観測に適したENU座標系に変換され、かつ、端末装置1の回転によるノイズが除去されて検出用加速度情報113となる。なお、検出用加速度情報113を作成すると、端末装置1は、通常状態に戻る。
【0092】
次に、通常状態において実行される鉛直方向のピーク検出処理(ステップS6)について説明する。
【0093】
図6は、第1の実施の形態における端末装置1が実行する鉛直方向のピーク検出処理を示す流れ図である。
【0094】
鉛直方向のピーク検出処理が開始されると、まず、鉛直方向検出部104が、検出用加速度情報113を参照しつつ、検出用加速度情報113に含まれる鉛直方向の加速度成分α
Uに対してピーク(極大値または極小値)を検出する(ステップS21)。以下、ステップS21で検出されるピークを「P
n」とする。nは、n回目に検出されたピークであることを示す添え字であり、1以上の自然数である。また、P
0は、予め設定される定数であり、適宜決定することができる。
【0095】
ステップS21において、鉛直方向検出部104は、ピークP
nを検出すると、当該ピークP
nが極大値であるか否かを判定する(ステップS22)。
【0096】
ピークP
nが極小値であった場合(ステップS22においてNoの場合)、さらに直前に検出されたピークP
n-1が極大値であったかを判定する(ステップS23)。
【0097】
ステップS23においてYesと判定すると、鉛直方向検出部104は、ステップS25(後述)を実行する。ステップS23においてYesと判定される場合とは、新たに検出されたピークP
nが極小値であり、かつ、直前に検出されたピークP
n-1が極大値であったことを意味する。すなわち、極小値の次に極大値が検出されたことを意味する(ただし、発生した順序としては、極大値が先で極小値が後。)。この場合、鉛直方向検出部104は、ステップS25を実行する。
【0098】
ステップS22においてピークP
nが極大値であった場合(ステップS22においてYesの場合)、さらに直前に検出されたピークP
n-1が極大値であったかを判定する(ステップS24)。
【0099】
ステップS24においてNoと判定すると、鉛直方向検出部104はステップS25(後述)を実行する。ステップS24においてNoと判定される場合とは、新たに検出されたピークP
nが極大値であり、かつ、直前に検出されたピークP
n-1が極小値であったことを意味する。すなわち、極大値の次に極小値が検出されたことを意味する(ただし、発生した順序としては、極小値が先で極大値が後。)。この場合、鉛直方向検出部104はステップS25を実行する。
【0100】
このように、ステップS22,S23,S24が実行されることにより、ステップS25は、極大値と極小値とが交互に検出された場合に実行される処理となる。
【0101】
極大値と極小値とが交互に検出された場合、鉛直方向検出部104は、加速度成分α
Uの振幅が閾値Qより大きいか否かを判定する(ステップS25)。なお、閾値Qは、初期値が予め設定される。詳細な説明は省略するが、本実施の形態では、例えば、検出された鉛直方向の加速度成分α
Uの振幅の一定割合として動的に閾値Qの適正値を演算しつつ、更新する。
【0102】
当該振幅が閾値Q以下であれば(ステップS25においてNo。)、新たに検出されたピークP
nをピークとして採用せずに、ステップS26ないしS30をスキップして、
図5に示す処理に戻る。この場合、nはインクリメントされない(ステップS30は実行されない)。
【0103】
一方、当該振幅が閾値Qより大きい場合(ステップS25においてYes。)、鉛直方向検出部104は、ピークP
nを検出した時間(タイミング)を、ピークP
nが極大値であるか否かに関わらず、ピーク情報114として記録する(ステップS26)。これにより、今回検出されたピークP
nが、ピークとして採用される。
【0104】
なお、ステップS26において取得されるピーク情報114は、鉛直方向検出部104によって取得された、鉛直方向の加速度成分α
Uの極大値および極小値を観測した時間を示す情報となる。したがって、ピーク情報114は、本発明における鉛直方向ピーク情報に相当する情報を含む情報である。以下の説明では、鉛直方向の加速度成分α
Uの極大値を観測した時間を「T
max」と称し、鉛直方向の加速度成分α
Uの極小値を観測した時間を「T
min」と称する。
【0105】
ステップS26を実行すると、鉛直方向検出部104は、ピークP
nが極大値か否かを判定する(ステップS27)。
【0106】
ピークP
nが極小値の場合(ステップS27においてNo。)は、鉛直方向検出部104は、ステップS28,S29をスキップして、nをインクリメントし(ステップS30)、鉛直方向のピーク検出処理を終了して、
図5に示す処理に戻る。すなわち、ピークP
nが極小値の場合には、当該ピークP
nを検出したタイミングが蹴り足情報115として記録されることはなく、また、ピーク解析処理(ステップS29)も実行されない。
【0107】
一方、ピークP
nが極大値である場合(ステップS27においてYes。)、鉛直方向検出部104は、当該ピークP
nを検出した時間(タイミング)を、歩行者の蹴り足が切り替わったタイミングとみなして、蹴り足情報115として記録する(ステップS28)。
【0108】
また、ステップS28を実行すると、ピーク解析部106は、ピーク解析処理(ステップS29)を実行する。ステップS29のピーク解析処理については後述するが、ピーク解析処理は、ピークP
n(鉛直方向の加速度成分α
Uの極大値)が検出される度に、ピークP
n-1(直前に検出されたピーク)について解析を行う処理である。
【0109】
ステップS29を実行すると、鉛直方向検出部104は、nをインクリメントし(ステップS30)、鉛直方向のピーク検出処理を終了して、
図5に示す処理に戻る。
【0110】
次に、
図6において、鉛直方向検出部104が、ステップS23においてNoと判定した場合、または、ステップS24においてYesと判定した場合について説明する。
【0111】
ステップS23においてNoと判定される場合とは、新たに検出されたピークP
nが極小値であり、かつ、直前に検出されたピークP
n-1が極小値であったことを意味する。すなわち、極小値が連続して検出されたことを意味する。通常、ピーク検出において極小値が連続して検出されることはない。しかし、本実施の形態では、状況に応じて(例えば、ステップS25においてNoと判定した場合など)、検出したピークをピークとして採用しない場合がある。そのため、極小値の後に検出された極大値が不採用になった場合などにおいて、見かけ上、極小値が連続して検出される場合が起こりうる。その場合、鉛直方向検出部104はステップS31(後述)を実行する。
【0112】
また、ステップS24においてYesと判定される場合とは、新たに検出されたピークP
nが極大値であり、かつ、直前に検出されたピークP
n-1が極大値であったことを意味する。すなわち、極大値が連続して検出されたことを意味する。通常、ピーク検出において極大値が連続して検出されることはない。しかし、本実施の形態では、先述のように、状況に応じて、検出したピークをピークとして採用しない場合がある。そのため、極大値の後に検出された極小値が不採用になった場合などにおいて、見かけ上、極大値が連続して検出される場合が起こりうる。この場合にも、鉛直方向検出部104は、ステップS31を実行する。
【0113】
このように、ステップS22,S23,S24が実行されることにより、ステップS31は、極大値が連続(または極小値が連続)して検出された場合に実行される処理となる。
【0114】
極大値が連続(または極小値が連続)して検出された場合、鉛直方向検出部104は、今回検出されたピークP
nの絶対値と、直前に検出されたピークP
n-1の絶対値とを比較して、今回検出されたピークP
nの絶対値の方が大きいか否かを判定する(ステップS31)。
【0115】
検出されたピークP
nの絶対値の方が大きい場合(ステップS31においてYes。)、鉛直方向検出部104は、すでに蹴り足情報115およびピーク情報114に記録されているピークP
n-1に関する記録を、今回検出されたピークP
nに関する情報によって上書きする(ステップS32)。すなわち、ピーク情報114におけるピークP
n-1を検出したタイミングを、ピークP
nを検出したタイミングに書き換える。また、ピークP
nが極大値の場合(この場合、ピークP
n-1も極大値である。)には、蹴り足情報115におけるピークP
n-1を検出したタイミングを、ピークP
nを検出したタイミングに書き換える。ただし、ピークP
n-1についてのピーク解析処理は未だ実行されていないので、これを修正する必要はない。
【0116】
ステップS31においてYesと判定される場合とは、極大値が連続(または極小値が連続)して検出された場合(ステップS31が実行される場合)であって、かつ、今回検出されたピークP
nの絶対値の方が直前に検出されたピークP
n-1の絶対値よりも大きい場合である。このような場合とは、今回検出されたピークP
nの方が直前に検出されたピークP
n-1よりもピークとしてふさわしいことを意味する。したがって、ステップS31においてYesと判定した場合、鉛直方向検出部104は、直前に検出されたピークP
n-1をピークとして不採用にするため、ステップS32を実行する。なお、ステップS32を実行すると、鉛直方向検出部104は、鉛直方向のピーク検出処理を終了して、
図5に示す処理に戻る。
【0117】
一方、ステップS31においてNoと判定される場合とは、極大値が連続(または極小値が連続)して検出された場合(ステップS31が実行される場合)であって、かつ、直前に検出されたピークP
n-1の絶対値が今回検出されたピークP
nの絶対値以上の場合である。このような場合とは、記録しておくピークとして、直前に検出されたピークP
n-1の方が今回検出されたピークP
nよりもふさわしいことを意味する。したがって、ステップS31においてNoと判定した場合、鉛直方向検出部104は、今回検出されたピークP
nに関する記録を残すことなく、鉛直方向のピーク検出処理を終了して、
図5に示す処理に戻る。
【0118】
このように、極大値が連続(または極小値が連続)して検出された場合には、ステップS32が実行されて直前に検出されたピークP
n-1が不採用(記録抹消)となるか、または、今回検出されたピークP
nが不採用(記録されない)となるかのいずれかとなる。すなわち、ピークP
n-1、または、ピークP
nのいずれか一方しか記録として残らないことになる。これにより、ピーク情報114において、鉛直方向の加速度成分α
Uの極大値および極小値は、必ず交互に記録されることになる。
【0119】
次に、通常状態において実行される水平方向のピーク検出処理(ステップS7)について説明する。
【0120】
図7は、第1の実施の形態における端末装置1が実行する水平方向のピーク検出処理を示す流れ図である。
【0121】
水平方向のピーク検出処理を開始すると、水平方向検出部105は、検出用加速度情報113を参照し、当該検出用加速度情報113に示されている加速度成分α
E,α
Nに基づいて、水平面における加速度のパワーPWを、式1に従って演算する(ステップS41)。すなわち、水平方向検出部105は、ステップS41において、鉛直方向に垂直な第1方向(E軸方向)の加速度成分(加速度成分α
E)と、鉛直方向および第1方向に垂直な第2方向(N軸方向)の加速度成分(加速度成分α
N)とに基づいて、水平面における加速度のパワーPWを求める。
【0122】
図8は、横軸を時間として、加速度成分α
E,α
Nと、水平面における加速度のパワーPWとを例示する図である。ただし、
図8において、見やすさを考慮して、パワーPWについては、正負を反転して図示している。
【0123】
図8に例示する水平方向の加速度成分α
E,α
Nに基づいてステップS41を実行すると、
図8に例示するパワーPW(ただし、
図8では正負が反転している。)が求まる。
【0124】
パワーPWが求まると、水平方向検出部105は、求めたパワーPWについてピーク(パワーピーク)を検出する(ステップS42)。
【0125】
ステップS42のピークを検出する処理では、所定の時間内(前回の検出タイミングからの経過時間内)に存在するパワーPWの極大値および極小値が検出される。すなわち、極大値のみならず、極小値も検出される。しかし、本実施の形態において、進行方向を推定するに際して、水平方向に関しては、パワーPWの極大値のみが問題となる。したがって、水平方向検出部105は、ステップS42において検出された各パワーピークが、極大値か否かを判定する(ステップS43)。
【0126】
検出されたパワーピークが極大値の場合(ステップS43においてYes。)、さらに、当該検出したパワーピークが閾値Rより大きいか否かを判定する(ステップS44)。
【0127】
検出したパワーピークが閾値Rより大きい場合(ステップS44においてYes。)、水平方向検出部105は、当該パワーピークが検出された時間(タイミング)と、ピークの値と、当該パワーピークが検出されたときの加速度成分α
E,α
Nとをピーク情報114として記録する(ステップS45)。
【0128】
これにより、ピーク情報114には、パワーPWの極大値を観測した時間と、当該パワーの極大値を観測したときの第1方向(N軸方向)の加速度成分と、当該パワーの極大値を観測したときの第2方向(E軸方向)の加速度成分とが含まれることになる。すなわち、ピーク情報114は、本発明における水平方向ピーク情報に相当する情報を含む情報である。
【0129】
なお、本実施の形態におけるピーク情報114には、パワーピークの値(極大値となったときのパワーPW)も含まれている。しかし、パワーピークの値は、ピーク情報114として記憶せずに、ピーク情報114に含まれている加速度成分α
E,α
Nに基づいて、必要となるたびに式1により演算しなおしてもよい。また、閾値Rは、初期値が予め設定されているものとする。そして、本実施の形態では、例えば、検出された水平面におけるパワーピークの一定割合として、動的に閾値Rの適正値を演算しつつ、更新する。
【0130】
ステップS44において、検出したパワーピークが閾値R以下の場合、水平方向検出部105は、ステップS45をスキップする。すなわち、当該パワーピークに関する情報をピーク情報114に記録することはない。
【0131】
一方、ステップS43において、検出されたパワーピークが極小値の場合、水平方向検出部105は、ステップS44,S45をスキップする。すなわち、水平方向のパワーPWについて、極小値に関する情報は、ピーク情報114に記録されることはない。
【0132】
1つのパワーピークについて処理を終了すると、水平方向検出部105は、ステップS42において検出した全てのピークについて処理を終了したか否かを判定する(ステップS46)。そして、未だ処理していないピークが存在する場合(ステップS46においてNo。)、ステップS43に戻って、未処理のピークについて処理を繰り返す。
【0133】
このように、水平方向のピーク検出処理が実行されることにより、
図8に示す例については、四角で囲まれたところに存在するピーク(反転しているので極小値に見えるが実際は極大値)と、丸で囲まれたところに存在するピーク(反転しているので極小値に見えるが実際は極大値)とに関する情報が、ピーク情報114に記録されることになる。
【0134】
ステップS42において検出した全てのピークについて処理を終了した場合(ステップS46においてYes。)、水平方向検出部105は、水平方向のピーク検出処理を終了して、
図5に示す処理に戻る。
【0135】
ここまでの説明で、ピーク情報114および蹴り足情報115がどのように作成され、どのような情報であるかが明らかになったので、
図6に示すピーク解析処理(ステップS29)について説明する。
【0136】
図9は、ピーク解析処理を示す流れ図である。なお、すでに説明したが、ピーク解析処理は、ピークP
n(鉛直方向の加速度成分α
Uの極大値)が検出される度に、ピークP
n-1(直前に検出されたピーク)について解析を行う処理である。
【0137】
ピーク解析処理を開始すると、ピーク解析部106は、ピーク情報114を参照して、ピークP
n-2についての検出時間(ピークP
n-2は極大値なので「T
max」)と、ピークP
n-1についての検出時間(ピークP
n-1は極小値なので「T
min」)とを取得する(ステップS51)。
【0138】
次に、ピーク解析部106は、式2および式3を実行して、境界時間b
0,b
1を求める(ステップS52)。
【0141】
ただし、式2および式3におけるA,Bはいずれも任意の係数である。
【0142】
境界時間b
0,b
1が求まると、ピーク解析部106は、ピーク情報114を参照して、境界時間b
0から境界時間b
1の間(探索期間)に検出された水平面におけるパワーPWのピークの最大値を適切なパワーピークとして探索する(ステップS53)。
【0143】
図10は、適切なパワーピークを探索する様子を概念的に示す図である。
【0144】
ステップS51においてピーク情報114から取得した「T
max」および「T
min」から、ステップS52が実行されて境界時間b
0,b
1が求まり、ピーク情報114内でのパワーピークを探索する期間(探索期間)が決まる。探索期間が決まると、すでに検出されてピーク情報114に記録されている水平面におけるパワーPWのピークのうち、当該探索期間内に存在するものが決定される。
【0145】
もし、このとき、探索期間内に複数のピークが発見されれば、それらのうちのピーク値を比較して、最大のものを決定する。すなわち、ピーク情報114に含まれるパワーPWの値(ピーク値)は、探索期間内に複数のピークが発見されたときに最大のものを探索するために参照される。
【0146】
これにより、ピーク情報114から、水平面における適切なパワーピークとして、
図10において星印を付けたところのピークが抽出される。このようにして、適切なパワーピークとして探索(抽出)されるパワーピークは、
図8において丸印で囲まれたところに存在するパワーピークである。逆に、
図8において四角で囲まれたところに存在するパワーピークは、その後も、探索期間に含まれることがなく、抽出されない。
【0147】
図8において、四角で囲まれたところに存在するパワーピークは、水平方向の速度の加速方向のピークと考えられる。人の歩行動作において、加速時は蹴り出し足からの様々なノイズの影響を受ける。したがって、加速方向のピーク時においては、進行方向の信頼性が低い可能性が高い。一方で、減速時は歩行動作に関して自然発生的な減速状態となるため、減速方向のピークにおける進行方向の信頼性は高いと期待できる。これにより、PDRにおける進行方向の推定には、加速時のピークは考慮しない。したがって、本実施の形態では、ピーク解析処理によって、このようなピークを除外する。
【0148】
ステップS53によってパワーピークが抽出されると、当該パワーピークが検出された時間における蹴り足を蹴り足情報115から特定して、当該蹴り足(第1足または第2足の区別。)を当該パワーピークに関する情報として関連づけする(ステップS54)。これにより、ピーク解析部106は、推定用ピーク情報116を作成する。
【0149】
このように、ピーク解析処理によって作成される推定用ピーク情報116は、進行方向への加速度が増加方向に最大となっていると推定される時間(適切なパワーピークが検出された時間)と、その時のパワーPWの値と、そのときのE軸方向の加速度成分α
Eと、そのときのN軸方向の加速度成分α
Nと、その時の蹴り足とを示す情報となる。
【0150】
以上が、
図6におけるステップS29のピーク解析処理の説明である。
【0151】
図5に戻って、通常状態において、推定タイミングが到来すると、CPU10は、ステップS8においてYesと判定し、推定用ピーク情報116に基づいて、歩行者の進行方向を推定する(ステップS9)。
【0152】
ステップS9において、進行方向推定部107は、推定用ピーク情報116を参照しつつ、記録されている各ピークについて、当該ピークのときの加速度成分α
E,α
Nに基づいて式4を実行し、各ピーク時のE軸との位相角θを求める。
【0154】
ただし、加速度成分α
N,α
Eの符号を用いて象限を決定する。
【0155】
式4で求めた位相角θが、このときの歩行者の進行方向とE軸との相対関係となる。したがって、進行方向推定部107は、各ピークについて、当該ピークに関連づけられている蹴り足のときの歩行者の進行方向として、位相角θを進行方向情報117として記録する。すなわち、ステップS9が実行されることにより、一歩の間の蹴り足ごとに、進行方向が、E軸との位相角θとして進行方向情報117に格納される。
【0156】
ステップS9が実行され、進行方向情報117が更新されると、加速度情報調整部108が、調整処理を行う(ステップS10)。
【0157】
調整処理において、加速度情報調整部108は、進行方向情報117に基づいて、検出用加速度情報113を、進行方向の加速度成分α
fと、進行方向に対して垂直右向きの加速度成分α
sとに座標変換することにより、調整済み加速度情報118を作成する。なお、このとき、鉛直方向の加速度成分α
Uについては変換する必要はない。
【0158】
このようにして、ステップS10において作成される調整済み加速度情報118の鉛直方向の加速度成分α
Uと進行方向の加速度成分α
fとを図示すると、
図4のようになる。すなわち、進行方向が高精度に推定されているため、進行方向の加速度成分α
fが高精度に抽出されており、歩行者の歩行動作を高精度に解析することができる。
【0159】
以上のように、第1の実施の形態における端末装置1は、歩行者観測システムを構成しており、歩行者に付随しつつ独自に定義された端末座標系に従って加速度情報140を取得する加速度センサ14と、加速度センサ14により取得された加速度情報140から求まる鉛直方向に垂直な東方向(第1方向)の加速度成分α
Eと鉛直方向および東方向に垂直な北方向(第2方向)の加速度成分α
Nとに基づいて、水平面における加速度のパワーPWを求めることにより、当該パワーPWの極大値を観測した時間と、当該パワーPWの極大値を観測したときの加速度成分α
Eと、当該パワーPWの極大値を観測したときの加速度成分α
Nとを取得して水平方向ピーク情報を取得する水平方向検出部105と、加速度センサ14により取得された加速度情報140に基づいて、鉛直方向の加速度の極大値および極小値を観測した時間を取得して鉛直方向ピーク情報を取得する鉛直方向検出部104と、鉛直方向検出部104により取得された鉛直方向ピーク情報に基づいて、水平方向検出部105により取得された水平方向ピーク情報に含まれるパワーPWの極大値に関する情報を取捨選択して、推定用ピーク情報116を取得するピーク解析部106と、ピーク解析部106により取得された推定用ピーク情報116に基づいて、歩行者の進行方向を示す進行方向情報117を取得する進行方向推定部107とを備える。これにより、演算量を抑制することができるため、応答性がよく、かつ、精度の高い進行方向推定が可能となる。
【0160】
また、端末装置1は、歩行者の歩行動作を観測するために適した観測座標系に対する端末装置1(加速度センサ14)の姿勢を示す姿勢情報111を取得する姿勢推定部100と、姿勢推定部100により取得された姿勢情報111に基づいて、加速度センサ14により取得された加速度情報140を、当該観測座標系に座標変換して変換済み加速度情報112を取得する座標変換部102と、座標変換部102により取得された変換済み加速度情報112から低周波成分を抽出して、検出用加速度情報113を取得するLPF処理部103とをさらに備え、水平方向検出部105は、LPF処理部103により取得された検出用加速度情報113に基づいて、水平方向ピーク情報を取得し、鉛直方向検出部104は、LPF処理部103により取得された検出用加速度情報113に基づいて、鉛直方向ピーク情報を取得する。これにより、姿勢自由度の高い、端末装置1に適用した場合であっても、回転によるノイズを抑制することができ、精度が向上する。すなわち、加速度情報140を直接的に解析して進行方向を推定するのではなく、加速度に関するピークを検出して、ピーク解析処理を行うことにより、歩行者が端末装置1の持ち方を瞬間的に変えたような場合でも、持ち方を変えたことによる加速度の瞬間的な変化に影響されることなく、安定して進行方向を推定することができる。
【0161】
また、姿勢推定部100は、実質的に実時間で姿勢情報111を取得することにより、さらに応答性が向上する。
【0162】
また、鉛直方向検出部104は、歩行者の蹴り足に関する蹴り足情報115を取得し、ピーク解析部106は、鉛直方向検出部104により取得された蹴り足情報115に基づいて、推定用ピーク情報116に含まれるパワーPWの極大値に関する情報と、蹴り足を識別する情報とを関連づけることにより、ピークの誤検出を抑制することができ、精度が向上する。
【0163】
<2. 第2の実施の形態>
第1の実施の形態では、歩行者に端末装置1が固定されていない場合について説明した。このような場合、加速度センサ14のみならず、ジャイロセンサ15や磁気センサ16を用いて端末装置1の姿勢を推定する必要がある。しかしながら、PDRなどのアプリケーションが利用される場合において、歩行者の歩行動作を観測する端末装置を歩行者の体に固定することも考えられる。例えば、端末装置を歩行者の腰に固定したり、胸ポケットに入れたりする場合である。そのような利用形態に限定するならば、第1の実施の形態よりもさらに容易に進行方向を推定することが可能である。
【0164】
図11は、第2の実施の形態における端末装置2を示す図である。
図11に示す端末装置2は、歩行者の胸ポケットに投入された状態で進行方向を測定するものとする。また、端末装置2は、端末装置1と同様に、本発明に係る歩行者観測システムを構成している。
【0165】
第2の実施の形態では、歩行者の歩行動作を観測するために適した観測座標系として、鉛直方向上向きのU軸と、U軸に垂直なI軸(歩行者の前方向の軸)と、U軸およびI軸に対して垂直なJ軸(歩行者の右方向の軸)とが定義された座標系(以下、「IJU座標系」と称する。)を定義する。これにより、I軸およびJ軸は水平面内に定義される軸である。なお、端末装置2における端末座標系は、端末装置1と同じものとする。
【0166】
IJU座標系は、第1の実施の形態におけるENU座標系のように、歩行者の動きと独立した座標系ではない。したがって、IJU座標系は、歩行者の動きに応じて、向きが変化する。
【0167】
しかし、歩行者が端末装置2を携帯する間において、IJU座標系と、端末座標系(XYZ座標系)との相対関係は変化しない。また、第2の実施の形態のように、端末装置2を胸ポケットに投入した場合の、IJU座標系とXYZ座標系との相対関係は予め取得し、端末装置2に記憶させておくことができる。
【0168】
この相対関係を用いて、第1の実施の形態における座標変換部102と同様の構成が、加速度情報140を変換済み加速度情報112に変換すれば、第1の実施の形態と同様に、進行方向を推定することができる。以下、第2の実施の形態についての詳細な説明は省略する。
【0169】
以上のように、第2の実施の形態における端末装置2においても、第1の実施の形態と同様の効果を得ることができる。
【0170】
また、端末装置2を歩行者の体に固定して、観測座標系として、歩行者の体に対して定義されるIJU座標系を用いることにより、随時、姿勢を推定する必要がなく、簡単な構成および少ない演算量で進行方向を推定することができる。
【0171】
なお、端末装置2は、歩行者の腰などにホルダーなどを用いて固定されてもよい。すなわち、端末座標系と、観測座標系(本実施の形態ではIJU座標系)との相対関係が固定されていれば、どのような位置に端末装置2が固定されてもよい。
【0172】
また、第2の実施の形態では、IJU座標系とXYZ座標系との相対関係は予め取得して端末装置2に記憶させておくと説明した。しかし、最初に一度だけ第1の実施の形態と同様の手法により姿勢を推定しておき、その後は、一貫して、当該推定を利用するように構成してもよい。この場合、端末装置2にも、ジャイロセンサ15や磁気センサ16に相当する構成が必要になるものの、姿勢を推定するための演算および測定は1回で済むため、演算負荷が抑制され、応答性が向上する。
【0173】
なお、端末装置2(加速度センサ14)が歩行者の体に対してほぼ固定されている状況であるか否かは、様々な状況によって判定することができる。例えば、歩行者が予め操作部12を操作して、端末装置2に対してそのような状況を入力してもよい。あるいは、端末装置2にカメラを設け、当該カメラによって周囲を撮像し、撮像された画像情報を解析することにより、周囲の明るさや、被写体の動きなどから判定することができる。端末装置2が、胸ポケットやホルダーに収納されている状態では周囲が暗かったり、被写体(ポケットやホルダーの内側)がほとんど動かないなどの現象が検出される。
【0174】
<3. 第3の実施の形態>
第2の実施の形態では、端末装置2(加速度センサ14)が歩行者の体に対してほぼ固定される例について説明した。しかし、PDRが利用される状況においては、歩行者が携帯型の装置を自身の腕に保持しつつ、当該腕を前後に振りながら歩行するという状況(以下、「腕振り状態」と称する。)も比較的頻繁に発生しうるものである。なお、ここに言う「腕」は、「手」や「指」などを含むものとする。すなわち、「腕に保持する」とは、「手」に握っている状態や、指輪型装置のように「指」に装着されている状態、腕時計型装置のように「手首」にベルトなどで装着されている状態、あるいは、ブレスレットのような形式によって「上腕」に装着されている状態などをも含む。
【0175】
図12は、第3の実施の形態における端末装置3が備える機能ブロックをデータの流れとともに示す図である。以下の説明において、端末装置3については、端末装置1と同様の構成については同符号を付し、適宜、説明を省略する。
【0176】
端末装置3は、鉛直方向検出部104の代わりに鉛直方向検出部104aを備え、ピーク解析部106の代わりにピーク解析部106aを備え、進行方向推定部107の代わりに進行方向推定部107aを備え、さらに、判定部109を備えている点が端末装置1と異なっている。
【0177】
判定部109は、歩行者が、端末装置3(加速度センサ14)を保持した腕を前後に振りながら歩行しているか否かを判定する機能を有している。すなわち、判定部109は、腕振り状態であるか否かを判定する。
【0178】
端末装置3の判定部109は、操作部12からの入力信号に応じて腕振り状態の判定を行う。すなわち、歩行者は腕振り状態であるか否かを操作部12を操作して入力し、当該入力が判定部109に伝達される。
【0179】
ただし、判定部109が腕振り状態であるか否かを判定するために参照する情報は、操作部12から伝達される情報に限定されるものではない。例えば、判定部109が検出用加速度情報113を参照して、鉛直方向の加速度成分の周期と水平方向の加速度成分とを比較し分析して判定してもよい。
【0180】
また、腕振り状態では、パワーPWの極大値が大きくなる傾向にある。したがって、判定部109がピーク情報114を参照して、ピーク情報114に含まれる水平方向のパワーPW(ピーク情報114にはパワーPWの極大値のみが格納されている。)を閾値と比較し、当該閾値よりもパワーPWが大きければ、腕振り状態と判定するように構成してもよい。このような閾値としては、例えば、0.5[G](Gは重力加速度)を用いることができるが、この値に限定されるものではない。
【0181】
また、あるいは、端末装置3にカメラを設け、当該カメラによって周囲を撮像し、撮像された画像情報を判定部109が解析することにより、腕振り状態であるか否かを判定することもできる。
【0182】
判定部109は、判定結果(腕振り状態であるか否かを示す情報。)を鉛直方向検出部104aおよびピーク解析部106aに伝達する。
【0183】
鉛直方向検出部104aは、鉛直方向検出部104と同様に、ピーク情報114や蹴り足情報115を作成する機能を有している。ただし、鉛直方向検出部104aは、鉛直方向検出部104と異なり、ピーク情報114や蹴り足情報115を作成する前に、判定部109から伝達される判定結果を参照する。
【0184】
そして、歩行者による歩行動作が腕振り状態でない場合、鉛直方向検出部104aは、鉛直方向検出部104と同様の処理を行って、ピーク情報114および蹴り足情報115を作成する。すなわち、歩行動作について判定部109が腕振り状態でないと判定した場合においては、端末装置3において作成されるピーク情報114および蹴り足情報115は、端末装置1において作成されるピーク情報114および蹴り足情報115と変わるところはない。
【0185】
一方で、判定部109によって、歩行動作が腕振り状態と判定された場合において、鉛直方向検出部104aは、鉛直方向検出部104とは異なる処理を採用して、ピーク情報114を作成する。また、このとき、鉛直方向検出部104aは、蹴り足情報115を作成することはない。
【0186】
端末装置3の鉛直方向検出部104aが、腕振り状態のときに実行する処理の詳細については後述する。
【0187】
ピーク解析部106aは、ピーク解析部106と同様に、推定用ピーク情報116を作成する機能を有している。ただし、ピーク解析部106aは、ピーク解析部106と異なり、推定用ピーク情報116を作成する前に、判定部109から伝達される判定結果を参照する。
【0188】
そして、歩行者による歩行動作が腕振り状態でない場合、ピーク解析部106aは、ピーク解析部106と同様のピーク解析処理を行って、推定用ピーク情報116を作成する。すなわち、判定部109によって、歩行動作が腕振り状態でないと判定された場合においては、端末装置3において作成される推定用ピーク情報116は、端末装置1において作成される推定用ピーク情報116と変わるところはない。
【0189】
一方で、判定部109によって、歩行動作が腕振り状態と判定された場合において、ピーク解析部106aは、ピーク解析部106とは異なる解析処理を採用して、推定用ピーク情報116を作成する。すなわち、ピーク解析部106aは、腕振り状態のときには、腕振り状態に特化した解析処理を適用する。これにより、端末装置3では、腕振り状態のときの進行方向の推定精度が向上する。
【0190】
端末装置3のピーク解析部106aが、腕振り状態のときに実行する解析処理の詳細については後述する。
【0191】
進行方向推定部107aは、進行方向推定部107と同様に、推定用ピーク情報116に基づいて、歩行者の進行方向を推定し、進行方向情報117を作成する機能を有している。ただし、進行方向推定部107aは、進行方向推定部107と異なり、進行方向情報117を作成する前に、推定用ピーク情報116に、鉛直方向の加速度成分α
Uの極小値が2つ含まれているか否かを判定する。
【0192】
そして、推定用ピーク情報116に、鉛直方向の加速度成分α
Uの極小値が含まれていない場合、進行方向推定部107aは、進行方向推定部107と同様の演算(式4)を行って、進行方向情報117を作成する。
【0193】
一方で、推定用ピーク情報116に、鉛直方向の加速度成分α
Uの極小値が2つ含まれている場合、進行方向推定部107aは、当該極小値の大小関係に応じて、進行方向の演算式を使い分けて当該進行方向を求める。
【0194】
なお、端末装置3における推定用ピーク情報116に、鉛直方向の加速度成分α
Uの極小値が2つ含まれている場合とは、判定部109によって、歩行動作が腕振り状態と判定された場合である。すなわち、進行方向推定部107aは、腕振り状態でないときには、進行方向推定部107と同様の処理を行う。進行方向推定部107aによる進行方向を求める処理の詳細については後述する。
【0195】
以上が、端末装置3の構成および機能の説明である。次に、端末装置3を用いて歩行者の進行方向を推定する方法について説明する。
【0196】
図13は、第3の実施の形態における端末装置3の進行方向推定処理を示す流れ図である。端末装置3の進行方向推定処理では、ステップS6の代わりにステップS60が実行されることと、ステップS9の代わりにステップS90が実行されることが、端末装置1の進行方向推定処理(
図5)と異なっている。以下、ステップS60およびステップS90について説明する。
【0197】
図14は、第3の実施の形態における端末装置3が実行する鉛直方向のピーク検出処理(ステップS60)を示す流れ図である。なお、
図14に示すステップS61ないしS65は、すでに
図6において説明したステップS21ないしS25と同様に実行されるステップであるため、ここでは説明を省略する。また、
図14に示すステップS71ないしS77は、すでに
図6において説明したステップS26ないしS32と同様に実行されるステップであるため、同じく説明を省略する。
【0198】
ステップS65においてYesと判定すると、鉛直方向検出部104aは、腕振り状態か否かを判定する(ステップS66)。なお、ステップS65は、端末装置1の場合と同様に、鉛直方向の加速度成分α
Uについて極大値と極小値とが交互に検出された場合に実行される処理である。また、ステップS66において鉛直方向検出部104aは、判定部109から伝達される判定結果に基づいて判定する。
【0199】
ステップS66においてNoの場合(腕振り状態でない場合。)、端末装置3は、ステップS71ないしS75の処理を実行して、鉛直方向のピーク検出処理(ステップS60)を終了し、
図13に示す進行方向推定処理に戻る。このように、端末装置3は、歩行動作が腕振り状態でない場合には、端末装置1におけるステップS26ないしS30と同様の処理を実行して、ピーク情報114、蹴り足情報115および推定用ピーク情報116を作成する。
【0200】
一方、ステップS66においてYesの場合(腕振り状態の場合。)、端末装置3は、腕振り時解析処理を実行する(ステップS67)。すなわち、腕振り時解析処理は、歩行者が携帯型の装置を自身の腕に保持しつつ、当該腕を前後に振りながら歩行する状況と判定されたとき(腕振り状態)にのみ実行される処理となる。
【0201】
図15は、第3の実施の形態における端末装置3の腕振り時解析処理を示す流れ図である。
【0202】
腕振り時解析処理が開始されると、鉛直方向検出部104aは、ステップS61で検出した鉛直方向の加速度成分α
UのピークP
nが極大値か否かを判定する(ステップS81)。すでに説明したように、ステップS61において検出されるピークP
nは、鉛直方向の加速度成分α
Uの極大値である場合と、極小値である場合がある。
【0203】
ステップS61で検出されたピークP
nが極小値の場合(ステップS81においてNo。)、当該ピークP
nを検出したタイミング(すなわち、「T
min」。)と、ピークP
n(すなわち、鉛直方向の加速度成分α
Uの極小値)とをピーク情報114として記憶する(ステップS82)。
【0204】
図16は、腕振り状態における加速度成分の推移を例示する図である。
図16は、鉛直方向の加速度成分α
Uと、進行方向の加速度成分α
fと、水平面におけるパワーPWとを示している。
【0205】
腕振り時解析処理は、鉛直方向の加速度成分α
Uの極大値または極小値が検出された時間に実行される処理である。したがって、
図16に示す例においては、時間T1,T2,T3,T4にそれぞれ実行される。
【0206】
例えば、時間T3のときを例に考えれば、時間T3は、鉛直方向の加速度成分α
Uの極小値が観測された時間であるから、そのときのピークP
nは極小値である。したがって、この場合、ステップS81においてNoと判定され、時間T3(検出されたタイミング)と、ピークP
n(時間T3における鉛直方向の加速度成分α
Uの値)とがピーク情報114として記録されることとなる。
【0207】
ステップS82を実行すると、端末装置3は、腕振り時解析処理を終了する。また、腕振り時解析処理を終了すると、端末装置3は、ステップS75を実行して、鉛直方向のピーク検出処理(ステップS60)を終了し、
図13に示す進行方向推定処理に戻る。
【0208】
一方、ステップS61で検出されたピークP
nが極大値の場合(ステップS81においてYes。)、当該ピークP
nを検出したタイミング(すなわち、「T
max」。)をピーク情報114として記憶する(ステップS83)。
【0209】
図16に示す例において、時間T4のときを例に考えれば、時間T4は、鉛直方向の加速度成分α
Uの極大値が観測された時間であるから、そのときのピークP
nは極大値である。したがって、この場合、ステップS81においてYesと判定され、ピークP
nを検出したタイミング(すなわち、時間T4)がピーク情報114として記録されることとなる。逆に言えば、ピークP
nが極大値の場合、当該ピークP
nはピーク情報114として記録されない。これは、単に、後の処理において、鉛直方向の加速度成分α
Uの極大値を利用することはないからである。
【0210】
ステップS83を実行すると、ピーク解析部106aは、ピーク情報114を参照して、探索期間を特定する(ステップS84)。ステップS84において、ピーク解析部106aは、直近から遡って、垂直加速度成分α
Uの極小値が検出された時間(すなわち、「T
min」。)を2つ特定する。次に、特定した2つのT
minの間に存在する垂直加速度成分α
Uの極大値が検出された時間(すなわち、「T
max」。)を特定する。そして、すでに特定した2つのT
minのうち、時間の古い方のT
minから特定したT
maxまでの時間を探索期間として特定する。
【0211】
ステップS84が実行されるのは、ピークP
nが極大値の場合であるから、
図16に示す例において、時間T4のときを例に説明する。この場合、直近から遡って特定される2つのT
minは、時間T1およびT3である。そして、この間に存在するT
maxは、時間T2である。さらに、2つのT
minであるT1,T3のうち、時間の古い方のT
minは、時間T1である。したがって、時間T4においてステップS84が実行されることにより特定される探索期間は、
図16に示すように、時間T1から時間T2までの期間である。
【0212】
探索期間が特定されると、ピーク解析部106aは、探索期間内のパワーPWの極大値の最大値を特定する(ステップS85)。すなわち、ピーク解析部106aは、探索期間内のパワーPWの極大値を検出した上で、当該探索期間内にパワーPWの極大値が複数存在した場合には、それらのうちの最大値を特定する。
【0213】
次に、ステップS85で特定した極大値の時間を特定し、当該時間における東方向(第1方向)の加速度成分α
Eと、北方向(第2方向)の加速度成分α
Nとを特定する(ステップS86)。
【0214】
そして、特定した加速度成分α
E,α
Nと、ステップS84で特定した2つのT
minにおける極小値とを含めることにより推定用ピーク情報116を作成する(ステップS87)。すなわち、特定された加速度成分α
E,α
Nと、極小値であるピークP
n-3,P
n-1とが互いに関連づけられて推定用ピーク情報116として記憶される。
【0215】
なお、ステップS84において、2つのT
minを検出することができない場合、ピーク解析部106aは、本来、推定用ピーク情報116に格納すべき極小値であるピークP
n-3,P
n-1として、ダミー情報(ダミー情報であると認識される値。)を格納する。以下、詳細な説明は省略するが、推定用ピーク情報116に2つの極小値としてダミー情報が格納されている場合、進行方向推定部107aは、後述するステップS91(
図17)において腕振り状態であると判定するものの、新たな進行方向の推定は行わず、それまでに推定した進行方向を維持するものとする。
【0216】
ステップS87を実行すると、端末装置3は、腕振り時解析処理を終了する。また、腕振り時解析処理を終了すると、端末装置3は、ステップS75を実行して、鉛直方向のピーク検出処理(ステップS60)を終了し、
図13に示す進行方向推定処理に戻る。
【0217】
腕振り状態においては、歩行動作による端末装置3に対する上下運動の影響に偏りが生じる。この偏りは、鉛直方向の加速度成分α
Uの極小値に顕著に現れる。
図16を観察すれば明らかなように、腕振り状態において、鉛直方向の加速度成分α
Uの極小値は、比較的大きい値となるときと、比較的小さい値となるときとを交互に繰り返す。また、鉛直方向の加速度成分α
Uの極小値から極大値の間に進行方向加速度成分α
fのピークが発生し、各ピークの位相は垂直加速度成分の極小値の大小関係と強い相関がみられる。端末装置3は、腕振り状態のときに観察されるこのような特徴を捉えて、進行方向をより高精度に推定するものである。
【0218】
以上が、垂直方向のピーク検出処理(ステップS60)に関する説明である。次に、進行方向演算処理(
図13:ステップS90)について説明する。
【0219】
図17は、第3の実施の形態における端末装置3の進行方向演算処理を示す流れ図である。進行方向演算処理は、
図13に示すステップS8においてYesと判定された場合に実行される処理である。
【0220】
進行方向演算処理が開始されると、進行方向推定部107aは、歩行者の歩行動作が腕振り状態か否かを判定する(ステップS91)。なお、進行方向推定部107aは、推定用ピーク情報116を参照して、当該推定用ピーク情報116に、鉛直方向の加速度成分α
Uの極小値であるピークP
n-3,P
n-1とが含まれているか否かによって、腕振り状態か否かを判定する。腕振り状態でなければステップS87が実行されることはなく、鉛直方向の加速度成分α
Uの値が推定用ピーク情報116に含まれることはないからである。ただし、例えば、ステップS91が実行されるときまでに、進行方向推定部107aに対して、判定部109から直接的に判定結果が伝達されてもよい。
【0221】
腕振り状態でない場合(ステップS91においてNo。)、進行方向推定部107aは、推定用ピーク情報116に記録されている加速度成分α
E,α
Nに基づいて、θ=arctan[−α
N/−α
E](すなわち、式4。)を演算することにより、位相θを求める。これによって、歩行者の進行方向が推定される(ステップS92)。このように、進行方向推定部107aは、歩行者の歩行動作が腕振り状態でない場合には、進行方向推定部107と同様にして、当該歩行者の進行方向を推定する。
【0222】
腕振り状態の場合(ステップS91においてYes。)、進行方向推定部107aは、さらに、推定用ピーク情報116に記憶されているピークP
n-3,P
n-1の大小関係を確認する。すなわち、2つのピークP
n-3,P
n-1のうちの時系列的に新しいピークP
n-1が、時系列的に古いピークP
n-3より小さいか否かを判定する(ステップS93)。
【0223】
そして、P
n-1<P
n-3ではないとき(ステップS93においてNo。)、進行方向推定部107aは、ステップS92によって進行方向を推定する。
【0224】
ステップS93においてNoと判定される場合に当該2つのピークP
n-3,P
n-1と関連づけて記録されている加速度成分α
E,α
Nとは、歩行者が、端末装置3を保持した腕を進行方向に対する後方から前方に向けて振っているときに記録されたものと推定できる。したがって、この場合進行方向推定部107aは、式4によって位相θを求める。
【0225】
一方、P
n-1<P
n-3であるとき(ステップS93においてYes。)、進行方向推定部107aは、下記の式5により進行方向を推定する。
【0227】
ステップS93においてYesと判定される場合に当該2つのピークP
n-3,P
n-1と関連づけて記録されている加速度成分α
E,α
Nとは、歩行者が、端末装置3を保持した腕を進行方向に対する前方から後方に向けて振っているときに記録されたものと推定できる。したがって、この場合進行方向推定部107aは、式5によって位相θを求める。
【0228】
ステップS92またはS94を実行すると、端末装置3は、進行方向演算処理(ステップS90)を終了して、
図13に示す処理に戻る。
【0229】
以上のように、端末装置3は、歩行者が、端末装置3(加速度センサ14)を保持した腕を前後に振りながら歩行しているか否かを判定する判定部109をさらに備え、鉛直方向検出部104aは、判定部109により歩行者が加速度センサ14を保持した腕を前後に振りながら歩行していると判定されたとき、加速度センサ14により取得された加速度情報140に基づいて、鉛直方向の加速度の極小値をピーク情報114として取得し、ピーク解析部106aは、判定部109による判定結果に応じて推定用ピーク情報116を取得する。
【0230】
これにより、端末装置3は、腕振り状態でない場合には端末装置1と同様にして歩行者の進行方向を推定することにより、腕振り状態でない場合には端末装置1と同様の効果を得ることができる。
【0231】
一方で、腕振り状態のときには、腕振り状態に特有の現象や特徴を捉えて、歩行者の進行方向を推定することにより、さらに高精度に進行方向を推定することができる。具体的には、腕振り状態のときにおける探索期間の特定や、端末装置3を保持した腕が前方から後方に向けて振られるときなのか、後方から前方に向けて振られるときなのかを見分けて進行方向を推定することができる。
【0232】
<4. 変形例>
以上、本発明の実施の形態について説明してきたが、本発明は上記実施の形態に限定されるものではなく様々な変形が可能である。
【0233】
例えば、上記実施の形態に示した各工程は、あくまでも例示であって、上記に示した順序や内容に限定されるものではない。すなわち、同様の効果が得られるならば、適宜、順序や内容が変更されてもよい。
【0234】
また、上記第1および第2の実施の形態では、一歩ごとに位相角θを進行方向情報117とし、調整済み加速度情報118を作成した。しかし、人の歩行動作においては、左右の足が蹴り出される期間(すなわち、二歩の期間)を基準に解析することも可能である。すなわち、第1足と第2足とがそれぞれ1回ずつ蹴り出される間の進行方向を、進行方向情報117としてもよい。この場合、例えば、連続する二歩におけるそれぞれの一歩についての位相角θの中間を、当該二歩の間の進行方向として進行方向情報117を作成してもよい。また、あるいは、パワーPWの値とそのときの位相角θによって、連続する二歩におけるそれぞれの一歩についての移動ベクトルを求め、2つの移動ベクトルをベクトル合成して進行方向ベクトルを決定し、当該進行方向ベクトルの向きを進行方向情報117としてもよい。
【0235】
また、上記実施の形態では、端末装置1,2,3が起動されると、測定タイミングおよび推定タイミングをそれぞれ監視すると説明した。しかし、端末装置1は、常に、進行方向の推定を継続しなければならないものではない。例えば、進行方向を推定する必要が生じたとき(例えば、PDRに関するアプリケーションが起動されているとき)のみ、これらのタイミングを監視するように構成してもよい。
【0236】
また、上記実施の形態では、端末装置1,2,3のみによって歩行者観測システムを構成する形態について説明した。すなわち、歩行者観測システムが1つの装置で構成されている例について説明した。しかし、加速度情報140や角速度情報150および地磁気情報160については歩行者に付随する端末装置において取得し、進行方向の演算は外部のコンピュータ等によって実行してもよい。例えば、加速度センサ14を備えた端末装置と、当該端末装置との間でデータ通信が可能なサーバ装置とにより歩行者観測システムを構成し、鉛直方向検出部104や水平方向検出部105などに相当する機能ブロックを当該サーバ装置に設けてもよい。
【0237】
また、上記実施の形態では、いずれも、鉛直方向検出部104と、水平方向検出部105とによって、検出用加速度情報113に基づいてピーク情報114や蹴り足情報115が作成される例について説明した。すなわち、上記実施の形態では、いずれもピーク解析部106がピーク情報114および蹴り足情報115に基づいて推定用ピーク情報116を作成する。しかし、LPF処理部103による高周波成分の除去処理の前に、姿勢情報111に基づいて加速度情報140の座標を変換して変換済み加速度情報112を作成するだけでも、従来の技術に比べて、回転の影響を抑制することができ、PDRにおける検出精度の向上を図ることができる。
【0238】
さらに、ピーク解析処理(ステップS29)を実行するタイミングは、鉛直方向のピーク処理(ステップS6)において、鉛直方向の極大値が検出されるタイミングとして説明した。しかし、ピーク解析処理は必ずしもこのタイミングで実行されなければならないわけではなく、新たに進行方向を推定する必要が生じたときまでに実行されていればよい。