(57)【要約】【課題】  位置推定精度の低下を抑制することができる装置、方法、プログラム等を提供する。【解決手段】  この装置は、複数の機器との通信を制御する通信制御装置であり、一の機器以外の他の機器の移動に関係する情報を取得する取得手段と、取得された情報に基づき、他の機器の一定以上の移動の有無を判定する判定手段と、判定結果に応じて、一の機器と他の機器の少なくとも１つの位置を推定する時間間隔を変更する制御手段とを含む。【選択図】  図８
2019095332.tif 000002
【特許請求の範囲】
【請求項１】
複数の機器との通信を制御する通信制御装置であって、
一の機器以外の他の機器の移動に関係する情報を取得する取得手段と、
前記取得手段により取得された前記情報に基づき、前記他の機器の一定以上の移動の有無を判定する判定手段と、
前記判定手段による判定結果に応じて、前記一の機器と前記他の機器の少なくとも１つの位置を推定する時間間隔を変更する制御手段とを含む、通信制御装置。
【請求項２】
前記制御手段は、前記判定手段により移動なしと判定された他の機器に対し、前記時間間隔を広げ、前記一の機器に対し、前記時間間隔を狭くするように設定変更する、請求項１に記載の通信制御装置。
【請求項３】
各機器との通信において取得される各情報に基づいて該各機器の位置を推定する位置推定手段を含む、請求項１または２に記載の通信制御装置。
【請求項４】
前記取得手段は、前記他の機器の移動に関係する情報として、該他の機器の位置を推定した過去の位置情報を取得し、
前記判定手段は、前記位置推定手段により推定される現在の位置情報と、前記取得手段により取得された前記過去の位置情報とから算出される移動距離が閾値以下か否かを判定する、請求項３に記載の通信制御装置。
【請求項５】
前記取得手段は、前記他の機器の移動に関係する情報として、該他の機器の種別を示す種別情報を取得し、
前記判定手段は、前記取得手段により取得された前記種別情報に基づき、前記他の機器の一定以上の移動の有無を判定する、請求項１〜４のいずれか１項に記載の通信制御装置。
【請求項６】
前記他の機器に対して移動の確認を指示する指示手段を含み、
前記取得手段は、前記他の機器の移動に関係する情報として、該他の機器が確認した移動に関する情報を取得する、請求項１〜５のいずれか１項に記載の通信制御装置。
【請求項７】
前記他の機器に対して移動速度を計測するように指示する指示手段を含み、
前記取得手段は、前記他の機器の移動に関係する情報として、該他の機器が計測した移動速度を取得し、
前記判定手段は、前記取得手段により取得された前記移動速度が閾値以下か否かを判定する、請求項１〜５のいずれか１項に記載の通信制御装置。
【請求項８】
通信制御装置により複数の機器との通信を制御する通信制御方法であって、
前記通信制御装置は、取得手段と、判定手段と、制御手段とを含み、
前記取得手段が、一の機器以外の他の機器の移動に関係する情報を取得するステップと、
前記判定手段が、前記取得手段により取得された前記情報に基づき、前記他の機器の一定以上の移動の有無を判定するステップと、
前記制御手段が、前記判定手段による判定結果に応じて、前記一の機器と前記他の機器の少なくとも１つの位置を推定する時間間隔を変更するステップとを含む、通信制御方法。
【請求項９】
請求項８に記載の通信制御方法に含まれる各ステップをコンピュータに実行させるためのプログラム。
【請求項１０】
請求項１〜７のいずれか１項に記載の通信制御装置と、前記通信制御装置により通信が制御される複数の機器とを含む、通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の機器との通信を制御する通信制御装置、通信制御方法、その制御をコンピュータに実行させるためのプログラムおよび通信システムに関する。
【背景技術】
【０００２】
スマートフォン等のデバイスの位置の推定には、GPS(Global Positioning System)衛星やIMES(Indoor Messaging System)からの電波を用いる方法（以下、第１の方法と呼ぶ。）と、基地局からの電波を用いる方法（以下、第２の方法と呼ぶ。）が知られている。
【０００３】
ここで、第１の方法で用いられる電波は、取りこぼしがないため、確実に位置を推定することができるが、位置を推定する時間間隔（位置推定間隔）が長いため、人が携帯する等してデバイスが移動する場合、その位置推定精度が低下するという特徴を有している。第２の方法で用いられる電波は、取りこぼしがあるため、位置を推定することができない場合があるが、位置推定間隔が短いので、デバイスが移動する場合であっても、その位置推定精度が高いという特徴を有している。
【０００４】
このような特徴から、通常は、第１の方法を使用して位置を推定し、デバイスが移動する場合に第２の方法に切り替えて、移動するデバイスの位置推定精度を向上させる方法が知られている（例えば、特許文献１参照）。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上記の特許文献１に記載の方法では、一のデバイス（対象のデバイス）につき、第２の方法に切り替えた後に位置推定に失敗した場合、再び第１の方法を使用して位置を推定することになり、位置推定精度が低下するという問題があった。
【０００６】
本発明は、上記の問題に鑑みなされたものであり、対象のデバイスの位置推定精度を向上させることができる装置、方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、発明の一実施形態では、複数の機器との通信を制御する通信制御装置であって、
一の機器以外の他の機器の移動に関係する情報を取得する取得手段と、
取得手段により取得された情報に基づき、他の機器の一定以上の移動の有無を判定する判定手段と、
判定手段による判定結果に応じて、一の機器と他の機器の少なくとも１つの位置を推定する時間間隔を変更する制御手段とを含む、通信制御装置を提供する。
【発明の効果】
【０００８】
本発明によれば、対象のデバイスの位置推定精度を向上させることができる。
【図面の簡単な説明】
【０００９】
【図１】通信システムのシステム構成の一例を示した図。
【図２】通信システムが構築される環境の一例を示した図。
【図３】通信システムを構成するデバイスのハードウェア構成の一例を示した図。
【図４】通信システムを構成するゲートウェイのハードウェア構成の一例を示した図。
【図５】通信システムを構成するサーバのハードウェア構成の一例を示した図。
【図６】デバイスの機能構成の一例を示したブロック図。
【図７】ゲートウェイの機能構成の一例を示したブロック図。
【図８】サーバの機能構成の一例を示したブロック図。
【図９】サーバおよびデバイスが保持する情報の一例を示した図。
【図１０】サーバが保持する詳細な情報の一例を示した図。
【図１１】デバイスとの通信を制御し、対象のデバイスの位置を推定する処理の第１の例を示したフローチャート。
【図１２】デバイスの種別を判定する処理の第１の例を示したフローチャート。
【図１３】デバイスとの通信を制御し、対象のデバイスの位置を推定する処理の第２の例を示したフローチャート。
【図１４】デバイスとの通信を制御し、対象のデバイスの位置を推定する処理の第３の例を示したフローチャート。
【図１５】デバイスとの通信を制御し、対象のデバイスの位置を推定する処理の第４の例を示したフローチャート。
【図１６】デバイスの種別を判定する処理の第２の例を示したフローチャート。
【発明を実施するための形態】
【００１０】
近年、スマートフォン、タブレット端末、PC、プロジェクタ、デジタルカメラ、MFP(Multi-Function Peripheral)等のIT関連機器のほか、IoT(internet of Things)により各種センサを搭載した物もインターネットに接続し、物の情報や各種センサが収集した情報をインターネット経由で利用できるようになっている。
【００１１】
物の情報としては、その物の位置情報があり、その物の位置を推定するために、GPS衛星やIMESからの電波を用いる第１の方法や、基地局からの電波を用いる第２の方法が使用される。位置の推定は、従来の方法と同様に、第１の方法を使用して行い、推定する対象の物が移動する場合は、位置推定精度を高めるために、第２の方法に切り替えることができる。第２の方法で位置推定が失敗した場合は、再び第１の方法に切り替え、第１の方法で位置を推定することができる。なお、位置の推定は、物に限らず、人についても行うことができる。
【００１２】
図１は、通信システムのシステム構成の一例を示した図である。通信システムは、複数のデバイス１０と、第１の電波により各デバイス１０と通信する複数の第１のゲートウェイ１１と、第２の電波により各デバイス１０と通信する複数の第２のゲートウェイ１２と、複数の第１のゲートウェイ１１および複数の第２のゲートウェイ１２と通信するサーバ１３とを含む。
【００１３】
第１の電波は、第１の方法で用いられる電波で、取りこぼしがないため、位置推定に失敗しないが、デバイス１０が移動する場合、位置推定精度が低いため、動きに弱い電波である。第１の電波としては、例えばLPWA(Low Power Wide Area)という低電力広エリアの通信を実現する通信規格の１つであるLoRa（登録商標）の電波等が挙げられる。
【００１４】
第２の電波は、第２の方法で用いられる電波で、取りこぼしがあるため、位置推定に失敗することがあるが、デバイス１０が移動する場合でも、位置推定精度が高いため、動きに強い電波である。第２の電波としては、例えば微弱無線の電波等が挙げられる。
【００１５】
通信システムは、第１の電波および第２の電波以外の性質が異なる電波により通信するゲートウェイを含んでいてもよく、その他の機器を含んでいてもよい。ゲートウェイは、異なるプロトコル（通信のルールや規格）をもつデータの通信を可能にする装置である。
【００１６】
デバイス１０は、第１の電波により第１のゲートウェイ１１と通信し、第２の電波により第２のゲートウェイ１２と通信することが可能で、自身の情報を保持し、自身の動作を制御する。デバイス１０は、このような機能を備えるものであればいかなる装置であってもよく、例えばICタグ等とすることができる。自身の情報であるデバイス１０の情報は、デバイス１０を識別するための識別情報（ID）を含み、必要に応じて、デバイスの種別を示す種別情報を含むことができ、センサを搭載する場合、センサにより計測された情報を含むことができる。また、デバイス１０の情報は、各ゲートウェイとの通信の通信情報を含み、通信情報には、各電波を使用して通信する際に用いられる通信パラメータが含まれる。
【００１７】
第１のゲートウェイ１１は、サーバ１３と通信し、第１の電波によりデバイス１０と通信し、デバイス１０との通信情報を保持し、自身の動作を制御する。第２のゲートウェイ１２も同様に、サーバ１３と通信し、デバイス１０との通信情報を保持し、自身の動作を制御し、第２の電波によりデバイス１０と通信する。この通信情報も、通信パラメータを含む。
【００１８】
サーバ１３は、第１のゲートウェイ１１および第２のゲートウェイ１２と通信し、各デバイス１０の情報を保持し、サーバ１３の動作のほか、各デバイス１０、第１のゲートウェイ１１、第２のゲートウェイ１２を制御する。また、サーバ１３は、各ゲートウェイで収集された情報を基に各デバイス１０の位置を推定し、その位置情報を提示する。
【００１９】
図２は、通信システムが設置される環境の一例を示した図である。この環境は、各階に複数の部屋を有するオフィスビル等の建物とされている。デバイス１０は、人に取り付けられ、無線により第１のゲートウェイ１１、第２のゲートウェイ１２に接続可能なデバイス１０ａと、物に取り付けられ、無線により第１のゲートウェイ１１、第２のゲートウェイ１２に接続可能なデバイス１０ｂとを含む。デバイス１０ａ、１０ｂは、電池を搭載し、電池から給電されて動作する。以下、デバイス１０ａ、１０ｂは、特に区別しない場合、単に「デバイス１０」と表記する。
【００２０】
各部屋の天井には、第１のゲートウェイ１１と第２のゲートウェイ１２の両方または第２のゲートウェイ１２のみが設置されている。第１のゲートウェイ１１は通信範囲が広い第１の電波を使用するため、部屋を１つ置きに設置され、第２のゲートウェイ１２は通信範囲が狭い第２の電波を使用するため、各部屋に設置されている。
【００２１】
サーバ１３は、任意の部屋に設置され、複数の第１のゲートウェイ１１、複数の第２のゲートウェイ１２の１つと通信し、各ゲートウェイが収集した情報を取得し、その情報を基にデバイス１０の位置を推定する。位置を推定する方法としては、ゲートウェイが収集した情報として、IMESの位置情報とデバイスIDとを取得し、IMESの位置をそのデバイスIDをもつデバイスの位置と推定する方法が挙げられる。IMESは、GPS電波を受信できない屋内での位置測位を補完するシステムで、位置情報をメッセージとして直接送信するものである。なお、この方法は一例であるので、これに限られるものではなく、デバイス１０がGPS衛星や基地局から受信した情報（衛星や基地局の位置情報、電波の発信時刻等）や計測した情報（電波の受信時刻、電波強度等）をゲートウェイが収集し、その情報を基に位置を推定してもよい。サーバ１３は、各デバイス１０の位置推定結果をディスプレイ等に表示することにより、システムの利用者に対してその結果を提示する。
【００２２】
この環境では、位置推定を行うべきデバイス１０が数多く存在し、それらのデバイス１０が、移動がない場合や、移動する場合でも位置推定が失敗した場合、第１の電波により通信するため、第１の電波の通信帯域が圧迫されている。
【００２３】
第１の電波による通信の通信速度（データレート）は、位置推定間隔と関係し、データレートを上げれば位置推定間隔を狭くすることができ、データレートを下げれば位置推定間隔を広くすることができる。データレートは、通信パラメータとして設定される４つの設定値、すなわちSF(Spread Factor)、BW(Band Width)、CDR(Coding Rate)、Optimiseの設定値の組み合わせにより決定される。したがって、データレートを上げ下げしたい場合、これらのパラメータを変更すればよい。
【００２４】
ここで、SFは、ビットレートに対するチップレートの比を表す拡散率である。ビットレートは、１秒間に送受信できるデータ量である。チップレートは、搬送波にデータを載せて一次変調を行い、一次変調された搬送波に擬似雑音信号（チップ）を適用して二次変調を行い、帯域を拡大させるときの１秒当たりのチップ数である。SFは、大きくなるほど、通信可能な距離が長くなり、受信感度が向上するが、通信速度は低下する。
【００２５】
BWは、電波の周波数の範囲（帯域幅）である。BWは、大きくなるほど、通信速度が速くなる。CDRは、符号化率（コーディングレート）で、データに付加する符号の冗長度を示す。CDRは、大きくなるほど、その冗長度が高く、情報量が多くなるため、通信速度が低下する。Optimiseは、通信の最適化を実施するか否かを示すもので、実施する場合、データに対して非可逆圧縮等の変換を行う。このため、OptimiseをONにし、最適化を実施することで、通信速度が低下する。
【００２６】
データレートの上げ下げについて、具体的な例をもって説明する。あるデバイスのBWが250kHz、SFが10、CDRが2、OptimiseがONであったとする。データレートを上げたい場合、以下の４つの方法のいずれかにより実施することができる。
（１）BWを250kHzより大きい500kHzにする。
（２）CDRを2より小さい1にする。
（３）OptimiseをOFFにする。
（４）上記（１）〜（３）のいずれか２つまたは全部を実施する。
【００２７】
データレートを下げたい場合、以下の４つの方法のいずれかにより実施することができる。
（１’）SFを10より大きい11、12のいずれかにする。
（２’）BWを250kHzより小さい125kHzにする。
（３’）CDRを2より大きい3、4のいずれかにする。
（４’）上記（１’）〜（３’）のいずれか２つまたは全部を実施する。
【００２８】
なお、上記（４）を実施することで、データレートを大きく上げることができ、上記（４’）を実施することで、データレートを大きく下げることができる。
【００２９】
次に、図３を参照して、通信システムを構成するデバイス１０のハードウェア構成について説明する。デバイス１０は、ハードウェアとして、CPU２０、メモリ２１、センサ２２、アンテナ２３を含む。
【００３０】
CPU２０は、デバイス１０の動作を制御し、メモリ２１は、デバイス１０の情報を記憶する。メモリ２１は、CPU２０がデバイス１０の動作を制御するためのプログラムを記憶することができ、CPU２０に対して作業領域を提供する。センサ２２は、デバイス１０の状態を計測する装置で、例えば加速度を計測する加速度センサ等とされる。アンテナ２３は、第１のゲートウェイ１１や第２のゲートウェイ１２との間で電波を送受信する。
【００３１】
図４を参照して、通信システムを構成する第１のゲートウェイ１１のハードウェア構成について説明する。なお、第２のゲートウェイ１２は、第１のゲートウェイ１１と同様のハードウェア構成であるため、第２のゲートウェイ１２についての説明は省略する。
【００３２】
第１のゲートウェイ１１は、ハードウェアとして、CPU３０、ROM３１、RAM３２、HDD３３、通信I/F３４、アンテナ３５を含む。CPU３０は、第１のゲートウェイ１１の動作を制御する。ROM３１は、第１のゲートウェイ１１を起動するためのブートプログラムや他のハードウェアを制御するファームウェア等を記憶する。RAM３２は、CPU３０に対して作業領域を提供する。HDD３３は、複数のデバイス１０と通信情報に従って通信し、取得したデバイス１０の情報をサーバ１３に送信する処理を実行するためのプログラムやOS、その通信情報等を記憶する。通信I/F３４は、サーバ１３と通信するためのインタフェースである。アンテナ３５は、デバイス１０との間で電波を送受信する。
【００３３】
図５を参照して、通信システムを構成するサーバ１３のハードウェア構成について説明する。サーバ１３は、ハードウェアとして、CPU４０、ROM４１、RAM４２、HDD４３、通信I/F４４、入出力I/F４５、入力装置４６、表示装置４７を含む。
【００３４】
CPU４０は、サーバ１３の動作を制御する。ROM４１は、サーバ１３を起動するためのブートプログラムや他のハードウェアを制御するファームウェア等を記憶する。RAM４２は、CPU４０に対して作業領域を提供する。HDD４３は、複数のデバイス１０との通信を制御し、各デバイス１０の位置を推定する処理を実行するためのプログラムやOS、過去に推定した位置の位置情報等を記憶する。通信I/F３４は、第１のゲートウェイ１１、第２のゲートウェイ１２と通信するためのインタフェースである。
【００３５】
入力装置４６は、システムの利用者からの情報の入力を受け付け、表示装置４７は、各デバイス１０の位置情報を表示する。入出力I/F４５は、入力装置４６からの入力および表示装置４７への表示を制御する。サーバ１３は、そのほか、音声入力装置、音声出力装置、撮像装置等を備えていてもよい。
【００３６】
図６は、デバイス１０の機能構成を示したブロック図である。デバイス１０は、CPU２０がメモリ２１に記憶されたプログラムを読み出し、実行することにより、デバイス１０を以下の機能部として機能させる。このため、デバイス１０は、以下の機能部を備えていると考えることができる。なお、以下の機能部は、一部または全部が集積回路等のハードウェアにより構成されていてもよい。
【００３７】
デバイス１０は、機能部として、通信部５０、取得部５１、記憶部５２、制御部５３を含む。通信部５０は、第１のゲートウェイ１１と第１の電波により通信し、第２のゲートウェイ１２と第２の電波により通信する。その際、通信部５０は、デバイス１０の情報に含まれる通信情報に従って通信する。取得部５１は、デバイス１０の加速度等の移動に関係する情報を取得する。また、取得部５１は、IMESの位置情報等も取得する。
【００３８】
記憶部５２は、デバイスID、通信情報、取得部５１により取得された情報等をデバイス１０の情報として記憶する。制御部５３は、デバイス１０の動作を制御し、通信部５０に対して、デバイス１０の情報をサーバ１３へ送信するように指示する。
【００３９】
図７は、第１のゲートウェイ１１の機能構成を示したブロック図である。なお、第２のゲートウェイ１２は、第１のゲートウェイ１１と同様の機能構成とすることができるので、その機能構成についての説明は省略する。第１のゲートウェイ１１は、CPU３０がHDD３３に記憶されたプログラムを読み出し、実行することにより、第１のゲートウェイ１１を以下の機能部として機能させる。このため、第１のゲートウェイ１１は、以下の機能部を備えていると考えることができる。なお、以下の機能部は、一部または全部が集積回路等のハードウェアにより構成されていてもよい。
【００４０】
第１のゲートウェイ１１は、機能部として、通信部６０、記憶部６１、制御部６２を含む。通信部６０は、デバイス１０と第１の電波または第２の電波により通信を行い、サーバ１３とも通信を行う。記憶部６１は、デバイス１０との通信情報を記憶する。通信部６０は、記憶部６１に記憶された通信情報に従ってデバイス１０と通信する。
【００４１】
制御部６２は、第１のゲートウェイ１１の動作を制御し、通信部６０に対して、デバイス１０から受信した情報をサーバ１３へ送信するように指示する。また、制御部６２は、サーバ１３からの指示を受けて、記憶部６１に記憶された通信情報を変更し、通信部６０を介してデバイス１０に対して通信情報を変更するように指示する。
【００４２】
図８は、サーバ１３の機能構成を示したブロック図である。サーバ１３も、第１のゲートウェイ１１と同様、CPU４０がHDD４３に記憶されたプログラムを読み出し、実行することにより、サーバ１３を以下の機能部として機能させる。このため、サーバ１３も、以下の機能部を備えていると考えることができる。なお、以下の機能部は、一部または全部が集積回路等のハードウェアにより構成されていてもよい。
【００４３】
サーバ１３は、機能部として、通信部７０、記憶部７１、判定部７２、制御部７３、位置推定部７４を含む。通信部７０は、取得部として機能し、各デバイス１０から送信された情報を、第１のゲートウェイ１１または第２のゲートウェイ１２を介して受信し、取得する。
【００４４】
記憶部７１は、各デバイス１０から取得した情報や位置推定処理により推定した位置の位置情報を、各デバイス１０の情報として記憶する。判定部７２は、各デバイス１０の一定以上の移動の有無を判定する。制御部７３は、サーバ１３の動作、第１のゲートウェイ１１、第２のゲートウェイ１２、各デバイス１０との通信を制御する。通信の制御には、判定部７２による判定結果に応じて、一のデバイス（対象のデバイス）１０と対象のデバイス１０以外の他のデバイス１０の少なくとも１つの位置を推定する位置推定間隔を変更することが含まれる。このため、制御部７３は、通信部７０を介して第１のゲートウェイ１１と位置推定間隔を変更すべきデバイス１０に対し、通信情報を変更するように指示する。
【００４５】
位置推定部７４は、制御部７３により変更された位置推定間隔で、対象のデバイス１０と他のデバイス１０の少なくとも１つの各位置を推定する。また、位置推定部７４は、対象のデバイス１０と他のデバイス１０の少なくとも１つ以外のデバイス１０に対しては、設定された位置推定間隔で位置を推定する。位置推定部７４は、各デバイス１０につき推定した位置情報をディスプレイ等の表示装置に表示させ、記憶部７１に記憶することができる。
【００４６】
図６に示したデバイス１０の記憶部５２、図８に示したサーバ１３の記憶部７１に記憶される情報について、図９を参照して詳細に説明する。デバイス１０の記憶部５２には、図８（ａ）に示すように、取得部５１により取得された移動に関係する情報として、例えば加速度やデバイス１０の種別を示す種別情報等が記憶される。
【００４７】
加速度は、デバイス１０の一定以上の移動の有無、すなわちデバイス１０に動きがあるかどうかを判定する処理に使用されるものである。種別情報も、デバイス１０に動きがあるかどうかを判定する処理に使用されるものである。これらは、いずれも判定処理に使用されるもので、いずれか一方の情報があれば判定することができるので、記憶部５２には、いずれか一方のみが記憶されていてもよい。なお、種別情報は、システムの利用者が任意に設定することができる。
【００４８】
種別情報は、利用者が人の位置推定精度は高くしたいが、物の位置推定精度は低くてもよいと考える場合、「人」、「物」という２つの情報とすることができる。このような情報とすることで、特定の種別のデバイス１０の位置を高い精度で推定することができる。
【００４９】
サーバ１３の記憶部７１には、図８（ｂ）に示すように、通信部７０により各デバイス１０から取得した上記の種別情報、位置推定部７４により推定された各デバイス１０の過去の位置情報が記憶される。種別情報や過去の位置情報は、各デバイス１０に動きがあるかどうかを判定する処理に使用されるものである。
【００５０】
記憶部７１には、各デバイス１０に動きがあるかどうかを確認させるための状態確認命令が記憶されていてもよい。サーバ１３は、各デバイス１０に対して、状態確認命令をそれぞれ送信し、確認させ、確認結果を受信し、受信した確認結果に基づき、各デバイス１０に動きがあるかどうかを判定することも可能である。このため、サーバ１３は、通信部７０に対して状態確認命令を送信し、確認結果を受信するように指示する指示部を含むことができる。
【００５１】
サーバ１３の記憶部７１に記憶される各デバイス１０の情報の一例を、図１０に示す。各デバイス１０は、デバイス１０の識別情報として、デバイスIDをもつ。識別情報は、MAC(Media Access Control)アドレスやデバイス名等であってもよい。記憶部６１には、デバイスID、取得した種別情報、今回推定した位置情報、過去の位置情報として前回推定した位置情報が記憶される。位置情報は、位置推定結果の中心点で、建物の任意の位置を基点として、その基点からその中心点の方向や距離とされる。具体的には、位置情報は、基点に対して任意の一方向を縦方向とし、それに垂直な方向を横方向とした場合の、基点からの縦方向の距離、横方向の距離とすることができる。
【００５２】
過去の位置情報は、新しく位置が推定されるたびに、推定された新しい位置の位置情報を今回の位置情報とし、それまで今回の位置情報として格納されていたものを前回の位置情報とし、それまで前回の位置情報として格納されていたものを消去することができる。なお、過去の数回分の位置情報については保持しておき、それらの平均を過去の位置情報としてもよい。
【００５３】
判定部７２は、記憶部７１に記憶された各デバイス１０の情報に基づき、各デバイス１０に動きがない、あるいは動きが小さいかを判定し、制御部７３は、動きがない、あるいは動きが小さいと判定されたデバイスのデータレートを下げることができる。そして、制御部７３は、対象のデバイスのデータレートを上げることができる。このようにして、サーバ１３は、対象のデバイスに対してデータレートを上げ、対象のデバイスからの情報の提供回数を増加させることで、失敗はないが動きに弱い電波である第１の電波でも、位置推定精度を向上させることができる。
【００５４】
図１１を参照して、サーバ１３が実行する通信を制御し、対象のデバイスの位置を推定する処理の第１の例について説明する。第１の例は、図９に示すデバイスの情報のうちの今回および前回の位置情報を使用して通信を制御する実施例である。対象のデバイスに動きがあった場合、第１の電波による位置推定から第２の電波による位置推定に切り替え、位置推定精度を高める。しかしながら、第２の電波による位置推定が失敗した場合、再び、動きに対して位置推定精度が低い第１の電波による位置推定に切り替えられる。以降に説明する処理は、第１の電波による位置推定に切り替えられた後の処理とする。
【００５５】
サーバ１３は、ステップ１１００から処理を開始し、ステップ１１０５で、制御部７３が、対象のデバイス以外の他のデバイスの全てに対し、動きがあるかどうかの判定が完了したかを確認する。対象のデバイスは、システムの利用者が位置を推定する精度を高めたいとして指定したデバイスである。完了した場合は、ステップ１１２５へ進み、完了していない場合は、ステップ１１１０へ進む。
【００５６】
ステップ１１１０では、制御部７３が判定部７２に対して指示し、判定部７２が、判定が完了していないデバイスに対し、記憶部７１に記憶された当該デバイスの情報に基づき、一定以上の動きがあるかどうかを判定する。ここでの判定には、当該デバイスの情報のうちの今回の位置推定結果と前回の位置推定結果が使用される。
【００５７】
ステップ１１１５では、制御部７３が判定部７２から判定結果を受領し、判定結果が動きなしかどうかを確認する。動きがある場合、何もすることなく、ステップ１１０５へ戻り、再び完了したかを確認する。一方、動きがない場合、ステップ１１２０へ進み、制御部７３は、動きがないと判定したデバイスと第１のゲートウェイ１１の通信情報を変更してデータレートを下げ、第１の電波による通信を使用した位置推定間隔を広げる。これは、デバイスの数が多く、通信帯域が圧迫されているため、他のデバイスの通信量を減らさないと対象のデバイスのデータレートを上げることができないからである。位置推定間隔は、上記のSF、BW、CDR、Optimiseの設定値の組み合わせを変更することで変えることができる。このように他のデバイスの位置推定間隔を広げることで、通信量を減らし、通信帯域に空きを作ることができる。ステップ１１２０の処理が完了した後は、再びステップ１１０５へ戻る。
【００５８】
以上のようにして、通信帯域に空きを作った後、ステップ１１２５において、制御部７３が、対象のデバイスと第１のゲートウェイ１１の通信情報のSF、BW、CDR、Optimiseの設定値の組み合わせを変更し、対象のデバイスのデータレートを上げる。制御部７３は、通信部７０を介して対象のデバイスと第１のゲートウェイ１１に対して指示し、それらが保持する通信情報の各設定値を変更することができる。
【００５９】
ステップ１１３０では、位置推定部７４が、対象のデバイスの位置を推定する。データレートを上げた分、対象のデバイスからの情報提供回数が増加するため、位置推定精度を向上させることができる。対象のデバイスの位置を推定した後、ステップ１１３５へ進み、この処理を終了する。
【００６０】
図１２を参照して、図１１のステップ１１１０における処理の詳細を説明する。ステップ１２００から処理を開始し、ステップ１２０５で、判定部７２は、一定以上の動きがあるかどうかを判定するために、閾値となる移動距離を設定する。この移動距離は、デフォルト値として与えられた距離を設定してもよいし、利用者に入力を促し、利用者が入力した値を設定してもよい。
【００６１】
ステップ１２１０では、サーバ１３が保持しているデバイスの情報のうちの対象のデバイスの過去の位置情報を参照する。この過去の位置情報は、前回推定した位置の位置情報である。そして、ステップ１２１５で、今回推定した位置の位置情報と、参照した過去の位置情報との差分を算出する。この差分が移動距離となる。
【００６２】
ステップ１２２０では、算出した移動距離が閾値以下であるかを判定する。閾値以下である場合、動きがない、あるいは動きが小さいので、ステップ１２２５へ進み、「動きなし」という判定結果を記憶部７１に記憶する。一方、閾値を超える場合、動きが大きいので、ステップ１２３０へ進み、「動きあり」という判定結果を記憶部７１に記憶する。判定結果を記憶したところで、ステップ１２３５へ進み、この処理を終了する。
【００６３】
この例では、単純に前回の位置情報との差分を基に判定しているが、これに限られるものではなく、他の判定基準、例えば「過去複数回の位置情報の差分が閾値以下であること」等を判定条件としてもよい。
【００６４】
図１３を参照して、サーバ１３が実行する通信を制御し、対象のデバイスの位置を推定する処理の第２の例について説明する。第２の例は、図１０に示すデバイス１０の情報のうちの種別情報を使用して通信を制御する実施例である。
【００６５】
サーバ１３は、ステップ１３００から処理を開始し、ステップ１３０５で、制御部７３が、対象のデバイス以外の他のデバイスの全てに対し、動きがあるかどうかの判定が完了したかを確認する。完了した場合は、ステップ１３２５へ進み、完了していない場合は、ステップ１３１０へ進む。
【００６６】
ステップ１３１０では、制御部７３が判定部７２に対して指示し、判定部７２が、判定が完了していないデバイスに対し、記憶部７１に記憶された当該デバイスの情報のうちの種別情報を参照する。種別情報は、例えば「人」、「物」という情報である。「人」は、動きがあり、「物」は、動きがないものとして分類できる情報である。
【００６７】
ステップ１３１５では、判定部７２が、当該デバイスの種別が物であるかどうかを判定する。物でない場合、何もすることなく、ステップ１３０５へ戻り、再び完了したかを確認する。一方、物である場合、ステップ１３２０へ進み、制御部７３は、当該デバイスと第１の電波で通信する第１のゲートウェイ１１の通信情報を変更してデータレートを下げ、位置推定間隔を広げる。これも、通信帯域に空きを作るためである。ステップ１３２０の処理が完了した後は、再びステップ１３０５へ戻る。
【００６８】
この例では、種別を「人」と「物」の２つのみとしたが、これに限られるものではなく、利用者が任意に指定することができる。これにより、利用者が高い精度で位置を推定したいデバイスを自由に決めることができる。
【００６９】
以上のようにして、通信帯域に空きを作った後、ステップ１３２５において、制御部７３が、対象のデバイスと第１のゲートウェイ１１の通信情報のSF、BW、CDR、Optimiseの設定値の組み合わせを変更し、対象のデバイスのデータレートを上げる。ステップ１３３０では、位置推定部７４が、対象のデバイスの位置を推定する。この場合も、データレートを上げた分、対象のデバイスからの情報提供回数が増加するため、位置推定精度を向上させることができる。対象のデバイスの位置を推定した後、ステップ１３３５へ進み、この処理を終了する。
【００７０】
第１の例では移動距離、第２の例では種別に基づき、動きがあるかどうかを判定し、動きがない場合、デバイスや第１のゲートウェイ１１の通信情報を変更してデータレートを下げる処理を行っているが、これに限られるものではなく、移動距離と種別の両方に基づき判定してもよい。具体的には、移動距離が閾値以下、または物である場合、動きなしと判定することができる。人であっても静止している場合は位置推定精度が大きく低下することはなく、物であっても、その物が運搬される等して移動する場合は位置推定精度をそれ以上下げることは好ましくないからである。
【００７１】
また、デバイスが備える加速度センサにより計測した加速度を時間で積分し、移動速度を算出し、その移動速度に基づき判定してもよい。具体的には、移動速度が閾値以下であるかどうかを判定することができる。閾値以下であれば、動きがない、あるいは動きが小さいと推定され、閾値を超えれば、動きが大きいと推定されるからである。
【００７２】
第１の例および第２の例では、サーバ１３がデバイスから取得した情報に基づき処理を実行したが、その処理の一部をデバイスに実行させてもよい。図１４を参照して、サーバ１３が実行する通信を制御し、対象のデバイスの位置を推定する処理の第３の例について説明する。第３の例は、上記の移動速度を使用して通信を制御し、処理の一部をデバイスに実行させる実施例である。
【００７３】
サーバ１３は、ステップ１４００から処理を開始し、ステップ１４０５で、制御部７３が、記憶部７１に記憶された状態確認命令を取り出し、通信部７０に対して状態確認命令を送信し、対象のデバイス以外の他のデバイスに対して状態確認指示を出す。
【００７４】
ステップ１４１０で、対象のデバイス以外の他のデバイスは、サーバ１３からの状態確認指示を受信する。この指示の受信は、図６に示すデバイス１０が備える通信部５０により行われる。そして、ステップ１４１５で、デバイスは、取得部５１により、例えば加速度を取得し、制御部５３により加速度を時間で積分し、移動速度を算出する。なお、加速度は、加速度センサが計測した値であり、加速度センサは、常に一定の時間間隔で加速度を計測している。
【００７５】
ステップ１４２０では、制御部５３が、算出した移動速度に基づき、デバイスに動きがあるかどうかを判定する。この場合、自身で計測した値を用いて判定を行うため、デバイスに動きがあるかどうかを正確に判定することができる。
【００７６】
ステップ１４２５で、制御部５３は、判定結果が動きなしであるかを確認し、通信部５０に対して指示し、動きなしである場合、ステップ１４３０で、通信部５０が、サーバ１３へ「動きなし」という判定結果を送信する。一方、動きありの場合、ステップ１４３５で、通信部５０が、サーバ１３へ「動きあり」という判定結果を、第１のゲートウェイ１１を介して送信する。
【００７７】
サーバ１３では、通信部７０が、ステップ１４４０においてデバイスから判定結果を受信し、取得する。ステップ１４４５では、制御部７３が、対象のデバイス以外の他のデバイスの全てに対し、動きがあるかどうかの判定が完了したかを確認する。完了した場合は、ステップ１４６０へ進み、完了していない場合は、ステップ１４５０へ進む。
【００７８】
ステップ１４５０では、制御部７３が通信部７０から判定結果を受領し、判定結果が動きなしかどうかを確認する。動きがある場合、何もすることなく、ステップ１４４５へ戻り、再び完了したかを確認する。一方、動きがない場合、ステップ１４５５へ進み、制御部７３は、デバイスと第１のゲートウェイ１１の通信情報を変更してデータレートを下げ、位置推定間隔を広げる。このようにして通信帯域に空きを作った後、再びステップ１４４５へ戻る。
【００７９】
ステップ１４６０では、制御部７３が、対象のデバイスと第１のゲートウェイ１１の通信情報のSF、BW、CDR、Optimiseの設定値の組み合わせを変更し、対象のデバイスのデータレートを上げる。ステップ１４６５では、位置推定部７４が、対象のデバイスの位置を推定する。この場合も、データレートを上げた分、対象のデバイスからの情報提供回数が増加するため、位置推定精度を高めることができる。対象のデバイスの位置を推定した後、ステップ１４７０へ進み、この処理を終了する。
【００８０】
第３の例では、デバイスにおいて判定を行い、サーバ１３は判定結果を取得したが、デバイスは、取得した加速度や、その加速度から算出した移動速度を返し、サーバ１３がその加速度や移動速度から動きがあるかどうかを判定してもよい。移動速度を返す例を第４の例として、図１５を参照して詳細に説明する。
【００８１】
サーバ１３は、ステップ１５００から処理を開始し、ステップ１５０５で、制御部７３が、記憶部７１に記憶された状態確認命令を取り出し、通信部７０に対して状態確認命令を送信し、対象のデバイス以外の他のデバイスに対して状態確認指示を出す。
【００８２】
ステップ１５１０で、対象のデバイス以外の他のデバイスは、サーバ１３からの状態確認指示を受信する。そして、ステップ１５１５で、当該他のデバイスは、加速度センサから取得部５１が加速度を取得し、制御部５３により加速度を時間で積分し、移動速度を算出する。ステップ１５２０で、当該他のデバイスの通信部５０は、制御部５３からの指示を受けて、制御部５３により算出された移動速度を計測結果としてサーバ１３へ送信する。
【００８３】
ステップ１５２５で、サーバ１３の通信部７０は、当該他のデバイスから送信された計測結果を受信し、取得する。そして、ステップ１５３０で、制御部７３が、対象のデバイス以外の他のデバイスの全てに対し、動きがあるかどうかの判定が完了したかを確認する。完了した場合は、ステップ１５５０へ進み、完了していない場合は、ステップ１５３５へ進む。
【００８４】
ステップ１５３５では、判定部７２が通信部７０から計測結果を受領し、計測結果に基づき、一定以上の動きがあるかどうかを判定する。ステップ１５４０では、制御部７３が、判定部７２から判定結果を受領し、判定結果が動きなしであるかを確認する。動きがある場合、何もすることなく、ステップ１５３０へ戻り、再び完了したかを確認する。一方、動きがない場合、ステップ１５４５へ進み、制御部７３は、当該他のデバイスと第１のゲートウェイ１１の通信情報を変更してデータレートを下げ、位置推定間隔を広げる。このようにして、通信帯域に空きを作った後、ステップ１５３０へ戻る。
【００８５】
ステップ１５５０では、制御部７３が、対象のデバイスと第１のゲートウェイ１１の通信情報のSF、BW、CDR、Optimiseの設定値の組み合わせを変更し、対象のデバイスのデータレートを上げる。ステップ１５５５では、位置推定部７４が、対象のデバイスの位置を推定する。この場合も、データレートを上げた分、対象のデバイスからの情報提供回数が増加するため、位置推定精度を高めることができる。対象のデバイスの位置を推定した後、ステップ１５６０へ進み、この処理を終了する。
【００８６】
このようにして、サーバ１３で判定を行うことで、デバイスの処理数を減らすことができる。
【００８７】
図１４のステップ１４２０および図１５のステップ１５３５における移動速度を用いた動き判定について、図１６を参照して詳細に説明する。
【００８８】
判定部７２が、ステップ１６００から処理を開始し、ステップ１６０５で、閾値となる移動速度を設定する。図１２に示す第１の例と同様に、移動速度は、デフォルト値として与えられた速度を設定してもよいし、利用者に入力を促し、利用者が入力した値を設定してもよい。
【００８９】
ステップ１６１０で、算出された移動速度が、閾値以下であるかを判定する。閾値以下である場合、動きがない、あるいは動きが小さいので、ステップ１６１５へ進み、「動きなし」という判定結果を記憶部７１に記憶する。一方、閾値を超える場合、動きが大きいので、ステップ１６２０へ進み、「動きあり」という判定結果を記憶部７１に記憶する。判定結果を記憶したところで、ステップ１６２５へ進み、この処理を終了する。
【００９０】
以上のように、第２の電波による位置推定に失敗し、第１の電波による位置推定に切り替えられた後であっても、対象のデバイス以外の他のデバイスの第１の電波による位置推定間隔を広げ、対象のデバイスのデータレートを上げることで、対象のデバイスからの情報提供回数を増加させて、対象のデバイスの位置推定精度の低下を抑制することができる。
【００９１】
また、位置推定間隔を広げるデバイスの判定に種別情報を用いることで、利用者が重要視するデバイスと重要視しないデバイスを自由に選択でき、その判定をデバイスに実行させることで、正確にデバイスの動きを判定することができる。動きの判定までデバイスに実行させると、デバイスに負荷がかかり、多くの電力を消費することになるが、デバイスに加速度の計測、移動速度の算出のみを実行させ、サーバで動きを判定することで、デバイスの負荷を軽減し、電力消費を抑制することができる。
【００９２】
これまで本発明を、通信制御装置、通信制御方法、通信システムおよびプログラムとして上述した実施の形態をもって説明してきた。しかしながら、本発明は上述した実施の形態に限定されるものではなく、他の実施の形態、追加、変更、削除など、当業者が想到することができる範囲内で変更することができるものである。また、いずれの態様においても本発明の作用・効果を奏する限り、本発明の範囲に含まれるものである。したがって、そのプログラムが記録された記録媒体、そのプログラムを提供するプログラム提供サーバ等も提供することができるものである。
【符号の説明】
【００９３】
１０、１０ａ、１０ｂ…デバイス
１１…第１のゲートウェイ
１２…第２のゲートウェイ
１３…サーバ
２０…CPU
２１…メモリ
２２…センサ
２３…アンテナ
３０…CPU
３１…ROM
３２…RAM
３３…HDD
３４…通信I/F
３５…アンテナ
４０…CPU
４１…ROM
４２…RAM
４３…HDD
４４…通信I/F
４５…入出力I/F
４６…入力装置
４７…表示装置
５０…通信部
５１…取得部
５２…記憶部
５３…制御部
６０…通信部
６１…記憶部
６２…制御部
７０…通信部
７１…記憶部
７２…判定部
７３…制御部
７４…位置推定部
【先行技術文献】
【特許文献】
【００９４】
【特許文献１】特開２０１５−２８４４２号公報
【図１】
2019095332.tif 000003
【図２】
2019095332.tif 000004
【図３】
2019095332.tif 000005
【図４】
2019095332.tif 000006
【図５】
2019095332.tif 000007
【図６】
2019095332.tif 000008
【図７】
2019095332.tif 000009
【図８】
2019095332.tif 000010
【図９】
2019095332.tif 000011
【図１０】
2019095332.tif 000012
【図１１】
2019095332.tif 000013
【図１２】
2019095332.tif 000014
【図１３】
2019095332.tif 000015
【図１４】
2019095332.tif 000016
【図１５】
2019095332.tif 000017
【図１６】
2019095332.tif 000018