説明

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

【課題】歩行体の移動方向を、位置情報を用いることなく、より高精度に算出すること。
【解決手段】移動方向算出装置110には、歩行体100の位置に応じた地磁気を測定する磁気センサ111と、歩行体100が歩行する際の旋回の角速度を測定するジャイロセンサ112とが搭載されている。そして歩行体100の歩行時に移動方向算出装置110は、磁気センサ111とジャイロセンサ112とのいずれか一方のセンサ出力(測定結果)を採用して歩行体100の移動方向を算出する。このとき、磁気センサ111とジャイロセンサ112とのいずれのセンサ出力を採用するかは、各センサのセンサ出力の変化量を参照して判断する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、歩行体に装着して歩行体の移動方向を算出する移動方向算出装置および移動方向算出プログラムに関する。
【背景技術】
【0002】
従来より、GPS信号などの外部からの測定信号を使用することなく自律的に歩行体自身の体の向きを検出する技術は多数提供されている。これらの技術を用いることによって、歩行体がいずれの方向に移動(歩行)しているかを算出することができる。移動体の移動方向を算出するには、磁気センサやジャイロセンサを歩行体に装着し、これらのセンサから得られる測定結果を利用して移動方向を求めればよい。このとき、移動方向の方位検出のためのセンサの判断基準としては、地磁気センサベクトルの向きを用いるものや、一定時間蓄積した地磁気の方位変化量とジャイロの方位変化量とを比較するという手法があった。
【0003】
具体的には、歩行体の移動方向の検出技術として、地磁気を測定する磁気センサもしくはジャイロセンサといった小型軽量の方向検出手段を単独で用いる手法が開示されている(たとえば、下記特許文献1参照。)。また、地磁気ベクトルと水平面との成す角と、現在地の地磁気の伏角のデータベースの値とを比較し、誤差が一定範囲内の場合、磁気センサにより検出した磁気ベクトルを地磁気ベクトルとして方位を算出する手法も開示されている(たとえば、下記特許文献2参照。)。このように、従来の自律型の移動方向算出処理は、歩行体の移動方向を算出する際に、磁気センサで検出した地磁気情報と、ジャイロセンサで検出したジャイロ情報とを用いるのが一般的である。
【0004】
【特許文献1】特許第3532773号明細書
【特許文献2】特許第3837533号明細書
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1の場合、地磁気情報がどの程度確かなものであるかを判断するには、磁気センサを使用する場所ごとに信頼度を判定する基準を定めた判定テーブルを持つ必要がある。そして、測定の際には、磁気センサを使用する場所をGPS信号から得た位置情報や、利用者が手動で選択した位置情報に対応した判定テーブルを読み出して利用する必要があった。したがって、利用者(たとえば、移動方向算出機能をもった装置を装着した歩行体)が現在位置を特定するための処理が必須となり、移動方向算出処理をおこなう前段に現在位置選択のための処理時間が必要となってしまうという問題があった。
【0006】
また、上記特許文献2のように、一定時間蓄積した地磁気方位変化量とジャイロ方位変化量を比較する方法では、使用者の歩行の足の踏み込み動作による体の向きの変化が方位変化量に含まれてしまう。したがって、地磁気方位変化量とジャイロ方位変化量との比較が難しいという問題があった。
【0007】
さらに、磁気センサは、鉄筋コンクリートの建築物の内部や分電盤、エレベータ付近など他の場所と比べて地磁気の乱れた場所で測定をおこなった場合、これら外部の要因が測定結果に影響し、移動方位の算出誤差が大きくなってしまう。したがって、磁気センサによって測定された磁気量や、この磁気量の変化から地磁気の信頼度を判定したとしても、角速度センサの測定結果を用いて移動方向として信頼度の高い方位を算出することは困難であるという問題があった。
【0008】
この発明は、上述した従来技術による問題点を解消するため、歩行体の移動方向を、位置情報を用いることなく、より高精度に算出することのできる移動方向算出装置および移動方向算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するため、この移動方向算出装置および移動方向算出プログラムは、歩行体に装着して当該歩行体の移動方向を算出する移動方向算出装置および移動方向算出プログラムであって、前記歩行体の移動に伴う加速度を測定する加速度センサと、前記歩行体の旋回に伴う角速度を測定するジャイロセンサと、前記歩行体の位置に応じた地磁気を測定する磁気センサとを備え、前記加速度センサの測定結果から前記歩行体の歩行間隔を検出し、前記検出された歩行間隔の間の前記ジャイロセンサの測定結果から求めた方位の変化量と、前記磁気センサの測定結果から求めた方位の変化量との差分を算出し、前記算出された差分に応じて、前記ジャイロセンサの測定結果と前記磁気センサの測定結果とのいずれか一方の測定結果を選択し、前記選択された測定結果を用いて前記歩行間隔における前記歩行体の移動方向を算出する処理を含むことを要件とする。
【0010】
この移動方向算出装置および移動方向算出プログラムによれば、歩行体が歩く一歩の歩行間隔ごとにジャイロセンサの測定結果から求めた方位の変化量と、磁気センサの測定結果から求めた方位の変化量の差分から磁気センサの測定結果がどの程度正確であるかを判定し、磁気センサの測定結果が所定以上の正確性を備えている場合にのみ磁気センサの測定結果を用いて移動方向を算出する。したがって、測定結果のなかからより信頼度の高い測定結果を選択するため、高精度に歩行体の移動方向を算出することができる。
【0011】
また、上記の移動方向算出装置および移動方向算出プログラムでは、前記算出された差分が所定の範囲内に収まる場合に、前記磁気センサの測定結果を選択してもよい。
【0012】
この移動方向算出装置および移動方向算出プログラムによれば、ジャイロセンサと磁気センサとのそれぞれの測定結果から求めた方位の変化量が小さければ、磁気センサの測定結果が正確であると判断し、移動方向算出に利用することができる。
【0013】
また、上記の移動方向算出装置および移動方向算出プログラムでは、前記磁気センサの測定結果の変動幅に応じて前記磁気センサの測定結果の信頼度を算出し、算出された信頼度がしきい値未満の場合、前記ジャイロセンサの測定結果を選択して移動方向を算出してもよい。
【0014】
この移動方向算出装置および移動方向算出プログラムによれば、磁気センサの信頼度が低い場合には、方位の変化量を比較することなく、ジャイロセンサの測定結果を利用して移動方向を算出することができる。
【0015】
また、移動方向算出装置および移動方向算出プログラムは、歩行体に装着して当該歩行体の移動方向を算出する移動方向算出装置および移動方向算出プログラムであって、前記歩行体の移動に伴う加速度を測定する加速度センサと、前記歩行体の旋回に伴う角速度を測定するジャイロセンサと、前記歩行体の位置に応じた地磁気を測定する磁気センサと、を備え、前記磁気センサの測定結果の変動幅に応じて前記磁気センサの測定結果の信頼度を算出し、前記加速度センサの測定結果から前記歩行体の歩行間隔を検出し、前記算出された信頼度がしきい値以上の場合前記磁気センサの測定結果を選択し、前記しきい値未満の場合前記ジャイロセンサの測定結果を選択し、前記選択された測定結果を用いて前記歩行間隔における前記歩行体の移動方向を算出する処理を含むことを要件とする。
【0016】
この移動方向算出装置および移動方向算出プログラムによれば、磁気センサの信頼度と、ジャイロセンサの測定結果の変化量からジャイロセンサと磁気センサとのいずれの測定結果を用いるかを判断することができる。
【0017】
また、上記の移動方向算出装置および移動方向算出プログラムでは、前記ジャイロセンサの測定結果が選択された場合に、前回の歩行間隔の間に算出された移動方向に前記ジャイロセンサの測定結果を加算して、前記歩行体の移動方向を算出してもよい。
【0018】
この移動方向算出装置および移動方向算出プログラムによれば、ジャイロセンサの測定結果を用いる場合に、前回の歩行間隔における算出結果を参照することにより、より正確に移動方向を算出することができる。
【発明の効果】
【0019】
この移動方向算出装置および移動方向算出プログラムによれば、歩行体の移動方向を、位置情報を用いることなく、より高精度に算出することができるという効果を奏する。
【発明を実施するための最良の形態】
【0020】
以下に添付図面を参照して、この移動方向算出装置および移動方向算出プログラムの好適な実施の形態を詳細に説明する。
【0021】
(移動方向算出処理の概要)
まず、本実施の形態にかかる移動方向算出処理の概要について説明する。図1は、移動方向算出処理の概要を示す説明図である。図1のように歩行体100には、小型の移動方向算出装置110を装着している。この移動方向算出装置110には、歩行体100の位置に応じた地磁気を測定する磁気センサ111と、歩行体100が歩行する際の旋回の角速度を測定するジャイロセンサ112とが搭載されている。
【0022】
移動方向算出装置110は、磁気センサ111とジャイロセンサ112とのいずれか一方のセンサ出力(測定結果)を採用して歩行体100の移動方向を算出する。このとき、磁気センサ111とジャイロセンサ112とのいずれのセンサ出力を採用するかは、各センサのセンサ出力の変化量を参照して判断する。
【0023】
以下、移動方向算出装置110の具体的な構成と、センサ出力の変化量からどのように磁気センサ111とジャイロセンサ112とのセンサ出力の採用判断をおこなうかについて説明する。
【0024】
(移動方向算出装置のハードウェア構成)
つぎに、本実施の形態にかかる移動方向算出装置110のハードウェア構成について説明する。図2は、移動方向算出装置のハードウェア構成を示すブロック図である。図1にあらわしたように移動方向算出装置110は、たばこ箱サイズの小型装置である。また、移動方向算出装置110は、たとえば、PDA(Personal Digital Assistant)やPC(Personal Computer)などの既存の端末に以下で説明するハードウェア構成を追加したものでもよいし、専用の筐体からなる装置であってもよい。
【0025】
さらに移動方向算出装置110の内部は、CPU201と、ROM202と、RAM203と、HDD(ハードディスクドライブ)204と、HD(ハードディスク)205と、メモリドライブ206と、着脱可能な記録媒体としてのリムーバブルメモリ207と、ディスプレイ208と、入力I/F(インターフェース)209と、各種センサ210と、ネットワークI/F211を備えている。また、各構成部はバス220によってそれぞれ接続されている。
【0026】
ここで、CPU201は、移動方向算出装置110の全体の制御を司る。ROM202は、ブートプログラムなどのプログラムを記憶している。RAM203は、CPU201のワークエリアとして使用される。HDD204は、CPU201の制御にしたがってHD205に対するデータのリード/ライトを制御する。HD205は、HDD204の制御で書き込まれたデータを記憶する。
【0027】
メモリドライブ206は、CPU201の制御にしたがってリムーバブルメモリ207に対するデータのリード/ライトを制御する。リムーバブルメモリ207は、メモリドライブ206の制御で書き込まれたデータを記憶したり、リムーバブルメモリ207に記憶されたデータをCPU201の制御に応じてメモリドライブ206に読み取らせたりする。
【0028】
ディスプレイ208は、カーソル、アイコンあるいはツールボックスをはじめ、文書、画像によって移動方向算出結果に関するデータを表示する。このディスプレイ208は、たとえば、CRT、TFT液晶ディスプレイ、プラズマディスプレイなどを採用することができる。
【0029】
入力I/F209は、文字、数字、各種指示などの入力のためのキーを備え、データの入力をおこなう。また、タッチパネル式の入力パッドやテンキーなどであってもよい。また、入力I/F209の入力手段は、タッチパネルやトラックボールなどのポインティングデバイスであってもよい。
【0030】
各種センサ210は、移動方向を算出するための情報を測定するための異なる機能のセンサから構成されている。具体的には、歩行体100の歩行間隔を検出するための加速度センサと、歩行体100の移動方向を算出するための磁気センサ111とジャイロセンサ112とが搭載されている。
【0031】
ネットワークI/F211は、有線無線を問わずに通信回線212を通じてインターネットなどのネットワーク230に接続し、このネットワーク230を介して移動方向算出装置110を他の装置に接続させる。そして、ネットワークI/F211は、ネットワーク230と内部のインターフェースを司り、外部装置からのデータの入出力を制御する。ネットワークI/F211には、たとえばモデムやLANアダプタなどを採用することができる。
【0032】
(移動方向算出装置の機能的構成)
つぎに、本実施の形態にかかる移動方向算出装置110の機能的構成について説明する。図3は、移動方向算出装置の機能的構成を示すブロック図である。図3のように、移動方向算出装置110は、センサ部310と、演算処理部320と、記憶部330と、表示部340と、通信部350とから構成されている。
【0033】
センサ部310は、加速度センサ311と、磁気センサ111と、ジャイロセンサ112との3種類のセンサを備えている。これらのセンサから歩行体100の移動に伴う動作内容を測定する。このセンサ部310は、たとえば、図2にて説明した各種センサ210によって実現される。
【0034】
演算処理部320は、センサ部310から取得した測定結果から歩行体100の向きの方位を演算処理によって求める処理部である。この演算処理部320は、たとえば、図2にて説明したCPU201、ROM202およびRAM203によって実現される。
【0035】
記憶部330は、CPU201の制御に応じて所定の情報を保存する記憶領域である。この記憶部330に保存されている情報としては、入力情報331、出力情報332、演算処理に必要な設定パラメータ333、判定テーブル334、演算処理に用いる演算アルゴリズム335がある。この記憶部330は、たとえば、図2にて説明したHDD204、HD205、メモリドライブ206およびリムーバブルメモリ207によって実現される。
【0036】
表示部340および通信部350は、演算処理部320によって演算された歩行体100の移動方向算出結果の出力手段として機能する。表示部340では、液晶ディスプレイなどの表示デバイスによって移動方向算出結果を歩行体100自身に移動方向を報知することができる。また、通信部350は、移動方向算出結果を他の装置や所定のアドレスに送信することができるため、他者に対して歩行体100の移動方向を報知することができる。
【0037】
なお、通信部350は、移動方向算出結果の他に、外部の装置との通信によって、演算処理部320における演算に必要な設定パラメータ333、判定テーブル334および演算アルゴリズム335を外部から取得することができる。この表示部340は、たとえば、図2のディスプレイ208によって実現される。また、通信部350は、たとえば、図2のネットワークI/F211によって実現される。
【0038】
(移動方向算出処理の手順)
つぎに、上述した移動方向算出装置110による移動方向算出処理について説明する。本実施の形態では、大きく分けて3種類の処理によって移動方向を算出する。1つめは最も基本的な処理であり、歩行体100に装着して当該歩行体の移動方向を算出する移動方向算出装置110であって、磁気センサ111とジャイロセンサ112との測定結果から求めた方位の変化量を比較して磁気センサ111の正確さに応じて移動方向算出に用いる測定結果を選択する処理である。
【0039】
具体的には、演算処理部320に、加速度センサ311の測定結果から歩行体100の歩行間隔を検出する検出手段と、検出手段によって検出された歩行間隔の間の(歩行間隔の中の)ジャイロセンサ112の測定結果から求めた方位の変化量と、磁気センサ111の測定結果から求めた方位の変化量との差分を算出する差分算出手段と、差分算出手段によって算出された差分に応じて、ジャイロセンサ112の測定結果と磁気センサ111の測定結果とのいずれか一方を選択する選択手段とを備え、この選択手段によって選択された測定結果を用いて、検出した歩行間隔の歩行体100の移動方向を算出する。
【0040】
2つめの処理は、上述した1つめの処理の差分算出の前段に磁気センサ111の信頼度を測定して測定結果の選択に利用する処理である。具体的には、演算処理部320に、磁気センサ111の測定結果の変動幅に応じて磁気センサ111の測定結果の信頼度を算出する信頼度算出手段をあらたに備える。そして、選択手段は、信頼度算出手段によって算出された信頼度がしきい値未満の場合、ジャイロセンサ112の測定結果を選択して、歩行体100の移動方向を算出する。
【0041】
3つめの処理は、上述した2つめの処理に用いた信頼度を測定結果の選択に利用する処理である。具体的には、演算処理部320に磁気センサ111の測定結果の変動幅に応じて磁気センサ111の測定結果の信頼度を算出する信頼度算出手段と、加速度センサ311の測定結果から歩行体100の歩行間隔を検出する検出手段と、信頼度算出手段によって算出された信頼度がしきい値以上の場合、磁気センサ111の測定結果を選択し、しきい値未満の場合、ジャイロセンサ112の測定結果を選択する選択手段と、選択手段によって選択された測定結果を用いて歩行間隔における歩行体100の移動方向を算出する方向算出手段と、を備える処理である。
【0042】
このように、本実施の形態にかかる移動方向算出装置110では、上記の3つの処理のいずれかを採用して、それぞれ歩行体100の移動方向を算出する。これら3つの処理のより具体的な処理の内容を実施例1〜3として、以下に説明する。
【0043】
(センサ部の情報取得手順)
まず、実施例1〜3の処理に共通する処理から説明する。実施例1〜3のいずれの場合も、センサ部310(図3参照)から測定結果を取得しなければならない。ここでは、測定結果の取得手順について説明する。
【0044】
図4は、センサ部の情報取得手順を示すフローチャートである。図4のフローチャートにおいて、移動方向算出装置110は、まず、加速度センサ311の測定値を取得する(ステップS401)。ステップS401の処理では、加速度センサ311から取得された測定結果(加速度情報)は、さらに、演算処理部320により記憶部330の設定パラメータ333のオフセット値およびゲイン値を参照してアナログ情報からデジタル情報に変換され、入力情報331として保存される。
【0045】
また、移動方向算出装置110は、ステップS401と同様に、磁気センサ111の測定値を取得する(ステップS402)。このステップS402の処理では、磁気センサ111から取得した測定値(磁気情報)は、さらに、演算処理部320によりアナログ情報からデジタル情報に変換し(ステップS401の処理と同様)、入力情報331として保存される。
【0046】
さらに、移動方向算出装置110は、ステップS401,402と同様に、ジャイロセンサ112の測定値を取得する(ステップS403)。このステップS403の処理では、ジャイロセンサ112から取得した測定値(ジャイロ情報)は、さらに、演算処理部320によりアナログ情報からデジタル情報に変換し(ステップS401の処理と同様)、入力情報331として保存される。これらの処理は終了指示を受け付けるまで繰り返しおこなわれ(ステップS404:Noのループ)、終了指示を受け付けると(ステップS404:Yes)、一連の処理を終了する。
【0047】
以上説明したように、実施例1〜3のいずれの場合であっても、共通して図4のフローチャートのような手順によって測定値を取得して入力情報331を蓄積していく。なお、図4のフローチャートのステップS401〜S403の処理順序は問わず、並列におこなってもよい。
【0048】
<実施例1>
つぎに、具体的な処理内容について実施例1〜3をそれぞれに分けて説明する。まず、実施例1について説明する。実施例1は、上述したように、磁気センサ111とジャイロセンサ112の測定結果の変化量の比較結果からいずれの測定結果を移動方向算出に利用するかを判断する。
【0049】
図5は、実施例1の移動方向算出処理の手順を示すフローチャートである。図5のフローチャートにおいて、まず、一定時間待機したか否かを判断する(ステップS501)。ここで、一定時間待機状態になるまで待ち(ステップS501:Noのループ)、一定時間待機した後(ステップS501:Yes)、記憶部330に蓄積された加速度情報から歩行体100の傾きを検出する(ステップS502)。
【0050】
つぎに、記憶部330に蓄積された磁気情報と、ステップS502によって検出した歩行体の傾きから地磁気ベクトルの水平面の向きを算出する(ステップS503)とともに、同じく記憶部330に蓄積されたジャイロ情報とステップS502によって検出した歩行体の傾きから水平面のジャイロの回転量を算出する(ステップS504)。
【0051】
ここで歩行体100の傾きの検出と、地磁気ベクトルの算出について説明する。図6は、歩行体の傾き算出のための検出値を示す説明図である。図6のように、歩行体100の傾きを検出するには、センサ軸(X1,Y1,Z1)で検出された加速度情報を(AX1,AY1,AZ1)とすると、地球軸(X,Y,Z)との傾きの算出式は下記のようになる。
【0052】
前後方向の傾きα:asin(AX1)
左右方向の傾きβ:atan(AY1/AZ1)
【0053】
以上の傾きから、さらに地磁気ベクトルは、センサ軸(X1,Y1,Z1)で検出された、地磁気情報を(MX1,MY1,MZ1)とすると、地球軸(X,Y,Z)での地磁気情報(MX,MY,MZ)は、下記のような変換式によって求めることができる。
【0054】
MX=MX1×cos(α)+MY1×sin(α)×sin(β)+MZ1×sin(α)×cos(β)
MY=MY1×cos(β)−MZ1×sin(β)
MZ=−MX1×sin(α)+MY1×cos(α)×sin(β)+MZ1×cos(α)×cos(β)
【0055】
このようにして、さらに水平面の向きは、下記の算出式によって求めることができる。これらの算出式はいずれも公知の技術であり算出方法を限定するものではない。また、他の算出式を適用してもよい。
【0056】
水平面の向き=atan(MY/MX)
【0057】
図5のフローチャートに戻ると、続いて、ステップS504によって算出したジャイロの回転量からジャイロ回転量加算情報を算出する(ステップS505)。このステップS505の処理において、ジャイロ回転量加算情報の初期値は0とし、このジャイロ回転量加算情報に水平面のジャイロ回転量を加算する。
【0058】
つぎに、歩行体100が歩行中か否かを判断する(ステップS506)。このステップS506では、入力情報331に記憶蓄積された加速度情報を用いて、歩行を検出する。具体的には、一定時間蓄積された加速度情報から、現在の加速度情報が1周期の最大値であるかを判定し、加速度が最大のときは、歩行中であると判断する。なお、ここで歩行中と判断されなかった場合は(ステップS506:No)は、ステップS516の処理に移行する。
【0059】
ステップS506において、歩行中であると判断されると(ステップS506:Yes)、磁気センサ111の測定結果を用いた算出をおこなう。まず、磁気センサ111の検出値である地磁気ベクトルの変化量を算出する(ステップS507)このステップS507では、地磁気ベクトルの水平面の向きを最大値のときの値として、記憶部330の出力情報332に保存する。そして、前回の歩行検出時の最大値のときの地磁気ベクトルの水平面の向きと、今回の歩行検出時の最大値のときの地磁気ベクトルの水平面の向きの差を、地磁気変化量とする。
【0060】
つぎに、地磁気ベクトルによる方位変化量を算出する(ステップS508)。このステップS508では、今回の歩行検出時の地磁気変化量と、前回の歩行検出時の最大値のときの地磁気変化量の平均を地磁気方位変化量とする。
【0061】
つぎに、ジャイロセンサ112の測定結果を用いた算出をおこなう。まず、ジャイロセンサ112の算出値の変化量を算出する(ステップS509)。このステップS509では、ジャイロセンサ112の回転量を加算した加算情報をジャイロ変化量とする。このとき、初めて算出処理を行う場合には、ジャイロセンサ112の回転量の加算情報を初期化しておく。
【0062】
つぎに、ジャイロセンサ112の測定結果から求めた方位の変化量を算出する(ステップS510)。このステップS510では、今回の歩行検出時のジャイロセンサ112による方位変化量と、前回の歩行検出時の最大値のときのジャイロセンサ112による方位変化量の平均を計算し、ジャイロ方位変化量とする。
【0063】
以上の算出処理が終了すると、磁気センサ111の測定結果から求めた方位変化量と、ジャイロセンサ112の測定結果から求めた方位変化量との差を算出する(ステップS511)。そして、ステップS511によって算出した変化量の差があらかじめ設定したしきい値内か否かを判断する(ステップS512)。しきい値としては、たとえば、「5度/秒以内か否か」といった設定をおこなう。
【0064】
このステップS512において、変化量の差があらかじめ設定したしきい値内である場合(ステップS512:Yes)、磁気センサ111の測定結果は正確であると判断され、地磁気ベクトルを利用して歩行体100の方位を算出する(ステップS513)。すなわち、地磁気ベクトルの水平面の向きから、歩行体100の向きを算出し、移動方向とする。
【0065】
一方、ステップS512において、変化量の差があらかじめ設定したしきい値に収まらない場合(ステップS512:No)、磁気センサ111の測定結果は正確ではないと判断され、ジャイロセンサ112の測定結果を利用して歩行体100の方位を算出する(ステップS514)。すなわち、前回の歩行検出時に算出した方位にジャイロ方位変化量を加算して、歩行体100の体の向きを算出し、移動方向とする。
【0066】
ステップS513、もしくは、ステップS514によって移動方向が算出されると、この算出情報を通信部350(図3参照)によって所定の宛先に送信する(ステップS515)。そして、CPU201からの終了指示を受け付けたか否かを判断し(ステップS516)、終了指示を受け付けるまで上述したステップS501〜ステップS515の処理を繰り返す(ステップS516:Noのループ)。そして、終了指示を受け付けると(ステップS516:Yes)、一連の処理を終了する。
【0067】
以上説明したように、実施例1では、加速度センサ311によって歩行体100の上下運動を検出し、1歩のタイミングを算出する。したがって、磁気センサ111およびジャイロセンサ112は、1歩ごとの地磁気方位変化量とジャイロ方位変化量を算出し蓄積することができる。このように、歩行の際の足の踏み込み動作による体の向きを除去するため、前回の1歩のタイミングで蓄積された地磁気方位変化量とジャイロ方位変化量と、今回の1歩のタイミングで蓄積された地磁気方位変化量とジャイロ方位変化量の平均値を算出し蓄積するため、より正確に移動方向を算出することができる。
【0068】
また、地磁気方位変化量平均値とジャイロ方位変化量平均値の差がしきい値の範囲内である場合、地磁気が安定していると判定され、地磁気を用いた方位検出によって移動方向を算出する。また、地磁気方位変化量平均値とジャイロ方位変化量平均値の差がしきい値の範囲外であった場合は、地磁気が安定していないと判断され、磁気センサ111の測定結果は使用せず、最後に算出された方位に、ジャイロセンサ112で検出された回転量を加算して、移動方向を算出する。
【0069】
<実施例2>
つぎに、実施例2について説明する。実施例2では、あらたに磁気センサ111の測定結果の信頼度を求め、どちらの測定結果を利用するかを判断する。なお、ここでは、実施例1の処理と重複する箇所の説明を省略し、実施例2独自の処理について説明する。
【0070】
図7−1は、実施例2の移動方向算出処理の手順を示すフローチャートである。図7−1のフローチャートにおいて、ステップS701〜ステップS711までは、実施例1と同様の処理をおこなう。ステップS711の処理が終了すると、つぎに、地磁気信頼度を算出する(ステップS712)。このステップS712では、今回の歩行検出時の地磁気ベクトルと前回の歩行検出時の地磁気ベクトルの差を、X軸、Y軸、Z軸の3軸(図6参照)で計算した値を地磁気信頼度とする。
【0071】
そして、ステップS711によって求めた方位変化量の差が所定のしきい値内か否かを判断するとともに(ステップS713)、ステップS712によって算出された地磁気信頼度があらかじめ設定したしきい値内か否かを判断する(ステップS714)。図7−2は、実施例2の移動方向算出処理におけるしきい値例を示す図表である。一例として図7−2のような設定によってしきい値判断をおこなってもよい。
【0072】
方位変化量の差がしきい値に収まらない(ステップS713:No)、または、地磁気信頼度がしきい値に収まらない(ステップS714:No)場合は、磁気センサ111の測定結果は正確ではないと判断され、ジャイロセンサ112の測定結果を利用して歩行体100の方位を算出する(ステップS716)。すなわち、前回の歩行検出時に算出した方位にジャイロ方位変化量を加算して、歩行体100の体の向きを算出し、移動方向とする。
【0073】
一方、方位変化量の差がしきい値内(ステップS713:Yes)、かつ、地磁気信頼度がしきい値内(ステップS714:Yes)である場合は、磁気センサ111の測定結果は正確であると判断され、地磁気ベクトルを利用して歩行体100の方位を算出する(ステップS715)。すなわち、地磁気ベクトルの水平面の向きから、歩行体100の向きを算出し、移動方向とする。
【0074】
ステップS715およびステップS716による判断が終了すると、実施例1と同様に算出情報を通信部350(図3参照)によって所定の宛先に送信する(ステップS717)。そして、CPU201からの終了指示を受け付けたか否かを判断し(ステップS718)、終了指示を受け付けるまで上述したステップS701〜ステップS717の処理を繰り返す(ステップS718:Noのループ)。そして、終了指示を受け付けると(ステップS718:Yes)、一連の処理を終了する。
【0075】
このように、実施例2では、実施例1の処理に加えて、地磁気ベクトルの大きさの時間変化から算出した地磁気信頼度を磁気センサ111が正確か否かの判断に利用する。そして地磁気方位変化量平均値とジャイロ方位変化量平均値の差がしきい値の範囲内であり、かつ、地磁気信頼度がしきい値の範囲内であった場合は、地磁気が安定していると判断し、磁気センサ111の測定結果を用いて移動方向を算出する。
【0076】
また、地磁気方位変化量平均値とジャイロ方位変化量平均値の差がしきい値の範囲外であり、かつ、地磁気信頼度がしきい値の範囲外であった場合は、地磁気が安定していないと判断し、磁気センサ111の測定結果は使用せず、最後に算出された移動方向に、ジャイロセンサ112の測定結果から求めた回転量を加算して、移動方向を算出する。
【0077】
<実施例3>
最後に、実施例3について説明する。実施例3では、信頼度算出結果から測定結果の選択に利用する。ここでも、実施例1、2と重複する処理については説明を省略する。
【0078】
図8−1は、実施例3の移動方向算出処理の手順を示すフローチャートである。図8−1のフローチャートにおいて、ステップS801〜ステップS808の処理は、実施例1または実施例2と同様におこなわれる。しかしながら、実施例3の場合、実施例1、2における地磁気変化量算出(ステップS507、707)と、地磁気方位変化量算出(ステップS508、708)と、方位変化量の差算出(ステップS511、711)が省略されている。そして、実施例2同様に、地磁気信頼度が算出される(ステップS809)。
【0079】
そして、ステップ809によって地磁気信頼度が算出されると、この地磁気信頼度があらかじめ設定したしきい値内か否かを判断する(ステップS810)。ここで、地磁気信頼度があらかじめ設定したしきい値内である場合(ステップS810:Yes)、地磁気が安定していると判断し、磁気センサ111の測定結果を用いて移動方向を算出する(ステップS811)。
【0080】
一方、地磁気信頼度があらかじめ設定したしきい値に収まらない場合(ステップS810:No)、さらに、ジャイロセンサ112の測定結果から求めた方位の変化量がしきい値以下か否かを判断する(ステップS812)。ここで、方位の変化量がしきい値以下であった場合(ステップS812:Yes)、ジャイロセンサ112の測定結果が正確ではないと判断し、今回は移動方向を算出せずに、最後に算出された移動方向をそのまま出力する(ステップS813)。
【0081】
一方、方位の変化量がしきい値よりも上であった場合(ステップS812:No)、ジャイロセンサ112の測定結果を使用するため、最後に算出された移動方向に、ジャイロセンサ112の測定結果から求めた回転量を加算して、移動方向を算出する(ステップS814)。図8−2は、実施例3の移動方向算出処理におけるしきい値例を示す図表である。一例として図8−2のような設定によってしきい値判断をおこなってもよい。
【0082】
ステップS811、ステップS813およびステップS814による判断が終了すると、実施例1、2と同様に算出情報を通信部350(図3参照)によって所定の宛先に送信する(ステップS815)。そして、CPU201からの終了指示を受け付けたか否かを判断し(ステップS816)、終了指示を受け付けるまで上述したステップS801〜ステップS815の処理を繰り返す(ステップS816:Noのループ)。そして、終了指示を受け付けると(ステップS816:Yes)、一連の処理を終了する。
【0083】
このように、実施例3では、ジャイロセンサ112の測定結果から求めた方位変化量の平均値と、地磁気信頼度を用いて、移動方向を算出する。ここで、地磁気信頼度がしきい値の範囲内であった場合は、地磁気が安定していると判断し、磁気センサ111の測定結果を用いて移動方向を算出する。そして、ジャイロセンサ112の測定結果から求めた方位変化量の平均値がしきい値より小さく、かつ、地磁気信頼度がしきい値の範囲外であった場合は、地磁気が安定していないと判断し、いずれのセンサも利用せず、最後に算出された移動方向をそのまま出力する。また、ジャイロセンサ112の測定結果から求めた方位変化量の平均値がしきい値より大きく、かつ、地磁気信頼度がしきい値の範囲外であった場合は、地磁気が安定していないと判断し、最後に算出された移動方位に、ジャイロセンサ112の測定結果から求めた回転量を加算して移動方向を算出する。
【0084】
(出力例)
つぎに、上述した移動方向算出によって算出された移動方向の出力例について説明する。図9は、各センサの方位出力例を示す図表である。また、図10は、地磁気信頼度の出力例を示す図表である。図9のように、歩行体100が直進している場合には、方位の変化量の少ない出力となる(910)。一方、歩行体100が方向転換した場合には、方位変量の大きい出力となる(920)。さらに、図10のように、地磁気信頼度の出力を参照すると地磁気信頼度の出力差が大きい箇所(1010)は、地磁気信頼度が低い状況をあらわしている。
【0085】
このように、本実施の形態にかかる移動方向算出装置110は、磁気センサ111によって測定された地磁気の信頼度の判定には、磁気センサ111自身の測定結果を利用している。したがって、従来技術のように、歩行体100の現在位置ごとに判定テーブルを用意し保存しておく必要はない。また、上述のように現在位置を考慮した判定をおこなう必要もないため現在位置を特定するための機能部や、方位算出の前段の特定処理も必要としない。
【0086】
また、一定時間蓄積した磁気センサ111による方位変化量とジャイロセンサ112による方位変化量を比較する手法を用いることによって、歩行体100の足の踏み込み動作による体の向きの変化を測定結果から除去することができる。したがって、磁気センサ111による方位変化量とジャイロセンサ112による方位変化量との比較をより正確におこなうことが可能となった。
【0087】
以上説明したように、本実施の形態によれば、歩行体の移動方向を、位置情報を用いることなく、より高精度に算出することができる。
【0088】
また、本実施の形態で説明した移動方向算出装置110は、スタンダードセルやストラクチャードASIC(Application Specific Integrated Circuit)などの特定用途向けIC(以下、単に「ASIC」と称す。)やFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。具体的には、たとえば、上述した移動方向算出装置110の機能320〜340をHDL記述によって機能定義し、そのHDL記述を論理合成してASICやPLDに与え、センサ部310に取り付けることによって移動方向算出装置110を製造することができる。
【0089】
上述した実施の形態に関し、さらに以下の付記を開示する。
【0090】
(付記1)歩行体に装着して当該歩行体の移動方向を算出する移動方向算出装置であって、
前記歩行体の移動に伴う加速度を測定する加速度センサと、
前記歩行体の旋回に伴う角速度を測定するジャイロセンサと、
前記歩行体の位置に応じた地磁気を測定する磁気センサと、
前記加速度センサの測定結果から前記歩行体の歩行間隔を検出する検出手段と、
前記検出手段によって検出された歩行間隔の間の前記ジャイロセンサの測定結果から求めた方位の変化量と、前記磁気センサの測定結果から求めた方位の変化量との差分を算出する差分算出手段と、
前記差分算出手段によって算出された差分に応じて、前記ジャイロセンサの測定結果と前記磁気センサの測定結果とのいずれか一方を選択する選択手段と、
前記選択手段によって選択された測定結果を用いて前記歩行間隔における前記歩行体の移動方向を算出する方向算出手段と、
を備えることを特徴とする移動方向算出装置。
【0091】
(付記2)前記選択手段は、前記差分算出手段によって算出された差分が所定の範囲内に収まる場合に、前記磁気センサの測定結果を選択することを特徴とする付記1に記載の移動方向算出装置。
【0092】
(付記3)前記磁気センサの測定結果の変動幅に応じて前記磁気センサの測定結果の信頼度を算出する信頼度算出手段を備え、
前記選択手段は、前記信頼度算出手段によって算出された信頼度がしきい値未満の場合、前記ジャイロセンサの測定結果を選択することを特徴とする付記1または2に記載の移動方向算出装置。
【0093】
(付記4)前記選択手段は、前記信頼度算出手段によって算出された信頼度がしきい値以上であり、かつ、前記差分算出手段によって算出された差分が所定の範囲内に収まった場合に、前記磁気センサによる測定結果を選択することを特徴とする付記3に記載の移動方向算出装置。
【0094】
(付記5)歩行体に装着して当該歩行体の移動方向を算出する移動方向算出装置であって、
前記歩行体の移動に伴う加速度を測定する加速度センサと、
前記歩行体の旋回に伴う角速度を測定するジャイロセンサと、
前記歩行体の位置に応じた地磁気を測定する磁気センサと、
前記磁気センサの測定結果の変動幅に応じて前記磁気センサの測定結果の信頼度を算出する信頼度算出手段と、
前記加速度センサの測定結果から前記歩行体の歩行間隔を検出する検出手段と、
前記信頼度算出手段によって算出された信頼度がしきい値以上の場合前記磁気センサの測定結果を選択し、前記しきい値未満の場合前記ジャイロセンサの測定結果を選択する選択手段と、
前記選択手段によって選択された測定結果を用いて前記歩行間隔における前記歩行体の移動方向を算出する方向算出手段と、
を備えることを特徴とする移動方向算出装置。
【0095】
(付記6)前記選択手段は、前記信頼度算出手段によって算出された信頼度がしきい値未満であり、かつ、前記差分算出手段によって算出された差分が所定の範囲内に収まらなかった場合に、前記検出手段によって検出された前回の歩行間隔について算出された移動方向を前記歩行体の移動方向とすることを特徴とする付記5に記載の移動方向算出装置。
【0096】
(付記7)前記方向算出手段は、前記選択手段によってジャイロセンサの測定結果が選択された場合に、前記検出手段によって検出された前回の歩行間隔の間について算出された移動方向に前記ジャイロセンサの測定結果を加算して、前記歩行体の移動方向を算出することを特徴とする付記1〜6のいずれか一つに記載の移動方向算出装置。
【0097】
(付記8)歩行体の移動方向を算出させる移動方向算出プログラムであって、
前記歩行体の移動に伴う加速度を測定する加速度センサと、前記歩行体の旋回に伴う角速度を測定するジャイロセンサと、前記歩行体の位置に応じた地磁気を測定する磁気センサとを備えたコンピュータを、
前記加速度センサの測定結果から前記歩行体の歩行間隔を検出する検出手段、
前記検出手段によって検出された歩行間隔の間の前記ジャイロセンサの測定結果から求めた方位の変化量と、前記磁気センサの測定結果から求めた方位の変化量との差分を算出する差分算出手段、
前記差分算出手段によって算出された差分に応じて、前記ジャイロセンサの測定結果と前記磁気センサの測定結果とのいずれか一方の測定結果を選択する選択手段、
前記選択手段によって選択された測定結果を用いて前記歩行間隔における前記歩行体の移動方向を算出する方向算出手段、
として機能させることを特徴とする移動方向算出プログラム。
【0098】
(付記9)前記コンピュータを、
さらに、前記磁気センサの測定結果の変動幅に応じて前記磁気センサの測定結果の信頼度を算出する信頼度算出手段として機能させ、
前記選択手段は、前記信頼度算出手段によって算出された信頼度がしきい値未満の場合、前記ジャイロセンサの測定結果を選択することを特徴とする付記8に記載の移動方向算出プログラム。
【0099】
(付記10)歩行体の移動方向を算出させる移動方向算出プログラムであって、
前記歩行体の移動に伴う加速度を測定する加速度センサと、前記歩行体の旋回に伴う角速度を測定するジャイロセンサと、前記歩行体の位置に応じた地磁気を測定する磁気センサとを備えたコンピュータを、
前記磁気センサの測定結果の変動幅に応じて前記磁気センサの測定結果の信頼度を算出する信頼度算出手段、
前記加速度センサの測定結果から前記歩行体の歩行間隔を検出する検出手段、
前記信頼度算出手段によって算出された信頼度がしきい値以上の場合前記磁気センサの測定結果を選択し、前記しきい値未満の場合前記ジャイロセンサの測定結果を選択する選択手段、
前記選択手段によって選択された測定結果を用いて前記歩行間隔における前記歩行体の移動方向を算出する方向算出手段、
として機能させることを特徴とする移動方向算出プログラム。
【図面の簡単な説明】
【0100】
【図1】移動方向算出処理の概要を示す説明図である。
【図2】移動方向算出装置のハードウェア構成を示すブロック図である。
【図3】移動方向算出装置の機能的構成を示すブロック図である。
【図4】センサ部の情報取得手順を示すフローチャートである。
【図5】実施例1の移動方向算出処理の手順を示すフローチャートである。
【図6】歩行体の傾き算出のための検出値を示す説明図である。
【図7−1】実施例2の移動方向算出処理の手順を示すフローチャートである。
【図7−2】実施例2の移動方向算出処理におけるしきい値例を示す図表である。
【図8−1】実施例3の移動方向算出処理の手順を示すフローチャートである。
【図8−2】実施例3の移動方向算出処理におけるしきい値例を示す図表である。
【図9】各センサの方位出力例を示す図表である。
【図10】地磁気信頼度の出力例を示す図表である。
【符号の説明】
【0101】
100 歩行体
110 移動方向算出装置
111 磁気センサ
112 ジャイロセンサ

