説明

移動方向算出装置、移動方向算出プログラムおよび移動方向算出方法

【課題】処理負担が軽く、かつ、高精度に歩行体の移動方向を算出可能な移動方向算出装置を提供すること。
【解決手段】移動方向算出装置110は、検出部111によって歩行体100におけるX軸、Y軸、およびZ軸との3軸方向の加速度とを検出する。そして、検出されたZ軸方向の加速度の加速度曲線のピーク間隔を歩行体100の歩行間隔として特定する。さらに、方向算出部113によって、特定した歩行間隔における各軸方向の加速度曲線を用いて、歩行体100が前後、左右、右斜め前後、左斜め前後の8方向の各方向に移動しているかの可能性をポイント化したスコアを算出し、出力部114によって、算出されたスコアが最も大きい方向を歩行体100の移動方向として出力する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、歩行体に装着して歩行体の移動方向を算出する移動方向算出装置、移動方向算出プログラムおよび移動方向算出方法に関する。
【背景技術】
【0002】
従来より、GPS信号などの外部からの測定信号を使用することなく自律的に歩行体自身の体の移動方向を算出する技術は多数提供されている。移動方向を検出するには、通常、磁気センサおよびジャイロセンサを利用し、それぞれのセンサから得られる情報を使用して体の向きを検出し、その体の向きに対して必ず進んでいるとするか、あらかじめどの方向に進むかを人が設定して位置を算出していた。
【0003】
具体的には、たとえば、X軸、Y軸およびZ軸の加速度センサを用いてZ軸加速度の正の値のピークから負の値のピークの間で、X軸とY軸の加速度の合成値を求め、この合成値が正の値のピークの時のX軸とY軸の加速度から移動角度を求める技術が開示されている(たとえば、下記特許文献1、2参照。)。
【0004】
【特許文献1】特開2003−302419号公報
【特許文献2】特開2007−325722号公報
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上述したような従来の自律型位置検出装置では、まず、磁気センサやジャイロセンサを用いて利用者の体の向きを算出し、その後、算出した向きに必ず進んでいるか、否かを判定して移動方向を算出していた。この算出した向きに必ず進んでいるか、否かの判定基準は、あらかじめ設定した方向や、限定した方向に進んでいるかなど、あらかじめ利用者などによって設定されたものである。しかしながら、通常人の移動は前進のみならず後進や左右の横歩き、斜め方向への移動など多種の移動が組み合わされており、移動方向を前進などに固定されていては、正確な位置の検出が難しいという問題があった。
【0006】
また、上記特許文献1の技術では、移動方向はある程度算出できるものの、平方根や三角関数の多大な演算が必要となる。移動方向を算出する装置という目的上、装置本体は人が装着可能な形状かつ重量の携帯機器でなければならない。しかしながら、このような携帯機器によって算出するには上記の技術の場合、処理負荷が重く、さらに、人の体の揺れなどによる誤差要因を含んでいた。したがって、多大な計算量にも関わらず、高精度な移動方向の算出は期待できないという問題があった。
【0007】
また、上記特許文献2の技術では、前後左右の4方向の分解能しか備えていない。したがって、特定の施設内にいる場合や、歩行者が特定の競技下である場合以外では、正確な移動方向を把握できないという問題があった。
【0008】
この発明は、上述した従来技術による問題点を解消するため、処理負担が軽く、かつ、高精度に歩行体の移動方向を算出可能な移動方向算出装置、移動方向算出プログラムおよび移動方向算出方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するため、この移動方向算出装置、移動方向算出プログラムおよび移動方向算出方法は、歩行体の正面方向となるX軸と、前記正面方向に対して直角に交わる当該歩行体の左右方向となるY軸と、当該歩行体の垂直方向となるZ軸との3軸方向の加速度とを検出する検出手段を歩行体に装着し、検出されたZ軸方向の加速度の連続値をあらわす加速度曲線のピーク間隔を前記歩行体の歩行間隔として特定する処理と、特定された歩行間隔における前記各軸方向の加速度曲線を用いて、前記歩行体が前後、左右、右斜め前後、左斜め前後の8方向の各方向に移動しているかの可能性をポイント化したスコアを算出する処理と、前記8方向のうち、算出されたスコアが最も大きい方向を前記歩行体の移動方向と判別する処理と、判別された移動方向を出力する処理とを備えることを要件とする。
【0010】
この移動方向算出装置、移動方向算出プログラムおよび移動方向算出方法によれば、検出手段によって検出された3軸の加速度曲線を用いて前後、左右、右斜め前後、左斜め前後の8方向それぞれについて、歩行体が移動している可能性をスコアとして表現することができる。したがって、このスコアを参照することによって、歩行体の移動方向を容易に判別することができる。
【発明の効果】
【0011】
この移動方向算出装置、移動方向算出プログラムおよび移動方向算出方法によれば、処理負担が軽く、かつ、高精度に歩行体の移動方向算出を実現することができるという効果を奏する。
【発明を実施するための最良の形態】
【0012】
以下に添付図面を参照して、この移動方向算出装置、移動方向算出プログラムおよび移動方向算出方法の好適な実施の形態を詳細に説明する。
【0013】
(移動方向算出処理の概要)
まず、本実施の形態にかかる移動方向算出処理の概要について説明する。図1は、移動方向算出処理の概要を示す説明図である。
【0014】
図1のように、本実施の形態では、歩行体100に移動方向算出装置110を装着させる。移動方向算出装置110は、検出部111と、歩行間隔特定部112と、方向算出部113と、判別部114とを含んでいる。
【0015】
検出部111は、図1に示したように、歩行体100の正面方向となるX軸と、正面方向に対して直角に交わる歩行体100の左右方向となるY軸と、歩行体100の垂直方向となるZ軸との3軸方向の加速度とを検出する。なお、本実施の形態では、便宜上図1に示した方向にX、Y、Zの名称を付けて説明するが、これら3方向の加速度を検出することができれば、特に名称は限定されない。
【0016】
歩行間隔特定部112は、検出部111によって検出されたZ軸方向の加速度の連続値をあらわす加速度曲線のピーク間隔を歩行体100の歩行間隔として特定する。Z軸方向の加速度曲線は、sinカーブを描く。したがって、ピーク間隔とは、Z軸方向の加速度曲線の正の値の最大振幅が出現する間隔もしくは、負の値の最大振幅が出現する間隔をあらわす。
【0017】
さらに、歩行間隔特定部112は、厳密に歩行間隔を特定するために、しきい値を設定してもよい。すなわち、sinカーブが示すピークを一様に検出するのではなく、最大値ピークの場合も最小値ピークの場合もあらかじめ定めたしきい値幅以上になった場合にのみピークとみなすことによって、歩行体100の体の揺れなどによって発生したZ軸方向の加速度曲線の細かなピークを一歩と誤検出してしまうような事態を避けることができる。
【0018】
方向算出部113は、歩行間隔特定部112によって特定された歩行間隔におけるX、Y、Zの各軸方向の加速度曲線を用いて、歩行体100が前後、左右、右斜め前後、左斜め前後8方向の各方向に移動しているかの可能性をポイント化したスコアを算出する。
【0019】
ここでスコアの算出についてさらに説明する。本実施の形態の場合、各軸の加速度曲線から歩行間隔特定部112によって特定された一歩の歩行間隔における各軸方向の加速度曲線から下記のような値を取得する。
【0020】
・各軸方向の加速度曲線の振幅値
・X軸、Y軸方向の加速度曲線が最大値および最小値となる時間
・X軸、Y軸方向の加速度曲線の絶対値の積分値
・Z軸方向の加速度曲線の値が最小となる時のX軸、Y軸方向の加速度曲線の傾斜
・Z軸方向の加速度曲線の頂点数
・Z軸方向の加速度曲線の2つ目の頂点におけるX軸、Y軸方向の加速度
【0021】
これらの値を用いて下記に示す可能性判断をおこなう。この判断結果に応じて、8方向のうち移動している可能性が高い方向のスコアにポイントを加算していく。そして、すべての判断が終わった時点でのポイントの累積が、各方向のスコアとなる。
【0022】
(1)「前後」または「左右」のどちらに移動しているかの可能性判断
(2)「前」または「後」のどちらに移動しているかの可能性判断
(3)「右」または「左」のどちらに移動しているかの可能性判断
(4)「前後」、「左右」、「斜め」のいずれかに移動しているかの可能性判断
【0023】
判別部114は、上述した8方向のうち、方向算出部113によって算出されたスコアが最も大きい方向を歩行体100の移動方向と判別する。また、判別部114は、上述したような方向スコアの算出に加え、歩行体100の歩き方を判別する機能を備えている。移動方向算出装置110では、歩行体100が通常歩行、駆け足、忍び足、蟹歩きのいずれの歩き方をしているかを判別することができる。
【0024】
なお、判別部114によって、歩き方の判別も併せておこなわれた場合には、方向判別は、歩き方判別結果に連動して変化する。具体的には、歩行体100が駆け足歩行の場合には、歩行体100が飛び上がるため、Z軸方向の加速度の位相が反転した波形が検出されてしまう。したがって、歩行体100が駆け足歩行であると判定された場合には、方向スコアは実際の移動方向の可能性と反対の結果が出力されてしまう。したがって、判別部114は、歩行対100が駆け足歩行と判別された場合には、方向算出部113によって算出されたスコアが最も大きい方向と180度反対の方向を移動方向として出力する。
【0025】
判別部114によって判別された歩行体100の移動方向は、出力手段(不図示)によって一意的に外部に出力される。また、判別部114によって歩き方が判別された場合には、判別された歩き方も併せて出力する。なお、出力手段による出力先は任意に設定できる。たとえば、移動方向算出装置110に表示部(不図示)を取り付けて歩行体100自身に算出結果を表示してもよいし、通信I/F(インターフェース)を介して他の装置に送信してもよい。
【0026】
このように、本実施の形態では、3軸の加速度という限られた検出値を利用して、8方向の分解能と、歩き方判別とを備えた高精度な移動方向算出処理を実現することができる。
【0027】
(移動方向算出装置のハードウェア構成)
まず、本実施の形態にかかる移動方向算出装置のハードウェア構成について説明する。図2は、移動方向算出装置のハードウェア構成を示すブロック図である。図1にあらわしたように移動方向算出装置110は、たばこ箱サイズの小型装置である。また、移動方向算出装置110は、たとえば、PDA(Personal Digital Assistant)やPC(Personal Computer)などの既存の端末に以下で説明するハードウェア構成を追加したものでもよいし、専用の筐体からなる装置であってもよい。
【0028】
さらに移動方向算出装置110の内部は、CPU201と、ROM202と、RAM203と、HDD(ハードディスクドライブ)204と、HD(ハードディスク)205と、メモリドライブ206と、着脱可能な記録媒体としてリムーバブルメモリ207と、ディスプレイ208と、入力I/F(インターフェース)209と、各種センサ210と、ネットワークI/F211を備えている。また、各構成部はバス220によってそれぞれ接続されている。
【0029】
ここで、CPU201は、移動方向算出装置110の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。HDD204は、CPU201の制御にしたがってHD205に対するデータのリード/ライトを制御する。HD205は、HDD204の制御で書き込まれたデータを記憶する。
【0030】
メモリドライブ206は、CPU201の制御にしたがってリムーバブルメモリ207に対するデータのリード/ライトを制御する。リムーバブルメモリ207は、メモリドライブ206の制御で書き込まれたデータを記憶したり、リムーバブルメモリ207に記憶されたデータをCPU201の制御に応じてメモリドライブ206に読み取らせたりする。
【0031】
ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像によって移動方向算出結果に関するデータを表示する。このディスプレイ208は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【0032】
入力I/F209は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。また、入力I/F209の入力手段は、タッチパネルやトラックボールなどのポインティングデバイスであってもよい。
【0033】
各種センサ210は、移動方向を算出するための情報を測定するための異なる機能のセンサから構成されている。具体的には、歩行体100の歩行間隔を検出するための加速度センサと、歩行体100の移動方向を算出するための磁気センサとジャイロセンサとが搭載されている。なお、本実施の形態にかかる移動方向算出装置110の場合、加速度センサは必須の構成となるが、他のセンサは任意である。
【0034】
ネットワークI/F211は、有線無線を問わずに通信回線212を通じてインターネットなどのネットワーク230に接続し、このネットワーク230を介して移動方向算出装置110を他の装置に接続させる。そして、ネットワークI/F211は、ネットワーク230と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。ネットワークI/F211には、たとえばモデムやLANアダプタなどを採用することができる。
【0035】
(移動方向算出装置の機能的構成)
つぎに、本実施の形態にかかる移動方向算出装置の機能的構成について説明する。図3は、移動方向算出装置の機能的構成を示すブロック図である。図3のように、移動方向算出装置110は、センサ部310と、演算処理部320と、記憶部330と、表示部340と、通信部350とから構成されている。
【0036】
センサ部310は、加速度センサ311と、磁気センサ312と、ジャイロセンサ313との3種類のセンサを備えている。これらのセンサから歩行体100の移動に伴う動作内容を所定の間隔ごとに連続して検出する。このセンサ部310は、たとえば、図2にて説明した各種センサ210によって実現される。また、上述したように、加速度センサ311以外のセンサを搭載するかは任意である。
【0037】
演算処理部320は、センサ部310から取得した検出値を用いて歩行体100の移動方向を算出する機能部である。この演算処理部320は、たとえば、図2にて説明したCPU201、ROM202およびRAM203によって実現される。
【0038】
記憶部330は、CPU201の制御に応じて所定の情報を保存する記憶領域である。この記憶部330に保存されている情報としては、入力情報331、出力情報332、演算処理に必要な設定パラメータ333、判定処理内容と判定基準が設定された判定テーブル334、演算処理に用いる演算アルゴリズム335がある。この記憶部330は、たとえば、図2にて説明したHDD204、HD205、メモリドライブ206およびリムーバブルメモリ207によって実現される。
【0039】
表示部340および通信部350は、演算処理部320によって演算された歩行体100の移動方向算出結果の出力手段として機能する。表示部340では、液晶ディスプレイなどの表示デバイスによって移動方向算出結果を歩行体100自身に移動方向を報知することができる。また、通信部350は、移動方向算出結果を他の装置や所定のアドレスに送信することができるため、他者に対して歩行体100の移動方向を報知することができる。
【0040】
なお、通信部350は、移動方向算出結果の他に、外部の装置との通信によって、演算処理部320における演算に必要な設定パラメータ333、判定テーブル334および演算アルゴリズム335を外部から取得することができる。この表示部340は、たとえば、図2のディスプレイ208によって実現される。また、通信部350は、たとえば、図2のネットワークI/F211によって実現される。
【0041】
(加速度センサによる検出値の扱い)
つぎに、加速度センサ311による検出値の扱いについて説明する。図1の概要にて説明したように、本実施の形態では、加速度センサ311の検出値から歩行体100が前後左右斜めの8方向のいずれかに進行しているか、そして、いかなる種類の歩行をおこなっているかを算出する。この算出をおこなうには、加速度センサ311による検出値から各種値を検出する必要がある。したがって、以下に、本実施の形態において、移動方向算出に利用する各種値の検出内容について説明する。
【0042】
・歩行間隔の検出
まず、歩行体100の一歩ごとの歩行間隔について説明する。図4は、一歩の歩行間隔の検出処理を示す説明図である。図4の曲線400は、加速度センサによって検出されたZ軸方向の加速度の連続値を示している。この曲線400からピークを検出し、t1とt2とにおける2つのピークの間隔AZMaxTを歩行体の一歩の間隔として検出する。なお、図4では、最大値側の2ピークを検出しているが、最小値側の2ピークを算出してもよい。最大値側、最小値側のいずれのピークを検出する場合も、あらかじめ設定したしきい値範囲(ここでは、一例として、35〜−40の範囲)を超えた値を検出することによって、誤検出を防ぐことができる。
【0043】
・加速度の振幅とピーク間隔検出
つぎに、X軸方向、Y軸方向の加速度曲線の振幅とピーク間隔検出について説明する。図5−1は、X軸加速度の振幅の最大値と最小値との時差を示す説明図である。また、図5−2は、Y軸加速度の振幅の最大値と最小値との時差を示す説明図である。
【0044】
図5−1の曲線510は、加速度センサによって検出されたX軸方向の加速度の連続値を示している。また、図5−2の曲線520は、加速度センサによって検出されたY軸方向の加速度の連続値を示している。曲線510も、曲線520も、曲線400の周期に基づいて、各種値が検出される。
【0045】
具体的に説明すると、図5−1では、曲線400の最大振幅AZPpと、曲線510の最大振幅AXPpとの時間が検出される。このとき、正の最大振幅AZPpを基準とした場合の、曲線510の正の最大振幅AXPpまでの時間をΔT1、負の最大振幅AXPpまでの時間をΔT2とする。同様に、図5−2の場合も、正の最大振幅AZPpを基準とした場合の、曲線520の正の最大振幅AYPpまでの時間をΔT3、負の最大振幅AYPpまでの時間をΔT4とする。
【0046】
・加速度の絶対値の和検出
つぎに、X軸方向、Y軸方向の加速度曲線の絶対値の和検出について説明する。図6−1は、X軸加速度の絶対値の和を示す説明図である。また、図6−2は、Y軸加速度の絶対値の和を示す説明図である。図6−1に示すように、X軸加速度の絶対値の和として検出されるのは曲線510のAXSumMである。また、図6−2に示すように、Y軸加速度の絶対値の和として検出されるのは曲線520のAYSumMである。なお、正確には、図6−1の場合も、図6−2の場合も、絶対値の和は、曲線400のピーク間隔に限定して検出される。
【0047】
・加速度の変化率検出
つぎに、X軸方向、Y軸方向の加速度曲線の変化率検出について説明する。図7は、加速度の変化率検出を示す説明図である。図7では、Z軸方向の加速度を示す曲線400の値が最小になる時間tminにおける他の軸の加速度を示す曲線510もしくは曲線520の変化率ΔMLを検出する。また、Z軸方向の加速度を示す曲線400の値が0になる時間t0における他の軸の加速度を示す曲線510もしくは曲線520の変化率ΔM0も検出する。
【0048】
・ピーク検出
つぎに、X軸方向、Y軸方向の加速度曲線のピーク検出について説明する。図8は、一周期内の各軸のピークを示す説明図である。図8の曲線800は、歩行体100が忍び足歩行をした場合のZ軸方向の加速度の一例をあらわしている。曲線800のように、忍び足の場合は、一周期(しきい値範囲を超えたピーク間隔)の間に複数のピークが出現する。したがって、各ピークは出現順にP1、P2、…、Pnとして検出される。さらに、P2における他の軸の曲線510、520の加速度を特にpeak2AX(X軸方向の場合)、peak2AY(Y軸方向の場合)として検出する。
【0049】
・蟹歩き検出
つぎに、蟹歩き検出について説明する。本実施の形態の場合、Y軸方向の加速度曲線が所定の振る舞いを示した場合に、歩行体100による蟹歩き歩行を判別することができる。図9−1は、左方向の蟹歩き判定を示す説明図である。また、図9−2は、右方向の蟹歩き判定を示す説明図である。
【0050】
図9−1のP910のように、曲線520によってあらわされたY軸方向の加速度の中で、最大値側のピークにおいて歩行間隔の開始時刻との差(曲線400の値との差)がない場合には、つぎの一周期t911は左方向に蟹歩き歩行中であると判別される。なお、つぎのY軸方向の加速度の最小値側のピークと歩行間隔の開始時刻とには差があるため、一周期t912は通常歩行中であると判断される。
【0051】
図9−2のP920も同様に、曲線520によってあらわされたY軸方向の加速度の中で、最小値側のピークにおいて歩行間隔の開始時刻との差(曲線400の値との差)がない場合には、つぎの一周期t921は右方向に蟹歩き歩行中であると判別される。ここでも、つぎのY軸方向の加速度の最大値側のピークと歩行間隔の開始時刻とには差があるため、一周期t922は通常歩行中であると判断される。
【0052】
以上説明した各検出値は、歩行体100が移動している可能性をポイントしたスコアを算出する際に利用される。また、上述の検出処理に登場したしきい値などの設定値は、あらかじめ設定パラメータ333に記録された値を利用することができる。また、検出された値が具体的にどのように利用され、どのような判断によって方向スコアにポイントが加算されるかを、移動算出処理の手順に沿って説明する。
【0053】
(移動方向算出処理の手順)
つぎに、上述した加速度センサの検出値を用いた移動方向算出処理の手順について説明する。図10〜図13は、進行方向算出処理の手順を示すフローチャートである。図10のフローチャートにおいて、まず、Z軸方向の加速度曲線の最大値(+)ピークから次の最大値(+)ピークまでを一歩の歩行間隔をあらわす一周期に設定する(ステップS1001)。以下、この一周期における各軸方向の加速度曲線の検出値を利用した処理をおこなう。
【0054】
つぎに、X軸方向の加速度曲線の面積がY軸方向の加速度曲線の面積よりも大きいか否かを判断する(ステップS1002)。このX軸方向の加速度曲線の面積やY軸方向の加速度曲線の面積を求めるには、図6−1、図6−2にて説明したAXSumMやAYSumMを参照すればよい。
【0055】
ステップS1002において、X軸方向の加速度曲線の面積がY軸方向の加速度曲線の面積よりも大きいと判断された場合(ステップS1002:Yes)、前スコア、後スコアに2ポイント加算し、右斜め前スコア、右斜め後スコア、左斜め後スコア、左斜め前スコアに1ポイント加算する(ステップS1003)。一方、X軸方向の加速度曲線の面積がY軸方向の加速度曲線の面積と等しいまたは小さいと判断された場合(ステップS1002:No)、右スコア、左スコアに2ポイント加算し、右斜め前スコア、右斜め後スコア、左斜め後、左斜め前スコアに1ポイント加算する(ステップS1004)。
【0056】
ここで、図14−1は、前方向に歩いた場合のX軸加速度とY軸加速度との面積差を示す図表である。また、図14−2は、左方向に歩いた場合のX軸加速度とY軸加速度との面積差を示す図表である。図14−1のように、歩行体100が前方向に歩くとX軸方向の加速度曲線の面積とY軸方向の加速度曲線の面積との差分は正の値として出力される。したがって、X軸方向の加速度曲線の面積がY軸方向の加速度曲線の面積よりも大きい場合は、前後方向に歩いている可能性が高いため、前後スコアに高ポイントを加算する。
【0057】
一方、図14−2のように、歩行体100が左方向に歩くとX軸方向の加速度曲線の面積とY軸方向の加速度曲線の面積との差分は負の値として出力される。したがって、X軸方向の加速度曲線の面積がY軸方向の加速度曲線の面積よりも等しいか小さい場合は、左右方向に歩いている可能性が高いため、左右スコアに高ポイントを加算する。
【0058】
図10のフローチャートに戻り、つぎに、X軸方向の加速度曲線の振幅がY軸方向の加速度曲線の振幅よりも大きいか否かを判断する(ステップS1005)。X軸方向の加速度曲線の振幅やY軸方向の加速度曲線の振幅を求めるには、図5−1、図5−2にて説明した最大振幅AXPpや最大振幅AYPpを参照すればよい。
【0059】
ステップS1005において、X軸方向の加速度曲線の振幅がY軸方向の加速度曲線の振幅よりも大きいと判断された場合(ステップS1005:Yes)、前スコア、後スコアに2ポイント加算し、右斜め前スコア、右斜め後スコア、左斜め後スコア、左斜め前スコアに1ポイント加算する(ステップS1006)。一方、X軸方向の加速度曲線の振幅がY軸方向の加速度曲線の振幅と等しいまたは小さいと判断された場合(ステップS1005:No)、右スコア、左スコアに2ポイント加算し、右斜め前スコア、右斜め後スコア、左斜め後スコア、左斜め前スコアに1ポイント加算する(ステップS1007)。
【0060】
ここで、図15−1は、前方向に歩いた場合のX軸加速度とY軸加速度との振幅差を示す図表である。また、図15−2は、左方向に歩いた場合のX軸加速度とY軸加速度との振幅差を示す図表である。図15−1のように、歩行体100が前方向に歩くとX軸方向の加速度曲線の振幅とY軸方向の加速度曲線の振幅との差分は正の値として出力される。したがって、X軸方向の加速度曲線の振幅がY軸方向の加速度曲線の振幅よりも大きい場合は、前後方向に歩いている可能性が高いため、前後スコアに高ポイントを加算する。
【0061】
一方、図15−2のように、歩行体100が左方向に歩くとX軸方向の加速度曲線の振幅とY軸方向の加速度曲線の振幅との差分は負の値として出力される。したがって、X軸方向の加速度曲線の面積がY軸方向の加速度曲線の振幅よりも等しいか小さい場合は、左右方向に歩いている可能性が高いため、左右スコアに高ポイントを加算する。
【0062】
図10のフローチャートに戻り、続いて、Z軸方向の加速度曲線が最小値(負の値のピーク)の時のX軸方向の加速度曲線の傾きがY軸方向の加速度曲線の傾きよりも大きいか否かを判断する(ステップS1008)。このステップS1008における加速度曲線の傾きは、図7に示したようなtminにおける変化率ΔMLを参照すればよい。
【0063】
ステップS1008において、Z軸方向の加速度曲線が最小値(負の値のピーク)の時のX軸方向の加速度曲線の傾きがY軸方向の加速度曲線の傾きよりも大きい場合(ステップS1008:Yes)、前スコア、後スコアに2ポイント加算し、右斜め前スコア、右斜め後スコア、左斜め後スコア、左斜め前スコアに1ポイント加算する(ステップS1009)。一方、Z軸方向の加速度曲線が最小値(負の値のピーク)の時のX軸方向の加速度曲線の傾きがY軸方向の加速度曲線の傾きと等しいまたは小さいと判断された場合(ステップS1008:No)、右スコア、左スコアに2ポイント加算し、右斜め前スコア、右斜め後スコア、左斜め後スコア、左斜め前スコアに1ポイント加算する(ステップS1010)。
【0064】
ここで、図16−1は、前方向に歩いた場合のX軸加速度とY軸加速度との傾斜平方差を示す図表である。また、図16−2は、左方向に歩いた場合のX軸加速度とY軸加速度との傾斜平方差を示す図表である。ここでは、傾斜を絶対値化するため平方値にして差分を求めている。
【0065】
図16−1のように、歩行体100が前方向に歩くと、X軸加速度とY軸加速度との傾斜平方差が正の値となる。したがって、Z軸方向の加速度曲線が最小値(負の値のピーク)の時のX軸方向の加速度曲線の傾きがY軸方向の加速度曲線の傾きよりも大きい場合は、前後方向に歩いている可能性が高いため、前後スコアに高ポイントを加算する。
【0066】
一方、図16−2のように、歩行体100が左方向に歩くとX軸加速度とY軸加速度との傾斜平方差が負の値となる。したがって、Z軸方向の加速度曲線が最小値(負の値のピーク)の時のX軸方向の加速度曲線の傾きがY軸方向の加速度曲線の傾き以下の場合は、左右方向に歩いている可能性が高いため、左右スコアに高ポイントを加算する。
【0067】
つぎに、図11のフローチャートを用いてステップS1101以降の手順について説明する。図11のフローチャートでは、まず、一周期におけるZ軸方向の加速度の頂点数が6以上であるか否かを判断する(ステップS1101)。このステップS1101は、歩行体100が忍び足をしているか否かを判断する処理である。したがって、一周期におけるZ軸方向の加速度の頂点数が6未満である場合は(ステップS1101:No)、忍び足歩行中ではないと判別され、つぎに、X軸方向の加速度曲線の最大振幅時間が、最小振幅時間よりも長いか否かを判断する(ステップS1102)。
【0068】
ステップS1102の判断は、図5−1の正の最大振幅AXPpまでの時間であるΔT1と、負の最大振幅AXPpまでの時間であるΔT2とを参照して比較すればよい。ここで、X軸方向の加速度曲線の最大振幅時間が、最小振幅時間よりも長い場合(ステップS1102:Yes)、前スコア、右斜め前スコア、左斜め前スコアに1ポイント加算する(ステップS1103)。一方、X軸方向の加速度曲線の最大振幅時間が、最小振幅時間と等しいか短い場合(ステップS1102:No)、後スコア、右斜め後スコア、左斜め後スコアに1ポイント加算する(ステップS1104)。
【0069】
図17−1は、通常歩行時のZ軸加速度の頂点数を示す図表である。また、図17−2は、忍び足歩行時のZ軸加速度の頂点数を示す図表である。図17−1と図17−2との比較から明かであるように、忍び足歩行中は、振幅の小さなピークが多数出現する。なお、頂点数6の設定は一例であり、歩行体100の歩行特徴や癖に応じて、調整してもよい。
【0070】
図11のフローチャートに戻り、続いて、Z軸方向の加速度が最小の時のX軸方向の加速度曲線の傾きが0以上か否かを判断する(ステップS1105)。このステップS1105の判断は図7のΔMLを参照すればよい。Z軸方向の加速度が最小の時のX軸方向の加速度曲線の傾きが0以上であると判断された場合(ステップS1105:Yes)、前スコア、右斜め前スコア、左斜め前スコアに1ポイント加算する(ステップS1106)。一方、Z軸方向の加速度が最小の時のX軸方向の加速度曲線の傾きが0未満であると判断された場合(ステップS1105:No)、後スコア、右斜め後スコア、左斜め後スコアに1ポイント加算する(ステップS1107)。
【0071】
ここで、図18−1は、前方向に歩きかつZ軸加速度最小の場合のX軸加速度の傾斜を示す図表である。また、図18−2は、後方向に歩きかつZ軸加速度最小の場合のX軸加速度の傾斜を示す図表である。図18−1のように、歩行体100が前方向に歩きかつZ軸加速度最小の場合は、傾斜値は正の値となる。したがって、Z軸方向の加速度が最小の時のX軸方向の加速度曲線の傾きが0以上の場合は、前方向に歩いている可能性が高いため前スコアに高ポイントを加算する。
【0072】
一方、図18−2のように、歩行体100が後方向に歩きかつZ軸加速度最小の場合は、傾斜値は負の値となる。したがって、Z軸方向の加速度が最小の時のX軸方向の加速度曲線の傾きが0未満の場合は、後方向に歩いている可能性が高いため後スコアに高ポイントを加算する。
【0073】
図11のフローチャートに戻り、つぎに、Z軸方向の加速度が最初に0になる時のX軸方向の加速度曲線の傾きが0以下か否かを判断する(ステップS1108)。このステップS1108の判断は図7のΔM0を参照すればよい。Z軸方向の加速度が最初に0になる時のX軸方向の加速度曲線の傾きが0以下であると判断された場合(ステップS1108:Yes)、前スコア、右斜め前スコア、左斜め前スコアに1ポイント加算する(ステップS1109)。一方、Z軸方向の加速度が最初に0になる時のX軸方向の加速度曲線の傾きが0より大きいと判断された場合(ステップS1108:No)、後スコア、右斜め後スコア、左斜め後スコアに1ポイント加算する(ステップS1110)。
【0074】
ここで、図19−1は、前方向に歩きかつZ軸加速度=0の場合のX軸加速度の傾斜を示す図表である。また、図19−2は、後方向に歩きかつZ軸加速度=0の場合のX軸加速度の傾斜を示す図表である。図19−1のように、歩行体100が前方向に歩きかつZ軸加速度=0の場合は、傾斜値は負の値となる。したがって、X軸方向の加速度曲線の傾きが0以下の場合は、前方向に歩いている可能性が高いため前スコアに高ポイントを加算する。
【0075】
一方、図19−2のように、後方向に歩きかつZ軸加速度=0の場合は、傾斜値は正の値をとる可能性が高い。したがって、X軸方向の加速度曲線の傾きが0よりも大きい場合は、後方向に歩いている可能性が高いため後スコアに高ポイントを加算する。
【0076】
図11のフローチャートに戻り、ステップS1101において、一周期におけるZ軸方向の加速度の頂点数が6以上である場合は(ステップS1101:Yes)、歩行体100は忍び足歩行中であると判別され、つぎに、Z軸の2つ目の頂点におけるX軸方向の加速度が0以上か否かを判断する(ステップS1111)。
【0077】
ステップS1111において、X軸方向の加速度が0以上であると判断された場合(ステップS1111:Yes)、前スコア、右斜め前スコア、左斜め前スコアに3ポイント加算する(ステップS1112)。一方、X軸方向の加速度が0未満であると判断された場合(ステップS1111:No)、後スコア、右斜め後スコア、左斜め後スコアに3ポイント加算する(ステップS1113)。
【0078】
ここで、図20−1は、前方向に忍び足歩行した場合のX軸加速度を示す図表である。また、図20−2は、後方向に忍び足歩行した場合のX軸加速度を示す図表である。図20−1のように、前方向に忍び足歩行した場合は、正の値の出力となる可能性が高い。したがって、X軸方向の加速度が0以上であると判断された場合は、前方向に移動している可能性が高いため前スコアに高ポイントを加算する。一方、図20−2のように、後方向に忍び足歩行した場合は、負の値の出力となる可能性が高い。したがって、X軸方向の加速度が0未満であると判断された場合は、後方向に移動している可能性が高いため後スコアに高ポイントを加算する。
【0079】
つぎに、図12のフローチャートを用いてステップS1201以降の処理を説明する。図12のフローチャートにおいて、まず、歩行体100の一歩の開始時点がY軸方向の加速度曲線の最大振幅か否かを判断する(ステップS1201)。一歩の開始時点がY軸方向の加速度曲線の最大振幅でないと判断された場合(ステップS1201:No)、反対に一歩の開始時点がY軸方向の加速度曲線の最小振幅か否かを判断する(ステップS1203)。このステップS1201、S1203の判断は、図5−2のY軸方向の加速度曲線の振幅AYPpを参照すればよい。
【0080】
ステップS1201において、一歩の開始時点がY軸方向の加速度曲線の最大振幅であると判断された場合(ステップS1201:Yes)、歩行体100は右方向に蟹歩き歩行中であると判別され、右スコア、右斜め前スコア、右斜め後スコアに3ポイント加算され(ステップS1202)、ステップS1301(図13参照)の処理に移行する。また、ステップS1203において、一歩の開始時点がY軸方向の加速度曲線の最小振幅であると判断された場合(ステップS1203:Yes)、歩行体100は左方向に蟹歩き歩行中であると判別され、左スコア、左斜め前スコア、左斜め後スコアに3ポイント加算され(ステップS1204)、ステップS1301(図13参照)の処理に移行する。
【0081】
ここで、図21は、右方向に蟹歩きした場合のY軸加速度最大値の出力時間を示す図表である。また、図22は、左方向に蟹歩きした場合のY軸加速度最大値の出力時間を示す図表である。図21、図22のように、最大値をとる時間と最小値をとる時間とは近いレベルに集中していることがわかる。
【0082】
図12のフローチャートに戻り、一歩の開始時点がY軸方向の加速度曲線の最大振幅でも、最小振幅でもなかった場合(ステップS1203)、つぎに、Z軸方向の加速度の頂点数が6以上か否かを判断する(ステップS1205)。このステップS1205はステップS1101と同様に、歩行体100が忍び足歩行中か否かを判断する処理である。
【0083】
ステップS1205において、Z軸方向の加速度の頂点数が6未満であると判断された場合(ステップS1205:No)、Y軸方向の加速度曲線の最大振幅時間が最小振幅時間よりも長いか否かを判断する(ステップS1206)。ステップS1206の判断は、図5−2の正の最大振幅AYPpまでの時間であるΔT3と、負の最大振幅AYPpまでの時間であるΔT4とを参照して比較すればよい。
【0084】
ステップS1206において、Y軸方向の加速度曲線の最大振幅時間が、最小振幅時間よりも長い場合(ステップS1206:Yes)、右スコア、右斜め前スコア、右斜め後スコアに1ポイント加算する(ステップS1207)。一方、Y軸方向の加速度曲線の最大振幅時間が、最小振幅時間と等しいか短い場合(ステップS1206:No)、左スコア、左斜め前スコア、左斜め後スコアに1ポイント加算する(ステップS1208)。
【0085】
続いて、Z軸方向の加速度が最小の時のY軸方向の加速度曲線の傾きが0以上か否かを判断する(ステップS1209)。このステップS1209の判断は、図7のΔMLを参照すればよい。Z軸方向の加速度が最小の時のY軸方向の加速度曲線の傾きが0以上であると判断された場合(ステップS1209:Yes)、右スコア、右斜め前スコア、右斜め後スコアに1ポイント加算する(ステップS1210)。一方、Z軸方向の加速度が最小の時のY軸方向の加速度曲線の傾きが0未満であると判断された場合(ステップS1209:No)、左スコア、左斜め前スコア、左斜め後スコアに1ポイント加算する(ステップS1211)。
【0086】
ここで、図23−1は、右方向に歩きかつZ軸加速度最小の場合のY軸加速度の傾斜を示す図表である。また、図23−2は、左方向に歩きかつZ軸加速度最小の場合のY軸加速度の傾斜を示す図表である。図23−1のように、歩行体100が右方向に歩きかつZ軸加速度最小の場合は、傾斜値は正の値となる。したがって、Z軸方向の加速度が最小の時のY軸方向の加速度曲線の傾きが0以上の場合は、右方向に歩いている可能性が高いため右スコアに高ポイントを加算する。
【0087】
一方、図23−2のように、歩行体100が左方向に歩きかつZ軸加速度最小の場合は、傾斜値は負の値となる。したがって、Z軸方向の加速度が最小の時のY軸方向の加速度曲線の傾きが0未満の場合は、左方向に歩いている可能性が高いため左スコアに高ポイントを加算する。
【0088】
図12のフローチャートに戻り、つぎに、Z軸方向の加速度が最初に0になる時のY軸方向の加速度曲線の傾きが0以下か否かを判断する(ステップS1212)。このステップS1212の判断は図7のΔM0を参照すればよい。Z軸方向の加速度が0の時のY軸方向の加速度曲線の傾きが0以下であると判断された場合(ステップS1212:Yes)、右スコア、右斜め前スコア、右斜め後スコアに1ポイント加算する(ステップS1213)。一方、Z軸方向の加速度が最初に0になる時のY軸方向の加速度曲線の傾きが0より大きいと判断された場合(ステップS1212:No)、左スコア、左斜め前スコア、左斜め後スコアに1ポイント加算する(ステップS1214)。
【0089】
ここで、図24−1は、右方向に歩きかつZ軸加速度=0の場合のY軸加速度の傾斜を示す図表である。また、図24−2は、左方向に歩きかつZ軸加速度=0の場合のY軸加速度の傾斜を示す図表である。図24−1のように、歩行体100が右方向に歩きかつZ軸加速度=0の場合は、傾斜値は負の値となる可能性が高い。したがって、Y軸方向の加速度曲線の傾きが0以下の場合は、右方向に歩いている可能性が高いため右スコアに高ポイントを加算する。
【0090】
一方、図24−2のように、左方向に歩きかつZ軸加速度=0の場合は、傾斜値は正の値をとる可能性が高い。したがって、Y軸方向の加速度曲線の傾きが0よりも大きい場合は、左方向に歩いている可能性が高いため左スコアに高ポイントを加算する。
【0091】
図12のフローチャートに戻り、ステップS1205において、Z軸方向の加速度の頂点数が6以上であると判断された場合(ステップS1205:Yes)、歩行体100は忍び足歩行中であると判別され、つぎに、Z軸の2つ目の頂点におけるY軸方向の加速度が0以上か否かを判断する(ステップS1215)。
【0092】
ステップS1215において、Y軸方向の加速度が0以上であると判断された場合(ステップS1215:Yes)、右スコア、右斜め前スコア、右斜め後スコアに3ポイント加算する(ステップS1216)。一方、Y軸方向の加速度が0未満であると判断された場合(ステップS1215:No)、左スコア、左斜め前スコア、左斜め後スコアに3ポイント加算する(ステップS1217)。
【0093】
ここで、図25−1は、右方向に忍び足歩行した場合のY軸加速度を示す図表である。また、図25−2は、左方向に忍び足歩行した場合のY軸加速度を示す図表である。図25−1のように、右方向に忍び足歩行した場合は、正の値の出力となる可能性が高い。したがって、Y軸方向の加速度が0以上であると判断された場合は、右方向に移動している可能性が高いため右スコアに高ポイントを加算する。一方、図25−2のように、左方向に忍び足歩行した場合は、負の値の出力となる可能性が高い。したがって、Y軸方向の加速度が0未満であると判断された場合は、左方向に移動している可能性が高いため左スコアに高ポイントを加算する。
【0094】
つぎに、図13のフローチャートを用いてステップS1301以降の処理を説明する。図13のフローチャートにおいて、まず、Y軸方向の加速度曲線の振幅が0か否かを判断する(ステップS1301)。ここで、Y軸方向の加速度の振幅が0ではないと判断された場合(ステップS1301:No)、X軸方向の加速度曲線の振幅とY軸方向の加速度曲線の振幅との振幅比を算出する(ステップS1302)。そして、算出された振幅比の大きさを判別する(ステップS1303)。
【0095】
つぎに、ステップS1303によって判別された振幅比に応じて各方向スコアに1ポイントを加算する(ステップS1304)。具体的には、下記のようにポイントが加算される。また、図26は、斜め移動方向の判定しきい値テーブルの一例を示すデータ列である。下記のしきい値は図26を参照する。
【0096】
・振幅比>しきい値1Aの場合:前スコア、後スコアにポイント加算
・振幅比<しきい値1Aかつ振幅比>しきい値1B:右斜め前スコア、右斜め後スコア、左斜め前スコア、左斜め後スコアにポイント加算
・振幅比<しきい値1Bの場合:右スコア、左スコアにポイント加算
【0097】
ステップS1304によってポイント加算されると、ステップS1306の処理に移行する。また、ステップS1301において、Y軸方向の加速度曲線の振幅が0であると判断された場合(ステップS1301:Yes)、前スコア、後スコアに1ポイント加算して(ステップS1305)、ステップS1306の処理に移行する。
【0098】
そして、つぎに、Y軸方向の加速度曲線の面積が0か否かを判断する(ステップS1306)。ここで、Y軸方向の加速度曲線の面積が0でないと判断された場合(ステップS1306:No)、X軸方向の加速度曲線の面積とY軸方向の加速度曲線の面積との面積比を算出する(ステップS1307)。そして、算出された面積比の大きさを判別する(ステップS1308)。
【0099】
つぎに、ステップS1308によって判別された面積比に応じて各方向スコアに1ポイントを加算する(ステップS1309)。具体的には、下記のようにポイントが加算される。ここでも下記のしきい値は図26を参照する。
【0100】
・面積比>しきい値2Aの場合:前スコア、後スコアにポイント加算
・面積比<しきい値2Aかつ面積比>しきい値2B:右斜め前スコア、右斜め後スコア、左斜め前スコア、左斜め後スコアにポイント加算
・面積比<しきい値2Bの場合:右スコア、左スコアにポイント加算
【0101】
ステップS1309によってポイント加算されると、ステップS1311の処理に移行する。また、ステップS1306において、Y軸方向の加速度曲線の面積が0であると判断された場合(ステップS1306:Yes)、前スコア、後スコアに1ポイント加算して(ステップS1310)、ステップS1311の処理に移行する。
【0102】
なお、図27は、進行方向判別しきい値の一例を示す説明図である。図27のように。X軸方向の加速度曲線から検出した値(振幅や面積)に基づいて、理論値を求め、実際の振る舞いをフィードバックさせてしきい値を設定する。
【0103】
また、図28−1は、前方向に歩いた場合のX軸加速度とY軸加速度の振幅比を示す説明図である。そして、図28−2は、右斜め前方向に歩いた場合のX軸加速度とY軸加速度の振幅比を示す説明図である。さらに、図28−3は、左方向に歩いた場合のX軸加速度とY軸加速度の振幅比を示す説明図である。図28−1〜図28−3から明かであるように、X軸加速度とY軸加速度の振幅比は、前方向に歩いた場合、右斜め前方向に歩いた場合および左方向に歩いた場合によってそれぞれ明確に異なる領域に出力値を出現する。したがって、ステップS1304のように、振幅比に応じた方向スコアにポイントを加算することができる。
【0104】
さらに、図29−1は、前方向に歩いた場合のX軸加速度とY軸加速度との面積比を示す図表である。また、図29−2は、右斜め前方向に歩いた場合のX軸加速度とY軸加速度との面積比を示す図表である。そして、図29−3は、左方向に歩いた場合のX軸加速度とY軸加速度との面積比を示す図表である。図29−1〜図29−3においても、X軸加速度とY軸加速度の面積比は、前方向に歩いた場合、右斜め前方向に歩いた場合および左方向に歩いた場合によってそれぞれ明確に異なる領域に出力値を出現する。したがって、ステップS1309のように、面積比に応じた方向スコアにポイントを加算することができる。
【0105】
図13のフローチャートに戻り、つぎに、前、後、右、左、右斜め前、右斜め後、左斜め前、左斜め後の各スコアを比較し、最大スコア値をもつ方向を歩行体の移動歩行とする(ステップS1311)。図30は、各方向のスコア算出結果の出力例を示す説明図である。図30のように、各ステップによって加算されたポイントが累積されスコアとして算出される。なお、図30の例では、右斜め前が最大スコア値となるため、歩行体100は、右斜め前方向に移動していると判断される。
【0106】
図13のフローチャートに戻り、つぎに、歩行体100が駆け足歩行中か否かを判断する(ステップS1312)。ここで、図31−1は、前方向に駆け足しかつZ軸加速度最小の場合のX軸加速度の傾斜を示す図表である。また、図31−2は、前方向に駆け足しかつZ軸加速度=0の場合のX軸加速度の傾斜を示す図表である。通常であれば、前方向に駆け足歩行しかつZ軸加速度最小の場合のX軸加速度の傾斜は、図18のように正の値として出力される。しかしながら、図31−1では、駆け足歩行中であるため、位相が逆転して負の値として出力される。
【0107】
また、前方向に歩きかつZ軸加速度=0の場合のX軸加速度の傾斜は図19−1のように、負の値として出力される。しかしながら、図31−2では、駆け足歩行中であるため、このような場合も、位相が逆転して正の値として出力される。すなわち、歩行体100は駆け足歩行中であると判別された場合には、出力値が反転していることを考慮して処理しなければならない。
【0108】
したがって、ステップS1312において、歩行体100が駆け足歩行中であると判断された場合(ステップS1312:Yes)、ステップS1311によって算出された移動方向を180°反転する(ステップS1313)。そして、歩行体100の体の向き情報に移動方向の情報を加えて移動方位を算出して(ステップS1314)、一連の処理を終了する。
【0109】
上述の歩行体100の体の向き情報は、磁気センサ312、ジャイロセンサ313が搭載されている場合には、これらのセンサの検出値から求めることができる。また、磁気センサ312、ジャイロセンサ313が搭載されていない場合には、歩行体100がみずから体の向き情報を入力してもよい。
【0110】
なお、ステップS1312では、歩行体100が駆け足歩行中であると判断された場合は、(ステップS1312:Yes)、反転された移動方向が利用され、歩行体100が駆け足歩行中でないと判断された場合は、(ステップS1312:No)、算出したそのままの移動方向が利用される。
【0111】
なお、上述したポイント加算の値は、前、後、右、左、右斜め前、右斜め後、左斜め前及び左斜め後の各スコアに一律でもよいが、環境や歩行体100に応じて各判定条件に重みを付けたポイントを加算してもよい。
【0112】
以上説明したように、本実施の形態の移動方向算出装置110では、加速度センサ311は、外部から3軸の加速度のみ検出すればよい。そして、この3軸の加速度の連続値である加速度曲線から所定値の抽出と、抽出した値の比較処理という負荷の少ない処理のみにより前後、左右、右斜め前後、左斜め前後の8方向それぞれについて、歩行体が移動している可能性をスコアとして表現することができる。そして、このスコアを参照することによって、歩行体の移動方向を容易に判別することができる。このように、本実施の形態では、処理負担が軽く、かつ、高精度に歩行体の移動方向算出を実現することができる。
【0113】
なお、本実施の形態で説明した移動方向算出方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーションなどのコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVDなどのコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネットなどのネットワークを介して配布することが可能な媒体であってもよい。
【0114】
また、本実施の形態で説明した移動方向算出装置110は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した移動方向算出装置110の機能(111〜114)をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与えることにより、移動方向算出装置110を製造することができる。
【0115】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0116】
(付記1)歩行体の正面方向となるX軸と、前記正面方向に対して直角に交わる当該歩行体の左右方向となるY軸と、当該歩行体の垂直方向となるZ軸との3軸方向の加速度とを検出する検出手段と、
前記検出手段によって検出されたZ軸方向の加速度の連続値をあらわす加速度曲線のピーク間隔を前記歩行体の歩行間隔として特定する歩行間隔特定手段と、
前記歩行間隔特定手段によって特定された歩行間隔における前記各軸方向の加速度曲線を用いて、前記歩行体が前後、左右、右斜め前後、左斜め前後8方向の各方向に移動しているかの可能性をポイント化したスコアを算出する方向算出手段と、
前記8方向のうち、前記方向算出手段によって算出されたスコアが最も大きい方向を前記歩行体の移動方向と判別する方向判別手段と、
前記方向判別手段によって判別された方向を出力する出力手段と、
を備えることを特徴とする移動方向算出装置。
【0117】
(付記2)前記歩行間隔特定手段は、前記Z軸方向の加速度曲線の振幅がしきい値以上となるピーク間隔を前記歩行体の歩行間隔として特定することを特徴とする付記1に記載の移動方向算出装置。
【0118】
(付記3)前記方向算出手段は、前記歩行間隔特定手段によって特定された歩行間隔において、前記X軸方向の加速度曲線の絶対値の積分値と、前記Y軸方向の加速度曲線の絶対値の積分値との差分に応じて、前後方向のスコアと、左右方向のスコアとのいずれかの方向のスコアを大きくするためのポイント加算処理をおこなうことを特徴とする付記1または2に記載の移動方向算出装置。
【0119】
(付記4)前記方向算出手段は、前記歩行間隔特定手段によって特定された歩行間隔において、前記X軸方向の加速度曲線の振幅と、前記Y軸方向の加速度曲線の振幅との差分に応じて、前後方向のスコアと、左右方向のスコアとのいずれかの方向のスコアを大きくするためのポイント加算処理をおこなうことを特徴とする付記1〜3のいずれか一つに記載の移動方向算出装置。
【0120】
(付記5)前記方向算出手段は、前記歩行間隔特定手段によって特定された歩行間隔において、前記Z軸方向の加速度が最小となる際の、前記X軸方向の加速度曲線の傾斜の平方値と、前記Y軸方向の加速度曲線の傾斜の平方値との差分に応じて、前後方向のスコアと、左右方向のスコアとのいずれかの方向のスコアを大きくするためのポイント加算処理をおこなうことを特徴とする付記1〜4のいずれか一つに記載の移動方向算出装置。
【0121】
(付記6)前記方向算出手段は、前記歩行間隔特定手段によって特定された歩行間隔において、前記Z軸方向の加速度曲線の前記歩行間隔の開始位置から前記X軸方向の加速度曲線の最大値側のピーク位置までの時間と、前記歩行間隔の開始位置から前記X軸方向の加速度曲線の最小値側のピーク位置までの時間との差分に応じて、前方向のスコアと、後方向のスコアとのいずれかの方向のスコアを大きくするためのポイント加算処理をおこなうことを特徴とする付記1〜5のいずれか一つに記載の移動方向算出装置。
【0122】
(付記7)前記方向算出手段は、前記歩行間隔特定手段によって特定された歩行間隔において、前記Z軸方向の加速度が最小となる際の、前記X軸方向の加速度曲線の傾斜が正の値か負の値かに応じて、前方向のスコアと、後方向とのスコアとのいずれかの方向のスコアを大きくするためのポイント加算処理をおこなうことを特徴とする付記1〜6のいずれか一つに記載の移動方向算出装置。
【0123】
(付記8)前記方向算出手段は、前記歩行間隔特定手段によって特定された歩行間隔において、前記Z軸方向の加速度が最初に0となる際の、前記X軸方向の加速度曲線の傾斜が正の値か負の値かに応じて、前方向のスコアと、後方向のスコアとのいずれかの方向のスコアを大きくするためのポイント加算処理をおこなうことを特徴とする付記1〜7のいずれか一つに記載の移動方向算出装置。
【0124】
(付記9)前記方向算出手段は、前記歩行間隔特定手段によって特定された歩行間隔において、前記Z軸方向の加速度曲線の前記歩行間隔の開始位置から前記Y軸方向の加速度曲線の最大値側のピーク位置までの時間と、前記歩行間隔の開始位置から前記Y軸方向の加速度曲線の最小値側のピーク位置までの時間との差分に応じて、右方向ポイントのスコアと、左方向のスコアととのいずれかの方向のスコアを大きくするためのポイント加算処理をおこなうことを特徴とする付記1〜8のいずれか一つに記載の移動方向算出装置。
【0125】
(付記10)前記方向算出手段は、前記歩行間隔特定手段によって特定された歩行間隔において、前記Z軸方向の加速度が最小となる際の、前記Y軸方向の加速度曲線の傾斜が正の値か負の値かに応じて、右方向のスコアと、左方向のスコアとのいずれかの方向のスコアを大きくするためのポイント加算処理をおこなうことを特徴とする付記1〜9のいずれか一つに記載の移動方向算出装置。
【0126】
(付記11)前記方向算出手段は、前記歩行間隔特定手段によって特定された歩行間隔において、前記Z軸方向の加速度が最初に0となる際の、前記Y軸方向の加速度曲線の傾斜が負の値か正の値に応じて、右方向のスコアと、左方向のスコアとのいずれかの方向のスコアを大きくするためのポイント加算処理をおこなうことを特徴とする付記1〜10のいずれか一つに記載の移動方向算出装置。
【0127】
(付記12)前記方向算出手段は、前記歩行間隔特定手段によって特定された歩行間隔において、前記X軸方向の加速度曲線の振幅と、前記Y軸方向の加速度曲線の振幅との比率に応じて前後方向、左右方向および斜め方向のいずれかの方向のスコアを大きくするためのポイント加算処理をおこなうことを特徴とする付記1〜11のいずれか一つに記載の移動方向算出装置。
【0128】
(付記13)前記方向算出手段は、前記歩行間隔特定手段によって特定された歩行間隔において、前記X軸方向の加速度曲線の絶対値の積分値と、前記Y軸方向の加速度曲線の加速度曲線の絶対値の積分値との比率に応じて前後方向、左右方向および斜め方向のいずれかの方向のスコアを大きくするためのポイント加算処理をおこなうことを特徴とする付記1〜12のいずれか一つに記載の移動方向算出装置。
【0129】
(付記14)前記歩行間隔特定手段によって特定された歩行間隔において、前記Z軸方向の加速度曲線のピーク数が所定以上であった場合、前記歩行体が忍び足歩行していると判別する歩き方判別手段を備え、
前記出力手段は、前記判別手段の判別結果に応じて前記歩行体が忍び足歩行中である旨の情報を出力することを特徴とする付記1〜13のいずれか一つに記載の移動方向算出装置。
【0130】
(付記15)前記方向算出手段は、前記歩き方判別手段によって、前記歩行体が忍び足歩行をしていると判別された場合、前記ポイント加算処理に替わって、前記Z軸方向の加速度曲線の前記歩行間隔の開始位置のつぎに出現したピークに応じて前後方向、左右方向および斜め方向のいずれかの方向のスコアを大きくするためのポイント加算処理をおこなうことを特徴とする付記14に記載の移動方向算出装置。
【0131】
(付記16)前記方向算出手段は、前記Z軸方向の加速度曲線の前記歩行間隔の開始位置が前記Y軸方向の加速度曲線の最大値側のピークとなる場合、右方向のスコアを大きくするポイント加算処理をおこない、
前記方向判別手段は、前記方向算出手段によるポイント加算処理において、最も大きいスコアとなる方向を前記歩行体の移動方向と判別し、
前記歩き方判別手段は、前記Z軸方向の加速度曲線の前記歩行間隔の開始位置が前記Y軸方向の加速度曲線の最大値側のピークとなる場合、前記歩行体が蟹歩き歩行をしていると判別し、
前記出力手段は、前記方向判別手段によって判別された方向とともに、前記歩き方判別手段の判別結果に応じて前記歩行体が蟹歩き歩行中である旨の情報を出力することを特徴とすることを特徴とする付記14または15に記載の移動方向算出装置。
【0132】
(付記17)
前記方向算出手段は、前記Z軸方向の加速度曲線の前記歩行間隔の開始位置が前記Y軸方向の加速度曲線の最小値側のピークとなる場合、左方向ポイントを大きくするポイント加算処理をおこない、
前記方向判別手段は、前記方向算出手段によるポイント加算処理において、最も大きいスコアとなる方向を前記歩行体の移動方向と判別し、
前記歩き方判別手段は、前記Z軸方向の加速度曲線の前記歩行間隔の開始位置が前記Y軸方向の加速度曲線の最小値側のピークとなる場合、前記歩行体が蟹歩き歩行をしていると判別し、
前記出力手段は、前記方向判別手段によって判別された方向とともに、前記歩き方判別手段の判別結果に応じて前記歩行体が忍び足歩行中である旨の情報を出力することを特徴とする付記14〜16のいずれか一つに記載の移動方向算出装置。
【0133】
(付記18)前記方向判別手段は、前記歩き方別手段によって前記歩行体が駆け足歩行していると判別された場合に、前記方向算出手段によって算出されたスコアが最も大きい方向の逆方向を前記歩行体の移動方向と判別するとともに、前記判別手段の判別結果に応じて前記歩行体が駆け足歩行中である旨の情報ことを特徴とする付記14〜17のいずれか一つに記載の移動方向算出装置。
【0134】
(付記19)歩行体に装着された加速度センサに装着された加速度センサからの出力を受け付けるコンピュータを、
前記歩行体の正面方向となるX軸と、前記正面方向に対して直角に交わる当該歩行体の左右方向となるY軸と、当該歩行体の垂直方向となるZ軸との3軸方向の加速度を検出する検出手段、
前記検出手段によって検出されたZ軸方向の加速度の連続値をあらわす加速度曲線のピーク間隔を前記歩行体の歩行間隔として特定する歩行間隔特定手段、
前記歩行間隔特定手段によって特定された歩行間隔における前記各軸方向の加速度曲線を用いて、前記歩行体が前後、左右、右斜め前後、左斜め前後の8方向の各方向に移動しているかの可能性をポイント化したスコアを算出する方向算出手段、
前記8方向のうち、前記方向算出手段によって算出されたスコアが最も大きい方向を前記歩行体の移動方向と判別する方向判別手段、
前記方向判別手段によって判別された方向を出力する出力手段、
として機能させることを特徴とする移動方向算出プログラム。
【0135】
(付記20)歩行体に装着された加速度センサに装着された加速度センサからの出力を受け付ける装置が、
前記歩行体の正面方向となるX軸と、前記正面方向に対して直角に交わる当該歩行体の左右方向となるY軸と、当該歩行体の垂直方向となるZ軸との3軸方向の加速度を検出する検出工程と、
前記検出工程によって検出されたZ軸方向の加速度の連続値をあらわす加速度曲線のピーク間隔を前記歩行体の歩行間隔として特定する歩行間隔特定工程と、
前記歩行間隔特定工程によって特定された歩行間隔における前記各軸方向の加速度曲線を用いて、前記歩行体が前後、左右、右斜め前後、左斜め前後の8方向の各方向に移動しているかの可能性をポイント化したスコアを算出する方向算出工程と、
前記8方向のうち、前記方向算出工程によって算出されたスコアが最も大きい方向を前記歩行体の移動方向と判別する方向判別工程と、
前記方向判別工程によって判別された方向を出力する出力工程と、
を含むことを特徴とする移動方向算出方法。
【図面の簡単な説明】
【0136】
【図1】移動方向算出処理の概要を示す説明図である。
【図2】移動方向算出装置のハードウェア構成を示すブロック図である。
【図3】移動方向算出装置の機能的構成を示すブロック図である。
【図4】一歩の歩行間隔の検出処理を示す説明図である。
【図5−1】X軸加速度の振幅の最大値と最小値との時差を示す説明図である。
【図5−2】Y軸加速度の振幅の最大値と最小値との時差を示す説明図である。
【図6−1】X軸加速度の絶対値の和を示す説明図である。
【図6−2】Y軸加速度の絶対値の和を示す説明図である。
【図7】加速度の変化率検出を示す説明図である。
【図8】一周期内の各軸のピークを示す説明図である。
【図9−1】左方向の蟹歩き判定を示す説明図である。
【図9−2】右方向の蟹歩き判定を示す説明図である。
【図10】進行方向算出処理の手順を示すフローチャート(その1)である。
【図11】進行方向算出処理の手順を示すフローチャート(その2)である。
【図12】進行方向算出処理の手順を示すフローチャート(その3)である。
【図13】進行方向算出処理の手順を示すフローチャート(その4)である。
【図14−1】前方向に歩いた場合のX軸加速度とY軸加速度との面積差を示す図表である。
【図14−2】左方向に歩いた場合のX軸加速度とY軸加速度との面積差を示す図表である。
【図15−1】前方向に歩いた場合のX軸加速度とY軸加速度との振幅差を示す図表である。
【図15−2】左方向に歩いた場合のX軸加速度とY軸加速度との振幅差を示す図表である。
【図16−1】前方向に歩いた場合のX軸加速度とY軸加速度との傾斜平方差を示す図表である。
【図16−2】左方向に歩いた場合のX軸加速度とY軸加速度との傾斜平方差を示す図表である。
【図17−1】通常歩行時のZ軸加速度の頂点数を示す図表である。
【図17−2】忍び足歩行時のZ軸加速度の頂点数を示す図表である。
【図18−1】前方向に歩きかつZ軸加速度最小の場合のX軸加速度の傾斜を示す図表である。
【図18−2】後方向に歩きかつZ軸加速度最小の場合のX軸加速度の傾斜を示す図表である。
【図19−1】前方向に歩きかつZ軸加速度=0の場合のX軸加速度の傾斜を示す図表である。
【図19−2】後方向に歩きかつZ軸加速度=0の場合のX軸加速度の傾斜を示す図表である。
【図20−1】前方向に忍び足歩行した場合のX軸加速度を示す図表である。
【図20−2】後方向に忍び足歩行した場合のX軸加速度を示す図表である。
【図21】右方向に蟹歩きした場合のY軸加速度最大値の出力時間を示す図表である。
【図22】左方向に蟹歩きした場合のY軸加速度最大値の出力時間を示す図表である。
【図23−1】右方向に歩きかつZ軸加速度最小の場合のY軸加速度の傾斜を示す図表である。
【図23−2】左方向に歩きかつZ軸加速度最小の場合のY軸加速度の傾斜を示す図表である。
【図24−1】右方向に歩きかつZ軸加速度=0の場合のY軸加速度の傾斜を示す図表である。
【図24−2】左方向に歩きかつZ軸加速度=0の場合のY軸加速度の傾斜を示す図表である。
【図25−1】右方向に忍び足歩行した場合のY軸加速度を示す図表である。
【図25−2】左方向に忍び足歩行した場合のY軸加速度を示す図表である。
【図26】斜め移動方向の判定しきい値テーブルの一例を示すデータ列である。
【図27】進行方向判別しきい値の一例を示す説明図である。
【図28−1】前方向に歩いた場合のX軸加速度とY軸加速度の振幅比を示す説明図である。
【図28−2】右斜め前方向に歩いた場合のX軸加速度とY軸加速度の振幅比を示す説明図である。
【図28−3】左方向に歩いた場合のX軸加速度とY軸加速度の振幅比を示す説明図である。
【図29−1】前方向に歩いた場合のX軸加速度とY軸加速度との面積比を示す図表である。
【図29−2】右斜め前方向に歩いた場合のX軸加速度とY軸加速度との面積比を示す図表である。
【図29−3】左方向に歩いた場合のX軸加速度とY軸加速度との面積比を示す図表である。
【図30】各方向のスコア算出結果の出力例を示す説明図である。
【図31−1】前方向に駆け足しかつZ軸加速度最小の場合のX軸加速度の傾斜を示す図表である。
【図31−2】前方向に駆け足しかつZ軸加速度=0の場合のX軸加速度の傾斜を示す図表である。
【符号の説明】
【0137】
100 歩行体
110 移動方向算出装置
111 検出部
112 歩行間隔特定部
113 方向算出部
114 判別部
201 CPU
202 ROM
203 RAM
204 HDD
205 HD
206 メモリドライブ
207 リムーバブルメモリ
208 ディスプレイ
209 入力I/F
210 各種センサ
211 ネットワークI/F
220 バス
230 ネットワーク(NET)
310 センサ部
311 加速度センサ
312 磁気センサ
313 ジャイロセンサ
320 演算処理部
330 記憶部
331 入力情報
332 出力情報
333 設定パラメータ
334 判定テーブル
335 演算アルゴリズム
340 表示部
350 通信部

