(57)【特許請求の範囲】
【請求項１】
歩行者の角速度を周期的に検出する角速度検出部と、
前記歩行者の移動速度を検出する速度検出部と、
前記歩行者が複数歩移動するのに相当する所定期間を、前記速度検出部により検出される前記歩行者の移動速度が速い場合は短く、前記歩行者の移動速度が遅い場合は長く変更する変更部と、
前記角速度検出部により検出される角速度を、前記変更部により変更された前記所定期間積分した積分値を算出する算出部と、
前記算出部により算出された積分値が、前記所定期間での前記角速度のオフセット誤差の積分値に相当する閾値よりも大きいか否かを判定する判定部と、
前記判定部により前記積分値が前記閾値よりも大きいと判定された場合、前記積分値に基づいて前記歩行者の進行方向を更新する更新部と、
を有することを特徴とする検出装置。  
【請求項２】
前記歩行者の加速度を検出する加速度検出部をさらに有し、
前記算出部は、前記加速度検出部により検出される前記加速度を用いて姿勢を求め、前記角速度検出部により検出される角速度の水平成分を積分する
ことを特徴とする請求項１に記載の検出装置。  
【請求項３】
前記歩行者が次に通過する通路の曲がり角の通路幅を特定する特定部をさらに有し、
前記変更部は、前記特定部により特定された通路幅が狭い場合は前記所定期間を短く、前記通路幅が広い場合は前記所定期間を長く変更する
ことを特徴とする請求項１または２に記載の検出装置。  
【請求項４】
前記歩行者が歩行する歩数を計測する計測部をさらに有し、
前記変更部は、前記計測部により計測される歩数が偶数となる期間に前記所定期間を変更する
ことを特徴とする請求項１〜３の何れか１つに記載の検出装置。  
【請求項５】
コンピュータに、
歩行者が複数歩移動するのに相当する所定期間を、前記歩行者の移動速度を検出する速度検出部により検出される前記歩行者の移動速度が速い場合は短く、前記歩行者の移動速度が遅い場合は長く変更し、
前記歩行者の角速度を周期的に検出する角速度検出部により検出される角速度を、変更された前記所定期間積分した積分値を算出し、
算出された積分値が、前記所定期間での前記角速度のオフセット誤差の積分値に相当する閾値よりも大きいか否かを判定し、
前記積分値が前記閾値よりも大きいと判定された場合、前記積分値に基づいて前記歩行者の進行方向を更新する
各処理を実行させることを特徴とする検出プログラム。  
【請求項６】
コンピュータが、
歩行者が複数歩移動するのに相当する所定期間を、前記歩行者の移動速度を検出する速度検出部により検出される前記歩行者の移動速度が速い場合は短く、前記歩行者の移動速度が遅い場合は長く変更し、
前記歩行者の角速度を周期的に検出する角速度検出部により検出される角速度を、変更された前記所定期間積分した積分値を算出し、
算出された積分値が、前記所定期間での前記角速度のオフセット誤差の積分値に相当する閾値よりも大きいか否かを判定し、
前記積分値が前記閾値よりも大きいと判定された場合、前記積分値に基づいて前記歩行者の進行方向を更新する
各処理を実行することを特徴とする検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検出装置、検出プログラム、及び検出方法に関する。
【背景技術】
【０００２】
近年、歩行者の位置情報を測定するシステムへの需要が高まっている。歩行者の位置情報の測定方法としては、歩行者が保持する可搬型携帯端末に、ＧＰＳ（Global  Positioning  System）に代表される衛星測位装置を搭載して、位置を測位する方法が一般的に利用されている。
【０００３】
しかし、衛星測位装置は、屋内などのＧＰＳ衛星からの電波が阻害される環境では利用できない。そこで、可搬型携帯端末に、加速度センサやジャイロセンサなどの各種センサを搭載し、加速度センサにより検出される加速度やジャイロセンサにより検出される角速度から自律航法により現在の位置を特定することが検討されている。
【０００４】
この自律航法では、ジャイロセンサにより検出される角速度の変化を積分して進行方向を算出する。しかし、ジャイロセンサは、検出される角速度にオフセット誤差が発生する場合があり、オフセット誤差を含めて積分することにより、進行方向が経時的に変化するドリフトが発生し、測位の精度が劣化する。このような、進行方向のドリフトを抑制する技術が各種提案されている。例えば、ジャイロセンサからの角速度を平滑化し、平滑化した平均角速度を用いて適応的にジャイロセンサのオフセットレベルを推定し、修正する技術が提案されている。また、例えば、電源を投入してから一定時間後に、角速度センサの角速度を一回又は複数回読み込んで平均値を求め、角速度センサから逐次出力される角速度から平均値を減じてオフセット誤差を補正する技術が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平７−３２４９４１号公報
【特許文献２】特開平１０−１６０５０６号公報
【特許文献３】特開平９-１６６４３８号公報
【特許文献４】特開２００４−３４０６４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記の従来技術には、進行方向の検出精度が低下する場合がある、という問題がある。
【０００７】
歩行者がゆっくりと旋回した場合、単位時間当たりの旋回角度が小さい。このため、平滑化した平均角速度を用いてジャイロセンサのオフセットレベルを修正する従来技術では、ジャイロセンサが出力する角速度が小さいため、旋回動作を検出できず、進行方向の検出精度が低下する場合がある。
【０００８】
また、角速度センサの平均値を求め、角速度センサから逐次出力される角速度から平均値を減じる従来技術では、平均値を求める際に、携帯端末の姿勢が静止している状態を作り出す必要がある。しかし、歩行者が保持する携帯端末は、平均値を求める際に歩行者の歩行動作により姿勢が静止していない場合があり、平均値に歩行動作による角速度成分が含まれて誤差を発生して進行方向の検出精度が低下する場合がある。
【０００９】
開示の技術は、上記に鑑みてなされたものであって、検出精度の低下を抑制して進行方向を検出できる検出装置、検出プログラム、及び検出方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本願の開示する検出装置は、角速度検出部と、算出部と、判定部と、更新部と、を有する。角速度検出部は、移動体の角速度を周期的に検出する。算出部は、前記角速度検出部により検出される角速度を前記移動体の進行方向の変化に要する所定期間ずつ積分した積分値を算出する。判定部は、前記算出部により算出された積分値が、前記所定期間での前記角速度のオフセット誤差の積分値に相当する閾値よりも大きいか否かを判定する。更新部は、前記判定部により前記積分値が前記閾値よりも大きいと判定された場合、前記積分値に基づいて前記移動体の進行方向を更新する。
【発明の効果】
【００１１】
本願の開示する検出装置の一つの態様によれば、検出精度の低下を抑制して進行方向を検出できるという効果を奏する。
【図面の簡単な説明】
【００１２】
【図１】図１は、実施例１に係る検出装置の構成を示す図である。
【図２】図２は、検出される加速度および角速度の関係の一例を示す図である。
【図３】図３は、歩行者が直線的に歩行した場合にジャイロセンサにより検出される角速度の一例を示すグラフである。
【図４】図４は、歩行者が直線的に歩行した場合に理想的な角速度の積分値の一例を示すグラフである。
【図５】図５は、歩行者が直線的に歩行した場合にジャイロセンサにより検出される角速度を積分した結果の一例を示すグラフである。
【図６】図６は、マップの通路の形状とリンクの形状とのマッチングを模式的に示した図である。
【図７】図７は、本実施例に係る検出装置により自律航法を行った結果の一例を示す図である。
【図８】図８は、積分値から定まる旋回角度分だけ進行方向を更新して自律航法を行った結果の一例を示す図である。
【図９】図９は、実施例１に係る進行方向変化検出処理の手順を示すフローチャートである。
【図１０】図１０は、実施例１に係るリンク生成処理の手順を示すフローチャートである。
【図１１】図１１は、実施例１に係る変更処理の手順を示すフローチャートである。
【図１２】図１２は、実施例２に係る検出装置の構成を示す図である。
【図１３】図１３は、人が偶数歩、歩行する期間の角速度の水平成分を積分した結果の一例を示す図である。
【図１４】図１４は、実施例２に係る変更処理の手順を示すフローチャートである。
【図１５】図１５は、実施例３に係る検出装置の構成を示す図である。
【図１６】図１６は、通路の一例を示す図である。
【図１７】図１７は、実施例３に係る変更処理の手順を示すフローチャートである。
【図１８】図１８は、検出プログラムを実行するコンピュータの一例について説明するための図である。
【発明を実施するための形態】
【００１３】
以下に、本願の開示する検出装置、検出プログラム、及び検出方法の実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。そして、各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【実施例１】
【００１４】
［検出装置の構成］
まず、本実施例に係る検出装置の構成について説明する。図１は、実施例１に係る検出装置の構成を示す図である。図１に示す検出装置１０は、各種センサを搭載し、各種センサによる検出結果から位置の検出を行う機器であり、例えば、コンピュータや、携帯電話器、スマートフォン、ＰＤＡ（Personal  Digital  Assistants）などの携帯端末などである。検出装置１０は、移動体に携帯されて共に移動し、検出した位置から自律航法により現在の位置の特定を行う。移動体の一例としては、歩行者などである。
【００１５】
図１に示すように、検出装置１０は、各種センサとして、ジャイロセンサ１１と、加速度センサ１２と、歩数計１３とを有する。また、検出装置１０は、各種の情報を記憶する記憶部２０と、各種センサによる検出結果から位置を算出する制御部３０とを有する。なお、図１の例では、検出装置１０が３つのセンサ類を搭載する場合を例示するが、少なくともジャイロセンサ１１を搭載しておけば、後述するように移動体の進行方向の変更を検出させることができる。また、検出装置１０は、これら以外のセンサ、例えば、地磁気センサなどをさらに搭載してもよい。
【００１６】
ジャイロセンサ１１は、角速度を検出するセンサである。一態様としては、ジャイロセンサ１１は、角速度を検出する度に、検出した角速度を示す信号を制御部３０へ出力する。かかる角速度の計測方式には、振動式を始め、光学式、回転式、流体式などの任意の方式を採用できる。なお、以下では、ＭＥＭＳ（Micro  Electro  Mechanical  Systems）技術を用いてチップ化した振動型のジャイロセンサを用いた場合を想定するが、他の構成のジャイロセンサを用いてもよい。
【００１７】
加速度センサ１２は、加速度を検出するセンサである。一態様としては、加速度センサ１２は、加速度を検出する度に、検出した加速度を示す信号を制御部３０へ出力する。かかる加速度の計測方式には、半導体式を始め、機械式や光学式などの任意の方式を採用できる。
【００１８】
歩数計１３は、歩行者の歩数を計測するセンサである。一態様としては、歩数計１３は、歩行者の歩行を検出する毎に、歩数をカウントアップし、計測された歩数を示す歩数情報を制御部３０へ出力する。かかる歩数の計測方式には、振り子式、加速度センサ式などの任意の方式を採用できる。なお、加速度センサ１２を用いて歩数を計測するようにしてもよい。
【００１９】
記憶部２０は、各種のデータを記憶する記憶デバイスである。かかる記憶部２０の一態様としては、フラッシュメモリやＮＶＳＲＡＭ(Non  Volatile  Static  Random  Access  Memory)などのデータを書き換え可能な半導体メモリの他、ハードディスクや光ディスクなどの記憶装置を採用できる。
【００２０】
例えば、記憶部２０は、移動体が移動する移動範囲の地図情報２１を記憶する。かかる地図情報２１は、予め記憶部２０に登録されてもよい。また、地図情報２１は、地図情報を提供するサービスを行う業者のサーバ上から適宜取得されたものを用いてもよい。
【００２１】
制御部３０は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部３０は、図１に示すように、算出部３１と、変更部３２と、判定部３３と、更新部３４と、距離導出部３５と、リンク生成部３６と、マッチング部３７と、初期情報検出部３８と、位置導出部３９とを有する。
【００２２】
算出部３１は、ジャイロセンサ１１により検出される角速度を積分した積分値を算出する処理部である。一態様としては、算出部３１は、ジャイロセンサ１１により検出される角速度の水平成分を、所定期間ずつ積分した積分値を算出する。この所定期間は、移動体の進行方向の変化に要する期間とする。所定期間は、固定値としてもよく、検出装置１０を携帯する移動体の速度に応じて変化させてもよい。本実施例では、後述する変更部３２により所定期間を変化させる場合について説明する。所定期間を固定値とする場合、所定期間は、例えば、人が移動している際に進行方向を変えるために要する期間を多数の人で測定し、大多数の人の進行方向を変えるために要する期間を含むように設定する。
【００２３】
例えば、加速度センサ１２がｘ軸方向、ｙ軸方向、ｚ軸方向の加速度を検出する３軸加速度センサとし、ジャイロセンサ１１がｘ軸、ｙ軸、ｚ軸の角速度を検出する３軸角速度センサである場合について説明する。図２は、検出される加速度および角速度の関係の一例を示す図である。この場合、算出部３１は、角速度（ω＝（ωｘ,ωｙ,ωｚ））を時刻ｔから所定期間（Δt）積分した各軸の時間積分値（Δθｘ,Δθｙ,Δθｚ）を以下の式（１）から算出する。
【００２４】
【数１】
0005957906.tif 000002
【００２５】
また、算出部３１は、加速度センサ１２により検出される加速度（ａ＝(ａｘ,ａｙ,ａｚ)）を用いて、端末の姿勢（θｙ,θｚ）を以下の式（２）から算出する。
【００２６】
【数２】
0005957906.tif 000003
【００２７】
算出部３１は、上記式（１）で求めたジャイロセンサの各軸の時間積分値（Δθｘ,  Δθｙ,  Δθｚ）と、上記式（２）で求めた端末の姿勢（θｙ,θｚ）を用いて方位の変化量の水平成分(Δθ)を以下の式（３）から算出する。
【００２８】
【数３】
0005957906.tif 000004
【００２９】
ここで、Ｒｘ（θ）,Ｒｙ（θ）,Ｒｚ（θ）は、それぞれｘ,ｙ,ｚ軸を中心にθ回転することをあらわす回転行列とし、ｕは端末を示す任意の単位ベクトルとする。
【００３０】
変更部３２は、算出部３１が角速度を積分する所定期間（Δt）を変更する処理部である。一態様としては、変更部３２は、加速度センサ１２により検出された加速度に基づき、移動体の移動速度を求める。そして、変更部３２は、移動体の移動速度に応じて所定期間を変更する。
【００３１】
ここで、人は、通路の曲がり角などで進行方向を変更する場合、移動速度が遅い場合よりも移動速度が速い場合の方が、曲がり角の曲がり始めから終わりまでの進行方向の変更に要する時間が短い。そこで、変更部３２は、移動体の移動速度が速い場合は所定期間を短く、移動体の移動速度が遅い場合は所定期間を長く変更する。すなわち、歩行速度に依存して曲がりに必要な時間が変化するため、変更部３２は、歩行速度に応じて所定期間を変化させる。例えば、変更部３２は、移動体の移動速度に比例させて所定期間を変更する。これにより、進行方向を変更する期間での角速度の積分値が得られるようになる。なお、移動速度は、例えば、歩行中の加速度センサ１２の振幅から推測したり、歩行者のパーソナルデータ（年齢、性別、過去の歩行速度履歴）から推測してもよい。
【００３２】
ここで、歩行者が検出装置１０を携帯した場合にジャイロセンサ１１により検出される角速度について説明する。図３は、歩行者が直線的に歩行した場合にジャイロセンサにより検出される角速度の一例を示すグラフである。図３に示すように、歩行者が直線的に歩行した場合でも角速度が振動する変化が検出される。これは、人は、歩行する場合、右足と左足を交互に移動させるため、進行方向を変えずに直線的に歩行した場合でも歩行時に体が左右に回転するためである。歩行者が直線的に歩行した場合、人の歩行による左右の回転角度は略同一である。このため、ジャイロセンサ１１が検出される角速度の積分値は、歩行者が直線的に歩行した場合、略一定となるはずである。図４は、歩行者が直線的に歩行した場合に理想的な角速度の積分値の一例を示すグラフである。図４の例では、ジャイロセンサ１１が検出される角速度にオフセット誤差が発生しないものとしたため、積分値の変化の幅が小さい。
【００３３】
しかし、ジャイロセンサ１１は、検出される角速度にオフセット誤差が発生する場合がある。このため、算出部３１が角速度を積分した積分値には、オフセット誤差が含まれる。図５は、歩行者が直線的に歩行した場合にジャイロセンサにより検出される角速度を積分した結果の一例を示すグラフである。図５に示すように、角速度の積分値は、オフセット誤差が累積される影響により、積分値が一方向に経時的に上昇する。この影響により、進行方向が経時的に変化するドリフトが発生する。
【００３４】
ところで、人は、通路などを歩行する場合、交差点や曲がり角などで旋回動作して進行方向を変化する。すなわち、人は、進行方向が変化するのは旋回動作時のみで、それ以外は歩行者が直進しているために進行方向がほぼ一定である。
【００３５】
そこで、判定部３３は、算出部３１により算出した角速度を積分した積分値に基づいて旋回動作があったか否かを判定する。一態様としては、判定部３３は、算出された積分値が、所定の閾値よりも大きいか否かを判定する。この閾値は、所定期間での角速度のオフセット誤差の積分値に相当する値に定める。この閾値は、固定値としてもよく、所定期間や移動速度などに応じて変更してもよい。閾値は、所定期間を固定値とした場合、固定値としてもよい。本実施例では、所定期間の変化に応じて閾値を変更する。例えば、判定部３３は、変更部３２が所定期間を変更する場合、所定期間に比例させて閾値を変更して判定を行う。
【００３６】
更新部３４は、移動体の進行方向を更新する。一態様としては、更新部３４は、判定部３３により積分値が閾値よりも大きいと判定された場合、積分値に基づいて移動体の進行方向を更新する。すなわち、更新部３４は、積分値が閾値よりも大きい場合、旋回動作が行われたものとして、積分値から定まる旋回角度分だけ進行方向を更新する。また、更新部３４は、積分値が閾値以下の場合、直進動作であるものとして、今までの進行方向を更新せずに進行方向を固定する。
【００３７】
距離導出部３５は、移動体の移動距離を導出する。一態様としては、距離導出部３５は、歩数計１３から随時入力される歩数情報により示される歩数に歩幅をかけることで移動距離を導出する。歩幅は、固定値としてもよく、ユーザが直接指定してもよいし、歩行者のパーソナルデータ（年齢、身長、性別、過去の歩行速度履歴）から推測してもよい。一例として、身長から歩幅を算出する方法は、身長から所定の値を引いた値を歩幅としてもよく、身長に所定の係数を乗算した値を歩幅としてもよい。例えば、「身長−１００ｃｍ」を歩幅としてもよく、「身長×０．３７」を歩幅としてもよい。なお、距離導出部３５は、歩数の代わりに、加速度センサ１２により検出される加速度から移動距離を導出してもよい。例えば、距離導出部３５は、加速度センサ１２により検出される加速度を二回積分して移動距離を導出する。
【００３８】
リンク生成部３６は、移動体が移動した軌跡を示すリンクを生成する。一態様としては、リンク生成部３６は、更新部３４により進行方向を更新したタイミングで、距離導出部３５により導出された移動距離での進行方向を旋回角度分だけ変更して移動体が移動した軌跡を示すリンクを生成する。例えば、リンク生成部３６は、更新部３４により進行方向を更新した進行方位(θ)、距離導出部３５により導出された進行方向を更新した後の移動距離（ｌ）、進行方向を更新時点の移動距離(ｌｐ)を用いて以下の式（４）式から座標（ｘｐ,ｙｐ）を算出する。
【００３９】
【数４】
0005957906.tif 000005
【００４０】
そして、リンク生成部３６は、算出した座標（ｘｐ,ｙｐ）を、進行方向を更新時点の終端の座標に加算して新たなリンクとする。
【００４１】
マッチング部３７は、リンク生成部３６で生成したリンクと地図情報２１により示されるマップとマップマッチングを行う。一態様としては、マッチング部３７は、マップに対して、リンク生成部３６で生成したリンクの位置を移動させ、それぞれの位置でリンクを所定角度ずつ１回転させて、マップの通路の形状とリンクの形状を比較し、形状が一番似ている位置を特定する。図６は、マップの通路の形状とリンクの形状とのマッチングを模式的に示した図である。例えば、マッチング部３７は、マップの通路の形状とリンクの形状とのマッチングを行って類似度を求め、類似度が最も高い位置を特定する。なお、形状が似ているルートを見つけやすくするために、携帯電話などの移動体通信の基地局情報などにより現在位置を大まかに検出して、比較をする道路を限定することも可能である。また、マップマッチング以外に、移動体通信の基地局情報や無線ＬＡＮなどにより位置情報を提供させるなど、他の測位技術で位置を検出してもよく、ユーザが手動で位置を指定してもよい。
【００４２】
初期情報検出部３８は、移動体が移動を開始した初期位置および初期方位を検出する。一態様としては、初期情報検出部３８は、マッチング部３７によるマッチング結果に基づいて、移動体が移動を開始した初期位置および初期方位を検出する。例えば、初期情報検出部３８は、地図情報２１により示されるマップに対して類似度が最も高い位置にリンクを配置した際のリンクが示す移動体が移動を開始した始点の座標を移動体が移動を開始した初期位置と特定する。また、初期情報検出部３８は、マップに対して類似度が最も高い位置にリンクを配置するためにリンクを回転させた回転角度から移動体が移動を開始した初期方位を特定する。移動体が移動を開始した初期位置および初期方位を図示しない操作部からユーザが手動で指定してもよい。
【００４３】
位置導出部３９は、移動体の現在の位置を特定し、特定した位置を示す位置情報を出力する。一態様としては、位置導出部３９は、初期情報検出部３８により検出された初期位置および初期方位からリンク生成部３６で生成したリンクが示す移動軌跡の移動を行ったものとして移動体の現在の位置を特定し、特定した位置を示す位置情報を出力する。
【００４４】
なお、制御部３０には、各種の集積回路や電子回路を採用できる。例えば、集積回路としては、ＡＳＩＣ（Application  Specific  Integrated  Circuit）が挙げられる。また、電子回路としては、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などが挙げられる。
【００４５】
図７は、本実施例に係る検出装置により自律航法を行った結果の一例を示す図である。図７に示すように、本実施例に係る検出装置１０は、歩行者が歩いた経路を自律航法により精度良く推定できる。
【００４６】
一方、本実施例のように積分値が閾値よりも大きい場合、旋回動作が行われたものとせずに、例えば、積分値から定まる旋回角度分だけ進行方向を更新して自律航法を行った場合、進行方向が経時的に変化するドリフトが発生する。図８は、積分値から定まる旋回角度分だけ進行方向を更新して自律航法を行った結果の一例を示す図である。図８に示すように、進行方向が変化するドリフトが発生して、歩行者が歩いた経路を推定できない。
【００４７】
このように、本実施例に係る検出装置１０によれば、ジャイロセンサ１１により検出された角速度の水平成分を所定期間ずつ積分し、積分値が閾値よりも大きい場合、旋回動作が行われたものとして自律航法を行うことにより、精度良く現在の位置を推定できる。また、本実施例に係る検出装置１０によれば、歩行者がゆっくりと旋回し角速度が小さい場合でも、所定期間積分することにより旋回動作分の角速度が積分されるため、旋回動作を検出できる。また、本実施例に係る検出装置１０によれば、検出装置１０の姿勢が静止している状態を作り出さなくても、精度良く現在の位置を推定できる。
【００４８】
次に、本実施例に係る検出装置１０により自律航法を行う際に実行される各種の処理の流れについて説明する。最初に、本実施例に係る検出装置１０により移動体の進行方向の変化を検出する進行方向変化検出処理の流れについて説明する。図９は、実施例１に係る進行方向変化検出処理の手順を示すフローチャートである。この進行方向変化検出処理は、検出装置１０に対して自律航法の開始を指示する所定の操作が行われた場合に処理を起動する。
【００４９】
図９に示すように、算出部３１は、タイマＴをゼロに初期化し、計時を開始する（ステップＳ１０）。そして、算出部３１は、タイマＴが所定期間を経過したか否か判定する（ステップＳ１１）。タイマＴが所定期間を経過していない場合（ステップＳ１１否定）、算出部３１は、ジャイロセンサ１１により検出された角速度の水平成分を算出し、所定期間での角速度の水平成分を積分して（ステップＳ１２）、再度ステップＳ１１へ移行する。タイマＴが所定期間を経過した場合（ステップＳ１１肯定）、判定部３３は、算出された積分値が所定の閾値よりも大きいか否かを判定する（ステップＳ１３）。積分値が閾値以下の場合（ステップＳ１３否定）、ステップＳ１０へ移行する。
【００５０】
一方、積分値が閾値よりも大きい場合（ステップＳ１３肯定）、更新部３４は、積分値に基づいて移動体の進行方向を更新する（ステップＳ１４）。更新部３４は、処理終了を指示する所定操作が行われたか否かを判定する（ステップＳ１５）。処理終了を指示する所定操作が行われた場合（ステップＳ１５肯定）、処理を終了する。一方、処理終了を指示する所定操作が行われていない場合（ステップＳ１５否定）、ステップＳ１０へ移行する。
【００５１】
次に、本実施例に係る検出装置１０により移動体が移動した軌跡を示すリンクを生成するリンク生成処理の流れについて説明する。図１０は、実施例１に係るリンク生成処理の手順を示すフローチャートである。このリンク生成処理は、検出装置１０に対して自律航法の開始を指示する所定の操作が行われた場合に処理を起動する。
【００５２】
図１０に示すように、リンク生成部３６は、距離導出部３５により導出された移動距離の変化に基づき、移動体が移動したか否かを判定する（ステップＳ２０）。移動体が移動していない場合（ステップＳ２０否定）、ステップＳ２０へ移行して移動待ちを行う。移動体が移動した場合（ステップＳ２０肯定）、リンク生成部３６は、更新部３４により求められる移動体の移動方向を読み出す（ステップＳ２１）。リンク生成部３６は、読みだした移動方向に、距離導出部３５により導出された移動距離が変化した分だけ移動体が移動した軌跡を示すリンクを生成する（ステップＳ２２）。リンク生成部３６は、処理終了を指示する所定操作が行われたか否かを判定する（ステップＳ２３）。処理終了を指示する所定操作が行われた場合（ステップＳ２３肯定）、処理を終了する。一方、処理終了を指示する所定操作が行われていない場合（ステップＳ２３否定）、ステップＳ２０へ移行する。
【００５３】
次に、本実施例に係る検出装置１０により角速度を積分する所定期間を変更する変更処理の流れについて説明する。図１１は、実施例１に係る変更処理の手順を示すフローチャートである。この変更処理は、検出装置１０に対して自律航法の開始を指示する所定の操作が行われた場合に処理を起動する。
【００５４】
図１１に示すように、変更部３２は、加速度センサ１２により検出された加速度に基づき、移動体の移動速度を求める（ステップＳ３０）。変更部３２は、移動速度が変化したか否かを判定する（ステップＳ３１）。移動速度が変化していない場合（ステップＳ３１否定）、ステップＳ３０へ移行する。移動速度が変化した場合（ステップＳ３１肯定）、変更部３２は、移動体の移動速度に応じて所定期間を変更する（ステップＳ３２）。そして、変更部３２は、処理終了を指示する所定操作が行われたか否かを判定する（ステップＳ３３）。処理終了を指示する所定操作が行われた場合（ステップＳ３３肯定）、処理を終了する。一方、処理終了を指示する所定操作が行われていない場合（ステップＳ３３否定）、ステップＳ３０へ移行する。
【００５５】
以上、上述してきたように、本実施例に係る検出装置１０は、移動体の角速度を周期的に検出する。そして、本実施例に係る検出装置１０は、検出される角速度を移動体の進行方向の変化に要する所定期間ずつ積分した積分値を算出する。本実施例に係る検出装置１０は、算出された積分値が、所定期間での角速度のオフセット誤差の積分値に相当する閾値よりも大きいか否かを判定する。本実施例に係る検出装置１０は、積分値が前記閾値よりも大きいと判定された場合、積分値に基づいて前記移動体の進行方向を更新する。これにより、本実施例に係る検出装置１０によれば、検出精度の低下を抑制して進行方向を検出できる。
【００５６】
また、本実施例に係る検出装置１０は、移動体の加速度を検出する。そして、本実施例に係る検出装置１０は、検出される加速度を用いて姿勢を求め、角速度の水平成分を積分する。これにより、本実施例に係る検出装置１０によれば、精度良く進行方向の変更を検出できる。
【００５７】
また、本実施例に係る検出装置１０は、移動体の移動速度を検出し、検出される前記移動体の移動速度が速い場合は所定期間を短く、移動体の移動速度が遅い場合は所定期間を長く変更する。これにより、本実施例に係る検出装置１０によれば、移動体の移動速度が変化した場合でも、進行方向の変更に要する時間だけ角速度を積分した積分値を得ることができるため、移動体の進行方向の変更を精度良く検出できる。
【実施例２】
【００５８】
次に、実施例２について説明する。実施例２では、移動体として人が歩行する歩数を計測し、計測される歩数が偶数となる期間に所定期間を変更する場合について説明する。図１２は、実施例２に係る検出装置の構成を示す図である。なお、図１に示した実施例１に係る検出装置と同一の部分については、同一の符号を付し、異なる部分について説明する。
【００５９】
変更部３２は、歩数計１３から歩数情報が随時入力される。変更部３２は、歩数情報に基づき、算出部３１が角速度を積分する所定期間を変更する処理部である。一態様としては、変更部３２は、計測される歩数が偶数となる期間に所定期間を変更する。例えば、変更部３２は、歩数情報に基づいて歩数をカウントし、計測される歩数が所定の偶数となる期間に所定期間を変更する。
【００６０】
ここで、人は、歩行する場合、右足と左足を交互に移動させるため、進行方向を変えずに直線的に歩行した場合でも歩行時に体が左右に回転するが、人の歩行による左右の回転角度は略同一である。このため、歩数が偶数となる期間に所定期間を変更し、ジャイロセンサ１１により検出される角速度の水平成分を歩数が偶数となる期間、積分した積分値を算出することにより、歩行時に体が左右に回転する角速度成分を相殺することができる。これにより、進行方向を変えたことによる角速度を積分できる。
【００６１】
図１３は、人が偶数歩、歩行する期間の角速度の水平成分を積分した結果の一例を示す図である。図１３の例は、１４歩、歩行する期間の角速度の水平成分を積分した結果である。Ｐ１〜Ｐ４部分は進行方向を変更している。その他の部分は直線的に歩行している。図１３に示すように、角速度の水平成分を積分した積分値は、Ｐ１〜Ｐ４部分で大きな値となり、その他の直線的に歩行した部分で小さい値となっている。よって、歩数が偶数となる期間、角速度の水平成分を積分することにより、進行方向の変更を精度よく検出できる。
【００６２】
図１４は、実施例２に係る変更処理の手順を示すフローチャートである。なお、図１１に示した実施例１に係る変更処理と同一の部分については、同一の符号を付し、異なる部分について説明する。
【００６３】
図１４に示すように、移動速度が変化した場合（ステップＳ３１肯定）、変更部３２は、歩数情報に基づき、歩数が偶数の所定数だけ歩行する歩行期間を求める（ステップＳ３４）。そして、変更部３２は、歩行期間に所定期間を変更し（ステップＳ３５）、ステップＳ３３へ移行する。
【００６４】
以上、上述してきたように、本実施例に係る検出装置１０は、移動体として人が歩行する歩数を計測し、計測される歩数が偶数となる期間に所定期間を変更する。これにより、本実施例に係る検出装置１０によれば、歩数が偶数となる期間だけ角速度を積分され、歩行時に体が左右に回転する角速度成分を相殺されるため、移動体の進行方向の変更を精度良く検出できる。
【実施例３】
【００６５】
次に、実施例３について説明する。実施例３では、移動体が次に通過する通路の曲がり角の通路幅を特定し、通路幅に応じて所定期間を長く変更する場合について説明する。図１５は、実施例３に係る検出装置の構成を示す図である。なお、図１に示した実施例１に係る検出装置と同一の部分については、同一の符号を付し、異なる部分について説明する。
【００６６】
図１５に示すように、制御部３０は、特定部４０をさらに有する。特定部４０は、位置導出部３９により特定される位置および記憶部２０に記憶された地図情報２１に基づき、移動体が次に通過する通路の曲がり角の通路幅を特定する。
【００６７】
変更部３２は、特定部４０により特定された通路幅に応じて所定期間を長く変更する。
【００６８】
ここで、人は、通路の曲がり角などで進行方向を変更する場合、通路幅が広い方が通路幅が狭い場合よりも、曲がり角の曲がり始めから終わりまでの進行方向の変更に要する時間が長い。そこで、一態様としては、変更部３２は、通路幅が狭い場合は所定期間を短く、通路幅が広い場合は所定期間を長く変更する。例えば、変更部３２は、通路の形状から旋回に必要な旋回所要距離を求める。変更部３２は、一例として、次の曲がり角の道路幅および曲がり角の角度を用いて楕円積分から旋回所要距離を求める。図１６は、通路の一例を示す図である。図１６に示すような幅ｗ１、ｗ２の通路が角度θｃで交わる曲がり角を想定した場合、以下の式（５）式から長軸の長さｒ’を求める。
【００６９】
【数５】
0005957906.tif 000006
【００７０】
そして、変更部３２は、旋回所要距離として、長軸の長さがｒ’、短軸の長さがｗ１の楕円の１／４の円周Ｉｃを求める。そして、変更部３２は、円周Ｉｃを移動速度で除算して旋回所要時間を求め、旋回所要時間を所定期間とする。このように、移動体が次に通過する通路の曲がり角の旋回所要時間を予測し、旋回所要時間だけ角速度の水平成分を積分することにより、進行方向の変更を精度よく検出できる。
【００７１】
図１７は、実施例３に係る変更処理の手順を示すフローチャートである。
【００７２】
図１７に示すように、変更部３２は、加速度センサ１２により検出された加速度に基づき、移動体の移動速度を求める（ステップＳ５０）。特定部４０は、次に通過する通路の曲がり角の通路幅を特定する（ステップＳ５１）。変更部３２は、次に通過する通路の曲がり角の旋回所要距離を求め、旋回所要距離を移動速度で除算して旋回所要時間を求める（ステップＳ５２）。そして、変更部３２は、所定期間を旋回所要時間に変更する（ステップＳ５３）。変更部３２は、処理終了を指示する所定操作が行われたか否かを判定する（ステップＳ５４）。処理終了を指示する所定操作が行われた場合（ステップＳ５４肯定）、処理を終了する。一方、処理終了を指示する所定操作が行われていない場合（ステップＳ５４否定）、ステップＳ５０へ移行する。
【００７３】
以上、上述してきたように、本実施例に係る検出装置１０は、移動体が次に通過する通路の曲がり角の通路幅を特定し、特定された通路幅が狭い場合は所定期間を短く、前記通路幅が広い場合は所定期間を長く変更する。これにより、本実施例に係る検出装置１０によれば、移動体が次に通過する通路の曲がり角での進行方向の変更に要する時間だけ角速度を積分した積分値を得ることができるため、移動体の進行方向の変更を精度良く検出できる。
【実施例４】
【００７４】
さて、これまで開示の装置に関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【００７５】
例えば、上記の実施例１〜３では、移動速度、偶数歩となる期間、次に通過する通路の曲がり角の通路幅に応じてそれぞれ角速度を積分する所定期間を変更する場合について説明したが、開示の装置はこれに限定されない。それぞれを組み合わせて、所定期間を定めてもよい。例えば、移動速度が速いほど所定期間を短くするが、所定期間を偶数歩となる期間としたり、次に通過する通路の曲がり角の通路幅が大きい場合、所定期間を長く変更してもよい。
【００７６】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、制御部３０の算出部３１、変更部３２、判定部３３、更新部３４、距離導出部３５、リンク生成部３６、マッチング部３７、初期情報検出部３８、位置導出部３９、特定部４０の各処理部が適宜統合されてもよい。また、各処理部の処理が適宜複数の処理部の処理に分離されてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【００７７】
［検出プログラム］
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図１８を用いて、上記の実施例と同様の機能を有する検出プログラムを実行し、自律航法により現在の位置の検出を行うコンピュータの一例について説明する。
【００７８】
図１８は、検出プログラムを実行するコンピュータの一例について説明するための図である。図１８に示すように、コンピュータ１００は、操作部１１０ａと、ジャイロセンサ１１０ｂと、加速度センサ１１０ｃと、歩数計１１０ｄ、ディスプレイ１２０と、通信部１３０とを有する。さらに、このコンピュータ１００は、ＣＰＵ１５０と、ＲＯＭ１６０と、ＨＤＤ１７０と、ＲＡＭ１８０と有する。これら１１０〜１８０の各部はバス１４０を介して接続される。
【００７９】
ＨＤＤ１７０には、制御部３０の各処理部と同様の機能を発揮する検出プログラム１７０ａが予め記憶される。この検出プログラム１７０ａについては、実施例１で示した各構成要素と同様、適宜統合又は分離しても良い。すなわち、ＨＤＤ１７０に格納される各データは、常に全てのデータがＨＤＤ１７０に格納される必要はなく、処理に必要なデータのみがＨＤＤ１７０に格納されれば良い。
【００８０】
そして、ＣＰＵ１５０が、検出プログラム１７０ａをＨＤＤ１７０から読み出してＲＡＭ１８０に展開する。これによって、図１８に示すように、検出プログラム１７０ａは、検出プロセス１８０ａとして機能する。この検出プロセス１８０ａは、ＨＤＤ１７０から読み出した各種データを適宜ＲＡＭ１８０上の自身に割り当てられた領域に展開し、この展開した各種データに基づいて各種処理を実行する。なお、検出プロセス１８０ａは、制御部３０の各処理部にて実行される処理、例えば図９〜図１１、図１４、図１７に示す処理を含む。また、ＣＰＵ１５０上で仮想的に実現される各処理部は、常に全ての処理部がＣＰＵ１５０上で動作する必要はなく、処理に必要な処理部のみが仮想的に実現されれば良い。
【００８１】
なお、上記の検出プログラム１７０ａについては、必ずしも最初からＨＤＤ１７０やＲＯＭ１６０に記憶させておく必要はない。例えば、コンピュータ１００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に各プログラムを記憶させる。そして、コンピュータ１００がこれらの可搬用の物理媒体から各プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ１００に接続される他のコンピュータまたはサーバ装置などに各プログラムを記憶させておき、コンピュータ１００がこれらから各プログラムを取得して実行するようにしてもよい。
【符号の説明】
【００８２】
１０    検出装置
１１    ジャイロセンサ
１２    加速度センサ
１３    歩数計
３０    制御部
３１    算出部
３２    変更部
３３    判定部
３４    更新部
３５    距離導出部
３６    リンク生成部
３７    マッチング部
３８    初期情報検出部
３９    位置導出部
４０    特定部
【図１】
0005957906.tif 000007
【図２】
0005957906.tif 000008
【図３】
0005957906.tif 000009
【図４】
0005957906.tif 000010
【図５】
0005957906.tif 000011
【図６】
0005957906.tif 000012
【図７】
0005957906.tif 000013
【図８】
0005957906.tif 000014
【図９】
0005957906.tif 000015
【図１０】
0005957906.tif 000016
【図１１】
0005957906.tif 000017
【図１２】
0005957906.tif 000018
【図１３】
0005957906.tif 000019
【図１４】
0005957906.tif 000020
【図１５】
0005957906.tif 000021
【図１６】
0005957906.tif 000022
【図１７】
0005957906.tif 000023
【図１８】
0005957906.tif 000024