説明

旋回検出装置、端末装置及びプログラム

【課題】旋回検出装置、端末装置及びプログラムにおいて、ユーザが携帯する端末装置に適用した場合でも正確な旋回動作の検出を可能とすることを目的とする。
【解決手段】旋回検出装置は、ユーザに携帯される端末装置の加速度から偶数歩に相当する歩行周期を計測し、端末装置の角速度を歩行周期に応じた積分区間で時間積分することで、基準面に対する角度を示す現在の向きと歩行周期に相当する時間だけ前の向きとの差分を検出し、前記差分に基づいて端末装置の旋回を判定するように構成する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、例えば端末装置を携帯するユーザが歩行中に旋回したことを検出する旋回検出装置、端末装置及びプログラムに関する。
【背景技術】
【0002】
携帯電話等の携帯端末装置が採用している位置測位システムは、GPS(Global Positioning System)が主流である。しかし、携帯端末装置のGPS機能を連続動作させると、GPS機能による消費電力が携帯端末装置の他の機能による消費電力と比較して高いため、携帯端末装置を駆動する電池が消耗してしまい、例えば8時間程度の比較的短い連続動作しか実現できない。
【0003】
一方、自律測位(又は、自律航法)を用いてユーザの歩行経路又は移動経路を推定する携帯端末装置も提案されている。自律測位を用いて推定された結果は、ナビゲーションサービス(Navigation Service)に限らず、携帯端末装置の現在位置に対応する情報提供サービス等の各種サービスに利用可能である。この種の携帯端末装置は、例えば方位を検出する方位検出機能、歩数を検出する歩数検出機能、予め入力されている歩幅と歩数の積から移動距離を算出する移動距離算出機能、現在の絶対位置を取得するGPS機能等の測位機能を有する。この種の携帯端末装置は、一定時間毎、或いは、一定移動距離毎にGPS機能が動作するようにGPS機能を間欠動作させ、これらの測位機能により取得される方位、移動距離、絶対位置等に基づいて、ユーザの移動経路を推定する。
【0004】
自律測位を用いる携帯端末装置は、GPS機能を連続動作させてユーザの移動経路を推定する携帯端末装置と比較すると、消費電力を比較的低く抑えることができる。これは、GPS機能以外の測位機能の動作時の消費電力が、GPS機能の動作時の消費電力と比較すると少ないことによる。しかし、ユーザの移動経路の推定精度を向上させるためには、GPS機能以外の測位機能により正確な方位、移動距離、絶対位置等が取得される必要がある。
【0005】
例えば方位検出機能が磁気センサを用いる場合、磁気センサのキャリブレーションを実行する必要がある。磁気センサを有する携帯端末装置は、磁気センサが例えば2〜3箇所に設けられ、各磁気センサが地磁気を測定して方位を取得する。しかし、これらの磁気センサのキャリブレーションを実行しても磁気センサ間の測定誤差、即ち、オフセットをゼロにすることは難しい。
【0006】
又、GPS機能以外の測位機能の測定誤差は、ユーザが携帯端末装置を携帯して移動する距離に応じて累積されて増大するため、ユーザの移動経路の推定精度を向上させるためには例えばGPS機能を比較的頻繁に動作させて誤差を補正する等の対策が必要となる。GPS機能により取得した絶対位置にも誤差は含まれるが、GPS機能による測位誤差は例えばバネモデルを用いた周知の歩行軌跡補間技術を用いて補正できるので、ユーザの移動距離に応じて累積されて増大する磁気センサの測定誤差はGPS機能により取得した絶対位置に基づいて補正することができる。
【0007】
このように、ある程度の位置推定精度を確保するためにGPS機能を連続動作させると携帯端末装置の消費電力が比較的高くなり、消費電力を低く抑えるためにGPS機能を比較的長い間隔で間欠動作させると累積される測定誤差のために位置推定精度が低下してしまう。
【0008】
しかし、GPS機能は、繁華街、地下街、建物内等の衛星電波が届きにくい場所では利用できない。このため、GPS機能を利用できない場合、或いは、GPS機能を利用しても正確な絶対位置が得られない場合でも自律測位を用いる携帯端末装置の位置推定精度を向上することが望まれている。
【0009】
方位検出機能の一例として、ジャイロセンサを利用して旋回動作を検出する方法が提案されている(例えば、特許文献1)。ジャイロセンサの検出出力を時間積分することで、旋回動作を検出前の向きを基準とした旋回後の向きの角度を検出し、規定値以上であれば旋回を判定することができる。しかし、このようなジャイロセンサを利用した旋回動作検出方法をユーザが携帯する携帯端末装置に適用した場合、ユーザの歩行動作により角速度にノイズが混入してしまう。これは、ユーザが歩行する際、例えば携帯端末装置を腰に固定している場合は腰振り、携帯端末装置を手に持っている場合は腕振り等により、携帯端末装置の角速度がユーザの歩行動作により大きく影響されることによる。このように検出した角速度にノイズが混入していると、正確な旋回動作の検出は難しい。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】実開平6−12188号公報
【特許文献2】特開2008−298486号公報
【非特許文献】
【0011】
【非特許文献1】http://www.phoenix-c.or.jp/~hideo/reha/kouen/092aruku.html
【非特許文献2】http://harp.lib.hiroshima-u.ac.jp/bitstream/harp/1509/1/ sosho30Yanagawa.pdf
【発明の概要】
【発明が解決しようとする課題】
【0012】
従来の旋回検出方法では、ユーザが携帯する端末装置に適用した場合に正確な旋回動作の検出を行うことは難しいという問題があった。
【0013】
そこで、本発明は、ユーザが携帯する端末装置に適用した場合でも、正確な旋回動作の検出が可能な旋回検出装置、端末装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明の一観点によれば、ユーザに携帯される端末装置に搭載される旋回検出装置であって、前記端末装置の加速度を示す加速度信号から偶数歩に相当する歩行周期を計測する歩行周期計測部と、前記端末装置の角速度を示す角速度信号を前記歩行周期に応じた積分区間で時間積分することで、基準面に対する角度を示す現在の向きと前記歩行周期に相当する時間だけ前の向きとの差分を検出する向きの差分検出部と、前記差分に基づいて前記端末装置の旋回を判定し、判定結果を示す旋回検出信号を出力する旋回判定部を備えたことを特徴とする旋回検出装置が提供される。
【0015】
本発明の一観点によれば、ユーザに携帯される端末装置であって、前記端末装置の加速度を検出して加速度信号を出力する加速度センサと、前記端末装置の角速度を検出して角速度信号を出力する角速度センサと、前記加速度信号から偶数歩に相当する歩行周期を計測する歩行周期計測部と、前記角速度信号を前記歩行周期に応じた積分区間で時間積分することで、基準面に対する角度を示す現在の向きと前記歩行周期に相当する時間だけ前の向きとの差分を検出する向きの差分検出部と、前記差分に基づいて前記端末装置の旋回を判定し、判定結果を示す旋回検出信号を出力する旋回判定部を備えたことを特徴とする端末装置が提供される。
【0016】
本発明の一観点によれば、ユーザに携帯される端末装置に搭載されるコンピュータに旋回検出処理を実行させるプログラムであって、前記端末装置の加速度を示す加速度信号を加速度センサから入力し、前記加速度信号に基づいて偶数歩に相当する歩行周期を計測して記憶部に格納する歩行周期計測手順と、前記端末装置の角速度を示す角速度信号を角速度センサから入力し、前記角速度信号を前記歩行周期に応じた積分区間で時間積分することで、基準面に対する角度を示す現在の向きと前記歩行周期に相当する時間だけ前の向きとの差分を検出して前記記憶部に格納する向きの差分検出手順と、前記差分に基づいて前記端末装置の旋回を判定し、判定結果を示す旋回検出信号を出力して前記記憶部に格納する旋回判定手順を前記コンピュータに実行させることを特徴とするプログラムが提供される。
【発明の効果】
【0017】
開示の旋回検出装置、端末装置及びプログラムによれば、ユーザが携帯する端末装置に適用した場合でも、正確な旋回動作の検出が可能となる。
【図面の簡単な説明】
【0018】
【図1】本発明の第1実施例における端末装置の一例を示すブロック図である。
【図2】端末装置がユーザの腰に装着された状態で歩行動作をした場合の端末装置の向きを説明する平面図である。
【図3】携帯電話を携帯するユーザの歩行時にジャイロセンサが検出して出力する角速度の一例を示す図である。
【図4】図3に示す角速度を4歩毎に積分した結果に基づいて生成される旋回検出信号を示す図である。
【図5】携帯電話を形成可能なコンピュータシステムの構成の一例を示すブロック図である。
【図6】携帯電話の旋回検出処理を説明するフローチャートである。
【図7】旋回検出処理を説明するフローチャートである。
【図8】歩行周期計測処理を説明するフローチャートである。
【図9】向きの差分検出処理を説明するフローチャートである。
【図10】旋回判定処理を説明するフローチャートである。
【図11】第2実施例における向きの差分検出処理を説明するフローチャートである。
【図12】第1変形例における歩行周期計測処理を説明するフローチャートである。
【図13】図12の歩行周期計測処理における積分区間の算出を説明する図である。
【図14】図12の歩行周期計測処理における角速度信号のサンプル数を説明する図である。
【図15】第1実施例で算出される3軸の積分値の二乗和を示す図である。
【図16】第1変形例で算出される3軸の積分値の二乗和を示す図である。
【図17】第1実施例における旋回検出信号生成処理を説明するフローチャートである。
【図18】第2変形例における旋回検出信号生成処理を説明するフローチャートである。
【図19】第1実施例における1軸の積分値を示す図である。
【図20】第2変形例における3軸積分値の二乗和を示す図である。
【図21】第3変形例の動作を説明する図である。
【発明を実施するための形態】
【0019】
開示の旋回検出装置、端末装置及びプログラムでは、ユーザに携帯される端末装置の加速度を示す加速度信号から偶数歩に相当する歩行周期を計測し、端末装置の角速度を示す角速度信号を歩行周期に応じた積分区間で時間積分することで、基準面に対する角度を示す現在の向きと歩行周期に相当する時間だけ前の向きとの差分を検出し、この差分に基づいて端末装置の旋回を判定する。
【0020】
以下に、開示の旋回検出装置、端末装置及びプログラムの各実施例を図面と共に説明する。
【実施例】
【0021】
(第1実施例)
図1は、本発明の第1実施例における端末装置の一例を示すブロック図である。この例では、本発明が携帯電話に適用されているが、端末装置はPDA(Personal Digital Assistant)等の通信機能を有する端末装置であっても良いことは言うまでもない。
【0022】
図1に示す携帯電話100は、旋回検出装置1、センサ群2、及びリンク推定装置3を有する。旋回検出装置1は、歩行周期計測部11、向きの差分検出部12、及び旋回判定部13を含む。センサ群2は、ジャイロスコープ(gyroscope)又は角速度を検出する角速度センサ(以下、ジャイロセンサと言う)21、及び加速度センサ22等を含む。
【0023】
ユーザが歩行する際、例えば携帯電話100を腰に固定している場合は腰振り、携帯端末装置を手に持っている場合は腕振り等により、携帯電話100の角速度がユーザの歩行動作により大きく影響される。そこで、この例では、腰振りや腕振りが偶数歩周期で繰り返すという特徴に着目し、旋回検出装置1の歩行周期計測部11は、加速度センサ22が検出して出力する加速度(即ち、加速度を示す加速度信号)から歩行周期を周知の方法で計測する。尚、歩行周期計測部11は、加速度センサ22が検出して出力する加速度に加え、ジャイロセンサ21が検出して出力する角速度(即ち、角速度を示す角速度信号)も用いて歩行周期を周知の方法で計測しても良い。又、旋回検出装置1の向きの差分検出部12は、ジャイロセンサ21が検出して出力する角速度を、歩行周期計測部11で計測した歩行周期に応じた積分区間で時間積分することで、携帯電話100の現在の向き(即ち、基準面に対する角度、以下単に角度とも言う)と歩行周期に相当する時間だけ前の向き(即ち、角度)との差を検出する。旋回検出装置1の旋回判定部13は、向きの差分検出部12が検出した角度差に基づいて、携帯電話100の旋回角度、或いは、旋回の有無と旋回角度を判定して判定結果(即ち、旋回検出信号)を出力する。
【0024】
つまり、この例では、人間の歩行は同じ動作を2歩単位で繰り返す動作であるという特徴に着目し、「歩行周期×偶数」毎に携帯電話100の向きを検出し、「歩行周期×偶数」毎に検出された向きの差分を検出することにより歩行動作により生じるノイズを低減する。又、旋回動作に必要となる歩数分(即ち、偶数歩分)毎に携帯電話100の向きを検出し、「歩行周期×偶数」毎に検出された向きの差分を検出することにより、旋回動作により生じる携帯電話100の向きの変化量を算出し、旋回動作を検出するための信号を増幅する。
【0025】
図2は、一例として、端末装置(又は、携帯電話100)が人間(即ち、ユーザ)の腰に装着された状態で、ユーザが歩行動作をした場合の端末装置の向きを説明する平面図である。この例では、ユーザが図2の左側から右側へ方向するものとする。直立状態ST1では、ユーザの両脚は平行で携帯電話100は破線で示す歩行方向を向いているが、右足を踏み出した状態ST2では携帯電話100の向きは歩行方向より左を向く。その後、左足を踏み出した状態ST3では、携帯電話100の向きは歩行方向より右を向き、更に右足を踏み出した状態ST4では、携帯電話100の向きは歩行方向より左を向く。例えば、ユーザの歩行動作のうち、右足を踏み出すタイミングにおける携帯電話100の姿勢だけを抽出した場合、右足を踏み出すタイミングにおける携帯電話100の姿勢は、状態ST2,ST4からもわかるように同じである。同様に、左足を踏み出すタイミングにおける携帯電話100の姿勢だけを抽出した場合、左足を踏み出すタイミングにおける携帯電話100の姿勢は同じである。このため、「歩行周期×偶数」毎、例えば、2歩毎又は4歩毎に携帯電話100の向きの差部を検出すれば、腰振りによる影響を低減できることがわかる。
【0026】
図3は、携帯電話100を腰に固定したユーザの歩行時にジャイロセンサ21が検出して出力する角速度の一例を示す図である。図3中、縦軸は角速度を任意単位で示し、横軸は時間を秒(sec)で示す。図3からもわかるように、ジャイロセンサ21の検出出力には、ユーザの腰振りにより発生する角速度が周期的に現れることが確認された。
【0027】
そこで、腰振りにより発生する角速度を低減するために、向きの差分検出部12は、ジャイロセンサ21が検出して出力する角速度を、歩行周期計測部11は計測した歩行周期で積分する。これにより、指定した偶数歩前の携帯電話100の向き(即ち、角度)を基準とした携帯電話100の現在の向き(即ち、角度)の基準との差分を検出することができる。つまり、向きの差分検出部12は、ユーザの旋回動作に必要となる歩数(即ち、偶数歩)で角速度を積分することにより、旋回前の携帯電話100の向きを基準とした、旋回後の携帯電話100の向きを検出することができる。
【0028】
図4は、図3に示す角速度を向きの差分検出部12でユーザの4歩毎に積分した結果に基づいて旋回判定部13で生成される旋回検出信号を示す図である。図4中、縦軸は向きの差分検出部12が出力する向き(即ち、角度)の差分に基づいて旋回角度、或いは、旋回角度と旋回の有無を示す旋回検出信号(deg2)を示し、横軸は時間を秒(sec)で示す。図4の例は、計測周波数が25Hzの場合を示す。図4からもわかるように、腰振りにより携帯電話100の角速度に混入するノイズが低減され、旋回検出信号が増幅されることが確認された。又、腕振りにより携帯電話100の角速度に混入するノイズも、上記と同様の処理を行うことで低減可能となることは言うまでもない。
【0029】
このようにして、歩行動作により携帯電話100の角速度に生じるノイズを低減し、ユーザの旋回動作中に検出される旋回検出信号を増幅することができるので、旋回検出装置1の旋回判定部13は、旋回検出信号に基づいて携帯電話100の旋回角度、或いは、旋回の有無と旋回角度を正確に判定して判定結果を出力可能となる。このため、旋回判定部13は、ユーザの歩行動作により携帯電話100の角速度にノイズが混入しても、ノイズを低減して歩行動作中の旋回動作を誤検出しにくくなる。
【0030】
又、歩行周期に設定する偶数歩は、旋回を検出する角度の大きさに応じて決定すれば良い。ユーザが旋回するまでに要する歩数を歩行周期、即ち、積分区間に設定することで、旋回検出精度を更に向上することができる。
【0031】
図1の説明に戻るに、リンク推定装置3は、加速度センサ22の検出結果及び旋回判定部13の判定結果に基づいて、携帯電話100の直線移動距離を組み合わせたリンクに関するリンク情報を周知の方法で取得して記憶部(図示せず)に格納する。リンク推定装置3は、旋回検出装置1の旋回判定部13が判定した端末装置100の旋回角度に基づいて、周知の方法で旋回の角度を算出することができる。又、リンク推定装置3は、ユーザが入力部(図示せず)から入力したユーザの1歩分の長さを表す歩幅情報、或いは、デフォルトの歩幅情報を予め記憶部に保持しており、当該歩幅情報と、加速度センサ22が検出して出力する加速度から算出される歩数情報とから、ユーザの移動距離(=歩幅×歩数)を計算することができる。移動距離の求め方自体は、加速度センサを用いた周知の歩数計と同様で良いため、その詳細な説明は省略する。従って、リンク推定装置3は、携帯電話100を携帯するユーザが旋回して進行方向を転換してから次に進行方向を転換するまでの直線移動距離、即ち、リンク長を求めることができる。リンクとは、移動距離の長さを有する線分のことを言う。リンクは移動経路に相当し、有限の長さを有する一又は複数の節で形成される。リンクを繋げた経路が、端末装置100の推定移動経路となる。
【0032】
尚、携帯電話100は、周知の通話機能を備えており、更にメール、インターネット等の周知の通信機能、周知の撮影機能、周知のGPS機能等の各種機能を備えても良いが、図1ではこれら各種機能を実現するための構成の図示は省略する。GPS機能は、例えば複数のGPS衛星からの信号をアンテナで受信して携帯電話100の絶対位置(即ち、緯度及び経度で示される位置)を取得する。
【0033】
図1に示す旋回検出装置1、或いは、旋回検出装置1及びリンク推定装置3は、
例えばCPU(Central Processing Unit)等のプロセッサと記憶部の組み合わせにより形成可能である。図5は、携帯電話100を形成可能なコンピュータシステムの構成の一例を示すブロック図である。
【0034】
図5において、コンピュータシステム(又は、携帯電話)100は、CPU101、記憶部102、無線通信を行う通信インタフェース(I/F)103、加速度センサ104、ジャイロセンサ105、地磁気センサ106、GPS受信機107、入力部201、及び表示部202がバス108により接続された構成を有する。この例では、記憶部102、通信I/F103、加速度センサ104、ジャイロセンサ105、地磁気センサ106、GPS受信機107、入力部201、及び表示部202がバス108を介してCPU101に接続されているが、バス108を用いることなくを夫々直接CPU101に接続した構成であっても良い。バス108を介さずに直接CPU101と信号の送受信を行う場合、バス108上のトラフィックの問題が軽減できる。
【0035】
加速度センサ104及びジャイロセンサ105は、夫々図1に示す加速度センサ22及びジャイロセンサ21に相当する。加速度センサ104は、例えば3軸方向の加速度を検出する周知のセンサで形成可能である。ジャイロセンサ105は、例えば基準面に対する相対角度を検出する角速度センサで形成可能である。地磁気センサ106は、例えば3軸座標系上での地磁気を検出する周知の磁気方位センサで形成可能である。GPS受信機107は、例えば複数のGPS衛星からの信号をアンテナ(図示せず)で受信して携帯電話100の絶対位置(即ち、緯度及び経度で示される位置)を取得する周知の構成を有する。
【0036】
CPU101は、コンピュータシステム100全体の制御を司り、旋回検出機能を実現するか、或いは、旋回検出処理を実行する旋回検出プログラムを含む各種プログラムを実行することで旋回検出装置1の各機能を実現できる。コンピュータシステム100は、リンク推定機能を実現するか、或いは、リンク推定処理を実行するリンク推定プログラムを実行することでリンク推定装置3の各機能を実現しても良い。記憶部102は、CPU101が実行するプログラム、及びCPU101が実行する算出処理等の中間データ、地図等を含む各種データを格納する。つまり、記憶部102は、旋回検出装置1内、或いは、旋回検出装置1及びリンク推定装置3内の各部が取得、検出、算出、補正、或いは変換した情報を記憶できる。記憶部102は、例えばRAM(Random Access Memory)、ROM(Read Only Memory)、HDD(Hard Disk Drive)等で形成可能である。入力部201は、例えばテンキー、キーボード等で形成可能である。入力部201は、コンピュータシステム(即ち、携帯電話)100にコマンドやデータを入力する際にユーザにより操作される。表示部202は、入力部201からの入力情報、ユーザへのメッセージ、各種操作メニュー、地図、推定移動経路等を表示する。入力部201及び表示部202は、タッチパネル等により一体的に設けられていても良い。
【0037】
コンピュータシステム100に少なくとも旋回検出機能を持たせるプログラム(旋回検出プログラム)は、コンピュータシステム100(即ち、CPU101)を旋回検出機能を有する旋回検出装置1として動作させる。プログラムは、コンピュータ読み取り可能な記憶媒体に格納されていても良い。コンピュータ読み取り可能な記憶媒体は、例えばIC(Integrated Circuit)カードメモリ等の半導体記憶装置、フロッピー(登録商標)ディスク等の磁気ディスク、光磁気ディスク、CD−ROM等の可搬型記録媒体に限定されるものではなく、コンピュータシステム100でアクセス可能な各種記録媒体を含む。又、コンピュータ読み取り可能な記憶媒体は、例えば記憶部102で形成されても良い。
【0038】
言うまでもなく、CPU101は、旋回検出機能に加え、各種プログラムを実行することでリンク推定装置3のリンク推定機能、携帯電話100の通話機能、通信機能、撮影機能等の各種機能の少なくとも一部を更に実現しても良い。
【0039】
次に、コンピュータシステム(即ち、携帯電話)100の旋回検出処理を図6乃至図10と共に説明する。図6乃至図10の処理は、例えばCPU101により実行される。以下の説明では、ユーザは携帯電話100を携帯しているものとする。
【0040】
図6は、携帯電話100の旋回検出処理を説明するフローチャートである。図6において、ステップS1は、携帯電話100の電源がオン(ON)であるか否かを判定する。例えばユーザが入力部201の電源キー(図示せず)を操作して携帯電話100の電源をオンにすると、CPU101は携帯電話100のオン状態を周知の方法で検出できる。ステップS1の判定結果がYESになると、ステップS2は、図7と共に後述する旋回検出処理を行う。ステップS2の後、ステップS3は、携帯電話100の電源がオフ(OFF)であるか否かを判定し、判定結果がNOであると処理はステップS2へ戻る。一方、ステップS3の判定結果がYESであると、処理は終了する。
【0041】
図7は、旋回検出処理を説明するフローチャートであり、旋回検出装置1が実行する処理を示す。図7において、ステップS21は、図8と共に後述する歩行周期計測処理を行う。ステップS22は、図9と共に後述する向きの差分検出処理を行う。ステップS23は、図10と共に後述する旋回判定処理を行う。
【0042】
旋回検出処理は、測定した歩行周期に基づいて携帯電話100の向き(即ち、角度)の差分をから旋回検出信号を生成し、旋回検出信号の振幅がある一定値以上であれば携帯電話100の旋回動作であると判定する。
【0043】
図8は、歩行周期計測処理を説明するフローチャートであり、歩行周期計測部11が実行する処理を示す。図8において、ステップS211は、加速度センサ106(又は、22)が出力する3軸の加速度(X,Y,Z)を入力する。ステップS212は、入力した加速度(X,Y,Z)から、重力方向の加速度を抽出する。重力方向の加速度は、例えばユーザが停止している状態の加速度(X,Y,Z)を重力加速度の成分として重力ベクトルを求め、この重力ベクトルの絶対値を重力方向の加速度信号として抽出することができる。ステップS213は、重力方向の加速度信号に対してローパスフィルタ(LPF:Low-Pass Filter)を通して高周波ノイズを低減する。例えば非特許文献1で報告されているように、人間が急いで(又は、早足で)歩行する場合の歩調は140歩/分程度であるため、ローパスフィルタのカットオフ周波数は、例えば2.4Hz程度に設定しても良い。
【0044】
ステップS214は、ステップS213で高周波ノイズを低減された加速度信号に基づいて、ユーザが歩行中であるか否かを判定する。ユーザが歩行中であるかを判定する方法として、例えば計測した歩行周期が既定値以内である場合は歩行中であると判定し、それ以外は歩行中ではないと判定することができる。この場合の既定値は、例えば非特許文献1で報告されているように、人間の歩調が急いで歩行する場合は140歩/分程度であるのに対し、ゆっくり歩行する場合は70歩/分程度であるため、例えば0.85sec〜0.42secに設定しても良い。ステップS214の判定結果がYESであると、ステップS215は重力方向の加速度信号の周期を測定して歩行周期とし、処理は終了する。一方、ステップS214の判定結果がNOであると、ステップS216は歩行周期をゼロ(0)に設定し、処理は終了する。
【0045】
歩行周期を計測するために、地磁気センサ106が出力する磁束密度を用いても良い。3軸の各軸の磁束密度も人間の歩行動作により周期的に変動するので、各軸の磁束密度を合成し(例えば、二乗和を求め)、上記加速度の場合と同様にノイズの低減、周期の計測を行うことで、歩行周期を計測することができる。
【0046】
又、歩行周期を計測するためにジャイロセンサ105(又は、21)が出力する角速度を用いても良い。角速度も同様に人間の歩行動作により周期的に変動する。3軸各軸の角速度値のうち、最も振幅の大きい信号を出力している軸を抽出し、その軸の信号を上記加速度又は上記磁束密度の場合と同様にノイズの低減、周期の測定を行うことで、歩行周期を計測することができる。
【0047】
更に、歩行周期を計測する手法として、旋回検出信号から逆算しても良い。つまり、歩行周期としてあり得る範囲を設定し、その範囲内と合致する積分区間を探索範囲と定義して、最適な積分値を探索し、最適な積分値を算出することができた時の歩行周期を、最適な歩行周期として、向きの差分検出を行うこともできる。例えば非特許文献2で報告されている日本人の自然歩行時の歩調に基づき、歩行周期の探索範囲を例えば0.37sec〜0.63secに設定しても良い。上記の歩調としてあり得る範囲から積分区間を求めるためには、歩調と旋回歩数の積を求めれば良い。例えば、旋回歩数を4歩とすると、積分区間は1.48sec〜2.52secとなる。積分区間が1.48sec〜2.52sec であるときの積分値を算出し、積分値が最小となる積分区間を求め、求めた積分区間から求められる歩行周期を最適な歩行周期と定義することができる。このとき、積分値が極小となる積分区間を求め、最適な歩行周期と定義しても良い。
【0048】
上記の如く、歩行周期計測部11の歩行周期計測機能は、CPU101が記憶部102及び加速度センサ104を用いることで実現できるが、加速度センサ104の代わりにジャイロセンサ105或いは地磁気センサ106を用いても良い。このように歩行周期計測機能を実現する各部は、1つの装置を形成するモジュールの形態を有しても良い。
【0049】
図9は、向きの差分検出処理を説明するフローチャートであり、向きの差分検出部12が実行する処理を示す。図9において、ステップS221は、図8の歩行周期計測処理で計測した歩行周期を入力し、ステップS222は、ユーザの旋回動作に必要となる歩数(即ち、偶数歩)を入力する。旋回動作に必要となる歩数(即ち、旋回歩数)は、ユーザが入力部201から入力しても、デフォルトで予め設定され記憶部102に格納されている旋回歩数を記憶部102から読み出して入力しても良い。ステップS223は、ステップS221,222で入力された歩行周期と旋回歩数に基づいて、積分区間を「積分区間」=「歩行周期」×「旋回歩数」から算出する。尚、歩行周期は、後述する第1変形例のようにリアルタイムに更新しても良く、過去の値を用いて平均化した歩行周期を用いても良い。又、旋回歩数は、ジャイロセンサ105の出力に生じる周期的な波形を低減するために偶数歩に設定するが、歩数が大きすぎると後の積分処理で設定する積分区間が大きくなり、積分誤差が発生して誤差の累積の原因となる。積分誤差は、例えば歩行周期の計測誤差、オフセット誤差等により発生する。旋回に必要となる旋回歩数s(歩、又は、steps)は、例えば1歩毎に発生する積分誤差e(度/歩、又は、deg/step)を実験的に求めておき、旋回角度の要求精度a(度、又は、deg)とすると、e×s<a、且つ、sを2で割った余りが0となる、即ち、sが偶数であることを満足する旋回歩数sに決定しても良い。
【0050】
ステップS224は、ジャイロセンサ105が出力する角速度(X,Y,Z)を入力する。ステップS225は、オフセット誤差を補正するためのオフセット値(X,Y,Z)を入力する。オフセット値(X,Y,Z)は、オフセット値は、例えばユーザが停止中の状態でジャイロセンサ105が出力する角速度に基づいて計測して用いても良く、角速度の平均値を用いても良い。ステップS226は、オフセット誤差を補正するために、角速度(X,Y,Z)からオフセット値(X,Y,Z)を減算する。ステップS227は、オフセット誤差を補正した各軸の角速度(X,Y,Z)に対して、ステップS223で算出した積分区間で積分を実行し、処理は終了する。
【0051】
図9の各ステップS221〜S227で入力又は算出された値は、記憶部102に格納される。
【0052】
上記の如く、向きの差分検出部12の向きの差分検出機能は、CPU101が記憶部102及びジャイロセンサ105を用いることで実現できる。このように向きの差分検出機能を実現する各部は、1つの装置を形成するモジュールの形態を有しても良い。
【0053】
図10は、旋回判定処理を説明するフローチャートであり、旋回判定部13が実行する処理を示す。図10において、ステップS231は、図9の向きの差分検出処理により検出された向きの差分(即ち、各軸の角速度の積分値)に基づいて旋回角度、或いは、旋回角度と旋回の有無を示す旋回検出信号を生成する。旋回検出信号は、例えば重力加速度から重力方向を検出し、3軸の角速度値からヨーレート(yaw rate)を抽出することで算出しても良い。又、各軸の角速度を合成し(例えば、二乗和を求め)て旋回検出信号を算出しても良い。
【0054】
ステップS232は、閾値Thを入力する。この閾値Thは、ユーザが入力部201から入力しても、デフォルトで予め設定され記憶部102に格納されている閾値Thを記憶部102から読み出して入力しても良い。閾値Thは、旋回検出処理の結果を用いるアプリケーションソフトウェア(又は、プログラム)の要求精度によって決定すれば良い。例えば、旋回検出処理の結果を携帯電話100の位置推定処理に利用する場合、携帯電話100の絶対位置の周囲の地図情報から検出した曲がり角の最小角度を閾値Thとしても良い。ステップS233は、ステップS231で生成した旋回検出信号がステップS232で入力した閾値Thより大きいか否かを判定する。ステップS233の判定結果がNOであると、ステップS234は、直進動作であり旋回動作は無いと判定し、処理は終了する。一方、ステップS233の判定結果がYESであると、旋回動作が有ると判定し、処理は終了する。
【0055】
【数1】

