(58)【調査した分野】(Int.Cl.,DB名)
分散した複数のエリア内を移動し、且つ各エリアを所定の順序で移動する移動体の移動距離を算出するとともに、前記移動体が前記各エリア内を移動するのにかかる標準的な時間を標準移動時間として前記各エリアと対応付けた標準移動時間テーブル及び、前記移動体が前記各エリア内で移動する距離を標準移動距離として前記各エリアと対応付けた距離テーブルを用いる移動距離算出装置であって、
前記移動体が存在するエリアである現在エリアを特定するエリア特定部と、
前記移動体が前記現在エリアより前に通過したエリアである前エリアまでの前記移動体の実移動時間を算出する実移動時間算出部と、
前記実移動時間と、前記前エリアまでの前記標準移動時間とから、前記移動体が前記現在エリアを移動するのに要する時間を前記移動体の予想移動時間として算出する予想移動時間算出部と、
前記現在エリアの予想移動時間と、前記現在エリアの前記標準移動距離とから、前記移動体の移動距離を予想移動距離として算出する予想移動距離算出部と、
を備えたことを特徴とする移動距離算出装置。
前記実移動時間算出部は、前記特定部が複数のエリアのうち最初にエリアを特定したときは、前記標準移動時間テーブルに記憶した標準移動時間と、前記現在エリアの前記標準移動距離とから、前記予想移動距離を算出することを特徴とする請求項1から4記載の移動距離算出装置。
分散した複数のエリア内を移動し、且つ各エリアを所定の順序で移動する移動体の移動距離を算出するとともに、前記移動体が前記エリア内を移動するのにかかる標準的な時間を標準移動時間として前記各エリアと対応付けた標準移動時間テーブルと、前記移動体が前記エリア内で移動する標準的な距離を標準移動距離として前記各エリアと対応付けた距離テーブルと、を用いる移動距離算出方法であって、
前記移動体が存在するエリアである現在エリアを特定するエリア特定ステップと、
前記移動体が前記現在エリアより前に通過したエリアである前エリアまでの前記移動体の実移動時間を算出する実移動時間算出ステップと、
前記実移動時間と、前記前エリアまでの前記標準移動時間とから、前記移動体が前記現在エリアを移動するのに要する時間を前記移動体の予想移動時間として算出する予想移動時間算出ステップと、
前記現在エリアの予想移動時間と、前記現在エリアの前記標準移動距離とから、前記移動体の移動距離を予想移動距離として算出する予想移動距離算出ステップと、
を有することを特徴とする移動距離算出方法。
【発明を実施するための形態】
【0012】
本発明の実施の形態において、移動距離算出装置は、分散した複数のエリア内を移動し、且つ各エリアを所定の順序で移動する移動体の移動距離を算出する移動距離算出装置であって、前記移動体が前記エリア内を移動するのにかかる標準的な時間を標準移動時間として前記各エリアに対応付けた標準移動時間テーブルと、前記前記移動体が前記エリア内で移動する標準的な距離を標準移動距離として前記各エリアに対応付けた距離テーブルと、を用い、前記移動体が存在するエリアである現在エリアを特定するエリア特定部と、前記移動体が前記エリア特定部で特定したエリアより前に通過したエリアである前エリアまでの前記移動体の実移動時間を算出する実移動時間算出部と、前記実移動時間と、前記前エリアまでの前記標準移動時間とから、前記移動体が前記現在エリアを移動するのに要する時間を前記特定の移動体の予想移動時間として算出する予想移動時間算出部と、前記現在エリアの予想移動時間と、前記現在エリアの前記標準移動距離とから、前記移動体の移動距離を予想移動距離として算出する予想移動距離算出部と、を備えている。
【0013】
また、本発明の実施の形態において、位置管理装置は、分散した複数のエリア内を移動し、且つ各エリアを所定の順序で移動する移動体の位置を管理する位置管理装置であって、前記移動体が前記エリア内を移動するのにかかる標準的な時間を標準移動時間として前記各エリアに対応付けた標準移動時間テーブルと、前記移動体が前記エリア内で移動する標準的な距離を標準移動距離として前記各エリアに対応付けた距離テーブルと、を用い、前記移動体が存在するエリアである現在エリアを特定するエリア特定部と、前記移動体が前記エリア特定部で特定したエリアより前に通過したエリアである前エリアまでの前記移動体の実移動時間を算出する実移動時間算出部と、前記実移動時間と、前記前エリアまでの前記標準移動時間とから、前記現在エリアを移動するのに要する時間を前記移動体の予想移動時間として算出する予想移動時間算出部と、前記現在エリアの予想移動時間と、前記現在エリアの前記標準移動距離とから、前記特定の移動体の移動距離を予想移動距離として算出する予想移動距離算出部と、前記予想移動距離を用いて前記移動体の位置を予想位置として算出する位置算出部と、を備えている。
【0014】
以下、本発明の実施例について、図面を参照して説明する。この実施例において、位置管理システムの例としては、ゴルフ場におけるゴルフ用のカートを管理するカート管理システム1であり、移動距離算出装置および位置管理装置の例は、カート管理システム1のカート管理装置10である。移動体の例は、ゴルフコース15内を移動するカート20である。また、複数の分散したエリアの例は、ゴルフコース15におけるホール16である。以下、適宜括弧を用いて対応関係を示す。
【0015】
図1は、この実施例にかかるカート管理システム1の全体構成を示す図である。カート管理システム1は、マスター室13に設置されたカート管理装置10と、ゴルフコース15内を移動する複数のカート20とを備えている。なお、
図1においては、3台のカート20のみを示しているが、カート管理システム1が備えるカート20の台数は、特に限定されるものではなく、本実施の形態にかかるカート管理システム1は、3台以下であっても、3台よりも多くのカート20を備えてもよい。
【0016】
各カート20は、GPS受信機を有する無線機21を備えている。無線機21は、GPS受信機から当該カート20の位置情報を取得し、これを無線または有線によりカート管理装置10に接続された基地局無線機11に送信する。カート管理装置10は、基地局無線機11が受信した各カート20の位置情報に基づいて、カート20の所在地を特定し、これをモニタ12に表示する。カート管理装置10は、移動距離算出装置及び位置管理装置として機能する。モニタ12は、例えば液晶表示素子や有機EL(Electro Luminescence)表示素子、およびそれらを駆動する回路ユニット等からなり、カート管理装置10の制御により各種表示内容が表示される。
【0017】
図2は、カート管理装置10のブロック図である。カート管理装置10は処理部100及び記憶部200を含む。処理部100はカート20の移動距離算出処理及び位置管理処理を行う。処理部100は、取得部101と、ホール特定部102と、現在ホール実プレイ時間算出部103と、予想プレイ時間算出部104と、予想移動距離算出部105と、予想位置算出部106と、予想移動範囲算出部107と、実プレイ時間算出部109と、位置情報描画部120と、予想移動範囲描画部121と、タイマー125と、現在時刻取得部126と、予想位置情報記憶部127と、位置補正部128と、を備えている。
【0018】
処理部100は、CPU(Central Processing Unit)、RAM(Random Access Memory)、ROM(Read Only Memory)、DSP(Digital Signal Processor)等により構成される。処理部100は、ROMに記憶された各種プログラムが実行されることにより各部の動作制御や各部より入力された信号やデータの処理または演算、ファイルの処理等を行う。
【0019】
取得部101は、各カート20に備えられた無線機21から送信された位置情報を取得し、前回の位置情報テーブル116に記憶するとともに、カート20の位置情報をホール特定部102に供給する。取得部101は位置情報を基地局無線機11を介して取得してもよい。
【0020】
ホール特定部102は各カート20が位置するホールを特定する。ホール特定部102は各カート20から取得した位置情報とホールエリア情報117とを比較することにより、各カート20が位置するホールを特定できる。ホール特定部102は、各カートの位置情報がホールエリア情報117に基づくいずれかのホールのホールエリア内の位置を示す場合に、このホールを位置情報の送信元のカート20が位置する現在ホール(現在エリア)として特定する。ホール特定部102は、例えばカート20の中の特定のカートについて現在ホールを特定する。ホール特定部102は、特定のカート20はカート番号1が指定され、順次カート20を変更して現在ホールを特定してもよいし、例えばユーザの操作など何らかの方法で指定された1つのカート20について現在ホールを特定してもよい。以下各カート20と記載した場合は、特定のカート20はカート番号1が指定され、順次カート20を変更した場合、例えばユーザの操作など何らかの方法で指定された1つのカート20の場合を含む。
【0021】
カート20の位置情報がホールエリア内の位置を初めて示したタイミングは、カート20がホールに入ったタイミングであると推定することができる。カート20の位置情報がホールエリア内からホールエリア外へ移動したタイミングは、カート20がホールから出たタイミングであると推定することができる。
【0022】
現在ホール実プレイ時間算出部103(現在エリア実移動時間算出部)は、カート20が入ったホールの実プレイ時間(エリア入場経過時間)を算出する。現在ホール実プレイ算出部103は、ホールに入った時刻テーブル110と現在時刻とから、現在ホール実プレイ時間を算出する。現在ホール実プレイ時間算出部103は、ホール特定部102の特定結果と、基地局無線機11が位置情報を受信した受信時刻を参照してもよい。
【0023】
予想プレイ時間算出部104(予想移動時間算出部)は、現在ホールをプレイ(移動)するのに要する予想プレイ時間(予想移動時間)を算出する。予想プレイ時間算出部104は、実プレイ時間算出部109で算出した前エリアまでの実プレイ時間と、標準プレイ時間テーブル113から算出した前エリアまでの標準プレイ時間の合計とから次のホールの予想プレイ時間を算出する。予想プレイ時間算出部104は、ホール特定部102が現在ホールを初めて特定したタイミング、すなわち、カート20がホールに入ったタイミングで、予想プレイ時間を算出する。予想プレイ時間算出部104は、算出した予想プレイ時間を予想プレイ時間テーブル114に入力する。
【0024】
予想移動距離算出部105は、現在ホールプレイ時間テーブル111、標準プレイ時間テーブル113、予想プレイ時間テーブル114、カート道の距離テーブル115に基づいて、カート20の移動距離を算出する。予想移動距離算出部105は、特定部102で特定した現在ホールの予想プレイ時間と、カート道の距離とを、予想プレイ時間テーブル114と、カート道の距離テーブル115から呼び出し、カート20の移動距離を予想移動距離として算出する。予想移動距離算出部105は、タイマー125を参照し、タイマー125が所定時間を計測する前に、取得部101が次の位置情報を取得できなかった場合に、予想移動距離を算出してもよい。
【0025】
予想位置算出部106は、カート20の位置を予想位置として算出する。予想位置算出部106は、予想移動距離算出部105が算出した予想移動距離を用いて、カート20の予想位置を算出する。
【0026】
予想移動範囲算出部107は、カート20の移動が予想される範囲である予想移動範囲を算出する。予想移動範囲算出107は、算出した予想位置、前回の位置情報テーブル116、及び、ホールエリア情報117を用いて、予想移動範囲を算出する。
【0027】
実プレイ時間算出部109は、ホール特定部20で特定した現在エリアより前にカート20が通過したエリアである前エリアまでの実プレイ時間を算出する。実プレイ時間算出部109は、実プレイ時間テーブル112を参照し、これまで記録してきた前エリアまでの各ホールの実プレイ時間を合計することにより、前エリアまでの実プレイ時間を算出する。
【0028】
位置情報描画部120は、モニタ12にホールとカート20の位置関係を地図として描画する。位置情報描画部120は、ホールエリア情報117及び取得部101で取得したカート20の位置情報に基づき、ホールとカート20の位置を描画する。位置情報描画部120は、例えばカート20の位置を取得部101で取得したカート20の位置に進行方向に向けた矢印で描画する。
【0029】
予想移動範囲描画部121は、位置情報描画部120において表示した地図の対応する位置に予想移動範囲算出部107で算出した予想移動範囲の外周を実線で囲んだ画像を描画する。
コース情報テーブル123は、コース15内のホールの移動順(複数のエリアの移動順)およびコース15の出口を記憶している。
【0030】
タイマー125は、取得部110が現在位置情報を取得してから経過した時間を計測する。
【0031】
現在時刻取得部126は、現在時刻を取得する。現在時刻取得部126は、取得した現在時刻を現在ホール実プレイ算出部103に出力する。現在時刻取得部126は、取得した現在時刻を予想移動距離算出部105に出力する。現在時刻取得部126は、取得した現在時刻をホールに入った時刻テーブル110に出力する。
【0032】
予想位置情報記憶部127は、予想位置算出部106により算出されたカート20の予想位置を前回の位置情報テーブル116に記憶する。
【0033】
位置補正部128は、コース15情報テーブル123を参照し、コース15の出口の位置を取得し、前回の位置情報テーブル116に記憶されているカート20の位置情報または予想位置を補正する。
【0034】
記憶部200は、ホールに入った時刻テーブル110と、現在ホールプレイ時間テーブル111と、実プレイ時間テーブル112と、標準プレイ時間テーブル113と、予想プレイ時間テーブル114と、カート道の距離テーブル115と、前回の位置情報テーブル116と、ホールエリア情報117と、コース情報テーブル123と、を記憶している。記憶部200は、例えば各種メモリやHDD(Hard Disk Drive)より構成される。記憶部200は処理部100の処理に必要な各種データや、処理部100により生成または検出された各種データが記憶される。記憶部200は、処理部100の処理によって記憶動作や読み出し動作が行われる。記憶部200はカート管理装置10に内蔵されるものに限らず、所定のインターフェースによって接続される外部の記憶デバイスであってもよい。外部の記憶デバイスの一例としては、USB(Universal Serial Bus)端子に接続されるUSBメモリや外部HDD装置、所定のメモリカードスロットにより接続されるメモリカードなどである。
【0035】
ホールに入った時刻テーブル110(エリア入場時刻テーブル)は、各カート20が各ホールに入った時刻を記憶したテーブルである。ホールに入った時刻テーブル110は、例えば
図6に示すように、各カート20を識別するカート番号、各ホールを識別するホール番号及びホールに入った時刻が対応付けられて記憶されている。ホールに入った時刻テーブル110は、ホール特定部102が、カート20がホールに入ったことを特定した場合の現在時刻をホールに入った時刻として記憶する。
【0036】
現在ホールプレイ時間テーブル111は、現在ホール実プレイ時間算出部103が算出した各カート20の現在ホール実プレイ時間を逐次対応付けたテーブルである。現在ホールプレイ時間テーブル111は、例えば
図7に示すように、カート番号、ホール番号、及び、現在ホール実プレイ時間を対応付けている。
【0037】
実プレイ時間テーブル112(実移動時間テーブル)は、カート20がホールを出たときの現在ホール実プレイ時間をカート20のそのホール内の実プレイ時間(実際の移動時間)として各ホールのホール番号に対応付けたテーブルである。実プレイ時間は、各カート20のプレイヤーが所定のホールのプレイに実際に要した時間と同一と推測することができる。実プレイ時間テーブル112は例えば、
図8に示すように、カート番号ごとにまとめられており、ホール番号と実際のプレイ時間が対応付けられている。
【0038】
標準プレイ時間テーブル113は、例えば
図3に示すように各ホールの標準プレイ時間を記憶したテーブルである。標準プレイ時間テーブル113には、例えば各ホールの規定打数を記憶する。標準プレイ時間は、カートがホールに入ってから出るまでの標準的な時間であり、あらかじめゴルフコース15の管理者などにより設定されている。標準プレイ時間テーブルは、あらかじめ設定されているものではなく、例えば複数のプレイヤーによるプレイ時間の平均値を標準プレイ時間として更新するようにしてもよい。
【0039】
予想プレイ時間テーブル114(予想移動時間テーブル)は、予想プレイ時間算出部104により算出された予想プレイ時間を対応付けたテーブルである。予想プレイ時間テーブル114は、例えば
図9に示すように、カート番号ごとにまとめられており、ホール番号と予想プレイ時間が対応付けられている。
【0040】
カート道の距離テーブル115は、例えば
図4に示すように各ホール16のカート道の距離を対応付けたテーブルである。カート道の距離は例えば、ホールに入ってから出るまでの間、カート20が走行するカート道の総距離である。カート道の距離は例えばあらかじめゴルフコース15の管理者などによりカート管理装置10に設定される。
【0041】
前回の位置情報テーブル116は、例えば
図10に示すように、カート20のカート番号と位置情報と位置情報記憶時刻及び予想により位置を算出したか否かを対応付けているテーブルである。カート20の位置情報は緯度経度からなる。予想により位置を算出したか否かは、後述する予想位置算出処理により、カート20の予想位置を算出してカート20の位置情報として記憶した場合には、予想位置であることを示す
図10において“○”で示すようにフラグを立てられている。取得部101が位置情報を基地局無線機11を介して取得した場合は、
図10において予想により位置を算出したか否かのところが“×”になっている。位置情報記憶時刻は、取得部101がカート20の位置情報を取得して前回の位置情報テーブル116に記憶した時間、または、予想位置算出処理によりカート20の予想位置を算出して、カート20の位置情報として記憶した時刻である。位置情報記憶時刻は、“時”、“分”、“秒”で記憶されている。
【0042】
ホールエリア情報117は、ホールごとにあらかじめ設定した任意の大きさのエリアを示す情報である。ホールエリア情報117は例えば緯度経度で規定される情報であってもよい。ホールエリア情報117は、ホールへの出入りを判別するために用いる情報である。ホールエリア情報117は、例えば
図5に示すように、ホール内のカート道の周囲に設定する。カート20は、カート道を移動する。従って、ホールエリア情報117を設定しておくことで、カート20の位置情報が取得できない場合に、処理部100はカート道に沿ったホールエリア内にカート20が存在すると判定することができる。
【0043】
図5はカート道の周囲に設定するホールエリア情報117のイメージ図である。ホールエリア情報117は例えば、ホールエリアの地図を表示してその周囲を囲むブロック150をゴルフコース15の管理者などにより設定されることにより、ブロック150に対応する位置情報をホールエリアの位置情報として記憶している。
【0044】
カート20がコース15に入ってから出るまでに処理部100が行う動作は
図11で示されるような処理である。
図11で示される、処理部100の動作は所定のタイミングで実行される。処理部100は、所定のタイミングになると、タイマー125を起動し(ステップS201)、タイマー125のタイムアウト前に取得部101により位置情報を取得できたかどうか判定する(ステップS202)。処理部100はステップ202で例えば、タイマー125により所定時間をカウントした場合を、タイマー125がタイムアウトしたと判定する。
【0045】
タイマー125がタイムアウトする前に位置情報を取得できなかった場合(ステップS202:No)、処理部100は、特定部102において、以前に取得したカート20の位置情報からカート20がホールに入っているか否かを推定する(ステップS203)。処理部100は、特定部102において、例えば、前回の位置情報テーブル116とホールエリア情報117を比較して、位置を算出したいカート20の緯度経度がホールエリア内である場合はホールに入っていると推定する。処理部100は、カート20がホールに入っていないと推定した場合(ステップS203:No)は、ステップS202に戻り、再度、タイマー125がタイムアウトするまでに位置情報を取得できたか判定する。
【0046】
処理部100は、カート20がホールに入っていると推定した場合(ステップS203:Yes)、予想移動範囲算出部107により、カート20の存在が予想される範囲を予想移動範囲として算出すると共に、予想移動範囲描画部121により、予想移動範囲を描画する(ステップS204)。処理部100がステップS204で行う「予想移動範囲算出/描画処理」の詳細は例えば後述する
図14で示されるような処理である。
【0047】
処理部100は、タイマー125がタイムアウトする前に位置情報を取得できた場合(ステップS202:Yes)、カート20が今回新しくホールに入ったか否かを判定する(ステップS207)。
【0048】
処理部100は、カート20が今回新しくホールに入った場合(ステップS207:Yes)、ホールに入るときの処理を行う(ステップS209)。処理部100がステップS209で行う「ホールに入るときの処理」の詳細は例えば後述する
図12で示されるような処理である。
処理部100は「ホールに入るときの処理」を行った後、取得部101で取得した位置情報を用いて、カート20の位置をホールの画像に重畳して描画する(ステップS211)。
【0049】
処理部100は、カート20が今回新しくホールに入っていない場合(ステップS207:No)、カート20が今回ホールを出たか否かを判別する(ステップS208)。処理部100は、今回ホールを出た場合(ステップS208:Yes)、「ホールから出るときの処理」を行う(ステップS210)。処理部100がステップS210で行う「ホールから出るときの処理」の詳細は例えば、後述する
図13のような処理である。処理部100は「ホールから出るときの処理」を行った後、ホールエリア情報117及び取得部101で取得したカート20の位置情報に基づき、カート20の位置をホールの画像に重畳して描画する(ステップS211)。すなわち、処理部100はホール内のカート20の位置を描画する。
【0050】
ステップS211の描画処理またはステップS204の予想移動範囲算出/描画処理の後、処理部100は、カート20の現在地がコース15内であるか否かを判定する(ステップS206)。処理部100は、カート20の現在地がコース15内であると判定した場合(ステップS206:Yes)、ステップS202に戻り、再度、タイマー125がタイムアウトするまでに位置情報を取得できたか判定する。処理部100は、カート20の現在地がコース15内でないと判定した場合(ステップS206:No)、処理を終了する。
【0051】
ステップS201〜S203及びステップS207、S208の処理は例えば特定部102が実行してもよい。ステップS204の処理は例えば、予想移動範囲算出部107が実行してもよい。ステップS211の処理は例えば位置情報描画部120が実行してもよい。ステップS205の処理は例えば予想移動範囲描画部121が実行してもよい。
【0052】
処理部100がステップS209で行う「ホールに入るときの処理」について、
図12を参照して説明する。ステップS209の処理が開始されると(すなわち、カート20が今回新しくホールに入った場合)、処理部100は特定部102において、カート20がホールに入った時間をホールに入った時刻テーブル110に記憶する(ステップS301)。
【0053】
次に、処理部100は特定部102において、カート20が入ったホールがコース15内の最初のホールであるかを判定する(ステップS302)。処理部100は特定部102において、ステップS302の判定に、例えばホールエリア情報117及びコース15情報テーブル123を参照し、カート20が入ったホールのホール番号が1であるかどうかを判定する。カート20は通常ホール番号が1のホールから順に入る。従って、カート20が入ったホール番号が1の場合、処理部100の特定部102は、カート20が入ったホールがコース15内の最初のホールであると判定する。カート20の入るホールは通常1からであるが、任意に変更可能である。
【0054】
カート20が入ったホールがコース15内の最初のホールではないと判定した場合(ステップS302:No)、処理部100は、実プレイ時間算出部109において、これまで通過してきたホールである前ホールまでの実プレイ時間(実移動時間)を算出する(ステップS303)。処理部100は、実プレイ時間算出部109において、前ホールまでの実プレイ時間を前ホールまでの各ホールの実プレイ時間を合計して算出する。処理部100は、実プレイ時間算出部109において、実プレイ時間テーブル112から前ホールまでの各ホールの実プレイ時間を読み出して合計することにより、前ホールまでの実プレイ時間を算出する。
【0055】
次に、処理部100は予想プレイ時間算出部104において現在のホールの予想プレイ時間(現在エリアを移動するのに要する予想移動時間)を算出する(ステップS304)。処理部100は予想プレイ時間算出部104において、予想プレイ時間を、現在ホールの標準プレイ時間(標準移動時間)と、これまで通過してきたホールである前ホールの標準プレイ時間と、ステップS303において算出した前ホールまでの実プレイ時間(実移動時間)と、を用いて算出する。
【0056】
処理部100は予想プレイ時間算出部104において、予想プレイ時間を例えば次の式(1)を用いて算出する。式(1)において、T
E=(予想プレイ時間)、T
S=(標準プレイ時間)、T
R=(実プレイ時間)、n=(現在ホールの番号)である。
【数1】
【0057】
すなわち、処理部100は予想プレイ時間算出部104において、ホール番号nの予想プレイ時間T
Eを、ホールnの標準プレイ時間T
Sに、現在ホールnより前に通過したホールであるホール番号1からホール番号n-1までの各ホールの標準プレイ時間T
Sの合計に対する実プレイ時間T
Rの合計の割合を乗算することにより算出する。処理部100は予想プレイ時間算出部104において、各ホールの標準プレイ時間T
Sを、標準時間テーブル113から読み取る。
【0058】
カート20が入ったホールがコース15内の最初のホールであると判定した場合(ステップS302:Yes)、処理部100は、予想プレイ時間算出部104において、予想プレイ時間を現在ホールの標準プレイ時間と同一として算出する(ステップS306)。予想プレイ時間算出部104は、前ホール単独の実プレイ時間ではなく、現在ホールより前に通過した全てのホールの実プレイ時間と予想プレイ時間を利用して予想プレイ時間を算出するため、各カート20に合わせた正確な予想プレイ時間を算出することができる。そして、予想プレイ時間算出部104は、現在ホールが最初のホールである場合は、現在ホールより前に通過したホールが存在しないため、現在ホールの標準プレイ時間を予想プレイ時間として算出する
ステップS304、ステップS306で予想プレイ時間を算出すると、処理部100は予想プレイ時間算出部104において、算出した予想プレイ時間を予想プレイ時間テーブル114にカート20のカート番号及び現在ホールのホール番号と対応付けて記憶し(ステップS305)、「ホールに入るときの処理」を終了する。
【0059】
処理部100がステップS210で行う「ホールから出るときの処理」について、
図13を参照して説明する。
【0060】
ステップS210の処理が開始されると(すなわち、カート20が今回新しくホールから出た場合)、処理部100は特定部102において、カート20が出たホールがコース15内の最後のホールであるかを判定する(ステップS401)。ステップS401では、処理部100は特定部102において、ホールを出たと判定する前にホールエリア情報117を用いて特定したホール番号が、あらかじめ設定されたホール内の最後のホールのホール番号と同一であるかを判定する。ステップS401では、処理部100は特定部102において、ホールを出たと判定する前にホールエリア情報117を用いて特定したホール番号が標準プレイ時間テーブル113またはカート道の距離テーブル115を参照し、記憶されているホール番号の最も大きい数字と同一であるかを判定してもよい。
【0061】
カート20が出たホールがコース15内の最後のホールではない場合(ステップS401:No)、処理部100はカート20が出たホールのホール内の実際のプレイ時間である実プレイ時間を算出し、実プレイ時間テーブル112に書き込んで(ステップS402)、「ホールから出るときの処理」を終了する。ステップS402の処理において、処理部100は、現在ホール実プレイ時間算出部103において現在ホール現在ホール実プレイ時間を算出しておき、カート20がホールを出たタイミングの現在ホール実プレイ時間を実プレイ時間テーブル112に記憶してもよい。
カート20が出たホールがコース15内の最後のホールの場合(ステップS401:Yes)、「ホールから出るときの処理」を終了する。
【0062】
処理部100がステップS204で行う「予想移動範囲算出/描画処理」について、
図14を参照して説明する。
【0063】
ステップS210の処理が開始されると(すなわち、カート20がホールに入っている場合)、処理部100は、現在ホールプレイ時間算出部103において、ステップS203でカート20が入っていると特定された現在ホールの実プレイ時間を算出する(ステップS501)。現在ホールプレイ時間算出部103はカート20が入ってから経過した時間を現在ホールの実プレイ時間として算出する(ステップS501)。次に、処理部100は、特定部102において、現在ホールプレイ時間算出部103で算出した現在ホールの実プレイ時間が、現在ホールの予想プレイ時間を超えているかどうかを判定する(ステップS502)。
【0064】
現在ホールの実プレイ時間が現在ホールの予想プレイ時間を超えていないと判定された場合(ステップS502:No)、処理部100は、予想移動距離算出部105において、前回の位置情報記録時刻を確認する(ステップS503)。ステップS503において、予想移動距離算出部195は、前回の位置情報テーブル116を参照して前回の位置情報記録時刻を確認する。次に、処理部100は、予想移動距離算出部105において、ステップS503において確認した前回の位置情報記録時刻からのカート20の移動距離を予想移動距離として算出する(ステップS504)。ステップS504において、予想移動距離算出部105は、ステップS503において確認した前回の位置情報記録時刻、現在ホールのカート道の距離、現在ホールの予想プレイ時間を用いて、カート20の予想移動距離を算出する。
図15の(b)及び
図16の(b)は後述するように、処理部100がカート20の予想移動距離を算出した結果をイメージした図である。
【0065】
処理部100は予想移動距離算出部105において、前回の位置情報記録時刻からのカート20の予想移動距離を例えば次の式(2)を用いて算出する。式(2)において、D
M=(予想移動距離)、D
C=(現在ホールのカート道の距離)、T
E=(予想プレイ時間)、ΔT=(前回の位置情報記録時刻からの経過時間)である。
【数2】
すなわち、処理部100は予想移動距離算出部105において、カート20の現在ホールのカート道の距離D
Cをカート20の現在ホールの予想プレイ時間T
Eで除算したものに、前回の位置情報からの記録時刻からの経過時間ΔTを乗算することにより、予想移動距離D
Mを算出する。
【0066】
処理部100は予想移動距離算出部105において、カート20の現在ホールのカート道の距離D
Cをカート道の距離テーブル115から取得する。処理部100は予想移動距離算出部105において、カート20の現在ホールの予想プレイ時間T
Eを予想プレイ時間テーブル114から取得する。すなわち、予想移動距離算出部105が取得する予想プレイ時間T
Eは、カート20が現在ホールに入ったときに算出した(
図12のステップS304)、現在ホールの予想プレイ時間である。処理部100は予想移動距離算出部105において、前回の位置情報からの記録時刻からの経過時間ΔTを現在時刻取得部126で取得した現在時刻から前回の位置情報記録時刻を差し引くことにより、カート20の予想移動距離を算出する。
【0067】
予想移動距離を算出した後、処理部100は、予想位置算出部106において、予想移動距離を用いて、カート20の位置を予想位置として算出する(ステップS505)。
図15の(c)及び
図16の(c)は後述するように、処理部100がカート20の予想位置を算出するところをイメージした図である。予想位置算出部106の予想位置の算出方法として、たとえば以下の2つの方法がある。
【0068】
カート20は、前回の位置情報が示す位置を中心とし、予想移動距離を半径とした円の円周のどこかに存在すると推定できる。予想位置算出部106は、第1予想位置算出方法として、前回の位置情報が示す位置を中心とし、予想移動距離を半径とした円の円周と、前回の位置情報が示す位置から進行方向に伸ばした直線とが交わる位置をカート20の予想位置として算出する。予想位置算出部106は、カート20の進行方向を、前回の位置情報と前々回の位置情報とを利用して、推定することができる。また、予想位置算出部106は、取得部102における位置情報取得時に同時にGPSデータに含まれる進行方向を取得し、利用することが可能である。
【0069】
また、第1予想位置算出方法では、算出したカート20の予想位置がホールの外になった場合、予想位置算出部106はカート20の予想位置がホール内になるまで進行方向を補正してもよい。例えば、予想位置算出部106は、まず、進行方向を左に15度ずらし、補正したカート20の予想位置がホール内になったかどうかを判断する。ホール内になっていなかった場合、予想位置算出部106は進行方向を右に15度ずらし、予想位置がホール内になったかどうかを判断する。それでもホール内になっていなかった場合、予想位置算出部106は進行方向を左に30度ずらし予想位置がホール内になったかどうかを判断する。それでもホール内になっていなかった場合、予想位置算出部106は進行方向を右に30度ずらす予想位置がホール内になったかどうかを判断する。このように補正を繰り返し補正した予想位置がホール内になった場合、予想位置算出部106は補正した予想位置をカート20の予想位置として算出する。
【0070】
第2予想位置算出方法として、予めカート20のカート道の位置情報をユーザ等により設定し、ホールエリア情報117に記憶しておく。予想位置算出部106は、前回の位置情報が示す位置から最も近いカート道を探し、カート道を予想移動距離だけ進んだ位置をカート20の予想位置として算出する。
【0071】
カート20の予想位置を算出した後、処理部100は予想位置算出部106においてカート20の予想位置がホール外になったかどうかを判定する(ステップS506)。なお、第1予想位置算出方法では、上記4回の補正を繰り返した後、予想位置がホール内にならなかった場合、予想位置算出部106は予想位置がホール外になったと判定する。
【0072】
カート20の予想位置がホール外になった場合(ステップS506:Yes)、処理部100は後述する
図17に示す「ホール外排出処理」を行う(ステップS510)。カート20の予想位置がホール内であると判定した場合(ステップS506:No)、処理部100は、予想移動範囲算出部107において、カート20の予想移動範囲を算出する(ステップS507)。予想移動範囲算出部107は、カート20の前回の位置情報からステップS505で算出されたカート20の予想位置までを含む範囲を予想移動範囲として算出する。予想移動範囲算出部107は、ホールの位置情報を複数のブロックとして管理することにより、例えば
図15(d)で図示するように、前回の位置情報と予想位置と、その2点を結ぶ直線を含むブロックを予想移動範囲として算出する。また、他の方法として、予想移動範囲算出部107は、前回の位置情報と予想位置とを結ぶ線分を直径とする円の内側を予想移動範囲として算出することも可能である。
【0073】
カート20の予想移動範囲を算出すると、処理部100は、予想移動範囲描画部121において、予想移動範囲を描画する(ステップS508)。予想移動範囲描画部121は、例えば
図15の(e)に示すように予想移動範囲の外周を囲む枠を描画する。予想移動範囲を描画した後、または、「ホール外排出処理」を実行した後、処理部100は、前回の位置情報テーブル116を更新して(ステップS509)、「予想移動範囲算出/描画処理」を終了する。処理部100は、ステップS509の処理において、カート20の前回の位置情報をステップS505で算出した予想位置に更新するとともに予想位置フラグを○にする。なお、ステップS509の処理は、ステップS505の処理が終了した後であれば、いつでも処理可能である。例えば、ステップS509の処理は、ステップS506の前に実行してもよい。
【0074】
図15は、予想移動範囲描画部121及び位置情報描画部120によりモニタ12に表示される表示画面および
図14で説明した「予想移動範囲算出/描画処理」をイメージした図である。
【0075】
図15の場合は、前回の位置情報が取得部101により取得した位置情報の場合、すなわち前回の位置情報テーブル116の予想位置フラグが立っていなかった場合のイメージ図である。
図15(a)は位置情報描画部120によりモニタ12に表示される表示画面をイメージしている。位置情報描画部120は、ホールエリア情報117及び前回の位置情報テーブル116をもとに、ホールエリアと対応付けてカート20の位置を矢印によって描画している。位置情報描画部120は、前回の位置情報テーブル116に記憶された位置情報に対応付けて予想位置フラグが立っていないことに基づき、黒丸ではなく矢印によってカート20の位置を描画する。
【0076】
図15(b)は処理部100がステップS504で実行するカート20の予想移動距離の算出の様子をイメージしている。
図15(b)ではカート20の位置から伸びる矢印が予想移動距離の長さになっている。
図15(c)は処理部100がステップS505で実行するカート20の予想位置の算出の様子をイメージしている。
図15(c)では、矢印の先に描かれた×印がカート20の予想位置である。
図15(d)は処理部100がステップS507で実行するカート20の予想移動範囲の算出の様子をイメージしている。
図15(d)では、ホールエリアのうち、濃い色になっている部分がカート20の予想移動範囲である。
図15(e)は処理部100がステップS508で実行するカート20の予想移動範囲の描画の様子をイメージしている。
図15(f)は予想移動範囲描画部121及び位置情報描画部120によりモニタ12に描画される画面をイメージしている。
図15(f)では黒丸で表す位置がカート20の予想位置であり、位置情報が取得できた場合のカート20の位置とは区別して表示されている。
【0077】
図16は、予想移動範囲描画部121及び位置情報描画部120によりモニタ12に表示される表示画面および
図14で説明した「予想移動範囲算出/描画処理」をイメージした図である。
【0078】
図16の場合は、前回の位置情報が予想位置の場合、すなわち前回の位置情報テーブル116の予想位置フラグがすでに立っていた場合のイメージ図である。
図16(a)は位置情報描画部120及び予想移動範囲描画部121によりモニタ12に表示される表示画面をイメージしている。位置情報描画部120は、ホールエリア情報117及び前回の位置情報テーブル116をもとに、ホールエリアと対応付けてカート20の位置を黒丸によって描画している。位置情報描画部120は前回の位置情報テーブル116に予想位置フラグが立っていることに基づき、矢印ではなく黒丸によってカート20の位置を描画する。予想移動範囲描画部121は、ステップS507により算出された予想移動範囲の外周を囲む枠を描画する。
【0079】
図16(b)は処理部100がステップS504で実行するカート20の予想移動距離の算出の様子をイメージしている。
図16(b)ではカート20の位置から伸びる矢印が予想移動距離の長さになっている。
図16(c)は処理部100がステップS505で実行するカート20の予想位置の算出の様子をイメージしている。
図16(c)では、矢印の先に描かれた×印がカート20の予想位置である。
図16(d)は処理部100がステップS507で実行するカート20の予想移動範囲の算出の様子をイメージしている。
図16(d)では、ホールエリアのうち、濃い色になっている部分がカート20の予想移動範囲である。
図16(e)は処理部100がステップS508で実行するカート20の予想移動範囲の描画の様子をイメージしている。
図16(f)は予想移動範囲描画部121及び位置情報描画部120によりモニタ12に描画される画面をイメージしている。
図16(f)では黒丸で表す位置がカート20の予想位置であり、位置情報が取得できた場合のカート20の位置とは区別して表示されている。予想移動範囲描画部121は、ステップS507により算出された予想移動範囲の外周を囲む枠を前回の予想移動範囲の外周を囲む枠に重畳して描画する。
【0080】
処理部100が
図14のステップS510で行う「ホール外排出処理」を、
図17を参照して説明する。
【0081】
ステップS510の処理が開始されると(すなわち、予想位置がホール外の場合)、処理部100は「ホール外排出処理」を開始し、特定部102において、現在のホールがコース15の最後のホールであったか否かを判定する(ステップS601)。処理部100は特定部102において、ステップS302の判定に、例えばホールエリア情報117及びコース情報テーブル123を参照し、カート20が入ったホールのホール番号が9であるかどうかを判定する。カート20は通常ホール番号が9のホールがコース15内の最後のホールである。従って、カート20が入ったホール番号が9の場合、処理部100の特定部102は、カート20が入ったホールがコース15内の最後のホールであると判定する。カート20の入るホールは通常9からであるが、当然ながら任意に変更可能である。現在のホールがコース15の最後のホールであると判定した場合(ステップS601:Yes)、処理部100は、位置補正部128において、カート20の現在位置をコース15の出口として判定し(ステップS603)、「ホール外排出処理」を終了する。位置補正部128は、コース情報テーブル123を参照し、コース15の出口の位置を取得し、前回の位置情報テーブル116に記憶されているカート20の位置情報または予想位置を補正する。現在のホールがコース15の最後のホールではないと判定した場合(ステップS601:No)、処理部100は、位置補正部128において、カート20の現在位置を次のホールの入り口として判定し(ステップS602)、「ホール外排出処理」を終了する。位置補正部128は、コース情報テーブル123を参照し、コース15の次のホールの入り口の位置を取得し、カート20の位置情報または予想位置を補正する。
【0082】
以上、説明した実施例では、GPSから取得した位置情報のみでカート20の位置を算出するのではなく、カート道、標準プレイ時間、これまでのプレイ時間も考慮して予想移動範囲を算出する事により、カート20のより正確な管理が可能となる。また、ジャイロや車速信号を使用しないので、ゴルフカートへのセットアップが容易である。これによりゴルフ場管理者は、簡単なセットアップによる位置情報非測位状態ゴルフカートの管理が可能となり、更にはプレイヤーの緊急事態に対しても素早い適切な対応を行うことが可能となる。また、GPSに付加された速度データを利用して、移動距離を算出した場合は、ゴルフカートのように移動と停止を繰り返す場合に、誤差が大きくなってしまうが、カート道、標準プレイ時間、これまでのプレイ時間も考慮して予想移動範囲を算出する事により、カート20のより正確な管理が可能となる。特にゴルフカートが位置情報を取得不可能になった際、前回の位置情報だけではなくホールの標準的なプレイ時間やカート道の距離、プレイヤーの技量を考慮して存在範囲を予想することにより、より正確にゴルフカートの位置を予想することが可能となる。
【0083】
以上の実施例では、移動体としてゴルフコース内を移動するカート20の例を示したが、カート以外でもエリア内を移動するものであれば、本実施の形態を適用可能である。本実施の形態において、移動体は例えばオリエンテーリングを行う人に持たせた携帯端末であってもよい。また、移動体の移動算出処理及び位置管理処理を行う処理部100は、カート管理装置10ではなく、各移動体に設置され、各移動体において自機の位置を表示するいわゆるナビゲーション形式でもあってもよい。
本実施形態は、以下の典型的な実施形態であってもよい。
【0084】
例えば、本実施の形態において、典型的な移動距離算出装置は分散した複数のエリア内を移動し、且つ各エリアを所定の順序で移動する移動体の移動距離を算出する移動距離算出装置であって、前記移動体が前記各エリア内を移動するのにかかる標準的な時間を標準移動時間として前記各エリアに対応付けられた標準移動時間テーブル113と、前記移動体が前記エリア内で移動する標準的な距離を標準移動距離として前記各エリアに対応付けた距離テーブル115と、を用い、前記移動体が存在するエリアである現在エリアを特定するエリア特定部102と、前記移動体が前記エリア特定部で特定したエリアより前に通過したエリアである前エリアまでの実移動時間を算出する実移動時間算出部109と、前記実移動時間と、前記前エリアまでの前記標準移動時間とから、前記現在エリアを移動するのに要する予想移動時間を算出する予想移動時間算出部104と、前記現在エリアの予想移動時間と、前記現在エリアの前記標準移動距離とから、前記移動体の移動距離を予想移動距離として算出する予想移動距離算出部105と、を備えてもよい。
【0085】
また、本実施の形態において、移動距離算出装置は前記移動体がエリア内に入ってから経過した時間である現在エリア実移動時間を算出する現在エリア実移動時間算出部103を備え、前記移動体が前記エリアを出たときの前記現在エリア実移動時間が前記移動体の前記エリア内の実際の移動時間として各エリアに対応付けて書き込まれる実移動時間テーブル112と、用い、前記実移動時間算出部は、前記移動時間テーブルに基づき、前記移動体が前記エリア特定部で特定したエリアより前に通過したエリアまでの実移動時間を算出してもよい。
【0086】
また、本実施の形態において、移動距離算出装置は、現在時刻を取得する現在時刻取得部、を備え、前記特定部が新しいエリアを現在エリアとして特定したときの時刻を前記移動体が前記エリアに入ったエリア入場時刻として各エリアに対応付けて記憶するエリア入場時刻テーブル110、を用い、前記現在エリア実移動時間算出部は、前記現在エリア実移動時間を、前記エリア入場時刻テーブル110と前記現在時刻を用いて算出してもよい。
【0087】
また、本実施の形態において、移動距離算出装置は、各エリアの位置情報であるエリア位置情報を記憶したエリア情報テーブル117を用い、前記移動体から送信された現在位置情報を取得する取得部101、を備え、前記特定部は、前記取得部で取得された前記移動体の現在位置情報と、前記各移動体の位置情報とから、前記現在エリアを特定してもよい。
【0088】
また、本実施の形態において、移動距離算出装置は、前記実移動時間算出部は、前記特定部が複数のエリアのうち1番目にエリアを特定したときは、前記標準移動時間テーブルに記憶した標準移動時間と、前記現在エリアの前記標準移動距離とから、前記予想移動距離を算出してもよい。この場合、最初のホールであっても、ある程度の精度で移動距離を予想できる。
【0089】
また、本実施の形態において、前記予想移動時間を記憶する予想移動時間テーブル114をさらに用い、前記予想移動時間算出部は、前記移動体が前記エリアに入場したときに、前記実移動時間と、前記前エリアまでの前記標準移動時間とから、前記現在エリアの予想移動時間を算出するとともに、前記予想移動距離算出部は、前記予想移動時間テーブルに記憶された前記現在エリアの予想移動時間と、前記現在エリアの前記標準移動距離とから、前記予想移動距離を算出してもよい。このように、あらかじめ予想プレイ時間を記憶しておくことで、迅速に移動距離を算出できる。
【0090】
本実施の形態において、典型的な位置管理装置は、分散した複数のエリア内を移動し、且つ各エリアを所定の順序で移動する移動体の位置を管理する位置管理装置であって、前記移動体が前記各エリア内を移動するのにかかる標準的な時間を標準移動時間として前記各エリアに対応付けた標準移動時間テーブル113と、前記移動体が前記エリア内で移動する標準的な距離を標準移動距離として前記各エリアに対応付けた距離テーブル115と、を用い、前記移動体が存在するエリアである現在エリアを特定するエリア特定部102と、前記移動体が前記エリア特定部で特定したエリアより前に通過したエリアである前エリアまでの実移動時間を算出する実移動時間算出部112と、前記実移動時間と、前記前エリアまでの前記標準移動時間とから、前記移動体が前記現在エリアを移動するのに要する時間を前記移動体の予想移動時間として算出する予想移動時間算出部104と、前記現在エリアの予想移動時間と、前記現在エリアの前記標準移動距離とから、前記特定の移動体の移動距離を予想移動距離として算出する予想移動距離算出部105と、前記予想移動距離を用いて前記移動体の位置を予想位置として算出する位置算出部106と、を備える。
【0091】
また、本実施の形態において、位置管理装置は、前記移動体から送信された現在位置情報を定期的に取得する取得部101と、前記位置情報取得部で現在位置情報を取得してから経過した時間を計測するタイマー125と、前記取得した位置情報を、前記移動体を示す情報と対応づけて記憶する位置情報テーブル116と、前記予想移動距離算出部は、前記タイマーが所定時間を計測する前に前記取得部が次の前記現在位置情報を取得できなかった場合に、前記現在位置情報を取得してからの前記予想移動距離を算出してもよい。
【0092】
また、本実施の形態において、位置管理装置は、各エリアの位置情報であるエリア位置情報を記憶したエリア情報テーブル117と、前記複数のエリアの移動順および前記各エリアを包含するコース15の出口を記憶したコース情報記憶部123と、を用い、前記位置算出部で算出した前記予想位置が、前記エリア外の場合は、前記現在エリアが最終エリアかどうかを判別し、最終エリアでない場合は、前記予想位置を次のエリアの入り口に補正し、最終エリアの場合は、前記予想位置を前記コース15出口に補正する位置補正部128を備えてもよい。
【0093】
また、本実施の形態において、位置管理装置は、前記取得した現在位置情報または前記予想位置のうちで最新の位置情報を前回の位置情報として記憶する前回の位置情報テーブル116、を用い、前記前回の位置情報と、前記移動距離とから、前記移動体の予想移動範囲を算出する予想移動範囲算出部107と、前記予想移動範囲を描画する予想移動範囲描画部121と、を備えてもよい。
【0094】
また、本実施の形態において、典型的な移動距離算出方法は、分散した複数のエリア内を移動し、且つ各エリアを所定の順序で移動する移動体の移動距離を算出する移動距離算出方法であって、
前記移動体が前記エリア内を移動するのにかかる標準的な時間を前記エリア内の標準移動時間として前記各エリアに対応付けた標準移動時間テーブル113と、前記移動体が前記エリア内で移動する標準的な距離を標準移動距離として前記各エリアに対応付けた距離テーブル115を用い、前記移動体が存在するエリアである現在エリアを特定するエリア特定ステップと、前記移動体が前記現在エリアより前に通過したエリアである前エリアまでの実移動時間を算出する実移動時間算出ステップと、前記実移動時間と、前記前エリアまでの前記標準移動時間とから、前記現在エリアの予想移動時間を算出する予想移動時間算出ステップと、前記現在エリアの予想移動時間と、前記現在エリアの前記標準移動距離とから、前記移動体の移動距離を予想移動距離として算出する予想移動距離算出ステップと、を有する。
【0095】
また、本実施の形態において、典型的な位置管理方法は、分散した複数のエリア内を移動し、且つ各エリアを所定の順序で移動する移動体の位置を管理する位置管理方法であって、前記各エリア内で標準的に移動する時間を標準移動時間として前記各エリアに対応付けた標準移動時間テーブル113と、前記移動体が前記エリア内を移動するのにかかる標準的な時間を標準移動距離として前記各エリアに対応付けた距離テーブル115とを用い、前記移動体が存在するエリアである現在エリアを特定するエリア特定ステップと、前記移動体が前記現在エリアより前に通過したエリアである前エリアまでの実移動時間を算出する実移動時間算出ステップと、前記実移動時間と、前記前エリアまでの前記標準移動時間とから、前記現在エリアの予想移動時間を算出する予想移動時間算出ステップ104と、前記現在エリアの予想移動時間と、前記現在エリアの前記標準移動距離とから、前記移動体の移動距離を予想移動距離として算出する予想移動距離算出ステップ105と、前記予想移動距離を用いて前記移動体の位置を算出する位置算出ステップと、を備える。
【0096】
なお、上記には、本発明の実施形態を説明したが、上記実施形態は、一例として提示したものであり、発明の範囲を限定することは意図していない。上記実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。