(57)【要約】【課題】ユーザの歩行軌跡の誤検出を抑制することができる情報処理装置を提供する。【解決手段】情報処理装置３０は、第１および第２の階層にそれぞれ設置される発信器から発信器を特定する識別子を含むビーコン信号を受信する受信部と、モーションセンサからの運動情報を基にして、ユーザの位置する階層を特定する特定部３４と、受信部が受信したビーコン信号のうちの特定部３４により特定されたユーザの位置する階層に対応するビーコン信号を選択すると共に、当該ビーコン信号から得られる位置情報を基にしてユーザの位置を算出する算出部３５と、を有する。【選択図】図５
2018063163.tif 000002
【特許請求の範囲】
【請求項１】
第１および第２の階層にそれぞれ設置される発信器から前記発信器を特定する識別子を含むビーコン信号を受信する受信部と、
モーションセンサからの運動情報を基にして、ユーザの位置する階層を特定する特定部と、
前記受信部が受信した前記ビーコン信号のうちの前記特定部により特定された前記ユーザの位置する階層に対応する前記ビーコン信号を選択すると共に、当該ビーコン信号から得られる位置情報を基にしてユーザの位置を算出する算出部と、
を有する情報処理装置。
【請求項２】
前記特定部は、前記運動情報に基づいて前記ユーザの歩容の判別を行い、前記歩容の判別の結果に基づいて前記ユーザによる階段の昇降がなされたかを判定し、前記ユーザの位置する階層を特定することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記モーションセンサは、前記ユーザの腰以下の下半身に固定される３軸角速度センサを含み、
前記特定部は、前記３軸角速度センサによって検知された前記ユーザの進行方向および高さ方向に垂直な方向の周りの角速度を、歩行周期の間に時間について積分したプロファイルを歩行周期ごとに作成し、前記プロファイルの形状に基づいて前記歩容を判別することを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記特定部は、前記３軸角速度センサからの前記運動情報を用いて前記歩行周期を検知し、
前記算出部は、前記運動情報に基づいて得られる前記ユーザの変位角と、検知された前記歩行周期に対応する移動距離と、を用いて、前記位置を算出することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記特定部は、前記３軸角速度センサからの前記運動情報を用いて前記ユーザの姿勢の安定度をさらに判別することを特徴とする請求項３または４に記載の情報処理装置。
【請求項６】
前記特定部は、前記歩容の判別の結果に基づいて前記ユーザによる前記階段の昇降の開始または終了を検知し、
前記算出部は、前記特定部によって、前記ユーザによる階段の昇降の開始または終了が検知されると、前記階段の上り口または前記階段の下り口に、前記ユーザの位置を再設定することを特徴とする請求項２から５のいずれか１つに記載の情報処理装置。
【請求項７】
第１および第２の階層にそれぞれ設置される発信器から前記発信器を特定する識別子を含むビーコン信号を受信し、
モーションセンサからの運動情報を基にして、ユーザの位置する階層を特定し、
受信した前記ビーコン信号のうちの特定された前記ユーザの位置する階層に対応する前記ビーコン信号を選択すると共に、当該ビーコン信号から得られる位置情報を基にしてユーザの位置を算出する、
処理をコンピュータが実行する位置算出方法。
【請求項８】
第１および第２の階層にそれぞれ設置される発信器から前記発信器を特定する識別子を含むビーコン信号を受信し、
モーションセンサからの運動情報を基にして、ユーザの位置する階層を特定し、
受信した前記ビーコン信号のうちの特定された前記ユーザの位置する階層に対応する前記ビーコン信号を選択すると共に、当該ビーコン信号から得られる位置情報を基にしてユーザの位置を算出する、
処理をコンピュータに実行させる位置算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、位置算出方法および位置算出プログラムに関する。
【背景技術】
【０００２】
スマートフォンなどの携帯型の情報処理端末の発達によって、携帯型の情報処理端末の所持者（以下、ユーザという）の地図上での歩行軌跡を同定することが可能となっている。屋外では、複数のＧＰＳ（Global  Positioning  System）衛星からの電波を受信して位置を測定することが可能である。しかし、屋内または地下では、ＧＰＳ衛星からの電波を受信することが困難である場合がある。そこで、角速度センサおよび加速度センサを用いた歩行者自律航法（Pedestrian  Dead  Reckoning）によって、歩行者の地図上での歩行軌跡を推定する技術が知られている。
【０００３】
歩行者自律航法では、センサ出力の積分によりセンサのドリフトあるいはユーザの歩幅による位置誤差が蓄積される。そのため、位置が既知となるビーコン信号を送信する通信装置を環境側に設置し、通信装置から受信したビーコン信号の強度などの無線情報を使用して、位置誤差の増大を抑制する技術が用いられている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特表２０１４−５０４９４３号公報
【特許文献２】特開２００５−１１４５３７号公報
【特許文献３】特開２００９−２１０４７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、建設中の建屋またはオープンスペースで複数の階層が存在する環境では、各階層に設置した通信装置からのビーコン信号が設置場所と異なる階層で検知される場合がある。たとえば、第１の階層にユーザが存在している状態で、第２の階層に設置された通信装置からのビーコン信号が第１の階層に漏れ、このビーコン信号を携帯型の情報処理端末が受信することがある。この場合、携帯型の情報処理端末は、ビーコン信号の送信元の通信装置が設置されている第２の階層にユーザが存在するようにユーザの位置を推定してしまう。つまり、ユーザの位置推定の信頼性が損なわれてしまう。
【０００６】
１つの側面では、本発明は、ユーザの歩行軌跡の誤検出を抑制することができる情報処理装置、位置算出方法および位置算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
一態様では、情報処理装置は、第１および第２の階層にそれぞれ設置される発信器から前記発信器を特定する識別子を含むビーコン信号を受信する受信部と、モーションセンサからの運動情報を基にして、ユーザの位置する階層を特定する特定部と、前記受信部が受信した前記ビーコン信号のうちの前記特定部により特定された前記ユーザの位置する階層に対応する前記ビーコン信号を選択すると共に、当該ビーコン信号から得られる位置情報を基にしてユーザの位置を算出する算出部と、を有する。
【発明の効果】
【０００８】
ユーザの歩行軌跡の誤検出を抑制することが可能となる。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施例１にかかる情報処理システムの構成の一例を示す図である。
【図２】図２は、実施例１にかかる動作検知デバイスの機能構成の一例を模式的に示すブロック図である。
【図３】図３は、歩容を説明するための図である。
【図４】図４は、実施例１にかかる動作検知デバイスのユーザへの固定箇所の一例を示す図である。
【図５】図５は、実施例１にかかる情報処理装置の機能構成の一例を模式的に示すブロック図である。
【図６−１】図６−１は、ユーザの歩行時のピッチ角速度ωＹと、ピッチ角速度ωＹを時間で積分した積分プロファイルと、の時間に対する変化の一例を示す図である。
【図６−２】図６−２は、ユーザの歩行時のピッチ角速度ωＹと、ピッチ角速度ωＹを時間で積分した積分プロファイルと、の時間に対する変化の一例を示す図である。
【図７】図７は、歩行周期の開始の定義の一例を示す図である。
【図８】図８は、歩容の違いによるピッチ角速度ωＹの積分プロファイルの一例を示す図である。
【図９】図９は、実施例１にかかる情報処理装置での処理の手順の一例を示すフローチャートである。
【図１０】図１０は、実施例１にかかる運動情報取得処理の手順の一例を示すフローチャートである。
【図１１】図１１は、実施例１にかかる歩容判別処理の手順の一例を示すフローチャートである。
【図１２】図１２は、実施例１と比較例とにかかる位置算出方法の一例を示す図である。
【図１３】図１３は、実施例２にかかる動作検知デバイスの機能構成の一例を模式的に示すブロック図である。
【図１４】図１４は、実施例２にかかる情報処理装置の機能構成の一例を模式的に示すブロック図である。
【図１５−１】図１５−１は、実施例２にかかる姿勢安定度の判定の概要の一例を示す図である。
【図１５−２】図１５−２は、実施例２にかかる姿勢安定度の判定の概要の一例を示す図である。
【図１６】図１６は、実施例２にかかる運動情報取得処理の手順の一例を示すフローチャートである。
【図１７】図１７は、実施例２にかかる歩容判別処理の手順の一例を示すフローチャートである。
【図１８】図１８は、実施例３にかかる情報処理システムの構成の一例を示す図である。
【図１９】図１９は、実施例３にかかる位置管理サーバの機能構成の一例を模式的に示すブロック図である。
【図２０】図２０は、実施例１〜実施例３にかかる位置算出プログラムを実行するコンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１０】
以下に、本願の開示する情報処理装置、位置算出方法および位置算出プログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１１】
［システム構成］
図１は、実施例１にかかる情報処理システムの構成の一例を示す図である。情報処理システム１は、ユーザ１００に固定される動作検知デバイス１０と、ユーザ１００が所持する情報処理装置３０と、位置管理サーバ６０と、サービス提供者側情報処理端末８０と、通信装置２５０と、を備える。
【００１２】
一例として、情報処理システム１は、複数の階層を有する建物、地下道などの建造物２００におけるユーザの位置管理に使用される。情報処理システム１では、位置管理サーバ６０がユーザ１００の位置情報を管理し、サービス提供者側情報処理端末８０がユーザ１００の位置情報を用いて、ユーザ１００に対するサービスを提供する。たとえば、建造途中の建造物２００の現場管理者または作業者がユーザ１００であり、サービス提供者はユーザ１００の位置に応じて、ユーザ１００が所持する情報処理装置３０にユーザ１００に必要な情報を提供する。あるいは、介護施設の入居者または病院の患者がユーザ１００であり、サービス提供者はユーザ１００の位置に応じて、ユーザ１００の状態を把握する、いわゆる見守りサービスを提供する。
【００１３】
建造物２００の階層２１０，２２０間は階段２３０によって結ばれている。建造物２００の各階層２１０，２２０には、通信装置２５０が設けられる。通信装置２５０は、建造物２００内での設置位置を特定する情報を含む信号を送出する発信器である。通信装置２５０が送出する信号として、たとえば、光ビーコン信号または電波ビーコン信号を用いることができる。以下では、通信装置２５０が送出する信号をビーコン信号というものとする。図１には、建造物２００が２つの階層２１０，２２０を有する場合を図示したが、建造物２００に設けられる階層の数は、２以上の任意の数であって構わない。
【００１４】
ユーザ１００は、動作検知デバイス１０と情報処理装置３０とを所持する。動作検知デバイス１０は、歩行者自律航法によるユーザ１００の歩行軌跡を算出するための運動情報のほかに、ユーザ１００の水平な箇所での歩行動作または階段２３０での昇降の歩行動作を判別するための運動情報を検知し、情報処理装置３０に送信するデバイスである。
【００１５】
情報処理装置３０は、動作検知デバイス１０から取得した運動情報を用いてユーザ１００の位置を算出し、通信装置２５０からのビーコン信号を用いてユーザ１００の位置の再設定を行う。また、情報処理装置３０は、算出される位置または再設定される位置を、位置管理サーバ６０に送信する。さらに、情報処理装置３０は、動作検知デバイス１０から取得した情報を用いてユーザ１００の歩容を特定し、受信したビーコン信号の位置再設定への使用について選択する。情報処理装置３０として、携帯電話、スマートフォン、タブレット端末、ＰＤＡ（Personal  Digital  Assistants）などを例示することができる。なお、図１では、ユーザ１００は１人しか示されていないが、情報処理システム１内では、任意の数のユーザ１００が存在する。
【００１６】
アクセスポイント５０と位置管理サーバ６０とサービス提供者側情報処理端末８０とは、ネットワーク９０を介して接続されている。ネットワーク９０は、有線または無線を問わず、インターネット、ＬＡＮ（Local  Area  Network）、ＷＡＮ（Wide  Area  Network）、ＶＰＮ（Virtual  Private  Network）などの任意の種類の通信網を採用できる。
【００１７】
アクセスポイント５０は、ユーザ１００が所持する情報処理装置３０をネットワーク９０と接続する中継装置である。情報処理装置３０とアクセスポイント５０との間は、たとえば無線通信によって接続される。アクセスポイント５０は、ＮＩＣ（Network  Interface  Card）を通信部として有する。
【００１８】
位置管理サーバ６０は、情報処理システム１を利用するユーザ１００の情報処理装置３０からユーザ１００の位置情報を取得し、サービス提供者側情報処理端末８０からの要求にしたがってユーザ１００の位置情報を提供する。
【００１９】
サービス提供者側情報処理端末８０は、位置管理サーバ６０からユーザ１００の位置を取得し、ユーザ１００の情報処理装置３０にユーザ１００の位置に応じた指示を送出する。たとえば、建造物２００の作業員であるユーザ１００が建造物２００内の所定の位置に存在する場合に、ユーザ１００の情報処理装置３０にユーザ１００に実行して欲しい情報を送信する。また、介護施設の入居者であるユーザ１００が建造物２００内の立ち入りが制限されている区域に存在する場合には、ユーザ１００の情報処理装置３０に現在の区域から出るように警告情報を出力する。なお、これらは一例であり、ユーザ１００の建造物２００内の位置に応じた情報を出力することができる。
【００２０】
つぎに、情報処理システム１に含まれる動作検知デバイス１０と情報処理装置３０の詳細な構成について説明する。
【００２１】
［動作検知デバイス１０の機能構成］
図２は、実施例１にかかる動作検知デバイスの機能構成の一例を模式的に示すブロック図である。動作検知デバイス１０は、たとえばユーザ１００の歩行動作を検知するウェアラブルデバイスであり、図２に示されるように、動作検知デバイス１０は、角速度センサ１１と、制御部１２と、無線通信部１３と、を備える。
【００２２】
角速度センサ１１は、ユーザ１００の動作を検知するモーションセンサの一種であり、ユーザ１００の腰以下の下半身に設けられ、ユーザ１００の角速度を検知する。角速度によって、ユーザ１００の移動時における方位の変化を示す変位角、ユーザ１００の歩行周期、およびユーザの歩容を求めることができる。この明細書での歩容とは、平地での歩行、階段を上る時の歩行、および階段を下りる時の歩行などの歩行の状態を示すものである。
【００２３】
図３は、歩容を説明するための図である。図３で、ユーザ１００の足１２０の踵１２１からつま先１２２に向かう方向、すなわちユーザ１００の進行方向の軸をＸ軸とし、踵１２１から高さ方向に向かう方向をＺ軸とし、Ｘ軸とＺ軸の両方に垂直な軸をＹ軸とする。Ｘ軸、Ｙ軸およびＺ軸のそれぞれのまわりの回転は、ロール、ピッチおよびヨーとなる。このとき、ロール、ピッチおよびヨーのそれぞれの角速度を、ロール角速度ωＸ、ピッチ角速度ωＹおよびヨー角速度ωＺとする。
【００２４】
このように軸を定義した時に、ユーザ１００の１歩行動作におけるピッチ角速度ωＹの時間に対する変化を示したもの、より具体的には、ユーザ１００の１歩行動作の間に、ピッチ角速度ωＹの時系列データ（または波形）を時間について積分した波形が、歩容によって異なる。そこで、本実施例では、歩容の判別にピッチ角速度ωＹを用いる。ただし、これは一例であり、ロール角速度ωＸまたはヨー角速度ωＺでも歩容の判別を行うことができる場合には、ロール角速度ωＸまたはヨー角速度ωＺを用いてもよい。
【００２５】
歩容を求める場合には、ピッチ角速度ωＹが分かればよいが、歩行者自律航法による位置（歩行軌跡）算出のためのユーザ１００の角度変化である変位角を求める場合には、ロール角速度ωＸ、ピッチ角速度ωＹおよびヨー角速度ωＺの３軸を用いるために、３軸角速度センサを用いることができる。
【００２６】
制御部１２は、角速度センサ１１で検知される角速度を含む信号を生成し、無線通信部１３から信号を送信させる機能を有する。
【００２７】
一実施形態として、制御部１２は、中央処理装置、いわゆるＣＰＵ（Central  Processing  Unit）として実装される。ＣＰＵは、図示しない主記憶装置として実装されるＲＡＭ（Random  Access  Memory）のワークエリア上に、上記の無線信号の生成を実現するプログラムをプロセスとして展開する。ＲＡＭとして、ＤＲＡＭ（Dynamic  RAM）またはＳＲＡＭ（Static  RAM）などを例示することができる。また、プログラムは、たとえばＲＯＭ（Read  Only  Memory）等に格納される。
【００２８】
なお、制御部１２は、必ずしも中央処理装置として実装されずともよく、ＭＰＵ（Micro  Processing  Unit）またはＭＣＵ（Micro  Controller  Unit）として実装されることとしてもよい。また、制御部１２は、ＡＳＩＣ（Application  Specific  Integrated  Circuits）またはＦＰＧＡ（Field  Programmable  Gate  Array）などのハードワイヤードロジックによっても実現できる。
【００２９】
無線通信部１３は、情報処理装置３０との間で無線通信を行う。無線通信部１３は、たとえばＢＬＥ（Bluetooth（登録商標）  Low  Energy）チップ、無線ＬＡＮチップなどによって実現される。
【００３０】
［動作検知デバイス１０の固定位置］
動作検知デバイス１０は、ユーザ１００の腰以下の部位に固定される。一実施形態では、動作検知デバイス１０はユーザ１００の足の甲に固定される。図４は、実施例１にかかる動作検知デバイスのユーザへの固定箇所の一例を示す図である。一実施形態では、図４に示されるように、動作検知デバイス１０は、靴、サンダル、スリッパなどの履物１３０に固定される。図４では、履物１３０のアッパー部分１３１に固定される場合が例示されるが、動作検知デバイス１０は履物１３０の任意の箇所に固定される。たとえば、履物１３０の底部分に埋め込まれるように動作検知デバイス１０を固定してもよいし、履物１３０の中敷きに埋め込まれるように動作検知デバイス１０を固定してもよい。
【００３１】
また、他の実施形態では、動作検知デバイス１０を備える固定具がユーザ１００の大腿部に巻きつけられることによって、動作検知デバイス１０がユーザ１００に固定されてもよい。固定具は、たとえばサポータなどである。この他、動作検知デバイス１０は脚１１０の任意の場所に固定される。たとえば、膝、小腿部、足首に固定具を巻きつけるようにして動作検知デバイス１０を固定してもよい。なお、動作検知デバイス１０は、片脚に固定されていても、両脚に固定されていてもよい。以下に示す実施例では、片脚に動作検知デバイス１０が固定される場合を説明する。
【００３２】
さらに、他の実施形態では、動作検知デバイス１０はユーザ１００の腰に固定されることとしてもよい。たとえばユーザ１００の腰に巻きつけられたホルダに、動作検知デバイス１０は固定される。
【００３３】
［情報処理装置３０の機能構成］
図５は、実施例１にかかる情報処理装置の機能構成の一例を模式的に示すブロック図である。情報処理装置３０は、通信部３１と、制御部３２と、記憶部３３と、を備える。
【００３４】
通信部３１は、通信装置２５０からのビーコン信号を受信する機能と、制御部３２で算出されるユーザ１００の現在位置をアクセスポイント５０を介して位置管理サーバ６０へと送信する機能と、を有する。通信部３１中のビーコン信号を受信する機能は、受信部に対応し、受信部は、たとえばＢＬＥチップによって実現される。通信部３１中の位置管理サーバ６０へと現在位置を送信する機能は、たとえば、ＮＩＣによって実現される。
【００３５】
制御部３２は、特定部３４と、算出部３５と、データ送信処理部３６と、を備える。制御部３２は、中央処理装置、いわゆるＣＰＵとして実装される。ＣＰＵは、図示しない主記憶装置として実装されるＲＡＭのワークエリア上に、後述する位置算出を実現するアプリケーションプログラムをプロセスとして展開する。ＲＡＭとして、ＤＲＡＭまたはＳＲＡＭなどを例示することができる。また、アプリケーションプログラムは、たとえばＲＯＭ，ＨＤＤに格納される。
【００３６】
なお、制御部３２は、必ずしも中央処理装置として実装されずともよく、ＭＰＵまたはＭＣＵとして実装されることとしてもよい。また、制御部３２は、ＡＳＩＣまたはＦＰＧＡなどのハードワイヤードロジックによっても実現できる。
【００３７】
特定部３４は、動作検知デバイス１０で検知される運動情報からユーザ１００の歩容データを取得し、ユーザ１００の歩容データに基づいてユーザ１００の位置する階層を特定する。特定部３４は、運動情報取得部３４１と、歩容判別部３４２と、昇降判定部３４３と、歩数カウント部３４４と、階層更新部３４５と、を有する。
【００３８】
運動情報取得部３４１は、通信部３１を介して受信した角速度センサ１１での検知結果である運動情報を取得する。実施例１では、歩行者自律航法を用いたユーザ１００の歩行経路の算出と、歩容の判別と、を行うのに、ロール角速度ωＸ、ピッチ角速度ωＹおよびヨー角速度ωＺの時系列データを取得する。具体的には、運動情報取得部３４１は、あるユーザ１００の歩行動作の１周期（以下、歩行周期という）を判別し、この歩行周期の間に動作検知デバイス１０で検知される３軸の角速度をバッファリングする。運動情報取得部３４１は、たとえばピッチ角速度ωＹが略０となる静止区間の開始を歩行周期の境界点とする。そして、前回の歩行周期で検知した境界点から今回検知した境界点までの間を歩行周期とする。なお、動作検知デバイス１０を片脚に固定する場合には、ユーザ１００の歩行周期は２歩となる。また、動作検知デバイス１０を両脚に固定する場合には、ユーザ１００の歩行周期は１歩となる。
【００３９】
歩容判別部３４２は、歩行周期の間のピッチ角速度ωＹのデータを用いて歩容判別処理を行う。歩容判別処理は、ピッチ角速度ωＹの時系列データ（または波形）を時間について積分して積分プロファイルを取得し、各歩行周期における積分プロファイルのピークパターンを抽出して、歩容を判別する。図３のピッチ角速度ωＹを用いることによって、ユーザ１００の歩容の違いを検出することが可能になる。
【００４０】
図６−１と図６−２は、ユーザの歩行時のピッチ角速度ωＹと、ピッチ角速度ωＹを時間で積分した積分プロファイルと、の時間に対する変化の一例を示す図である。図６−１は、平地から階段を上る際のピッチ角速度ωＹとその積分プロファイルの変化を示す図であり、図６−２は、平地から階段を下りる際のピッチ角速度ωＹとその積分プロファイルの変化を示す図である。なお、これらの図で横軸は、時間を示している。また、ピッチ角速度ωＹの時間に対する変化は破線のグラフＬ１で示され、ピッチ角速度ωＹを時間について積分したものは実線のグラフＬ２で示されている。
【００４１】
図７は、歩行周期の開始の定義の一例を示す図である。図７では、ユーザ１００の歩行の経時変化を模式的に示している。一般的に人間による歩行では、一方の脚１１０の踵から地面２２５に着地し、足の裏全体が地面２２５に所定の時間接地する。その後、踵が浮き、つま先で地面２２５を蹴り、もう一方の脚１１０の踵が地面２２５に着地する。その後、上記した動作が片方の脚１１０毎に交互になされ、歩行が行われる。
【００４２】
足の裏全体が地面２２５に接地するとき、足首のＹ軸まわりの回転が止まる区間、すなわちピッチ角速度ωＹ≒０になる静止区間がある。歩容判別部３４２は、図６−１と図６−２のピッチ角速度ωＹのうち、ピッチ角速度ωＹが略０となる状態が所定の期間連続した時に、この所定の期間を静止区間と判定し、さらにこの静止区間の始まりを歩行周期の境界点Ｐ（開始）と定める。ここで、ピッチ角速度ωＹが略０となる状態の判定は、ピッチ角速度ωＹが０−α以上で０＋β以下であるか否かを判定することによって行われる。図６−１と図６−２では、このようにして歩行周期の境界点Ｐが定められている。なお、上記したように、実施例１では、片脚にのみ動作検知デバイス１０が取り付けられている。そのため、図６−１と図６−２における１歩行周期は、実際の２歩に対応している。
【００４３】
歩行周期の境界点Ｐは、ピッチ角速度ωＹの時間変化を用いることで求めることができる。しかし、ピッチ角速度ωＹの時間変化のグラフＬ１では、歩行周期内での歩容の違いによるパターンの違いは明らかではない。一方、図６−１と図６−２のグラフＬ２で示されるように、１歩行周期でのピッチ角速度ωＹの積分プロファイルでは、ピークパターンが、平地での歩行と階段昇降時の歩行とで異なる。
【００４４】
図８は、歩容の違いによるピッチ角速度ωＹの積分プロファイルの一例を示す図である。積分プロファイルＰＦ１は、平地での歩行状態を示している。このピークパターンでは、負のピークＰ１１、正のピークＰ１２が順に現れる。積分プロファイルＰＦ２は、階段を上る時の歩行状態を示している。このピークパターンは、負のピークＰ２１のみが現れる。積分プロファイルＰＦ３は、階段を下りる時の歩行状態を示している。このピークパターンでは、負のピークＰ３１、正のピークＰ３２、負のピークＰ３３が順に現れる。
【００４５】
図８で示したように、平地での歩行、階段を上る時の歩行、および階段を下りる時の歩行とで、特徴的なピークパターンが得られる。そこで、歩行周期ごとに、積分プロファイルのピークパターンが、図８の積分プロファイルＰＦ１，ＰＦ２，ＰＦ３のいずれに対応するのかを決定することで、歩容を決定することが可能になる。
【００４６】
なお、図８の歩容を示す積分プロファイルＰＦ１〜ＰＦ３は足の甲に動作検知デバイス１０を固定した時の一例を示すものである。積分プロファイルは動作検知デバイス１０の固定部位によって変化する場合もある。このような場合には、平地での歩行状態、階段を上る時の歩行状態、階段を下りる時の歩行状態を区別することができる積分プロファイルを用いればよい。また、歩容の判別には、ピッチ角速度ωＹではなく、ロール角速度ωＸまたはヨー角速度ωＺの積分プロファイルを用いてもよい。
【００４７】
昇降判定部３４３は、歩容判別部３４２で取得される各歩行周期での歩容から、歩容状態の変更の有無を判定する。たとえば、歩容判別の結果、平地での歩行状態から階段の上りまたは下りの歩行状態に積分プロファイルのピークパターンが変化すると、昇降判定部３４３は、階段の昇降が開始されたと判定する。また、歩容判別の結果、階段の上りまたは下りの歩行状態から平地での歩行状態に積分プロファイルのピークパターンが変化すると、昇降判定部３４３は、階段の昇降が終了したと判定する。
【００４８】
歩数カウント部３４４は、運動情報取得部３４１で歩行周期の境界点Ｐが検知されると、歩数をカウントアップする。
【００４９】
階層更新部３４５は、昇降判定部３４３で階段の昇降の終了が検知されると、階層の更新を行う。たとえば、階段の上りの歩行状態から平地の歩行状態への遷移が検知されると、現在の階層に１付加したものを新たな現在の階層とし、それまで使用していた階層データを、新たな階層の階層データに更新する。また、階段の下りの歩行状態から平地の歩行状態への遷移が検知されると、現在の階層から１引いたものを新たな現在の階層とし、それまで使用していた階層データを、新たな階層の階層データに更新する。
【００５０】
算出部３５は、動作検知デバイス１０からの運動情報に基づいて、ユーザ１００の位置を算出し、また、所定の条件が満たされると、ユーザ１００の位置を再設定する。算出部３５は、位置算出部３５１と、判定部３５２と、位置再設定部３５３と、をさらに有する。
【００５１】
位置算出部３５１は、運動情報取得部３４１で取得した角速度および歩数カウント部３４４での歩数のカウント結果を用いて、歩行者自律航法に基づいて階層データにおける情報処理装置３０（動作検知デバイス１０と情報処理装置３０とを有するユーザ１００）の位置座標を算出する。より具体的には、歩数カウント部３４４でカウントされる１歩行周期に対応する距離（歩幅）を推定された移動距離とし、角速度センサ１１から出力される信号に含まれる角速度を時間について積分することで得られた情報処理装置３０の回転角を推定された変位角とする。そして、階層データ上の前回の推定された位置座標あるいは再設定される位置座標に対して、推定された変位角の方向に推定された移動距離を付加することで、情報処理装置３０の現在の位置座標を推定する。位置算出部３５１は、推定した位置座標を時間情報とともに位置データ３３２として記憶部３３に格納する。なお、各時間での位置を線で繋げることで、ユーザ１００の歩行軌跡が得られる。
【００５２】
判定部３５２は、通信部３１でビーコン信号を受信すると、ビーコン信号に含まれる階層の情報と、階層更新部３４５で管理されているユーザ１００が位置する階層と、が同じであるかを判定する。判定部３５２は、両者が同じである場合には、位置再設定部３５３に受信したビーコン信号を用いた位置再設定処理を許可する。一方、判定部３５２は、両者が同じでない場合には、位置再設定部３５３に受信したビーコン信号を用いた位置再設定処理を許可しない。
【００５３】
位置再設定部３５３は、位置算出部３５１で算出されるユーザ１００の歩行軌跡または位置を、所定の条件の下、再設定する。位置の再設定が実行されると、位置算出部３５１で推定される歩行経路に含まれる累積した誤差が除去される。位置再設定部３５３は、再設定した位置座標を時間情報とともに位置データ３３２として記憶部３３に格納する。
【００５４】
一実施形態では、位置再設定部３５３は、判定部３５２でビーコン信号を用いた位置再設定処理が許可される場合に、ビーコン信号の強度を測定し、ビーコン信号が所定の強度より大きい場合に、ユーザ１００の位置を階層データ中のビーコン信号を送出した通信装置２５０の位置に再設定する。なお、ビーコン信号が所定の強度より小さい場合には、ユーザ１００の位置の再設定は行われない。また、ビーコン信号が所定の強度と同じ場合には、ユーザ１００の位置の再設定を行ってもよいし、行わないようにしてもよい。
【００５５】
また、一実施形態では、位置再設定部３５３は、昇降判定部３４３で平地の歩行と階段昇降の歩行との間の切り替わりを検出した場合に、ユーザ１００の位置を階層データ中のその時点のユーザ１００の推定位置に最も近い階段の上り口または下り口に再設定する。
【００５６】
データ送信処理部３６は、位置算出部３５１で算出される位置、または位置再設定部３５３で再設定される位置を、時間情報とユーザ１００を特定する情報とともに、位置管理サーバ６０に送信する。
【００５７】
記憶部３３は、階層データ３３１と、位置データ３３２と、を記憶する。階層データ３３１は、ある位置を座標の基準として、建造物２００の各階層での通路、部屋、通信装置２５０、階段２３０の上り口の位置および下り口の位置などの配置状態を示す地図情報である。階層データ３３１は、建造物２００の階層ごとに用意される。
【００５８】
位置データ３３２は、位置算出部３５１で算出される、または位置再設定部３５３で再設定される位置を時間情報とともにユーザ１００ごとに記憶する。
【００５９】
記憶部３３は、たとえばＨＤＤ（Hard  Disk  Drive）またはＳＳＤ（Solid  State  Drive）として実装される。
【００６０】
［処理の流れ］
図９は、実施例１にかかる情報処理装置での処理の手順の一例を示すフローチャートである。この処理は、動作検知デバイス１０を腰以下の下半身に固定したユーザ１００が所持する情報処理装置３０で行われる。
【００６１】
まず、階層更新部３４５は、記憶部３３に記憶されている階層データ３３１から情報処理装置３０が位置する初期の階層データを取得し、設定する（ステップＳ１１）。ついで、通信部３１はビーコン信号の無線サーチを行う（ステップＳ１２）。これは、設定される階層データに登録されているビーコン信号が存在するかの判定のために行われる。なお、ビーコン信号には、ビーコン信号を送信している通信装置２５０の装置識別情報と、通信装置２５０が設置されている位置を示す位置情報と、が含まれる。また、位置情報には、階層を示す情報と、階層内での位置と、が含まれる。
【００６２】
その後、通信部３１は、ビーコン信号を受信したかを判定する（ステップＳ１３）。ビーコン信号を受信した場合（ステップＳ１３Ｙｅｓ）には、ビーコン信号に含まれる階層情報を取得する（ステップＳ１４）。ついで、判定部３５２は、情報処理装置３０側で設定されている現在の階層を取得する（ステップＳ１５）。これは、たとえば階層更新部３４５で管理されている現在の階層データの階層を取得することによって行われる。その後、判定部３５２は、ビーコン信号の階層情報は現在の階層と同じであるかを判定する（ステップＳ１６）。
【００６３】
ビーコン信号の階層情報が現在の階層と同じである場合（ステップＳ１６Ｙｅｓ）には、判定部３５２は、ビーコン信号で位置再設定可能な電波条件が成立しているかを判定する（ステップＳ１７）。たとえば、判定部３５２は、通信部３１で受信されるビーコン信号の強度が、位置再設定を実行する際の強度よりも大きいかを判定する。
【００６４】
ビーコン信号で位置再設定可能な電波条件が成立している場合（ステップＳ１７Ｙｅｓ）には、位置再設定部３５３は、受信したビーコン信号に基づいてユーザ１００の位置を再設定する（ステップＳ１８）。具体的には、ビーコン信号の強度が位置再設定可能な強度よりも大きい場合には、ビーコン信号を送信した通信装置２５０の位置をユーザ１００の位置に再設定する。
【００６５】
その後、ステップＳ１３でビーコン信号を受信しなかった場合（ステップＳ１３Ｎｏ）、ステップＳ１６でビーコン信号の階層情報は現在の階層と同じではない場合（ステップＳ１６Ｎｏ）、あるいはステップＳ１７でビーコン信号で位置再設定可能な電波条件が成立していない場合（ステップＳ１７Ｎｏ）には、歩行周期間の運動情報取得処理が行われる（ステップＳ１９）。
【００６６】
図１０は、実施例１にかかる運動情報取得処理の手順の一例を示すフローチャートである。運動情報取得処理では、まず、運動情報取得部３４１が、初期化処理を行う（ステップＳ５１）。初期化処理では、たとえば、３軸角速度センサからの角速度をバッファリングするデータバッファをクリアする。また、境界点フラグｐを「ｏｆｆ」に設定し、静止区間フラグｆを「ｏｎ」に設定する。境界点フラグｐは、運動情報のバッファリングの完了（またはつぎの運動情報のバッファリングの開始）を示すフラグである。また、静止区間フラグｆは、静止区間であるか否かを示すフラグである。
【００６７】
ついで、運動情報取得部３４１は、通信部３１を介して動作検知デバイス１０の角速度センサ１１からの運動情報を取得し、データバッファにバッファリングする（ステップＳ５２）。その後、運動情報取得部３４１は、ピッチ角速度ωＹが静止区間にあるか、すなわちピッチ角速度ωＹが略０であるか、を判定する（ステップＳ５３）。
【００６８】
ピッチ角速度ωＹが静止区間にある場合（ステップＳ５３Ｙｅｓ）には、運動情報取得部３４１は、境界点フラグｐの制御を行う（ステップＳ５４）。具体的には、静止区間フラグｆが「ｏｆｆ」の場合には境界点フラグｐを「ｏｎ」にし、それ以外の場合には境界点フラグｐを「ｏｆｆ」にする。ピッチ角速度ωＹの時系列データにおいて、境界点フラグｐが「ｏｎ」にされる時点が、境界点Ｐとなる。その後、運動情報取得部３４１は、静止区間フラグｆを「ｏｎ」に設定する（ステップＳ５５）。
【００６９】
一方、ピッチ角速度ωＹが静止区間にない場合（ステップＳ５３Ｎｏ）には、運動情報取得部３４１は、静止区間フラグｆを「ｏｆｆ」に設定する（ステップＳ５６）。
【００７０】
その後、またはステップＳ５５の後、運動情報取得部３４１は、境界点フラグｐが「ｏｎ」であるかを判定する（ステップＳ５７）。境界点フラグｐが「ｏｎ」でない場合（ステップＳ５７Ｎｏ）には、ステップＳ５２へと処理が戻る。すなわち、境界点フラグｐが「ｏｆｆ」である場合は運動情報のバッファリングが行われる。
【００７１】
一方、境界点フラグｐが「ｏｎ」である場合（ステップＳ５７Ｙｅｓ）には、処理が図９へと戻る。すなわち、静止区間フラグｆが「ｏｆｆ」の状態から、ピッチ角速度ωＹが静止区間に移行したときに、境界点フラグｐが「ｏｎ」にされ、運動情報のバッファリングが終了することになる。
【００７２】
再び図９に示す処理に戻り、歩行周期間の運動情報取得処理の後に、歩容判別部３４２は、歩容判別処理を行う（ステップＳ２０）。
【００７３】
図１１は、実施例１にかかる歩容判別処理の手順の一例を示すフローチャートである。まず、歩容判別部３４２は、今回検知された境界点Ｐと前回検知された境界点Ｐとの間を歩行周期として、バッファリングした運動情報のうちピッチ角速度ωＹの時系列データ（または波形）を時間について積分する（ステップＳ７１）。これによって、歩行周期における積分プロファイルが取得される。ついで、歩容判別部３４２は、歩行周期におけるピークパターンを抽出する（ステップＳ７２）。
【００７４】
その後、昇降判定部３４３は、抽出したピークパターンからユーザ１００が階段２３０の昇降を行っているかを判定する（ステップＳ７３）。この判定は、たとえば取得したピークパターンが、図８に示される平地を歩行している時の積分プロファイルＰＦ１のピークパターン、階段を上っている時の積分プロファイルＰＦ２のピークパターン、および階段を下りている時の積分プロファイルＰＦ３のピークパターンのどれに対応するかによって行われる。以上によって、処理が図９へと戻る。
【００７５】
再び図９に示す処理に戻り、歩数カウント部３４４は、ステップＳ１９の歩行周期間の運動情報取得処理で、境界点フラグｐが「ｏｎ」にされたことを検知すると、歩数をカウントアップする（ステップＳ２１）。
【００７６】
ついで、位置算出部３５１は、角速度センサ１１で検知される運動情報と、ステップＳ２１での歩数カウント結果と、を用いて歩行者自律航法による歩行軌跡の推定および現在位置の更新を行う（ステップＳ２２）。なお、１つの歩数カウントに対応する距離は、予め定められた値が使用される。実施例１の場合には、片脚に動作検知デバイス１０を固定しているので、ユーザ１００の２歩分の距離が使用される。また、両脚に動作検知デバイス１０を固定する場合には、ユーザ１００の１歩分の距離（歩幅）が使用される。
【００７７】
その後、昇降判定部３４３は、歩容判別部３４２で得られた歩容判別結果から、ユーザ１００による階段の昇降が開始されたかを判定する（ステップＳ２３）。たとえば、前回の歩行周期における歩容判別結果が平地を歩行するものであり、最新の歩容判別結果が階段を昇降するものである場合に、階段の昇降が開始されたと判定することができる。
【００７８】
ユーザ１００による階段の昇降が開始されたと判定される場合（ステップＳ２３Ｙｅｓ）には、位置再設定部３５３は、現在の階層内で、ステップＳ２２で推定された位置に最も近い階段の位置に、ユーザ１００の現在位置を再設定する（ステップＳ２４）。
【００７９】
その後、またはステップＳ２３でユーザ１００による階段の昇降が開始されていないと判定される場合（ステップＳ２３Ｎｏ）には、昇降判定部３４３は、階段の昇降が終了したかを判定する（ステップＳ２５）。たとえば、前回の歩行周期における歩容判別結果が階段を昇降するものであり、最新の歩容判別結果が平地を歩行するものである場合に、階段の昇降が終了したと判定することができる。
【００８０】
階段の昇降が終了していないと判定される場合（ステップＳ２５Ｎｏ）には、ステップＳ１９へと処理が戻る。これは、ビーコン信号を送信する通信装置２５０が階段には設置されていないことを前提とするものであり、そのためステップＳ１２〜Ｓ１８の処理を省略している。しかし、通信装置２５０が階段に設置されている場合には、ステップＳ１２へと処理が戻るようにされる。
【００８１】
階段の昇降が終了したと判定される場合（ステップＳ２５Ｙｅｓ）には、階層更新部３４５は、ユーザ１００による階段の昇降に応じて階層データを更新する（ステップＳ２６）。たとえばユーザ１００が階段を上りきった場合には、現在の階層データの直上（現在の階層に１を付加した階層）の階層データ３３１を記憶部３３から取得する。また、たとえばユーザ１００が階段を下りきった場合には、現在の階層データの直下（現在の階層から１を引いた階層）の階層データ３３１を記憶部３３から取得する。これによって、階層更新部３４５で管理されるユーザ１００の位置する階層が更新される。
【００８２】
その後、位置再設定部３５３は、現在の階層内で、ステップＳ２２で推定された位置に最も近い階段の位置に、ユーザ１００の現在位置を再設定し（ステップＳ２７）、処理がステップＳ１２へと戻る。以上が、実施例１による位置算出処理の流れである。
【００８３】
図１２は、実施例１と比較例とにかかる位置算出方法の一例を示す図である。ユーザ１００が位置Ｘ０を起点として建造物２００の１Ｆの階層２１０を移動し、歩行者自律航法によって位置が更新され、歩行軌跡Ｒ１のルートが計算される。計算の途中で、所定の強度より大きいビーコン信号を受信すると、ユーザ１００の位置がビーコン信号を送出する通信装置２５０の位置へと再設定される。たとえば、位置Ｘ１では１Ｆの階層２１０の通信装置２５０−１の位置（情報）にユーザ１００の位置が再設定され、位置Ｘ２では１Ｆの階層２１０の通信装置２５０−２の位置（情報）にユーザ１００の位置が再設定される。
【００８４】
その後、ユーザ１００は、歩行軌跡Ｒ２に示されるように１Ｆの階層２１０内を移動したものとする。位置Ｘ２と位置Ｘ５との間の階段２３０付近を通過する際に、２Ｆの階層２２０の通信装置２５０−３から１Ｆの階層２１０に漏れてきたビーコン信号をユーザ１００の情報処理装置３０は受信する。このとき、ユーザ１００による階段２３０の昇降を判定しない比較例では、ビーコン信号の強度が所定の強度よりも大きい場合には、このビーコン信号を送信する通信装置２５０−３の位置にユーザ１００の位置が再設定される。その結果、情報処理装置３０では、ユーザ１００の歩行軌跡として、歩行軌跡Ｒ１が算出されることになる。
【００８５】
このように、比較例では、上記した実施例１のようにユーザ１００の階段２３０の昇降を判断しないため、ビーコン信号を受信すると、そのビーコン信号を用いた位置再設定の処理を行ってしまう。その結果、ユーザ１００は実際には１Ｆの階層２１０に存在するのにもかかわらず、２Ｆの階層２２０に存在するように歩行軌跡に誤差が生じてしまう。
【００８６】
一方、実施例１では、階段２３０のユーザ１００による昇降を判断する。そのため、位置Ｘ５で所定の強度よりも大きい強度のビーコン信号を受信した場合でも、ユーザ１００による階段２３０の上り動作がなければ、通信装置２５０−３からのビーコン信号を用いた位置再設定処理が行われない。その結果、情報処理装置３０は、ユーザ１００の歩行軌跡として、階層２１０，２２０間の移動のない歩行軌跡Ｒ２を算出する。つまり、実際のユーザ１００の移動経路との間の誤差を比較例に比して小さくすることができる。
【００８７】
また、他の例として、ユーザ１００が位置Ｘ０を起点として、位置Ｘ６まで移動した場合を考える。この場合、位置Ｘ１，Ｘ２，Ｘ６では、それぞれビーコン信号の受信によって通信装置２５０−１，２５０−２，２５０−３の設置位置でユーザ１００の現在の位置が再設定される。
【００８８】
また、実施例１による情報処理装置３０では、歩行軌跡Ｒ１に示されるように、位置Ｘ３では階段２３０の上り動作の開始が検知され、位置Ｘ４では階段２３０の上り動作の終了が検知される。そして、階段２３０の上り動作の開始が検知される位置では、実際の階段２３０の上り口の位置にユーザ１００の位置が再設定され、階段２３０の上り動作の終了が検知される位置では、実際の階段２３０の下り口の位置にユーザ１００の位置が再設定される。このように、通信装置２５０−１〜２５０−３の設置位置以外の階段２３０の上り口または下り口の位置でも、ユーザ１００の位置が再設定されるので、実際のユーザ１００の移動経路に近い歩行軌跡を推定することが可能になる。
【００８９】
［効果の一側面］
上述してきたように、本実施例にかかる情報処理装置３０は、ユーザ１００による階段の昇降に伴う建造物２００内での階層の移動を記録し、ビーコン信号を受けた時に、ビーコン信号中の階層の情報が情報処理装置３０で保持している階層と一致するものを選択する。その結果、歩行者自律航法によって歩行経路を推定している時に、他の階層から漏れてきたビーコン信号を受信してしまった場合に、このビーコン信号を用いて位置の補正を行うことがない。そのため、ユーザ１００の歩行軌跡の誤検出を抑制することが可能になる。
【００９０】
また、歩容の変化を、階層データ中の階段２３０の上り口または下り口に対応付けることで、歩容の変化が生じた時にユーザ１００の位置を再設定することができる。その結果、ビーコン信号を発する通信装置２５０のみで位置の再設定を行う場合に比して、再設定を行うポイントが増えるので、より正確にユーザ１００の歩行軌跡を推定することが可能となる。
【実施例２】
【００９１】
さて、本実施例では、ユーザの動作の検知に、角速度センサに加えて加速度センサを用いる場合について説明する。なお、実施例２における情報処理システムの全体構成は、図１と同様である。以下では、実施例１と異なる部分について説明する。
【００９２】
［動作検知デバイス１０の機能構成］
図１３は、実施例２にかかる動作検知デバイスの機能構成の一例を模式的に示すブロック図である。図１３に示されるように、動作検知デバイス１０は、加速度センサ１４をさらに備える。加速度センサ１４は、ユーザ１００の動作を検知するモーションセンサの一種であり、ユーザ１００の腰以下の下半身に設けられ、ユーザ１００の加速度を検知する。加速度によって、ユーザ１００の移動時における位置の変化を求めることができる。
【００９３】
なお、図１３では、図２に示した機能部と同一の機能を発揮する機能部に同一の符号を付し、その説明を省略する。ただし、制御部１２は、角速度センサ１１で検知される角速度と、加速度センサ１４で検知される加速度と、を含む信号を生成し、無線通信部１３から信号を送信させる機能を有する。
【００９４】
［情報処理装置３０の機能構成］
図１４は、実施例２にかかる情報処理装置の機能構成の一例を模式的に示すブロック図である。情報処理装置３０の制御部３２の構成が実施例１のものとは異なる。すなわち、図１４に示されるように、制御部３２中の特定部３４は、安定度判別部３４６をさらに備える。安定度判別部３４６は、角速度センサ１１で検知される運動情報を用いて、ユーザ１００の姿勢の安定度を判別する。たとえば運動情報のうち、通常の状態では、歩行周期中でユーザ１００の姿勢が安定しており、所定の値を示している状態が所定の期間継続する区間がユーザ１００の姿勢の安定度の判定対象として用いられる。安定度判別部３４６は、この判定対象の区間の分散を算出し、分散が判定基準値よりも小さい場合には、姿勢が安定していると判別するが、分散が判定基準値よりも大きい場合には、姿勢が安定していないと判別する。なお、分散が判定基準値と同じ場合には、姿勢が安定していると判別してもよいし、姿勢が安定していないと判別してもよい。ユーザ１００に疲労がたまると、通常は安定した動作となるものが、ふらついたり、振動したりして不安定となる。そこで、姿勢の安定度を判別することで、ユーザ１００が作業を進めるのに適した状態にあるかなどを判定することが可能になる。姿勢の安定度の判定は、体のふらつき、振動によるものであり、角速度センサ１１で検知される運動情報を用いるのが望ましい。
【００９５】
図１５−１と図１５−２は、実施例２にかかる姿勢安定度の判定の概要の一例を示す図である。図１５−１は、姿勢が安定している場合におけるピッチ角速度ωＹの時間に対する変化の一例を示す図であり、図１５−２は、姿勢が安定していない場合における歩行周期でのピッチ角速度ωＹの時間に対する変化の一例を示す図である。図１５−１と図１５−２では、ピッチ角速度ωＹの経時変化を示している。これらの図で、横軸は時間を表し、縦軸はピッチ角速度ωＹを示している。また、ここでは、歩行周期におけるピッチ角速度ωＹの振る舞いのうち、足の動きが止まる静止区間Ｒsを判別対象として選択している。
【００９６】
姿勢が安定している場合には、図１５−１に示されるように、静止区間Ｒsでは、ピッチ角速度ωＹの値は略０となっており、細かな変動はない。一方、姿勢が安定していない場合には、図１５−２に示されるように、静止区間Ｒsで、ピッチ角速度ωＹの値は、静止区間Ｒsでは平均値が略０となるが、プロファイルの形状は波打ったように変化している。実施例２では、この静止区間Ｒsでのピッチ角速度ωＹの分散を算出する。そして、姿勢が不安定とされる判定基準値よりも分散が小さい場合には、姿勢は安定していると判別し、判定基準値よりも分散が大きい場合には、姿勢は安定していないと判別する。なお、分散が所定の値と等しい場合には、姿勢は安定していると判別してもよいし、姿勢が安定していないと判別してもよい。
【００９７】
ここでは、ピッチ角速度ωＹを用いた姿勢の安定度の判別方法を説明したが、ロール角速度ωＸまたはヨー角速度ωＺを用いてユーザ１００の体の揺れの度合いから姿勢の安定度を判別してもよい。
【００９８】
なお、図１４では、図５に示した機能部と同一の機能を発揮する機能部に同一の符号を付し、その説明を省略する。ただし、データ送信処理部３６は、位置算出部３５１で算出される位置、または位置再設定部３５３で再設定される位置に加えて、安定度判別部３４６で判別される姿勢の安定度を時間情報およびユーザ１００を識別する情報とともに送信する。
【００９９】
また、位置算出部３５１では、実施例１とは異なり、加速度センサ１４で検知した運動情報を用いて、歩行周期でのユーザ１００の移動距離を取得する。移動距離は、加速度センサ１４から出力される信号に含まれる加速度の値を積分することによって求められる。
【０１００】
［処理の流れ］
実施例２での歩行軌跡の推定処理は、実施例１の図９のフローチャートに示した処理と基本的に同じであるが、図９のステップＳ１９の歩行周期間の運動情報取得処理とステップＳ２０の歩容判別処理とが実施例１の場合と異なる。以下では、これらの異なる部分について説明する。
【０１０１】
図１６は、実施例２にかかる運動情報取得処理の手順の一例を示すフローチャートである。運動情報取得処理では、まず、運動情報取得部３４１が、初期化処理を行う（ステップＳ９１）。初期化処理では、たとえば、３軸角速度センサからの３軸角速度および３軸加速度センサからの３軸加速度をバッファリングするデータバッファをクリアする。また、境界点フラグｐを「ｏｆｆ」に設定し、静止区間フラグｆを「ｏｎ」に設定する。
【０１０２】
ついで、運動情報取得部３４１は、通信部３１を介して動作検知デバイス１０の角速度センサ１１および加速度センサ１４からの運動情報を取得し、データバッファにバッファリングする（ステップＳ９２）。その後は、図１０のステップＳ５３〜Ｓ５７で説明した処理と同様の処理を実行する（ステップＳ９３〜Ｓ９７）。つまり、ピッチ角速度ωＹが静止区間にあり、境界点フラグｐが「ｏｆｆ」であり、静止区間フラグｆが「ｏｎ」である場合、あるいはピッチ角速度ωＹが静止区間にはなく、境界点フラグｐが「ｏｆｆ」であり、静止区間フラグｆが「ｏｆｆ」の場合には、運動情報取得部３４１は、運動情報のバッファリングを行う。また、ピッチ角速度ωＹが静止区間にあり、静止区間フラグｆが「ｏｆｆ」であり、境界点フラグｐが「ｏｆｆ」である場合に、運動情報取得部３４１は、境界点フラグｐを「ｏｎ」にし、歩行周期を区切る境界点Ｐを設定する。以上によって、運動情報取得処理が終了する。
【０１０３】
図１７は、実施例２にかかる歩容判別処理の手順の一例を示すフローチャートである。図１１のステップＳ７１〜Ｓ７３と同様に、歩容判別部３４２は、歩行周期におけるピッチ角速度ωＹの時系列データ（または波形）を時間について積分し、歩行周期におけるピークパターンを抽出し、抽出したピークパターンを用いて階段の昇降判定を行う（ステップＳ１１１〜Ｓ１１３）。
【０１０４】
ついで、安定度判別部３４６は、歩行周期内の静止区間における平均値と変動とを用いてユーザ１００の姿勢安定度を判別する（ステップＳ１１４）。一実施形態では、安定度判別部３４６は、静止区間における分散を算出し、分散を基準判定値と比較して姿勢安定度を判別する。その後、データ送信処理部３６は、姿勢安定度を安全監視情報として、位置管理サーバ６０に送信する（ステップＳ１１５）。以上によって、歩容判別処理が終了する。
【０１０５】
なお、位置管理サーバ６０では、ユーザ１００の安全監視情報をサービス提供者側情報処理端末８０に送信する。サービス提供者側情報処理端末８０では、ユーザ１００の姿勢安定度が不安定である場合には、ユーザ１００の情報処理装置３０に作業の中止を指示する情報を送信したり、あるいはユーザ１００の管理者の情報処理装置にユーザ１００の状況の確認を指示する情報を送信したりする。ユーザ１００の姿勢安定度が不安定である状態として、ユーザ１００が建造物２００内での作業者である場合には、疲労によってユーザ１００の体力が減退している状態、あるいはユーザ１００の体力を超えた作業をしている状態などを例示することができる。
【０１０６】
［効果の一側面］
上述してきたように、本実施例にかかる情報処理装置３０は、角速度センサ１１で検知した運動情報のうち、ユーザ１００が安定した状態では角速度が所定の値をとり、分散が略０となる範囲について、平均値とその変動とを用いてユーザ１００の姿勢安定度を判別する。そして、その結果を安全監視情報として位置管理サーバ６０に送信する。これによって、安全監視情報を用いて、各ユーザ１００の安全の状況、より具体的にはユーザ１００の体力に対する負荷の状況を把握することができる。その結果、ユーザ１００に過剰な負荷がかかるような作業を回避するなどのユーザ１００の姿勢安定度に応じた対策を講じることで、ユーザ１００の安全を確保することができるという効果を有する。
【実施例３】
【０１０７】
さて、これまで開示の情報処理システムに関する実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
【０１０８】
［位置算出処理を位置管理サーバで実行する変形例］
図１８は、実施例３にかかる情報処理システムの構成の一例を示す図である。実施例３では、ユーザ１００が所持する情報処理装置３０が存在せず、実施例１の情報処理装置３０で行われていた処理が位置管理サーバ６０で行われる。なお、図１８では、図１に示した構成と同一の構成には同一の符号を付し、その説明を省略する。ただし、動作検知デバイス１０の無線通信部１３は、通信装置２５０からビーコン信号を受信する機能と、角速度センサ１１を含むセンサで検知した運動情報と、ビーコン信号の強度および通信装置２５０の設置位置を示す情報と、を位置管理サーバ６０へとアクセスポイント５０を介して送信する機能と、を備える。
【０１０９】
図１９は、実施例３にかかる位置管理サーバの機能構成の一例を模式的に示すブロック図である。位置管理サーバ６０は、通信部６１と、制御部６２と、記憶部６３と、を備える。
【０１１０】
通信部６１は、角速度センサ１１またはこれに加えて加速度センサ１４での運動情報と、ビーコン信号と、を動作検知デバイス１０から受信する機能を有する。また、通信部６１は、サービス提供者側情報処理端末８０からの指示にしたがって、記憶部６３に記憶されるユーザ１００のデータをサービス提供者側情報処理端末８０に送信する機能も有する。通信部６１は、たとえばＮＩＣによって実現される。
【０１１１】
制御部６２は、特定部６４と、算出部６５と、位置提供部６６と、を備える。制御部６２は、中央処理装置、いわゆるＣＰＵとして実装される。ＣＰＵは、図示しない主記憶装置として実装されるＲＡＭのワークエリア上に、上記の情報処理装置３０の位置算出を実現するアプリケーションプログラムをプロセスとして展開する。ＲＡＭとして、ＤＲＡＭまたはＳＲＡＭなどを例示することができる。また、アプリケーションプログラムは、たとえばＲＯＭ，ＨＤＤに格納される。
【０１１２】
なお、制御部６２は、必ずしも中央処理装置として実装されずともよく、ＭＰＵまたはＭＣＵとして実装されることとしてもよい。また、制御部６２は、ＡＳＩＣまたはＦＰＧＡなどのハードワイヤードロジックによっても実現できる。
【０１１３】
特定部６４は、運動情報取得部６４１と、歩容判別部６４２と、昇降判定部６４３と、歩数カウント部６４４と、階層更新部６４５と、安定度判別部６４６と、を有する。また、算出部６５は、位置算出部６５１と、判定部６５２と、位置再設定部６５３と、を有する。
【０１１４】
運動情報取得部６４１と、歩容判別部６４２と、昇降判定部６４３と、歩数カウント部６４４と、階層更新部６４５と、安定度判別部６４６と、位置算出部６５１と、判定部６５２と、位置再設定部６５３と、は、それぞれ実施例１，２の情報処理装置３０の運動情報取得部３４１と、歩容判別部３４２と、昇降判定部３４３と、歩数カウント部３４４と、階層更新部３４５と、安定度判別部３４６と、位置算出部３５１と、判定部３５２と、位置再設定部３５３と、同じ機能を有するので、その説明を省略する。
【０１１５】
位置提供部６６は、サービス提供者側情報処理端末８０からユーザ１００の位置情報の取得指示を受けると、記憶部６３からユーザ１００の識別情報に対応付けて保存される位置データ６３２を抽出し、通信部６１を介してサービス提供者側情報処理端末８０に送信する。
【０１１６】
なお、図１９の位置管理サーバ６０の制御部６２は、実施例２で示される情報処理装置３０の構成に対応している。そのため、実施例１で説明した機能を実現するには、図１９の構成から安定度判別部６４６が除去される。
【０１１７】
記憶部６３は、階層データ６３１と、位置データ６３２と、を記憶する。階層データ６３１は、ある位置を座標の基準として、建造物２００の各階層での通路、部屋、通信装置２５０、階段２３０の上り口の位置および下り口の位置などの配置状態を示す情報である。階層データ６３１は、建造物２００の階層ごとに用意される。
【０１１８】
位置データ６３２は、位置算出部６５１で算出される、または位置再設定部６５３で再設定される位置を時間情報とともにユーザ１００ごとに記憶する。
【０１１９】
記憶部６３は、たとえばＨＤＤまたはＳＳＤとして実装される。
【０１２０】
また、位置管理サーバ６０で行われるユーザ１００の位置算出処理は、図９〜図１１、図１６〜図１７に示されるフローチャートで説明したものと同様であるので、説明を省略する。
【０１２１】
さらに、図１９で示した位置管理サーバ６０の各構成要素は、必ずしも物理的に図示のごとく構成されておらずともよい。すなわち、位置管理サーバ６０の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷または使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１２２】
また、上記の実施例で説明した各種の処理は、予め用意されたプログラムを、スマートフォン、タブレット端末、パーソナルコンピュータまたはワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有する位置算出プログラムを実行するコンピュータの一例について説明する。
【０１２３】
図２０は、実施例１〜実施例３にかかる位置算出プログラムを実行するコンピュータのハードウェア構成を示す図である。図２０に示すように、コンピュータ５００は、操作部５１０ａと、スピーカ５１０ｂと、ディスプレイ５２０と、通信部５３０と、ＣＰＵ５４０と、ＲＯＭ５５０と、ＨＤＤ５６０と、ＲＡＭ５７０とを有する。操作部５１０ａと、スピーカ５１０ｂと、ディスプレイ５２０と、通信部５３０と、ＣＰＵ５４０と、ＲＯＭ５５０と、ＨＤＤ５６０と、ＲＡＭ５７０とは、バス５８０を介して接続される。なお、ＨＤＤ５６０に代えて、ＳＳＤを用いてもよい。
【０１２４】
ＨＤＤ５６０には、上記の実施例１〜３で示した特定部３４，６４（運動情報取得部３４１，６４１、歩容判別部３４２，６４２、昇降判定部３４３，６４３、歩数カウント部３４４，６４４、階層更新部３４５，６４５、および安定度判別部３４６，６４６）、算出部３５，６５（位置算出部３５１，６５１、判定部３５２，６５２、および位置再設定部３５３，６５３）、データ送信処理部３６と同様の機能を発揮する位置算出プログラムが記憶される。この位置算出プログラムは、図５、図１４または図１９に示した特定部３４，６４（運動情報取得部３４１，６４１、歩容判別部３４２，６４２、昇降判定部３４３，６４３、歩数カウント部３４４，６４４、階層更新部３４５，６４５、および安定度判別部３４６，６４６）、算出部３５，６５（位置算出部３５１，６５１、判定部３５２，６５２、および位置再設定部３５３，６５３）、データ送信処理部３６の各構成要素と同様、統合または分離してもかまわない。すなわち、ＨＤＤ５６０には、必ずしも上記の実施例１〜３で示した全てのデータが格納されずともよく、処理に用いるデータがＨＤＤ５６０に格納されればよい。
【０１２５】
このような環境の下、ＣＰＵ５４０は、ＨＤＤ５６０から位置算出プログラムを読み出した上でＲＡＭ５７０へロードする。この結果、位置算出プログラムは、位置算出プロセスとして機能する。この位置算出プロセスは、ＲＡＭ５７０が有する記憶領域のうち位置算出プロセスに割り当てられた領域にＨＤＤ５６０から読み出した各種データをロードし、このロードした各種データを用いて各種の処理を実行する。たとえば、位置算出プロセスが実行する処理の一例として、図９、図１０、図１１、図１６または図１７に示す処理などが含まれる。なお、ＣＰＵ５４０では、必ずしも上記の実施例１〜３で示した全ての処理部が動作せずともよく、実行対象とする処理に対応する処理部が仮想的に実現されればよい。
【０１２６】
なお、上記の位置算出プログラムは、必ずしも最初からＨＤＤ５６０またはＲＯＭ５５０に記憶されておらずともかまわない。たとえば、コンピュータ５００に挿入されるフレキシブルディスク、いわゆるＦＤ、ＣＤ（Compact  Disc）−ＲＯＭ、ＤＶＤ（Digital  Versatile  DiscまたはDigital  Video  Disc）、光磁気ディスク、ＩＣ（Integrated  Circuit）カードなどの「可搬用の物理媒体」に位置算出プログラムを記憶させる。そして、コンピュータ５００がこれらの可搬用の物理媒体から位置算出プログラムを取得して実行するようにしてもよい。また、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータ５００に接続される他のコンピュータまたはサーバ装置などに位置算出プログラムを記憶させておき、コンピュータ５００がこれらから位置算出プログラムを取得して実行するようにしてもよい。
【０１２７】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１２８】
（付記１）第１および第２の階層にそれぞれ設置される発信器から前記発信器を特定する識別子を含むビーコン信号を受信する受信部と、
モーションセンサからの運動情報を基にして、ユーザの位置する階層を特定する特定部と、
前記受信部が受信した前記ビーコン信号のうちの前記特定部により特定された前記ユーザの位置する階層に対応する前記ビーコン信号を選択すると共に、当該ビーコン信号から得られる位置情報を基にしてユーザの位置を算出する算出部と、
を有する情報処理装置。
【０１２９】
（付記２）前記特定部は、前記運動情報に基づいて前記ユーザの歩容の判別を行い、前記歩容の判別の結果に基づいて前記ユーザによる階段の昇降がなされたかを判定し、前記ユーザの位置する階層を特定することを特徴とする付記１に記載の情報処理装置。
【０１３０】
（付記３）前記モーションセンサは、前記ユーザの腰以下の下半身に固定される３軸角速度センサを含み、
前記特定部は、前記３軸角速度センサによって検知された前記ユーザの進行方向および高さ方向に垂直な方向の周りの角速度を、歩行周期の間に時間について積分したプロファイルを歩行周期ごとに作成し、前記プロファイルの形状に基づいて前記歩容を判別することを特徴とする付記２に記載の情報処理装置。
【０１３１】
（付記４）前記特定部は、前記３軸角速度センサからの前記運動情報を用いて前記歩行周期を検知し、
前記算出部は、前記運動情報に基づいて得られる前記ユーザの変位角と、検知された前記歩行周期に対応する移動距離と、を用いて、前記位置を算出することを特徴とする付記３に記載の情報処理装置。
【０１３２】
（付記５）前記特定部は、前記３軸角速度センサからの前記運動情報を用いて前記ユーザの姿勢の安定度をさらに判別することを特徴とする付記３または４に記載の情報処理装置。
【０１３３】
（付記６）前記特定部は、前記歩容の判別の結果に基づいて前記ユーザによる前記階段の昇降の開始または終了を検知し、
前記算出部は、前記特定部によって、前記ユーザによる階段の昇降の開始または終了が検知されると、前記階段の上り口または前記階段の下り口に、前記ユーザの位置を再設定することを特徴とする付記２から５のいずれか１つに記載の情報処理装置。
【０１３４】
（付記７）第１および第２の階層にそれぞれ設置される発信器から前記発信器を特定する識別子を含むビーコン信号を受信し、
モーションセンサからの運動情報を基にして、ユーザの位置する階層を特定し、
受信した前記ビーコン信号のうちの特定された前記ユーザの位置する階層に対応する前記ビーコン信号を選択すると共に、当該ビーコン信号から得られる位置情報を基にしてユーザの位置を算出する、
処理をコンピュータが実行する位置算出方法。
【０１３５】
（付記８）前記階層の特定では、前記運動情報に基づいて前記ユーザの歩容の判別を行い、前記歩容の判別の結果に基づいて前記ユーザによる階段の昇降がなされたかを判定し、前記ユーザの位置する階層を特定する付記７に記載の位置算出方法。
【０１３６】
（付記９）前記モーションセンサは、前記ユーザの腰以下の下半身に固定される３軸角速度センサを含み、
前記階層の特定では、前記３軸角速度センサによって検知された前記ユーザの進行方向および高さ方向に垂直な方向の周りの角速度を、歩行周期の間に時間について積分したプロファイルを歩行周期ごとに作成し、前記プロファイルの形状に基づいて前記歩容を判別する付記８に記載の位置算出方法。
【０１３７】
（付記１０）前記階層の特定では、前記３軸角速度センサからの前記運動情報を用いて前記歩行周期を検知し、
前記位置の算出では、前記運動情報に基づいて得られる前記ユーザの変位角と、検知された前記歩行周期に対応する移動距離と、を用いて、前記位置を算出する付記９に記載の位置算出方法。
【０１３８】
（付記１１）前記階層の特定では、前記３軸角速度センサからの前記運動情報を用いて前記ユーザの姿勢の安定度をさらに判別する付記９または１０に記載の位置算出方法。
【０１３９】
（付記１２）前記階層の特定では、前記歩容の判別の結果に基づいて前記ユーザによる前記階段の昇降の開始または終了を検知し、
前記位置の算出では、前記階層の特定で前記ユーザによる階段の昇降の開始または終了が検知されると、前記階段の上り口または前記階段の下り口に、前記ユーザの位置を再設定する付記８から１１のいずれか１つに記載の位置算出方法。
【０１４０】
（付記１３）第１および第２の階層にそれぞれ設置される発信器から前記発信器を特定する識別子を含むビーコン信号を受信し、
モーションセンサからの運動情報を基にして、ユーザの位置する階層を特定し、
受信した前記ビーコン信号のうちの特定された前記ユーザの位置する階層に対応する前記ビーコン信号を選択すると共に、当該ビーコン信号から得られる位置情報を基にしてユーザの位置を算出する、
処理をコンピュータに実行させる位置算出プログラム。
【０１４１】
（付記１４）前記階層の特定では、前記運動情報に基づいて前記ユーザの歩容の判別を行い、前記歩容の判別の結果に基づいて前記ユーザによる階段の昇降がなされたかを判定し、前記ユーザの位置する階層を特定する付記１３に記載の位置算出プログラム。
【０１４２】
（付記１５）前記モーションセンサは、前記ユーザの腰以下の下半身に固定される３軸角速度センサを含み、
前記階層の特定では、前記３軸角速度センサによって検知された前記ユーザの進行方向および高さ方向に垂直な方向の周りの角速度を、歩行周期の間に時間について積分したプロファイルを歩行周期ごとに作成し、前記プロファイルの形状に基づいて前記歩容を判別する付記１４に記載の位置算出プログラム。
【０１４３】
（付記１６）前記階層の特定では、前記３軸角速度センサからの前記運動情報を用いて前記歩行周期を検知し、
前記位置の算出では、前記運動情報に基づいて得られる前記ユーザの変位角と、検知された前記歩行周期に対応する移動距離と、を用いて、前記位置を算出する付記１５に記載の位置算出プログラム。
【０１４４】
（付記１７）前記階層の特定では、前記３軸角速度センサからの前記運動情報を用いて前記ユーザの姿勢の安定度をさらに判別する付記１５または１６に記載の位置算出プログラム。
【０１４５】
（付記１８）前記階層の特定では、前記歩容の判別の結果に基づいて前記ユーザによる前記階段の昇降の開始または終了を検知し、
前記位置の算出では、前記階層の特定で前記ユーザによる階段の昇降の開始または終了が検知されると、前記階段の上り口または前記階段の下り口に、前記ユーザの位置を再設定する付記１４から１７のいずれか１つに記載の位置算出プログラム。
【符号の説明】
【０１４６】
１  情報処理システム
１０  動作検知デバイス
１１  角速度センサ
１２，３２，６２  制御部
１３  無線通信部
１４  加速度センサ
３０  情報処理装置
３１，６１  通信部
３３，６３  記憶部
３４，６４  特定部
３５，６５  算出部
３６  データ送信処理部
５０  アクセスポイント
６０  位置管理サーバ
６６  位置提供部
８０  サービス提供者側情報処理端末
９０  ネットワーク
１００  ユーザ
２００  建造物
２１０，２２０  階層
２３０  階段
２５０，２５０−１〜２５０−３  通信装置
３３１，６３１  階層データ
３３２，６３２  位置データ
３４１，６４１  運動情報取得部
３４２，６４２  歩容判別部
３４３，６４３  昇降判定部
３４４，６４４  歩数カウント部
３４５，６４５  階層更新部
３４６，６４６  安定度判別部
３５１，６５１  位置算出部
３５２，６５２  判定部
３５３，６５３  位置再設定部
【図１】
2018063163.tif 000003
【図２】
2018063163.tif 000004
【図３】
2018063163.tif 000005
【図４】
2018063163.tif 000006
【図５】
2018063163.tif 000007
【図６−１】
2018063163.tif 000008
【図６−２】
2018063163.tif 000009
【図７】
2018063163.tif 000010
【図８】
2018063163.tif 000011
【図９】
2018063163.tif 000012
【図１０】
2018063163.tif 000013
【図１１】
2018063163.tif 000014
【図１２】
2018063163.tif 000015
【図１３】
2018063163.tif 000016
【図１４】
2018063163.tif 000017
【図１５−１】
2018063163.tif 000018
【図１５−２】
2018063163.tif 000019
【図１６】
2018063163.tif 000020
【図１７】
2018063163.tif 000021
【図１８】
2018063163.tif 000022
【図１９】
2018063163.tif 000023
【図２０】
2018063163.tif 000024