【0056】
しかし、実際にはωやtに誤差が含まれているため、閾値Thの理想値はθではない。つまり、積分値を合成した結果は、オフセットEo(ジャイロセンサ105の基準電圧誤差、積分誤差等)と、信号強度誤差Es(ジャイロセンサ105の感度誤差)を含むと考えられるため、閾値Thの誤差を考慮して閾値Thの値はθ×Es+Eoに補正しても良い。
【0057】
【数2】

【0058】
上記の如く、旋回判定部13の旋回判定機能は、CPU101が記憶部102を用いることで実現できる。そこで、旋回検出装置1の各機能を実現するCPU101、記憶部102、加速度センサ104、及びジャイロセンサ105は、1つの装置を形成するモジュールの形態を有しても良い。又、このモジュールに、地磁気センサ106及びGPS受信機107の少なくとも一方を更に備えて、旋回検出装置1及びリンク推定装置3の機能を実現するようにしても良い。
【0059】
(第2実施例)
次に、本発明の第2実施例を図11と共に説明する。尚、第2実施例における携帯電話100の構成は図1又は図5と同じであるため、その図示及び説明は省略する。
【0060】
この例では、ジャイロセンサ105(又は21)の代わりに地磁気センサ106を用いて旋回動作検出を行う。この場合、向きの差分検出処理と、旋回判定処理の旋回検出信号の生成方法と閾値の決定方法が上記第1実施例の場合と異なる。
【0061】
図11は、第2実施例における向きの差分検出処理を説明するフローチャートであり、向きの差分検出部12が実行する処理を示す。図11中、図9と同一ステップには同一符号を節、その説明は省略する。図11において、ステップS1224は、地磁気センサ106が出力する磁束密度(X,Y,Z)を入力して記憶部102に格納する。ステップS1225は、現在から計測区間前に地磁気センサ106が出力した磁束密度(X,Y,Z)を、例えば記憶部102から読み出すことで抽出する。ステップS1226は、ステップS1224で入力した現在の磁束密度(X,Y,Z)とステップS1225で抽出された計測区間前の磁束密度(X,Y,Z)の差を算出し、上記第1実施例における積分値と同様に記憶部102に格納する。この磁束密度の差は、上記第1実施例における積分値と同様に扱うことができる。
【0062】
旋回判定処理は、図10と同様で良いが、旋回検出信号の生成方法と閾値の決定方法を上記第1実施例の場合と変える。図10のステップS231において旋回検出信号を生成する際に、例えば各軸の磁束密度(X,Y,Z)から算出した差の値の二乗和を算出すれば良い。又、図10のステップS232で入力する閾値Thは、例えば水平分力をH(μT)、要求精度をθa(deg)としたとき、T={2Hcos(θa/2)}と算出すれば良い。
【0063】
(第1変形例)
第1変形例では、上記第1実施例において図8に示す歩行周期計測処理の代わりに、図12に示す歩行周期計測処理を行う。図12は、第1変形例における歩行周期計測処理を説明するフローチャートであり、歩行周期計測部11が実行する処理を示す。図12において、ステップS1211は、歩行周期をリアルタイムに歩行周期計測処理で求めた歩行周期に更新、或いは、過去の歩行周期計測処理で求めた歩行周期を平均化した歩行周期に更新する。ステップS1212は、図9に示す向きの差分検出処理と同様の処理を行う。ステップS1213は、ステップS1212の向きの差分検出処理で求めた積分値が最小Minであるか否かを判定する。
【0064】
図13は、図12の歩行周期計測処理における積分区間の算出を説明する図である。図13中、縦軸は積分値を示し、横軸は積分区間(sec)を示す。ステップS1213は、例えば図13に示す如き積分区間の規定範囲内で、積分値が最小となる積分区間を探索する。この例では、積分値が最小となる積分区間は1.84(sec)である。又、ジャイロセンサ105(又は21)から得られる角速度を示す角速度信号を1サンプル取得する毎に、積分値が最小となる積分区間を探索する。図14は、図12の歩行周期計測処理における角速度信号のサンプル数を説明する図である。図14中、縦軸は算出した積分区間(sec)を示し、横軸は角速度信号のサンプル数を示す。図13に示す積分区間は、例えば図14中○印で示すサンプル数を取得した結果探索される積分値が最小となる積分区間である。
【0065】
ステップS1213の判定結果がYESであると、ステップS1214は、最適歩行周期を更新する。ステップS1213の判定結果がNO、或いは、ステップS1214の後、ステップS1215は、全歩行周期の積分値の算出が完了したか否かを判定し、判定結果がNOであると処理はステップS1211へ戻る。一方、ステップS1215の判定結果がYESであると、処理は終了する。尚、サンプリングレートを上げれば、向きの変化を強調することができる。
【0066】
図15は、第1実施例で図9に示す向きの差分検出処理により算出される3軸の積分値の二乗和を示す図である。又、図16は、第1変形例のステップ1212で算出される3軸の積分値の二乗和を示す図である。図15及び図16中、縦軸は積分値の二乗和に相当するエネルギー値(deg2)を示し、横軸は時間(sec)を示す。又、図15及び図16において、黒い実線は3軸の積分値を示し、梨地の線は曲がり角、即ち、旋回角度を示す。図15と図16の比較からも明らかなように、第1変形例の場合の方がエネルギー値の上昇が更に鮮明(即ち、シャープ)になり、向きの変化を強調可能なことが確認された。
【0067】
(第2変形例)
第2変形例では、上記第1実施例における図10に示す旋回判定処理のステップS231で行う旋回検出信号生成処理が上記第1実施例の場合と異なる。
【0068】
図17は、第1実施例におけるステップS231の旋回検出信号生成処理を説明するフローチャートである。図17において、ステップS2311は、向きの差分検出処理で算出された各軸の積分値(X,Y,Z)を入力し、ステップS2312は、重力方向を入力する。ステップS2313は、各軸の積分値(X,Y,Z)及び重力方向に基づいてヨー(yaw)方向の成分を抽出し、ステップS2314は、抽出されたヨー方向の成分を旋回検出信号として処理は終了する。
【0069】
図18は、第2変形例におけるステップS231の旋回検出信号生成処理を説明するフローチャートである。図18において、ステップS2311は、向きの差分検出処理で算出された各軸の積分値(X,Y,Z)を入力する。ステップS2351は、各軸の積分値(X,Y,Z)の二乗和を算出し、ステップS2352は、算出された各軸の積分値(X,Y,Z)の二乗和を旋回検出信号として処理は終了する。
【0070】
図19は、第1実施例における1軸の積分値を示す図である。図19中、縦軸は1軸積分値に相当するエネルギー値(deg2)を示し、横軸は時間(sec)を示し、黒い実線は1軸(ヨー)積分値を示し、梨地の線は曲がり角、即ち、旋回角度を示す。又、図20は、第2変形例における3軸積分値の二乗和を示す図である。図20中、縦軸は3軸積分値の二乗和に相当するエネルギー値(deg2)を示し、横軸は時間(sec)を示し、黒い実線は3軸の積分値を示し、梨地の線は曲がり角、即ち、旋回角度を示す。図19と図20の比較からも明らかなように、第2変形例の場合の方がエネルギー値の上昇が更に鮮明(即ち、シャープ)になり、向きの変化を強調可能なことが確認された。
【0071】
【数3】

