(57)【要約】【課題】消費電力を削減することが可能な端末装置及び位置検出プログラムを提供することを目的とする。【解決手段】加速度センサの出力値から移動体に保持された当該端末装置の加速度を算出する加速度算出部と、角速度センサの出力値から当該端末装置の右回り又は左回りにおける回転角度を算出する回転角度算出部と、前記回転角度の変化が閾値以上となる期間の前記加速度と、前記回転角度の変化が前記閾値未満の期間の前記加速度とに基づき、当該端末装置が前記移動体の進行方向に向かって右側又は左側の何れに保持されているかを検出する左右検出部と、を有する。【選択図】図６
2014202598.tif 000002
【特許請求の範囲】
【請求項１】
加速度センサの出力値から移動体に保持された当該端末装置の加速度を算出する加速度算出部と、
角速度センサの出力値から当該端末装置の右回り又は左回りにおける回転角度を算出する回転角度算出部と、
前記回転角度の変化が閾値以上となる期間の前記加速度と、前記回転角度の変化が前記閾値未満の期間の前記加速度とに基づき、当該端末装置が前記移動体の進行方向に向かって右側又は左側の何れに保持されているかを検出する左右検出部と、を有する端末装置。
【請求項２】
前記左右検出部は、
前記回転角度の変化が閾値以上となる期間の前記加速度が、前記回転角度の変化が前記閾値未満の期間の前記加速度より大きいとき、前記移動体の回転の向きと逆側に当該端末装置が保持されているものとし、
前記回転角度の変化が閾値以上となる期間の前記加速度が、前記回転角度の変化が前記閾値未満の期間の前記加速度以下であるとき、前記移動体の回転の向きと同じ側に当該端末装置が保持されているものする請求項１記載の端末装置。
【請求項３】
前記加速度に基づき前記移動体の移動を検出する移動検出部と、
前記移動体の移動が検出された状態において、前記右回りにおける回転角度の変化が前記閾値以上であるとき、前記移動体が進行方向に向かって右に曲がったことを検出し、
前記移動体の移動が検出された状態において、前記左回りにおける回転角度の変化が前記閾値以上であるとき、前記移動体が進行方向に向かって左に曲がったことを検出する曲がり検出部と、を有する請求項１又は２記載の端末装置。
【請求項４】
前記左右検出部は、
前記移動体の移動が検出された状態において、前記曲がり検出部により複数回前記移動体が曲がったことが検出されたとき、
前記右側又は左側の何れに保持されているかを検出する処理を前記複数回行い、前記右側又は左側のうち検出された回数の多い方を前記移動体の移動時に当該端末装置が保持されている側であるものとする請求項３記載の端末装置。
【請求項５】
加速度センサの出力値から移動体に保持されたコンピュータの加速度を算出する処理と、
角速度センサの出力値から前記コンピュータの右回り又は左回りにおける回転角度を算出する処理と、
前記回転角度の変化が閾値以上となる期間の前記加速度と、前記回転角度の変化が前記閾値未満の期間の前記加速度とに基づき、当該端末装置が前記移動体の進行方向に向かって右側又は左側の何れに保持されているかを検出する処理と、を前記コンピュータに実行させる位置検出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末装置及び位置検出プログラムに関する。
【背景技術】
【０００２】
近年では、人がどのような行動をしているかを解析し、人の状況に応じてリアルタイムに適切なサービス提供するシステムが知られている。
【０００３】
このシステムの１つとして、例えば利用者の腕等に装着されたセンサ端末が取得したセンサ情報から利用者の行動を解析する行動解析処理を行うものが知られている。行動解析処理は、例えばセンサ情報を右腕用のパターンデータと左腕用のパターンデータとにそれぞれとマッチングさせるマッチング処理によりセンサ端末が左右のどちらの腕に装着されているかを判断し、利用者の行動を解析する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−２６４９１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記システムにおけるセンサ端末は、利用者の腕等に装着されるため、搭載される電池は小型なものとなる。したがってセンサ端末では、消費電力を低減させる工夫が求められており、ＭＰＵ（Micro-Processing Unit）も低消費電力のものが搭載される。しかしながらセンサ端末の消費電力は、センサ情報の解析処理量に比例して増大する。
【０００６】
開示の技術では、消費電力を削減することが可能な端末装置及び位置検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
開示の技術の一様態によれば、加速度センサの出力値から移動体に保持された当該端末装置の加速度を算出する加速度算出部と、角速度センサの出力値から当該端末装置の右回り又は左回りにおける回転角度を算出する回転角度算出部と、前記回転角度の変化が閾値以上となる期間の前記加速度と、前記回転角度の変化が前記閾値未満の期間の前記加速度とに基づき、当該端末装置が前記移動体の進行方向に向かって右側又は左側の何れに保持されているかを検出する左右検出部と、を有する。
【０００８】
上記各部は、上記各部の機能を実現する処理、前記各処理を手順としてンピュータにより実行させる方法、プログラムを記憶したコンピュータ読み取り可能な記憶媒体とすることもできる。
【発明の効果】
【０００９】
開示の技術によれば、消費電力を削減することができる。
【図面の簡単な説明】
【００１０】
【図１】サービス提供システムのシステム構成の一例を説明する図である。
【図２】センサ端末の装着について説明する図である。
【図３】利用者が右方向に曲がったときと左方向に曲がったときの加速度の変化を説明する図である。
【図４】時刻と加速度及び角速度との関係を示す第一の図である。
【図５】時刻と加速度及び角速度との関係を示す第二の図である。
【図６】センサ端末の機能構成を説明する図である。
【図７】センサ情報管理テーブルの一例を示す図である。
【図８】歩行時間管理テーブルと閾値管理テーブルの例を示す図である。
【図９】利用者状態管理テーブルの例を示す図である。
【図１０】センサ端末の動作を説明するフローチャートである。
【図１１】センサ情報管理テーブルと利用者状態管理テーブルの変化を示す図である。
【図１２】利用者状態管理テーブルの変化を示す第一の図である。
【図１３】歩行時間管理テーブルの変化を示す第一の図である。
【図１４】歩行時間管理テーブルの変化を示す第二の図である。
【図１５】歩行時間管理テーブルの変化を示す第三の図である。
【図１６】利用者状態管理テーブルの変化を示す第二の図である。
【発明を実施するための形態】
【００１１】
以下に図面を参照して実施例について説明する。図１は、サービス提供システムのシステム構成の一例を説明する図である。
【００１２】
本実施例のサービス提供システム１００は、センサ端末２００、サービス提供サーバ３００、携帯端末４００を有する。
【００１３】
本実施例のサービス提供システム１００において、センサ端末２００はサービスを利用する利用者に装着される。本実施例のセンサ端末２００は、後述するセンサ群から出力されるセンサ情報からセンサ端末２００の端末姿勢や利用者の進行方向等を検出し、検出結果に基づき利用者の行動を解析する行動解析処理を行う。センサ端末２００は、行動解析処理の結果をサービス提供サーバ３００へ送信する。センサ端末２００とサービス提供サーバ３００との間の通信は、無線通信である。サービス提供サーバ３００は、受信した行動解析処理の結果に基づき利用者の状況を判断し、適切なサービスを携帯端末４００へ提供する。
【００１４】
尚本実施例では、センサ端末２００は利用者に装着されるものとしたが、これに限定されない。例えばセンサ端末２００は、利用者の移動手段に保持されていても良い。本実施例の利用者とは、歩行移動する移動体である。
【００１５】
以下に本実施例のセンサ端末２００について説明する。本実施例のセンサ端末２００は、例えば利用者の腕に装着される腕時計型のセンサ端末とした。尚センサ端末２００の形状は、腕時計型に限定されない。本実施例のセンサ端末２００は、利用者による持ち運びが可能な装置であれば良く、例えば携帯電話等の端末装置であっても良い。
【００１６】
本実施例のセンサ端末２００は、ＭＰＵ（Micro-Processing Unit）２０１、無線通信装置２０２、センサ群２０３、記憶装置２０４を有する。またセンサ端末２００は、図示していないが、例えば充放電可能な二次電池等により駆動されても良い。本実施例のＭＰＵ２０１は、センサ端末２００の各種処理の実行を制御する。無線通信装置２０２は、サービス提供サーバ３００との無線通信を行う。この無線通信により、行動解析処理の結果がサービス提供サーバ３００へ送信される。
【００１７】
センサ群２０３は、利用者の行動から各種のセンサ情報を取得する。本実施例のセンサ群２０３は、例えば加速度センサ、角速度センサ等のセンサを含む。センサ情報とは、センサ群２０３に含まれるセンサから出力される情報である。取得されたセンサ情報は、例えば記憶装置２０４に格納される。
【００１８】
記憶装置２０４は、右腕用学習データベース２０６、左腕用学習データベース２０７を有する。右腕用学習データベース２０６は、予め登録された右腕の学習データが格納されている。左腕用学習データベース２０７は、予め登録された左腕の学習データが格納されている。各データベース２０６、２０７に格納された学習データは、センサ情報を用いた行動解析処理の際に参照される。より具体的にはＭＰＵ２０１は、センサ情報と学習データとをマッチグさせ、センサ情報とマッチする学習データから利用者の行動を解析する。
【００１９】
また記憶装置２０４は、例えばセンサ端末２００の動作を制御するセンサ端末プログラムが格納されていても良い。また記憶装置２０４は、センサ端末プログラムを実行した際に算出される各種データが一時的に格納されても良い。また記憶装置２０４は、センサ端末２００の設定に係るデータが格納されていても良い。
【００２０】
本実施例のセンサ端末プログラムは、例えばセンサ端末プログラムを記録した記録媒体２０５がセンサ端末２００にセットされると、記録媒体２０５から記憶装置２０４にインストールされても良い。
【００２１】
本実施例では、センサ端末２００における行動解析処理の量を減らすことでセンサ端末２００の消費電力を削減する。
【００２２】
本実施例では、利用者の歩行時において進行方向を右又は左に変える際の加速度センサの出力に着目し、センサ端末２００が装着されている腕が右腕か左腕かを判定する。本実施例では、センサ情報からセンサ端末２００が装着されている腕を判定するため、行動解析処理における学習データとのマッチング処理を右腕用又は左腕用の学習データの何れか一方についてのみ行えば良く、解析処理量を減らすことができる。
【００２３】
以下に本実施例におけるセンサ端末２００が装着された腕の判定について説明する。図２は、センサ端末の装着について説明する図である。図２（Ａ）はセンサ端末２００が利用者の右手首の外側に装着された例を示しており、図２（Ｂ）はセンサ端末２００が利用者の左手首の外側に装着された例を示している。
【００２４】
図２に示されるように、センサ端末２００を利用者の右手首に装着した場合と左手首に装着した場合とでは、加速度のＸ軸、Ｙ軸、Ｚ軸には差異がない。
【００２５】
そこで本実施例では、利用者が歩行時において右方向に曲がったときと左方向に曲がったときの加速度の変化に着目した。
【００２６】
図３は、利用者が右方向に曲がったときと左方向に曲がったときの加速度の変化を説明する図である。
【００２７】
図３では、実線に沿って利用者が歩行するものとして説明する。まず地点Ａにおいて利用者は直進している。地点Ｂにおいて利用者は左へ曲がる。このとき歩行者は、前進中は左足を軸足にすることで左へ曲がる。次に地点Ｃにおいて利用者は右へ曲がる。このとき歩行者は、前進中は右足を軸足にすることで右へ曲がる。地点Ｄで利用者は直進する。
【００２８】
本実施例のセンサ端末２００では、センサ群２０３に含まれる角速度センサから出力される回転角により、利用者が曲がったことを検出できる。しかし、地点Ｂ、Ｃでは、利用者がセンサ端末２００を右手首に装着していても左手首に装着していても、回転角は同じである。
【００２９】
そこで本実施例では、地点Ｂ、Ｃにおける加速度に注目する。利用者が左に曲がる地点Ｂでは、利用者の右腕側が左腕側と比較して大きく回転する。すなわち地点Ｂでは、利用者がセンサ端末２００を右手首に装着している場合加速度が大きくなり、左手首に装着している場合加速度は直進時と同等となる。利用者が右に曲がる地点Ｃでは、利用者の左腕側が右腕側と比較して大きく回転する。すなわち地点Ｃでは、利用者がセンサ端末２００を左手首に装着している場合加速度が大きくなり、右手首に装着している場合加速度は直進時と同等となる。
【００３０】
以上のように本実施例では、歩行時において利用者が曲がった方向と逆側の腕にセンサ端末２００が装着されていた場合に加速度が大きくなることを利用し、センサ端末２００が装着された腕が左右のどちらであるかを判断する。
【００３１】
尚本実施例では、センサ端末２００が腕に装着されるものとして説明したが、これに限定されない。例えばセンサ端末２００が足や肩等に装着される場合にも、同様の方法により左右を判断できる。すなわち本実施例では、利用者の体の右側又は左側のどちらにセンサ端末２００が装着されたかを判断することができる。
【００３２】
以下に図４を参照して加速度に基づく左右の判断について説明する。
【００３３】
図４は、時刻と加速度及び角速度との関係を示す第一の図である。図４は、センサ端末２００を利用者の左手首の内側に装着して歩行する実験を行った際の時刻と加速度及び角速度との関係を示している。
【００３４】
本実施例のセンサ端末２００は、例えばＭＰＵ２０１により角速度センサの出力を積分することで、利用者が曲がった角度を検出する。本実施例では、例えば歩行時において１秒間に９０度以上回転した場合に、利用者が右又は左に曲がったと判断するものとした。
【００３５】
図４において、波形４１はセンサ端末２００が回転した角度、すなわち利用者が回転した角度を示しており、波形４２はセンサ端末２００の加速度、すなわち利用者の加速度を示している。
【００３６】
尚本実施例の加速度は、Ｘ軸方向の加速度の二乗とＹ軸方向の加速度の二乗との和の平方根で表すものとした。よって本実施例では、加速度は常に正の値となる。
【００３７】
図４において期間ｔ１、ｔ３、ｔ５、ｔ７は、１秒以内に角度が９０度以上変化していることがわかる。したがって図４では、利用者は期間ｔ１、ｔ３、ｔ５、ｔ７において利用者が曲がっており、その他の期間ｔ２、ｔ４、ｔ６は通常の歩行（直進）であることがわかる。またこのときセンサ端末２００は、回転の角度から利用者が左右どちらの方向に曲がったかを検出できる。図４の例では、期間ｔ１、ｔ３、ｔ５、ｔ７において利用者が右方向に曲がっているものとする。
【００３８】
次に期間ｔ１、ｔ３、ｔ５、ｔ７の加速度と、期間ｔ２、ｔ４、ｔ６の加速度について説明する。
【００３９】
図４の例では、期間ｔ１、ｔ３、ｔ５、ｔ７の加速度は、期間ｔ２、ｔ４、ｔ６の加速度よりも大きい。よって図４の例では、センサ端末２００は利用者が曲がった方向と反対側の腕に装着されていることがわかる。すなわち図４では、センサ端末２００が左腕に装着されていることがわかる。
【００４０】
本実施例では、加速度の大小の判定を行う際に、曲がった期間の前後の期間における加速度の最大値を取得し、曲がった期間の加速度がこの最大値よりも大きければセンサ端末２００は利用者が曲がった方向と左右が逆の腕に装着されていると判断しても良い。
【００４１】
具体的には例えば、期間ｔ３の加速度が期間ｔ２、期間ｔ４の加速度の最大値よりも大きい場合、センサ端末２００は利用者が曲がった方向と左右が逆の腕に装着されていると判断される。尚本実施例では、期間ｔ３の加速度の平均値を期間ｔ２、期間ｔ４の加速度の最大値と比較しても良いし、期間ｔ３の加速度の最大値を期間ｔ２、期間ｔ４の加速度の最大値と比較しても良い。
【００４２】
図５は、時刻と加速度及び角速度との関係を示す第二の図である。図５は、センサ端末２００を利用者の右手首の外側に装着して歩行する実験を行った際の時刻と加速度及び角速度との関係を示している。
【００４３】
図５において期間ｔ１１、ｔ１３、ｔ１５、ｔ１７は、１秒以内に角度が９０度以上変化していることがわかる。したがって図５では、利用者は期間ｔ１１、ｔ１３、ｔ１５、ｔ１７において利用者が曲がっており、その他の期間ｔ１２、ｔ１４、ｔ１６は通常の歩行（直進）であることがわかる。またこのときセンサ端末２００は、回転の角度から利用者が左右どちらの方向に曲がったかを検出できる。図５の例では、期間ｔ１１、ｔ１３、ｔ１５、ｔ１７において利用者が右方向に曲がっているものとする。
【００４４】
また図５の例では、期間ｔ１１、ｔ１３、ｔ１５、ｔ１７の加速度は、期間ｔ１２、ｔ１４、ｔ１６の加速度と同等である。すなわち図５の例では、センサ端末２００は利用者が曲がった方向と同じ側の腕に装着されていることがわかる。すなわち図５の例ではセンサ端末２００は右腕に装着されていることがわかる。
【００４５】
本実施例では、以上のようにセンサ情報からセンサ端末２００が装着された腕を特定するため、後の行動解析処理では、特定された腕の行動についてのみパターンマッチングを行えば良くなり、解析処理量を減らすことができる。
【００４６】
以下に本実施例のセンサ端末２００について説明する。図６は、センサ端末の機能構成を説明する図である。
【００４７】
本実施例のセンサ端末２００では、ＭＰＵ２０１が記憶装置２０４に格納されたプログラムを実行することで以下の各部の機能が実現される。
【００４８】
本実施例のセンサ端末２００は、センサ情報取得部２１０、回転角度算出部２２０、曲がり検出部２３０、歩行検出部２４０、端末姿勢検出部２５０、左右検出部２６０、行動解析部２７０を有する。
【００４９】
本実施例のセンサ情報取得部２１０は、センサ群２０３に含まれる各種センサの出力値を取得する。本実施例のセンサ群２０３には、少なくとも加速度センサ、角速度センサを有し、センサ端末２００は計時機能を有するものとした。本実施例のセンサ情報取得部２１０が取得したセンサ情報は、後述するセンサ情報管理テーブルに格納される。本実施例のセンサ情報管理テーブルは、センサ情報取得部２１０がセンサ情報を取得する度に更新される。センサ情報管理テーブルの詳細は後述する。
【００５０】
回転角度算出部２２０は、角速度センサから出力される角速度と時刻とに基づき、利用者が曲がった角度を算出する。本実施例における利用者が曲がった角度とは、利用者の進行方向である。本実施例の角速度センサは、利用者が北を向いているとき、すなわち利用者の進行方向が北であるときの出力値を０°とし、利用者が右回りに回転すると出力値がプラスに変化し、利用者が左回りに回転すると出力値がマイナスに変化するものとした。
【００５１】
よって本実施例において、利用者が曲がった角度とは、利用者が進行方向を変更する際に回転した角度である。具体的には本実施例の回転角度算出部２２０は、角速度センサの出力値を積分し、利用者の進行方向を算出する。また本実施例では、利用者の進行方向を利用者の姿勢とも表現する。
【００５２】
曲がり検出部２３０は、回転角度算出部２２０により算出された角度と、後述する閾値管理テーブルに格納された回転角度閾値とに基づき、利用者が歩行中に右又は左に曲がったことを検出する。具体的には本実施例の曲がり検出部２３０は、回転角度算出部２２０により算出される角度が１秒間に９０度以上変化した場合に利用者が曲がったことを検出する。
【００５３】
歩行検出部２４０は、加速度センサの出力と時刻情報に基づき利用者が歩行していることを検出する。端末姿勢検出部２５０は、利用者の歩行が検出されたとき、加速度センサの出力と、時刻情報とに基づきセンサ端末２００の端末姿勢を検出する。歩行検出部２４０は、検出結果を歩行時間管理テーブルに格納する。歩行時間管理テーブルの詳細は後述する。
【００５４】
左右検出部２６０は、曲がり検出部２３０の検出結果と、加速度センサの出力値と、時刻情報とに基づき、センサ端末２００が装着されたのが利用者の右腕か左腕かを検出する。すなわち本実施例の左右検出部２６０は、センサ端末２００が装着された位置を検出する。
【００５５】
本実施例の曲がり検出部２３０、歩行検出部２４０、端末姿勢検出部２５０、左右検出部２６０による検出結果は、後述する利用者状態管理テーブルに格納される。利用者状態管理テーブルは、センサ情報が更新される度に更新される。
【００５６】
本実施例の行動解析部２７０は、左右検出部２６０による検出結果と対応した学習データベースを参照し、センサ情報取得部２１０が取得したセンサ情報を解析する。
【００５７】
以下に図７を参照してセンサ情報管理テーブルを説明する。図７は、センサ情報管理テーブルの一例を示す図である。
【００５８】
図７に示すセンサ情報管理テーブル７１は、利用者ＩＤ毎に例えば記憶装置２０４内の所定の記憶領域に格納されている。本実施例の利用者ＩＤは、例えばセンサ端末２００毎に付与されており、センサ端末２００を特定するための情報である。
【００５９】
本実施例のセンサ情報管理テーブル７１は、加速度センサの出力値と、角速度センサの出力値と、が各出力値の取得時刻と対応付けられて格納されている。センサ情報管理テーブル７１では、取得した各センサの出力値が時系列で格納される。尚図７の例では、取得時間は分単位としているが、センサ情報の取得は例えば所定秒毎に行っても良い。また本実施例のセンサ情報管理テーブル７１は、角速度センサの出力値を１軸のみとした。
【００６０】
以下に図８を参照して、歩行時間管理テーブルと閾値管理テーブルについて説明する。図８は、歩行時間管理テーブルと閾値管理テーブルの例を示す図である。図８（Ａ）は、歩行時間管理テーブル８１の例を示し、図８（Ｂ）は閾値管理テーブル８２の例を示す。
【００６１】
本実施例の歩行時間管理テーブル８１は、利用者ＩＤ毎に記憶装置２０４内の所定の記憶領域に格納される。歩行時間管理テーブル８１では、移動開始時刻、移動終了時刻、端末姿勢、左右検出結果が対応付けられている。移動開始時刻は、利用者の歩行が検出された時刻が格納される。移動終了時刻は、利用者の停止が検出されたときの時刻が格納される。端末姿勢は、移動開始時刻から移動終了時刻までの端末姿勢である。左右検出結果は、移動開始時刻から移動終了時刻までの間の左右検出部２６０の検出結果が格納される。
【００６２】
本実施例の閾値管理テーブル８２は、回転角度閾値が格納されている。回転角度閾値は、曲がり検出部２３０により利用者が曲がったか否かを検出する際に閾値となる回転角度である。本実施例では、回転角度閾値を９０度とした。すなわち曲がり検出部２３０は、回転角が９０度以上であった場合に利用者が左右のどちらかに曲がったことを検出する。
【００６３】
次に図９を参照して利用者状態管理テーブルについて説明する。図９は、利用者状態管理テーブルの例を示す図である。
【００６４】
図９に示す利用者状態管理テーブル９１は、利用者ＩＤ毎に例えば記憶装置２０４内の所定の記憶領域に格納されている。本実施例の利用者状態管理テーブル９１は、センサ情報管理テーブル７１が更新される度に更新される。
【００６５】
本実施例の利用者状態管理テーブル９１は、利用者の加速度、歩行フラグの有無、利用者の姿勢、回転フラグの有無、センサ端末２００の端末姿勢が、各値を取得した取得時刻と対応付けられている。センサ端末２００の端末姿勢とは、例えばセンサ端末２００の上下の向きや、利用者の手首回りを３６０°としたときのセンサ端末２００の取付位置を示す。
【００６６】
本実施例の歩行フラグは、例えば歩行検出部２４０により利用者の歩行が検出されたとき、セットされる。また本実施例の利用者の姿勢は、回転角度算出部２２０により検出された利用者の姿勢を示す。
【００６７】
本実施例の回転フラグは、例えば曲がり検出部２３０により利用者が左右のどちらからに曲がったことが検出されたときにセットされる。センサ端末２００の端末姿勢は、センサ端末２００の装着向き等を含み、端末姿勢検出部２５０により検出される。
【００６８】
次に図１０を参照して本実施例のセンサ端末２００の動作を説明する。図１０は、センサ端末の動作を説明するフローチャートである。
【００６９】
本実施例のセンサ端末２００が起動すると、センサ情報取得部２１０は、センサ群２０３に含まれる加速度センサと角速度センサのそれぞれの出力値を取得する（ステップＳ１００１）。取得された加速度センサと角速度センサのそれぞれの出力値は、取得時刻とともにセンサ情報管理テーブル７１に格納される。加速度センサと角速度センサの出力値の取得時刻は、時刻情報として各出力値と対応付けられてセンサ情報管理テーブル７１に格納される。尚センサ情報取得部２１０は、上記２つのセンサ以外の各種センサの出力値も取得する。
【００７０】
続いてセンサ端末２００は、歩行検出部２４０により利用者が歩行中であるか否かを検出する（ステップＳ１００２）。具体的には歩行検出部２４０は、センサ情報取得部２１０が取得した加速度センサの出力値から利用者の加速度を算出し、利用者が歩行中であるか否かを検出する。
【００７１】
本実施例の歩行検出部２４０は、利用者が歩行中であることを検出すると、利用者状態管理テーブル９１において検出した時刻情報と対応する歩行フラグを設定する。また本実施例の歩行検出部２４０は、加速度センサの出力値により利用者の移動開始を検出したとき、時刻情報を歩行管理テーブル８１に格納する。同様に歩行検出部２４０は、加速度センサの出力値により利用者の移動終了を検出したときの時刻情報を歩行管理テーブル８１に格納する。
【００７２】
ステップＳ１００２において利用者が歩行中でない場合、センサ端末２００はステップＳ１００１へ戻る。ステップＳ１００２において利用者が歩行中であった場合、センサ端末２００は、端末姿勢検出部２５０によりセンサ端末２００の端末姿勢を検出する（ステップＳ１００３）。
【００７３】
具体的には端末姿勢検出部２５０は、加速度センサの出力値（ｘ，ｙ，ｚ）を数点プロットしてできる面に対し、法線ベクトルを計算することでセンサ端末２００の端末姿勢を求める。本実施例の端末姿勢は、ｘ軸、ｙ軸、ｚ軸の傾きにより示されるものであり、その求め方は公知技術である。端末姿勢検出部２５０がセンサ端末２００の端末姿勢を検出すると、センサ端末２００は、利用者状態管理テーブル９１を更新する。
【００７４】
続いてセンサ端末２００は、回転角度算出部２２０により、角速度センサから出力される角速度と時刻とに基づき、利用者の姿勢（利用者の進行方向）を算出する（ステップＳ１００４）。本実施例では、利用者の進行方向は角度で示される。例えば本実施例では、利用者の進行方向が北である場合、利用者の進行方向を０°とする。回転角度算出部２２０により進行方向が算出されると、センサ端末２００は利用者状態管理テーブル９１を更新する。
【００７５】
続いてセンサ端末２００は、回転角度管理テーブル９２に格納された回転角度閾値と、回転角度算出部２２０により算出された回転角度とを参照し、歩行中の利用者が曲がったか否かを検出する（ステップＳ１００５）。
【００７６】
ステップＳ１００５において利用者が曲がったことが検出されない場合、センサ端末２００はステップＳ１００１へ戻る。
【００７７】
ステップＳ１００５において利用者が曲がったことが検出されると、センサ端末２００は、左右検出部２６０により、センサ端末２００が装着された腕が右腕か又は左腕かを検出する（ステップＳ１００６）。またセンサ端末２００は、利用者状態管理テーブル９１において、利用者が曲がったことを検出した時刻情報と対応した回転フラグをセットする。
【００７８】
続いてセンサ端末２００は、ステップＳ１００６で検出された結果に基づき、右腕用学習データベース２０６か又は左腕用学習データベース２０７の何れか一方を選択する（ステップＳ１００７）。本実施例のセンサ端末２００は、例えばセンサ端末２００が装着された腕が右腕であることが検出された場合、右腕用学習データベース２０６を選択する。センサ端末２００が装着された腕が左腕であった場合は、左腕用学習データベース２０７を選択する。ステップＳ１００７において左右の何れかが検出されると、センサ端末２００は、歩行時間管理テーブル８１を更新する。
【００７９】
続いてセンサ端末２００は、行動解析部２７０により、ステップＳ１００６で選択された学習データベースと、センサ情報取得部２１０により取得されたセンサ情報とのマッチングを含む行動解析処理を行う（ステップＳ１００８）。ステップＳ１００８の処理で用いられるセンサ情報は、例えばセンサ情報管理テーブル７１に格納されているセンサ情報である。
【００８０】
続いてセンサ端末２００は、行動解析処理の終了指示を受けたか否かを判断する（ステップＳ１００９）。ステップＳ１００９において終了指示を受けていない場合、センサ端末２００はステップＳ１００１に戻る。ステップＳ１００９において終了指示を受けた場合、センサ端末２００は処理を終了する。
【００８１】
次に本実施例の各テーブルの変化を参照して本実施例のセンサ端末２００の処理を具体的に説明する。
【００８２】
図１１は、センサ情報管理テーブルと利用者状態管理テーブルの変化を示す図である。図１１は、センサ情報取得部２１０がセンサ情報を取得した直後のセンサ情報管理テーブル７１と、利用者状態管理テーブル９１Ａとを示す。
【００８３】
センサ情報管理テーブル７１には、センサ情報を取得した時刻を示す時刻情報と、加速度センサ及び角速度センサの出力値を含むセンサ情報とが格納されている。本実施例のセンサ端末２００は、センサ情報管理テーブル７１に格納された時刻情報を利用者状態管理テーブル９１Ａの取得時刻欄にも格納する。
【００８４】
また本実施例のセンサ端末２００は、センサ情報管理テーブル７１に格納された加速度センサの出力値から利用者の加速度を算出し、利用者状態管理テーブル９１Ａの利用者加速度欄に格納する。本実施例では、ｘ軸方向の加速度ｄｘの二乗とｙ軸方向の加速度ｄｙの二乗との和の平方根を加速度として利用者状態管理テーブル９１Ａに格納する。本実施例の歩行検出部２４０は、加速度が０より大きい場合に利用者が歩行中であることを検出し、歩行フラグ欄に１をセットする。また本実施例の歩行検出部２４０は、加速度が０の場合、歩行フラグ欄を０とする。
【００８５】
本実施例の回転角度算出部２２０は、センサ情報管理テーブル７１に格納された角速度センサの出力値から利用者の姿勢（利用者の進行方向）を算出し、利用者状態管理テーブル９１Ａの利用者姿勢欄に格納する。
【００８６】
本実施例の端末姿勢検出部２５０は、センサ情報管理テーブル７１に格納された加速度センサの出力値からセンサ端末２００の端末姿勢を算出し、利用者状態管理テーブル９１Ａの取付端末姿勢欄に格納する。
【００８７】
図１２は、利用者状態管理テーブルの変化を示す第一の図である。図１２は、曲がり検出部２３０による検出結果が反映された利用者状態管理テーブル９１Ｂを示している。
【００８８】
本実施例の曲がり検出部２３０は、歩行フラグ欄に１がセットされている期間において、利用者の姿勢が閾値管理テーブル８２に格納された回転角度閾値以上回転したとき利用者が左右の何れかに曲がったものと判断し、対応する回転フラグ欄に１をセットする。
【００８９】
図１２に示す利用者状態管理テーブル９１Ｂにおいて、歩行フラグ欄に１がセットされている歩行期間１２１は、２０１２／１２／３  １１：０１〜２０１２／１２／３  １１：０５である。よって曲がり検出部２３０は、この期間において利用者の姿勢が９０°以上変化したとき利用者が左右の何れかに曲がったものと判断する。本実施例の曲がり検出部２３０は、利用者の姿勢が９０°以上左回りに変化したとき、すなわち利用者左に曲がったとき、回転フラグ欄に−１をセットする。また本実施例では、利用者の姿勢が９０°以上右回りに変化したとき、すなわち利用者が右に曲がったとき、回転フラグ欄に１をセットする。また本実施例の曲がり検出部２３０は、利用者の姿勢の変化が９０°未満の場合、回転フラグ欄を０とする。
【００９０】
図１２の歩行期間１２１において、利用者姿勢欄の角度が９０°以上変化している曲がり期間は、２０１２／１２／３  １１：０１〜２０１２／１２／３  １１：０２と、２０１２／１２／３  １１：０３〜２０１２／１２／３  １１：０４である。図１２では上記２つの曲がり期間を時系列に曲がり期間１２２、１２３として示す。
【００９１】
本実施例では、曲がり期間１２２において利用者の姿勢が変化した後の回転フラグ欄に−１又は１がセットされる。具体的には曲がり期間１２２は、２０１２／１２／３  １１：０２において、２０１２／１２／３  １１：０１における利用者の姿勢が−９０°変化したことがわかる。よって本実施例の曲がり検出部２３０は、２０１２／１２／３  １１：０２と対応する回転フラグ欄に−１をセットする。
【００９２】
同様に曲がり期間１２３では、２０１２／１２／３  １１：０４において、２０１２／１２／３  １１：０３における利用者の姿勢が９０°変化したことがわかる。よって本実施例の曲がり検出部２３０は、２０１２／１２／３  １１：０４と対応する回転フラグ欄に１をセットする。
【００９３】
図１３は、歩行時間管理テーブルの変化を示す第一の図である。
【００９４】
本実施例のセンサ端末２００は、利用者状態管理テーブル９１が図１２に示すように更新されると、歩行時間管理テーブル８１を更新する。
【００９５】
図１３に示す歩行時間管理テーブル８１Ａは、移動開始時刻と移動終了時刻とが更新された例である。本実施例のセンサ端末２００は、利用者状態管理テーブル９１Ｂにおいて歩行フラグ欄と回転フラグ欄の両フラグが０でない期間を利用者の歩行期間として抽出し、歩行期間の最初の時刻情報を移動開始時刻とし、歩行期間の最後の時刻情報を移動終了時刻とする。
【００９６】
図１３の例では、歩行期間１２１の最初の時刻情報は２０１２／１２／３  １１：０１であり、最後の時刻情報は２０１２／１２／３  １１：０５である。よって歩行時間管理テーブル８１Ａにおいて、移動開始時刻として２０１２／１２／３  １１：０１が格納され、移動終了時刻として２０１２／１２／３  １１：０５が格納される。
【００９７】
図１４は、歩行時間管理テーブルの変化を示す第二の図である。
【００９８】
図１４に示す歩行管理時間テーブル８１Ｂは、移動開始時刻と移動終了時刻に加え、端末姿勢が更新された例である。
【００９９】
本実施例のセンサ端末２００は、利用者状態管理テーブル９１Ｂにおいて歩行フラグ欄に１がセットされている歩行期間１２１における端末姿勢に基づき、歩行期間１２１における端末姿勢を決定する。
【０１００】
本実施例のセンサ端末２００は、歩行期間１２１の各時刻情報に対応して算出された取付端末姿勢の平均値を算出し、歩行時間管理テーブル８１Ｂに格納する。
【０１０１】
具体的には図１３の利用者状態管理テーブル９１Ｂの歩行期間１２１には、５つの時刻情報が含まれ、それぞれの時刻情報に対応した取付端末姿勢が算出されている。よってセンサ端末２００は、この５つの取付端末姿勢の平均を算出し、歩行時間管理テーブル８１Ｂに格納する。
【０１０２】
図１５は、歩行時間管理テーブルの変化を示す第三の図である。
【０１０３】
図１５に示す歩行時間管理テーブル８１Ｃは、左右検出部２６０による左右検出結果が更新された例である。
【０１０４】
本実施例の左右検出部２６０は、例えば回転フラグ欄に−１（左回り）がセットされているときの利用者加速度と、回転フラグ欄が０（直進）のときの利用者加速度を比較する。本実施例の左右検出部２６０は、回転フラグ欄に−１がセットされているときの利用者加速度が、回転フラグ欄が０のときの利用者加速度より大きい場合、センサ端末２００は右腕に装着されていることを検出する。
【０１０５】
また本実施例の左右検出部２６０は、回転フラグ欄に−１がセットされているときの利用者加速度が、回転フラグ欄が０のときの利用者加速度以下の場合、センサ端末２００は左腕に装着されていることを検出する。
【０１０６】
図１５の利用者状態管理テーブル９１Ｂでは、回転フラグ欄に−１がセットされているときの利用者加速度が４であり、回転フラグ欄が０のときの利用者加速度が３である。よって左右検出部２６０は、センサ端末２００が右腕に装着されていることを検出し、歩行時間管理テーブル８１Ｃの左右検出結果の欄に、「右」と格納する。
【０１０７】
尚本実施例の左右検出部２６０は、回転フラグ欄に１（右回り）がセットされているときの利用者加速度と、回転フラグ欄が０（直進）のときの利用者加速度を比較しても良い。この場合左右検出部２６０は、回転フラグ欄に１がセットされているときの利用者加速度が、回転フラグ欄が０のときの利用者加速度以下の場合に、センサ端末２００は右腕に装着されていることを検出する。
【０１０８】
本実施例では、例えば歩行期間中において、回転フラグ欄に−１又は１がセットされた時刻情報が複数存在する場合、左右検出部２６０は回転フラグ毎に左右の検出を行い、それぞれの判定結果に基づき最終的な左右検出を行っても良い。
【０１０９】
図１６は、利用者状態管理テーブルの変化を示す第二の図である。図１６に示す利用者状態管理テーブル９１Ｃは、回転フラグ欄に−１又は１がセットされた時刻情報が複数存在する場合に、回転フラグ毎の左右検出結果を格納する欄を設けた例である。
【０１１０】
利用者状態管理テーブル９１Ｃでは、歩行期間１２１中の時刻情報１２０１／１２／３  １１：０２と対応する回転フラグ欄に−１がセットされている。この時刻情報を時刻情報ｔ２１とする。また利用者状態管理テーブル９１Ｃでは、歩行期間１２１中の時刻情報１２０１／１２／３  １１：０４と対応する回転フラグ欄に１がセットされている。この時刻情報をｔ２２とする。
【０１１１】
時刻情報ｔ２１の利用者加速度は、歩行期間１２１において回転フラグに０がセットされているときの利用者加速度よりも大きい。よって左右検出部２６０は、センサ端末２００が右腕に装着されていることを検出し、利用者状態管理テーブル９１Ｃの左右検出結果の欄に、「右」と格納する。
【０１１２】
また時刻情報ｔ２２の利用者加速度は、歩行期間１２１において回転フラグ欄が０のときの利用者加速度未満である。よって左右検出部２６０は、センサ端末２００が右腕に装着されていることを検出し、利用者状態管理テーブル９１Ｃの左右検出結果の欄に、「右」と格納する。
【０１１３】
続いて左右検出部２６０は、利用者状態管理テーブル９１Ｃの歩行期間１２１において左右検出結果欄に格納された「右」又は「左」のうち、数の多い方を選択して歩行時間管理テーブル８１Ｃの左右検出結果欄に格納する。
【０１１４】
利用者状態管理テーブル９１Ｃの歩行期間１２１において、左右検出結果欄には、「右」が２つ格納されており、「左」は格納されていない。よって本実施例の左右検出部２６０は、歩行時間管理テーブル８１Ｃの左右検出結果欄に歩行期間１２１の左右検出結果を「右」として格納する。
【０１１５】
以上のように本実施例では、利用者が右回り又は左回りに回転したときの利用者加速度に基づき、センサ端末２００が装着されている腕が左右のどちらであるか検出する。
【０１１６】
本実施例のセンサ端末２００は、センサ端末２００が装着されている腕が検出されると、右腕用学習データベース２０６、左腕用学習データベース２０７のうち、センサ端末２００が装着されている腕と対応する学習データベースを選択する。図１６の例では、センサ端末２００が装着されている腕は右である。よってセンサ端末２００は、記憶装置２０４内の右腕用学習データベース２０６を選択する。そしてセンサ端末２００は、右腕用学習データベース２０６を用いたマッチング処理を含む行動解析処理を行う。
【０１１７】
このように本実施例の行動解析では、センサ端末２００が装着されている腕と対応する学習データベースのみを参照して行動解析を行う。
【０１１８】
このため本実施例では、従来のように右腕用学習データベース２０６と左腕用学習データベース２０７の両方についてマッチング処理を含む行動解析処理を行う必要がなくなり、行動解析量を半減させることができる。よって本実施例のセンサ端末２００は、解析処理量に比例する消費電力を削減することができる。
【０１１９】
開示の技術では、以下に記載する付記のような構成が考えられる。
（付記１）
加速度センサの出力値から移動体に保持された当該端末装置の加速度を算出する加速度算出部と、
角速度センサの出力値から当該端末装置の右回り又は左回りにおける回転角度を算出する回転角度算出部と、
前記回転角度の変化が閾値以上となる期間の前記加速度と、前記回転角度の変化が前記閾値未満の期間の前記加速度とに基づき、当該端末装置が前記移動体の進行方向に向かって右側又は左側の何れに保持されているかを検出する左右検出部と、を有する端末装置。
（付記２）
前記左右検出部は、
前記回転角度の変化が閾値以上となる期間の前記加速度が、前記回転角度の変化が前記閾値未満の期間の前記加速度より大きいとき、前記移動体の回転の向きと逆側に当該端末装置が保持されているものとし、
前記回転角度の変化が閾値以上となる期間の前記加速度が、前記回転角度の変化が前記閾値未満の期間の前記加速度以下であるとき、前記移動体の回転の向きと同じ側に当該端末装置が保持されているものする付記１記載の端末装置。
（付記３）
前記加速度に基づき前記移動体の移動を検出する移動検出部と、
前記移動体の移動が検出された状態において、前記右回りにおける回転角度の変化が前記閾値以上であるとき、前記移動体が進行方向に向かって右に曲がったことを検出し、
前記移動体の移動が検出された状態において、前記左回りにおける回転角度の変化が前記閾値以上であるとき、前記移動体が進行方向に向かって左に曲がったことを検出する曲がり検出部と、を有する付記１又は２記載の端末装置。
（付記４）
前記左右検出部は、
前記移動体の移動が検出された状態において、前記曲がり検出部により複数回前記移動体が曲がったことが検出されたとき、
前記右側又は左側の何れに保持されているかを検出する処理を前記複数回行い、前記右側又は左側のうち検出された回数の多い方を前記移動体の移動時に当該端末装置が保持されている側であるものとする付記３記載の端末装置。
（付記５）
前記加速度センサと前記角速度センサとを含むセンサ群と、
前記センサ群から出力されるセンサ情報の解析処理において参照される右側用データベースと左側用データベースとを含む記憶装置と、
前記右側用又は前記左側用データベースのうち、前記左右検出部の検出結果と対応した側のデータベースを選択し、前記センサ情報の解析処理を行う行動解析部と、を有する付記１乃至４の何れか一項に記載の端末装置。
（付記６）
加速度センサの出力値から移動体に保持されたコンピュータの加速度を算出する処理と、
角速度センサの出力値から前記コンピュータの右回り又は左回りにおける回転角度を算出する処理と、
前記回転角度の変化が閾値以上となる期間の前記加速度と、前記回転角度の変化が前記閾値未満の期間の前記加速度とに基づき、当該端末装置が前記移動体の進行方向に向かって右側又は左側の何れに保持されているかを検出する処理と、を前記コンピュータに実行させる位置検出プログラム。
（付記７）
コンピュータによって実行される位置検出方法であって、該コンピュータが、
加速度センサの出力値から移動体に保持された前記コンピュータの加速度を算出し、
角速度センサの出力値から前記コンピュータの右回り又は左回りにおける回転角度を算出し、
前記回転角度の変化が閾値以上となる期間の前記加速度と、前記回転角度の変化が前記閾値未満の期間の前記加速度とに基づき、前記コンピュータが前記移動体の進行方向に向かって右側又は左側の何れに保持されているかを検出する位置検出方法。
【０１２０】
本発明は、具体的に開示された実施例に限定されるものではなく、特許請求の範囲から
逸脱することなく、種々の変形や変更が可能である。
【符号の説明】
【０１２１】
１００  サービス提供システム
２００  センサ端末
２０３  センサ群
２０４  記憶装置
２０６  右腕用学習データベース
２０７  左腕用学習データベース
２１０  センサ情報取得部
２２０  回転角度算出部
２３０  曲がり検出部
２４０  歩行検出部
２５０  端末姿勢検出部
２６０  左右検出部
２７０  行動解析部
３００  サービス提供サーバ
４００  携帯端末
【図１】
2014202598.tif 000003
【図２】
2014202598.tif 000004
【図３】
2014202598.tif 000005
【図４】
2014202598.tif 000006
【図５】
2014202598.tif 000007
【図６】
2014202598.tif 000008
【図７】
2014202598.tif 000009
【図８】
2014202598.tif 000010
【図９】
2014202598.tif 000011
【図１０】
2014202598.tif 000012
【図１１】
2014202598.tif 000013
【図１２】
2014202598.tif 000014
【図１３】
2014202598.tif 000015
【図１４】
2014202598.tif 000016
【図１５】
2014202598.tif 000017
【図１６】
2014202598.tif 000018