【特許請求の範囲】
【請求項1】
歩行体の正面方向となるX軸と、前記正面方向に対して直角に交わる当該歩行体の左右方向となるY軸と、当該歩行体の垂直方向となるZ軸との3軸方向の加速度とを検出する検出手段と、
前記検出手段によって検出されたZ軸方向の加速度の連続値をあらわす加速度曲線のピーク間隔を前記歩行体の歩行間隔として特定する歩行間隔特定手段と、
前記歩行間隔特定手段によって特定された歩行間隔における前記各軸方向の加速度曲線を用いて、前記歩行体が前後、左右、右斜め前後、左斜め前後8方向の各方向に移動しているかの可能性をポイント化したスコアを算出する方向算出手段と、
前記8方向のうち、前記方向算出手段によって算出されたスコアが最も大きい方向を前記歩行体の移動方向と判別する方向判別手段と、
前記方向判別手段によって判別された方向を出力する出力手段と、
を備えることを特徴とする移動方向算出装置。
【請求項2】
前記歩行間隔特定手段は、前記Z軸方向の加速度曲線の振幅がしきい値以上となるピーク間隔を前記歩行体の歩行間隔として特定することを特徴とする請求項1に記載の移動方向算出装置。
【請求項3】
前記歩行間隔特定手段によって特定された歩行間隔において、前記Z軸方向の加速度曲線のピーク数が所定以上であった場合、前記歩行体が忍び足歩行していると判別する歩き方判別手段を備え、
前記出力手段は、前記判別手段の判別結果に応じて前記歩行体が忍び足歩行中である旨の情報を出力することを特徴とする請求項2に記載の移動方向算出装置。
【請求項4】
前記方向算出手段は、前記Z軸方向の加速度曲線の前記歩行間隔の開始位置が前記Y軸方向の加速度曲線の最大値側のピークとなる場合、右方向のスコアを大きくするポイント加算処理をおこない、
前記方向判別手段は、前記方向算出手段によるポイント加算処理において、最も大きいスコアとなる方向を前記歩行体の移動方向と判別し、
前記歩き方判別手段は、前記Z軸方向の加速度曲線の前記歩行間隔の開始位置が前記Y軸方向の加速度曲線の最大値側のピークとなる場合、前記歩行体が蟹歩き歩行をしていると判別し、
前記出力手段は、前記方向判別手段によって判別された方向とともに、前記歩き方判別手段の判別結果に応じて前記歩行体が蟹歩き歩行中である旨の情報を出力することを特徴とする請求項1〜3のいずれか一つに記載の移動方向算出装置。
【請求項5】
前記方向算出手段は、前記Z軸方向の加速度曲線の前記歩行間隔の開始位置が前記Y軸方向の加速度曲線の最小値側のピークとなる場合、左方向ポイントを大きくするポイント加算処理をおこない、
前記方向判別手段は、前記方向算出手段によるポイント加算処理において、最も大きいスコアとなる方向を前記歩行体の移動方向と判別し、
前記歩き方判別手段は、前記Z軸方向の加速度曲線の前記歩行間隔の開始位置が前記Y軸方向の加速度曲線の最小値側のピークとなる場合、前記歩行体が蟹歩き歩行をしていると判別し、
前記出力手段は、前記方向判別手段によって判別された方向とともに、前記歩き方判別手段の判別結果に応じて前記歩行体が忍び足歩行中である旨の情報を出力することを特徴とする請求項1〜3のいずれか一つに記載の移動方向算出装置。
【請求項6】
前記方向判別手段は、前記歩き方別手段によって前記歩行体が駆け足歩行していると判別された場合に、前記方向算出手段によって算出されたスコアが最も大きい方向の逆方向を前記歩行体の移動方向と判別するとともに、前記判別手段の判別結果に応じて前記歩行体が駆け足歩行中である旨の情報ことを特徴とする請求項1〜5のいずれか一つに記載の移動方向算出装置。
【請求項7】
歩行体に装着された加速度センサに装着された加速度センサからの出力を受け付けるコンピュータを、
前記歩行体の正面方向となるX軸と、前記正面方向に対して直角に交わる当該歩行体の左右方向となるY軸と、当該歩行体の垂直方向となるZ軸との3軸方向の加速度を検出する検出手段、
前記検出手段によって検出されたZ軸方向の加速度の連続値をあらわす加速度曲線のピーク間隔を前記歩行体の歩行間隔として特定する歩行間隔特定手段、
前記歩行間隔特定手段によって特定された歩行間隔における前記各軸方向の加速度曲線を用いて、前記歩行体が前後、左右、右斜め前後、左斜め前後の8方向の各方向に移動しているかの可能性をポイント化したスコアを算出する方向算出手段、
前記8方向のうち、前記方向算出手段によって算出されたスコアが最も大きい方向を前記歩行体の移動方向と判別する方向判別手段、
前記方向判別手段によって判別された方向を出力する出力手段、
として機能させることを特徴とする移動方向算出プログラム。
【請求項8】
歩行体に装着された加速度センサに装着された加速度センサからの出力を受け付ける装置が、
前記歩行体の正面方向となるX軸と、前記正面方向に対して直角に交わる当該歩行体の左右方向となるY軸と、当該歩行体の垂直方向となるZ軸との3軸方向の加速度を検出する検出工程と、
前記検出工程によって検出されたZ軸方向の加速度の連続値をあらわす加速度曲線のピーク間隔を前記歩行体の歩行間隔として特定する歩行間隔特定工程と、
前記歩行間隔特定工程によって特定された歩行間隔における前記各軸方向の加速度曲線を用いて、前記歩行体が前後、左右、右斜め前後、左斜め前後の8方向の各方向に移動しているかの可能性をポイント化したスコアを算出する方向算出工程と、
前記8方向のうち、前記方向算出工程によって算出されたスコアが最も大きい方向を前記歩行体の移動方向と判別する方向判別工程と、
前記方向判別工程によって判別された方向を出力する出力工程と、
を含むことを特徴とする移動方向算出方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5−1】
image rotate

【図5−2】
image rotate

【図6−1】
image rotate

【図6−2】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9−1】
image rotate

【図9−2】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14−1】
image rotate

【図14−2】
image rotate

【図15−1】
image rotate

【図15−2】
image rotate

【図16−1】
image rotate

【図16−2】
image rotate

【図17−1】
image rotate

【図17−2】
image rotate

【図18−1】
image rotate

【図18−2】
image rotate

【図19−1】
image rotate

【図19−2】
image rotate

【図20−1】
image rotate

【図20−2】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23−1】
image rotate

【図23−2】
image rotate

【図24−1】
image rotate

【図24−2】
image rotate

【図25−1】
image rotate

【図25−2】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28−1】
image rotate

【図28−2】
image rotate

【図28−3】
image rotate

【図29−1】
image rotate

【図29−2】
image rotate

【図29−3】
image rotate

【図30】
image rotate

【図31−1】
image rotate

【図31−2】
image rotate


【公開番号】特開2009−244102(P2009−244102A)
【公開日】平成21年10月22日(2009.10.22)
【国際特許分類】
【出願番号】特願2008−90930(P2008−90930)
【出願日】平成20年3月31日(2008.3.31)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】