【0072】
尚、上記の例では、歩行周期計測部11は加速度センサ22を用いて歩行周期を計測しているが、人間が偶数歩分だけ歩行するのに要する標準的な歩行時間を予め記憶しておき、歩行周期として利用しても良い。この場合、加速度センサ22を用いた歩行周期の計測は不要となるが、ユーザが標準的な歩行動作を行っていることが前提となる。
【0073】
上記各実施例及び変形例によれば、端末装置を携帯するユーザが旋回した場合に、歩行動作により生じるノイズを低減して正確な旋回動作の検出が可能となる。又、ジャイロセンサ等の電力は、例えばGPS受信機と比較すると消費電力が少ないので、比較的少ない消費電力で正確な旋回動作の検出が可能である。更に、ジャイロセンサは例えば地磁気センサと比較すると外乱要因が少ないので、ジャイロセンサを用いることで外乱要因に影響されずに正確な旋回動作の検出が可能となる。
【0074】
以上の実施例を含む実施形態に関し、更に以下の付記を開示する。
(付記1)
ユーザに携帯される端末装置に搭載される旋回検出装置であって、
前記端末装置の加速度を示す加速度信号から偶数歩に相当する歩行周期を計測する歩行周期計測部と、
前記端末装置の角速度を示す角速度信号を前記歩行周期に応じた積分区間で時間積分することで、基準面に対する角度を示す現在の向きと前記歩行周期に相当する時間だけ前の向きとの差分を検出する向きの差分検出部と、
前記差分に基づいて前記端末装置の旋回を判定し、判定結果を示す旋回検出信号を出力する旋回判定部
を備えたことを特徴とする、旋回検出装置。
(付記2)
前記偶数歩に相当する前記歩行周期は、前記旋回判定部で旋回として検出する旋回角度の大きさに応じた値であることを特徴とする、付記1記載の旋回検出装置。
(付記3)
前記旋回判定部は、前記端末装置の旋回角度、或いは、旋回の有無と旋回角度を示す旋回検出信号を出力することを特徴とする、付記1又は2記載の旋回検出装置。
(付記4)
前記歩行周期計測部は、前記時間積分した結果である積分値が最小となる積分区間を前記歩行周期に設定することを特徴とする、付記1乃至3のいずれか1項記載の旋回検出装置。
(付記5)
前記旋回判定部は、前記角速度信号の3軸の積分値の二乗和から前記旋回検出信号を生成することを特徴とする、付記1乃至4のいずれか1項記載の旋回検出装置。
(付記6)
ユーザに携帯される端末装置であって、
前記端末装置の加速度を検出して加速度信号を出力する加速度センサと、
前記端末装置の角速度を検出して角速度信号を出力する角速度センサと、
前記加速度信号から偶数歩に相当する歩行周期を計測する歩行周期計測部と、
前記角速度信号を前記歩行周期に応じた積分区間で時間積分することで、基準面に対する角度を示す現在の向きと前記歩行周期に相当する時間だけ前の向きとの差分を検出する向きの差分検出部と、
前記差分に基づいて前記端末装置の旋回を判定し、判定結果を示す旋回検出信号を出力する旋回判定部
を備えたことを特徴とする、端末装置。
(付記7)
前記偶数歩に相当する前記歩行周期は、前記旋回判定部で旋回として検出する旋回角度の大きさに応じた値であることを特徴とする、付記6記載の端末装置。
(付記8)
前記旋回判定部は、前記端末装置の旋回角度、或いは、旋回の有無と旋回角度を示す旋回検出信号を出力することを特徴とする、付記6又は7記載の端末装置。
(付記9)
前記歩行周期計測部は、前記時間積分した結果である積分値が最小となる積分区間を前記歩行周期に設定することを特徴とする、付記6乃至8のいずれか1項記載の端末装置。
(付記10)
前記旋回判定部は、前記角速度信号の3軸の積分値の二乗和から前記旋回検出信号を生成することを特徴とする、付記6乃至9のいずれか1項記載の端末装置。
(付記11)
前記加速度信号及び前記旋回検出信号に基づいて、前記端末装置の直線移動距離を組み合わせたリンクに関するリンク情報を取得するリンク推定装置
を更に備えたことを特徴とする、付記6乃至10のいずれか1項記載の端末装置。
(付記12)
地磁気センサ、又は、絶対位置を検出するセンサのうち少なくとも一方と、
無線通信を行う通信部
を更に備えたことを特徴とする、付記6乃至11のいずれか1項記載の端末装置。
(付記13)
ユーザに携帯される端末装置に搭載されるコンピュータに旋回検出処理を実行させるプログラムであって、
前記端末装置の加速度を示す加速度信号を加速度センサから入力し、前記加速度信号に基づいて偶数歩に相当する歩行周期を計測して記憶部に格納する歩行周期計測手順と、
前記端末装置の角速度を示す角速度信号を角速度センサから入力し、前記角速度信号を前記歩行周期に応じた積分区間で時間積分することで、基準面に対する角度を示す現在の向きと前記歩行周期に相当する時間だけ前の向きとの差分を検出して前記記憶部に格納する向きの差分検出手順と、
前記差分に基づいて前記端末装置の旋回を判定し、判定結果を示す旋回検出信号を出力して前記記憶部に格納する旋回判定手順
を前記コンピュータに実行させることを特徴とする、プログラム。
(付記14)
前記偶数歩に相当する前記歩行周期は、前記旋回判定手順で旋回として検出する旋回角度の大きさに応じた値であることを特徴とする、付記13記載のプログラム。
(付記15)
前記旋回判定手順は、前記端末装置の旋回角度、或いは、旋回の有無と旋回角度を示す旋回検出信号を出力することを特徴とする、付記13又は14記載のプログラム。
(付記16)
前記歩行周期計測手順は、前記時間積分した結果である積分値が最小となる積分区間を前記歩行周期に設定することを特徴とする、付記13乃至15のいずれか1項記載のプログラム。
(付記17)
前記旋回判定手順は、前記角速度信号の3軸の積分値の二乗和から前記旋回検出信号を生成することを特徴とする、付記13乃至16のいずれか1項記載のプログラム。
【0075】
以上、開示の旋回検出装置、端末装置及びプログラムを実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【符号の説明】
【0076】
1 旋回検出部
2 センサ群
3 リンク推定装置
11 歩行周期計測部
12 向きの差分検出部
13 旋回判定部
100 携帯電話(又は、コンピュータシステム)
101 CPU
102 記憶部