【特許請求の範囲】
【請求項1】
歩行体に装着して当該歩行体の移動方向を算出する移動方向算出装置であって、
前記歩行体の移動に伴う加速度を測定する加速度センサと、
前記歩行体の旋回に伴う角速度を測定するジャイロセンサと、
前記歩行体の位置に応じた地磁気を測定する磁気センサと、
前記加速度センサの測定結果から前記歩行体の歩行間隔を検出する検出手段と、
前記検出手段によって検出された歩行間隔の間の前記ジャイロセンサの測定結果から求めた方位の変化量と、前記磁気センサの測定結果から求めた方位の変化量との差分を算出する差分算出手段と、
前記差分算出手段によって算出された差分に応じて、前記ジャイロセンサの測定結果と前記磁気センサの測定結果とのいずれか一方を選択する選択手段と、
前記選択手段によって選択された測定結果を用いて前記歩行間隔における前記歩行体の移動方向を算出する方向算出手段と、
を備えることを特徴とする移動方向算出装置。
【請求項2】
前記選択手段は、前記差分算出手段によって算出された差分が所定の範囲内に収まる場合に、前記磁気センサの測定結果を選択することを特徴とする請求項1に記載の移動方向算出装置。
【請求項3】
前記磁気センサの測定結果の変動幅に応じて前記磁気センサの測定結果の信頼度を算出する信頼度算出手段を備え、
前記選択手段は、前記信頼度算出手段によって算出された信頼度がしきい値未満の場合、前記ジャイロセンサの測定結果を選択することを特徴とする請求項1または2に記載の移動方向算出装置。
【請求項4】
歩行体に装着して当該歩行体の移動方向を算出する移動方向算出装置であって、
前記歩行体の移動に伴う加速度を測定する加速度センサと、
前記歩行体の旋回に伴う角速度を測定するジャイロセンサと、
前記歩行体の位置に応じた地磁気を測定する磁気センサと、
前記磁気センサの測定結果の変動幅に応じて前記磁気センサの測定結果の信頼度を算出する信頼度算出手段と、
前記加速度センサの測定結果から前記歩行体の歩行間隔を検出する検出手段と、
前記信頼度算出手段によって算出された信頼度がしきい値以上の場合前記磁気センサの測定結果を選択し、前記しきい値未満の場合前記ジャイロセンサの測定結果を選択する選択手段と、
前記選択手段によって選択された測定結果を用いて前記歩行間隔における前記歩行体の移動方向を算出する方向算出手段と、
を備えることを特徴とする移動方向算出装置。
【請求項5】
前記選択手段は、前記信頼度算出手段によって算出された信頼度がしきい値未満であり、かつ、前記差分算出手段によって算出された差分が所定の範囲内に収まらなかった場合に、前記検出手段によって検出された前回の歩行間隔について算出された移動方向を前記歩行体の移動方向とすることを特徴とする請求項4に記載の移動方向算出装置。
【請求項6】
前記方向算出手段は、前記選択手段によってジャイロセンサの測定結果が選択された場合に、前記検出手段によって検出された前回の歩行間隔の間について算出された移動方向に前記ジャイロセンサの測定結果を加算して、前記歩行体の移動方向を算出することを特徴とする請求項1〜5のいずれか一つに記載の移動方向算出装置。
【請求項7】
歩行体の移動方向を算出させる移動方向算出プログラムであって、
前記歩行体の移動に伴う加速度を測定する加速度センサと、前記歩行体の旋回に伴う角速度を測定するジャイロセンサと、前記歩行体の位置に応じた地磁気を測定する磁気センサとを備えたコンピュータを、
前記加速度センサの測定結果から前記歩行体の歩行間隔を検出する検出手段、
前記検出手段によって検出された歩行間隔の間の前記ジャイロセンサの測定結果から求めた方位の変化量と、前記磁気センサの測定結果から求めた方位の変化量との差分を算出する差分算出手段、
前記差分算出手段によって算出された差分に応じて、前記ジャイロセンサの測定結果と前記磁気センサの測定結果とのいずれか一方の測定結果を選択する選択手段、
前記選択手段によって選択された測定結果を用いて前記歩行間隔における前記歩行体の移動方向を算出する方向算出手段、
として機能させることを特徴とする移動方向算出プログラム。
【請求項8】
歩行体の移動方向を算出させる移動方向算出プログラムであって、
前記歩行体の移動に伴う加速度を測定する加速度センサと、前記歩行体の旋回に伴う角速度を測定するジャイロセンサと、前記歩行体の位置に応じた地磁気を測定する磁気センサとを備えたコンピュータを、
前記磁気センサの測定結果の変動幅に応じて前記磁気センサの測定結果の信頼度を算出する信頼度算出手段、
前記加速度センサの測定結果から前記歩行体の歩行間隔を検出する検出手段、
前記信頼度算出手段によって算出された信頼度がしきい値以上の場合前記磁気センサの測定結果を選択し、前記しきい値未満の場合前記ジャイロセンサの測定結果を選択する選択手段、
前記選択手段によって選択された測定結果を用いて前記歩行間隔における前記歩行体の移動方向を算出する方向算出手段、
として機能させることを特徴とする移動方向算出プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7−1】
image rotate

【図7−2】
image rotate

【図8−1】
image rotate

【図8−2】
image rotate

【図9】
image rotate

【図10】
image rotate