(57)【要約】      （修正有）【課題】容易な構成で、迷子になったペット、小さな子供、高齢者等の動物、紛失物等の対象物の位置の推定精度を向上することができ、動物の探索を効率よくすることができる位置推定装置、位置推定方法及び位置推定プログラムの提供。【解決手段】移動可能な位置推定装置３０は、自装置の位置を示す第一の位置情報を取得する取得部３０１と、位置推定の対象が保持する発信器から送信される信号に基づいて、自装置と発信器との距離を示す第一の距離情報を特定する距離特定部３０３と、対象を探索する他の位置推定装置の位置を示す第二の位置情報と、発信器と他の位置推定装置との距離を示す第二の距離情報とを受信する受信部３０２と、取得した第一の位置情報と、特定した第一の距離情報と、受信した第二の位置情報及び第二の距離情報とに基づいて、対象の位置を推定する推定部３０４と、推定された対象の位置を示す推定位置を出力する出力部３１０と、を備える。【選択図】図９
2018124258.tif 000002
【特許請求の範囲】
【請求項１】
移動可能な位置推定装置であって、
自装置の位置を示す第一の位置情報を取得する取得部と、
位置推定の対象が保持する発信器から送信される所定の信号に基づいて、自装置と前記発信器との距離を示す第一の距離情報を特定する特定部と、
前記対象を探索する他の位置推定装置の位置を示す第二の位置情報と、前記発信器と前記他の位置推定装置との距離を示す第二の距離情報とを受信する受信部と、
取得した前記第一の位置情報と、特定した前記第一の距離情報と、受信した前記第二の位置情報及び前記第二の距離情報とに基づいて、前記対象の位置を推定する推定部と、
推定された前記対象の位置を示す推定位置を出力する出力部と、
を備える位置推定装置。
【請求項２】
前記位置推定装置を管理する管理装置に対して、取得した前記第一の位置情報と、特定した前記第一の距離情報とを送信する送信部、をさらに備え、
前記受信部は、前記管理装置から、前記第二の位置情報と前記第二の距離情報とを受信する請求項１に記載の位置推定装置。
【請求項３】
前記推定部は、過去に推定した前記推定位置を加味して、前記対象の位置を推定し、
前記取得力部は、前記過去に推定した前記推定位置と、新たに推定された前記推定位置とを含む推定結果を出力する請求項１または２に記載の位置推定装置。
【請求項４】
時刻を示す情報である時刻情報と、前記時刻において取得した前記第一の位置情報と、前記時刻において特定した距離を示す前記第一の距離情報とを対応付けた第一の集計データを、集計データ記憶部に記憶させる記憶処理部をさらに備え、
前記記憶処理部は、前記第二の位置情報及び前記第二の距離情報に関する第二の集計データを、前記集計データ記憶部に記憶させる請求項１〜３のいずれか１項に記載の位置推定装置。
【請求項５】
前記推定部は、パーティクルフィルタを利用して前記対象位置を推定する請求項１〜４のいずれか１項に記載の位置推定装置。
【請求項６】
前記推定部は、時間の経過に応じた尤度関数を考慮して位置を推定する請求項５に記載
の位置推定装置。
【請求項７】
前記出力部は、前記推定部によって推定された複数の推定位置を含むマップを出力する請求項１〜６のいずれか１項に記載の位置推定装置。
【請求項８】
位置推定の対象が保持する発信器と、
前記発信器から送信された所定の信号を受信する受信器を備える第一の位置推定装置と、
前記第一の位置推定装置とネットワークを介して接続される前記受信器を備える第二の一推定装置と、を含み、
前記第一の位置推定装置は、
自装置の位置を示す第一の位置情報を取得する取得部と、
前記受信機が受信した前記所定の信号に基づいて、自装置と前記発信器との距離を示す第一の距離情報を特定する特定部と、
前記第二の位置推定装置の位置を示す第二の位置情報と、前記発信器と前記第二の位置推定装置との距離を示す第二の距離情報とを受信する受信部と、
取得した前記第一の位置情報と、特定した前記第一の距離情報と、受信した前記第二の位置情報及び前記第二の距離情報とに基づいて、前記対象の位置を推定する推定部と、
推定された前記対象の位置を示す推定位置を出力する出力部と、を備える位置推定システム。
【請求項９】
移動可能な位置推定装置における位置推定方法であって、
自装置の位置を示す第一の位置情報を取得する取得ステップと、
位置推定の対象が保持する発信器から送信される所定の信号に基づいて、自装置と前記発信器との距離を示す第一の距離情報を特定する特定ステップと、
前記対象を探索する他の位置推定装置の位置を示す第二の位置情報と、前記発信器と前記他の位置推定装置との距離を示す第二の距離情報とを受信する受信ステップと、
取得した前記第一の位置情報と、特定した前記第一の距離情報と、受信した前記第二の位置情報及び前記第二の距離情報とに基づいて、前記対象の位置を推定する推定ステップと、
推定された前記対象の位置を示す推定位置を出力する出力ステップと、
を含む位置推定方法。
【請求項１０】
移動可能な位置推定装置に、
自装置の位置を示す第一の位置情報を取得する取得機能と、
位置推定の対象が保持する発信器から送信される所定の信号に基づいて、自装置と前記発信器との距離を示す第一の距離情報を特定する特定機能と、
前記対象を探索する他の位置推定装置の位置を示す第二の位置情報と、前記発信器と前記他の位置推定装置との距離を示す第二の距離情報とを受信する受信機能と、
取得した前記第一の位置情報と、特定した前記第一の距離情報と、受信した前記第二の位置情報及び前記第二の距離情報とに基づいて、前記対象の位置を推定する推定機能と、
推定された前記対象の位置を示す推定位置を出力する出力機能と、
を実現させる位置推定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、位置推定装置に関し、特に、飼育者による動物の保護、または、保護者による子供や高齢者の保護、または、所有者による紛失した所有物の探索等に利用する位置推定装置、位置推定システム、位置推定方法及び位置推定プログラムに関する。
【背景技術】
【０００２】
従来から、迷子になった動物を探す場面が多い。また、家の中や外で所有物を置いた場所を忘れたり、落としたりした所有物を探索することも多い。
【０００３】
例えば、飼い猫や飼い犬等のペットが迷子になると、飼い主は、近所を歩きまわって探す必要がある。また、小さな子供が迷子になった場合も、保護者は、子供の名前を呼びながら、周辺を歩きまわって探す必要がある。さらに、子供だけでなく、自分の家に戻れなくなった高齢者が迷子になった場合も、同様である。
【０００４】
具体的には、迷子になった飼い猫を探す場合、その飼い猫が好む場所を中心に探し回ったりするが、すぐに見つけられないことも多い。仮に、飼い主が、迷子の猫とは異なる方向に進んだ場合、時間の経過と共にお互いが異なる方向に進むことが考えられ、さらに見つけにくくなる問題がある。また、小さな子供や高齢者が迷子になった場合にも、同様に保護者は、周囲を歩き回って探索することが一般的である。
【０００５】
これに対し、例えば、通信端末を利用して、迷子の子供や高齢者を探索する技術が開発されている（例えば、特許文献１参照）。また、失った所有物のエリアを特定する技術も開発されている（例えば、特許文献２参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−４１２４０号公報
【特許文献２】特許５８９４３０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、特許文献１に記載される上述の技術は、探索の対象となる者が有するＩＣタグのタグ識別情報を読み取るＩＣタグリーダを複数かつ適切な配置で設置する必要があり、簡易に実現することができない。また、特許文献２に記載される上述の技術は、大雑把なエリアの特定しかすることができない。
【０００８】
そこで、本発明は、容易な構成で、迷子になったペット、小さな子供、高齢者等の動物、紛失物等の対象物の位置の推定精度を向上することができ、動物の探索を効率よくすることができる位置推定装置、位置推定方法及び位置推定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の一実施形態における位置推定装置は、移動可能な位置推定装置であって、自装置の位置を示す第一の位置情報を取得する取得部と、位置推定の対象が保持する発信器から送信される所定の信号に基づいて、自装置と前記発信器との距離を示す第一の距離情報を特定する特定部と、前記対象を探索する他の位置推定装置の位置を示す第二の位置情報と、前記発信器と前記他の位置推定装置との距離を示す第二の距離情報とを受信する受信部と、取得した前記第一の位置情報と、特定した前記第一の距離情報と、受信した前記第二の位置情報及び前記第二の距離情報とに基づいて、前記対象の位置を推定する推定部と、推定された前記対象の位置を示す推定位置を出力する出力部と、を備える。
【００１０】
本発明の一実施形態における位置推定システムは、位置推定の対象が保持する発信器と、前記発信器から送信された所定の信号を受信する受信器を備える第一の位置推定装置と、前記第一の位置推定装置とネットワークを介して接続される前記受信器を備える第二の一推定装置と、を含み、前記第一の位置推定装置は、自装置の位置を示す第一の位置情報を取得する取得部と、前記受信機が受信した前記所定の信号に基づいて、自装置と前記発信器との距離を示す第一の距離情報を特定する特定部と、前記第二の位置推定装置の位置を示す第二の位置情報と、前記発信器と前記第二の位置推定装置との距離を示す第二の距離情報とを受信する受信部と、取得した前記第一の位置情報と、特定した前記第一の距離情報と、受信した前記第二の位置情報及び前記第二の距離情報とに基づいて、前記対象の位置を推定する推定部と、推定された前記対象の位置を示す推定位置を出力する出力部と、を備える。
【００１１】
本発明の一実施形態における位置推定方法は、移動可能な位置推定装置における位置推定方法であって、自装置の位置を示す第一の位置情報を取得する取得ステップと、位置推定の対象が保持する発信器から送信される所定の信号に基づいて、自装置と前記発信器との距離を示す第一の距離情報を特定する特定ステップと、前記対象を探索する他の位置推定装置の位置を示す第二の位置情報と、前記発信器と前記他の位置推定装置との距離を示す第二の距離情報とを受信する受信ステップと、取得した前記第一の位置情報と、特定した前記第一の距離情報と、受信した前記第二の位置情報及び前記第二の距離情報とに基づいて、前記対象の位置を推定する推定ステップと、推定された前記対象の位置を示す推定位置を出力する出力ステップと、を含む。
【００１２】
本発明の一実施形態における位置推定プログラムは、移動可能な位置推定装置に、自装置の位置を示す第一の位置情報を取得する取得機能と、位置推定の対象が保持する発信器から送信される所定の信号に基づいて、自装置と前記発信器との距離を示す第一の距離情報を特定する特定機能と、前記対象を探索する他の位置推定装置の位置を示す第二の位置情報と、前記発信器と前記他の位置推定装置との距離を示す第二の距離情報とを受信する受信機能と、取得した前記第一の位置情報と、特定した前記第一の距離情報と、受信した前記第二の位置情報及び前記第二の距離情報とに基づいて、前記対象の位置を推定する推定機能と、推定された前記対象の位置を示す推定位置を出力する出力機能と、を実現させる。
【発明の効果】
【００１３】
本発明によれば、容易な構成で迷子になったペット、小さな子供、高齢者等の動物、その他所有物等の対象物の位置の推定精度を向上することができ、動物の探索を効率よくすることができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態１に係る位置推定装置の構成を説明するブロック図である。
【図２】実施形態１に係る位置推定システムの概要を説明する説明図である。
【図３】実施形態１に係る位置推定システムの構成を説明するブロック図である。
【図４】実施形態１に係る位置推定装置で利用されるデータ構成の一例を説明するデータ構成図である。
【図５】実施形態１に係る位置推定装置で利用する位置推定方法の処理の一例を説明するシーケンス図である。
【図６】実施形態１に係る位置推定装置における位置推定を説明する説明図である。
【図７】実施形態１に係る位置推定装置において位置推定の結果を出力する出力画面の一例である。
【図８】実施形態１に係る位置推定装置の構成の一例を説明する回路構成図である。
【図９】実施形態２に係る位置推定装置の構成を説明するブロック図である。
【図１０】実施形態２に係る位置推定システムの概要を説明する説明図である。
【図１１】実施形態２に係る位置推定システムの構成を説明するブロック図である。
【図１２】実施形態２に係る位置推定装置で利用されるデータ構成の一例を示すデータ構成図である。
【図１３】実施形態２に係る位置推定装置で利用されるデータ構成の一例を説明するデータ構成図である。
【図１４】実施形態２に係る位置推定装置で利用する位置推定方法の原理を説明する図である。
【図１５】実施形態２に係る位置推定装置における位置推定を説明する説明図である。
【図１６】実施形態２に係る位置推定装置における位置推定を説明する説明図である。
【図１７】実施形態２に係る位置推定装置において位置推定の結果を出力する出力画面の一例である。
【図１８】実施形態２に係る位置推定方法の処理の一例を説明するフローチャートである。
【図１９】実施形態２に係る位置推定装置で利用する位置推定方法の処理の一例を説明するシーケンス図である。
【図２０】実施形態２に係る位置推定装置の構成の一例を説明する回路構成図である。
【発明を実施するための形態】
【００１５】
（実施形態１）
以下に、図面を用いて本発明の実施形態１に係る位置推定システム及び位置推定装置について説明する。本実施形態に係る位置推定システムは、ペット、子供、高齢者等の動物、所有物等の「対象」の位置を推定するものである。ユーザは、迷子等で動物の位置が不明となりその動物の位置を探索する際に、この位置推定システムを使用する。また、ユーザは、所有物を置いた場所を忘れたり、落としたりした場合、所有物の位置を探索する際に、この位置推定システムを使用する。この「所有物」は、ユーザが置き場所を見失いやすいもの、紛失しやすいものであり、後述する発信器を備え付けることができるものであれば限定されない。所有物の一例としては、鍵や財布等の小型の貴重品等が挙げられる。
【００１６】
例えば、ユーザは、ペットがいなくなった場合、位置推定システムを構成する端末装置（探索装置）を携帯しながらペットがいると思われる範囲を移動する。位置推定システムは、動物が有する発信器から受信した信号を利用しながら、ペットの位置を推定する。ユーザは、位置推定システムで推定された位置に近づくように動くことで、容易にいなくなったペットを探索することができる。以下の説明において、同一の構成については、同一の符号を用いて説明を省略する。
【００１７】
本実施形態において、「受信部」は、探索の対象に取り付けられる発信器から送信される信号を受信可能な探索装置から、探索装置の位置と、探索装置が発信器から受信した信号で特定される発信器から探索装置までの距離情報とを受信するものである。「推定部」は、複数の探索装置から受信した各探索装置の位置と、発信器から各探索装置までの距離情報とから、発信器が取り付けられる対象の位置を複数推定するとともに、複数の推定結果を集計した位置を推定するものである。「出力部」は、推定部で得られた複数の推定位置及び集計した推定位置を含む推定結果を出力するものである。「記憶処理部」は、受信部が受信する探索装置の位置と、距離情報とを、受信時刻と関連づけた集計データとして、集計データ記憶部に記憶させるものである。
【００１８】
図１に示すように、実施形態に係る位置推定装置１は、探索の対象に取り付けられる発信器から送信される信号を受信可能な探索装置から、探索装置の位置と、探索装置が発信器から受信した信号で特定される発信器から探索装置までの距離情報とを受信する受信部１０１と、複数の探索装置から受信した各探索装置の位置と、発信器から各探索装置までの距離情報とから、発信器が取り付けられる対象の位置を複数推定するとともに、複数の推定結果を集計した位置を推定する推定部１０２と、推定部１０２で得られた複数の推定位置及び集計した推定位置を含む推定結果を出力する出力部１０３と、を備える。
【００１９】
〈位置推定システム〉
図２は、実施形態に係る位置推定システム５の概要を説明する説明図である。位置推定システム５は、位置推定装置１と、複数の探索装置２ａ〜２ｃと、発信器３とを備える。また、位置推定装置１と複数の探索装置２ａ〜２ｃとはネットワーク４を介して接続される。
【００２０】
ここで、発信器３は、探索する対象物に容易に取り付け可能であって、電波を発信するものである。この発信器３が送信する電波は、発信器３を特定することが可能な識別情報を含む。この発信器３は、小型、軽量及び安価であることが好ましい。例えば、発信器３は、ＢＬＥ（Ｂｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙ）等の信号を発信するものとして説明する。
【００２１】
なお、位置推定システム５が備える探索装置及び発信器の数は限定されない。ただし、複数の異なる場所に存在する３台以上の探索装置２ａ〜２ｃで同時に１台の発信器３から信号を受信可能な構成とすることで、複数の場所からの情報を利用することができるため、位置推定の精度を向上することができる。また、異なる場所に存在する３台以上の探索装置２ａ〜２ｃからの情報を利用して位置を推定することで、位置推定の効率化を図ることができる。
【００２２】
以下では、探索装置２ａは、位置推定の対象Ｔである猫の飼い主が有する装置であって、飼い猫が迷子になった場合に、猫の首輪等につけられた発信器３から発信される信号を受信するものとして説明する。また、探索装置２ｂ、２ｃは、対象Ｔである猫の飼い主以外が有する装置であって、発信器３から発信される信号を受信するものとして説明する。飼い主以外とは、例えば、飼い主の家族や知人である。または、飼い主以外とは、飼い主の知人でなくても、この位置推定システム５を構成する探索装置の所有者が含まれていてもよい。そして、位置推定装置１は、各探索装置２ａ〜２ｃが受信した発信器３からの信号の受信情報を用いて対象Ｔである猫の位置を推定するものとして説明する。
【００２３】
《位置推定装置》
例えば、図３に示すように、位置推定装置１は、中央処理装置（ＣＰＵ）１０、記憶装置１１、入力装置１２、出力装置１３、通信Ｉ／Ｆ１４を備えるサーバ装置等の情報処理装置を利用して、実現することができる。具体的には、位置推定装置１として利用する情報処理装置の記憶装置１１に記憶される位置推定プログラムＰ１を実行することで、ＣＰＵ１０が、受信部１０１、受付部１０２、記憶処理部１０３、推定部１０４及び出力部１０５として処理を実行する。
【００２４】
入力装置１２は、位置推定装置１のオペレータ等が操作信号の入力に使用するキーボードやマウス等の入力装置である。
【００２５】
出力装置１３は、位置推定装置１の処理結果等の出力に使用するディスプレイやプリンタ等の出力装置である。
【００２６】
通信Ｉ／Ｆ１４は、インターネット網等のネットワーク４を介して外部の装置とのデータの送受信を実現する通信インタフェースである。
【００２７】
記憶装置１１は、位置推定プログラムＰ１の他、ＩＤデータ１１０、集計データ１１１及び推定データ１１２を記憶する。
【００２８】
ＩＤデータ１１０は、位置推定の対象Ｔに取り付けられる発信器３の識別情報と、その対象Ｔと関連する飼い主、保護者、所有者等であるユーザが有する探索装置２ａ〜２ｃの識別情報とを関連づけるデータである。
【００２９】
集計データ１１１は、位置推定装置１が、発信器３を有する対象Ｔ毎に、各探索装置２ａ〜２ｃから受信するデータを蓄積したものである。各発信器３について、図４（ａ）に示すように、探索装置の識別情報（探索装置ＩＤ）と、時刻情報と、この時刻における探索装置の位置情報と、この時刻における探索装置と対象Ｔの距離情報とを関連付けるデータである。図４（ａ）に示す集計データ１１１では、例えば、発信器３の識別情報（発信器ＩＤ）が「Ｙ０１」に関する情報として、探索装置ＩＤ「Ｘ０１」から時刻「Ｔ１」、位置「Ｌ１」、距離「Ｄ１」を受信したことが関連付けられる。
【００３０】
推定データ１１２は、位置推定装置１において、集計データ１１１に基づいて推定した対象Ｔの推定位置を含むデータである。具体的には、対象Ｔについて、図４（ｂ）に示すように、時刻情報と、この時刻における推定位置とを関連付けるデータである。図４（ｂ）に示す推定データ１１２では、例えば、発信器ＩＤ「Ｙ０１」に関する情報として、時刻「ｔ１」と推定位置「ｌ１」、時刻「ｔ２」と推定位置「ｌ２」、時刻「ｔ３」と推定位置「ｌ３」が関連づけられる。
【００３１】
受信部１０１は、探索装置２ａ〜２ｃから、探索装置２ａ〜２ｃの識別情報と、この探索装置２ａ〜２ｃの所有者であるユーザのペット、保護が必要な子供や老人、所有物等の位置推定をし得る対象Ｔに取り付けられる発信器３の識別情報とが関連付けられるデータを受信する。
【００３２】
記憶処理部１０３は、受信部１０１が受信する探索装置２ａ〜２ｃの識別情報と、対象Ｔに取り付けられる発信器３の識別情報とが関連付けられるデータを受信すると、ＩＤデータ１１０として、記憶装置１１に記憶させる。
【００３３】
また、受信部１０１は、探索装置２ａ〜２ｃから、探索装置の識別情報と、時刻情報と、この時刻における探索装置の位置情報と、探索装置がその位置にある場合に発信器３から受信した信号から求めた探索装置と発信器３の距離情報と、その発信器３の識別情報を受信する。
【００３４】
また、記憶処理部１０３は、受信部１０１が受信する探索装置２ａ〜２ｃの識別情報と、時刻情報と、探索装置の位置情報と、探索装置と発信器３の距離情報とを関連づけ、発信器毎に、集計データ１１１として、記憶装置１１に記憶させる。図２及び図３に示す例では、発信器３は１台のみしか図示していないが、位置推定システム５の位置推定の対象Ｔとなるのは、迷子となった複数の動物や、紛失したユーザの所有物である。したがって、記憶処理部１０３は、それらの対象Ｔが有する発信器３毎に集計データ１１１を管理する。
【００３５】
受付部１０２は、ＩＤデータ１１０で登録されるユーザの探索装置２ａ〜２ｃから送信された対象Ｔの位置の探索を要求するリクエスト信号を受け付ける。このリクエスト信号は、ユーザが所有する探索装置２ａ〜２ｃの識別情報と、位置の探索を希望する対象Ｔに取り付けられる発信器３の識別情報とを含む。また、リクエスト信号は、位置推定に使用する時刻の範囲に関する情報を含む。ここで、時刻の範囲に関する情報としては、例えば、現在から２時間以内という指定方法であってもよいし、ｘ時ｘ分〜ｙ時ｙ分という指定方法であってもよい。
【００３６】
推定部１０４は、受付部１０２がリクエスト信号を受け付けると、記憶装置１１に記憶される集計データ１１１を用いて、リクエスト信号に含まれる識別情報の発信器３が備え付けられる対象Ｔである動物や紛失物の位置を推定する。発信器３は、対象Ｔに備え付けられるものであるため、以下の説明において、「発信器３の位置」と「対象Ｔの位置」は同義であるものとする。
【００３７】
推定部１０４は、具体的には、各探索装置２ａ〜２ｃから受信した情報毎に異なる時刻における推定位置を求め、さらに複数の推定位置を合わせて最終的な推定位置を求める。このとき、推定部１０４は、受付部１０２が受け付けたリクエスト信号に含まれる時刻の範囲に関連付けられる情報を利用して推定位置を求める。また、推定部１０４は、パーティクルフィルタ等の状態空間モデルを利用して対象Ｔである動物や所有物の位置を推定することができる。また、推定部１０４は、各探索装置２ａ〜２ｃから異なる時刻に受信した位置と距離情報を用いて動物や所有物の位置を推定する際、時間の経過に応じた尤度関数を考慮して位置を推定してもよい。
【００３８】
推定部１０４は、集計データ１１１の複数の距離を利用して、発信器３の位置、すなわち、対象Ｔの位置を推定する。また、推定部１０４は、得られた推定位置を、信号を受信した時刻と共に、記憶装置１１に記憶される推定データ１１２に蓄積する。
【００３９】
例えば、推定部１０４は、時系列フィルタリングを利用する。具体的には、推定部１０４は、パーティクルフィルタ（粒子フィルタ）を利用して対象Ｔの位置を推定する。ここで、推定部１０４が利用するパーティクルフィルタは、確率分布を利用した時系列データの予測手法で、例えば、物体追跡に利用されるものである。対象Ｔは、位置が移動する可能性があり、その移動の進度や方向を正確に予測することは困難である。したがって、推定部１０４が対象Ｔの位置推定の方法として、ランダムな移動に対応する方法を利用することが好ましい。
【００４０】
推定部１０４は、対象Ｔの位置を推定する際、集計データ１１１に含まれる探索装置２ａ〜２ｃ位置を中心として、それぞれ探索装置から発信器３までの距離の円周上に任意に得られた複数の点（分布）と、所定の尤度とを用いて求める。
【００４１】
このとき、対象Ｔの場所も時刻によって変化するが、異なる時刻及び異なる場所で探索装置２ａ〜２ｃが対象Ｔの有する発信器３から受信した信号から得られた距離を基準としたパーティクルの数が多い方が、対象Ｔの位置を正確に推定しやすくなる。
【００４２】
なお、各時刻における各パーティクルは、推定部１０４が利用するパーティクルフィルタで規定される原理に従って、設定される。
【００４３】
ここで、推定部１０４は、集計データ１１１に含まれる異なる時刻の情報を利用して対象Ｔの位置を特定するが、相対的に古いデータよりも、新しいデータの方が、有効である。しかしながら、データ数が少ないよりデータ数が多い方が位置を推定しやすいこともある。したがって、推定部１０４新しいデータについては、重みを高くし、古いデータについては重みを低くする等により、位置を推定してもよい。また、推定部１０４は、新しいデータが十分ある場合、古いデータを使用しないで、位置を推定してもよい。
【００４４】
出力部１０５は、推定部１０４で得られた推定位置を含む推定結果データを、探索装置２ａに出力する。具体的には、出力部１０５は、受付部１０２が受け付けたリクエスト信号を送信した探索装置２ａ〜２ｃに対して、位置を推定した対象Ｔに取り付けられる発信器３の識別情報と、関連付けられる探索装置２ａに対し、ネットワーク４を介して推定結果データを送信する。
【００４５】
《探索装置》
例えば、図３に示すように、探索装置２ａは、中央処理装置（ＣＰＵ）２０、記憶装置２１、入力装置２２、表示装置２３、受信器２４、通信Ｉ／Ｆ２５を備える端末装置等の情報処理装置を利用して、実現することができる。具体的には、探索装置２ａとして利用する情報処理装置の記憶装置２１に記憶される探索プログラムＰ２を実行することで、ＣＰＵ２０が、登録部２００、リクエスト部２０１、取得部２０２、受信処理部２０３、距離特定部２０４、通信処理部２０５、演算部２０６、誘導部２０７、画像生成部２０８及び出力部２０９として処理を実行する。
【００４６】
入力装置２２は、探索装置２ａのユーザが操作信号の入力に使用する操作ボタンやタッチパネル等の入力装置である。
【００４７】
表示装置２３は、位置推定装置１において、探索結果等の出力画面を表示するディスプレイである。
【００４８】
受信器２４は、位置推定の対象Ｔに付けられた発信器３から発信された信号を受信する受信装置である。ここでは、発信器３から発信される信号は、発信器３の位置情報を含む必要はなく、少なくとも発信器３の識別情報を含み、距離に応じて信号の電波強度が減衰する信号であるとする。この受信器２４は、一次元距離センサーであって、低コストであることが好ましい。ここで、「一次元距離センサー」とは、直線距離を計測するための情報を得ることができるセンサーのことをいう。以下の説明では、受信器２４は、ＢＬＥ（Ｂｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎｅｒｇｙ）等の信号を受信するものとして説明する。この場合、対象Ｔには、例えば、所定時間毎にＢＬＥ信号を発信する発信器３を有する必要がある。
【００４９】
記憶装置２１は、探索プログラムＰ２の他、画像データ２１０、ＩＤデータ２１１、位置データ２１２、対象データ２１３、距離データ２１４、結果データ２１５、ベクトルデータ２１６及び誘導データ２１７を記憶する。
【００５０】
画像データ２１０は、探索装置２ａにおいて、表示装置２３に表示する出力画面等の生成に利用されるデータである。
【００５１】
ＩＤデータ２１１は、自装置である探索装置２ａの識別情報と、自装置を所有するユーザの探索の対象Ｔに取り付けられる発信器３の識別情報とを関連づけるデータである。なお、１台の探索装置２ａに関連付けることのできる発信器３の数は、１台に限定されない。
【００５２】
位置データ２１２は、取得部２０２が取得した探索装置２ａの位置情報と、位置情報を取得した時刻情報とが関連付けられるデータである。
【００５３】
対象データ２１３は、探索装置２ａの位置推定の対象Ｔの識別情報に関するデータである。
【００５４】
距離データ２１４は、受信処理部２０３で受信した信号に基づいて距離特定部２０４で特定された探索装置２ａと対象Ｔとの距離と、距離の特定に利用した信号を受信した時刻情報とが関連付けられるデータである。
【００５５】
結果データ２１５は、通信処理部２０５で受信した位置推定装置１による対象の位置推定結果に関するデータである。
【００５６】
ベクトルデータ２１６は、取得部２０２で受信した探索装置２ａの位置情報に基づいて演算部２０６で演算された異なる時刻の位置を結ぶベクトルと、位置情報を取得した時刻情報とが関連づけられるデータである。
【００５７】
誘導データ２１７は、取得部２０２で取得した位置情報に基づいて誘導部２０７で生成された誘導情報と、位置情報を取得した時刻情報とが関連付けられるデータである。
【００５８】
なお、図１に示す例では、位置データ２１２、距離データ２１４、結果データ２１５、ベクトルデータ２１６及び誘導データ２１７を別々のデータとして記憶しているが、１のデータに全ての情報が含まれる構成であってもよい。
【００５９】
登録部２００は、自装置である探索装置２ａの識別情報と、自装置を所有するユーザの探索の対象Ｔに取り付けられる発信器３の識別情報とを関連づけを登録し、ＩＤデータ２１１として記憶装置２１に記憶する。また、登録部２００は、ＩＤデータ２１１で関連付けられる探索装置２ａの識別情報と発信器３の識別情報とを含むデータを、位置推定装置１に送信する。
【００６０】
リクエスト部２０１は、対象Ｔの位置の探索を要求するリクエスト信号を、位置推定装置１に送信する。このリクエスト信号は、探索装置２ａの識別情報と、位置の探索を希望する対象Ｔに取り付けられる発信器３の識別情報とを含む。また、リクエスト信号は、位置推定に使用する時刻の範囲に関する情報を受け付ける。なお、リクエスト信号が含む時刻に関する情報は、入力装置２２を介して入力される。
【００６１】
取得部２０２は、例えば、ＧＰＳ（全地球測位システム）の電波を取得し、取得した電波から、自装置である探索装置２ａの位置を特定する。また、取得部２０２は、特定した自装置の位置を、時刻と共に、記憶装置２１で記憶される位置データ２１２に追加する。例えば、取得部２０２は、定期的なタイミングで電波を受信して探索装置２ａの位置を特定してもよいし、受信処理部２０３が信号を入力したタイミングで探索装置２ａの位置を特定してもよい。
【００６２】
受信処理部２０３は、受信器２４が受信した信号が入力される。ここで、受信処理部２０３で受信した信号から、位置推定の対象Ｔからの信号のみを距離特定部２０４に出力する。探索装置２ａでは、位置推定の対象Ｔが有する発信器３が使用する信号の識別情報を対象データ２１３として、記憶装置２１に記憶している。したがって、受信処理部２０３は、受信した信号のうち、対象Ｔの発信器３の識別情報の信号を距離特定部２０４に出力する。
【００６３】
距離特定部２０４は、受信器２４から入力された信号から、探索装置２ａから、位置を推定する対象Ｔまでの距離を特定する。また、距離特定部２０４は、信号を受信した時刻と、信号を受信した際の位置推定装置１の位置と、特定位置とを関連付けて、記憶装置２１で記憶される距離データ２１４に追加する。
【００６４】
ＢＬＥの信号の電波強度は、発信器３で発信された後、所定の減衰率で、距離に応じて減衰する。したがって、距離特定部２０４は、その減衰率に基づき、発信器３から受信器２４までの距離、すなわち、発信器３から探索装置２ａまでの距離を特定することができる。
【００６５】
通信処理部２０５は、時刻と、その時刻に取得部２０２が取得した探索装置２ａの位置と、その時刻に発信器３から受信した信号に基づいて距離特定部２０４が特定した距離とを、探索装置２ａの識別情報及び発信器３の識別情報とともに、位置推定装置１に送信する。また、通信処理部２０５は、位置推定装置１から、送信された位置推定の結果データを受信する。
【００６６】
演算部２０６は、取得部２０２で前回得られた探索装置２ａの位置から今回新たに得られた探索装置２ａの位置までを結ぶベクトルを求める。また、演算部２０６は、求めた演算結果を、対象の信号を受信した時刻と共に、記憶装置２１に記憶されるベクトルデータ２１６に蓄積する。
【００６７】
誘導部２０７は、演算部２０６で演算されたベクトルと異なる方向に移動するよう誘導する誘導情報を生成する。また、誘導部２０７は、生成した誘導情報を、対象の信号を受信した時刻とともに、記憶装置２１に記憶される誘導データ２１７に蓄積する。対象Ｔの位置推定は、２次元平面上の３つ円が交わる一点を求めることに等しいので、探索装置２ａが対象Ｔに対して一直線の方向で進む場合、図６を用いて後述するような望ましい円の配置とはならないため、対象Ｔの位置を特定できない問題が生じる。これに対し、誘導部２０７は、探索装置２ａを有するユーザが、直線方向で進むこと防ぐように動くように誘導する。
【００６８】
誘導部２０７における誘導データの生成方法は、少なくとも直前に求めたベクトルと異なる方向に誘導する誘導情報を生成すればよい。ただし、誘導部２０７は、過去の複数のベクトルを考慮することで、位置の推定の精度を向上させることができる。これにより、対象Ｔの位置の推定を容易にするとともに、位置の推定の精度を向上させることができる。
【００６９】
画像生成部２０８は、取得部２０２が取得した探索装置２ａの位置と、通信処理部２０５が取得した推定位置とを含むマップ画像を推定結果として生成する。このとき、画像生成部２０８は、異なる時刻に推定された複数の推定位置を含む推定結果を生成することができる。また、画像生成部２０８は、複数の推定位置と共に、推定位置に存在したと推定した時刻を含む推定結果を生成することができる。さらに、画像生成部２０８は、誘導部２０７が誘導データを生成したとき、誘導情報を含む推定結果を生成することができる。
【００７０】
出力部２０９は、取得部２０２が取得した探索装置２ａの位置と、位置推定装置１で推定された推定位置とを用いて画像生成部２０８が生成した推定結果を出力する。
【００７１】
探索装置２ｂ及び２ｃの構成は、上述した探索装置２ａの構成と同一であるため、説明を省略する。ここで、各探索装置２ａ〜２ｃは、異なるユーザが携帯する端末装置である。例えば、探索装置２ａは、あるペットの飼い主が有する端末装置であり、探索装置２ｂ及び２ｃは、その家族が所有する端末装置であってもよい。また例えば、探索装置２ａは、ペットの飼い主が有する端末装置であり、探索装置２ｂ及び２ｃは、その知人が所有する端末装置であってもよい。その他、探索装置２ａは、ペットの飼い主が有する端末装置であり、探索装置２ｂ、２ｃは、ペットの飼い主とは家族でも知人でもない者が有する端末装置であってもよい。
【００７２】
位置推定システム５では、単に、探索プログラムＰ２がインストールされ、発信器３からの信号を受信可能な範囲に存在する複数の探索装置２ａ〜２ｃから情報の収集を可能とする。これにより、ペットの飼い主が想定する範囲を超えた広い範囲を探索範囲とすることが可能となる。したがって、位置推定システム５の利用により、位置推定の精度を向上するとともに、動物や紛失物の探索を効率よくすることができる。
【００７３】
〈位置推定方法〉
図５に示すシーケンス図を用いて、位置推定システム５で実行される位置推定方法について説明する。ここでは、探索装置２ａが探索をリクエストすることで、各探索装置２ａ〜２ｃが探索の対象Ｔが有する発信器３から受信する信号に基づき、位置推定装置１が対象Ｔの位置を予測するものとして説明する。
【００７４】
まず、探索装置２ａが、探索の開始の処理を実行すると（Ｓ０１）、探索を希望するリクエスト信号を位置推定装置１に送信する（Ｓ０２）。リクエスト信号を受信した位置推定装置１は、発信器３の識別情報を、探索対象として登録する。
【００７５】
探索装置２ａは、発信器３からの信号を受信する（Ｓ０３）。また、探索装置２ａは、ステップＳ０３における信号の受信と同タイミング取得した自装置である探索装置２ａの位置と、発信器３からの信号とから、探索装置２ａと発信器３との距離を特定する（Ｓ０４）。続いて、探索装置２ａは、探索装置２ａの識別情報と、ステップＳ０３の信号を受信した時刻情報と、探索装置２ａの位置情報と、ステップＳ０４で特定した距離情報とを含むデータを位置推定装置１に送信する（Ｓ０５）。
【００７６】
探索装置２ｂは、発信器３からの信号を受信する（Ｓ２３）。また、探索装置２ｂは、ステップＳ２３における信号の受信と同タイミング取得した自装置である探索装置２ｂの位置と、発信器３からの信号とから、探索装置２ｂと発信器３との距離を特定する（Ｓ２４）。続いて、探索装置２ｂは、探索装置２ｂの識別情報と、ステップＳ２３の信号を受信した時刻情報と、探索装置２ｂの位置情報と、ステップＳ２４で特定した距離情報とを含むデータを位置推定装置１に送信する（Ｓ２５）。
【００７７】
探索装置２ｃは、発信器３からの信号を受信する（Ｓ３３）。また、探索装置２ｃは、ステップＳ３３における信号の受信と同タイミング取得した自装置である探索装置２ｃの位置と、発信器３からの信号とから、探索装置２ｃと発信器３との距離を特定する（Ｓ３４）。続いて、探索装置２ｃは、探索装置２ｃの識別情報と、ステップＳ３３の信号を受信した時刻情報と、探索装置２ｃの位置情報と、ステップＳ３４で特定した距離情報とを含むデータを位置推定装置１に送信する。
【００７８】
位置推定装置１は、探索装置２ａ〜２ｃから受信したデータから、ステップＳ０２で送信されたリクエスト信号で位置の推定が要求された発信器３の位置を推定する（Ｓ１１）。例えば、位置推定装置１は、図６に示すように、各探索装置２ａ〜２ｃの位置を中心として各探索装置２ａ〜２ｃから発信器３の距離の円Ａ１〜Ａ３を描くことで、各円Ａ１〜Ａ３が重なる範囲を対象Ｔが存在する推定位置とする。推定位置は、推定データ１１２として記憶装置１１に記憶される。
【００７９】
位置推定装置１は、推定位置を含む結果データを探索装置２ａに送信する（Ｓ１２）。
【００８０】
また、探索装置２ａは、自装置の位置情報を利用して、誘導情報を生成する（Ｓ０６）。この誘導情報は、誘導データ２１７として記憶装置２１に記憶される。
【００８１】
探索装置２ａは、ステップＳ１２で得られた結果データを含む出力画像を生成する（Ｓ７）。このとき、探索装置２ａは、推定結果とともに、ステップＳ０６で生成した誘導情報を含む出力画面を生成してもよい。
【００８２】
探索装置２ａは、ステップＳ０７で生成した出力画像を出力する（Ｓ０８）。例えば、探索装置２ａは、図７に示すような出力画像を出力する。例えば、探索装置２ａは、出力画像を、地図を格子状とし、その格子で存在する確率の高低に応じて、格子の表示形式（色等）を異なるようにするようにしてもよい。また、探索装置２ａは、出力画像において、推定位置の軌跡を含めてもよい。
【００８３】
なお、上述した例では、探索装置２は、表示装置２３に推定結果や誘導情報等を含む出力画面を表示するものとして説明したが、スピーカ（図示せず）を利用して、推定結果や誘導情報を出力可能としてもよい。
【００８４】
このように、実施形態に係る位置推定装置１では、対象Ｔの動物や所有物を探索する際、対象Ｔの動物や所有物が有する発信器３からの信号を受信し、位置を推定することができる。したがって、ユーザは、この位置推定装置１を携帯して移動することで、探索の際に誤った方向に進むことを防止し、どの方向に進めばよいのかを把握することが可能となり、探索を効率よく進めることができる。
【００８５】
ここで、ＢＬＥ信号の発信器３は、消費電力が低い。したがって、発信器３の電池交換の必要回数は極めて少なくて済む。例えば、猫等のペットの首輪に発信器３を付ける場合、ペットが首輪を交換する期間程度、同一の電池で対応することも可能である。
【００８６】
また、ＢＬＥ信号の発信器３は、小型及び低コストであるため、容易にペットの首輪、子供や高齢者の洋服に付けることができる。
【００８７】
さらに、多くのスマートフォン等の情報処理装置でＢＬＥ信号の受信器２４が内蔵されている。したがって、ユーザは、わざわざ専用の探索装置を購入する必要はなく、もともと持っている自身のスマートフォンに専用のアプリケーション（探索プログラムＰ２）のみをインストールすることで、スマートフォンを探索装置として利用することができる。
【００８８】
記憶装置１１は、位置推定装置１が動作上必要とする各種プログラムやデータを記憶する記録媒体である。記憶装置１１は、例えば、ＨＤＤ（Hard Disc Drive）、ＳＳＤ（Solid State Drive）などにより実現可能である。また、記憶装置２１も同様に、探索装置２ａ〜２ｃが動作上必要とする各種プログラムやデータを記憶する記録媒体である。
【００８９】
また、位置推定装置１は、ＣＰＵ１０が位置推定プログラムＰ１を実行することにより、実現することとしているが、これは位置推定装置１に集積回路（ＩＣ（Integrated Circuit）チップ、ＬＳＩ（Large Scale Integration））等に形成した論理回路（ハードウェア）や専用回路によって実現してもよい。また、これらの回路は、１又は複数の集積回路により実現してもよく、上記実施の形態に示した複数の機能部の機能を１つの集積回路により実現することとしてもよい。ＬＳＩは、集積度の違いにより、ＶＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩなどと呼称することもある。
【００９０】
すなわち、図８に示すように、位置推定装置１は、受信回路１０１ａ、受付回路１０２ａ、記憶処理回路１０３ｂ、推定回路１０４ａ及び出力回路１０５ａとから構成してもよく、それぞれの機能は、上記実施の形態に示した同様の名称を有する各部と同様である。
【００９１】
また、探索装置２ａ〜２ｃも同様に、集積回路等の制御回路に実現することとしてもよい。すなわち、図８に示すように、探索装置２は、登録回路２００、リクエスト回路２０１ａ、取得回路２０２ａ、受信処理回路２０３ａ、距離特定回路２０４ａ、送信処理回路２０５ａ、演算回路２０６ａ、誘導回路２０７ａ、画像生成回路２０８ａ、出力回路２０９ａととから構成してもよく、それぞれの機能は、上記実施の形態に示した同様の名称を有する各部と同様である。
【００９２】
また、上記位置推定プログラムＰ１及び探索プログラムＰ２は、ＣＰＵ１０、２０が読み取り可能な記録媒体に記録していてもよく、記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、位置推定プログラムＰ１及び探索プログラムＰ２は、当該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介してプロセッサに供給してもよい。なお、当該プログラムが電子的な伝送によって具現化した、搬送波に埋め込まれたデータ信号の形態でも実現し得る。
【００９３】
なお、位置推定プログラムＰ１及び探索プログラムＰ２は、例えば、ActionScript、JavaScript（登録商標）、Python、Rubyなどのスクリプト言語、C言語、C＋＋、C＃、Objective-C、Swift、Java（登録商標）などのコンパイラ言語などを用いて実装できる。
【００９４】
その他、位置推定システム５において、位置推定の対象Ｔである動物の情報を参照することで、位置推定の精度を向上させるようにしてもよい。例えば、動物の年齢、性別、性格、通常時の移動スピード等を登録し、その動物が移動可能な範囲を考慮することを可能とし、位置推定に反映させるようにしてもよい。
【００９５】
例えば、ペットの場合、発信器３は、首輪に付ける例で説明したが、子供や高齢者の場合、洋服等に付けたり、ベルト等で足や腕に付けるようにしてもよい。
【００９６】
また、位置推定システム５は、住宅地等において迷子の動物を探すばかりでなく、公園、テーマパーク、デパート、ショッピングセンター等の子供が迷子になりやすい場所でも有効である。このような場合、テーマパークやデパートのスタッフが探索装置を携帯することで、様々な場所から情報を収集することができるため、位置推定の精度を向上させ、探索を効率化することができる。
【００９７】
実施形態１に係る発明は、迷子になったペット、小さな子供、高齢者等の動物の位置の推定精度を向上することができ、動物の探索を効率よくすることができるという効果を有し、位置推定装置全般に適用可能である。
【００９８】
（実施形態２）
以下に、図面を用いて本発明の実施形態２に係る位置推定システム及び位置推定装置について説明する。
【００９９】
図１１は、実施形態２に係る位置推定システム５０の概要を説明する説明図である。位置推定システム５０は、管理装置７０と、複数の位置推定装置３０ａ〜３０ｃと、発信器３とを備える。また、管理装置７０と複数の位置推定装置３０ａ〜３０ｃとはネットワーク４を介して接続される。位置推定装置３０ａは本発明における第一の探索装置、位置推定装置に相当し、位置推定装置３０ｂ、３０ｃは第二の探索装置に相当する。本実施の形態において、位置推定装置３０ａ〜３０ｃは同一の構成であるので、特に第一の探索装置と第二の探索装置を分けて説明する場合を除き、位置推定装置３０と総称する。また、ここ図１１では第二の探索装置として、位置推定装置３０、３０ｃの２台を例示するが、台数は１台であってもよいし、２台以上の複数であってもよい。なお、実施形態２に係る位置推定システムの全体構成は、実施形態１において説明した図２の構成と同様であるため、同一の構成については、同一の符号を用いて説明を省略する。
【０１００】
以下では、位置推定装置３０は、図１０に示すように、位置推定装置３０のユーザであって、位置推定の対象Ｔである猫の飼い主が有する装置であって、飼い猫が迷子になった場合に、猫の首輪等につけられた発信器３から発信される信号を用いて対象Ｔである猫の位置を推定するものとして説明する。なお、位置推定の対象Ｔは、猫に限られず、どのような対象であってもよく、生物に限られず、自動車や自転車、ドローン、ロボットなどであってもよい。
【０１０１】
図１１に示すように、管理装置７０は、記憶装置５１、中央処理装置（ＣＰＵ）６０、入力装置１２、出力装置１３、通信Ｉ／Ｆ１４を備える。また、記憶装置５１は、ＩＤデータ５１０と、集計データ５１１を記憶し、ＣＰＵ６０は、受信部６０１、受付部６０２、記憶処理部６０３、送信部６０４を備える。
【０１０２】
受信部６０１は、探索の対象に取り付けられる発信器３から送信される信号を受信可能な他の位置推定装置３０から、当該他の位置推定装置３０の位置を示す位置情報（第二の位置情報）と、発信器から当該他の位置推定装置３０までの距離を示す距離情報（第二の距離情報）とを受信する。
【０１０３】
記憶処理部６０３は、ＩＤデータ５１０と、受信部６０１が位置推定装置３０ａ〜３０ｃから受信する新着データを集計データ５１１として記憶装置５１に記憶する。ここで、新着データには、対象Ｔを識別する識別情報（例えば、対象Ｔが猫であれば猫ＩＤ）、位置推定装置３０の装置の識別情報（装置ＩＤ）、位置推定装置３０の位置を示す位置情報（第一の位置情報）、対象Ｔから位置推定装置３０までの距離（第一の距離情報）が含まれる。
【０１０４】
ＩＤデータ５１０は、対象Ｔの識別情報と、当該対象Ｔの位置を推定する位置推定装置の識別情報とを関連付けたデータである。ＩＤデータ５１０は、例えば、猫ＩＤと、同一の猫を探索する位置推定装置３０の装置ＩＤとを関連付けたデータである。ここで、一匹の猫ごとに、当該猫を探す複数の位置推定装置３０を１つのグループとして形成することとする。すなわち、グループは、少なくとも１つの対象Ｔを探す複数の位置推定装置３０の集合である。グループ内の複数の位置推定装置３０は、少なくとの１つの対象Ｔに関連する情報を送受信し、互いに連携して、当該対象Ｔの位置を推定する。例えば、図１２に示すように、猫Ａを探すグループをグループ１として、グループ１に、猫Ａの猫ＩＤと位置推定装置３０ａ、３０ｂ、３０ｃ、３０ｄの各装置ＩＤを関連付け、猫Ｂを探すグループ２として、グループ２に、猫Ｂの猫ＩＤと、位置推定装置３０ｅ、３０ｆ、３０ｇの各装置ＩＤを関連付けるデータである。
【０１０５】
集計データ５１１は、管理装置７０が、発信器３を有する対象Ｔ毎に、各位置推定装置３０ａ〜３０ｃから受信するデータを蓄積したものである。実施形態１と同様に、各発信器３について、図４（ａ）に示すように、位置推定装置３０の識別情報（装置ＩＤ）と、時刻情報と、この時刻における位置推定装置の位置情報と、この時刻における位置推定装置３０と対象Ｔの距離とを関連付ける（対応付ける）データである。すなわち、集計データ５１１は、時刻を示す情報である時刻情報と、当該時刻において取得した位置推定装置３０の位置を示す位置情報と、当該時刻において特定した位置推定装置３０の距離を示す距離情報とを対応付けるデータである。
【０１０６】
送信部６０４は、位置推定装置３０から受信した最新データを、当該位置推定装置３０が属するグループ内の他の位置推定装置３０に転送する。最新データは、少なくとも、位置推定装置３０に関する位置情報及び距離情報を含む。なお、最新データは、集計データ５１１であってもよい。管理装置７０は、グループ１に属する位置推定装置３０ａから最新データを受信したことに基づいて、グループ１に属する位置推定装置３０ａ以外の位置推定装置３０ｂ、３０ｃ、３０ｄに当該最新データを転送する。
【０１０７】
入力装置１２、出力装置１３、通信Ｉ／Ｆ１４は、実施形態１と同様であるため、説明を省略する。
【０１０８】
位置推定装置３０は、中央処理装置（ＣＰＵ）３００、記憶装置３３１、入力装置３２、表示装置３３、受信器３４、通信Ｉ／Ｆ３５を備え、ユーザの有するスマートフォン等の携帯可能な情報処理装置を利用して、実現することができる。具体的には、位置推定装置３０として利用する情報処理装置の記憶装置３３１に記憶される位置推定プログラムＰを実行することで、ＣＰＵ３００が、取得部３０１、受信部３０２、距離特定部３０３、推定部３０４、演算部３０５、誘導部３０６、画像生成部３０７、記憶処理部３０８、送信部３０９、出力部３１０として処理を実行する。ここで、通信Ｉ／Ｆ３１５は、実施形態１における通信Ｉ／Ｆ２５と同様の構成であるため、説明を省略する。
【０１０９】
取得部３０１は、ＧＰＳ（全地球測位システム）の電波を取得し、取得した電波から、自装置である位置推定装置１の位置を特定する。また、取得部３０１は、特定した自装置の位置を、時刻と共に、記憶装置３３１に記憶される位置データ３１１に追加する。例えば、取得部３０１は、定期的なタイミングで電波を受信して位置推定装置３０の位置を特定してもよいし、受信部３０２が信号を入力したタイミングで位置推定装置３０の位置を特定してもよい。
【０１１０】
受信部３０２は、対象Ｔが有する発信器３からの信号や、管理装置７０からの新着データなどを受信する。受信部３０２は、受信した信号と、管理装置７０からの新着データを距離特定部３０３に出力する。位置推定装置３０では、位置推定の対象Ｔが有する発信器３が発する所定の信号の識別情報を対象データ３１２として、記憶装置３３１に記憶する。これにより、受信部３０２は、受信した信号または新着データのうち、対象Ｔの発信器３の識別情報の信号のみを距離特定部３０３に出力することができる。
【０１１１】
距離特定部３０３は、受信器３４から入力された所定の信号から、位置を推定する対象Ｔまでの距離を特定する。また、距離特定部３０３は、所定の信号を受信した時刻と、所定の信号を受信した際の位置推定装置３０の位置と、測定した位置とを関連付けて、記憶装置３３１に記憶される距離データ３１３に追加する。
【０１１２】
ＢＬＥの信号の電波強度は、発信器３で発信された後、所定の減衰率で、距離に応じて減衰する。したがって、距離特定部３０３は、その減衰率に基づき、発信器３から受信器３４までの距離、すなわち、発信器３から位置推定装置３０までの距離を特定することができる。
【０１１３】
送信部３０９は、位置推定装置３０の装置ＩＤと、受信部３０２により受信した信号により識別される猫ＩＤと、特定した距離を示す距離情報と、取得部３０１により取得された自己の位置を示す位置情報を管理装置７０に送信する。
【０１１４】
推定部３０４は、複数の異なる位置・時刻に受信した所定の信号に基づいて特定された複数の距離情報と、複数の時刻において取得した自装置（第一の位置推定装置３０）の位置（以下、自装置の位置、という。）を示す複数の位置情報とから、発信器３を有する対象Ｔの位置を推定する。また、推定部３０４は、管理装置７０から他装置（第二の位置推定装置３０）である位置推定装置３０の新着データを受信したか否かを判断する。新着データは、少なくとも、他装置（第二の位置推定装置３０）に関する位置情報及び距離情報を含む。なお、新着データは、他装置における集計データ５１１であってもよい。
【０１１５】
推定部３０４は、管理装置７０から受信した場合は、自装置の位置および距離特定部３０３により特定された距離（以下、対象Ｔから自装置までの距離、という。）を示す距離情報と、管理装置７０から受信した新着データに含まれる他装置となる位置推定装置３０の位置（以下、他装置の位置、という。）を示す位置情報、および、他装置により特定された距離（第二の距離）（以下、対象Ｔから他装置までの距離、という。）を示す距離情報を時系列順に推定部３０４に順次入力して対象Ｔの位置を推定する。また、推定部３０４は、得られた推定位置を、信号を受信した時刻と共に、記憶装置３３１に記憶される推定データ３１４に蓄積する。
【０１１６】
例えば、推定部３０４は、時系列フィルタリングを利用する。具体的には、推定部３０４は、いわゆるパーティクルフィルタ（粒子フィルタ）を利用して対象Ｔの位置を推定する。ここで、推定部３０４が利用するパーティクルフィルタは、不規則な移動を行う対象物の位置推定に使える時系列データの予測手法である。例えば、画像処理による物体追跡に利用されるものである。複数のサンプルデータとして異なる複数の時刻に取得した誤差を含むデータを集めてパーティクルフィルタを利用することで、推定対象の位置をできるだけ誤差を小さくして推定することができる。
【０１１７】
演算部３０５は、取得部３０１で前回得られた自装置の位置から今回新たに得られた自装置の位置までを結ぶベクトルを求める。
【０１１８】
誘導部３０６は、演算部３０５で得られたベクトルにもとづいて、対象の位置推定上有利となる方向に移動するよう誘導する誘導情報を生成する。
【０１１９】
画像生成部３０７は、取得部３０１が取得した自装置の位置と、推定部で得られた対象の推定位置とを含むマップ画像を推定結果として生成する。
【０１２０】
記憶処理部３０８は、受信部３０２が受信する位置推定装置３０ａ〜３０ｃの装置の識別情報と、位置推定装置３０ａ〜３０ｃの装置の位置情報と、これら位置推定装置３０ａ〜３０ｃの対象Ｔまでの距離情報を受信すると、これらを関連付けて集計データ３１８として、記憶装置３３１に記憶させる。
【０１２１】
出力部３１０は、推定部３０４で得られた推定位置を出力する。例えば、出力部３１０は、表示装置３３に推定位置を画像表示してもよいし、それとともに、誘導部３０６により生成された誘導情報を、スピーカ（図示せず）に音声案内として出力してもよい。
【０１２２】
入力装置３２は、位置推定装置３０のユーザが操作信号の入力に使用する操作ボタンやタッチパネル等である。
【０１２３】
表示装置３３は、位置推定装置３０において、推定結果等の出力画面を表示するディスプレイである。
【０１２４】
受信器３４は、位置推定の対象Ｔに付けられた発信器３から発信された信号を受信し、その電波強度を特定可能な受信装置である。この電波強度は電磁気学的原理により、受信機３４と発信器３との距離に応じて変化するため、距離の特定に利用できる。ただし、原理的にその特定精度は低く、真値に対して数％以上の誤差を含む。
【０１２５】
発信器３から発信される信号は、発信器３の位置情報を含む必要はなく、少なくとも発信器３の識別情報を含めばよい。以下の説明では、受信器３４は、ＢＬＥ等の信号を受信するものとして説明する。この場合、対象Ｔには、例えば、所定時間毎にＢＬＥ信号を発信する発信器３を有する必要がある。
【０１２６】
記憶装置３３１は、位置推定プログラムＰの他、画像データ３１０、位置データ３１１、対象データ３１２、距離データ３１３、推定データ３１４、ベクトルデータ３１５及び誘導データ３１６、ＩＤデータ３１７、集計データ３１８を記憶する。
【０１２７】
画像データ３１０は、位置推定装置３０において、表示装置３３に表示する出力画面等の生成に利用されるデータである。
【０１２８】
位置データ３１１は、取得部３０１が取得した位置推定装置３０の位置情報と、位置情報を取得した時刻情報とが関連付けられるデータである。
【０１２９】
対象データ３１２は、位置推定装置３０の位置推定の対象Ｔの識別情報に関するデータである。
【０１３０】
距離データ３１３は、受信部３０２で受信した信号に基づいて距離特定距離特定部３０３で特定された位置推定装置３０と対象Ｔとの概略距離と、距離の特定に利用した信号を受信した時刻情報とが関連付けられるデータである。
【０１３１】
推定データ３１４は、受信部３０２で受信した信号に基づいて推定部３０４で推定した対象Ｔの推定位置と、位置推定に利用した信号を受信した時刻情報とが関連付けられるデータである。
【０１３２】
ベクトルデータ３１５は、取得部３０１で受信した位置推定装置３０の位置情報に基づいて演算部３０５で演算された異なる時刻の位置を結ぶベクトルと、位置情報を取得した時刻情報とが関連づけられるデータである。
【０１３３】
誘導データ３１６は、取得部３０１で取得した位置情報に基づいて誘導部３０６で生成された誘導情報と、位置情報を取得した時刻情報とが関連付けられるデータである。
【０１３４】
ＩＤデータ３１７は、位置推定の対象Ｔに取り付けられる発信器３の識別情報と、その対象Ｔと関連する飼い主、保護者、所有者等であるユーザが有する位置推定装置３０の識別情報とを関連づけるデータである。
【０１３５】
集計データ３１８は、位置推定装置３０が受信した自装置の位置および対象Ｔから自装置までの距離と、管理装置７０を介して受信する、グループ内の他装置の位置および対象Ｔから他装置までの距離を含む新着データが蓄積されたデータである。
【０１３６】
なお、図９に示す例では、位置データ３１１、距離データ３１３、推定データ３１４、ベクトルデータ３１５および誘導データ３１６を別々のデータとして記憶しているが、図１３に示すように、１のデータに全ての情報が含まれる構成であってもよい。
【０１３７】
例えば、図１２に示す例では、位置推定装置３０は、時刻t1に自装置である位置推定装置３０の位置として「P1」を取得し、時刻t1に受信した信号を発信した発信器３と位置推定装置３０の概略距離として「L1」が特定されたことが分かる。なお、位置を推定するためには、幾何学的な制約により３つ以上の異なる位置にて求めた距離が必要である。したがって、時刻t1に受信した信号から特定された概略距離「L1」のみから発信器３の位置、すなわち、対象Ｔの推定位置を求めることはできない。また、ベクトルを求めるためにも、複数の地点における位置推定装置３０の位置が必要であるため、時刻t1に取得した位置「P1」のみからベクトルを求めることはできない。
【０１３８】
また、図１３に示す例では、位置推定装置３０は、時刻t1,t2,t3に位置推定装置３０の位置として「P1,P2,P3」および、距離「L1,L2,L3」を取得し、これら距離から推定位置「Q3」を求めたことが分かる。さらに、P1,P2から、位置推定装置１のベクトルV1,2を求めたこと、さらにP2,P3から、ベクトルV2,3を求めたことが分かる。
【０１３９】
＜パーティクルフィルタが必要な理由＞
誤差を含む時系列信号を用いた移動体の位置推定によく用いられる手法として、カルマンフィルタがある。カルマンフィルタは、少ない計算コストで理論的に最適な位置推定が可能な優れた手法であるが、（条件１）移動体の運動モデルが比較的単純であること（線形性があること）、（条件２）誤差の確率分布が正規分布に従っていること、という制約を満たす場合しか使えない。したがって、本システムが対象とする猫等の対象では、予測不能な複雑な運動を行うため、カルマンフィルタを適用するのは難しい。
【０１４０】
パーティクルフィルタは、前記（条件１）および（条件２）が成立しなくても適用可能な手法である。粒子（パーティクル）と呼ばれる仮想的な推定点を計算機上でランダムに多数発生させ、各計測値に対する尤度を用いて各パーティクルを評価して絞り込むことで、誤差をできるだけ最小化して位置推定を実施することができる。
【０１４１】
さて、位置推定処理は、一定の周期で、自己位置の特定、対象Ｔとの距離特定、対象Ｔの位置推定という一連のステップを繰り返す形式とする。これをステップ１回目、２回目、・・・N回目と表す。
【０１４２】
＜基礎円＞
また、『取得部３０１がある時刻tに受信した自己位置Ptを中心位置とし、同じ時刻tに距離特定部３０３で得られた距離Ltを半径とする仮想的な円』のことを、『（時刻ｔの）基礎円 Ct』と呼ぶことにする。
【０１４３】
＜パーティクル初期化＞
まず推定処理のステップ１回目について説明する。この時刻をt1とする。推定部３０４は、基礎円Ct1の円周付近に、M個のパーティクル（粒子）を乱数でランダムに配置したデータを発生させ、これを保持しておく。ここでMは数百〜数千程度の定数である。これをパーティクルの初期化と呼ぶ。
以下、時刻tiにおけるk番目のパーティクルの位置ベクトルを
Xti,k(k=0,1,2,3,...,M-1)と表すことにする。
【０１４４】
＜パーティクル初期分布＞
前記パーティクルの初期化に用いる乱数の確率分布は、基礎円Bｔの中心からの距離Rと、方位角度θよって定める（図１４（ａ））。Rの確率分布は、基礎円の半径を平均値とする正規分布とする。また、θの確率分布は0度〜360度範囲内の一様分布とする。
【０１４５】
＜パーティクルフィルタ全体概要＞
次に、推定処理のn回目（n>1）ステップにおいて、推定部３０４は、対象Tの位置推定値の更新を行うが、そこでは（ａ）パーティクルの予測、（ｂ）尤度の計算、（ｃ）パーティクルのリサンプリング、（ｄ）推定位置の更新、という詳細ステップが含まれる。以下それらについて説明する。
【０１４６】
＜（ａ）パーティクルの予測＞
「パーティクルの予測」とは、k-1回目のステップにおいて保持されている全てのパーティクルの位置を各々移動させることである。これは各パーティクルを対象Ｔに見立て、その移動をシミュレートすることに相当している。ここで、パーティクルの移動量は対象Ｔの運動特性に合わせて適切に設定する。例えば対象Ｔの最大移動速度に応じて最大移動可能範囲を設定し、その範囲内でランダムに移動先を決める、などである。すなわち、
Xtn,k＝Xt(n-1),k＋ΔXk：  ただし、ΔXkはk番目のパーティクルの移動量ベクトル
ΔXk=random(0,|ΔXmax|)：ただし、random(C,R)は、中心Cから半径Rの円内の位置を一様乱数で選択し、その位置ベクトルを返す関数とする。また、ΔXmaxは、Ｔの最大移動可能量を表すベクトルとする。
【０１４７】
＜（ｂ）尤度の計算＞
「尤度の計算」とは、「（ａ）パーティクルの予測」で予測を終えた各々のパーティクルについて尤度wtn,kを計算することである。ここでの尤度は、各パーティクルの位置に対象Ｔが存在すると仮定した場合に、その時刻の基礎円Ctnが計測されうる確率を表したものである。たとえば、k番目のパーティクル位置と自己位置との距離値Jtn,kに対し、基礎円の半径Rtnを平均値とする正規分布の確率密度関数を適用することで尤度を計算できる。すなわち、
wtn,k＝pdf_norm(Rtn,S,Jtn,k)
である。ただし、pdf_norm(m,s,c)は、平均値m、標準偏差sの正規分布における、値cに対する確率密度関数（probability densitiy function）である。
また、Sは距離特定値の標準偏差であり、使用するBLE機器の特性などに応じて適切に設定する。
【０１４８】
＜（ｃ）パーティクルのリサンプル＞
「パーティクルのリサンプリング」とは、「（ｂ）尤度の計算」にて計算された尤度を使って各パーティクルを抽出する処理である。その際、尤度が高いパーティクルほど、抽出される可能性が高くなるように調整する。したがって、尤度が低いパーティクルは消滅させる場合もある。なおリサンプリング後もパーティクルの個数は一定とするため、尤度の高いパーティクルは複数回抽出することがある。
【０１４９】
＜（ｄ）Ｔの推定位置の更新＞
「Ｔの推定位置の更新」とは「（ｃ）パーティクルのリサンプリング」にて得られたパーティクルのうち最も尤度の高いパーティクルを選び、その位置を、対象Ｔの新たな位置として採用することである。ただし、この更新結果を実際のＴの推定位置として採用するのは、繰り返しステップn=3回目以降とする。理由は、幾何学的制約である。少なくとも相異なる3個以上の自己位置からの距離値がないと、幾何学的にTの位置を求められない。
【０１５０】
＜パーティクルフィルタの実行例＞
例えば、図１５（ａ）は、推定部３０４で対象Ｔの位置を推定する際の、位置推定装置１と対象Ｔの位置関係と、利用するパーティクル（粒子）の関係を示す例である。ここで、パーティクルは、対象Ｔが存在する可能性のある位置を特定する点である。図１５（ａ）における複数の円は、時刻t1,t2,t3に得られた基礎円Ct1,Ct2,Ct3を描いたものである。
【０１５１】
＜パーティクルフィルタによって位置推定ができる理由＞
ある時刻t11におけるパーティクルの尤度は、「（ｂ）尤度の計算」にて説明したように、基礎円 Ct1 の円周付近で高くなり、そこから離れるほど低くなるように設定している。そのため、「（ｃ）パーティクルのリサンプリング」により Ct1 の円周付近のパーティクルの密度が高くなる。
【０１５２】
また、同様に時刻t2におけるパーティクルの密度は、基礎円Ct2の円周付近で高くなる。さらに時刻t3でも同様に基礎円Ct3は円周付近のパーティクルの密度を高める。
【０１５３】
したがって、このような処理を繰り返すことにより、基礎円Ct1,Ct2,Ct3,...の円周が重なり合った位置付近のパーティクル密度が高まることになる。この高密度領域は対象Tが存在する可能性が高い領域に相当するので、例えばこの領域の重心位置を求めることにより、最終的に対象Tの位置を推定することができる。
【０１５４】
＜計測者誘導＞
またこの際、これら複数の基礎円の配置の具合によって、対象Tの位置推定の精度は異なる。いま、対象Tが静止していると考え、さらに、距離計測に全く誤差がない場合を考えてみる。相異なる（あいことなる）複数の位置から計測した距離値を用いて、対象Tの位置を求めようとする場合、幾何学的な原理により、少なくとも３個以上の計測値があり、かつ各計測位置が同一直線上に位置しないとき、それぞれの距離値を半径とする円の交点を求めることができ、それが対象Tの位置となる（図１４（ｂ））。
【０１５５】
したがって、位置推定装置３０の移動経路が一直線状になるのは好ましくなく、適度に方向を変化させながら移動する必要があることが分かる。
【０１５６】
前記の説明は、距離の測定誤差や対象Tの移動を考慮した場合も基本的に同様である。本システムでは、パーティクルフィルタにより、対象Tの移動や距離の測定誤差を勘案して尤度を計算し、確率的に対象Tの位置を推定するが、幾何学的な原理は前記と同様である。
【０１５７】
演算部３０５は、取得部３０１で前回得られた位置推定装置３０の位置から今回新たに得られた位置推定装置１の位置までを結ぶベクトルを求める。また、演算部３０５は、求めた演算結果を、対象の信号を受信した時刻と共に、記憶装置３３１に記憶されるベクトルデータ３１５に蓄積する。
【０１５８】
例えば、図１５（ａ）に示すように、位置推定装置３０が点P1にあった後、図１５（ｂ）に示すように、位置推定装置３０が点P2に移動したとする。この場合、点P1から点P2までのベクトルV1,2を求める。
【０１５９】
＜誘導情報の生成＞
誘導部３０６は、演算部３０５で得られたベクトルと異なる方向に移動するよう誘導する誘導情報を生成する。これにより、誘導部３０６は、一直線でない方向に移動するよう誘導する。この誘導情報は具体的には、次に進むべき移動方位角度φであり、図１５に示すφ1〜φ2または-φ1〜-φ2の角度範囲内の角度として生成する。
【０１６０】
ここで図１６について説明する。直前の移動位置P1,P2を通る直線をMとする。Mと並行で、かつ距離E離れている直線をMA,MBとする。ここでEは適当に定めたシステム定数である。
【０１６１】
次に点PA,PA',PB,PB'は、点P2を中心とし、ベクトルV1,2の長さを半径とする円と、直線MA,MBが交わる４つの点である。そして、角度φ1は直線Mと線分P2-PA'がなす角であり、φ2は直線Mと線分P2-PAがなす角である。
【０１６２】
距離Eの値は、システムで実際に使用する距離特定部３０３の精度特性を反映して、その距離値の分布の標準偏差の少なくとも２倍以上の値とする。可能であれば３倍以上が望ましい。
【０１６３】
移動方位角度φは、φ1〜φ2または-φ1〜-φ2の角度範囲内で決定するが、対象Tへ接近しながら探索するというシステムの目的を達成するため、さらなる調整を行う。
【０１６４】
すなわち、P1からP2へと自己位置が移動するにつれて、対象Tとの距離が増加している場合、つまり、Lt1<Lt2である場合には、90°≦φ≦φ2または-90°≧φ≧-φ2なるφとして決定する。
【０１６５】
また逆にLt1>Lt2である場合には、φ1≦φ＜90°または-φ1≧φ≧-90°なるφとして決定する。
【０１６６】
さらに前記に加えて、角度φの決定方法は本発明を搭載するシステムの外部構成や運用状況を加味して適切に決めればよい。例えば、GoogleMap（登録商標）のようなインターネットで提供される地図情報を援用できるシステムの場合は、前記角度範囲内でユーザが実際に移動可能な道路の方向に合わせて誘導情報を生成することが考えられる。
【０１６７】
また例えば、もっと単純なシステムの場合には、指定範囲内でランダムに決定することもできる。
【０１６８】
誘導部３０６は、前記のごとく生成した誘導情報である移動方向角度φを、対象の信号を受信した時刻とともに、記憶装置３３１に記憶される誘導データ３１６に蓄積する。
【０１６９】
＜画面表示関係＞
画像生成部３０７は、取得部３０１が取得した位置推定装置３０の位置と、推定部３０４で得られた推定位置とを含むマップ画像を推定結果として生成する。このとき、画像生成部３０７は、異なる時刻に得られた信号を用いて推定部３０４で得られた複数の推定位置を含む推定結果を生成する。また、画像生成部３０７は、複数の推定位置と共に、推定位置に存在したと推定した時刻を含む推定結果を生成する。さらに、画像生成部３０７は、誘導部３０６が誘導データを生成したとき、誘導情報を含む推定結果を生成する。
【０１７０】
出力部３０８は、取得部３０１が取得した位置推定装置３０の位置と、推定部３０４で得られた推定位置とを用いて画像生成部３０７が生成した推定結果を出力する。例えば、出力部３０８は、表示装置３３に、図１７（ａ）〜図１７（ｃ）に示すような出力画面を表示する。
【０１７１】
＜フローチャート＞
図１８に示すフローチャートを用いて、位置推定装置３０で実行される位置推定方法について説明する。位置推定装置３０は、まず、ユーザに携帯されながら移動され、発信器３から発信された所定の信号を受信する（Ｓ１）。
【０１７２】
また、位置推定装置３０は、自装置の位置を示す位置情報を取得する（Ｓ２）。この位置情報は、位置データ３１１として記憶装置３３１に記憶される。
【０１７３】
位置推定装置３０は、ステップＳ１で受信した所定の信号から、発信器３から自装置までの距離、すなわち、対象Ｔまでの距離を示す距離情報を特定する（Ｓ３）。この距離情報は、距離データ３１３として記憶装置３３１に記憶される。
【０１７４】
位置推定装置３０は、ステップＳ１で受信した所定の信号から対象Ｔの識別情報（猫ＩＤ）と、ステップＳ２で取得した位置推定装置３０の位置を示す位置情報と、ステップＳ３で特定した対象Ｔから自装置までの距離を示す距離情報を管理装置７０に送信する（Ｓ４）。
【０１７５】
位置推定装置３０は、管理装置７０から新着データを受信したか否かを判断する（Ｓ５）。例えば、位置推定装置３０ａは、管理装置７０から位置推定装置３０ｂ、３０ｃによる新着データを受信したか否かを判断する。位置推定装置３０は、管理装置７０から新着データを一件または複数件受信した場合（Ｓ５：Ｙｅｓ）、管理装置７０に送信した自装置のデータと、前記の新着データとの双方について、それらの全てのデータに付随している時刻情報の昇順にデータを並べる（ステップＳ６）。位置推定装置３０は、ステップＳ６における並び順序に従って、データ（各装置の位置情報および対象Ｔから各装置までの距離を示す距離情報）のパーティクルフィルター処理を実行する（Ｓ７）。
【０１７６】
位置推定装置３０は、ステップＳ５において、管理装置７０から新着データを受信しなかった場合（Ｓ５：Ｎｏ）、ステップＳ２で取得した位置推定装置３０の位置を示す位置情報と、ステップＳ５で特定した距離を示す距離情報とを使用して、パーティクルフィルター処理を実行する（Ｓ７）。
【０１７７】
位置推定装置３０は、パーティクル処理の結果として、対象Ｔの位置を推定する（Ｓ８）。推定された位置を示す推定位置は、推定データ３１４として記憶装置３３１に記憶される。
【０１７８】
位置推定装置３０は、ステップＳ２で取得した異なる時刻の位置推定装置１の位置を示す位置情報を使用して、ベクトルを演算する（Ｓ９）。このベクトルは、ベクトルデータ３１５として記憶装置３３１に記憶される。
【０１７９】
位置推定装置３０は、ステップＳ６で得られたベクトルを使用して、誘導情報を生成する（Ｓ１０）。この誘導情報は、誘導データ３１６として記憶装置３３１に記憶される。
【０１８０】
位置推定装置３０は、ステップＳ５で得られた推定位置と、ステップＳ７で得られたベクトルとを用いて出力画像を生成する（Ｓ１１）。
【０１８１】
位置推定装置３０は、ステップＳ１１で得られた出力画像を表示装置３３に出力する（Ｓ１２）。
【０１８２】
位置推定装置３０は、対象Ｔの推定を継続する間、ステップＳ１〜Ｓ１２の処理を繰り返す（Ｓ１３）。すなわち、位置推定装置３０は、対象Ｔの探索を継続する場合（Ｓ１３：Ｙｅｓ）、ステップＳ１に戻る。
【０１８３】
一方、位置推定装置３０は、対象Ｔの探索を終了する場合（Ｓ１３：Ｎｏ）、探索の終了通知を管理装置７０に送信する（Ｓ１４）。例えば、位置推定装置３０のユーザが、探索中である対象Ｔを発見した場合は、表示装置３３から探索終了のアイコンを押下することにより、位置推定装置３０から管理装置７０に探索の終了通知が送信される。
【０１８４】
なお、上述した例では、位置推定装置３０は、表示装置３３に推定結果や誘導情報等を含む出力画面を表示するものとして説明したが、スピーカ（図示せず）を利用して、推定結果や誘導情報を出力可能としてもよい。
【０１８５】
<シーケンス図>
図１９に示すシーケンス図を用いて、管理装置７０と、位置推定装置３０ａ〜３０ｃで実行される位置推定方法について説明する。ここでは、位置推定装置３０ａが探索をリクエストすることで、各位置推定装置３０ａ〜３０ｃが探索の対象Ｔが有する発信器３から受信する所定の信号に基づき、位置推定装置３０が対象Ｔの位置を予測するものとして説明する。
【０１８６】
まず、位置推定装置３０ａが、探索の開始の処理を実行すると（Ｓ３１）、探索を希望するリクエスト信号を管理装置７０に送信する（Ｓ３２）。リクエスト信号を受信した管理装置７０は、発信器３の識別情報を、探索対象として登録する。
【０１８７】
位置管理装置３０ａは、発信器３からの所定の信号を受信する（Ｓ３３）。また、位置管理装置３０ａは、ステップＳ３３における所定の信号の受信と同タイミングで取得した自装置の位置と、発信器３からの所定の信号とから、位置推定装置３０ａと発信器３との距離を特定する（Ｓ３４）。続いて、位置推定装置３０ａは、位置推定装置３０ａの識別情報（装置ＩＤ）と、ステップＳ３３の信号を受信した時刻情報と、当該信号に含まれる対象Ｔの識別情報（猫ＩＤ）と、位置推定装置３０ａの位置を示す位置情報と、ステップＳ３４で特定した距離を示す距離情報と、を含むデータを管理装置７０に送信する（Ｓ３５）。
【０１８８】
位置推定装置３０ｂは、発信器３からの信号を受信する（Ｓ４３）。また、位置推定装置３０ｂは、ステップＳ４３における信号の受信と同タイミングで取得した自装置である位置推定装置３０ｂの位置と、発信器３からの信号とから、位置推定装置３０ｂと発信器３との距離を示す距離情報を特定する（Ｓ４４）。続いて、位置推定装置３０ｂは、位置推定装置３０ｂの識別情報（装置ＩＤ）と、ステップＳ４３の信号を受信した時刻情報と、当該信号に含まれる対象Ｔの識別情報（猫ＩＤ）と、位置推定装置３０ｂの位置を示す位置情報と、ステップＳ４４で特定した距離を示す距離情報とを含むデータを管理装置７０に送信する（Ｓ４５）。
【０１８９】
位置推定装置３０ｃは、発信器３からの信号を受信する（Ｓ５３）。また、位置推定装置３０ｃは、ステップＳ５３における信号の受信と同タイミング取得した自装置である位置推定装置３０ｃの位置と、発信器３からの信号とから、位置推定装置３０ｃと発信器３との距離を示す距離情報を特定する（Ｓ５４）。続いて、位置推定装置３０ｃは、位置推定装置３０ｃの識別情報（装置ＩＤ）と、ステップＳ５３の信号を受信した時刻情報と、当該信号に含まれる対象Ｔの識別情報（猫ＩＤ）と、位置推定装置３０ｃの位置と、ステップＳ５４で特定した距離とを含むデータを管理装置７０に送信する（S５５）。
【０１９０】
管理装置７０は、位置推定装置３０ａ〜３０ｃから受信した各データを新着データとして、位置推定装置３０ａ、３０ｂ、３０ｃにそれぞれ送信する（Ｓ６１）。例えば、管理装置７０は、位置推定装置３０ａには、位置推定装置３０ｂと３０ｃから受信したデータを新着データとして送信し、位置推定装置３０ｂには、位置推定装置３０ａと３０ｃから受信したデータを新着データとして送信する。また、図１２で図示したように、猫ＩＤＡを探索するグループとして、位置推定装置３０ａ〜３０ｄの装置ＩＤがグループ１に関連付けられている。管理装置７０は、位置推定装置３０ａから受信した猫ＩＤが関連付けられているグループ１を検索すると、位置推定装置３０ａ〜３０ｃの他、位置推定装置３０ｄも関連付けられているので、位置推定装置３０ｄにも同データを送信する。これにより、例えば、ステップＳ３２において、位置推定装置３０ａがリクエスト信号を送信した際には、位置推定装置３０ｄは電波受信不能な状態であったが、後に電波受信可能な状態となったような場合でも、途中から対象Ｔの探索に加わることができる。
【０１９１】
位置推定装置３０ａは、ステップＳ３５において管理装置７０に送信した自装置の位置および対象Ｔから自装置までの距離と、ステップＳ６１において管理装置７０から受信した新着データに含まれる他装置の位置および対象Ｔから他装置までの距離とに基づいて対象Ｔの位置を推定する（Ｓ３６）。
【０１９２】
位置推定装置３０ａは、自装置の位置を利用して、誘導情報を生成する（Ｓ３７）。この誘導情報は、誘導データ３１６として記憶装置３３１に記憶される。
【０１９３】
位置推定装置３０ａは、ステップＳ３７で得られた結果データを含む出力画像を生成する（Ｓ３８）。このとき、位置推定装置３０ａは、推定結果とともに、ステップＳ３７で生成した誘導情報を含む出力画面を生成してもよい。
【０１９４】
位置推定装置３０ａは、ステップＳ３８で生成した出力画像を出力する（Ｓ３９）。例えば、位置推定装置３０ａは、図７に示すような出力画像を出力する。例えば、探索装置２ａは、出力画像を、地図を格子状とし、その格子で存在する確率の高低に応じて、格子の表示形式（色等）を異なるようにするようにしてもよい。また、位置推定装置３０ａは、出力画像において、推定位置の軌跡を含めてもよい。
【０１９５】
位置推定装置３０ａは、対象Ｔの探索が終了した場合は、探索の終了通知を管理装置７０に送信する（ステップＳ４０）。
【０１９６】
管理装置７０は、位置推定装置３０ａから探索の終了通知を受信すると、位置推定装置３０ｂと位置推定装置３０ｃに探索の終了通知を送信する（ステップＳ６２）。
【０１９７】
なお、上述した例では、位置推定装置３０は、表示装置３３に推定結果や誘導情報等を含む出力画面を表示するものとして説明したが、スピーカ（図示せず）を利用して、推定結果や誘導情報を出力可能としてもよい。また、図１８に示すシーケンス図では、位置推定装置３０ａが管理装置７０を介して、位置推定装置３０ｂ、３０ｃとのデータ送受信を行ったが、管理装置７０を介さず、位置推定装置３０ａ〜３０ｃの間で直接、データ送受信を行うこととしてもよい。
【０１９８】
また、位置推定装置３０は、ＣＰＵ３００が位置推定プログラムＰを実行することにより、実現することとしているが、これは位置推定装置３０に集積回路（ＩＣ（Integrated Circuit）チップ、ＬＳＩ（Large Scale Integration））等に形成した論理回路（ハードウェア）や専用回路によって実現してもよい。また、これらの回路は、１又は複数の集積回路により実現してもよく、上記実施の形態に示した複数の機能部の機能を１つの集積回路により実現することとしてもよい。ＬＳＩは、集積度の違いにより、ＶＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩなどと呼称することもある。
【０１９９】
すなわち、図１９に示すように、位置推定装置３０ａ〜３０ｃは、取得回路３０１ａ、受信回路３０２ａ、距離特定回路３０３ｂ、推定回路３０４ａ、送信回路３０９ａ及び出力回路３１０ａとから構成してもよく、それぞれの機能は、上記実施の形態に示した同様の名称を有する各部と同様である。
【０２００】
また、管理装置７０も同様に、集積回路等の制御回路に実現することとしてもよい。すなわち、図１９に示すように、管理装置７０は、受信回路６０１ａ、受付回路６０２ａ、記憶処理回路６０３ａ、送信回路６０４ａとから構成してもよく、それぞれの機能は、上記実施の形態に示した同様の名称を有する各部と同様である。
【０２０１】
また、上記位置推定プログラムＰは、ＣＰＵ３００が読み取り可能な記録媒体に記録していてもよく、記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、位置推定プログラムＰは、当該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介してプロセッサに供給してもよい。なお、当該プログラムが電子的な伝送によって具現化した、搬送波に埋め込まれたデータ信号の形態でも実現し得る。
【０２０２】
なお、位置推定プログラムＰは、例えば、ActionScript、JavaScript（登録商標）、Python、Rubyなどのスクリプト言語、C言語、C＋＋、C＃、Objective-C、Swift、Java（登録商標）などのコンパイラ言語などを用いて実装できる。
【０２０３】
その他、位置推定システム５０において、位置推定の対象Ｔの情報を参照することで、位置推定の精度を向上させるようにしてもよい。例えば、猫や子どもの年齢、性別、性格、通常時の移動スピード等を登録し、その動物が移動可能な範囲を考慮することを可能とし、位置推定に反映させるようにしてもよい。
【０２０４】
例えば、ペットの場合、発信器３は、首輪に付ける例で説明したが、子供や高齢者の場合、洋服等に付けたり、ベルト等で足や腕に付けるようにしてもよい。
【０２０５】
また、位置推定システム５０は、住宅地等において迷子の動物を探すばかりでなく、公園、テーマパーク、デパート、ショッピングセンター等の子供が迷子になりやすい場所でも有効である。このような場合、テーマパークやデパートのスタッフが探索装置を携帯することで、様々な場所から情報を収集することができるため、位置推定の精度を向上させ、探索を効率化することができる。
【０２０６】
このように、実施形態１および実施形態２に係る位置推定装置１、３０では、対象Ｔを探索する際、対象Ｔが有する発信器３からの信号を受信し、位置を推定することができる。したがって、ユーザは、この位置推定装置３０を携帯して移動することで、探索の際に誤った方向に進むことを防止し、どの方向に進めばよいのかを把握することが可能となり、探索を効率よく進めることができる。
【０２０７】
ここで、ＢＬＥ信号の発信器３は、消費電力が低い。したがって、発信器３の電池交換の必要回数は極めて少なくて済む。例えば、猫等のペットの首輪に発信器３を付ける場合、ペットが首輪を交換する期間程度、同一の電池で対応することも可能である。
【０２０８】
また、ＢＬＥ信号の発信器３は、小型及び低コストであるため、容易にペットの首輪、子供や高齢者の洋服に付けることができる。
【０２０９】
また、位置推定処理を管理装置７０で行うのではなく、位置推定装置３０である携帯端末で行うので、管理装置７０（サーバ等）の負荷を軽減することができる。
【０２１０】
さらに、多くのスマートフォン等の情報処理装置でＢＬＥ信号の受信器１４が内蔵されている。したがって、ユーザは、わざわざ単体の位置推定装置１を購入する必要はなく、もともと持っている自身のスマートフォンに専用のアプリケーション（位置推定プログラムＰ）のみをインストールすることで、スマートフォンを位置推定装置１として利用することができる。
【０２１１】
記憶装置５１は、位置推定装置３０が動作上必要とする各種プログラムやデータを記憶する記録媒体である。記憶装置１１、５１は、例えば、ＨＤＤ（Hard Disc Drive）、ＳＳＤ（Solid State Drive）などにより実現可能である。
【０２１２】
また、位置推定装置３０のＣＰＵ３００が位置推定プログラムP等を実行することにより、実現することとしているが、これは位置推定装置３０に集積回路（ＩＣ（Integrated Circuit）チップ、ＬＳＩ（Large Scale Integration））等に形成した論理回路（ハードウェア）や専用回路によって実現してもよい。また、これらの回路は、１又は複数の集積回路により実現してもよく、上記実施の形態に示した複数の機能部の機能を１つの集積回路により実現することとしてもよい。ＬＳＩは、集積度の違いにより、ＶＬＳＩ、スーパーＬＳＩ、ウルトラＬＳＩなどと呼称することもある。
【０２１３】
すなわち、図２０に示すように、位置推定装置３０は、取得回路３０１ａと、受信回路１０２ａ、３０２ａと、距離特定回路１０３ａ、３０３ａと、推定回路３０４ａと、演算回路３０５ａと、誘導回路３０６ａと、画像生成回路３０７ａと、出力回路３０８ａとから構成してもよく、それぞれの機能は、上記実施の形態に示した同様の名称を有する各部と同様である。
【０２１４】
また、管理装置７０も同様に、集積回路に実現することとしてもよい。すなわち、図２０に示すように、管理装置７０は、受信回路６０１ａ、受付回路６０２ａ、記憶処理回路６０３ａ、送信回路６０４ａとから構成してもよく、それぞれの機能は、上記実施形態２に示した同様の名称を有する各部と同様である。
【０２１５】
また、上記位置推定プログラムＰは、ＣＰＵ３００が読み取り可能な記録媒体に記録していてもよく、記録媒体としては、「一時的でない有形の媒体」、例えば、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、検索プログラムは、当該検索プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介してプロセッサに供給してもよい。なお、映像表示プログラムが電子的な伝送によって具現化した、搬送波に埋め込まれたデータ信号の形態でも実現し得る。
【０２１６】
なお、位置推定プログラムＰは、例えば、ActionScript、JavaScript（登録商標）、Python、Rubyなどのスクリプト言語、C言語、C＋＋、C＃、Objective-C、Java（登録商標）、swiftなどのコンパイラ言語などを用いて実装できる。
【産業上の利用可能性】
【０２１７】
この発明は、迷子になったペット、小さな子供、高齢者等の対象の位置の推定精度を向上することができ、対象の探索を効率よくすることができるという効果を有し、位置推定装置全般に適用可能である。
【符号の説明】
【０２１８】
１、３０ 位置推定装置
７０ 管理装置
１０、２０、６０、３００ ＣＰＵ
１０１、３０２、６０１ 受信部
１０２、３０８、６０３ 記憶処理部
１０３、３０４ 推定部 
１０４、３１０ 出力部
１１、２１、５１、３３１ 記憶装置
１１０、３１８、５１１ 集計データ 
１１１、３１４ 推定データ 
１２、２２、３２ 入力装置 
１３ 出力装置
２ａ、２ｂ、２ｃ 探索装置
２００ 登録部
２０１ リクエスト部
２０２、３０１ 取得部
２０３ 受信処理部
２０４ 距離特定部 
２０５ 通信処理部
２０６、３０５ 演算部
２０７、３０６ 誘導部
２０８、３０７ 画像生成部
３０９、６０４ 送信部
２０９ 出力部
２１０、３１０ 画像データ 
２１１、３１７、５１０ ＩＤデータ
２１２、３１１ 位置データ 
２１３、３１２ 対象データ 
２１４、３１３ 距離データ
２１５ 結果データ
２１６、３１５ ベクトルデータ 
２１７、３１６ 誘導データ 
２３、３３ 表示装置 
２４、３４ 受信器 
３ 発信器
５、５０ 位置推定システム
Ｐ 位置推定プログラム
Ｐ１ 位置推定プログラム
Ｐ２ 探索プログラム
Ｔ 対象
【図１】
2018124258.tif 000003
【図２】
2018124258.tif 000004
【図３】
2018124258.tif 000005
【図４】
2018124258.tif 000006
【図５】
2018124258.tif 000007
【図６】
2018124258.tif 000008
【図７】
2018124258.tif 000009
【図８】
2018124258.tif 000010
【図９】
2018124258.tif 000011
【図１０】
2018124258.tif 000012
【図１１】
2018124258.tif 000013
【図１２】
2018124258.tif 000014
【図１３】
2018124258.tif 000015
【図１４】
2018124258.tif 000016
【図１５】
2018124258.tif 000017
【図１６】
2018124258.tif 000018
【図１７】
2018124258.tif 000019
【図１８】
2018124258.tif 000020
【図１９】
2018124258.tif 000021
【図２０】
2018124258.tif 000022