【特許請求の範囲】
【請求項1】
ユーザに携帯される端末装置に搭載される旋回検出装置であって、
前記端末装置の加速度を示す加速度信号から偶数歩に相当する歩行周期を計測する歩行周期計測部と、
前記端末装置の角速度を示す角速度信号を前記歩行周期に応じた積分区間で時間積分することで、基準面に対する角度を示す現在の向きと前記歩行周期に相当する時間だけ前の向きとの差分を検出する向きの差分検出部と、
前記差分に基づいて前記端末装置の旋回を判定し、判定結果を示す旋回検出信号を出力する旋回判定部
を備えたことを特徴とする、旋回検出装置。
【請求項2】
前記偶数歩に相当する前記歩行周期は、前記旋回判定部で旋回として検出する旋回角度の大きさに応じた値であることを特徴とする、請求項1記載の旋回検出装置。
【請求項3】
前記旋回判定部は、前記角速度信号の3軸の積分値の二乗和から前記旋回検出信号を生成することを特徴とする、請求項1又は2記載の旋回検出装置。
【請求項4】
ユーザに携帯される端末装置であって、
前記端末装置の加速度を検出して加速度信号を出力する加速度センサと、
前記端末装置の角速度を検出して角速度信号を出力する角速度センサと、
前記加速度信号から偶数歩に相当する歩行周期を計測する歩行周期計測部と、
前記角速度信号を前記歩行周期に応じた積分区間で時間積分することで、基準面に対する角度を示す現在の向きと前記歩行周期に相当する時間だけ前の向きとの差分を検出する向きの差分検出部と、
前記差分に基づいて前記端末装置の旋回を判定し、判定結果を示す旋回検出信号を出力する旋回判定部
を備えたことを特徴とする、端末装置。
【請求項5】
ユーザに携帯される端末装置に搭載されるコンピュータに旋回検出処理を実行させるプログラムであって、
前記端末装置の加速度を示す加速度信号を加速度センサから入力し、前記加速度信号に基づいて偶数歩に相当する歩行周期を計測して記憶部に格納する歩行周期計測手順と、
前記端末装置の角速度を示す角速度信号を角速度センサから入力し、前記角速度信号を前記歩行周期に応じた積分区間で時間積分することで、基準面に対する角度を示す現在の向きと前記歩行周期に相当する時間だけ前の向きとの差分を検出して前記記憶部に格納する向きの差分検出手順と、
前記差分に基づいて前記端末装置の旋回を判定し、判定結果を示す旋回検出信号を出力して前記記憶部に格納する旋回判定手順
を前記コンピュータに実行させることを特徴とする、プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図21】
image rotate

【図15】
image rotate

【図19】
image rotate

【図20】
image rotate