(57)【要約】【課題】端末の位置を誤って算出することを抑止できること。【解決手段】位置算出システムは、複数の端末を備える。自端末は、複数の端末から受信した複数の音波の位置情報に基づき、自端末の位置を算出し、算出した自端末の位置情報を他端末に音波で送信する処理部を有する。処理部は、自端末の移動開始から移動終了までの間ＴＢにおいては、自端末の位置情報を送信しない。加えて、自端末の位置の算出処理の間ＴＡａは、自端末の位置情報を送信しない。これにより、音波を用いた位置算出において端末の位置を誤って算出することを抑止する。【選択図】図２
2020159855.tif 000002
【特許請求の範囲】
【請求項１】
複数の端末から構成される位置算出システムであって、
前記端末は、
複数の他端末から受信した複数の位置情報に基づき、自端末の位置を算出し、算出した自端末の位置情報を送信する処理部を備え、
前記処理部は、
自端末の移動開始から移動終了までの間においては、自端末の位置情報を送信しないことを特徴とする位置算出システム。
【請求項２】
前記処理部は、
自端末の位置の算出処理の間は、自端末の位置情報を送信しないことを特徴とする請求項１に記載の位置算出システム。
【請求項３】
前記位置情報を音波により送信および受信する音波通信部を備え、
前記処理部は、
複数の前記他端末から受信した複数の前記音波の前記位置情報に基づき、自端末の位置を算出することを特徴とする請求項１または２に記載の位置算出システム。
【請求項４】
前記処理部は、
少なくとも３つ以上の異なる前記位置情報の音波の到達時間差に基づき自端末と前記他端末との間の距離を算出し、自端末と前記他端末の距離関係に基づき自端末の位置を算出することを特徴とする請求項３に記載の位置算出システム。
【請求項５】
前記端末は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）の電波を受信できないエリア内で移動自在なことを特徴とする請求項１〜４のいずれか一つに記載の位置算出システム。
【請求項６】
基準となる位置情報を送信する複数の基準点をさらに備えたことを特徴とする請求項１〜５のいずれか一つに記載の位置算出システム。
【請求項７】
前記基準点を前記エリアの内部に設けたことを特徴とする請求項６に記載の位置算出システム。
【請求項８】
サーバと、前記サーバと通信可能な複数の端末と、から構成される位置算出システムであって、
前記端末は、
複数の他端末から受信した複数の位置情報を前記サーバに送信し、
前記サーバが算出した端末の位置情報を受信し、
複数の前記他端末の移動開始から移動終了までの間においては、前記端末の位置情報を前記サーバに送信しない処理部を備え、
前記サーバは、
前記端末に対する複数の前記他端末の位置情報に基づき、前記端末の位置を算出し、前記端末に算出した位置情報を送信する処理部、
を備えたことを特徴とする位置算出システム。
【請求項９】
前記端末は、
音波により前記位置情報を送信および受信する音波通信部を備え、
前記処理部は、前記他端末から受信した前記位置情報の音波の到達時間差を含む前記位置情報を前記サーバに送信し、
前記サーバの処理部は、前記端末に対応して受信した複数の前記位置情報に基づき、前記端末の位置を算出することを特徴とする請求項８に記載の位置算出システム。
【請求項１０】
前記サーバの処理部は、所定エリア内での前記端末の位置を表示出力することを特徴とする請求項８または９に記載の位置算出システム。
【請求項１１】
複数の他装置から受信した複数の位置情報に基づき、自装置の位置を算出し、算出した自装置の位置情報を送信する処理部を備え、
前記処理部は、
自装置の移動開始から移動終了までの間においては、自装置の位置情報を送信しないことを特徴とする位置算出装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、端末の位置を算出する位置算出システムおよび位置算出装置に関する。
【背景技術】
【０００２】
位置検出した複数の端末の位置情報に基づき、端末の位置を算出する技術がある（例えば、下記特許文献１参照。）。この技術によれば、端末が屋内に位置し、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）等による位置測定ができない場合であっても、端末が複数の他端末それぞれの位置や距離等の情報を受信することで、端末の位置を算出することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−１１２８６９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来技術では、端末の位置を正確に算出するためには、受信する各他端末の位置情報が正確でなければならない。例えば、他端末の位置情報が不正確であると、他端末の位置情報を受信した端末は誤った位置を算出してしまうことになる。
【０００５】
端末が不正確な位置情報を送信する要因の一つとして、端末の移動が考えられる。各端末間で位置情報を送信する場合、１．他端末の位置情報の受信、２．自端末の位置算出、３．自端末の位置情報の送信、を順に実施する。ここで、上記１．〜３．の間に自端末が地点Ａから地点Ｂに移動した場合、上記３．自端末の位置情報の送信、の時点で自端末がいる位置は、地点Ｂであるにもかかわらず、自端末は地点Ａの位置情報を送信してしまうことがある。従来技術では、端末が移動可能な場合、端末の移動状態を考慮して位置を算出しておらず、端末の位置を正確に算出することができなかった。
【０００６】
一つの側面では、本発明は、端末の位置を誤って算出することを抑止できることを目的とする。
【課題を解決するための手段】
【０００７】
本発明の一側面によれば、複数の端末から構成される位置算出システムであって、前記端末は、複数の端末から受信した複数の位置情報に基づき、自端末の位置を算出し、算出した自端末の位置情報を送信する処理部を備え、前記処理部は、自端末の移動開始から移動終了までの間においては、自端末の位置情報を送信しないことを要件とする。
【発明の効果】
【０００８】
本発明の一態様によれば、端末の位置を誤って算出することを抑止できるという効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施の形態１にかかる位置算出システムによる位置算出を説明する図である。
【図２】図２は、実施の形態１にかかる位置算出時の端末の移動状態と位置情報出力の関係を説明する図である。
【図３】図３は、実施の形態１にかかる端末のハードウェア構成例を示す図である。
【図４Ａ】図４Ａは、実施の形態１にかかる端末の移動時の位置算出例を説明する図である。（その１）
【図４Ｂ】図４Ｂは、実施の形態１にかかる端末の移動時の位置算出例を説明する図である。（その２）
【図４Ｃ】図４Ｃは、実施の形態１にかかる端末の移動時の位置算出例を説明する図である。（その３）
【図５】図５は、実施の形態１にかかる端末が行う位置算出の処理例を示すフローチャートである。
【図６】図６は、実施の形態１にかかる端末のデータ構造例を示す図表である。
【図７】図７は、実施の形態１にかかる位置算出システムの他の構成例を示す図である。
【図８】図８は、実施の形態２にかかる位置算出システムによる位置算出を説明する図である。
【図９Ａ】図９Ａは、実施の形態２にかかる端末が行う位置算出の処理例を示すフローチャートである。（その１）
【図９Ｂ】図９Ｂは、実施の形態２にかかる端末が行う位置算出の処理例を示すフローチャートである。（その２）
【図１０】図１０は、実施の形態２にかかる端末のデータ構造例を示す図表である。
【図１１】図１１は、実施の形態２にかかるサーバが行う位置算出の処理例を示すフローチャートである。
【図１２】図１２は、実施の形態２にかかるサーバのデータ構造例を示す図表である。
【図１３】図１３は、実施の形態２にかかるサーバが行う位置情報の通知例を示すフローチャートである。
【図１４】図１４は、実施の形態２にかかるサーバが通知する位置情報のデータ構造例を示す図表である。
【図１５】図１５は、実施の形態２にかかる端末が行う自端末の位置情報の決定例を示すフローチャートである。
【図１６】図１６は、実施の形態２にかかる端末の位置情報のデータ構造例を示す図表である。
【図１７】図１７は、実施の形態２にかかるサーバが管理する端末の位置情報の表示例を示す図である。
【発明を実施するための形態】
【００１０】
以下に図面を参照して、開示の位置算出システムおよび位置算出装置の実施の形態を詳細に説明する。
【００１１】
（実施の形態１）
図１は、実施の形態１にかかる位置算出システムによる位置算出を説明する図である。位置算出システムは、位置算出装置としての複数の端末１００（１００ａ，１００ｂ，…）を含む。実施の形態１では、端末１００間で位置情報を送受信することで、端末１００のみで自端末１００の位置を算出する例について説明する。
【００１２】
また、以下の説明において、端末１００は、自端末を他端末と区別するため、「自端末」、あるいは「子機」として説明する説明箇所がある。「自端末」、「子機」は、複数の端末１００のうち、新たに位置情報を算出する端末を指す。
【００１３】
端末１００は、例えば、倉庫１１０内部で移動自在な物体、例えば、図１の例では、倉庫１１０内部で物品や資材を搬送するフォークリフト等の移動体１２０（１２０ａ，１２０ｂ，…）に取り付けられる。また、端末１００は、移動体１２０を運転する作業員（ユーザ）が保持してもよい。なお、移動体１２０ａ〜１２０ｄにはそれぞれ符号Ａ〜Ｄを付している。
【００１４】
ここで、倉庫１１０内部に位置する端末１００は、倉庫１１０の天井によりＧＰＳの電波が遮蔽され受信できず、ＧＰＳによる位置測定が行えない状態であるとする。実施の形態１では、自端末１００は他の複数の端末１００から位置情報を受信し、この位置情報の受信状態に基づき、自端末１００の位置を算出する。
【００１５】
実施の形態１では、端末１００は、伝搬の距離に対応して送受信のタイミングに遅延を生じる媒体である音波を用いて位置情報を他の端末１００に送信する。そして、端末１００は、例えば、３点測位（３点交差法）等の手法により、受信した３つの位置情報の音波の到達時間差に基づき、自端末１００と位置情報の送信元の複数の端末１００との間の距離を算出する。そして、自端末１００に対する複数の端末１００の距離関係に基づき、自端末１００の位置を算出する。ここで、複数の端末１００（１００ａ〜１００ｄ）は、全て時間同期しているものとする。位置情報は、例えば、緯度−経度、あるいは倉庫１１０内での平面座標等である。さらに、高さの情報を含めてもよい。
【００１６】
なお、位置情報を音波以外、例えば光波で伝搬した場合、複数の端末１００から受信する位置情報の到達時間差が僅かとなり、対応して端末１００で高速処理が必要となるため、現実的ではない。
【００１７】
図１の記載に基づいて端末１００の位置情報の算出例を説明する。端末１００は、倉庫１１０の内部、あるいは外部に配置された複数の基準点１５０が送信する音波に基づき位置を算出する。図１のように、倉庫１１０の外部に３つの基準点（アンカー）１５０（１５０ａ，１５０ｂ，１５０ｃ）が配置されているとする。
【００１８】
基準点１５０は、固定位置に設置されていれば、固定の位置情報（例えば緯度、経度、高さ等）を出力可能である。また、基準点１５０は、受信したＧＰＳの電波により位置算出してもよく、この場合、基準点１５０は倉庫１１０内の端末１００と通信可能な範囲で移動することもできる。また、基準点１５０は、移動自在な端末１００であってもよく、この場合、端末１００は、倉庫１１０の外部に位置し、ＧＰＳの電波受信により、自端末１００の位置を測位することができる。
【００１９】
そして、倉庫１１０内部で、基準点１５０からの音波による位置情報を受信可能な位置に移動体１２０の端末１００（１００ａ，１００ｂ，１００ｃ）が位置し、端末１００ｄは基準点１５０からの位置情報を受信できない位置に位置しているとする。
【００２０】
基準点１５０からの位置情報を受信可能な位置の端末１００（１００ａ，１００ｂ，１００ｃ）は、複数の基準点１５０（１５０ａ，１５０ｂ，１５０ｃ）からの位置情報に基づき、位置を算出できる。例えば、図１の移動体１２０ａの端末１００ａは、３つの基準点１５０（１５０ａ，１５０ｂ，１５０ｃ）からの位置情報に基づき、自端末１００ａの位置を算出できる。他の端末１００ｂ，１００ｃも同様に、３つの基準点１５０（１５０ａ，１５０ｂ，１５０ｃ）からの位置情報に基づき位置を算出できる。なお、端末１００は、３点以上、例えば基準点１５０を４点以上取得することで、さらに位置検出の精度を向上できる。
【００２１】
倉庫１１０内で位置を算出できた複数の端末１００（１００ａ，１００ｂ，１００ｃ）それぞれの位置情報に基づき、さらに、他の端末１００ｄでも位置を算出できる。この端末１００ｄは、基準点１５０からの位置情報を受信できない位置に位置しているが、位置算出済みの複数（３つ）の端末１００ａ，１００ｂ，１００ｃそれぞれの位置情報を用いた３点交差法により、自端末１００ｄの位置を算出できるようになる。
【００２２】
ここで、実施の形態１の各端末１００は、起動したタイミング、および移動していない期間（停止中）、位置の算出を行い、この停止中に算出した位置情報を他の端末１００に向けて送信する。ここで、各端末１００は、停止中継続して位置情報を送信するが、位置情報は時間的に連続して送信してもよいし、所定周期を有して間欠的に送信してもよい。間欠的に送信すれば端末１００の消費電力を抑えることができる。
【００２３】
一方、各端末１００は、移動開始から移動終了までの期間（移動中）においては、自端末１００の位置情報を送信しない。
【００２４】
例えば、図１の端末１００ｄは、下記１．２．の処理により位置を算出する。
１．移動体Ｄの停止時に位置算出（測位）処理を起動
２．他の移動体Ａ〜Ｃの端末１００ａ〜１００ｃから受信した複数の位置情報に基づき、移動体Ｄ（端末１００ｄ）の位置を算出
３．算出した位置情報は移動体Ｄ（端末１００ｄ）の停止中のみ送信する（移動開始時に位置情報を送信停止）
【００２５】
上記により、基準点１５０からの位置情報を受信できない位置に位置している端末１００ｄであっても、通信可能な位置算出済みの他の複数（３つ以上）の端末１００ａ〜１００ｃの位置情報を受信することで、自端末１００ｄの位置を算出することができる。ここで、端末１００ｄは、停止中の期間中に、他の複数の端末１００ａ〜１００ｃから位置情報を受信した場合、他の複数の端末１００ａ〜１００ｃも停止中にある。これにより、端末１００ｄおよび他の端末１００ａ〜１００ｃが全て固定位置となり、音波の到達時間差に基づき正確に自端末１００ｄの位置情報を算出できる。
【００２６】
端末１００ｄは、他の端末１００ａ〜１００ｃから位置情報を受信するに限らず、位置算出した後の停止の期間中は、他の端末１００に対して位置情報を送信することができる。
【００２７】
上記処理を繰り返すことにより、位置を算出していないさらに他の端末１００についても、位置算出済みの他の端末１００の位置情報を複数受信することで、位置を算出することができる。例えば、倉庫１１０内部で基準点１５０から遠く離れた端末１００であっても、倉庫１１０内で位置算出済みの複数（３点以上）の端末１００から位置情報を受信することにより、自端末１００の位置を算出することができる。
【００２８】
このように、各端末１００は、倉庫１１０内で任意に移動自在であるが、停止しているときに自端末１００の位置を求め、他の端末１００に位置情報を送信する親機側として機能する。位置情報を受信する子機側の端末１００は、他の複数の端末１００から送信された位置情報に基づき、自端末１００の位置を算出できる。親機側として機能した端末１００は、位置情報を送信した後に任意の位置に移動した場合、移動後の位置を他の複数の端末１００の位置情報に基づき、再度位置を求める子機側として機能する。すなわち、端末１００は、停止期間中に位置算出し位置情報を送出するまでは親機側として機能し、移動後は、再度自端末１００の位置を算出する際には子機側として機能を切り替える。
【００２９】
このように、実施の形態１では、複数の端末１００同士で位置情報を送受信することにより、ＧＰＳ電波を受信できない倉庫１１０内に位置している複数の端末１００であっても、それぞれ位置を算出できるようになる。また、倉庫１１０内の端末１００の数が限られていた場合でも、倉庫１１０内の端末１００同士で位置情報を送受信することにより、それぞれ位置を算出できるようになる。
【００３０】
図２は、実施の形態１にかかる位置算出時の端末の移動状態と位置情報出力の関係を説明する図である。図２（ａ）は端末１００の状態（ＳＴＡＴＵＳ）、図２（ｂ）は端末１００の位置情報出力状態を示す。横軸は時間である。
【００３１】
端末１００は、移動体１２０の停止中の期間ＴＡにおいて、算出した位置情報を他の端末１００に向けて出力（送信）する。移動体１２０の移動中の期間ＴＢは、位置情報を非出力とする（送信しない）。
【００３２】
さらに、端末１００は、移動体１２０の停止中の期間ＴＡ内において、位置情報の算出処理中（測位処理中）の期間ＴＡａは、位置情報を非出力とする（送信しない）。期間ＴＡａは、移動体１２０の移動終了から自端末１００の位置算出が完了するまでの間である。
【００３３】
ここで、端末１００が移動中でも位置情報を送信する構成とした場合、位置情報を送信する親機側の端末１００が不正確な位置情報を送信することとなる。この場合、位置情報を受信した子機側の端末１００は、上述した課題のように正確な位置を算出できず、誤った位置を算出してしまう。この点、実施の形態１では、親機側の端末１００は、移動体１２０の停止中の期間ＴＡにおいて、位置情報を他の端末１００に向けて出力し、移動中の期間ＴＢは、位置情報を非出力とする。これにより、子機側の端末１００は、自端末１００および親機側の端末１００が停止状態での位置情報に基づき、算出する位置精度を向上できるようになる。
【００３４】
加えて、親機側の端末１００は、移動体１２０の停止中の期間ＴＡ内であっても、位置情報の算出処理中（測位処理中）の期間ＴＡａは、位置情報を非出力とすることで、位置算出中の誤った位置情報を出力しない。これにより、子機側の端末１００は、親機側の端末１００が正しく位置算出した後の位置情報に基づいて位置算出でき、算出する位置精度を向上できるようになる。
【００３５】
図３は、実施の形態１にかかる端末のハードウェア構成例を示す図である。図１に示した端末１００は、例えば、図３に示すハードウェアで構成することができる。
【００３６】
例えば、端末１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３０１、メモリ３０２、ネットワークインタフェース（ＮＷＩＦ）等の通信部３０３、加速度センサ３０４、音波通信部としてのマイク３０５およびスピーカ３０６、を含む。３００は各部を接続するバスである。
【００３７】
ＣＰＵ３０１は、端末１００の全体の制御を司る処理部として機能する演算処理装置である。メモリ３０２は、不揮発性メモリおよび揮発性メモリを含む。不揮発性メモリは、例えば、ＣＰＵ３０１のプログラムを格納するＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）である。揮発性メモリは、例えば、ＣＰＵ３０１のワークエリアとして使用されるＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等である。また、不図示であるが、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）フラッシュドライブ等の補助メモリを備えてもよい。
【００３８】
通信部３０３は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットなどのネットワークを介して、外部装置に通信接続する。
【００３９】
加速度センサ３０４は、端末１００の移動状態を検知する。加速度センサ３０４の検知により、ＣＰＵ３０１は、端末１００が設けられた移動体１２０の移動の有無（上記の移動中、あるいは停止中）を判断できる。
【００４０】
マイク３０５は、他の端末１００が出力（送信）した音波を収集する。スピーカ３０６は、他の端末１００に対し音波を出力する。ＣＰＵ３０１は、算出した位置情報のデータを音波に変換し、スピーカ３０６を介して出力する。また、マイク３０５により、他の端末１００が出力した位置情報の音波を収集し、ＣＰＵ３０１は、音波を位置情報のデータに変換する。
【００４１】
メモリ３０２に記録されたプログラムをＣＰＵ３０１が実行することにより、端末１００の各機能を実現する。実施の形態１では、ＣＰＵ３０１は、例えば、マイク３０５を介して他の端末１００から収集した位置情報に基づく自端末１００の位置情報の算出処理を行う。また、ＣＰＵ３０１は、加速度センサ３０４の検知による自端末１００の停止中において、位置算出の処理を行い、算出した位置情報をスピーカ３０６を介して他の端末１００に出力する処理を行う。
【００４２】
図４Ａ〜図４Ｃは、実施の形態１にかかる端末の移動時の位置算出例を説明する図である。これらの図では、移動する端末１００が３点交差法により位置算出する例を用いて説明する。はじめに、図４Ａに示すように、倉庫１１０内部で、３つの基準点１５０（１５０ａ〜１５０ｃ）からの位置情報を受信可能な位置に移動体Ａ〜Ｄ（１２０ａ〜１２０ｄ）の端末１００（１００ａ〜１００ｄ）が位置していたとする。
【００４３】
これら移動体Ａ〜Ｄ（１２０ａ〜１２０ｄ）の端末１００（１００ａ〜１００ｄ）は、それぞれ３つの基準点１５０（１５０ａ〜１５０ｃ）が送信する音波の位置情報Ｒ１〜Ｒ３に基づき、位置を算出する。この後、移動体Ｄ（１２０ｄ）が図中点線の位置に移動したとする。
【００４４】
この後、図４Ｂに示すように、移動した移動体Ｄ（１２０ｄ）の端末１００ｄは、現在位置が不明な状態となる。この場合、移動体Ｄ（１２０ｄ）は、停止状態において、位置算出の処理を起動し、他の移動体１２０の端末１００から音波の位置情報を取得する。
【００４５】
ここで、他の移動体Ａ〜Ｃ（１２０ａ〜１２０ｃ）が停止状態であるとき、端末１００（１００ａ〜１００ｃ）は、位置情報ＳＡ〜ＳＣを音波で送信する。上述したように、端末１００は、停止の期間中、位置情報を継続して出力している。これにより、移動体Ｄ（１２０ｄ）の端末１００ｄは、停止状態の他の３つの移動体Ａ〜Ｃ（１２０ａ〜１２０ｃ）の端末１００（１００ａ〜１００ｃ）が送信する音波の位置情報ＳＡ〜ＳＣに基づき、自端末１００ｄの位置を算出できる。この後、移動体Ａ（１２０ａ）が図中点線の位置に移動したとする。
【００４６】
この後、図４Ｃに示すように、移動した移動体Ａ（１２０ａ）の端末１００ａは、現在位置が不明な状態となる。この場合、移動体Ａ（１２０ａ）は、停止状態において、位置算出の処理を起動し、他の移動体１２０の端末１００からの位置情報を取得する。
【００４７】
ここで、他の移動体Ｂ，Ｃ，Ｄ（１２０ｂ，１２０ｃ，１２０ｄ）が停止状態であるとき、端末１００（１００ｂ，１００ｃ，１００ｄ）は、位置情報ＳＢ，ＳＣ，ＳＤを音波で送信する。移動体Ａ（１２０ａ）の端末１００ａは、停止状態の他の３つの移動体Ｂ，Ｃ，Ｄ（１２０ｂ，１２０ｃ，１２０ｄ）の端末１００（１００ｂ，１００ｃ，１００ｄ）が送信する音波の位置情報ＳＢ，ＳＣ，ＳＤに基づき、自端末１００ａの位置を算出できる。
【００４８】
上記のように、端末１００は、移動体１２０の移動により自端末１００の位置が不明となるが、移動を停止したとき、他の端末１００からの位置情報に基づき自端末１００の位置を算出することができる。このとき、他の３台以上の端末１００から位置情報を受信できれば、自端末１００の位置を正確に算出することができる。
【００４９】
図５は、実施の形態１にかかる端末が行う位置算出の処理例を示すフローチャートである。図６は、実施の形態１にかかる端末のデータ構造例を示す図表である。図５の処理の処理順に、図６を参照しながら説明する。図５の処理は、端末１００のＣＰＵ３０１（図３参照）が、端末１００が起動したタイミング、および移動体１２０の移動が停止したタイミングで実行開始する。
【００５０】
端末１００は、現在時刻を停止開始時間Ａとしてメモリ３０２等に保持し（ステップＳ５０１）、位置算出処理（ステップＳ５０２〜ステップＳ５１０に相当）を処理開始する。はじめに、端末１００は、停止開始時間ＡをＡ１として保持する（ステップＳ５０２）。次に、端末１００は、他端末１００から位置情報を受信したか判断する（ステップＳ５０３）。
【００５１】
図６（ａ）は、端末１００が他端末１００から受信した位置情報６００の例を示す。位置情報６００は、他端末１００の発信時間Ｔ「値：Ａ」、緯度Ｘ「値：Ｂ」、経度Ｙ「値：Ｃ」、高さＺ「値：Ｄ」の情報を含む。他端末１００は、移動体１２０の停止時に位置情報を送信するため、他端末１００の発信時間「Ａ」は、他端末１００が停止した時間（停止開始時間）に相当する。
【００５２】
ステップＳ５０３では、他端末１００からの位置情報の受信を待機し（ステップＳ５０３：Ｎｏのループ）、他端末１００から位置情報を受信すると（ステップＳ５０３：Ｙｅｓ）、端末１００は、ステップＳ５０４の処理を実行する。
【００５３】
ステップＳ５０４では、端末１００は、自端末１００の停止開始時間Ａ１が他端末１００の発信時間Ｔと同じであるか判断する（ステップＳ５０４）。ここでは、端末１００は、自端末１００の停止開始時間Ａ１と、他端末１００の発信時間Ｔとに基づき、これら自端末１００および他端末１００がいずれも停止中であるか判断する。自端末１００は移動体１２０の停止時に現在時刻を停止開始時間Ａ１として保持しており、他端末１００は、停止の期間中、位置情報を連続して送信する。これにより、自端末１００が停止したタイミング（停止開始時間Ａ１）のとき、停止中で位置情報を送信している他端末１００があれば、自端末１００の停止開始時間Ａ１は、他端末１００の発信時間Ｔと一致することになる。
【００５４】
ステップＳ５０４において、自端末１００の停止開始時間Ａ１が他端末１００の発信時間Ｔと同じでなければ（ステップＳ５０４：Ｎｏ）、端末１００は、位置算出処理を実行せずにステップＳ５１１の処理に移行する。
【００５５】
一方、停止開始時間Ａ１が他端末１００の発信時間Ｔと同じであれば（ステップＳ５０４：Ｙｅｓ）、端末１００は、受信した他端末１００の位置情報が、既にメモリ３０２に保持している他端末１００の位置情報と異なるかを判断する（ステップＳ５０５）。例えば、３点交差法では他の３つの端末１００の位置がそれぞれ異なる必要があり、これに対応してステップＳ５０５では端末１００毎に異なる位置情報であるかを判断している。
【００５６】
受信した他端末１００の位置情報が、既にメモリ３０２に保持している他端末１００の位置情報と異なれば（ステップＳ５０５：Ｙｅｓ）、端末１００は、ステップＳ５０６の処理に移行する。一方、受信した他端末１００の位置情報が、既にメモリ３０２に保持している他端末１００の位置情報と同じであれば（ステップＳ５０５：Ｎｏ）、端末１００は、ステップＳ５０３の処理に戻る。
【００５７】
次に、端末１００は、他端末１００から受信した位置情報について、受信時間と発信時間Ｔとの時間差Ｓを求め、メモリ３０２に保持する（ステップＳ５０６）。
【００５８】
図６（ｂ）は、時間差Ｓを含む他端末１００の位置情報６０１の例を示す。位置情報６０１は、受信時間と発信時間Ｔの時間差Ｓ「値：Ｅ」と、図６（ａ）同様の緯度Ｘ「値：Ｂ」、経度Ｙ「値：Ｃ」、高さＺ「値：Ｄ」の情報を含む。
【００５９】
次に、端末１００は、メモリ３０２に保持している他端末１００の位置情報６０１が３個以上であるか判断する（ステップＳ５０７）。ここでは、３点交差法による位置算出に対応して３台以上の他端末１００から位置情報を取得することを示す。他端末１００の位置情報６０１を３個以上保持していれば（ステップＳ５０７：Ｙｅｓ）、端末１００は、ステップＳ５０８の処理に移行する。一方、メモリ３０２に保持している他端末１００の位置情報６０１が３個未満であれば（ステップＳ５０７：Ｎｏ）、端末１００はステップＳ５０３の処理に戻る。
【００６０】
次に、端末１００は、メモリ３０２に保持している３つ以上の異なる他端末１００の位置情報に基づき、自端末１００の位置を算出する（ステップＳ５０８）。この位置算出は上記３点交差法を用いて行う。
【００６１】
次に、端末１００は、自端末１００の停止開始時間Ａ１が他端末１００の発信時間Ｔと同じであるか判断する（ステップＳ５０９）。自端末１００の停止開始時間Ａ１が他端末１００の発信時間Ｔと同じでなければ（ステップＳ５０９：Ｎｏ）、端末１００は、ステップＳ５１１の処理に移行する。この処理は、自端末１００が位置算出（ステップＳ５０２〜ステップＳ５０８）の処理期間中（図２の測位処理中）に移動開始した場合、算出した位置を自端末１００で用いないこと（位置情報の「非出力」）に相当する。
【００６２】
一方、自端末１００の停止開始時間Ａ１が他端末１００の発信時間Ｔと同じであれば（ステップＳ５０９：Ｙｅｓ）、端末１００は、ステップＳ５１０の処理に移行する。この処理では、自端末１００が位置算出処理の期間中も継続して停止状態を維持（停止中）であることに相当し、算出した位置情報が有効であることを示す。
【００６３】
ステップＳ５１０では、端末１００は、ステップＳ５０８で算出した自端末１００の位置情報を外部に送信する（ステップＳ５１０）。送信する位置情報は、発信時間を含む。
【００６４】
図６（ｃ）は、算出した自端末１００の位置情報６０２を示す。位置情報６０２は、送信時の発信時間Ｔ「値：Ｆ」、と、ステップＳ５０８で算出した自端末１００の緯度Ｘ「値：Ｇ」、経度Ｙ「値：Ｈ」、高さＺ「値：Ｉ」の情報を含む。
【００６５】
ステップＳ５１０により、端末１００は、停止中、自端末１００の位置情報を他の端末１００に対し継続して送信することになる。そして、端末１００は、ステップＳ５１０の処理後、自端末１００が移動したか否かを継続して判断する（ステップＳ５１１）。自端末１００の移動の有無は、加速度センサ３０４で検知できる。自端末１００が停止中であれば、次の移動まで待機する（ステップＳ５１１：Ｎｏのループ）。
【００６６】
ステップＳ５１１において、自端末１００が移動した場合には（ステップＳ５１１：Ｙｅｓ）、以下に示すようにメモリ３０２のデータ消去を行う。まず、端末１００は、メモリ３０２に保持した自端末の停止開始時間Ａ（Ａ１）を削除する（ステップＳ５１２）。また、端末１００は、メモリ３０２に保持している他端末１００の位置情報６０１（図６（ｂ）参照）を削除し（ステップＳ５１３）、以上の処理を終了する。
【００６７】
図７は、実施の形態１にかかる位置算出システムの他の構成例を示す図である。上述の説明では、複数の端末１００同士で位置情報を送受信することにより、自端末１００の位置を算出する構成例について説明した。
【００６８】
図７の例では、ＧＰＳの電波が届かないエリアとして長さＬ方向に長い（例えば数Ｋｍ）トンネル７１０を示す。このトンネル７１０内部においても、上述した説明により複数の端末１００同士が位置情報を送受信することにより、自端末１００の位置を算出することができる。但し、この場合、図４Ａ〜図４Ｃに示した端末１００間で位置情報を繰り返していく毎に、算出する位置に誤差が蓄積されていく。
【００６９】
図７に示す例では、上述した基準点１５０に対応する基準点７２０をトンネル７１０の内部、例えばトンネル７１０の長さ方向の中央に固定設置する。基準点７２０は、基準点１５０同様に位置情報（緯度、経度、高さ等）を音波により送信する。また、基準点７２０は、最低一つ（７２０ａのみ）でもよいが、３点交差法により算出する位置精度を高めるには異なる位置に３つ以上（７２０ａ〜７２０ｃ）設けることが望ましい。
【００７０】
これにより、トンネル７１０内部の端末１００は、基準点７２０（７２０ａ〜７２０ｃ）が送信する位置情報を用いて精度よく位置を算出できるようになる。例えば、他の端末１００が送信する位置情報と、基準点７２０が送信する位置情報で異なる優先度のフラグを設定しておく。通常時、自端末１００は、他の端末１００の位置情報に基づき位置を算出する。そして、自端末１００は、トンネル７１０内を移動して基準点７２０が送信する位置情報を受信可能なとき、基準点７２０が送信する位置情報のフラグ検知により、基準点７２０が送信した位置情報を優先的に用いることができる。
【００７１】
これにより、例えば、トンネル７１０の長さＬ方向で見て、トンネル７１０の入口付近の端末１００は、基準点１５０の位置情報に基づき精度よく位置情報を算出する。基準点１５０の位置情報を受信できない端末１００は、他の端末１００の位置情報に基づき、自端末１００の位置情報を算出する。トンネル７１０内部で端末１００間のみで位置情報を繰り返し算出していくと、位置情報に誤差が蓄積されていく。ここで、トンネル７１０内部の基準点７２０が送信する位置情報を用いることで、それまで蓄積した誤差をキャンセルする形で、位置情報を精度よく算出できるようになる。
【００７２】
以上説明した実施の形態１によれば、ＧＰＳの電波が到達しない倉庫やトンネル等の特定エリア内で移動する端末は、位置を算出済みの端末から位置情報を受信して自端末の位置を算出できるようになる。また、位置情報を算出した端末は停止中の期間のみ位置情報を他端末に送信し、移動開始時には位置情報を送信しないこととする。位置情報は、音波で送受信する。これにより、自端末は、自端末および他端末がいずれも停止中の位置情報に基づき位置算出を行うため、音波を用いた３点交差法等で誤った位置算出を抑止できるようになる。
【００７３】
（実施の形態２）
図８は、実施の形態２にかかる位置算出システムによる位置算出を説明する図である。上述した実施の形態１では、端末１００が他の端末１００と位置情報を送受信して位置を算出する構成について説明した。実施の形態２では、端末１００がサーバ８００に位置算出用の情報を送信し、複数集約したサーバ８００が対象の端末１００の位置を算出処理する構成例について説明する。
【００７４】
端末１００の構成は、実施の形態１同様であり、他の端末１００と音波により通信を行う。そして、端末１００は、位置算出用の情報をサーバ８００に送信し、サーバ８００は、例えば、３点交差法に基づき端末１００の位置を算出し、算出した位置を端末１００に送信する。
【００７５】
図８に示す位置算出システムは、実施の形態１（図１参照）同様の複数の端末１００（１００ａ，１００ｂ，…）がサーバ８００と通信可能な構成である。図８の例では、倉庫１１０の一部にサーバ８００を設置し、倉庫１１０内に位置する各端末１００との間で無線通信、例えば、無線ＬＡＮにより通信可能である。これに限らず、倉庫１１０の一部に端末１００と無線通信するアクセスポイントを設置し、遠隔地に設置したサーバ８００とアクセスポイントの間を無線や有線により通信接続することもできる。
【００７６】
各端末１００は、移動体１２０の移動により、実施の形態１同様に（図４Ａ〜図４Ｃ）、倉庫１１０内で任意の位置に移動自在であり、端末１００間は音波により互いに送受信する。
【００７７】
端末１００は、例えば、図３と同様のハードウェアで構成できる。また、サーバ８００は、汎用のハードウェアで構成でき、例えば、図３に示した端末１００同様のＣＰＵ３０１、メモリ３０２、通信部３０３を備える。通信部３０３は、端末１００と無線通信を行う無線ＬＡＮ等である。そして、サーバ８００は、メモリ３０２に格納されたプログラムをＣＰＵ３０１が実行することで、以下に説明する端末１００の位置算出を行うことができる。この際、ＣＰＵ３０１は、メモリ３０２を作業領域として使用する。
【００７８】
図９Ａ，図９Ｂは、実施の形態２にかかる端末が行う位置算出の処理例を示すフローチャートである。図１０は、実施の形態２にかかる端末のデータ構造例を示す図表である。図９Ａの処理は、端末１００のＣＰＵ３０１（図３参照）が、端末１００が起動したタイミング、および移動体１２０の移動が停止したタイミングで実行開始する。
【００７９】
端末１００は、現在時刻を停止開始時間Ａとしてメモリ３０２等に保持し（ステップＳ９０１）、位置算出処理（ステップＳ９０２）を処理開始する。端末１００の位置算出処理の詳細は図９Ｂを用いて説明する。
【００８０】
ステップＳ９０２での位置算出処理後、端末１００は、自端末１００が移動したか否かを継続して判断する（ステップＳ９０３）。自端末１００の移動の有無は、加速度センサ３０４で検知できる。自端末１００が停止中であれば、次の移動まで待機する（ステップＳ９０３：Ｎｏのループ）。
【００８１】
ステップＳ９０３において、自端末１００が移動した場合には（ステップＳ９０３：Ｙｅｓ）、以下に示すようにメモリ３０２のデータ消去を行う。まず、端末１００は、メモリ３０２に保持した自端末の停止開始時間Ａを削除する（ステップＳ９０４）。また、端末１００は、メモリ３０２に保持している他端末１００の位置情報１００１（図１０（ｂ）参照）を削除し（ステップＳ９０５）、以上の処理を終了する。
【００８２】
図９Ｂは、図９Ａの位置算出処理（ステップＳ９０２）の詳細な処理内容を示す。位置算出処理では、はじめに、端末１００は、他端末１００から位置情報を受信したか判断する（ステップＳ９１１）。
【００８３】
図１０（ａ）は、端末１００が他端末１００から受信した位置情報１０００の例を示す。位置情報１０００は、他端末１００の発信時間Ｔ「値：Ａ」、緯度Ｘ「値：Ｂ」、経度Ｙ「値：Ｃ」、高さＺ「値：Ｄ」の情報を含む。他端末１００は、移動体１２０の停止時に位置情報を送信するため、他端末１００の発信時間「Ａ」は、他端末１００が停止した時間（停止開始時間）に相当する。
【００８４】
ステップＳ９１１では、他端末１００からの位置情報の受信を待機し（ステップＳ９１１：Ｎｏのループ）、他端末１００から位置情報を受信すると（ステップＳ９１１：Ｙｅｓ）、端末１００は、ステップＳ９１２の処理を実行する。
【００８５】
ステップＳ９１２では、端末１００は、他端末１００の位置情報１０００の緯度Ｘ，経度Ｙ、高さＺが自端末１００の位置情報（緯度、経度、高さ）と異なるか判断する（ステップＳ９１２）。ここでは、他端末１００の位置が自端末１００と異なる位置であるかを判断している。
【００８６】
ステップＳ９１２において、他端末１００の位置情報１０００（緯度、経度、高さのいずれか）が自端末１００の位置情報（緯度、経度、高さのいずれか）と一つでも異なれば（ステップＳ９１２：Ｙｅｓ）、端末１００は、ステップＳ９１３の処理に移行する。一方、他端末１００の位置情報１０００が自端末１００の位置情報と同じであれば（ステップＳ９１２：Ｎｏ）、ステップＳ９１１の処理に戻る。
【００８７】
次に、端末１００は、他端末１００から受信した位置情報１０００について、受信時間と発信時間Ｔとの時間差Ｓを求め、メモリ３０２に保持する（ステップＳ９１３）。
【００８８】
図１０（ｂ）は、時間差Ｓを含む他端末１００の位置情報１００１の例を示す。位置情報１００１は、受信時間と発信時間Ｔの時間差Ｓ「値：Ｅ」と、図１０（ａ）同様の緯度Ｘ「値：Ｂ」、経度Ｙ「値：Ｃ」、高さＺ「値：Ｄ」の情報を含む。
【００８９】
次に、端末１００は、ステップＳ９１３で算出した位置情報１００１と、自端末１００の識別子（機器ＩＤ）と、自端末１００の停止開始時間（発信時間）をサーバ８００に送信し（ステップＳ９１４）、ステップＳ９１５の処理に移行する。
【００９０】
図１０（ｃ）は、サーバ８００に送信する位置情報１００２を示す。位置情報１００２は、自端末１００の機器ＩＤ「値：Ｆ」と、自端末の停止開始時間（発信時間「値：Ｇ」）と、受信時間と発信時間Ｔの時間差Ｓ「値：Ｅ」と、他端末１００の緯度Ｘ「値：Ｂ」、経度Ｙ「値：Ｃ」、高さＺ「値：Ｄ」の情報を含む。
【００９１】
次に、端末１００は、サーバ８００に送信した位置情報１００２が３つ以上であるか判断する（ステップＳ９１５）。サーバ８００に送信する３つの位置情報１００２は、自端末の機器ＩＤと停止開始時間が同じ値であり、時間差Ｓ、緯度Ｘ、経度Ｙ、高さＺの情報がそれぞれ異なるものとする。サーバ８００に送信した位置情報１００２が３つ以上であれば（ステップＳ９１５：Ｙｅｓ）、端末１００は、ステップＳ９０３（図９Ａ参照）の処理に移行し、３つ未満であれば（ステップＳ９１５：Ｎｏ）、ステップＳ９１１の処理に戻る。
【００９２】
図１１は、実施の形態２にかかるサーバが行う位置算出の処理例を示すフローチャートである。図１１の処理は、サーバ８００のＣＰＵ３０１（図３参照）が、端末１００から位置情報１００２を受信したタイミングで処理を実行開始する（ステップＳ１１０１）。
【００９３】
図１２は、実施の形態２にかかるサーバのデータ構造例を示す図表である。図１２に示すように、サーバ８００が受信する位置情報１２０２は、端末１００が送信した位置情報１００２（図１０（ｃ））と同じである。位置情報１２０２は、端末１００の機器ＩＤ「値：Ｆ」と、端末１００の停止開始時間（発信時間「値：Ｇ」）と、受信時間と発信時間Ｔの時間差Ｓ「値：Ｅ」と、他端末１００の緯度Ｘ「値：Ｂ」、経度Ｙ「値：Ｃ」、高さＺ「値：Ｄ」の情報を含む。
【００９４】
次に、サーバ８００は、端末１００から受信した位置情報１２０２の機器ＩＤと停止開始時間の組み合わせが同じ位置情報が３個以上あるか判断する（ステップＳ１１０２）。ここで、サーバ８００は、３点交差法により端末１００の位置算出に必要な情報として、同じ端末１００から送信された異なる３つ以上の他の端末１００の位置情報（時間差、緯度、経度、高さ）が揃うのを待つ。
【００９５】
そして、位置情報１２０２の機器ＩＤと停止開始時間の組み合わせが同じ位置情報が３個以上あれば（ステップＳ１１０２：Ｙｅｓ）、サーバ８００は、ステップＳ１１０３の処理に移行する。一方、サーバ８００は、受信した位置情報１２０２について、機器ＩＤと停止開始時間の組み合わせが同じ位置情報が３個未満であれば（ステップＳ１１０２：Ｎｏ）、今回受信した位置情報１２０２をメモリ３０２に保持する（ステップＳ１１０４）。そして、サーバ８００は、ステップＳ１１０１の処理に戻る。
【００９６】
ステップＳ１１０３では、サーバ８００は、機器ＩＤと停止開始時間の組み合わせが同じ位置情報に基づき機器ＩＤ（端末１００）の位置を算出する（ステップＳ１１０３）。ここでは、３点交差法により、機器ＩＤと停止開始時間の組み合わせが同じで、３つの位置情報（時間差、緯度、経度、高さ）１２０２を用いて端末１００の位置を算出する。
【００９７】
この後、サーバ８００は、機器ＩＤと停止開始時間の組み合わせが同じ位置情報１２０２をメモリ３０２から削除し（ステップＳ１１０５）、ステップＳ１１０１の処理に戻る。ここでは、端末１００の位置算出に用いた３つの位置情報１２０２をメモリ３０２から削除する。
【００９８】
図１３は、実施の形態２にかかるサーバが行う位置情報の通知例を示すフローチャートである。図１４は、実施の形態２にかかるサーバが通知する位置情報のデータ構造例を示す図表である。図１３の処理は、サーバ８００のＣＰＵ３０１（図３参照）が位置算出（図１１参照）の処理後に実行する。
【００９９】
サーバ８００は、機器ＩＤ（端末１００）の位置情報を算出したか判断する（ステップＳ１３０１）。機器ＩＤ（端末１００）の位置情報を算出済みであれば（ステップＳ１３０１：Ｙｅｓ）、サーバ８００は、ステップＳ１３０２の処理に移行し、機器ＩＤ（端末１００）の位置情報を未だ算出していなければ位置算出を待つ（ステップＳ１３０１：Ｎｏのループ）。
【０１００】
ステップＳ１３０２では、サーバ８００は、機器ＩＤ（端末１００）と、この機器ＩＤに紐付いて受信していた停止開始時間と、位置情報（緯度、経度、高さ）を端末１００に向けて送信し（ステップＳ１３０２）、ステップＳ１３０１の処理に戻る。
【０１０１】
図１４に示すように、サーバ８００が送信する位置情報１４００は、端末１００の機器ＩＤ「値：Ｆ」と、端末１００の停止開始時間（「値：Ｇ」）と、端末１００の位置情報（緯度Ｘ「値：Ｈ」、経度Ｙ「値：Ｉ」、高さＺ「値：Ｊ」の情報を含む。
【０１０２】
図１５は、実施の形態２にかかる端末が行う自端末の位置情報の決定例を示すフローチャートである。図１５の処理は、端末１００のＣＰＵ３０１（図３参照）が位置算出に必要な情報をサーバ８００に送信した（図９Ｂ参照）の処理後に実行する。
【０１０３】
端末１００は、サーバ８００から自端末１００の位置情報を受信すると（ステップＳ１５０１）、ステップＳ１５０２以降の処理を実行する。
【０１０４】
図１６は、実施の形態２にかかる端末の位置情報のデータ構造例を示す図表である。図１６に示すように、端末１００がサーバ８００から受信した位置情報１６００は、サーバ８００が送信した位置情報１４００（図１４）と同じである。位置情報１６００は、端末１００の機器ＩＤ「値：Ｆ」と、端末１００の停止開始時間（発信時間「値：Ｇ」）と、自端末１００の位置情報（緯度Ｘ「値：Ｈ」、経度Ｙ「値：Ｉ」、高さＺ「値：Ｊ」の情報）を含む。
【０１０５】
ステップＳ１５０２では、端末１００は、サーバ８００から受信した位置情報１６００の機器ＩＤが自端末１００の機器ＩＤと同じであるか確認する（ステップＳ１５０２）。受信した位置情報１６００の機器ＩＤが自端末１００の機器ＩＤと同じであれば（ステップＳ１５０２：Ｙｅｓ）、端末１００は、ステップＳ１５０３の処理に移行する。受信した位置情報１６００の機器ＩＤが自端末１００の機器ＩＤと同じでなければ（ステップＳ１５０２：Ｎｏ）、ステップＳ１５０１の処理に戻る。
【０１０６】
次に、ステップＳ１５０３では、端末１００は、サーバ８００から受信した位置情報１６００の停止開始時間「値：Ｇ」が保持してある停止開始時間と同じであるか判断する（ステップＳ１５０３）。ここでは、端末１００は、サーバ８００から受信した位置情報１６００の停止開始時間「値：Ｇ」が、図９Ｂの処理でサーバ８００に送信した位置情報１００２の停止開始時間「値：Ｇ」と同じであるか判断する。すなわち、位置算出の情報を端末１００が送信してから、端末１００が移動していなければ（停止中）、停止開始時間「値：Ｇ」は同じになり、停止開始時間の値が異なっていれば、端末１００が移動したことに相当する。サーバ８００から受信した位置情報１６００の停止開始時間の値が保持してある停止開始時間「値：Ｇ」と異なっていれば（ステップＳ１５０３：Ｎｏ）、端末１００は、受信した位置情報１６００を位置情報として用いず、ステップＳ１５０１の処理に戻る。
【０１０７】
サーバ８００から受信した位置情報１６００の停止開始時間「値：Ｇ」が保持してある停止開始時間「値：Ｇ」と同じであれば（ステップＳ１５０３：Ｙｅｓ）、端末１００は、ステップＳ１５０４の処理に移行する。ステップＳ１５０４では、端末１００は、受信した位置情報１６００を自身の位置情報として用いる（ステップＳ１５０４）。例えば、端末１００（ＣＰＵ３０１）は、位置情報１６００（緯度、経度、高さ）を現在の端末１００の位置としてメモリ３０２に保持する。この後、端末１００は、ステップＳ１５０１の処理に戻る。
【０１０８】
図１７は、実施の形態２にかかるサーバが管理する端末の位置情報の表示例を示す図である。サーバ８００は、図１１に示した位置算出処理により、複数の端末１００の位置を管理することができる。例えば、サーバ８００は、複数の端末１００の現在位置をディスプレイ等の表示画面１７００に表示出力することができる。
【０１０９】
図１７の表示画面１７００の表示例では、倉庫１１０をマトリクス状にエリア分けし、各端末１００の算出した位置に該当するエリア１７０１ａ〜１７０１ｃを表示する。これにより、サーバ８００に接続された外部装置で倉庫１１０内での複数の端末１００の現在位置および移動状態をリアルタイムに表示でき、複数の端末１００の位置を管理できるようになる。例えば、倉庫１１０内での複数の端末１００の位置に基づき、特定の端末１００に対して作業や移動等の指示を行うこともできるようになる。
【０１１０】
以上説明した実施の形態２によれば、ＧＰＳの電波が到達しない倉庫やトンネル等の特定エリア内で移動する端末は、受信した他の端末の位置情報をサーバに送信し、サーバは、複数の端末の位置情報を用いて該当する端末の位置を算出する。これにより、端末におおける位置算出にかかる処理負担を軽減することができる。また、サーバは、各端末の位置を集中管理できるようになる。
【０１１１】
実施の形態２においても、実施の形態１同様に、端末は停止中の期間で位置情報を他端末に音波で送信し、移動開始時には位置情報を送信しない。これにより、サーバは、位置算出する端末および複数の他端末がいずれも停止中の位置情報に基づき位置算出を行うため、音波を用いた３点交差法等で誤った位置算出を抑止できるようになる。
【０１１２】
以上説明した実施の形態によれば、端末は、複数の端末から受信した複数の位置情報に基づき、自端末の位置を算出し、算出した自端末の位置情報を送信する。ここで、自端末の移動開始から移動終了までの間においては、自端末の位置情報を送信しない。さらには、自端末の位置の算出処理の間は、自端末の位置情報を送信しない。これにより、自端末の位置を誤って算出することを抑止できる。
【０１１３】
例えば、端末は、連続的または間欠的な音波により前記位置情報を送信および受信する。この場合、端末は、複数の端末から受信した複数の音波の前記位置情報に基づき、自端末の位置を算出する。より具体的には、音波の到達時間差に基づき、自端末と他端末との間の距離を算出し、自端末と各端末の距離関係に基づき自端末の位置を算出することができる。自端末の位置算出は、例えば、３点交差法により算出することができる。この際、自端末と他端末がいずれも停止中に音波を送受信することで、音波を用いた位置算出の際、端末同士の移動による音波の到達状態の変動で位置算出の精度を低下させる誤り要因を回避し、自端末の位置を誤って算出することを抑止できる。
【０１１４】
また、実施の形態によれば、ＧＰＳの電波を受信できないエリア内で移動自在な端末に適用できる。端末間で音波により位置情報を送受信することで自端末の位置を算出することができる。
【０１１５】
また、基準となる位置情報を送信する複数の基準点をさらに備えてもよい。これにより、端末は、基準点が送信する位置情報に基づき位置算出できる。そして、位置算出後の端末は、自端末の位置情報を他端末に向けて送信するため、基準点の位置情報を受信できない端末であっても、位置算出済みの端末から位置情報を受信することにより、自端末の位置を算出できるようになる。すなわち、ＧＰＳの電波を受信できないエリア内で、かつ、基準点の位置情報を直接受信できない端末であっても、位置情報を算出済みの端末から位置情報を受信することで自端末の位置を算出できるようになる。端末間での位置情報の送受信を繰り返すことで、例えば、エリア奥に位置する端末であっても、位置算出できるようになる。
【０１１６】
基準点は、エリアの外部あるいはエリアの内部に設けることができる。ＧＰＳの電波を受信できないエリアの外部に基準点を設けた場合、まず、エリア内のうち基準点の位置情報を受信可能な端末が位置算出できる。この後、位置算出した端末が送信する位置情報に基づき、エリア奥の端末であっても位置算出できるようになる。また、ＧＰＳの電波を受信できないエリアの内部に基準点を設けた場合、基準点からの正確な位置情報に基づき、端末は正確に位置算出できるようになる。例えば、位置算出した端末が送信する位置情報に基づき、エリア奥の端末が順に位置算出する場合、エリア奥の端末ほど位置情報の誤差が蓄積されていくが、エリアの内部の基準点の位置情報を受信することで、それまでの誤差の蓄積分を解消できるようになる。
【０１１７】
また、端末だけで位置算出するに限らず、端末とサーバが協働して位置算出してもよい。この場合、端末は、複数の他端末から受信した複数の位置情報をサーバに送信する。また、複数の他端末の移動開始から移動終了までの間においては、端末の位置情報をサーバに送信しない。そして、サーバは、端末に対する複数の他端末の位置情報に基づき、端末の位置を算出し、算出した位置情報を端末に送信する。このようなシステム構成によれば、端末は位置算出にかかる情報をサーバに送信し、サーバが位置算出処理を実行して端末に位置情報を伝えるため、端末での位置算出の処理負荷を軽減できるようになる。また、サーバは、複数の端末の位置を管理でき、例えば、エリア内での端末の位置をリアルタイムに表示できる。また、サーバは、端末に対して必要な作業や移動の指示を行うことができるようになる。
【０１１８】
なお、本発明の実施の形態で説明した位置算出方法は、予め用意されたプログラムを端末やサーバ等のプロセッサに実行させることにより実現することができる。本位置算出方法は、ハードディスク、フレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ−Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）、フラッシュメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また本位置算出方法は、インターネット等のネットワークを介して配布してもよい。
【０１１９】
上述した実施の形態に関し、さらに以下の付記を開示する。
【０１２０】
（付記１）複数の端末から構成される位置算出システムであって、
前記端末は、
複数の他端末から受信した複数の位置情報に基づき、自端末の位置を算出し、算出した自端末の位置情報を送信する処理部を備え、
前記処理部は、
自端末の移動開始から移動終了までの間においては、自端末の位置情報を送信しないことを特徴とする位置算出システム。
【０１２１】
（付記２）前記処理部は、
自端末の位置の算出処理の間は、自端末の位置情報を送信しないことを特徴とする付記１に記載の位置算出システム。
【０１２２】
（付記３）前記位置情報を音波により送信および受信する音波通信部を備え、
前記処理部は、
複数の前記他端末から受信した複数の前記音波の前記位置情報に基づき、自端末の位置を算出することを特徴とする付記１または２に記載の位置算出システム。
【０１２３】
（付記４）前記処理部は、
少なくとも３つ以上の異なる前記位置情報の音波の到達時間差に基づき自端末と前記他端末との間の距離を算出し、自端末と前記他端末の距離関係に基づき自端末の位置を算出することを特徴とする付記３に記載の位置算出システム。
【０１２４】
（付記５）前記端末は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）の電波を受信できないエリア内で移動自在なことを特徴とする付記１〜４のいずれか一つに記載の位置算出システム。
【０１２５】
（付記６）基準となる位置情報を送信する複数の基準点をさらに備えたことを特徴とする付記１〜５のいずれか一つに記載の位置算出システム。
【０１２６】
（付記７）前記基準点を前記エリアの内部に設けたことを特徴とする付記６に記載の位置算出システム。
【０１２７】
（付記８）サーバと、前記サーバと通信可能な複数の端末と、から構成される位置算出システムであって、
前記端末は、
複数の他端末から受信した複数の位置情報を前記サーバに送信し、
前記サーバが算出した端末の位置情報を受信し、
複数の前記他端末の移動開始から移動終了までの間においては、前記端末の位置情報を前記サーバに送信しない処理部を備え、
前記サーバは、
前記端末に対する複数の前記他端末の位置情報に基づき、前記端末の位置を算出し、前記端末に算出した位置情報を送信する処理部、
を備えたことを特徴とする位置算出システム。
【０１２８】
（付記９）前記端末は、
音波により前記位置情報を送信および受信する音波通信部を備え、
前記処理部は、前記他端末から受信した前記位置情報の音波の到達時間差を含む前記位置情報を前記サーバに送信し、
前記サーバの処理部は、前記端末に対応して受信した複数の前記位置情報に基づき、前記端末の位置を算出することを特徴とする付記８に記載の位置算出システム。
【０１２９】
（付記１０）前記サーバの処理部は、所定エリア内での前記端末の位置を表示出力することを特徴とする付記８または９に記載の位置算出システム。
【０１３０】
（付記１１）複数の他装置から受信した複数の位置情報に基づき、自装置の位置を算出し、算出した自装置の位置情報を送信する処理部を備え、
前記処理部は、
自装置の移動開始から移動終了までの間においては、自装置の位置情報を送信しないことを特徴とする位置算出装置。
【０１３１】
（付記１２）複数の他端末から複数の位置情報を受信する第一処理と、
複数の前記位置情報に基づき、自端末の位置を算出する第二処理と、
算出した自端末の位置情報を送信し、自端末の移動開始から移動終了までの間においては、自端末の位置情報を送信しない第三処理と、
をコンピュータに実行させることを特徴とする位置算出プログラム。
【符号の説明】
【０１３２】
１００（１００ａ〜１００ｄ）  端末
１１０  倉庫
１２０（１２０ａ〜１２０ｄ）  移動体
１５０（１５０ａ〜１５０ｃ），７２０（７２０ａ〜７２０ｃ）  基準点
３０１  ＣＰＵ
３０２  メモリ
３０３  通信部
３０４  加速度センサ
３０５  マイク
３０６  スピーカ
７１０  トンネル
８００  サーバ
【図１】
2020159855.tif 000003
【図２】
2020159855.tif 000004
【図３】
2020159855.tif 000005
【図４Ａ】
2020159855.tif 000006
【図４Ｂ】
2020159855.tif 000007
【図４Ｃ】
2020159855.tif 000008
【図５】
2020159855.tif 000009
【図６】
2020159855.tif 000010
【図７】
2020159855.tif 000011
【図８】
2020159855.tif 000012
【図９Ａ】
2020159855.tif 000013
【図９Ｂ】
2020159855.tif 000014
【図１０】
2020159855.tif 000015
【図１１】
2020159855.tif 000016
【図１２】
2020159855.tif 000017
【図１３】
2020159855.tif 000018
【図１４】
2020159855.tif 000019
【図１５】
2020159855.tif 000020
【図１６】
2020159855.tif 000021
【図１７】
2020159855.tif 000022