(57)【特許請求の範囲】
【請求項１】
移動体が歩行運動を行なうことによって移動するときの進行の方向の検出を行なう歩行方向検出装置であって、
鉛直方向の加速度成分、及び該鉛直方向に直交する方向である水平方向の加速度成分の取得を行なう加速度成分取得手段と、
この加速度成分取得手段により取得された鉛直方向の加速度成分の変化が極大を呈した部分及び極小を呈した部分の検出を行なう鉛直方向の加速度成分の極大極小部分検出手段と、
この鉛直方向の加速度成分の極大極小部分検出手段により検出された極大を呈した部分と極小を呈した部分の間において前記加速度成分取得手段により取得された水平方向の加速度成分の変化が極大を呈した部分の検出を行なう水平方向の加速度成分の極大部分検出手段と、
この水平方向の加速度成分の極大部分検出手段により検出された極大を呈した部分において該水平方向の加速度成分が向いている方向の検出を行なう水平方向の加速度成分の向き検出手段と、
この水平方向の加速度成分の向き検出手段により検出された方向に対応して特定される方向を前記進行の方向とする移動体進行方向特定手段、
を有することを特徴とする歩行方向検出装置。
【請求項２】
前記水平方向の加速度成分の極大部分検出手段による極大を呈した部分の検出は、前記鉛直方向の加速度成分の極大極小部分検出手段により検出される極大を呈した部分から極小を呈した部分の間において行なわれ、
前記移動体進行方向特定手段により特定される方向は、前記水平方向の加速度成分の向き検出手段により検出される方向に対して正反対の方向である、
ことを特徴とする請求項１に記載の歩行方向検出装置。
【請求項３】
前記水平方向の加速度成分の極大部分検出手段による極大を呈した部分を検出する際に、前記鉛直方向の加速度成分の極大極小部分検出手段により検出される極大を呈した部分より後の所定の間に前記水平方向の加速度成分の向き検出手段により検出される方向を該検出の対象から除外することを特徴とする請求項２に記載の歩行方向検出装置。
【請求項４】
前記水平方向の加速度成分の極大部分検出手段による極大を呈した部分の検出は、前記鉛直方向の加速度成分の極大極小部分検出手段により検出される極小を呈した部分から極大を呈した部分の間において行なわれ、
前記移動体進行方向特定手段により特定される方向は、前記水平方向の加速度成分の向き検出手段により検出される方向である、
ことを特徴とする請求項１に記載の歩行方向検出装置。
【請求項５】
前記水平方向の加速度成分の極大部分検出手段による極大を呈した部分を検出する際に、前記鉛直方向の加速度成分の極大極小部分検出手段により検出される極大を呈した部分より前の所定の間に前記水平方向の加速度成分の向き検出手段により検出される方向を該検出の対象から除外することを特徴とする請求項４に記載の歩行方向検出装置。
【請求項６】
前記鉛直方向の加速度成分の極大極小部分検出手段により検出される極大を呈した部分及び極小を呈した部分は、平滑微分法に従って検出することを特徴とする請求項１に記載の歩行方向検出装置。
【請求項７】
前記水平方向の加速度成分の極大部分検出手段は、
前記鉛直方向の加速度成分の極大極小部分検出手段により検出される極小を呈した部分から極大を呈した部分の間及び、極大を呈した部分から極小を呈した部分の間において検出し、
前記極小を呈した部分から極大を呈した部分の間に検出された加速度成分と、前記極大を呈した部分から極小を呈した部分の間に検出された加速度成分の大きさを判別する判別手段と、を有し、
前記移動体進行方向特定手段により特定される方向は、前記判別手段により極小を呈した部分から極大を呈した部分の間に検出された加速度成分の方が大きいと判別された場合は該加速度成分の向いている方向であり、前記判別手段により極大を呈した部分から極小を呈した部分の間に検出された加速度成分の方が大きいと判別された場合は該加速度成分の向いている方向に対して正反対の方向であることを特徴とする請求項１に記載の歩行方向検出装置。
【請求項８】
移動体が歩行運動を行なうことによって移動するときの進行の方向の検出を行なう歩行方向検出装置のコンピュータを、
鉛直方向の加速度成分、及び該鉛直方向に直交する方向である水平方向の加速度成分の取得を行なう加速度成分取得手段、
この加速度成分取得手段により取得された鉛直方向の加速度成分の変化が極大を呈した部分及び極小を呈した部分の検出を行なう鉛直方向の加速度成分の極大極小部分検出手段、
この鉛直方向の加速度成分の極大極小部分検出手段により検出された極大を呈した部分と極小を呈した部分の間において前記加速度成分取得手段により取得された水平方向の加速度成分の変化が極大を呈した部分の検出を行なう水平方向の加速度成分の極大部分検出手段、
この水平方向の加速度成分の極大部分検出手段により検出された極大を呈した部分において該水平方向の加速度成分が向いている方向の検出を行なう水平方向の加速度成分の向き検出手段、
この水平方向の加速度成分の向き検出手段により検出された方向に対応して特定される方向を前記進行の方向とする移動体進行方向特定手段、
として機能させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、移動体の移動方向を検出する技術に関し、特に、人などの歩行によって移動する移動体における歩行による進行の方向を検出する技術に関する。
【０００２】
【従来の技術】
自動車等の輸送装置の現在位置を取得してその位置を地図上に表示し、その地図上における現在位置から目的地までの経路案内を行なうナビゲーション装置において、現在位置の取得のためにＧＰＳ（Global Positioning System ）を利用するものがある。このような装置では、位置計測のために必要である人工衛星からの電波が移動体で受信できない場合、例えばトンネル内や高層ビルの林立する市街地などの場所を輸送装置が移動している場合に備え、輸送装置の移動速度を検出する速度センサや移動体の移動方向を検出するジャイロセンサなど装備しておき、これらのセンサによって検出される情報を用いての慣性航法を行なうことによって、上述したような場所でのナビゲーションを可能としているものがある。
【０００３】
一方、ＧＰＳを利用した位置の測位装置の小型軽量化が進み、人が携行可能なナビゲーション装置も市場に登場している。
【０００４】
【発明が解決しようとする課題】
自動車等の輸送装置に設置されたナビゲーション装置では輸送装置の進行方向と装置の向きとの間の関係が基本的には予め特定されているが、人が携行するナビゲーション装置ではその装置がどのように保持されるかは不定である。そのため、ナビゲーション装置の向きを基準としたときの携行者の歩行による進行方向の推定は困難である。
【０００５】
以上の問題を鑑み、歩行による移動体の移動における進行方向の検出を行なう新たな手法を提供することが本発明が解決しようとする課題である。
【０００６】
【課題を解決するための手段】
請求項１記載の発明は、移動体が歩行運動を行なうことによって移動するときの進行の方向の検出を行なう歩行方向検出装置であって、鉛直方向の加速度成分、及び該鉛直方向に直交する方向である水平方向の加速度成分の取得を行なう加速度成分取得手段と、この加速度成分取得手段により取得された鉛直方向の加速度成分の変化が極大を呈した部分及び極小を呈した部分の検出を行なう鉛直方向の加速度成分の極大極小部分検出手段と、この鉛直方向の加速度成分の極大極小部分検出手段により検出された極大を呈した部分と極小を呈した部分の間において前記加速度成分取得手段により取得された水平方向の加速度成分の変化が極大を呈した部分の検出を行なう水平方向の加速度成分の極大部分検出手段と、この水平方向の加速度成分の極大部分検出手段により検出された極大を呈した部分において該水平方向の加速度成分が向いている方向の検出を行なう水平方向の加速度成分の向き検出手段と、この水平方向の加速度成分の向き検出手段により検出された方向に対応して特定される方向を前記進行の方向とする移動体進行方向特定手段、を有することを特徴とする。
更に、該端末装置のコンピュータを上述した請求項１記載の発明に示した各手段として機能させるためのプログラムを記憶させた記録媒体を提供する（請求項８記載の発明）。
請求項２記載の発明は、請求項１に記載の歩行方向検出装置において、前記水平方向の加速度成分の極大部分検出手段による極大を呈した部分の検出は、前記鉛直方向の加速度成分の極大極小部分検出手段により検出される極大を呈した部分から極小を呈した部分の間において行なわれ、前記移動体進行方向特定手段により特定される方向は、前記水平方向の加速度成分の向き検出手段により検出される方向に対して正反対の方向である、ことを特徴とする。
請求項３記載の発明は、請求項２に記載の歩行方向検出装置において、前記水平方向の加速度成分の極大部分検出手段による極大を呈した部分を検出する際に、前記鉛直方向の加速度成分の極大極小部分検出手段により検出される極大を呈した部分より後の所定の間に前記水平方向の加速度成分の向き検出手段により検出される方向を該検出の対象から除外することを特徴とする。
請求項４記載の発明は、請求項１に記載の歩行方向検出装置において、前記水平方向の加速度成分の極大部分検出手段による極大を呈した部分の検出は、前記鉛直方向の加速度成分の極大極小部分検出手段により検出される極小を呈した部分から極大を呈した部分の間において行なわれ、前記移動体進行方向特定手段により特定される方向は、前記水平方向の加速度成分の向き検出手段により検出される方向である、ことを特徴とする。
請求項５記載の発明は、請求項４に記載の歩行方向検出装置において、前記水平方向の加速度成分の極大部分検出手段による極大を呈した部分を検出する際に、前記鉛直方向の加速度成分の極大極小部分検出手段により検出される極大を呈した部分より前の所定の間に前記水平方向の加速度成分の向き検出手段により検出される方向を該検出の対象から除外することを特徴とする。
請求項６記載の発明は、請求項１に記載の歩行方向検出装置において、前記鉛直方向の加速度成分の極大極小部分検出手段により検出される極大を呈した部分及び極小を呈した部分は、平滑微分法に従って検出することを特徴とする。
請求項７記載の発明は、請求項１に記載の歩行方向検出装置において、前記水平方向の加速度成分の極大部分検出手段は、前記鉛直方向の加速度成分の極大極小部分検出手段により検出される極小を呈した部分から極大を呈した部分の間及び、極大を呈した部分から極小を呈した部分の間において検出し、前記極小を呈した部分から極大を呈した部分の間に検出された加速度成分と、前記極大を呈した部分から極小を呈した部分の間に検出された加速度成分の大きさを判別する判別手段と、を有し、前記移動体進行方向特定手段により特定される方向は、前記判別手段により極小を呈した部分から極大を呈した部分の間に検出された加速度成分の方が大きいと判別された場合は該加速度成分の向いている方向であり、前記判別手段により極大を呈した部分から極小を呈した部分の間に検出された加速度成分の方が大きいと判別された場合は該加速度成分の向いている方向に対して正反対の方向であることを特徴とする。
【００２５】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。なお、本実施形態においては、人が携行可能なナビゲーション装置において本発明を実施する実施例について説明する。
【００２６】
なお、本明細書において、「方位」とは地球の子午線を基準としたときの方向のことを意味するものとする。
図１は本発明を実施するナビゲーション装置の構造を示す図であり、（ａ）のその外観を、（ｂ）はその内部構造の概略を、それぞれ示している。
【００２７】
図１（ａ）に示すように、ナビゲーション装置１は大きく分けて本体２とアンテナ３とより構成されている。本体２の上面部には地図が表示される表示部４と、ナビゲーション装置１を携行する携行者によって操作される操作ボタン５とが設けられている。また、アンテナ３はＧＰＳ用の人工衛星から送信された電波の受信のために設けられている。
【００２８】
また、図１（ｂ）に示すように、本体２の内部には、ナビゲーション装置１に加わっている加速度を同図に示すＸＹＺの各軸方向の成分として検出する加速度センサ６と、ナビゲーション装置１の向いている現在の方位を地磁気に基づいて検出する方位センサ７とが設けられている。
【００２９】
次に図２について説明する。同図は本発明を実施するナビゲーション装置１の構成を示す図である。同図において、図１に示した構成要素には同一の符号を付しており、ここではその説明を省略する。
歩行方向算出部１０は、加速度センサ６の３軸各軸の検出値よりナビゲーション装置１を基準としたときの歩行運動における進行方向の算出を行なう。歩行方向算出部１０の詳細構成は後述する。
【００３０】
移動速度算出部２０は、加速度センサ６の３軸各軸の検出値より歩行ピッチ、すなわち単位時間当たりの歩数を求め、歩行速度の算出を行なう。
装置方位算出部３０は、方位センサ７の検出値よりナビゲーション装置１の現在の方位の算出を行なう。
【００３１】
移動速度算出部４０は、歩行方向算出部１０によって算出された歩行方向と、装置方位算出部３０によって算出された現在の方位より、歩行移動の速度の算出を行なう。
ＧＰＳ電波受信部５０は、アンテナ３で受信されたＧＰＳ用の人工衛星からの電波を復調してナビゲーション装置１の位置のＧＰＳによる測位のために必要な情報を含む信号を取得する。
【００３２】
ＧＰＳ測位算出部６０は、ＧＰＳ電波受信部５０によって復調された信号に含まれている情報に基づいてナビゲーション装置１の位置の算出を行なう。なお、以降の説明においてはこの位置を「ＧＰＳ測位位置」と称することとする。
現在位置算出部７０は、ＧＰＳ測位算出部６０において最近に算出されたＧＰＳ測位位置と、歩行方向算出部１０によって算出されたそのＧＰＳ測位位置からの歩行方向及び移動速度算出部４０によって算出されたそのＧＰＳ測位位置からの歩行移動速度とに基づいて、ナビゲーション装置１の現在位置の算出を行なう。
【００３３】
地図情報データベース８０は、表示部４に表示される地図を表現している地図情報データが予め格納されているデータベースである。
地図マッピング制御部９０は、現在位置算出部７０によって算出されたナビゲーション装置１の現在位置が含まれている地図を表現している地図情報データを地図情報データベース８０から抽出し、その地図情報データで表現されている地図を表示部４に表示させると共に、ナビゲーション装置１の現在位置をその表示部４に表示させた地図上に表示する制御を行なう。
【００３４】
ナビゲーション装置１は以上のように構成されている。
なお、図２に示したナビゲーション装置１の構成のうち、歩行方向算出部１０、移動速度算出部２０、装置方位算出部３０、歩行方位算出部４０、及び現在位置算出部７０は、標準的な構成を有するコンピュータ、すなわち、制御プログラムを実行することで各構成要素を制御するＣＰＵと、ＲＯＭやＲＡＭ及び磁気記憶装置などからなり、ＣＰＵに各構成要素を制御させる制御プログラムの記憶やＣＰＵが制御プログラムを実行する際のワークエリアあるいは各種データの記憶領域として使用される記憶部と、ユーザによる操作に対応する各種のデータが取得される入力部と、ディスプレイなどに各種のデータを提示してユーザに通知する出力部と、ネットワークに接続するためのインタフェース機能を提供するＩ／Ｆ部とを備えるコンピュータで構成することもできる。
【００３５】
また、アンテナ３、ＧＰＳ電波受信部５０、ＧＰＳ測位算出部６０、地図情報データベース８０、地図マッピング制御部９０及び表示部４は既存のＧＰＳを利用した現在位置の測位装置が有しているものであるから、このような測位装置と上述した標準的なコンピュータとを組み合わせ、更に加速度センサ６及び方位センサ７を組み合わせることによってナビゲーション装置１を構成することもできる。
【００３６】
次に歩行方向算出部１０について説明する。
歩行方向算出部１０は加速度センサ６の３軸各軸の検出値より歩行運動の進行方向の算出を行なう。まず、この歩行方向の算出の原理について説明する。
歩行運動では歩行の進行方向において前後振動が存在している。このことについて図３を参照しながら説明する。
【００３７】
図３（ａ）に示すように、歩行運動のサイクルにおける一歩の歩行運動では、まず進行方向の後ろ側の足が地面を蹴るときに、進行方向に対して前方斜め上方への推進力が生じる。この推進力を地面に対して垂直な成分と水平な成分とに分解すると、この水平成分は進行方向への加速に用いられる。
【００３８】
その後、この地面を蹴った足は他方の足よりも前方に運ばれて地面に接地する。この足が接地すると進行方向に対して後方斜め上方への地面抗力が生じる。この地面抗力を地面に対して垂直な成分と水平な成分とに分解すると、この水平成分は進行方向と正反対の向きへの加速、すなわち進行方向に対する減速に用いられる。
【００３９】
次に図３（ｂ）について説明する。同図は歩行運動における歩行者の上体の移動の様子を示したものである。同図は一歩の歩行運動の間における上体の位置を一定の時間間隔で表したものである。同図において、歩行方向に対する減速が行なわれるのは後ろ側の足が地面を蹴ってからその足が他方の足を追い越すまでの間であり、歩行方向に対する加速が行なわれるのは地面を蹴った足が他方の足を追い越してからその足が地面に着地するまでの間である。
【００４０】
次に、歩行運動における鉛直方向（地面に対して垂直な方向）の加速度と水平方向（鉛直方向と直交する方向）の加速度との関係について説明する。
ここで図４及び図５について説明する。これらの図に示されているグラフは、歩行運動における水平方向加速度と垂直方向加速度との関係を求める実験の結果を示している。この実験は被験者が歩行運動を行なうというものであり、この歩行運動の際に被験者の着衣の胸ポケットに設置されたＸＹＺ３軸の加速度センサによって検出された加速度の時間変化をプロットしたものである。なお、図５は、図４に示したグラフの横軸である時間軸を拡大したものである。
【００４１】
なお、この実験においては加速度センサのＺ軸が地面に対して垂直方向を向くように設置した。従って、地面に対して水平方向の加速度は加速度センサで検出されるＸ軸方向及びＹ軸方向の加速度を合成したものとなる。
図４及び図５において、上側のグラフはＺ軸方向、すなわち地面に対して垂直方向の加速度の測定結果を示したものである。この加速度の値は被験者が何ら運動を行なっていない状態にあるときには重力加速度に相当する「１．００」となる。従って、この加速度がこの値よりも大きな値であるときには加速度センサは上向きの動きが加速若しくは下向きの動きが減速していることとなり、この加速度がこの値よりも小さな値であるときには加速度センサは下向きの動きが加速若しくは上向きの動きが減速していることとなる。
【００４２】
なお、以下の説明においてはこのＺ軸方向の加速度、すなわち歩行運動によって生じる鉛直方向（地面に対して垂直方向）の加速度を「垂直加速度」と称することとする。
歩行運動における上体の上下動をこのグラフの形状に当てはめて考える。このグラフにおける上方向のピークは、地面を蹴った足が他方の足よりも前方に運ばれて地面に接地して生じる地面抗力についての前述した垂直成分によって上体の垂直方向の移動の向きが下向きから上向きに変化するときに発生するものである。一方、このグラフにおける下方向のピークは、地面を蹴った足が他方の足を追い越すときに上体の垂直方向の移動の向きが上向きから下向きに変化するときに発生するものである。
【００４３】
また、このグラフにおいてほぼ一定である垂直加速度のピークの間隔が一歩分の歩行運動に要する時間、すなわち歩行ピッチを示していることは明らかである。
一方、図４及び図５において、下方のグラフにはＸ軸方向の加速度及びＹ軸方向の加速度を示したものに加え、Ｘ軸方向の加速度とＹ軸方向の加速度との合成値を示したグラフを描いている。前述したように、この合成値は歩行運動時における地面について水平の方向（鉛直方向と直交する方向）の加速度を表している。
【００４４】
なお、以降の説明においては、このＸ軸方向の加速度とＹ軸方向の加速度との合成値を「合成加速度」と称することとする。
これらの図のうち、特に図５を参照すると分かるように、合成加速度の上向きのピークは、垂直加速度の上向きのピークと下向きのピークとの間であってその上向きのピークからある程度の周期、例えば歩行ピッチの１／４〜１／５程度の周期だけ遅れて生じる。また、図３を用いて説明した歩行運動における進行方向の前後振動を考慮すれば、この合成加速度の上向きのピークは、後ろ側の足が地面を蹴ってから他方の足を追い越すまでの間に発生するものであって、進行方向への移動に対する減速をもたらすもの、つまり歩行運動における進行方向とは逆向きの加速度である。
【００４５】
そこで、歩行方向算出部１０は、加速度センサ６で観測される加速度より、まず垂直加速度の上向きのピークを見つけ、次にその垂直加速度の上向きのピークに対応して遅れて発生している合成加速度のピークを見つけ、地面について水平な平面においてこのピークである合成加速度の向いている方向と正反対の方向を歩行方向として算出するようにする。
【００４６】
このように、地面について水平である面内においてピークであるときの加速度の向きから歩行方向が算出されるので、地面に対して垂直の方向（鉛直方向）さえ知ることができれば、ナビゲーション装置１がどのような状態で保持されていても、その歩行方向が算出できるのである。
【００４７】
ここで図６について説明する。同図は歩行方向算出部１０の詳細構成を示した図であり、加速度センサ６の３軸各軸の検出値より歩行方向の算出を上述した原理に従って行なうものである。
加速度データ管理部１１は各軸成分算出部１１−１を有している。
【００４８】
各軸成分算出部１１−１は、ナビゲーション装置１が静止状態にあるときに加速度センサ６で検出された重力加速度のＸＹＺの３軸成分値に基づき、速度センサ６における鉛直方向、すなわち地面に対する垂直方向を予め算出しておく。その後、ナビゲーション装置１が携行されているときに加速度センサ６によって検出される加速度のＸＹＺ３軸方向の加速度成分Ａｘ0 、Ａｙ0 、Ａｚ0 よりそのときの加速度センサ６の加速度Ａをその加速度Ａの向きと共に算出する。そして、その加速度Ａの向きと先に求めた速度センサ６における鉛直方向との角度差を求め、この角度差に基づき、加速度Ａを地面に対して垂直な方向の成分Ａｚと地面について水平な平面上における直交成分Ａｘ及びＡｙとに分割する。
【００４９】
加速度データ管理部１１は、各軸成分算出部１１−１によって以上のようにして算出されたナビゲーション装置１の携行時における加速度Ａについての加速度成分Ａｘ、Ａｙ、及びＡｚと、ＡｘとＡｙとを合成した加速度成分Ａｘｙとを加速度データファイル１２に逐次格納して加速度データファイル１２の管理を行なう。
【００５０】
加速度データファイル１２の構造は、図７に示されているように、加速度成分Ａｘ、Ａｙ、Ａｚ、及びＡｘｙの各値が各レコードに格納可能であり、各値が加速度データ管理部１１で一定の時間間隔で取得される度に各レコードを特定するための番号と対応付けられて格納される。
【００５１】
なお、図７におけるＭ、Ｋ１、Ｋ２については後述する。
垂直成分ピーク検出部１３は、加速度データファイル１２に格納されている加速度成分Ａｚにおける上方向のピークを検出する。
水平成分ピーク検出部１４は、垂直成分ピーク検出部１３によって求められた加速度成分Ａｚのピークに基づいて、その加速度成分Ａｚのピークに対応する加速度成分Ａｘｙのピークを加速度データファイル１２に格納されている加速度成分Ａｘｙについてのデータから検出する。
【００５２】
歩行角度算出部１５はピークであるときの加速度成分Ａｘｙの向きをこのときの加速度成分Ａｘ及びＡｙから算出する。この加速度成分Ａｘｙの向きは図３に示した減速の向きであるから、この向きを角度変換部１５−１によって反転し、この反転した角度を歩行角度、すなわち歩行運動における進行方向を示す角度の算出結果として出力する。
【００５３】
歩行角度データ管理部１６は、歩行角度算出部１５から出力された歩行角度を歩行角度データファイル１７に逐次格納して歩行角度データファイル１７の管理を行なう。
歩行角度データファイル１７の構造は、図８（ａ）に示されているように、（ｓｚＭａｘ＋１）個（図８においては１０個）分のデータ格納領域が用意されている。なお、歩行角度データファイル１７は後述する処理によっていわゆるリングバッファとして使用される。従って、図８（ｂ）に示されているように、歩行角度データファイル１７として用意されている個数以上の歩行角度データを格納するときには、最も古くに歩行角度データが格納された領域に最新の歩行角度データが上書きされて格納される。
【００５４】
歩行角度出力部１８は、歩行角度データファイル１７に格納されている歩行角度データの加算平均の角度を算出し、この算出結果である角度θA を最終的な歩行方向の算出結果として出力する。
歩行方向算出部１０は以上のように構成されている。
【００５５】
以下、この歩行方向算出部１０で行なわれる処理の手順について説明する。
図９は歩行方向算出部１０で行なわれる歩行方向算出処理の処理内容を示すフローチャートである。
なお、説明を簡単にするために、以下の説明においては、予め算出されている鉛直方向と加速度センサ６によって検出されるＸＹＺ３軸方向の加速度成分Ａｘ0 、Ａｙ0 、Ａｚ0 とに基づいて、各軸成分算出部１１−１によって算出されるナビゲーション装置１の移動時の加速度Ａについての加速度成分Ａｘ、Ａｙ、及びＡｚが、加速度センサ６から直接出力されるものとする。
【００５６】
まず、Ｓ１０１では、垂直成分ピーク検出部１３において変数Ｙ0pに初期値である「０」が代入され、更に加速度データ管理部１１において変数Ｎに初期値である「０」が代入される。
Ｓ１０２では、加速度データ管理部１１によってナビゲーション装置１における現在の加速度Ａについての加速度成分Ａｘ、Ａｙ、及びＡｚが加速度センサ６から読み込まれる。
【００５７】
Ｓ１０３では、加速度データ管理部１１の有している計時用のタイマがリセットされる。このタイマは一定の時間が経過するごとに１ずつインクリメントされる。
Ｓ１０４では、加速度データ管理部１１において√（Ａｘ2 ＋Ａｙ2 ）なる計算によって加速度成分ＡｘとＡｙとの合成加速度成分Ａｘｙが算出される。
【００５８】
Ｓ１０５では、上述したＳ１０４及びＳ１０５の処理によって得られた加速度成分Ａｘ、Ａｙ、Ａｚ、及びＡｘｙの各データが加速度データファイル１２における変数Ｎの値をレコード番号とするレコードに加速度データ管理部１１によって格納される。
【００５９】
Ｓ１０６では、変数Ｎの値がＫ１×２の積算結果よりも大きいか否かが加速度データ管理部１１によって判別される。そして、この判別結果がＹｅｓならばＳ１０７に処理が進み、ＮｏならばＳ１１４に処理が進む。
このＳ１０６の処理を更に説明する。後に行なわれるＳ１０８のピーク検出処理では、変数Ｐによって特定されるデータαがピークであるか否かの判断を行なうためにはそのデータαの前Ｋ１＋１サンプル分とそのデータαの後Ｋ１サンプル分との合計である２×Ｋ１＋１サンプル分のデータを必要とする。そこで、その判断のために必要なデータ数が加速度データファイル１２に格納されたかどうかをピーク検出処理が行なわれる前にＳ１０６の処理によって予め確認しているのである。なお、加速度データファイル１２にはレコード番号が「０」であるレコードの格納領域が用意されているので、Ｓ１０６の判別処理においては変数Ｎと２×Ｋ１＋１との比較ではなく、変数Ｎと２×Ｋ１との比較が行なわれる。
【００６０】
Ｓ１０７では、Ｎ−Ｋ１なる減算が垂直成分ピーク検出部１３において行なわれてこの計算結果が変数Ｐに代入される。
Ｓ１０８では、加速度データファイル１２に格納されているレコード番号がＰである加速度成分Ａｚについてのピーク検出処理が垂直成分ピーク検出部１３によって行なわれる。このピーク検出処理の詳細は後述する。
【００６１】
Ｓ１０９では、前述したＳ１０８のピーク検出処理によって加速度成分Ａｚについてのプラス方向のピーク、すなわち極大であるピークが検出されたか否かが垂直成分ピーク検出部１３によって判別される。そして、この判別結果がＹｅｓならばＳ１１０に処理が進み、ＮｏならばＳ１１２に処理が進む。
【００６２】
Ｓ１１０では、垂直成分ピーク検出部１３において、加速度成分Ａｚについてのプラス方向のピークが検出されたか否かを示すフラグであるピーク検出フラグが「１」にセットされ、加速度成分Ａｚについてのプラス方向のピークが検出されたことが示される。
【００６３】
Ｓ１１１では垂直成分ピーク検出部１３において変数Ｐの値が変数Ｍに代入され、その後はＳ１１４に処理が進む。
このＳ１１１の処理によって変数Ｍに代入されたＰの値は、図７に示すように、Ｓ１０８のピーク検出処理によってプラス方向のピークが検出されたときにおけるそのピークである加速度成分Ａｚのデータが格納されている加速度データファイル１２におけるレコード番号を示している。
【００６４】
ところで、Ｓ１０９の判別処理の結果がＮｏであったときには、Ｓ１１２において加速度成分Ａｚについてのプラス方向のピークが既に検出されていたか否か、すなわち前述したピーク検出フラグが「１」にセットされているか否かが垂直成分ピーク検出部１３において判別される。そして、この判別結果がＹｅｓならばＳ１１３に処理が進み、ＮｏならばＳ１１４に処理が進む。
【００６５】
Ｓ１１３では、前述したＳ１０８のピーク検出処理によって加速度成分Ａｚについてのマイナス方向のピーク、すなわち極小であるピークが検出されたか否かが垂直成分ピーク検出部１３によって判別される。そして、この判別結果がＹｅｓならばＳ１１６に処理が進み、ＮｏならばＳ１１４に処理が進む。
【００６６】
以上のＳ１１２及びＳ１１３の処理により、加速度成分Ａｚについてのプラス方向のピークとマイナス方向のピークとの両方が検出されたときにのみＳ１１６に処理が進み、そうでないときにはＳ１１４に処理が進む。
Ｓ１１４では、加速度データ管理部１１において変数Ｎの現在の値に「１」が加算され、その結果が改めて変数Ｎに代入される。
【００６７】
Ｓ１１５では、前述したＳ１０３の処理によってリセットされたタイマが所定の値になるまで一連の処理処理がウェイト（一時停止）され、このタイマが所定の値となったときにはＳ１０２へ処理が戻って上述した処理が繰り返される。
このタイマの計時に基づくウェイトによって、ナビゲーション装置１の移動時の加速度Ａについての加速度成分Ａｘ、Ａｙ、及びＡｚの所定時間間隔でのサンプリングが行なわれる。なお、このサンプリングの時間間隔は短くするほど急激な加速度の変化に追従できるようになるが、それだけナビゲーション装置１におけるこの歩行方向算出処理のための処理負担が増大してしまうので、この関係に留意して設定することが望ましい。なお、本実施の形態においてはこのサンプリングの時間間隔を１０ｍｓとする。
【００６８】
ところで、前述したＳ１１３の判別処理の結果がＹｅｓであったときには、Ｓ１１６において歩行角度算出処理が行なわれる。この処理の詳細は後述する。
Ｓ１１７では、加速度データ管理部１１において前述したピーク検出フラグが「０」にセットされ、更に、加速度データ管理部１１によって加速度データファイル１２に格納されている全てのデータがクリア（消去）される。これらの処理を終えた後にはＳ１０１へと処理が戻って上述した処理が繰り返される。
【００６９】
以上までの処理が歩行方向算出処理である。
次に、図９に示した歩行方向算出処理におけるＳ１０８の処理において行なわれるピーク検出処理の詳細について説明する。この処理は、あるデータ列に属するひとつのデータがそのデータ列をグラフで表現した曲線におけるピーク（極大点若しくは極小点）であるか否かを判定するものである。
【００７０】
図１０はピーク検出処理の処理内容を示すフローチャートである。
まず、Ｓ２０１では、加速度データファイル１２に格納されているレコード番号がＰであるピーク検出対象の加速度成分データを加速度データ管理部１１に読み出させ、読み出された加速度成分データについての平滑微分法によるピーク判定の基礎となる判定値Ｙp を算出する。
【００７１】
ここで、平滑微分法によるピーク判定の手法について説明する。
今、あるデータ列に属する判定対象のデータをＡ（ｎ）とし、そのデータ列においてＡ（ｎ）の前ｑ番目のデータをＡ（ｎ−ｑ）、後ｑ番目のデータをＡ（ｎ＋ｑ）と表現する。
【００７２】
このとき、下記の式にに従って判定値Ｙ（ｎ）を算出する。
【００７３】
【数１】
0004126388.tif 000002
【００７４】
上記の［数１］式において中括弧で括られている部分に注目する。この部分は隣接データ間の差分を算出している。従って、その差分に乗算される値ｋを常に１とすると上記の式は差分の総和を算出しているものとなる。この場合であればこのＹ（ｎ）の値が正であればこのデータ列は全体として増加傾向を示し、Ｙ（ｎ）の値が負であればこのデータ列は全体として減少傾向を示していることは容易に理解できる。そこで、この場合においてはデータ列におけるＡ（ｎ）の直前のデータＡ（ｎ−１）についての判定値Ｙ（ｎ−１）を求めておくことにより、Ａ（ｎ）がそのデータ列をグラフで表現した曲線におけるピークであるかどうかを判定することが可能となる。
【００７５】
すなわち、この場合であれば、Ｙ（ｎ）＞０且つＹ（ｎ−１）＜０ならばＡ（ｎ）は下向きのピークの値、すなわち極小値であるということができ、また、Ｙ（ｎ）＜０且つＹ（ｎ−１）＞０ならばＡ（ｎ）は上向きのピークの値、すなわち極大値であるということができる。
【００７６】
なお、上記の［数１］式において中括弧で括られている部分に乗算されている値ｋはその差分値に重みを与えているものである。この重みを与えることによって判定対象である測定データＡ（ｎ）に含まれ得るノイズ成分の影響が軽減されるので、判定値Ｙ（ｎ）によってデータ列の全体における大局的な増加・減少の傾向が表現されるようになるのである。
【００７７】
上述した平滑微分法によるピーク判定が図１０に示すピーク検出処理において採用されている。
Ｓ２０１の説明に戻る。加速度データファイル１２に格納されているレコード番号がＰであるピーク検出対象の加速度成分データをＡ（ｐ）とすると、Ｓ２０１では下記の式の計算が行なわれて判定値Ｙp が算出される。
【００７８】
【数２】
0004126388.tif 000003
【００７９】
Ｓ２０２では、ピーク検出処理が前回行なわれたときの判定値、すなわちＡ（ｐ−１）についてのピーク判定の判定値が格納されている変数Ｙ0pの値が取得される。
Ｓ２０３では、Ｓ２０１の処理によって算出された判定値Ｙp と「０」とが比較されて大小関係が判別される。そして、この結果、Ｙp ＞０、すなわちＹp が正であればＳ２０４に、Ｙp ＜０、すなわちＹp が負であればＳ２０６に、Ｙp ＝０、すなわちＹp が０であればＳ２０８に、それぞれ処理が進む。
【００８０】
Ｓ２０４では、変数Ｙ0p＜０、すなわち変数Ｙ0pの値が負であるか否かが判別され、この判別結果がＹｅｓならばＳ２０５に、ＮｏならばＳ２０８に、それぞれ処理が進む。
Ｓ２０５では、Ｓ２０１の処理によって算出された判定値Ｙp の値が変数Ｙ0pに代入される。この変数Ｙ0pの値は次回に行なわれるピーク検出処理で使用される。
【００８１】
Ｓ２０５の処理を終えた後にはこのピーク検出処理が終了し、元の処理へと戻る。なお、Ｓ２０３及びＳ２０４の判別処理の作用により、このＳ２０５の処理はＹp ＞０且つＹ0p＜０であるとき、すなわちＡ（ｐ）が下向きのピークであると判断されたときに行なわれるので、元の処理へはこの判断結果を示す値「−１」を返すようにする。
【００８２】
ところで、Ｓ２０３の処理によってＹp ＜０、すなわちＹp が負であると判別されたときには、Ｓ２０６において変数Ｙ0p＞０、すなわち変数Ｙ0pの値が正であるか否かが判別され、この判別結果がＹｅｓならばＳ２０７に、ＮｏならばＳ２０８に、それぞれ処理が進む。
【００８３】
Ｓ２０７では、Ｓ２０１の処理によって算出された判定値Ｙp の値が変数Ｙ0pに代入される。
Ｓ２０７の処理を終えた後にはこのピーク検出処理が終了し、元の処理へと戻る。なお、Ｓ２０３及びＳ２０６の判別処理の作用により、このＳ２０７の処理はＹp ＜０且つＹ0p＞０であるとき、すなわちＡ（ｐ）が上向きのピークであると判断されたときに行なわれるので、元の処理へはこの判断結果を示す値「＋１」を返すようにする。
【００８４】
ところで、Ｓ２０３の処理によってＹp ＝０、すなわちＹp が０であると判別されたとき、又はＳ２０４若しくはＳ２０６の判定処理の結果がＮｏであるときには、Ｓ２０８において、Ｓ２０１の処理によって算出された判定値Ｙp の値が変数Ｙ0pに代入される。
【００８５】
Ｓ２０８の処理を終えた後にはこのピーク検出処理が終了し、元の処理へと戻る。なお、Ｓ２０３、Ｓ２０４、及びＳ２０６の判別処理の作用により、このＳ２０７の処理はＡ（ｐ）がピークではないと判断されたときに行なわれるので、元の処理へはこの判断結果を示す値「０」を返すようにする。
【００８６】
以上までの処理がピーク検出処理である。
なお、図９に示した歩行方向算出処理におけるＳ１０８の処理においてこのピーク検出処理が行なわれるときには、ピーク検出の対象であるデータは加速度成分Ａｚについてのものであり、この場合には垂直成分ピーク検出部１３においてこのピーク検出処理が行なわれる。
【００８７】
次に、図９に示した歩行方向算出処理におけるＳ１１６の処理において行なわれる歩行角度算出処理について説明する。この処理は、歩行算出処理によって既に取得された加速度成分Ａｚのピークに対応して遅れて発生する加速度成分Ａｘｙのピークを検出し、このピークであるＡｘｙのＸＹ成分に基づいて歩行の進行方向を示す歩行角度を算出し、算出された歩行角度を歩行角度データファイル１７に登録する処理である。
【００８８】
図１１は歩行角度算出処理の処理内容を示すフローチャートである。
まず、Ｓ３０１では、水平成分ピーク検出部１４において変数Ｙ0pに初期値である「０」が代入され、更にＭ＋Ｋ２なる加算が水平成分ピーク検出部１４において行なわれてこの計算結果が変数Ｐに代入される。
【００８９】
ここで、Ｓ３０１の処理においてその計算結果が変数Ｐに代入される変数Ｍと定数Ｋ２との加算について説明する。
変数Ｍの値は、図９に示した歩行方向算出処理におけるＳ１１１の処理での変数Ｐのそのときの値、すなわちＳ１０８の処理として行なわれたピーク検出処理によってプラス方向のピークが検出されたときにおけるそのピークである加速度成分Ａｚのデータが格納されている加速度データファイル１２におけるレコード番号を示している。従って、このＭの値と定数Ｋ２との加算結果が代入される変数Ｐの値をレコード番号として指し示される加速度データファイル１２における加速度成分は、図７に示すように、地面に対して垂直な加速度成分Ａｚの上向きのピークからＫ２サンプル遅れたものとなる。
【００９０】
ところで、歩行運動において、地面について水平方向の加速度成分の上向きのピークは、地面に対して垂直方向の加速度の上向きのピークある程度の周期だけ遅れて生じることは前に説明した。つまり、上向きピークである垂直方向加速度成分と同時刻に検出されたものからある程度の時間が経過するまでの水平方向加速度成分には上向きピークとなるものは存在し得ないのである。
【００９１】
以上の考察から、加速度成分Ａｚの上向きピークの検出時と同時刻のものからある程度の時間が経過するまでに取得された加速度成分Ａｘｙのデータを、次に行なうピーク検出の対象から除外するために導入したものがこの定数Ｋ２なのである。こうすることにより、Ｋ２サンプル分の加速度成分Ａｘｙのデータが上向きピークの検出対象から除外されるので、それだけピークの誤検出の可能性が低減し、またピーク検出のための処理量が削減される。
【００９２】
図１１の説明に戻る。
Ｓ３０２では、加速度データファイル１２に格納されているレコード番号がＰである加速度成分Ａｘｙのデータについてのピーク検出処理が水平成分ピーク検出部１４によって行なわれる。このピーク検出処理の処理内容は図１０に示したものと同様であるが、ピーク検出の対象であるデータが加速度成分Ａｘｙについてのものである点と、水平成分ピーク検出部１４においてこの処理が行なわれる点において、図９に示した歩行方向算出処理におけるＳ１０８の処理においてこのピーク検出処理が行なわれる場合と異なっている。
【００９３】
Ｓ３０３では、前述したＳ３０２のピーク検出処理によって加速度成分Ａｘｙについてのプラス方向のピーク、すなわち極大であるピークが検出されたか否かが水平成分ピーク検出部１４によって判別される。そして、この判別結果がＹｅｓならばＳ３０６に処理が進み、ＮｏならばＳ３０４に処理が進む。
【００９４】
Ｓ３０４では、水平方向データ管理部１４において変数Ｐの現在の値に「１」が加算され、その結果が改めて変数Ｐに代入される。
Ｓ３０５では、変数Ｐの値と変数Ｎの値とが一致するか否かが水平方向データ管理部１４で判別され、この判別結果がＹｅｓならばこのままこの歩行角度算出処理が終了し、元の処理へ戻る。一方、この判別結果がＮｏならばＳ３０２へ処理が戻って上述した処理が繰り返される。
【００９５】
このＳ３０５の判別結果がＹｅｓとなる場合は、加速度データファイル１２に格納されている加速度成分Ａｘｙのデータに上方向のピークを呈するものが存在しなかった場合であり、この場合には歩行角度データの算出が行なえないので、そのときに加速度データファイル１２に格納されていたデータからの歩行角度データの算出は行なわないようにすべくこのＳ３０５の判別処理が設けられている。
【００９６】
ところでＳ３０３の判別処理の結果がＹｅｓであるときには、Ｓ３０６において、Ｓ３０２のピーク検出処理によってプラス方向のピークが検出されたときにおけるそのピークである加速度成分Ａｘｙの向きθｒの算出が歩行角度算出部１５において行なわれる。このθｒは、加速度データファイル１２のレコード番号Ｐのレコードに格納されている、そのピークである加速度成分ＡｘｙについてのＸ軸方向成分Ａｘ及びＹ軸方向成分Ａｙを取得し、
【００９７】
【数３】
0004126388.tif 000004
【００９８】
なる式の計算を行なうことによって算出される。ここで、θｒは地面について水平な平面上に定義されているＸＹ直交軸におけるＸ軸と加速度成分Ａｘｙとのなす角の角度である。
Ｓ３０７では、前ステップの処理によって算出されたθｒが角度変換部１５−１によって１８０°反転され、加速度成分Ａｘｙと逆向きの方向、すなわち歩行運動の進行方向を示す角度θが取得される。なお、ここで、角度θの取り得る値の範囲を０°≦θ≦３６０゜とする。
【００９９】
Ｓ３０８では、以上のようにして取得された歩行運動の進行方向を示す角度θを歩行角度データ管理部１６が歩行角度データファイル１７へ登録する歩行角度登録処理が行なわれ、その後はこの歩行角度算出処理が終了し、元の処理へ戻る。歩行角度登録処理の詳細は次に述べる。
【０１００】
以上までの処理が歩行角度算出処理である。
次に、上述した図１１の歩行角度算出処理におけるＳ３０８の処理である歩行角度登録処理の詳細について説明する。図１２は歩行角度データ管理部１６によって行なわれる歩行角度登録処理の処理内容を示すフローチャートである。
【０１０１】
まずＳ４０１において、歩行角度算出処理のＳ３０７の処理によって取得された角度θが、歩行角度データファイル１７における変数ｐｏｓＮの値をレコード番号とするレコード（θｄａｔａ［ｐｏｓＮ］）に格納される。なお、変数ｐｏｓＮは、図９に示した歩行方向算出処理の実行が開始される前に「０」が代入されて初期化されている。
【０１０２】
Ｓ４０２では、変数ｐｏｓＮの現在の値に「１」が加算され、その結果が改めて変数ｐｏｓＮに代入される。
Ｓ４０３では、変数ｐｏｓＮの現在の値が、歩行角度データファイル１７に用意されている角度θの格納のためのレコードに付されている最大のレコード番号を示す定数ｓｚＭａｘ（図８参照）よりも小さいか否かが判別され、この判別結果がＮｏのときのみ、Ｓ４０４において変数ｐｏｓＮに「０」が代入される。このＳ４０３及びＳ４０４の処理によって、歩行角度データファイル１７における角度θの格納領域がリングバッファとして機能するようになる。
【０１０３】
Ｓ４０５では、変数ｓｚＢｕｆの現在の値が、前述した定数ｓｚＭａｘよりも大きいか否かが判別され、この判別結果がＮｏのときのみ、Ｓ４０６において変数ｓｚＢｕｆの現在の値に「１」が加算されてその結果が改めて変数ｓｚＢｕｆに代入される。なお、この変数ｓｚＢｕｆは、歩行角度データファイル１７に格納されている角度θのデータ数を示すものであり、歩行角度データファイル１７における角度θの格納領域全てにデータが一旦格納されるとその後はこの値はｓｚＭａｘ＋１、すなわち歩行角度データファイル１７に用意されている角度θの格納のためのレコード数に固定される。なお、変数ｓｚＢｕｆは、図９に示した歩行方向算出処理の実行が開始される前に「０」が代入されて初期化されている。
【０１０４】
以上のＳ４０５及びＳ４０６の処理を終えた後はこの歩行角度登録処理が終了し、元の処理へ戻る。
以上までの処理が歩行角度登録処理である。
次に図１３にフローチャートで示す処理について説明する。この処理は、歩行角度出力部１８によって行なわれる歩行角度決定処理である。この処理は、歩行角度データファイル１７に格納されている歩行角度データの加算平均の角度を算出し、この算出結果である角度θA を最終的な歩行方向の算出結果として出力する処理であり、この処理を行なうことによって繰り返し算出された歩行方向の算出結果の傾向が最終的な歩行方向の検出結果とされるので、ごく一時的な歩行方向の算出結果の乱れを補償することができる。
【０１０５】
この処理は、ナビゲーション装置１の動作の開始と共に開始される。
まず、Ｓ５０１において、角度θA の出力を歩行方位算出部４０から要求されたか否かが判別され、この判別結果がＹｅｓとなるまでこのＳ５０１の処理が繰り返される。
【０１０６】
Ｓ５０１の判別結果がＹｅｓとなると、Ｓ５０２において歩行角度データファイル１７の各レコードに格納されている角度θを全て読み出してその総和を算出し、算出されたその総和を前述した変数ｓｚＢｕｆで除算することによって角度θA が算出される。
【０１０７】
Ｓ５０３では、前ステップの処理によって算出された角度θA が歩行方位算出部４０へと出力され、その後はＳ５０１へと処理が戻って上述した処理が繰り返される。
以上までの処理が歩行角度決定処理である。
【０１０８】
以上までに説明した図９から図１３にかけての処理が歩行方向算出部１０において行なわれることによって、加速度センサ６の３軸各軸の検出値に基づいた歩行運動における進行方向の算出が実現される。
この後、歩行方向算出部４０では、図１４（ａ）に例示するような地面について水平な平面上に定義されているＸＹ直交軸におけるＸ軸を基準として歩行方向算出部１０で算出された歩行角度θA と、図１４（ｂ）に例示するような磁北を基準として装置方位算出部２０で算出されたそのＸ軸の方位角度θB 、すなわちナビゲーション装置１の方位角度とを加算することにより、図１４（ｃ）に例示するよな磁北を基準としたときの歩行運動における歩行方向の方位、すなわち歩行方位が算出される。
【０１０９】
次に、今までに説明した歩行方向算出部１０による加速度センサ６の３軸各軸の検出値に基づいた歩行運動における進行方向の算出の別の手法について説明する。なお、これより説明する手法と区別するために、以下の説明ではここまでで説明した歩行運動における進行方向の算出の手法を「第一実施例」と称することとする。
【０１１０】
まず第二実施例について説明する。
先に示した図４及び図５においての合成加速度のグラフでは歩行運動における進行方向に対して減速方向の合成加速度の上向きのピークが明瞭であったが、被験者の違い、歩行運動を行なう路面の違い、あるいは加速度センサの設置位置の違い等により、他方の足を追い越した足が地面に着地するまでに生じる合成加速度の上向きのピーク、すなわち歩行運動における進行方向に対して加速方向の合成加速度の上向きのピークの方がむしろ明瞭に観測される場合がある。また、この加速方向の合成加速度の上向きのピークは、垂直加速度の下向きのピークと上向きのピークとの間であってその上向きのピークからある程度の周期、例えば歩行ピッチの１／４〜１／５程度の周期だけ前に生じる。
【０１１１】
そこで、第二実施例では、歩行方向算出部１０が加速度センサ６で観測される加速度よりまず垂直加速度の上向きのピークを見つけ、次にその垂直加速度の上向きのピークに対応してその前に発生していた合成加速度のピークを見つけ、地面について水平な平面においてこのピークである合成加速度の向いている方向をそのまま歩行方向として算出するようにする。
【０１１２】
この第二実施例を実施するナビゲーション装置の構造は図１に示したものと同様でよい。
また、第二実施例を実施するナビゲーション装置の構成は図２及び図６に示したものと同様でよいが、図６における角度変換部１５−１は不要である。
【０１１３】
以下、図２及び図６に示した構成を有するナビゲーション装置１においてこの第二実施例を実施するときに歩行方向算出部１０で行なわれる処理の手順について説明する。
まず図１５について説明する。同図は、この第二実施例を実施するために歩行方向算出部１０で行なわれる歩行方向算出処理の第二の例の処理内容を示すフローチャートである。同図において、図９に示した処理と同一の処理には同一のステップ名を付している。
【０１１４】
なお、図９について行なった説明と同様、説明を簡単にするために、以下の説明においては、予め算出されている地面に対する垂直方向と加速度センサ６によって検出されるＸＹＺ３軸方向の加速度成分Ａｘ0 、Ａｙ0 、Ａｚ0 とに基づいて各軸成分算出部１１−１によって算出されるナビゲーション装置１の移動時の加速度Ａについての加速度成分Ａｘ、Ａｙ、及びＡｚが、加速度センサ６から直接出力されるものとする。
【０１１５】
図１５において、Ｓ１０１からＳ１０８にかけての処理は図９に示した処理と全く同一である。
Ｓ１０８の処理である、加速度成分Ａｚを対象として行なわれる図１０に示したピーク検出処理が完了すると、続くＳ６０１では、このピーク検出処理によって加速度成分Ａｚについてのマイナス方向のピーク、すなわち極小であるピークが検出されたか否かが垂直成分ピーク検出部１３によって判別される。そして、この判別結果がＹｅｓならばＳ６０２に処理が進み、ＮｏならばＳ６０３に処理が進む。
【０１１６】
Ｓ６０２では、垂直成分ピーク検出部１３において、加速度成分Ａｚについてのマイナス方向のピークが検出されたか否かを示すフラグであるピーク検出フラグが「１」にセットされて加速度成分Ａｚについてのマイナス方向のピークが検出されたことが示され、その後はＳ１１４に処理が進む。
【０１１７】
ところで、Ｓ６０１の判別処理の結果がＮｏであったときには、Ｓ６０３において加速度成分Ａｚについてのマイナス方向のピークが既に検出されていたか否か、すなわち前述したピーク検出フラグが「１」にセットされているか否かが垂直成分ピーク検出部１３において判別される。そして、この判別結果がＹｅｓならばＳ６０４に処理が進み、ＮｏならばＳ１１４に処理が進む。
【０１１８】
Ｓ６０４では、前述したＳ１０８のピーク検出処理によって加速度成分Ａｚについてのプラス方向のピーク、すなわち極大であるピークが検出されたか否かが垂直成分ピーク検出部１３によって判別される。そして、この判別結果がＹｅｓならばＳ６０５に処理が進み、ＮｏならばＳ１１４に処理が進む。
【０１１９】
以上のＳ６０５及びＳ６０６の処理により、加速度成分Ａｚについてのマイナス方向のピークとプラス方向のピークとの両方が検出されたときにのみＳ６０５に処理が進み、そうでないときにはＳ１１４に処理が進む。
Ｓ１１４及びＳ１１５の処理はは図９に示した処理と全く同一である。
【０１２０】
ところで、前述したＳ６０４の判別処理の結果がＹｅｓであったときには、Ｓ６０５において垂直成分ピーク検出部１３において変数Ｐの値を変数Ｍに代入する処理が垂直成分ピーク検出部１３において行なわれる。この処理によって変数Ｍに代入されたＰの値は、図９におけるＳ１１１の処理の結果として得られるＰの値と同様に、Ｓ１０８のピーク検出処理によってプラス方向のピークが検出されたときにおけるそのピークである加速度成分Ａｚのデータが格納されている加速度データファイル１２におけるレコード番号を示している。
【０１２１】
Ｓ６０６では歩行角度算出処理が行なわれる。この処理は、図９のＳ１１６において行なわれるものとは若干異なる処理である。この処理の詳細は後述する。
Ｓ６０６に続いて行なわれるＳ１１７の処理はは図９に示した処理と全く同一である。
【０１２２】
以上までの処理が歩行方向算出処理の第二の例である。
次に、図１５に示した歩行方向算出処理におけるＳ６０６の処理において行なわれる歩行角度算出処理について説明する。この処理は、歩行算出処理によって既に取得された加速度成分Ａｚのピークに対応してその前に発生していた加速度成分Ａｘｙのピークを検出し、このピークであるＡｘｙのＸＹ成分に基づいて歩行の進行方向を示す歩行角度を算出し、算出された歩行角度を歩行角度データファイル１７に登録する処理である。
【０１２３】
なお、図９のＳ１１６において行なわれる図１１に示した歩行角度算出処理と区別するため、これより説明する処理を「歩行角度算出処理の第二の例」と称することとし、図１１に示した歩行角度算出処理を「歩行角度算出処理の第一の例」と称することとする。
【０１２４】
ここで図１６について説明する。同図は歩行角度算出処理の第二の例の処理内容を示すフローチャートである。
まず、Ｓ７０１では、水平成分ピーク検出部１４において変数Ｙ0pに初期値である「０」が代入され、更にＭ＋Ｋ３なる加算が水平成分ピーク検出部１４において行なわれてこの計算結果が変数Ｐに代入される。
【０１２５】
ここで、変数Ｍは、図１５に示した歩行方向算出処理におけるＳ６０５の処理での変数Ｐのそのときの値、すなわちＳ１０８の処理として行なわれたピーク検出処理によってプラス方向のピークが検出されたときにおけるそのピークである加速度成分Ａｚのデータが格納されている加速度データファイル１２におけるレコード番号を示している。
【０１２６】
また、定数Ｋ３は、加速度成分Ａｚの上向きピークの検出時からある程度の時間だけ前の時刻からその上向きピークの検出時までの時間内に取得された加速度成分Ａｘｙのデータを、次に行なうピーク検出の対象から除外し、その時間よりも以前に取得された加速度成分Ａｘｙのデータをその対象とするために導入したものである。これにより、Ｋ３サンプル分の加速度成分Ａｘｙのデータが上向きピークの検出対象から除外されるので、それだけピークの誤検出の可能性が低減し、またピーク検出のための処理量が削減される。
【０１２７】
Ｓ７０２では、第一の例におけるＳ３０２と同様の処理である、加速度成分Ａｘｙを対象として行なわれる図１０に示したピーク検出処理が水平成分ピーク検出部１４において行なわれ、続くＳ７０３において、このピーク検出処理によって加速度成分Ａｘｙについてのプラス方向のピーク、すなわち極大であるピークが検出されたか否かが水平成分ピーク検出部１４によって判別される。そして、この判別結果がＹｅｓならばＳ７０４に処理が進み、ＮｏならばＳ７０６に処理が進む。
【０１２８】
Ｓ７０４では、水平方向データ管理部１４において変数Ｐの現在の値から「１」が減算され、その結果が改めて変数Ｐに代入される。
図１１に示した第一の例におけるＳ３０４の処理と異なり、このＳ７０４の処理では減算を行なっているが、この減算は、Ｓ７０２のピーク検出処理によってプラス方向のピークを検出する対象とする加速度成分Ａｘｙのデータが読み出される加速度データファイル１２におけるレコード番号の値を、加速度成分Ａｚの上向きピークが格納されていたレコードから１サンプルずつ遡る方向に変化させるためになされている。
【０１２９】
Ｓ７０５では、変数Ｐの値が前述した変数Ｋ１を下回ったか否かが水平方向データ管理部１４で判別され、この判別結果がＹｅｓならばこのままこの歩行角度算出処理が終了し、元の処理へ戻る。一方、この判別結果がＮｏならばＳ７０２へ処理が戻って上述した処理が繰り返される。
【０１３０】
このＳ７０５の判別結果がＹｅｓとなる場合は、Ｓ７０２のピーク検出処理によってピークの検出を行なうことのできる範囲内において加速度データファイル１２に格納されている加速度成分Ａｘｙのデータに上方向のピークを呈するものが存在しなかった場合であり、この場合には歩行角度データの算出が行なえないので、そのときに加速度データファイル１２に格納されていたデータからの歩行角度データの算出は行なわないようにすべくこのＳ７０５の判別処理が設けられている。
【０１３１】
ところでＳ７０３の判別処理の結果がＹｅｓであるときには、Ｓ７０６において、前述したＳ７０２のピーク検出処理によってプラス方向のピークが検出されたときにおけるそのピークである加速度成分Ａｘｙの向きθの算出が歩行角度算出部１５において行なわれる。このθの算出式は先に示した［数３］式でのθｒの算出式と同一である。
【０１３２】
図１１に示した第一の例においては、Ｓ３０６の処理とＳ３０８の処理との間に、θｒを角度変換部１５−１によって１８０°反転するＳ３０７の処理が設けられていたが、第二実施例においては、Ｓ７０２のピーク検出処理によってプラス方向のピークが検出されたときにおけるそのピークである加速度成分Ａｘｙの向きがそのまま歩行運動の進行方向を示すので、図１６の処理においては図１１のＳ３０７に相当する処理は不要である。
【０１３３】
Ｓ７０７では、以上のようにして取得された歩行運動の進行方向を示す角度θをそのまま歩行角度データ管理部１６が歩行角度データファイル１７へ登録する歩行角度登録処理が行なわれ、その後はこの歩行角度算出処理が終了し、元の処理へ戻る。この歩行角度登録処理は図１２に示したものと同一の処理でよい。
【０１３４】
以上までの処理が歩行角度算出処理の第二の例である。
なお、この第二実施例を図２及び図６に示す構成を有するナビゲーション装置１で実施するときであっても、歩行角度出力部１８は図１３に示したものと同様の歩行角度決定処理を行なえばよい。
【０１３５】
以上までに説明した図１５及び図１６並びに図１０及び図１２、そして図１３の処理が歩行方向算出部１０において行なわれることによって、第二実施例による加速度センサ６の３軸各軸の検出値に基づいた歩行運動における進行方向の算出が実現される。
【０１３６】
次に第三実施例について説明する。
この第三実施例は、加速度成分Ａｘｙについて、前述した第一実施例のようにして検出されるプラス方向のピークを呈している値、すなわち歩行運動の減速方向の加速度のピークである値と、前述した第二実施例のようにして検出されるピークを呈している値、すなわち歩行運動の加速方向の加速度のピークである値とを比較し、その加速度成分の値の大きい方をそのピークが明瞭であるとみなして進行方向の判定基準として用いることによって歩行方向の算出を行なうというものであり、こうすることによって、前述した第一及び第二実施例によるものよりも算出される歩行方向の精度が向上する。
【０１３７】
この第三実施例を実施するナビゲーション装置の構造は図１に示したものと同様でよく、また、第三実施例を実施するナビゲーション装置の構造は図２及び図６に示したものと同様でよい。
以下、図２及び図６に示した構成を有するナビゲーション装置１においてこの第三実施例を実施するときに歩行方向算出部１０で行なわれる処理の手順について説明する。
【０１３８】
まず、第三実施例を実施するときに歩行方向算出部１０で行なわれる歩行方向算出処理は、図９に示した第一実施例におけるものと同様の処理を行なえばよいが、同図におけるＳ１１６の処理である歩行角度算出処理は、図１１に示したものとは異なる処理を行なう必要がある。
【０１３９】
ここで図１７について説明する。同図は、第三実施例を実施するときに図９に示した歩行方向算出処理のＳ１１６の処理として行なわれる、歩行角度算出処理の第三の例の処理内容を示すフローチャートである。同図において、図１１に示した第一の例における処理若しくは図１６に示した第二の例における処理と同一の処理には同一のステップ名を付している。
【０１４０】
図１７に示す処理の概要を説明すると、Ｓ７０１からＳ７０５にかけて並びにＳ８０１及びＳ８０２の処理が図１６に示す第二の例の処理と同様の処理であり、Ｓ３０１からＳ３０５にかけて並びにＳ８０３及びＳ８０４の処理が図１１に示す第一の例の処理と同様の処理である。
【０１４１】
図１７において、Ｓ７０１からＳ７０５にかけての処理は、Ｓ７０３の判別処理の結果がＹｅｓならばＳ８０１に処理が進むこと、及びＳ７０５の判別処理の結果がＹｅｓならばＳ３０１に処理が進むことを除けば図１６に示した処理と同様の処理である。
【０１４２】
Ｓ７０３の判別処理の結果がＹｅｓであるときには、Ｓ８０１において、前述した加速度成分Ａｘｙを対象としてＳ７０２で行なわれた図１０に示したピーク検出処理によってプラス方向のピークが検出されたときにおけるそのピークである加速度成分Ａｘｙの向きθａの算出が、歩行角度算出部１５において図１６のＳ７０６の処理と同様に行なわれる。このθａの算出式は先に示した［数３］式でのθｒの算出式と同一である。
【０１４３】
Ｓ８０２では、Ｓ７０３の判別処理によってプラス方向のピークであると判別されたときの加速度成分Ａｘｙの値が変数Ａｘｙａに代入され、その後はＳ３０１に処理が進む。
Ｓ８０２に続いて行なわれる、若しくはＳ７０５の判別処理の結果がＹｅｓであるときに行なわれるＳ３０１からＳ３０６にかけての処理は、Ｓ３０５の判別処理の結果がＹｅｓならばＳ８０５に処理が進むこと、及びＳ３０６の処理に続いてＳ８０３の処理が行なわれることを除けば図１１に示した処理と同様の処理である。
【０１４４】
Ｓ３０６の処理に続いて行なわれるＳ８０３では、Ｓ３０６の処理によって算出されたθｒが角度変換部１５−１によって１８０°反転されて加速度成分Ａｘｙと逆向きの方向、すなわち歩行運動の進行方向を示す角度θｂの取得を行なう処理が図１１のＳ３０７と同様に行なわれる。
【０１４５】
Ｓ８０４では、加速度成分Ａｘｙを対象としてＳ３０２で行なわれた図１０に示したピーク検出処理によってプラス方向のピークであるとＳ３０３の判別処理において判別されたときの加速度成分Ａｘｙの値が変数Ａｘｙｂに代入される。Ｓ８０５では、変数Ａｘｙａの値が変数Ａｘｙｂの値以上であるか否かが判別され、この判別結果がＹｅｓならば、Ｓ８０６において、前述した角度θａを歩行角度データ管理部１６が歩行角度データファイル１７へ登録する歩行角度登録処理が行なわれる。一方、Ｓ８０５の判定処理の結果がＮｏならば、Ｓ８０７において、前述した角度θｂを歩行角度データ管理部１６が歩行角度データファイル１７へ登録する歩行角度登録処理が行なわれる。このＳ８０６及びＳ８０７で行なわれる歩行角度算出処理は、歩行角度データファイル１７へ登録する対象のデータがθａとθｂとで異なることを除けば、どちらの処理においても図１２に示したものが行なわれる。
【０１４６】
このＳ８０５の判別処理では、変数Ａｘｙａの値と変数Ａｘｙｂの値との大小比較を行なうことによって、加速度成分Ａｘｙについて、歩行運動における減速方向の加速度のピークと加速方向の加速度のピークとのうちどちらが明瞭であるとみなせるかの判定が行なわれ、その判定結果に応じて選択されて行なわれるＳ８０６若しくはＳ８０７の歩行角度算出処理によって、角度θａ若しくは角度θｂのうち、そのピークが明瞭であるとみなされた方で算出されたものが信頼度の高い歩行角度であるとして歩行角度データファイル１７に格納される。
【０１４７】
このＳ８０６若しくはＳ８０７のうちのいずれかの処理を終えた後にはこの歩行角度算出処理が終了し、元の処理へ戻る。
以上までの処理が歩行角度算出処理の第三の例である。
なお、この第三実施例を図２及び図６に示す構成を有するナビゲーション装置１で実施するときであっても、歩行角度出力部１８は図１３に示したものと同様の歩行角度決定処理を行なえばよい。
【０１４８】
以上までに説明した図９及び図１７並びに図１０及び図１２、そして図１３の処理が歩行方向算出部１０において行なわれることによって、第三実施例による加速度センサ６の３軸各軸の検出値に基づいた歩行運動における進行方向の算出が実現される。
【０１４９】
なお、前述した図９から図１３にかけて及び図１５から図１７にかけて示した各種の処理を前述したような標準的な構成を有するコンピュータに行なわせるための制御プログラムを作成し、その制御プログラムをそのコンピュータに読み込ませて実行させることにより、上述した第一、第二、若しくは第三実施例における歩行方向算出部１０に相当する機能をそのようなコンピュータに行なわせることも可能である。また、このような制御プログラムをコンピュータで読み取り可能な記録媒体に記録させ、そのプログラムを記録媒体からコンピュータに読み出させて実行させることによってこれらの第一、第二、若しくは第三実施例における歩行方向算出部１０に相当する機能をこのようなコンピュータに行なわせることも可能である。
【０１５０】
記録させた制御プログラムをコンピュータで読み取ることの可能な記録媒体の例を図１８に示す。同図に示すように、記録媒体としては、例えば、コンピュータ１００１に内蔵若しくは外付けの付属装置として備えられるＲＯＭやハードディスク装置などの記憶装置１００２、あるいはフレキシブルディスク、ＭＯ（光磁気ディスク）、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭなどといった携帯可能記録媒体１００３等が利用できる。また、記録媒体はネットワーク１００４を介してコンピュータ１００１と接続される、プログラムサーバ１００５として機能するコンピュータが備えている記憶装置１００６であってもよい。この場合には、制御プログラムを表現するデータ信号で搬送波を変調して得られる伝送信号を、プログラムサーバ１００５から伝送媒体であるネットワーク１００４を通じて伝送するようにし、コンピュータ１００１では受信した伝送信号を復調して制御プログラムを再生することで当該制御プログラムを実行できるようになる。
【０１５１】
その他、本発明は、上述した実施形態に限定されることなく、種々の改良・変更が可能である。
例えば、前述した第三実施例で使用している定数Ｋ２及び定数Ｋ３には大差ない値が設定される場合が多いので、この変数を共通化してもよく、こうすることにより図１５に示す処理の実行のために予め用意しておく必要のある定数の個数を減らすことができる。
【０１５２】
【発明の効果】
本発明の歩行方向検出装置で検出される進行の方向は、移動体の歩行時における鉛直方向及び水平方向の加速度成分の取得を行ない、鉛直方向の加速度成分の変化が極大を呈した部分及び極小を呈した部分の間において、水平方向の加速度成分の変化が極大を呈した部分において該水平方向の加速度成分が向いている方向の検出を行ない、この検出された方向に対応して特定される方向である。
すなわち本発明は、移動体の歩行時における加速度成分の鉛直・水平方向の変化と水平方向の加速度の向きにより移動体の進行の方向を特定するので、当該装置の携行状態に拘わらず精度の優れた移動体の進行方向の検出が可能となる。
【図面の簡単な説明】
【図１】本発明を実施するナビゲーション装置の構造を示す図である。
【図２】本発明を実施するナビゲーション装置の構成を示す図である。
【図３】歩行運動における前後振動を説明する図である。
【図４】歩行運動における水平方向加速度と垂直方向加速度との関係を求める実験の結果をグラフで示した図（その１）である。
【図５】歩行運動における水平方向加速度と垂直方向加速度との関係を求める実験の結果をグラフで示した図（その２）である。
【図６】歩行方向算出部の詳細構成を示す図である。
【図７】加速度データファイルの構造を示す図である。
【図８】歩行角度データファイルの構造を示す図である。
【図９】歩行方向算出処理の処理内容を示すフローチャートである。
【図１０】ピーク検出処理の処理内容を示すフローチャートである。
【図１１】歩行角度算出処理の処理内容を示すフローチャートである。
【図１２】歩行角度登録処理の処理内容を示すフローチャートである。
【図１３】歩行角度決定処理を示す図である。
【図１４】歩行方位の算出法を説明する図である。
【図１５】歩行方向算出処理の第二の例の処理内容を示すフローチャートである。
【図１６】歩行角度算出処理の第二の例の処理内容を示すフローチャートである。
【図１７】歩行方向算出処理の第三の例の処理内容を示すフローチャートである。
【図１８】記録させた制御プログラムをコンピュータで読み取ることの可能な記録媒体の例を示す図である。
【符号の説明】
１  ナビゲーション装置
２  本体
３  アンテナ
４  表示部
５  操作ボタン
６  加速度センサ
７  方位センサ
１０  歩行方向算出部
１１  加速度データ管理部
１１−１  各軸成分算出部
１２  加速度データファイル
１３  垂直成分ピーク検出部
１４  水平成分ピーク検出部
１５  歩行角度算出部
１５−１  角度変換部
１６  歩行角度データ管理部
１７  歩行角度データファイル
１８  歩行角度出力部
２０  移動速度算出部
３０  装置方位算出部
４０  歩行方位算出部
５０  ＧＰＳ電波受信部
６０  ＧＰＳ測位算出部
７０  現在位置算出部
８０  地図情報データベース
９０  地図マッピング制御部
１００１  コンピュータ
１００２、１００６  記憶装置
１００３  携帯可能記録媒体
１００４  ネットワーク
１００５  プログラムサーバ
【図１】
0004126388.tif 000005
【図２】
0004126388.tif 000006
【図３】
0004126388.tif 000007
【図４】
0004126388.tif 000008
【図５】
0004126388.tif 000009
【図６】
0004126388.tif 000010
【図７】
0004126388.tif 000011
【図８】
0004126388.tif 000012
【図９】
0004126388.tif 000013
【図１０】
0004126388.tif 000014
【図１１】
0004126388.tif 000015
【図１２】
0004126388.tif 000016
【図１３】
0004126388.tif 000017
【図１４】
0004126388.tif 000018
【図１５】
0004126388.tif 000019
【図１６】
0004126388.tif 000020
【図１７】
0004126388.tif 000021
【図１８】
0004126388.tif 000022