【解決手段】 車速およびGPS信号の入力を受け付ける入力受付部と、位置情報および重みが対応付けられた複数のチェックポイントを車両の通過順序と共に記憶する記憶部と、GPS信号を取得できない場合、前記車両が最後に通過した直前チェックポイントに対応付けられている前記重みと、前記車速と、最後にGPS信号を取得した時点からの経過時間とを用いて、最後にGPS信号を取得した地点から次のチェックポイントまでの間に引いた直線上にある前記車両の走行位置を特定する位置推定部と、を備える。
【発明を実施するための形態】
【0011】
以下、本発明の一実施形態について説明する。
【0012】
図1は、本実施形態に係る走行位置推定システム1の概略構成の一例を示した図である。走行位置推定システム1は、バスに搭載されている車載装置100と、情報管理センターが備えるサーバ装置200とを有している。車載装置100は、バスに搭載されているGPS受信装置からGPS信号を取得し、所定のネットワーク(例えば、インターネットなどの公衆通信網やLAN:Local Area Networkなどの通信網あるいはWAN:Wide Area Networkなどの一般公衆回線を一部に用いた通信網など)Nを介して情報管理センターのサーバ装置200に送信する。
【0013】
サーバ装置200は、GPS信号に含まれる位置情報を用いて、バスの走行位置を特定し、かかる位置情報を用いてユーザに様々なサービスを提供する。例えば、サーバ装置200の情報生成部は、位置情報を用いて、現在バスがどの停留所間を走行しているかを特定し、かかる走行位置を視覚的に示す表示情報を生成する。また、例えば、サーバ装置200は、位置情報を用いてバスが各停留所に到着するまでの時間を算出する。
【0014】
サーバ装置200は、生成した情報を用いて、様々な形態によりバスの走行位置および到着時間をユーザに伝える。例えば、各停留所に表示装置が設置されている路線の場合、サーバ装置200は、バスの走行位置および到着時間を停留所の表示装置に表示させる。また、例えば、サーバ装置200は、バス運営会社などが提供するホームページにアクセスしたユーザの携帯端末などにバスの走行位置や到着時間を表示させる。このようなサービスにより、ユーザは、待っているバスがどの停留所間を走行し、あと何分くらいで到着するのかを知ることができる。なお、バスの位置情報などをユーザに提供するサービスの形態および位置情報の提供方法は特に限定されるものではない。
【0015】
図2は、車載装置100の機能構成の一例を示した機能ブロック図である。車載装置100は、演算部101と、記憶部102と、通信部103とを有している。また、演算部101は、入力受付部111と、出力処理部112と、チェックポイント特定部113と、位置推定部114とを有している。
【0016】
入力受付部111は、バスに搭載されている種々の装置から情報の入力を受け付ける機能部である。入力受付部111は、例えば、GPS受信装置から定期的に(例えば、1秒ごとに)位置情報を含むGPS信号の入力を受け付ける。また、入力受付部111は、例えば、車速センサから車速パルス信号の入力を受け付ける。
【0017】
また、入力受付部111は、バス特有の設備を制御する車両設備制御装置から様々な信号の入力を受け付ける。入力受付部111は、例えば、車両設備制御装置から前方および後方ドアの開閉を示す信号の入力を受け付ける。また、入力受付部111は、例えば、通過ボタン(停車せずに停留所を通過した場合に押下されるボタン)が押下されたことを示す信号の入力を受け付ける。
【0018】
出力処理部112は、バスに搭載されている種々の装置に所定情報を出力する機能部である。具体的には、出力処理部112は、次の停留所名や料金表などの表示情報をバスの表示装置に出力する。また、出力処理部112は、停留所などを案内する音声案内情報120をバスのスピーカに出力する。
【0019】
チェックポイント特定部113は、バスが最後に通過したチェックポイント(以下、「直前チェックポイント」という)を特定する機能部である。具体的には、チェックポイント特定部113は、チェックポイント特定処理の実行により、直前チェックポイントを特定する。また、チェックポイント特定部113は、所定の場合に、直前チェックポイントに対応付けられている重みなどの所定情報をチェックポイント情報300から取得し、これを位置推定部114に受け渡す。なお、チェックポイント特定処理の詳細は後述する。
【0020】
位置推定部114は、GPS信号を取得できない場合にバスの走行位置を推定する機能部である。具体的には、位置推定部114は、位置推定処理の実行により、バスの走行位置を推定し走行位置推定情報を生成する。位置推定処理の詳細は後述する。
【0021】
記憶部102は、様々な情報を格納する機能部である。具体的には、記憶部102は、音声案内情報120と、チェックポイント情報300とを格納している。
【0022】
音声案内情報120は、停留所などを音声で案内するための音声情報である。音声案内情報120には、例えば、「次は、***(停留所名)です」といった音声情報が含まれている。
【0023】
図3は、チェックポイント情報300の一例を示した図である。チェックポイント情報300は、路線上に設けられている所定のチェックポイントに関する情報である。具体的には、チェックポイント情報300は、No301と、チェックポイント302と、位置情報303と、重み304とが対応付けられたレコードを有している。
【0024】
No301は、各チェックポイントの識別番号を示す情報である。チェックポイント302は、各チェックポイントの名称を示す情報である。位置情報303は、チェックポイントの位置を経度および緯度で示す情報である。重み304は、対応付けられたチェックポイントから次のチェックポイントまでの区間における道路の重みを示す情報である。なお、本実施形態にかかるチェックポイント情報300では、最上位のレコードに含まれているチェックポイント(停留所A)が始発の停留所を示しているものとする。
【0025】
このようなチェックポイント情報300は、路線ごとに作成され、予め記憶部102に格納されている。チェックポイント情報300は、後述のチェックポイント特定処理および位置推定処理に用いられる。
【0026】
図2に戻って説明する。通信部103は、外部装置(例えば、サーバ装置200)との間で情報通信を行う機能部である。具体的には、通信部103は、GPS受信装置で受信されたGPS信号および位置推定部114が生成した走行位置推定情報をサーバ装置200に送信する。
【0027】
以上、車載装置100の機能構成の一例について説明した。
【0028】
図4は、車載装置100のハードウェア構成の一例を示した図である。車載装置100は、例えば、一般的なバスに搭載され、停留所の音声案内機能を有する放送装置によって実現される。
【0029】
車載装置100は、演算装置400と、記憶装置410と、通信装置420と、入力装置430とを有している。
【0030】
演算装置400は、数値演算および各装置(デバイス)を制御するなど様々な処理を実行するCPU(Central Processing Unit)401と、記憶装置410またはROM403などのメモリ装置から読み出した所定情報を一時的に格納するRAM(Random Access Memory)402と、CPU401が実現するプログラムなどを格納するROM403を有している。
【0031】
記憶装置410は、HDD(Hard Disk Drive)や不揮発性メモリカードといった、少なくとも読み書きが可能な記憶媒体で構成される。
【0032】
通信装置420は、外部装置(例えば、サーバ装置200)との間で情報通信を行う通信モジュールなどである。
【0033】
入力装置430は、演算装置400に各種ハードウェアを接続するためのインターフェイスであって、複数の入力端子を有している。具体的には、入力装置430には、GPS信号の出力元であるGPS装置と、車速パルス信号の出力元である車速センサと、ドアや通過ボタンなどのバス設備に関する制御信号の出力元である車両設備制御装置とが接続されている。
【0034】
なお、車載装置100の入力受付部111、出力処理部112、チェックポイント特定部113および位置推定部114は、CPU401に処理を行わせるプログラムによって実現される。このプログラムは各々、車載装置100のROM403または記憶装置410に格納されており、実行にあたってRAM402上にロードされ、CPU401により実行される。また、記憶部102は、RAM402、ROM403および記憶装置410あるいはこれらの組合せにより実現される。また、通信部103は、通信装置420により実現される。
【0035】
また、各機能ブロックは、本実施形態において実現される車載装置100の機能を理解容易にするために、主な処理内容に応じて分類したものである。したがって、各機能の分類の仕方やその名称によって、本発明が制限されることはない。また、車載装置100の各構成は、処理内容に応じて、さらに多くの構成要素に分類することもできる。また、1つの構成要素がさらに多くの処理を実行するように分類することもできる。
【0036】
また、各機能部の全部または一部は、コンピュータに実装されるハードウェア(ASICといった集積回路など)により構築されてもよい。また、各機能部の処理が1つのハードウェアで実行されてもよいし、複数のハードウェアで実行されてもよい。
【0037】
[動作の説明]次に、車載装置100で実行される処理について説明する。
図5は、位置推定処理の一例を示したフロー図である。また、
図6は、位置推定処理に含まれるチェックポイント特定処理の一例を示したフロー図である。位置推定処理は、車載装置100の起動後、入力受付部111がドライバーから処理の開始指示を受け付けると開始する。例えば、ドライバーは、始発の停留所を出発したタイミングで、車両設備制御装置に対して処理の開始指示を行う。入力受付部111は、かかる指示を受け付けると、位置推定処理の開始に先立ち、ドライバーによって設定された走行路線に対応するチェックポイント情報300を記憶部102から取得し、始発の停留所(例えば、停留所A)を直前チェックポイントとして特定する。
【0038】
位置推定処理が開始されると、入力受付部111は、定期的に(例えば、1秒ごとに)GPS信号を取得したか否かを判定する(ステップS101)。GPS信号を取得したと判定した場合(ステップS101でYes)、入力受付部111は、GPS信号をチェックポイント特定部113に出力し(ステップS102)、処理を
図6の「A」に移行する。
【0039】
次に、チェックポイント特定部113は、GPS信号を取得したか否かを判定する(ステップS201)。チェックポイント特定部113は、入力受付部111からGPS信号を取得しているため(ステップS201でYes)、処理をステップS202に移行する。
【0040】
次に、チェックポイント特定部113は、バスが次のチェックポイントを通過したか否かを判定する(ステップS202)。例えば、チェックポイント特定部113は、GPS信号に含まれる位置情報を用いて、バスの走行位置が次のチェックポイント(1つ先のチェックポイント)とその次のチェックポイント(2つ先のチェックポイント)との間の区間上にあるか否かを判定する。具体的には、チェックポイント特定部113は、次のチェックポイントおよびその先のチェックポイントの位置情報をチェックポイント情報300から取得し、これらのチェックポイントを直線で結んだ所定幅(例えば、3m幅)のエリア内にバスの走行位置があるか否かを判定する。
【0041】
かかるエリア内にバスの走行位置があると判定した場合、チェックポイント特定部113は、バスが次のチェックポイントを通過したと判定し(ステップS202でYes)、そのチェックポイントを直前チェックポイントとして特定する。すなわち、チェックポイント特定部113は、直前チェックポイントを、通過したと判定したチェックポイントに更新する(ステップS203)。
【0042】
次に、チェックポイント特定部113は、直前チェックポイントを更新したことを示す更新フラグをONにし(ステップS204)、処理を
図5のステップS111へ移行する(ステップS205)。
【0043】
なお、更新フラグを用いるのは、GPS信号を取得できない場合に実行される走行位置推定のための処理を分岐させるためである。後述するように、GPS信号を取得できなくなった場合、その時点の直前チェックポイントを基準に走行位置を推定する。一方で、次のチェックポイントを通過しても(直前チェックポイントが更新されても)GPS信号を取得できない状態が継続している場合には、更新された直前チェックポイントを基準に走行位置を推定する。そのため、更新フラグを用いて異なる基準の処理を実行するように分岐させる。
【0044】
なお、チェックポイント特定部113は、更新フラグがONの状態において、次回以降のステップS101の処理でGPS信号を取得したと判定した場合、更新フラグをOFFにする。
【0045】
ステップS111では、位置推定部114は、バスの走行位置情報(例えば、GPS信号)をサーバ装置200に送信し、本フローの処理を終了する。
【0046】
また、前述のステップS101の処理で、入力受付部111がGPS信号を取得していないと判定した場合(ステップS101でNo)、位置推定部114は、チェックポイントの更新フラグがONであるか否かを判定する(ステップS104)。
【0047】
更新フラグがOFFであると判定した場合(ステップS104でNo)、位置推定部114は、最後に取得したGPS信号(ステップS101でGPS信号を取得していないと判定する直前に取得したGPS信号)を用いて、かかるGPS信号の取得時点における走行位置を特定する(ステップS105)。
【0048】
次に、位置推定部114は、直前チェックポイントおよび重みをチェックポイント特定部113から取得する(ステップS106)。具体的には、位置推定部114は、直前チェックポイントおよび重みの取得要求をチェックポイント特定部113に出力する。チェックポイント特定部113は、かかる要求を受け付けると、直前チェックポイントとして特定したチェックポイントと、これに対応付けられている重みをチェックポイント情報300から抽出し、位置推定部114に出力する。
【0049】
次に、位置推定部114は、最後にGPS信号を取得した走行位置から次のチェックポイントまでの間に直線を引き、走行路を特定する(ステップS107)。具体的には、位置推定部114は、最後に取得したGPS信号を用いて、その時点における走行位置を特定する。また、位置推定部114は、チェックポイント情報300を用いて、直前チェックポイントの次のチェックポイントおよびその位置情報を特定する。また、位置推定部114は、これらの位置情報を用いて、最後にGPS信号を取得した走行位置から次のチェックポイントまでの間に直線を引き、路線上の走行路を特定する。
【0050】
図7は、最後にGPS信号を取得した位置から次のチェックポイントまでの間に引いた直線の一例を示した図である。Pは最後にGPS信号を取得した位置を示し、Qは現時点のバスの走行位置を示し、Sは直線(走行路)を示している。
【0051】
次に、位置推定部114は、現時点(GPS信号を取得していないと判定した時点)における走行位置を特定し、かかる位置情報をチェックポイント特定部113に出力する(ステップS108)。走行位置の特定にあたり、位置推定部114は、現時点における車速と、最後にGPS信号を取得した時点からの経過時間(少なくとも、1秒以上の秒単位)と、チェックポイント特定部113から取得した重みとを用いて、最後にGPS信号を取得した時点から現時点までの間にバスが移動した距離を算出する。
【0052】
移動距離(L)は、車速=v、道路の重み=m、経過時間=tとした場合、
L=(v/m)×t・・・(式1)により求められる。
【0053】
なお、車速を重みで割ったのは、実道路の距離を考慮したためである。
図8(a)および(b)は、重みに関する説明図である。
図8(a)および(b)に示すように、急な勾配や蛇行した実道路の距離は、チェックポイント間を直線で結んだ距離よりも長くなる。したがって、各チェックポイント同士の間で規定される走行区間において、より正確な移動距離を算出するために重みを用いている。なお、重みは、実際の路線上を走行した距離(実道路の距離)と、チェックポイントの位置情報から計算した距離の差異に基づいて決定される。
図8(a)および(b)では、実道路の距離と位置情報から計算した直線距離とが各々12kmと10kmであるため、重み(m)は、m=12/10=1.2と算出される。なお、重みの算出方法は特に限定されるものではない。
【0054】
位置推定部114は、移動距離(L)を算出すると、最後にGPS信号を取得した時点における走行位置を、移動距離の分だけ次のチェックポイント方向に直前上を移動させることにより、現時点におけるバスの走行位置を特定する。バスは、停留所やチェックポイント(交差点)を結ぶ走行路が予め決められているため、かかる直線上に走行位置を求めることができる。
【0055】
位置推定部114は、現時点の走行位置を特定すると、かかる位置情報をチェックポイント特定部113に出力し、処理を
図6の「A」に移行する(ステップS109)。
【0056】
次に、チェックポイント特定部113は、GPS信号を取得したか否かを判定する(ステップS201)。チェックポイント特定部113は、GPS信号を取得していないため(ステップS201でNo)、処理をステップS206に移行する。
【0057】
次に、チェックポイント特定部113は、チェックポイント情報300を用いて、次のチェックポイントが停留所であるか否かを判定する(ステップS206)。そして、次のチェックポイントが停留所であると判定した場合(ステップS206でYes)、チェックポイント特定部113は、入力受付部111がドアの開閉信号または通過ボタンを押下したことを示す信号のいずれかを取得したか否かを判定する(ステップS207)。
【0058】
そして、いずれかの信号を取得したと判定した場合(ステップS207でYes)、チェックポイント特定部113は、直前チェックポイントを更新し(ステップS203)、チェックポイントの更新フラグをONにして(ステップS204)、処理を
図5のステップS111に移行する(ステップS205)。
【0059】
また、前述のステップS207の処理で、ドアの開閉信号を取得していないと判定した場合(ステップS207でNo)、チェックポイント特定部113は、処理を
図5のステップS111に移行する(ステップS205)。
【0060】
また、前述のステップS206の処理で、次のチェックポイントが停留所ではないと判定した場合(ステップS206でNo)、チェックポイント特定部113は、バスが次のチェックポイントに到達したか否かを判定する(ステップS208)。具体的には、チェックポイント特定部113は、ステップS108で特定された現時点における走行位置が次のチェックポイントの経度および緯度に達したか否かを判定する。
【0061】
そして、次のチェックポイントに達していないと判定した場合(ステップS208でNo)、チェックポイント特定部113は、処理を
図5のステップS111に移行する(ステップS205)。
【0062】
一方で、次のチェックポイントに達したと判定した場合(ステップS208でYes)、チェックポイント特定部113は、直前チェックポイントを更新する(ステップS203)。また、チェックポイント特定部113は、チェックポイントの更新フラグをONにし(ステップS204)、処理を
図5のステップS111に移行する(ステップS205)。
【0063】
ステップS111では、位置推定部114は、ステップS108で特定した現時点におけるバスの走行位置を含む走行位置推定情報を生成する。また、位置推定部114は、走行位置推定情報をサーバ装置200に送信し、本フローの処理を終了する。
【0064】
また、前述のステップS104の処理で、チェックポイントの更新フラグがON状態であると判定した場合(ステップS104でYes)、位置推定部114は、処理をステップS109に移行する。
【0065】
ステップS109では、位置推定部114は、更新された直前チェックポイントの位置および重みを取得する。なお、更新された直前チェックポイントは、最後にGPS信号を取得した時点における直前チェックポイントより終点寄りに位置するチェックポイント(最後にGPS信号を取得した時点における直前チェックポイントから見て、次以降のチェックポイント)である。
【0066】
位置推定部114は、直前チェックポイントの位置および重みの取得要求をチェックポイント特定部113に出力する。チェックポイント特定部113は、かかる要求を受け付けると、直前チェックポイントとして特定したチェックポイントの位置情報および対応付けられている重みをチェックポイント情報300から抽出し、位置推定部114に出力する。
【0067】
次に、位置推定部114は、更新された直前チェックポイントから次のチェックポイントまでの間に直線を引き、走行路を特定して(ステップS110)、処理をステップS108に移行する。
【0068】
ステップS108では、位置推定部114は、現時点の走行位置を特定し、かかる位置情報をチェックポイント特定部113に出力する。走行位置の特定にあたり、位置推定部114は、現時点における車速と、直前チェックポイントが更新されてからの経過時間(少なくとも、1秒以上の秒単位)と、チェックポイント特定部113から取得した重みとを用いて、更新された直前チェックポイントを通過してから現時点までの間にバスが移動した距離を前述の(式1)を用いて算出する。
【0069】
移動距離(L)を算出すると、位置推定部114は、更新された直前チェックポイントから直線方向に移動距離を加算することにより、現時点におけるバスの走行位置を特定する。また、位置推定部114は、現時点の走行位置を特定すると、これをチェックポイント特定部113に出力し、処理を
図6の「A」に移行する。
【0070】
なお、ステップS201ならびにステップS203〜ステップS208およびステップS111の処理は前述と同様であるため、説明を省略する。
【0071】
車載装置100は、位置推定処理およびチェックポイント特定処理を定期的(例えば、1秒ごと)に実行することにより、GPS信号を取得できない場合でも、バスの正確な走行位置を推定する。
【0072】
このような実施形態に係る車載装置100によれば、GPS信号を取得できない区間を走行する場合でも、一般的なバスが備える設備を用いてバスの走行位置を推定できる。そのため、追加の設備等を導入する必要がなく、コストを削減でき、かつ、正確な走行位置を推定することができる。
【0073】
なお、本発明は、前述の実施形態に限られるものではない。前述の実施形態では、ステップS208において、バスが次のチェックポイントに到達したか否かに基づき、直前チェックポイントを更新したが、次のチェックポイントを中心とする所定半径(例えば、半径10m)のエリア内に、特定した走行位置が含まれたか否かに基づき、直前チェックポイントを更新しても良い。
【0074】
また、かかるエリアをバスが通過したか否か、すなわち、バスがエリア内に進入(イン)した後、エリア外に移動(アウト)したことを検知したか否かに基づき、直前チェックポイントを更新しても良い。
【0075】
図9は、次のチェックポイントおよび所定半径のエリアを示した図である。Pは最後にGPS信号を取得した位置を示し、Qは現時点のバスの走行位置を示し、Sは直線(走行路)を示し、Yは、所定半径のエリアを示している。チェックポイント特定部113は、ステップS108で特定された走行位置がエリアY内に含まれた後(イン)、エリアY内に含まれなくなったこと(アウト)を検知した場合に次のチェックポイントを通過したと判定する。このような方法によれば、バスがチェックポイントを通過したことをより精度良く判定することができる。
【0076】
なお、本発明は、上記の実施形態に限られるものではなく、これら以外にも様々な実施形態および変形例が含まれる。例えば、上記の実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態や変形例の構成に置き換えることが可能であり、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【0077】
また、上記の各構成、機能、処理部および処理手段などは、それらの一部または全部を、プロセッサが各々の機能を実現するプログラムにより実現しても良い。各機能を実現するプログラム、テーブル、ファイルなどの情報は、メモリや、ハードディスク、SSD(Solid State Drive)などの記憶装置、または、ICカード、SD(Secure Digital)メモリカード、DVDなどの記憶媒体に置くことができる。なお、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。