(57)【要約】【課題】自装置の向きの変化を簡易な演算で検出する。【解決手段】所定のサンプリング周期で角速度値をサンプリングする角速度センサと、プロセッサと、を有する情報処理装置であって、該プロセッサが、所定周期ごとに、所定の期間内に含まれる角速度センサによってサンプリングされた角速度値を加算して、移動加算値を算出し、所定周期ごとに算出された移動加算値が所定時間継続して正又は負のいずれかの値を取るか否かを判定し、移動加算値が所定時間継続して正又は負のいずれかの値を取る場合に、情報処理装置の向きの変化を判定する。【選択図】図８
2015175686.tif 000002
【特許請求の範囲】
【請求項１】
所定のサンプリング周期で角速度値をサンプリングする角速度センサと、
プロセッサと、
を有する情報処理装置であって、
前記プロセッサが、
所定周期ごとに、所定の期間内に含まれる前記角速度センサによってサンプリングされた角速度値を加算して、移動加算値を算出し、
前記所定周期ごとに算出された移動加算値が所定時間継続して正又は負のいずれかの値を取るか否かを判定し、
前記移動加算値が前記所定時間継続して正又は負のいずれかの値を取る場合に、前記情報処理装置の向きの変化を判定する、
情報処理装置。
【請求項２】
前記プロセッサは、
前記移動加算値が所定時間継続して正又は負のいずれかに属する所定範囲内の値を取る場合に、前記所定範囲に基づいて前記情報処理装置の回転方向及び回転角を判定する、
請求項１に記載の情報処理装置。
【請求項３】
前記プロセッサは、
前記移動加算値が所定時間継続して正又は負のいずれかに属する所定範囲内の値を取る場合に、前記所定の範囲内の基準となる移動加算値に基準時間長を乗じて前記情報処理装置の回転方向及び回転角を判定する、
請求項１に記載の情報処理装置。
【請求項４】
所定のサンプリング周期で角速度値をサンプリングする角速度センサと、
プロセッサと、
を有する情報処理装置の、
前記プロセッサに、
所定周期ごとに、所定の期間内に含まれる前記角速度センサによってサンプリングされた角速度値を加算させて、移動加算値を算出させ、
前記所定周期ごとに算出された移動加算値が所定時間継続して正又は負のいずれかの値を取るか否かを判定させ、
前記移動加算値が前記所定時間継続して正又は負のいずれかの値を取る場合に、前記情報処理装置の向きの変化を判定させる、
ための情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＧＰＳを用いずに自装置の位置を検出するための情報処理装置及び情報処理プログラムに関する。
【背景技術】
【０００２】
従来、携帯端末や移動端末では、ジャイロセンサや地磁気センサを用いて、地面に対する回転角から進行方向の変化が検出されていた。また、例えば、３軸加速度センサにより取得される歩行の一周期分の水平成分の加速度値の分布から回帰式を算出し、該回帰式から得られる直線によって示される方向が進行方向と判定される方式もある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１１−１１７９４５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の方式では、例えば、回帰直線を求める処理等が複雑であるため、消費電力が大きくなったり、性能の良い高価なプロセッサを必要としたりしていた。
【０００５】
本発明の一態様は、自装置の向きの変化を簡易な演算で検出可能な情報処理装置及び情報処理プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の態様の一つは、
所定のサンプリング周期で角速度値をサンプリングする角速度センサと、
プロセッサと、
を有する情報処理装置であって、
前記プロセッサが、
所定周期ごとに、所定の期間内に含まれる前記角速度センサによってサンプリングされた角速度値を加算して、移動加算値を算出し、
前記所定周期ごとに算出された移動加算値が所定時間継続して正又は負のいずれかの値を取るか否かを判定し、
前記移動加算値が前記所定時間継続して正又は負のいずれかの値を取る場合に、前記情報処理装置の向きの変化を判定する、
情報処理装置である。
【０００７】
本発明の他の態様の一つは、情報処理装置が上記処理を実行する情報処理方法である。また、本発明の他の態様は、コンピュータを上述した情報処理装置として機能させる情報処理プログラム、及び当該プログラムを記録したコンピュータ読み取り可能な記録媒体を含むことができる。コンピュータ等が読み取り可能な記録媒体には、データやプログラム等の情報を電気的、磁気的、光学的、機械的、または化学的作用によって非一時的に蓄積し、コンピュータ等から読み取ることができる記録媒体をいう。
【発明の効果】
【０００８】
開示の情報処理装置及び情報処理プログラムによれば、自装置の向きの変化を簡易な演算で検出することができる。
【図面の簡単な説明】
【０００９】
【図１】左折時の歩行の右足と左足との軌跡の一例を示す図である。
【図２】図１における右足、左足それぞれの軌跡を線で示した図である。
【図３】図１における左折時の歩行の右足と左足との航路差を示す図である。
【図４】直進の場合と左折の場合との角速度と時間との関係を示すグラフの一例である。
【図５】直進歩行時の角速度値の時間変化のグラフと角速度値の移動加算値の変化との一例を示す図である。
【図６】左折時の角速度値の時間変化のグラフと角速度値の移動加算値の変化との一例を示す図である。
【図７】携帯端末のハードウェア構成の一例を示す図である。
【図８】携帯端末の機能構成の一例を示す図である。
【図９】角速度値保持テーブルの一例を示す図である。
【図１０】回転方向角度判定テーブルの一例を示す図である。
【図１１Ａ】回転角判定部の携帯端末の向き変化検出処理のフローチャートの一例を示す図である。
【図１１Ｂ】回転角判定部の携帯端末の向き変化検出処理のフローチャートの一例を示す図である。
【図１２】角速度値サンプリング処理のフローチャートの一例を示す図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１１】
＜第１実施形態＞
歩行時、右足が前に出ると身体は左回転する。一方、歩行時に左足が前に出ると身体は右回転する。歩行時の身体の回転の速さは、歩幅に依存する。すなわち、歩幅が大きくなるにつれて身体の回転の角速度も速くなる。
【００１２】
図１は、左折時の歩行の右足と左足との軌跡の一例を示す図である。図２は、図１における右足、左足それぞれの軌跡を線で示した図である。図３は、図１における左折時の歩行の右足と左足との航路差を示す図である。図１、図２、図３において、右足の軌跡はＳＧ、左足の軌跡はＳ´Ｇ´で示されている。
【００１３】
図３より、左折時には左足の軌跡の方が距離が長くなることがわかる。すなわち、左折時には右足よりも左足の方が間隔が大きくなる。そのため、左折時には、右回転の速さより左回転の角速度の方が相対的に大きくなる。
【００１４】
図４は、直進の場合と左折の場合との角速度と時間との関係を示すグラフの一例である。直進の場合のグラフＧ１、左折の場合のグラフＧ２では、それぞれ、縦軸が角速度（ω）、横軸が時間（ｔ）を示している。また、＋ω方向は右回転、−ω方向は左回転を示す。グラフＧ１，Ｇ２を比較することによって、左折の場合には、右回転よりも左回転の方が角速度値が大きくなることがわかる。
【００１５】
図５は、直進歩行時の角速度値の時間変化のグラフＧ１と角速度値の移動加算値の変化との一例を示す図である。図６は、左折時の角速度値の時間変化のグラフＧ２と角速度値の移動加算値の変化との一例を示す図である。図５及び図６に示されるグラフは、それぞれ、図４に示されるグラフＧ１、Ｇ２と同一のものである。
【００１６】
移動加算値とは、所定の時間幅を有する時間窓に含まれる一部又は全部の角速度値の加
算値である。移動加算値は、所定の周期で算出される。また、時間窓は、移動加算値が算出される周期に合わせて＋ｔ方向に移動するものとする。
【００１７】
図５、図６では、角速度値ωのサンプリング周期は歩行周期Ｔの１／８、時間窓の時間幅は５／４Ｔ、移動加算値が算出される周期は角速度値ωのサンプリング周期と同じである場合の移動加算値の変化が示される。すなわち、図５、図６において、時間窓には１０個の角速度値が含まれており、移動加算値は時間窓に含まれる１０個の角速度値の総和である。図５、図６では、グラフＧ１、Ｇ２にそれぞれ重ねられた矩形で時間窓が示される。なお、図５、図６中のサンプルＮｏ．は移動加算値のサンプルＮｏ．を示す。
【００１８】
図５に示されるように、直進歩行時には、右回転と左回転とが所定の周期で発生するので（グラフＧ１参照）、移動加算値は、＋と−との値が所定の周期で交互に発生する。一方、図６に示されるように、左折時には、右回転よりも左回転の方が角速度値が大きくなるので（グラフＧ２参照）、移動加算値は、マイナスの値で連続して発生する。なお、右折時には、移動加算値はプラスの値で連続して発生する。
【００１９】
したがって、図５、図６から、移動加算値を算出し、監視することによって、装置の向きが右方向に変化したか、左方向に変化したか、を判定することができることがわかる。また、所定時間継続して＋又は−のいずれかの移動加算値が連続して発生する場合には、移動加算値に該所定時間を乗じた値が歩行による曲りによって生じた向きの変化の角度とみなすことができる。
【００２０】
そこで、第１実施形態では、情報処理装置は、角速度センサを備え、所定の周期ごとに所定期間に含まれる角速度値を加算して移動加算値を算出し、＋又は−のいずれかの移動加算値が所定の期間継続して発生する場合には、該情報処理装置の向きの変化を検出する。また、情報処理装置は、移動加算値に継続時間を乗じた値に基づいて、向きの変化のおおよその回転角度を取得する。
【００２１】
＜情報処理装置の構成＞
図７は、携帯端末１のハードウェア構成の一例を示す図である。携帯端末１は、情報処理装置の一例であって、例えば、スマートフォン、タブレット端末、携帯電話端末等である。なお、情報処理装置の他の一例としては、カーナビゲーションシステムの車載端末、携帯型ゲーム機、携帯型音楽プレーヤー、等がある。
【００２２】
携帯端末１は、アプリケーションＣＰＵ  １０１、記憶部１０２、タッチパネル１０３、ディスプレイ１０４、無線部１０５、オーディオ入出力部１０６、スピーカー１０７、マイクロフォン１０８、アンテナ１１０、サブプロセッサ１０９、角速度センサ１１１、記憶部１１２を備える。
【００２３】
タッチパネル１０３は、位置入力装置の１つであって、ディスプレイ１０４の表面に配置されており、ユーザの指のタッチ位置の座標をアプリケーションＣＰＵ  １０１に出力する。タッチパネル１０３は、静電容量方式、抵抗膜方式、表面弾性波方式、赤外線方式、電磁誘導方式等のいずれであってもよい。
【００２４】
ディスプレイ１０４は、例えば、液晶ディスプレイ（Liquid Crystal Display、ＬＣＤ）である。ディスプレイ１０４は、アプリケーションＣＰＵ  １０１から入力される信号に従って、画面データを表示する。
【００２５】
無線部１０５は、アンテナ１１０と接続しており、アンテナ１１０を通じて受信した無線信号を電気信号に変換してアプリケーションＣＰＵ  １０１に出力したり、アプリケー
ションＣＰＵ  １０１から入力される電気信号を無線信号に変換してアンテナ１１０を通じて送信したりする。無線部１０５は、無線通信に係る処理を行い、例えば、第３世代移動通信システム，第２世代移動通信システム，ＬＴＥ（Long Term Evolution）等の無線
通信方式のうちのいずれか１つ又は複数の方式に則った通信の処理を行う。
【００２６】
オーディオ入出力部１０６は、音声出力装置としてのスピーカー１０７と、音声入力装置としてのマイクロフォン１０８と、に接続する。オーディオ入出力部１０６は、マイクロフォン１０８から入力された音声信号を電気信号に変換してアプリケーションＣＰＵ  １０１に出力したり、アプリケーションＣＰＵ  １０１から入力された電気信号を音声信号に変換してスピーカー１０７に出力したりする。
【００２７】
角速度センサ１１１は、水晶発振子や圧電セラミック発振子を用い、これらの発振子に加えられた回転力によって生じるひずみを電気信号として取り出し、角速度値を検出する。角速度センサ１１１は、例えば、３軸方向の角速度値を検知可能である。角速度センサ１１１によって検出された角速度値は、サブプロセッサ１０９に出力される。角速度センサ１１１は、ジャイロセンサとも呼ばれる。なお、第１実施形態では、角速度センサ１１１のＸ軸を進行方向、Ｙ軸を左右方向、Ｚ軸を垂直方向に設定した場合、Ｚ軸周りの角速度が用いられる。
【００２８】
記憶部１１２は、サブプロセッサ１０９用の記憶手段である。記憶部１１２は、ＲＯＭ（Read Only Memory）  １１２Ａ及びＲＡＭ（Random Access Memory）  １１２Ｂを含む。ＲＡＭ  １１２Ｂは、半導体メモリであって、揮発性のものと不揮発性のものと、双方が含まれる。ＲＯＭ  １１２Ａには、向き変化検出プログラム、その他サブプロセッサ１０９によって実行されるプログラムが保持されている。向き変化検出プログラムは、角速度センサ１１１によって検出された角速度値を用いて携帯端末１の向きの変化を検出するためのプログラムである。
【００２９】
サブプロセッサ１０９は、ＲＯＭ  １１２Ａに格納されるプログラムをＲＡＭ  １１２Ｂの作業領域に展開し、展開された命令を実行することによって、角速度センサ１１１から入力される角速度値に関する処理を行う。例えば、サブプロセッサ１０９は、ＲＯＭ  １１２Ａに格納される向き変化検出プログラムをＲＡＭ  １１２Ａの作業領域にロードし、向き変化検出プログラムの命令を実行する。サブプロセッサ１０９は、向き変化検出プログラムの実行結果をアプリケーションＣＰＵ  １０１に出力する。サブプロセッサ１０９は、例えば、マイクロコンピュータである。
【００３０】
記憶部１０２は、アプリケーションＣＰＵ  １０１用の記憶部である。記憶部１０２は、ＲＯＭ  １０２Ａ及びＲＡＭ  １０２Ｂを含む。ＲＡＭ  １０２Ｂには、揮発性のものと不揮発性のものと、双方が含まれる。なお、第１実施形態において、ＲＯＭ  １０２Ａは、内蔵ストレージのことを指し、例えば、フラッシュメモリである。ＲＯＭ  １０２Ａには、ＯＳ（Operating System）や様々なアプリケーションプログラムが格納されている。アプリケーションプログラムの中には、自律測位アプリケーションや、ナビゲーションアプリケーション等が含まれる。
【００３１】
アプリケーションＣＰＵ  １０１は、ＲＯＭ  １０２Ａに格納されるプログラムをＲＡＭ  １０２Ｂの作業領域に展開し、展開された命令を実行することによって様々な処理を行う。アプリケーションＣＰＵ  １０１は、例えば、タッチパネル１０３、無線部１０５、オーディオ入出力部１０６、サブプロセッサ１０９のいずれかからの入力を受ける。アプリケーションＣＰＵ  １０１は、入力を受けると、所定の処理を実行し、処理の結果を、例えば、記憶部１０２、ディスプレイ１０４、無線部１０５、オーディオ入出力部１０６のいずれかへ出力する。
【００３２】
なお、携帯端末１のハードウェア構成は、図７に示されるものに限定されず、適宜、追加、置換、削除等の変更が可能である。例えば、携帯端末１は、図７に示される構成に加えて、カメラ，赤外線通信部，ＩＣカード通信部等を備えてもよい。携帯端末１は、「情報処理装置」の一例である。
【００３３】
図８は、携帯端末１の機能構成の一例を示す図である。携帯端末１は、機能構成として、角速度取得部１１、回転角判定部１２、通知処理部１３、自律測位アプリケーション１４、角速度値保持テーブル１５、回転方向角度判定テーブル１６を含む。
【００３４】
角速度取得部１１は、角速度センサ１１１に対応する機能構成である。角速度取得部１１は、携帯端末１に加えられる回転力の角速度値を取得する。角速度値は、所定のサンプリング周期ごとに取得される。角速度値のサンプリング周期は、例えば、２０ｍｓである。取得された角速度値は、回転角判定部１２に出力される。
【００３５】
回転角判定部１２は、サブプロセッサ１０９がＲＯＭ  １１２Ａに格納されている向き変化検出プログラムを実行することによって実現される機能構成である。回転角判定部１２は、所定の期間内に角速度取得部１１からサンプリング周期ごとに入力される角速度値を、所定の周期ごとに加算して移動加算値を算出し、移動加算値を監視し、携帯端末１の向きの変化の発生及び向きの変化の方向と角度とを検出する。移動加算値の算出周期は、「所定周期」の一例である。
【００３６】
より具体的には、回転角判定部１２は、後述の角速度値保持テーブル１５に所定数の角速度値を保持し、角速度値保持テーブル１５に保持される角速度値を足し合わせて移動加算値を算出する。回転角判定部１２は、移動加算値が後述の回転方向角度判定テーブル１６によって定義されるグループのいずれに属するかを監視する。同じグループに属する移動加算値が所定時間継続して発生する場合には、回転角判定部１２は、該グループに対応する方向及び角度に向きが変化したことを判定する。判定結果は、通知処理部１３に出力される。
【００３７】
通知処理部１３は、アプリケーションＣＰＵ  １０１によって実現される機能構成の一つである。通知処理部１３は、例えば、プロセス間通信を行うＯＳの機能の一つである。通知処理部１３は、回転角判定部１２から、判定結果として、携帯端末１の向きの変化の発生と向きの変化の角度とが入力されると、該判定結果を、例えば、自律測位アプリケーション１４に通知する。
【００３８】
自律測位アプリケーション１４は、アプリケーションＣＰＵ  １０１がＲＯＭ  １０２Ａに格納されている自律測位アプリケーションを実行することによって実現される機能構成である。自律測位アプリケーション１４は、ＧＰＳ（Global Positioning System）に
依存せずに、自装置の位置を取得するためのアプリケーションである。自律測位アプリケーション１４は、例えば、ナビゲーションアプリケーションやゲームアプリケーション等のアプリケーションに利用され、これらのアプリケーションによって起動される。
【００３９】
図９は、角速度値保持テーブル１５の一例を示す図である。角速度値保持テーブル１５は、角速度センサ１１１によって検出される角速度値を、時間窓の時間幅に含まれる角速度値のサンプル数分保持しておくためのテーブルである。角速度値保持テーブル１５は、例えば、サブプロセッサ１０９による向き変化検出プログラムの実行を通じて、ＲＡＭ  １１２Ｂに作成される。
【００４０】
角速度値保持テーブル１５は、ＩＤと、角速度値とを含む。ＩＤは、１からＮ（Ｎ：正
の整数）までである。Ｎは、移動加算値の算出に用いられる角速度値のサンプル数である。第１実施形態では、時間窓の時間幅に含まれる全角速度値を加算して移動加算値とすることを前提とするので、時間窓の時間幅が１０００ｍｓであり、角速度値のサンプリング周波数が２０ｍｓである場合には、Ｎは５０となる。
【００４１】
角速度値保持テーブル１５には、回転角判定部１２によって、ＩＤの小さい方から角速度値が格納される。ＩＤ＝Ｎの角速度値の欄まで角速度値が格納されると、新たに角速度値が取得された場合には、角速度値ＩＤが２からＮまでの角速度値が、それぞれ、角速度値ＩＤが１からＮまでの角速度値の欄にコピーされ、新たな角速度値はＩＤ＝Ｎの角速度の欄に格納される。
【００４２】
なお、移動加算値の算出方法は、時間窓の時間幅に含まれる全角速度値の総和に限定されない。例えば、移動加算値は、各時間窓においてサンプリングする角速度値のルールが統一されていれば、時間窓の時間幅に含まれる角速度値の一部が加算されることによって算出されてもよい。
【００４３】
図１０は、回転方向角度判定テーブル１６の一例を示す図である。回転方向角度判定テーブル１６は、移動加算値のグループと各グループに対応する回転方向及び回転角度とを定義するテーブルである。図１０に示される回転方向角度判定テーブル１６には、グループＩＤと、移動加算値の範囲と、判定継続時間と、回転角度とが保持される。
【００４４】
図１０に示される回転方向角度判定テーブル１６中の回転角度は、１つのグループに対応する範囲の移動加算値が所定時間継続して発生した場合の、携帯端末１のおおよその回転角度である。回転角度は、第１実施形態では、プラスが右回転、−が左回転を示す。判定継続時間は、１つのグループに対応する回転方向及び回転角度に携帯端末１の向きが変化したことを検出するために用いられる、該グループに該当する移動加算値が継続して発生する時間長である。なお、図１０に示される回転方向角度判定テーブル１６中の回転角度は、例えば、グループに割り当てられた範囲内の移動加算値が１０００ｍｓ継続した場合の回転角度である。図１０に示される回転方向角度判定テーブル１６中の判定継続時間は、各グループに対応する回転角度を伴う向きの変化の検出に必要な時間である。すなわち、図１０の回転方向角度判定テーブル１６は、少なくとも５００ｍｓの判定継続時間の間移動加算値が１つのグループに対応する範囲内の値を継続してとれば、該グループの対応の回転角度の向きの変化が発生したとみなすことができることを示す。
【００４５】
図１０に示される例では、クループ１は、移動加算値が＋１５〜＋６０（ｄｅｇ／ｓ）、判定継続時間が５００ｍｓ、回転角度が＋４５°である。グループ２は、移動加算値が＋６０〜＋１０５（ｄｅｇ／ｓ）、判定継続時間が５００ｍｓ、回転角度が＋９０°である。グループ３は、移動加算値が−６０〜−１５（ｄｅｇ／ｓ）、判定継続時間が５００ｍｓ、回転角度が−４５°である。グループ４は、移動加算値が−１０５〜−６０（ｄｅｇ／ｓ）、判定継続時間が５００ｍｓ、回転角度が−９０°である。
【００４６】
なお、グループ１〜４のいずれにも該当しない移動加算値が継続して発生した場合には、携帯端末１の向きの変化は検出されない。図１０に示されるグループ分けは一例であってこれに限定されない。回転方向角度判定テーブル１６中の判定継続時間は、「所定の期間」の一例である。
【００４７】
＜処理の流れ＞
図１１Ａ及び図１１Ｂは、回転角判定部１２の向き変化検出処理のフローチャートの一例を示す図である。図１１Ａ及び図１１Ｂに示されるフローチャートは、例えば、自律測位アプリケーション１４等の、携帯端末１の向きの変化の判定結果を用いて処理を行うア
プリケーションからの要求を受けて開始される。
【００４８】
ＯＰ１では、回転角判定部１２は、角速度センサ１１１を起動する。次に処理がＯＰ２に進む。
【００４９】
ＯＰ２では、回転角判定部１２は、サンプリング完了フラグ、継続判定フラグ、継続回数カウンタを初期化する。サンプリング完了フラグは、移動加算値を算出するために用いられるサンプル数分の角速度値の取得完了を示すフラグである。継続判定フラグは、回転方向角度判定テーブル１６の１つのグループに対応する範囲内の移動加算値が継続して発生していることを示すフラグである。継続判定フラグは、回転方向角度判定テーブル１６内の各グループについて備えられる。継続回数カウンタは、回転方向角度判定テーブル１６の１つのグループに対応する範囲内の移動加算値の発生回数を示すカウンタである。
【００５０】
継続回数カウンタの上限値はＭ（Ｍ：正の整数）である。継続回数カウンタの上限値Ｍは、例えば、向きの変化を検出するための回転方向角度判定テーブル１６の１つのグループに対応する範囲内の移動加算値の判定継続時間と、移動加算値の算出の周期とに応じて決定される。例えば、向きの変化を検出するための判定継続時間が５００ｍｓで、移動加算値の算出周期が角速度値のサンプリング周期２０ｍｓである場合には、Ｍは２５となる。次に処理がＯＰ３に進む。
【００５１】
ＯＰ３では、回転角判定部１２は、移動加算値の算出周期になったか否かを判定する。移動加算値の算出周期になった場合には（ＯＰ３：ＹＥＳ）、処理がＯＰ４に進む。移動加算値の算出周期でない場合には（ＯＰ３：ＮＯ）、回転角判定部１２は待機状態となる。なお、移動加算値の算出周期は、例えば、角速度値のサンプリング周期と同期していてもよいし、サンプリング周期よりも長い周期であってもよい。
【００５２】
ＯＰ４では、回転角判定部１２は、終了要求があるか否かを判定する。終了要求は、例えば、携帯端末１の向きの変化の検出結果を用いる自律測位アプリケーションや、自律測位アプリケーションを利用するナビゲーションアプリケーション等へユーザ操作によって入力される。終了要求がある場合には（ＯＰ４：ＹＥＳ）、処理がＯＰ５に進む。
【００５３】
ＯＰ５では、回転角判定部１２は、角速度センサ１１１を停止させ、図１１Ａ及び図１１Ｂに示される処理が終了する。
【００５４】
ＯＰ４において、終了要求が入力されていない場合には（ＯＰ４：ＮＯ）、処理がＯＰ６に進む。ＯＰ６では、回転角判定部１２はサンプリング完了フラグがＯＮであるか否かを判定する。第１実施形態では、サンプリング完了フラグがＯＮの場合には、角速度値保持テーブル１５のＩＤ＝Ｎの角速度値まで保持された状態である、すなわち、移動加算値の算出の用いられるサンプル数の角速度値の取得が完了したことが示される。サンプリング完了フラグがＯＦＦである場合には（ＯＰ６：ＮＯ）、処理がＯＰ４に戻る。サンプリング完了フラグがＯＮである場合には（ＯＰ６：ＹＥＳ）、処理がＯＰ７に進む。
【００５５】
ＯＰ７では、回転角判定部１２は、角速度値保持テーブル１５に保持される角速度値を足し合わせて移動加算値を取得する。次に処理がＯＰ８に進む。
【００５６】
ＯＰ８では、回転角判定部１２は、回転方向角度判定テーブル１６に、ＯＰ７で取得した移動加算値に該当するグループがあるか否かを判定する。回転方向角度判定テーブル１６に移動加算値に該当するグループがない場合には（ＯＰ８：ＮＯ）、処理がＯＰ３にすすみ、次の移動加算値の算出周期になると、ＯＰ４からの処理が行われる。回転方向角度判定テーブル１６に移動加算値に該当するグループがある場合には（ＯＰ８：ＹＥＳ）、
処理がＯＰ９に進む。
【００５７】
ＯＰ９では、回転角判定部１２は、移動加算値に該当するグループ以外のグループで継続判定フラグがＯＮになっているグループがあるか否かを判定する。移動加算値に該当するグループ以外のグループで継続判定フラグがＯＮになっているグループがある場合には（ＯＰ９：ＹＥＳ）、処理がＯＰ１０に進む。
【００５８】
ＯＰ１０では、回転角判定部１２は、移動加算値に該当するグループの継続判定フラグをＯＮにし、それ以外のグループの継続判定フラグをＯＦＦにする。次に処理がＯＰ１１に進む。
【００５９】
ＯＰ１１では、回転角判定部１２は、継続回数カウンタを０にセットする。次に処理がＯＰ１３に進む。
【００６０】
ＯＰ９において、移動加算値に該当するグループ以外のグループで継続判定フラグがＯＮになっているグループがない場合には（ＯＰ９：ＮＯ）、処理がＯＰ１２に進む。ＯＰ１２では、回転角判定部１２は、移動加算値に該当するグループの継続判定フラグをＯＮにする。その後処理がＯＰ１３に進む。
【００６１】
ＯＰ１３では、回転角判定部１２は、継続回数カウンタに１を加算する。次に処理がＯＰ１４に進む。
【００６２】
ＯＰ１４では、回転角判定部１２は、継続回数カウンタが上限値Ｍを超えているか否かを判定する。継続回数カウンタが上限値Ｍを超えていない場合には（ＯＰ１４：ＮＯ）、処理がＯＰ３に進む。継続回数カウンタが上限値Ｍを超えている場合には（ＯＰ１４：ＹＥＳ）、処理がＯＰ１５に進む。
【００６３】
ＯＰ１５では、回転角判定部１２は、移動加算値に該当するグループに対応する回転角度に携帯端末１の向きの変化が発生したと判定し、携帯端末1の向きの変化の検出と回転
角度とを自律測位アプリケーションに通知する。その後、処理がＯＰ３に進み、ＯＰ３〜ＯＰ１５の処理が終了要求が入力されるまで繰り返される。
【００６４】
図１２は、角速度値サンプリング処理のフローチャートの一例を示す図である。図１２に示されるフローチャートは、例えば、図１１ＡのＯＰ１における角速度センサ１１１の起動とともに開始される。
【００６５】
ＯＰ３１では、回転角判定部１２は、角速度値のサンプリング周期になったか否かを判定する。角速度値のサンプリング周期は、例えば、２０ｍｓである。角速度値のサンプリング周期になった場合には（ＯＰ３１：ＹＥＳ）、処理がＯＰ３２に進む。角速度値のサンプリング周期でない場合には（ＯＰ３１：ＮＯ）、回転角判定部１２は待機状態となる。
【００６６】
ＯＰ３２では、回転角判定部１２は、終了要求が入力されたか否かを判定する。終了要求が入力された場合には（ＯＰ３２：ＹＥＳ）、図１２に示される処理が終了する。終了要求が入力されていない場合には（ＯＰ３２：ＮＯ）、処理がＯＰ３３に進む。
【００６７】
ＯＰ３３では、回転角判定部１２は、角速度値保持テーブル１５のＩＤ＝Ｎの角速度値の値が保持されているか否か、すなわち、角速度値保持テーブル１５に空きがあるか否かを判定する。角速度値保持テーブル１５に空きがある場合には（ＯＰ３３：ＹＥＳ）、処理がＯＰ３４に進む。
【００６８】
ＯＰ３４では、回転角判定部１２は、角速度取得部１１から角速度値を取得し、角速度値保持テーブル１５の角速度値が保持されていないＩＤのうち最も小さいＩＤの欄に取得した角速度値を保持する。次に処理がＯＰ３１に進み、次のサンプリング周期になると、ＯＰ３２から処理が行われる。
【００６９】
ＯＰ３３において、角速度値保持テーブル１５に空きがない場合には（ＯＰ３３：ＮＯ）、処理がＯＰ３５に進む。ＯＰ３５では、回転角判定部１２は、サンプリング完了フラグをＯＮにする。次に処理がＯＰ３６に進む。
【００７０】
ＯＰ３６では、回転角判定部１２は、角速度値保持テーブル１５のＩＤが２からＮまでの角速度値を、それぞれ、ＩＤが１からＮ−１までの角速度値にコピーする。次に処理がＯＰ３７に進む。
【００７１】
ＯＰ３７では、回転角判定部１２は、角速度値を取得し、角速度値保持テーブル１５のＩＤがＮの角速度値の欄に取得した角速度値を格納する。その後、処理がＯＰ３１に進み、次の角速度値のサンプリング周期になるとＯＰ３２から処理が行われる。
【００７２】
＜第１実施形態の作用効果＞
第１実施形態では、例えば、図１０に示される回転方向角度判定テーブル１６を用いて、移動加算値が５００ｍｓの判定継続時間に＋１５〜＋６０の値を取り続けた場合には、携帯端末１は、右方向に＋４５°回転したと判定する。したがって、第１実施形態では、時間窓の時間幅に含まれる角速度値を加算した移動加算値を監視することによって、四則演算を可能な限り減らした演算で移動端末１の向きの変化を検出することができる。これによって、携帯端末１の向きの変化の検出にかかる消費電力を低減することができる。
【００７３】
また、携帯端末１の向きの変化の検出の処理を簡易にすることによって、サブプロセッサ１０９で実行可能となる。サブプロセッサ１０９は、アプリケーションＣＰＵ  １０１に比べて廉価であり、消費電力も小さい。したがって、サブプロセッサ１０９によって向きの変化の検出処理が行われることによって、向きの変化の検出処理にかかる携帯端末１の消費電力をより低減させることができる。
【００７４】
＜その他＞
第１実施形態では、記憶部１１２ＡのＲＯＭ  １１２Ａに格納される向き変化検出プログラムをサブプロセッサ１０９が実行する場合について説明されたが、これに限られない。向き変化検出プログラムは、記憶部１０２のＲＯＭ  １０２Ａに格納され、アプリケーションＣＰＵ  １０１によって実行されてもよい。
【００７５】
また、第１実施形態では、回転方向角度判定テーブル１６を用いて回転角度を検出したが、回転角度の検出方法は、これに限定されない。例えば、判定継続時間（５００ｍｓ）の間所定の範囲の値を移動加算値が継続してとった場合には、基準時間（例えば、１０００ｍｓ）を該所定の範囲の基準となる移動加算値（例えば、中央値、平均値、最頻値等）に乗じることによって回転角度を検出してもよい。
【符号の説明】
【００７６】
１      携帯端末
１１    角速度取得部
１２    回転角取得部
１３    通知処理部
１５    角速度値保持テーブル
１６    回転方向角度判定テーブル
１０１  アプリケーションＣＰＵ
１０２  記憶部
１０３  タッチパネル
１０４  ディスプレイ
１０９  サブプロセッサ
１１１  角速度センサ
１１２  記憶部
【図１】
2015175686.tif 000003
【図２】
2015175686.tif 000004
【図３】
2015175686.tif 000005
【図４】
2015175686.tif 000006
【図５】
2015175686.tif 000007
【図６】
2015175686.tif 000008
【図７】
2015175686.tif 000009
【図８】
2015175686.tif 000010
【図９】
2015175686.tif 000011
【図１０】
2015175686.tif 000012
【図１１Ａ】
2015175686.tif 000013
【図１１Ｂ】
2015175686.tif 000014
【図１２】
2015175686.tif 000015