ここで、エネルギーとは、たとえば、EV(Electric Vehicle)車などの場合、電気などに基づくエネルギーであり、HV(Hybrid Vehicle)車、PHV(Plug−in Hybrid Vehicle)車などの場合は電気などに基づくエネルギーおよび、たとえばガソリンや軽油、ガスなどに基づくエネルギーである。また、エネルギーとは、たとえば燃料電池車の場合、電気などに基づくエネルギーおよび、たとえば水素や水素原料になる化石燃料などである(以下、EV車、HV車、PHV車、燃料電池車は単に「EV車」という)。また、エネルギーとは、たとえば、ガソリン車、ディーゼル車など(以下、単に「ガソリン車」という)の場合、たとえば、ガソリンや軽油、ガスなどに基づくエネルギーである。たとえば残存エネルギーとは、たとえば、移動体の燃料タンクやバッテリー内、高圧タンクなどに残っているエネルギーであり、後の移動体の走行に用いることのできるエネルギーである。
取得部101は、画像処理装置100を搭載した移動体の現在地点に関する情報や、移動体の現在地点において当該移動体が保有するエネルギー量である初期保有エネルギー量に関する情報を取得する。具体的には、取得部101は、たとえば、GPS衛星から受信したGPS情報などを用いて、自装置の現在位置を算出することによって現在地点に関する情報(位置情報)を取得する。
また、取得部101は、たとえば、CAN(Controller Area Network)など通信プロトコルによって動作する車内通信網を介して、エレクトロニックコントロールユニット(ECU:Electronic Control Unit)によって管理されている移動体の残存エネルギー量を、初期保有エネルギー量として取得する。
取得部101は、移動体の速度に関する情報や、渋滞情報、移動体情報を取得してもよい。移動体の速度に関する情報とは、移動体の速度、加速度である。また、取得部101は、たとえば、記憶部(不図示)に記憶された地図情報から道路に関する情報を取得してもよいし、傾斜センサなどから道路勾配などを取得してもよい。道路に関する情報とは、たとえば、道路種別や、道路勾配、路面状況などにより移動体に生じる走行抵抗である。
算出部102は、移動体が所定区間を走行する際に消費するエネルギーである推定エネルギー消費量を算出する。所定区間とは、たとえば、道路上の一の所定地点(以下、「ノード」とする)と当該一のノードに隣り合う他のノードとを結ぶ区間(以下、「リンク」とする)である。ノードとは、たとえば、交差点やスタンドであってもよいし、所定の距離で区切られたリンク間の接続地点であってもよい。ノードおよびリンクは、記憶部に記憶された地図情報を構成する。地図情報は、たとえば、交差点(点)、道路(線や曲線)、領域(面)やこれらを表示する色などを数値化したベクタデータで構成される。
具体的には、算出部102は、第一情報と、第二情報と、第三情報と、を含む消費エネルギー推定式に基づいて、所定区間における推定エネルギー消費量を推定する。より具体的には、算出部102は、移動体の速度に関する情報や移動体情報に基づいて、所定区間における推定エネルギー消費量を推定する。移動体情報とは、移動体の重量(乗車人数や積載荷物による重量も含む)、回転体の重量など、移動体走行時に消費または回収されるエネルギー量を変化させる要因となる情報である。なお、道路勾配が明らかな場合、算出部102は、さらに第四情報を加えた消費エネルギー推定式に基づいて、所定区間における推定エネルギー消費量を推定してもよい。
消費エネルギー推定式とは、所定区間における移動体のエネルギー消費量を推定する推定式である。具体的には、消費エネルギー推定式は、エネルギー消費量を増減させる異なる要因である第一情報、第二情報および第三情報を含む多項式である。また、道路勾配が明らかな場合、消費エネルギー推定式には、さらに第四情報が加えられる。消費エネルギー推定式についての詳細な説明は後述する。
第一情報は、移動体に備えられた装備品により消費されるエネルギーに関する情報である。この第一情報は、移動体の走行に関係しない要因で消費されるエネルギー消費量であり、移動体に備えられたエアコンやオーディオなどによるエネルギー消費量である。また、移動体の加減速時を含む走行時および停止時に消費されるエネルギーに関する情報である。
具体的には、第一情報は移動体の走行に関係しない要因で消費されるエネルギー量である。より具体的には、第一情報は移動体に備えられたエアコン、カーオーディオ、ヘッドライト、ウインカー、ブレーキポンプなどの装備品によって消費されるエネルギー量である。
第二情報は、移動体の加減速時に消費および回収されるエネルギーに関する情報である。移動体の加減速時とは、移動体の速度が時間的に変化している走行状態である。具体的には、移動体の加減速時とは、所定時間内において、移動体の速度が変化する走行状態である。所定時間とは、一定間隔の時間の区切りであり、たとえば、単位時間当たりなどである。回収されるエネルギーとは、EV車の場合、たとえば、移動体の走行時にバッテリーに充電される電力である。また、回収されるエネルギーとは、ガソリン車の場合、たとえば、消費される燃料を低減(燃料カット)し節約することのできる燃料である。
第三情報は、移動体の走行時に生じる抵抗により消費されるエネルギーに関する情報である。移動体の走行時とは、所定時間内において、移動体の速度が一定、加速もしくは減速している走行状態である。移動体の走行時に生じる抵抗とは、移動体の走行時に移動体の走行状態を変化させる要因である。具体的には、移動体の走行時に生じる抵抗とは、気象状況、道路状況、車両状況などにより移動体に生じる各種抵抗である。
気象状況により移動体に生じる抵抗とは、たとえば、雨、風などの気象変化による空気抵抗である。道路状況により移動体に生じる抵抗とは、道路勾配、路面の舗装状態、路面上の水などによる路面抵抗である。車両状況により移動体に生じる抵抗とは、タイヤの空気圧、乗車人数、積載重量などにより移動体にかかる負荷抵抗である。
具体的には、第三情報は、空気抵抗や路面抵抗、負荷抵抗を受けた状態で、移動体を一定速度、加速もしくは減速で走行させたときのエネルギー消費量である。より具体的には、第三情報は、たとえば、向かい風により移動体に生じる空気抵抗や、舗装されていない道路から受ける路面抵抗などを、移動体が一定速度、加速もしくは減速で走行するときに消費されるエネルギー消費量である。
第四情報は、移動体が位置する高度の変化により消費および回収されるエネルギーに関する情報である。移動体が位置する高度の変化とは、移動体の位置する高度が時間的に変化している状態である。具体的には、移動体が位置する高度の変化とは、所定時間内において、移動体が勾配のある道路を走行することにより高度が変化する走行状態である。
また、第四情報は、所定区間内における道路勾配が明らかな場合に求めることができる付加的な情報であり、これによりエネルギー消費量の推定精度を向上することができる。なお、道路の傾斜が不明な場合、または計算を簡略化する場合、移動体が位置する高度の変化はないものとして、後述する消費エネルギー推定式における道路勾配θ=0としてエネルギー消費量を推定することができる。
探索部103は、記憶部に記憶された地図情報、取得部101によって取得された移動体の現在地点および初期保有エネルギー量、ならびに算出部102によって算出された推定エネルギー消費量に基づいて、移動体が現在地点から到達可能な地点である複数の到達可能地点を探索する。
具体的には、探索部103は、移動体の現在地点から移動可能なすべての経路において、それぞれ、移動体の現在地点を始点とし、移動体からの経路上の所定地点同士を結ぶ所定区間における推定エネルギー消費量の累計が最小となるように所定地点および所定区間を探索する。そして、探索部103は、移動体の現在地点から移動可能なすべての経路において、それぞれ、推定エネルギー消費量の累計が移動体の現時点での初期保有エネルギー量の範囲内にある所定地点を移動体の到達可能地点とする。
より具体的には、探索部103は、移動体の現在地点を始点として、移動体の現在地点から移動可能なすべてのリンク、これらのリンクにそれぞれ接続するノード、これらのノードから移動可能なすべてのリンクと、移動体の到達可能なすべてのノードおよびリンクを順に探索する。このとき、探索部103は、新たな一のリンクを探索するごとに、一のリンクが接続する経路の推定エネルギー消費量を累計し、推定エネルギー消費量の累計が最小となるように当該一のリンクに接続するノードおよびこのノードに接続する複数のリンクを探索する。
たとえば、探索部103は、当該一のリンクおよび他のリンクが同一のノードに接続されている場合、このノードに接続する複数のリンクのうち、移動体の現在地点から当該ノードまでの推定エネルギー消費量の累計の少ないリンクの推定エネルギー消費量を使って当該ノードの推定エネルギー消費量の累計を算出する。そして、探索部103は、探索されたノードおよびリンクで構成される複数の経路において、それぞれ、推定エネルギー消費量の累計が移動体の初期保有エネルギー量の範囲内にあるすべてのノードを移動体の到達可能地点として探索する。このように推定エネルギー消費量の少ないリンクの推定エネルギー消費量を使うことにより、当該ノードの推定エネルギー消費量の正しい累計を算出することができる。
また、探索部103は、移動体の移動が禁止された所定区間を、移動体の到達可能地点を探索するための候補から除いて当該到達可能地点を探索してもよい。移動体の移動が禁止された所定区間とは、たとえば、一方通行の逆走となるリンク、時間規制や季節規制により通行禁止区間となるリンクである。時間規制とは、たとえば、通学路や行事などに設定されることにより、ある時間帯で通行が禁止されることである。季節規制とは、たとえば、大雨や大雪などにより通行が禁止されることである。
探索部103は、複数の所定区間のうち、一の所定区間のつぎに選択する他の所定区間の重要度が当該一の所定区間の重要度よりも低い場合、他の所定区間を、移動体の到達可能地点を探索するための候補から除いて当該到達可能地点を探索してもよい。所定区間の重要度とは、たとえば、道路種別などである。道路種別とは、法定速度や、道路の勾配、道路幅、信号の有無などの道路状態の違いにより区別することのできる道路の種類である。具体的には、道路種別とは、一般国道、高速道路、一般道路、市街地などを通る細街路などである。細街路とは、たとえば、市街地内にある幅員4メートル未満の建築基準法に規定された道路である。
さらに、探索部103は、一の橋または一のトンネルの入口および出口が移動体の到達可能地点となる場合、分割部104によって分割される地図情報の一の橋または一のトンネルを構成するすべての領域が移動体の到達可能範囲に含まれるように移動体の到達可能地点を探索するのが好ましい。具体的には、探索部103は、たとえば、一の橋または一のトンネルの入口が移動体の到達可能地点となる場合、一の橋または一のトンネルの入口から出口に向かって、一の橋または一のトンネル上に複数の到達可能地点が探索されるように当該到達可能地点を探索してもよい。一の橋または一のトンネルの入口とは、一の橋または一のトンネルの、移動体の現在地点に近い側の始点である。
分割部104は、地図情報を複数の領域に分割する。具体的には、分割部104は、探索部103によって探索された移動体の複数の到達可能地点のうち、移動体の現在地点から最も離れた到達可能地点に基づいて、地図情報を複数の矩形状の領域に分割し、たとえばm×mドットのメッシュデータに変換する。m×mドットのメッシュデータは、後述する付与部105によって識別情報が付与されたラスタデータ(画像データ)として扱われる。なお、m×mドットのそれぞれのmは同じ数値でも構わないし、異なる数値でも構わない。
より具体的には、分割部104は、最大経度、最小経度、最大緯度、最小緯度を抽出し移動体の現在地点からの距離を算出する。そして、分割部104は、たとえば、移動体の現在地点から最も遠い到達可能地点と移動体の現在地点とをn等分したときの一の領域の大きさを、地図情報を複数の領域に分割したときの一の領域の大きさとし、地図情報をm×mドットのメッシュデータに分割する。このとき、メッシュデータの周辺のたとえば4ドット分を空白にするために、n=(m/2)−4とする。
付与部105は、探索部103によって探索された複数の到達可能地点に基づいて、分割部104によって分割された複数の領域にそれぞれ移動体が到達可能であるか否かを識別する識別情報を付与する。具体的には、付与部105は、分割部104によって分割された一の領域に移動体の到達可能地点が含まれる場合、その一の領域に移動体が到達可能であることを識別する到達可能の識別情報を付与する。その後、付与部105は、分割部104によって分割された一の領域に移動体の到達可能地点が含まれない場合、その一の領域に移動体が到達不可能であることを識別する到達不可能の識別情報を付与する。
より具体的には、付与部105は、m×mに分割されたメッシュデータの各領域に、到達可能の識別情報「1」または到達不可能の識別情報「0」を付与することで、m行m列の2次元行列データのメッシュデータに変換する。分割部104および付与部105は、このように地図情報を分割してm行m列の2次元行列データのメッシュデータに変換し、2値化されたラスタデータとして扱う。
付与部105は、分割部104によって分割された複数の領域に対して識別情報の変更処理をおこなう変更部を備える。具体的には、付与部105は、変更部によって、地図情報が分割されてなるメッシュデータを2値化されたラスタデータとして扱い、クローニング処理(膨張処理後に縮小処理をおこなう処理)をおこなう。また、付与部105は、変更部によって、オープニング処理(縮小処理後に膨張処理をおこなう処理)をおこなってもよい。
具体的には、変更部は、第1,第2の変更部からなり、第1変更部は、識別情報が付与された一の領域に隣り合う他の領域に到達可能の識別情報が付与されている場合、当該一の領域の識別情報を到達可能の識別情報に変更する(膨張処理)。より具体的には、第1変更部は、矩形状の一の領域の、左下、下、右下、右、右上、上、左上、左の8方向に隣り合う他の領域のうちのいずれかの領域に到達可能の識別情報である「1」が付与されている場合、当該一の領域の識別情報を「1」に変更する。
また、第2変更部は、第1変更部による識別情報の変更後、識別情報が付与された一の領域に隣り合う他の領域に到達不可能の識別情報が付与されている場合、当該一の領域の識別情報を到達不可能の識別情報に変更する(縮小処理)。より具体的には、第2変更部は、矩形状の一の領域の、左下、下、右下、右、右上、上、左上、左の8方向に隣り合う他の領域のうちのいずれかの領域に到達不可能の識別情報である「0」が付与されている場合、当該一の領域の識別情報を「0」に変更する。第1変更部による膨張処理と、第2変更部による縮小処理は、同じ回数ずつおこなう。
付与部105は、分割部104によって分割された複数の領域のうち、移動体が現在地点から到達可能な地点である到達可能地点を含む領域に、当該移動体が到達可能であることを識別する到達可能の識別情報を付与して当該移動体の到達可能範囲とする。その後、付与部105は、到達可能の識別情報を付与した領域に隣り合う領域にも到達可能の識別情報を付与し、移動体の到達可能範囲に欠損点が生じないように各領域の識別情報を変更する。
また、付与部105は、地図情報の一の橋または一のトンネルの入口および出口に相当する分割された地図情報に、到達可能であることを識別する到達可能の識別情報が付与されている場合、当該一の橋または当該一のトンネルを構成するすべての領域に相当する分割された地図情報に、到達可能の識別手段を付与する。具体的には、付与部105は、たとえば、一の橋または一のトンネルの入口および出口に相当する各領域にそれぞれ到達可能の識別情報が付与されている場合、一の橋または一のトンネルの入口に相当する領域から出口に相当する領域に至るまでに移動体が移動可能な全領域に到達可能の識別情報を付与する。
より具体的には、付与部105は、たとえば、第1変更部による膨張処理前に、一の橋または一のトンネルの入口および出口に相当する各領域にそれぞれ到達可能の識別情報である「1」が付与されている場合で、一の橋または一のトンネル上に欠損点が生じているときに、一の橋または一のトンネルの入口に相当する領域と出口に相当する領域とを結ぶ区間上に位置する全領域の識別情報を「1」に変更する。一の橋または一のトンネルの入口に相当する領域と出口に相当する領域とを結ぶ区間とは、複数のカーブを含む道路に相当する区間であってもよいし、一本の直線状の道路に相当する区間であってもよい。
輪郭データ算出部106は、付与部105によって付与された到達可能範囲の輪郭の輪郭データを算出する。たとえば、到達可能な識別情報「1」が付与されている最も外側の輪郭をつなぐことにより、到達可能範囲の外輪郭を算出する。
また、輪郭データ算出部106は、到達可能範囲の内部に移動体が到達不可能な範囲の輪郭を算出することができる。この到達不可能な範囲とは、到達可能範囲の内部に「穴」が空く形で生じることがある。この穴とは、たとえば、地図情報上における湖や沼、山など、移動体が進入できない領域に相当する。そして、輪郭データ算出部106は、到達可能範囲の内部に、移動体が進入できない到達不可能範囲がある場合、この到達不可能範囲の内輪郭を算出する。
移動体の到達可能範囲、および到達不可能範囲の輪郭は、たとえば、フリーマンのチェインコードを用いて算出することができる。到達可能範囲および到達可能範囲の内部の到達不可能範囲は、いずれも同じチェインコードを用いて算出することができる。詳細は後述するが、識別情報が付与された地図情報を上下方向に1ラインずつ水平方向に走査しておこなう。
輪郭データ算出部106は、向き算出部107を含む。向き算出部107は、輪郭を算出する際の向きを算出する。この識別情報が示す方向により、外輪郭であるか内輪郭であるかを判別でき、到達可能範囲、および到達不可能範囲の輪郭を検出することができる。上記1ラインずつ走査する際に、ある走査ではじめに識別情報を検出した箇所(識別箇所1)に対して、次回以降の走査で識別箇所1に対して、縦横斜めのいずれかの方向で隣接する他の識別情報を検出した箇所(識別箇所2)の検出方向をチェインコードにしたがい加算していく。この際、各識別情報の検出方向がいずれも反時計回りとして検出された識別情報は外輪郭となり、各識別情報の検出方向が時計回りで検出された識別情報は内輪郭になる。
輪郭データ算出部106は、到達可能範囲を示す外輪郭および到達不可能範囲を示す内輪郭それぞれについて、各識別情報ごとのチェインコードの値(数列)を出力する。この際、あわせて、向き算出部107は、識別情報の検出方向(地図情報上での回転方向)として時計回り、あるいは反時計回りであることを出力する。
表示制御部108は、付与部105によって識別情報が付与された領域の識別情報に基づいて、移動体の到達可能範囲を地図情報とともに表示部110に表示させる。具体的には、表示制御部108は、付与部105によって識別情報が付与された複数の画像データであるメッシュデータをベクタデータに変換し、記憶部に記憶された地図情報とともに表示部110に表示させる。
より具体的には、表示制御部108は、輪郭データ算出部106により算出された移動体の到達可能範囲の輪郭を抽出し表示部110に表示させる。また、到達可能範囲の内部に到達不可能範囲が存在する場合には、この到達不可能範囲についても輪郭を抽出し表示部110に表示させる。この際、識別情報の検出方向が反時計回りとされた該当する領域を到達可能範囲として表示させる。また、識別情報の検出方向が時計回りとされた該当する領域を到達可能範囲の内部で到達不可能範囲として表示させる。
つぎに、画像処理装置100による画像処理について説明する。図2は、画像処理装置による画像処理の手順の一例を示すフローチャートである。図2のフローチャートにおいて、画像処理装置100は、まず、取得部101によって、移動体の現在地点に関する情報、および、移動体の現在地点において移動体が保有するエネルギー量である初期保有エネルギー量に関する情報、を取得する(ステップS201,S202)。このとき、画像処理装置100は、移動体情報も取得してもよい。
そして、画像処理装置100は、算出部102によって、移動体が所定区間を走行する際に消費するエネルギーである推定エネルギー消費量を算出する(ステップS203)。このとき、画像処理装置100は、移動体の経路上の所定地点同士を結ぶ複数の所定区間における推定エネルギー消費量をそれぞれ算出する。つぎに、画像処理装置100は、探索部103によって、記憶部に記憶された地図情報と、ステップS202,S203において取得した初期保有エネルギー量および推定エネルギー消費量とに基づいて、移動体の複数の到達可能地点を探索する(ステップS204)。
つぎに、画像処理装置100は、分割部104によって、ベクタデータからなる地図情報を複数の領域に分割し、ラスタデータからなるメッシュデータに変換する(ステップS205)。つぎに、画像処理装置100は、ステップS204において探索した複数の到達可能地点に基づいて、ステップS205において分割した複数の領域にそれぞれ、付与部105によって到達可能または到達不可能の識別情報を付与する(ステップS206)。その後、画像処理装置100は、ステップS206において識別情報を付与した複数の領域の識別情報に基づいて、表示制御部108によって移動体の到達可能範囲を表示部110に表示させる(ステップS207)。また、移動体の到達可能範囲の内部に到達不可能範囲がある場合には、ステップS206において識別情報を付与した複数の領域の識別情報に基づいて、到達不可能範囲を表示させ(ステップS208)、本フローチャートによる処理を終了する。
以上説明したように、実施の形態にかかる画像処理装置100は、地図情報を複数の領域に分割して各領域ごとに移動体が到達可能か否かを探索し、各領域にそれぞれ移動体が到達可能または到達不可能であることを識別する到達可能または到達不可能の識別情報を付与する。そして、画像処理装置100は、到達可能の識別情報が付与された領域に基づいて移動体の到達可能範囲を生成する。このため、画像処理装置100は、海や湖、山脈など移動体の走行不可能な領域を除いた状態で移動体の到達可能範囲を生成することができる。したがって、画像処理装置100は、移動体の到達可能範囲を正確に表示することができる。
また、画像処理装置100は、到達可能の識別情報が付与された領域に基づいて移動体の到達可能範囲の内部の到達不可能範囲を生成する。このため、画像処理装置100は、移動体の到達可能範囲の内部に湖や沼、山などの到達不可能範囲がある場合には、この到達不可能範囲を表示することができる。
また、画像処理装置100は、地図情報を分割した複数の領域を画像データに変換し、当該複数の領域にそれぞれ到達可能または到達不可能の識別情報を付与した後、クローニングの膨張処理をおこなう。このため、画像処理装置100は、移動体の到達可能範囲内の欠損点を除去することができる。
また、画像処理装置100は、地図情報を分割した複数の領域を画像データに変換し、当該複数の領域にそれぞれ到達可能または到達不可能の識別情報を付与した後、オープニングの縮小処理をおこなう。このため、画像処理装置100は、移動体の到達可能範囲の孤立点を除去することができる。
このように、画像処理装置100は、移動体の到達可能範囲の欠損点や孤立点を除去することができるので、移動体の走行可能範囲を2次元のなめらかな面でかつ見やすく表示することができる。また、画像処理装置100は、地図情報を複数の領域に分割して生成したメッシュデータの輪郭を抽出する。このため、画像処理装置100は、移動体の到達可能範囲の輪郭をなめらかに表示することができる。
また、画像処理装置100は、移動体の到達可能地点を探索する道路を絞り込んで、移動体の到達可能地点を探索する。このため、画像処理装置100は、移動体の到達可能地点を探索する際の処理量を低減することができる。移動体の到達可能地点を探索する道路を絞り込むことで、探索可能な到達可能地点が少なくなったとしても、上述したようにクローニングの膨張処理がおこなわれることにより、移動体の到達可能範囲内に生じる欠損点を除去することができる。したがって、画像処理装置100は、移動体の到達可能範囲を生成するための処理量を低減することができる。また、画像処理装置100は、移動体の走行可能範囲を2次元のなめらかな面で見やすく表示することができる。
以下に、本発明の実施例1について説明する。本実施例では、車両に搭載されるナビゲーション装置300を画像処理装置100として、本発明を適用した場合の一例について説明する。
(ナビゲーション装置300のハードウェア構成)
つぎに、ナビゲーション装置300のハードウェア構成について説明する。図3は、ナビゲーション装置のハードウェア構成を示すブロック図である。図3において、ナビゲーション装置300は、CPU301、ROM302、RAM303、磁気ディスクドライブ304、磁気ディスク305、光ディスクドライブ306、光ディスク307、音声I/F(インターフェース)308、マイク309、スピーカ310、入力デバイス311、映像I/F312、ディスプレイ313、カメラ314、通信I/F315、GPSユニット316、各種センサ317を備えている。各構成部301〜317は、バス320によってそれぞれ接続されている。
CPU301は、ナビゲーション装置300の全体の制御を司る。ROM302は、ブートプログラム、推定エネルギー消費量算出プログラム、到達可能地点探索プログラム、識別情報付与プログラム、地図データ表示プログラムなどのプログラムを記録している。RAM303は、CPU301のワークエリアとして使用される。すなわち、CPU301は、RAM303をワークエリアとして使用しながら、ROM302に記録された各種プログラムを実行することによって、ナビゲーション装置300の全体の制御を司る。
推定エネルギー消費量算出プログラムでは、車両の推定エネルギー消費量を算出する消費エネルギー推定式に基づいて、一のノードと隣り合うノードとを結ぶリンクにおける推定エネルギー消費量を算出する。到達可能地点探索プログラムでは、推定プログラムにおいて算出された推定エネルギー消費量に基づいて、車両の現在地点での残存エネルギー量で到達可能な複数の地点(ノード)が探索される。識別情報付与プログラムでは、探索プログラムにおいて探索された複数の到達可能地点に基づいて、地図情報を分割した複数の領域に、車両が到達可能または到達不可能であることを識別する識別情報が付与される。地図データ表示プログラムでは、識別情報付与プログラムによって識別情報が付与された複数の領域に基づいて、車両の到達可能範囲と到達不可能範囲、および到達可能範囲の内部の到達不可能範囲をディスプレイ313に表示させる。
磁気ディスクドライブ304は、CPU301の制御にしたがって磁気ディスク305に対するデータの読み取り/書き込みを制御する。磁気ディスク305は、磁気ディスクドライブ304の制御で書き込まれたデータを記録する。磁気ディスク305としては、たとえば、HD(ハードディスク)やFD(フレキシブルディスク)を用いることができる。
また、光ディスクドライブ306は、CPU301の制御にしたがって光ディスク307に対するデータの読み取り/書き込みを制御する。光ディスク307は、光ディスクドライブ306の制御にしたがってデータが読み出される着脱自在な記録媒体である。光ディスク307は、書き込み可能な記録媒体を利用することもできる。着脱可能な記録媒体として、光ディスク307のほか、MO、メモリカードなどを用いることができる。
磁気ディスク305および光ディスク307に記録される情報の一例としては、地図データ、車両情報、道路情報、走行履歴などが挙げられる。地図データは、カーナビゲーションシステムにおいて車両の到達可能地点を探索するときや、車両の到達可能範囲を表示するときに用いられ、建物、河川、地表面などの地物(フィーチャ)を表す背景データ、道路の形状をリンクやノードなどで表す道路形状データなどを含むベクタデータである。
音声I/F308は、音声入力用のマイク309および音声出力用のスピーカ310に接続される。マイク309に受音された音声は、音声I/F308内でA/D変換される。マイク309は、たとえば、車両のダッシュボード部などに設置され、その数は単数でも複数でもよい。スピーカ310からは、所定の音声信号を音声I/F308内でD/A変換した音声が出力される。
入力デバイス311は、文字、数値、各種指示などの入力のための複数のキーを備えたリモコン、キーボード、タッチパネルなどが挙げられる。入力デバイス311は、リモコン、キーボード、タッチパネルのうちいずれか1つの形態によって実現されてもよいが、複数の形態によって実現することも可能である。
映像I/F312は、ディスプレイ313に接続される。映像I/F312は、具体的には、たとえば、ディスプレイ313全体を制御するグラフィックコントローラと、即時表示可能な画像情報を一時的に記録するVRAM(Video RAM)などのバッファメモリと、グラフィックコントローラから出力される画像データに基づいてディスプレイ313を制御する制御ICなどによって構成される。
ディスプレイ313には、アイコン、カーソル、メニュー、ウインドウ、あるいは文字や画像などの各種データが表示される。ディスプレイ313としては、たとえば、TFT液晶ディスプレイ、有機ELディスプレイなどを用いることができる。
カメラ314は、車両内部あるいは外部の映像を撮影する。映像は静止画あるいは動画のどちらでもよく、たとえば、カメラ314によって車両外部を撮影し、撮影した画像をCPU301において画像解析したり、映像I/F312を介して磁気ディスク305や光ディスク307などの記録媒体に出力したりする。
通信I/F315は、無線を介してネットワークに接続され、ナビゲーション装置300およびCPU301のインターフェースとして機能する。ネットワークとして機能する通信網には、CANやLIN(Local Interconnect Network)などの車内通信網や、公衆回線網や携帯電話網、DSRC(Dedicated Short Range Communication)、LAN、WANなどがある。通信I/F315は、たとえば、公衆回線用接続モジュールやETC(ノンストップ自動料金支払いシステム)ユニット、FMチューナー、VICS(Vehicle Information and Communication System(登録商標))/ビーコンレシーバなどである。
GPSユニット316は、GPS衛星からの電波を受信し、車両の現在位置を示す情報を出力する。GPSユニット316の出力情報は、後述する各種センサ317の出力値とともに、CPU301による車両の現在位置の算出に際して利用される。現在位置を示す情報は、たとえば、緯度・経度、高度などの、地図データ上の1点を特定する情報である。
各種センサ317は、車速センサ、加速度センサ、角速度センサ、傾斜センサなどの、車両の位置や挙動を判断するための情報を出力する。各種センサ317の出力値は、CPU301による車両の現在位置の算出や、速度や方位の変化量の算出に用いられる。
図1に示した画像処理装置100の取得部101、算出部102、探索部103、分割部104、付与部105、表示制御部108は、上述したナビゲーション装置300におけるROM302、RAM303、磁気ディスク305、光ディスク307などに記録されたプログラムやデータを用いて、CPU301が所定のプログラムを実行し、ナビゲーション装置300における各部を制御することによってその機能を実現する。
(ナビゲーション装置300による推定エネルギー消費量算出の概要)
本実施例のナビゲーション装置300は、自装置が搭載された車両の推定エネルギー消費量を算出する。具体的には、ナビゲーション装置300は、たとえば、速度、加速度、車両の勾配に基づいて、第一情報と、第二情報と、第三情報と、を含む消費エネルギー推定式のいずれか一つ以上の式を用いて、所定区間における車両の推定エネルギー消費量を算出する。所定区間とは、道路上の一のノード(たとえば交差点)と当該一のノードに隣り合う他のノードとを結ぶリンクである。
より具体的には、ナビゲーション装置300は、プローブで提供される渋滞情報や、サーバを介して取得した渋滞予測データ、記憶装置に記憶されたリンクの長さや道路種別などに基づいて、車両がリンクを走行し終わるのに要する旅行時間を算出する。そして、ナビゲーション装置300は、次の(1)式〜(4)式に示す消費エネルギー推定式のいずれかを用いて単位時間当たりの推定エネルギー消費量を算出し、車両がリンクを旅行時間で走行し終える際の推定エネルギー消費量を算出する。
上記(1)式に示す消費エネルギー推定式は、加速時および走行時における単位時間当たりの消費エネルギーを推定する理論式である。ここで、εは正味熱効率、ηは総伝達効率である。移動体の加速度αと道路勾配θから重力の加速度gとの合計を合成加速度|α|とすると、合成加速度|α|が負の場合の消費エネルギー推定式は、上記(2)式で表される。すなわち、上記(2)式に示す消費エネルギー推定式は、減速時における単位時間当たりの消費エネルギーを推定する理論式である。このように、加減速時および走行時における単位時間当たりの消費エネルギー推定式は、走行抵抗と走行距離と正味モータ効率と伝達効率との積で表される。
上記(1)式および(2)式において、右辺第1項は、アイドリング時等、移動体に備えられた装備品により消費されるエネルギー消費量(第一情報)である。右辺第2項は、勾配成分によるエネルギー消費量(第四情報)および転がり抵抗成分によるエネルギー消費量(第三情報)である。右辺第3項は、空気抵抗成分によるエネルギー消費量(第三情報)である。また、(1)式の右辺第4項は、加速成分によるエネルギー消費量(第二情報)である。(2)式の右辺第4項は、減速成分によるエネルギー消費量(第二情報)である。
上記(1)式および(2)式では、モータ効率と駆動効率は一定と見なしている。しかし、実際には、モータ効率および駆動効率はモータ回転数やトルクの影響により変動する。そこで、次の(3)式および(4)式に単位時間当たりの消費エネルギーを推定する実証式を示す。
合成加速度|α+g・sinθ|が正の場合の推定エネルギー消費量を算出する実証式、すなわち、加速時および走行時における単位時間当たりの推定エネルギー消費量を算出する実証式は、次の(3)式で表される。また、合成加速度|α+g・sinθ|が負の場合の推定エネルギー消費量を算出する実証式、すなわち、減速時における単位時間当たりの推定エネルギー消費量を算出する実証式は、次の(4)式で表される。
上記(3)式および(4)式において、係数a1,a2は、車両状況などに応じて設定される常数である。係数k1は、加減速時を含む走行時および停止時におけるエネルギー消費量に基づく変数である。係数k2,k3は、加減速時を含む走行時におけるエネルギー消費量に基づく変数である。また、速度V、加速度Aとしており、その他の変数は、上記(1)式および(2)式と同様である。右辺第1項は、上記(1)式および(2)式の右辺第1項に相当する。
また、上記(3)式および(4)式において、右辺第2項は、上記(1)式および(2)式の、右辺第2項の勾配抵抗成分のエネルギーと、右辺第4項の加速度抵抗成分のエネルギーとに相当する。右辺第3項は、上記(1)式および(2)式の、右辺第2項の転がり抵抗成分のエネルギーと、右辺第3項の空気抵抗成分のエネルギーに相当する。(4)式の右辺第2項のβは、位置エネルギーと運動エネルギーの回収分(以下、「回収率」とする)である。
また、ナビゲーション装置300は、上述したように車両がリンクを走行するのに要する旅行時間を算出し、車両がリンクを走行するときの平均速度および平均加速度を算出する。そして、ナビゲーション装置300は、リンクにおける車両の平均速度および平均加速度を用いて、次の(5)式または(6)式に示す消費エネルギー推定式に基づいて、車両がリンクを旅行時間で走行し終える際の推定エネルギー消費量を算出してもよい。
上記(5)式に示す消費エネルギー推定式は、車両が走行するリンクの高度差Δhが正の場合の、リンクにおける推定エネルギー消費量を算出する理論式である。高度差Δhが正の場合とは、車両が上り坂を走行している場合である。上記(6)式に示す消費エネルギー推定式は、車両が走行するリンクの高度差Δhが負の場合の、リンクにおける推定エネルギー消費量を算出する理論式である。高度差Δhが負の場合とは、車両が下り坂を走行している場合である。高度差がない場合は、上記(5)式に示す消費エネルギー推定式を用いるのが好ましい。
上記(5)式および(6)式において、右辺第1項は、アイドリング時等、移動体に備えられた装備品により消費されるエネルギー消費量(第一情報)である。右辺第2項は、加速抵抗によるエネルギー消費量(第二情報)である。右辺第3項は、位置エネルギーとして消費されるエネルギー消費量である(第四情報)。右辺第4項は、単位面積当たりに受ける空気抵抗および転がり抵抗(走行抵抗)によるエネルギー消費量(第三情報)である。
ナビゲーション装置300は、道路勾配が明らかでない場合、上記(1)式〜(6)式に示す消費エネルギー推定式の道路勾配θ=0として車両の推定エネルギー消費量を算出してもよい。
つぎに、上記(1)式〜(6)式で用いる回収率βについて説明する。上記(5)式において、右辺第2項をリンクにおける加速成分のエネルギー消費量Paccとすると、加速成分のエネルギー消費量Paccは、リンクにおける全エネルギー消費量(左辺)から、アイドリング時のエネルギー消費量(右辺第1項)と走行抵抗によるエネルギー消費量(右辺第4項)を減じたものであり、次の(7)式で表される。
なお、上記(7)式では、車両は道路勾配θの影響を受けていないこととする(θ=0)。すなわち、上記(5)式の右辺第3項をゼロとする。そして、上記(7)式を上記(5)式に代入することで、次の(8)式に示す回収率βの算出式を得ることができる。
回収率βは、EV車では0.7〜0.9程度であり、HV車では0.6〜0.8程度であり、ガソリン車では0.2〜0.3程度である。なお、ガソリン車の回収率とは、加速時に要するエネルギーと減速時に回収するエネルギーとの割合である。
(ナビゲーション装置300における到達可能地点探索の概要)
本実施例のナビゲーション装置300は、自装置が搭載された車両の現在地点から到達可能な複数のノードを車両の到達可能地点として探索する。具体的には、ナビゲーション装置300は、上記(1)〜(6)式に示す消費エネルギー推定式のいずれか1つ以上を用いてリンクにおける推定エネルギー消費量を算出する。そして、ナビゲーション装置300は、リンクにおける推定エネルギー消費量の累計が最小となるように車両の到達可能なノードを探索し到達可能地点とする。以下に、ナビゲーション装置300による到達可能地点探索の一例について説明する。
図4−1〜4−4は、ナビゲーション装置300による到達可能地点探索の一例について模式的に示す説明図である。図4−1〜4−4では、地図データのノード(たとえば交差点)を丸印とし、隣り合うノードどうしを結ぶリンク(道路上の所定区間)を線分で示す(図5−1,5−2についても同様にノードおよびリンクを図示)。
図4−1に示すように、ナビゲーション装置300は、まず、車両の現在地点400から最も近いリンクL1_1を探索する。そして、ナビゲーション装置300は、リンクL1_1に接続するノードN1_1を探索し、到達可能地点を探索するためのノード候補(以下、単に「ノード候補」という)に追加する。
つぎに、ナビゲーション装置300は、消費エネルギー推定式を用いて、車両の現在地点400とノード候補としたノードN1_1とを結ぶリンクL1_1における推定エネルギー消費量を算出する。そして、ナビゲーション装置300は、リンクL1_1における推定エネルギー消費量3whを、たとえばノードN1_1に関連付けて記憶装置(磁気ディスク305や光ディスク307)に書き出す。
つぎに、図4−2に示すように、ナビゲーション装置300は、ノードN1_1に接続するすべてのリンクL2_1,L2_2,L2_3を探索し、到達可能地点を探索するためのリンク候補(以下、単に「リンク候補」という)とする。つぎに、ナビゲーション装置300は、消費エネルギー推定式を用いて、リンクL2_1における推定エネルギー消費量を算出する。
そして、ナビゲーション装置300は、リンクL2_1における推定エネルギー消費量4whとリンクL1_1における推定エネルギー消費量3whとを累計した累計エネルギー量7whを、リンクL2_1に接続するノードN2_1に関連付けて記憶装置(磁気ディスク305や光ディスク307)に書き出す(以下、「累計エネルギー量をノードに設定」とする)。
さらに、ナビゲーション装置300は、リンクL2_1の場合と同様に、消費エネルギー推定式を用いて、リンクL2_2,L2_3における推定エネルギー消費量をそれぞれ算出する。そして、ナビゲーション装置300は、リンクL2_2における推定エネルギー消費量5whとリンクL1_1における推定エネルギー消費量3whとを累計した累計エネルギー量8whを、リンクL2_2に接続するノードN2_2に設定する。
また、ナビゲーション装置300は、リンクL2_3における推定エネルギー消費量3whとリンクL1_1における推定エネルギー消費量3whとを累計した累計エネルギー量6whを、リンクL2_3に接続するノードN2_3に設定する。このとき、ナビゲーション装置300は、累計エネルギー量を設定したノードがノード候補でない場合には、そのノードをノード候補に追加する。
つぎに、図4−3に示すように、ナビゲーション装置300は、ノードN2_1に接続するすべてのリンクL3_1,L3_2_1、ノードN2_2に接続するすべてのリンクL3_2_2,L3_3,L3_4、およびノードN2_3に接続するリンクL3_5を探索し、リンク候補とする。つぎに、ナビゲーション装置300は、消費エネルギー推定式を用いて、リンクL3_1〜リンクL3_5における推定エネルギー消費量を算出する。
そして、ナビゲーション装置300は、リンクL3_1における推定エネルギー消費量4whをノードN2_1に設定した累計エネルギー量7whに累計し、リンクL3_1に接続するノードN3_1に累計エネルギー量11whを設定する。また、ナビゲーション装置300は、リンクL3_3〜L3_5においてもリンクL3_1の場合と同様に、各リンクL3_3〜L3_5にそれぞれ接続するノードN3_3〜N3_5に累計エネルギー量13wh,12wh,10whを設定する。
具体的には、ナビゲーション装置300は、リンクL3_3における推定エネルギー消費量5whをノードN2_2に設定した累計エネルギー量8whに累計し、ノードN3_3に累計エネルギー量13whを設定する。ナビゲーション装置300は、リンクL_3_4における推定エネルギー消費量4whをノードN2_2に設定した累計エネルギー量8whに累計し、ノードN3_4に累計エネルギー量12whを設定する。ナビゲーション装置300は、リンクL3_5における推定エネルギー消費量4whをノードN2_3に設定した累計エネルギー量6whに累計し、ノードN3_5に累計エネルギー量10whを設定する。
一方、ナビゲーション装置300は、ノードN3_2のように一のノードに複数のリンクL3_2_1,L3_2_2が接続する場合には、車両の現在地点400から一のノードN3_2までの複数の経路における累計エネルギー量のうち、最小の累計エネルギー量10whを当該一のノードN3_2に設定する。
具体的には、ナビゲーション装置300は、リンクL3_2_1における推定エネルギー消費量4whをノード2_1に設定した累計エネルギー量7whに累計し(=累計エネルギー量11wh)、リンクL3_2_2における推定エネルギー消費量2whをノード2_2に設定した累計エネルギー量8whに累計する(=累計エネルギー量10wh)。そして、ナビゲーション装置300は、車両の現在地点400からリンクL3_2_1までの経路の累計エネルギー量11whと、車両の現在地点400からリンクL3_2_2までの経路の累計エネルギー量10whとを比較し、最小の累計エネルギー量となるリンクL3_2_2側の経路の累計エネルギー量10whをノードN3_2に設定する。
ナビゲーション装置300は、上述したノードN2_1〜N2_3のように車両の現在地点400から同一階層のノードが複数存在する場合、たとえば、同一レベルのノードのうち、累計エネルギー量が少ないノードに接続するリンクから順に推定エネルギー消費量および累計エネルギー量を算出する。具体的には、ナビゲーション装置300は、ノードN2_3、ノードN2_1、ノードN2_2の順に、各ノードに接続するリンクにおける推定エネルギー消費量をそれぞれ算出し、各ノードにおける累計エネルギー量に累計する。このように、推定エネルギー消費量および累計エネルギー量を算出するノードの順番を特定することにより、残存エネルギー量で到達可能な範囲を効率的に算出することができる。
その後、ナビゲーション装置300は、ノードN3_1〜N3_5からさらに深い階層のノードへと、上述したような累計エネルギー量の累計を続けていく。そして、ナビゲーション装置300は、予め設定された指定エネルギー量以下の累計エネルギー量が設定されたすべてのノードを、車両の到達可能地点として抽出し、到達可能地点として抽出されたノードの経度緯度情報をそれぞれのノードに関連付けて記憶装置に書き出す。
具体的には、たとえば指定エネルギー量を10whとした場合、図4−4に斜線で塗りつぶされた丸印で示すように、ナビゲーション装置300は、10wh以下の累計エネルギー量が設定されたノードN1_1,N2_1,N2_2,N2_3,N3_2,N3_5を車両の到達可能地点として抽出する。予め設定された指定エネルギー量とは、たとえば、車両の現在地点400での残存エネルギー量(初期保有エネルギー量)である。
図4−4に示す車両の現在地点400と複数のノードおよびリンクとで構成された地図データ440は到達可能地点探索を説明するための一例であり、ナビゲーション装置300は、実際には図5−1に示すように図4−4に示す地図データ440よりも広い範囲でさらに多くのノードおよびリンクを探索する。
図5−1は、ナビゲーション装置300による到達可能地点探索の一例について示す説明図である。上述したようにすべての道路(細街路を除く)について累計エネルギー量を算出し続けていく場合、図5−1に示すように、各道路のすべてのノードにおける累計エネルギー量を漏れなく詳細に探索することができる。しかし、日本全国で約200万個のリンクにおける推定エネルギー消費量を算出し累計することとなり、ナビゲーション装置300の情報処理量が膨大となる。このため、ナビゲーション装置300は、たとえばリンクの重要度などに基づいて、移動体の到達可能地点を探索する道路を絞り込んでもよい。
図5−2は、ナビゲーション装置300による到達可能地点探索の別の一例について示す説明図である。具体的には、ナビゲーション装置300は、たとえば、車両の現在地点400周辺ではすべての道路(細街路を除く)において累計エネルギー量を算出し、ある一定距離以上離れた範囲では重要度の高い道路のみで累計エネルギー量を算出する。これにより、図5−2に示すように、ナビゲーション装置300によって探索されるノード数およびリンク数を減少させることができ、ナビゲーション装置300の情報処理量を低減させることができる。したがって、ナビゲーション装置300の処理速度を向上することができる。
(ナビゲーション装置300における地図データ分割の概要)
本実施例のナビゲーション装置300は、上述したように探索された到達可能地点に基づいて、記憶装置に記憶された地図データを分割する。具体的には、ナビゲーション装置300は、ベクタデータで構成される地図データを、たとえば64×64ドットのメッシュデータ(X,Y)に変換し、地図データをラスタデータ(画像データ)にする。
図6は、ナビゲーション装置300による到達可能地点を経度−緯度で示す一例の説明図である。また、図7は、ナビゲーション装置300による到達可能地点をメッシュデータで示す一例の説明図である。図6には、たとえば図5−1,5−2に示すように探索された到達可能地点の経度緯度情報(x,y)を絶対座標で図示している。図7には、到達可能地点に基づいて識別情報が付与された64×64ドットのメッシュデータ(X,Y)をスクリーン座標で図示している。
図6に示すように、ナビゲーション装置300は、まず、複数の到達可能地点のそれぞれの経度x、緯度yに基づいて、絶対座標で点群600を有する経度緯度情報(x,y)を生成する。経度緯度情報(x,y)の原点(0,0)は図6の左下である。そして、ナビゲーション装置300は、車両の現在地点400の経度ofxから経度x方向に最も離れた到達可能地点の最大経度x_max、最小経度x_minまで距離w1,w2を算出する。また、ナビゲーション装置300は、車両の現在地点400の緯度ofyから緯度y方向に最も離れた到達可能地点の最大緯度y_max、最小緯度y_minまで距離w3,w4を算出する。
つぎに、ナビゲーション装置300は、車両の現在地点400からの距離w1〜w4のうち、最も距離のある、車両の現在地点400から最小経度x_minまでの距離w2(以下、w5=max(w1,w2,w3,w4)とする)のn分の1の長さがメッシュデータ(X,Y)の矩形状の一要素の1辺の長さとなるように、複数の到達可能地点を含む地図データを、たとえばm×mドット(たとえば64×64ドット)のメッシュデータ(X,Y)に変換する。
具体的には、ナビゲーション装置300は、1メッシュと経度緯度の大きさとの比を倍率mag=w5/nとし、経度緯度情報(x,y)とメッシュデータ(X,Y)とが次の(9)式,(10)式を満たすように、経度緯度情報(x,y)をメッシュデータ(X,Y)に変換する。
X=(x−ofx)/mag ・・・(9)
Y=(y−ofy)/mag ・・・(10)
経度緯度情報(x,y)をメッシュデータ(X,Y)に変換することにより、図7に示すように、車両の現在地点400は、m×mドットのメッシュデータ(X,Y)で構成される矩形状の画像データの中心となり、車両の現在地点400のメッシュデータ(X,Y)はX軸方向、Y軸方向ともに等しく、X=Y=m/2=n+4となる。また、メッシュデータ(X,Y)の周辺のたとえば4ドット分を空白にするためにn=(m/2)−4とする。そして、ナビゲーション装置300は、経度緯度情報(x,y)をメッシュデータ(X,Y)に変換するときに、メッシュデータ(X,Y)の各領域にそれぞれ識別情報を付与し、m行m列の2次元行列データ(Y,X)のメッシュデータに変換する。
具体的には、ナビゲーション装置300は、メッシュデータ(X,Y)の一の領域に車両の到達可能地点が含まれる場合、当該一の領域に車両が到達可能であることを識別する到達可能の識別情報として、たとえば「1」を付与する(図7では1ドットをたとえば黒色で描画)。一方、ナビゲーション装置300は、メッシュデータ(X,Y)の一の領域に車両の到達可能地点が含まれない場合、当該の一の領域に車両が到達不可能であることを識別する到達不可能の識別情報として、たとえば「0」を付与する(図7では1ドットをたとえば白色で描画)。
このように、ナビゲーション装置300は、地図データを分割した各領域にそれぞれ識別情報を付与したm行m列の2次元行列データ(Y,X)のメッシュデータに変換し、地図データを2値化されたラスタデータとして扱う。メッシュデータの各領域は、それぞれ一定範囲の矩形状の領域であらわされる。具体的には、図7に示すように、たとえば、複数の到達可能地点の点群700が黒色で描画されたm×mドットのメッシュデータ(X,Y)が生成される。メッシュデータ(X,Y)の原点(0,0)は左上である。
(ナビゲーション装置300における識別情報付与の概要・その1)
本実施例のナビゲーション装置300は、上述したように分割されたm×mドットのメッシュデータ(X,Y)のそれぞれの領域に付与された識別情報を変更する。具体的には、ナビゲーション装置300は、m行m列の2次元行列データ(Y,X)のメッシュデータに対してクローニング処理(膨張処理後に縮小処理をおこなう処理)をおこなう。
図8は、ナビゲーション装置によるクローニング処理の一例を示す説明図である。図8(A)〜図8(C)は、各領域にそれぞれ識別情報が付与されたm行m列の2次元行列データ(Y,X)のメッシュデータである。図8(A)には、地図データの分割処理後、はじめて識別情報が付与されたメッシュデータ800を示す。すなわち、図8(A)に示すメッシュデータ800は、図7に示すメッシュデータと同一である。
また、図8(B)には、図8(A)に示すメッシュデータ800に対してクローニング処理(膨張)をおこなった後のメッシュデータ810を示す。図8(C)には、図8(B)に示すメッシュデータ810に対してクローニング処理(縮小)をおこなった後のメッシュデータ820を示す。図8(A)〜8(C)に示すメッシュデータ800,810,820において、到達可能の識別情報が付与された複数の領域によって生成される車両の到達可能範囲801,811,821を黒く塗りつぶした状態で示す。
図8(A)に示すように、識別情報付与後のメッシュデータ800には、車両の到達可能範囲801内に含まれる到達不可能な領域からなる欠損点802(ハッチングされた到達可能範囲801内の白地部分)が生じている。欠損点802は、たとえば、図5−2に示すようにナビゲーション装置300による到達可能地点探索処理の負荷を低減させるためにノードおよびリンクを探索する道路を絞り込んだ場合に、到達可能地点となるノード数が少なくなることにより生じる。
つぎに、図8(B)に示すように、ナビゲーション装置300は、識別情報付与後のメッシュデータ800に対してクローニングの膨張処理をおこなう。クローニングの膨張処理では、識別情報付与後のメッシュデータ800の、到達可能の識別情報が付与されている領域に隣り合う一の領域の識別情報が、到達可能の識別情報に変更される。これにより、膨張処理前(識別情報付与後)の車両の到達可能範囲801内に生じていた欠損部802が消滅する。
また、膨張処理前の車両の到達可能範囲801の最外周の領域に隣り合うすべての領域の識別情報が、到達可能な識別情報に変更される。このため、膨張処理後の車両の到達可能範囲811の外周は、膨張処理をおこなうごとに、膨張処理前の車両の到達可能範囲801の最外周の各領域の外周を囲むように1ドット分ずつ広がる。
その後、図8(C)に示すように、ナビゲーション装置300は、メッシュデータ810に対してクローニングの縮小処理をおこなう。クローニングの縮小処理では、膨張処理後のメッシュデータ810の、到達不可能の識別情報が付与されている領域に隣り合う一の領域の識別情報が、到達不可能の識別情報に変更される。
このため、膨張処理後の車両の到達可能範囲811の最外周の各領域が、縮小処理がおこなわれるごとに1ドット分ずつ到達不可能な領域となり、膨張処理後の車両の到達可能範囲811の外周が縮まる。これにより、縮小処理後の車両の到達可能範囲821の外周は、膨張処理前の車両の到達可能範囲801の外周とほぼ同様となる。
ナビゲーション装置300は、上述した膨張処理および縮小処理は同じ回数ずつおこなう。具体的には、膨張処理が2回おこなわれた場合、その後の縮小処理も2回おこなわれる。膨張処理と縮小処理との処理回数を等しくすることで、膨張処理によって到達可能の識別情報に変更された車両の到達可能範囲の外周部分のほぼすべての領域の識別情報を、縮小処理によって元の到達不可能の識別情報に変更することができる。このようにして、ナビゲーション装置300は、車両の到達可能範囲内の欠損点802を除去し、かつ外周を明瞭に表示可能な車両の到達可能範囲821を生成することができる。
(ナビゲーション装置300における識別情報付与の概要・その2)
ナビゲーション装置300は、2次元行列データ(Y,X)のメッシュデータに対してオープニング処理(縮小処理後に膨張処理をおこなう処理)をおこない、外周を明瞭に表示可能な車両の到達可能範囲を生成してもよい。具体的には、ナビゲーション装置300は、次のようにオープニング処理をおこなう。
図9は、ナビゲーション装置によるオープニング処理の一例を示す説明図である。図9(A)〜図9(C)は、各領域にそれぞれ識別情報が付与されたm行m列の2次元行列データ(Y,X)のメッシュデータである。図9(A)には、識別情報付与後のメッシュデータ1000を示す。図9(B)には、図9(A)に対するオープニング処理(縮小)後のメッシュデータ1010を示す。また、図9(C)には、図9(B)に対するオープニング処理(膨張)後のメッシュデータ1020を示す。図9(A)〜図9(C)に示すメッシュデータ1000,1010,1020おいて、到達可能の識別情報が付与された複数の領域によって生成される車両の到達可能範囲1001,1011,1021を黒く塗りつぶした状態で示す。
図9(A)に示すように、識別情報付与後のメッシュデータ1000における車両の到達可能範囲1001の外周に孤立点1002が多く生じている場合、識別情報付与後のメッシュデータ1000に対してオープニング処理をおこなうことで、孤立点1002を除去することができる。具体的には、図9(B)に示すように、ナビゲーション装置300は、識別情報付与後のメッシュデータ1000に対してオープニングの縮小処理をおこなう。
オープニングの縮小処理では、識別情報付与後のメッシュデータ1000の、到達不可能の識別情報が付与されている領域に隣り合う一の領域の識別情報が、到達不可能の識別情報に変更される。これにより、縮小処理前(識別情報付与後)の車両の到達可能範囲1001内に生じていた孤立点1002が除去される。
このため、識別情報付与後の車両の到達可能範囲1001の最外周の各領域が、縮小処理がおこなわれるごとに1ドット分ずつ到達不可能な領域となり、識別情報付与後の車両の到達可能範囲1001の外周が縮まる。また、識別情報付与後の車両の到達可能範囲1001に生じていた孤立点1002が除去される。
その後、図9(C)に示すように、ナビゲーション装置300は、メッシュデータ1010に対してオープニングの膨張処理をおこなう。オープニングの膨張処理では、縮小処理後のメッシュデータ1010の、到達不可能の識別情報が付与されている領域に隣り合う一の領域の識別情報が、到達可能の識別情報に変更される。このため、膨張処理後の車両の到達可能範囲1021の外周は、膨張処理をおこなうごとに、縮小処理後の車両の到達可能範囲1011の最外周の各領域の外周を囲むように1ドット分ずつ広がる。
ナビゲーション装置300は、オープニング処理においても、クローニング処理と同様に膨張処理および縮小処理は同じ回数ずつおこなう。このように膨張処理と縮小処理との処理回数を等しくすることで、縮小処理によって縮まった車両の到達可能範囲1011の外周を広げ、縮小処理後の車両の到達可能範囲1021の外周を縮小処理前の車両の到達可能範囲1001の外周に戻すことができる。このようにして、ナビゲーション装置300は、孤立点1002が生じず、かつ外周を明瞭に表示可能な車両の到達可能範囲1021を生成することができる。
(ナビゲーション装置300における到達可能範囲の輪郭抽出の概要・その1)
本実施例のナビゲーション装置300は、m行m列の2次元行列データ(Y,X)のメッシュデータに付与された識別情報に基づいて、車両の到達可能範囲の輪郭を抽出する。具体的には、ナビゲーション装置300は、たとえば、フリーマンのチェインコードを用いて車両の到達可能範囲の輪郭を抽出する。より具体的には、ナビゲーション装置300は、次のように車両の到達可能範囲の輪郭を抽出する。
図10は、ナビゲーション装置による車両の到達可能範囲抽出の一例を模式的に示す説明図である。また、図11は、ナビゲーション装置による車両の到達可能範囲抽出後のメッシュデータの一例を模式的に示す説明図である。図10(A)には、領域1100に隣り合う領域1110〜1117の隣接方向を示す数字(以下、「方向指数(チェインコード)」という)と、方向指数に対応する8方向の矢印とを示す。図10(B)には、i行i列の2次元行列データ(Y,X)のメッシュデータ1120を一例として示す。また、図10(B)には、到達可能の識別情報が付与された領域1121〜1138をハッチングで図示する。また、到達可能の識別情報が付与された領域1121〜1138の内部には、到達不可能の識別情報が付与された領域1140〜1142が存在している(白で図示)。
方向指数は、単位長さの線分の向いている方向を示す。メッシュデータ(X,Y)において、方向指数に対応する座標は、(X+dx,Y+dy)となる。具体的には、図10(A)に示すように、領域1100から左下に隣り合う領域1110へ向かう方向の方向指数は「0」である。領域1100から下に隣り合う領域1111へ向かう方向の方向指数は「1」である。領域1100から右下に隣り合う領域1112へ向かう方向の方向指数は「2」である。
また、領域1100から右に隣り合う領域1113へ向かう方向の方向指数は「3」である。領域1100から右上に隣り合う領域1114へ向かう方向の方向指数は「4」である。領域1100から上に隣り合う領域1115へ向かう方向の方向指数は「5」である。領域1100から左上に隣り合う領域1116へ向かう方向の方向指数は「6」である。領域1100から左に隣り合う領域1117へ向かう方向の方向指数は「7」である。
ナビゲーション装置300は、領域1100に隣り合う到達可能の識別情報「1」が付与された領域を左回りに検索する。つまり、ナビゲーション装置300は、領域1100を中心とする反時計回りに、例えば領域1110を検索開始点として到達可能の識別情報「1」が付与された領域を検索する。ここで、ナビゲーション装置300は、領域1100に隣り合う到達可能の識別情報が付与された領域の検索開始点を、前回の方向指数に基づいて決定する。具体的には、ナビゲーション装置300は、他の領域から領域1100へ向かう方向指数が「0」であった場合、領域1100の上に隣り合う領域、すなわち方向指数「5」の方向に隣り合う領域1115を決定し、領域1115から検索を開始する。
同様に、ナビゲーション装置300は、他の領域から領域1100へ向かう方向指数が「1」〜「7」であった場合、領域1100の左上、左、左下、下、右下、右、右上に隣り合う領域、すなわちそれぞれ方向指数「6」、「7」、「0」、「1」、「2」、「3」、「4」の方向に隣り合う領域1116、領域1117、領域1110、領域1111、領域1112、領域1113、領域1114を決定し、決定された領域から検索を開始する。そして、ナビゲーション装置300は、検索を開始してから最初に到達可能の識別情報「1」を検出した場合、到達可能の識別情報「1」を検出した領域1110〜1117に対応する方向指数「0」〜「7」を、領域1100に関連付けて記憶装置に書き込む。
このような、対象となる領域への方向指数に基づいて決定される、対象となる領域を中心とした反時計回りに検索を開始する開始領域を使って、ナビゲーション装置300は、次のように車両の到達可能範囲の輪郭を抽出する。なお、ここで示す、対象となる領域への方向指数と検索を開始する開始領域との関係は一例であって、他の関係でも車両の到達可能範囲の輪郭の抽出は可能である。図10(B)に示すように、ナビゲーション装置300は、まず、i行i列の2次元行列データ(Y,X)のメッシュデータ1120のa行a列の領域から行単位で、到達不可能の識別情報が付与された領域から到達可能の識別情報が付与された領域に変化した領域を検出する。
メッシュデータ1120のa行目のすべての領域には到達不可能の識別情報が付与されているので、つぎに、ナビゲーション装置300は、メッシュデータ1120のb行a列の領域からb行i列の領域に向かって到達可能の識別情報を検索する。そして、ナビゲーション装置300は、b行の水平方向への走査により、メッシュデータ1120のb行f列の領域1121において到達可能の識別情報(輪郭検出の第1のスタート地点)を検出する。そして、輪郭検出の第1のスタート地点であるメッシュデータ1120のb行f列の領域1121を中心として左回りに、車両の到達可能範囲の輪郭となる到達可能の識別情報を有する領域を検索する。
具体的には、ナビゲーション装置300は、水平方向への走査による領域1121への方向指数が「3」であるため領域1121の左下に隣り合う領域1122を決定し、決定された領域1122から領域1121を中心として左回りに、到達可能の識別情報を有する領域があるか否かを検索する。そして、ナビゲーション装置300は、領域1122の到達可能の識別情報を検出し、領域1121から領域1122へ向かう方向の方向指数「0」を、領域1121に関連付けて記憶装置に記憶する。
つぎに、ナビゲーション装置300は、前回の方向指数「0」であるため、領域1122の上に隣り合うb行e列の領域を決定し、決定されたb行e列の領域から領域1122を中心として左回りに、到達可能の識別情報を有する領域があるか否かを検索する。そして、ナビゲーション装置300は、領域1122の左下に隣り合う領域1123の到達可能の識別情報を検出し、領域1122から領域1123へ向かう方向の方向指数「0」を、前回の方向指数に関連付けて記憶装置に記憶する。
以降、ナビゲーション装置300は、前回の方向指数に基づいて検索開始点を決定し、検索開始点から左回りに到達可能の識別情報を有する領域があるか否かを検索する処理を、方向指数に対応する矢印が領域1121に戻ってくるまで繰り返しおこなう。具体的には、ナビゲーション装置300は、領域1123の上に隣り合う領域を決定し、決定された領域から領域1123を中心として左回りに、到達可能の識別情報を有する領域があるか否かを検索し、領域1123の下に隣り合う領域1124の到達可能の識別情報を検出して、方向指数「1」を前回の方向指数に関連付けて記憶装置に記憶する。
同様に、ナビゲーション装置300は、前回の方向指数に基づいて検索開始点を決定した後、検索開始点から左回りに到達可能の識別情報を有する領域を検索し、到達可能の識別情報を有する領域1124〜1134を順次検出する。そして、ナビゲーション装置300は、方向指数を取得するごとに前回の方向指数に関連付けて記憶装置に記憶する。
その後、ナビゲーション装置300は、領域1134の右に隣り合うc行h列を決定し、決定されたc行h列の領域から領域1134を中心として左回りに、到達可能の識別情報を有する領域があるか否かを検索し、領域1134の左上に隣り合う領域1121の到達可能の識別情報を検出して、方向指数「6」を前回の方向指数に関連付けて記憶装置に記憶する。これにより、記憶装置には、方向指数「0」→「0」→「1」→「0」→「2」→「3」→「4」→「3」→「2」→「5」→「5」→「5」→「6」→「6」がこの順で記憶される。このようにして記憶された方向指数の連続した配列は、図10(B)に示す通り、到達可能範囲の輪郭をあらわしている。また、方向指数の連続した矢印の向きであらわされる到達可能範囲の輪郭の向きは、図10(B)に示す通り、左回りとなっている。これは、到達可能範囲の輪郭となる領域を左回りに検索したことをあらわしている。
つぎに、ナビゲーション装置300は、到達可能範囲の他の輪郭を抽出する。具体的には、図10(B)に示すように、メッシュデータ1120のb行f列の領域1121からb行の水平方向への走査により、到達不可能の識別情報が付与された領域から到達可能の識別情報が付与された領域へ変化した他の領域を検出する。つまり、輪郭検出の第2のスタート地点を検出する。この際、一度、到達可能範囲の輪郭として抽出された領域は検出から除外されるので、領域1122や領域1123は輪郭検出の第2のスタート地点として検出されることはない。
このようにして、到達可能範囲の他の輪郭のスタート地点、つまり、輪郭検出の第2のスタート地点として、d行g列の領域1135を検出する。そして、輪郭検出の第2のスタート地点であるメッシュデータ1120のd行g列の領域1135を中心として左回りに、車両の到達可能範囲の輪郭となる到達可能の識別情報を有する領域を検索する。
具体的には、ナビゲーション装置300は、水平方向への走査により領域1135への方向指数は「3」であるため領域1135の左下に隣り合う領域1142を決定し、決定された領域1135を中心として左回りに、到達可能の識別情報を有する領域があるか否かを検索する。そして、ナビゲーション装置300は、領域1132の到達可能の識別情報を検出し、領域1135から領域1132へ向かう方向の方向指数「2」を、領域1135に関連付けて記憶装置に記憶する。
つぎに、ナビゲーション装置300は、前回の方向指数「2」であるため、領域1132の左に隣り合うe行g列の領域を決定し、決定されたe行g列の領域から領域1132を中心として左回りに、到達可能の識別情報を有する領域があるか否かを検索した結果、領域1129の到達可能の識別情報を検出し、領域1132から領域1129へ向かう方向の方向指数「0」を、前回の方向指数に関連付けて記憶装置に記憶する。
以降、ナビゲーション装置300は、前回の方向指数に基づいて検索開始点を決定し、検索開始点から左回りに到達可能の識別情報を有する領域があるか否かを検索する処理を、方向指数に対応する矢印が領域1135に戻ってくるまで繰り返しおこなう。これにより、第2のスタート地点の領域1135を起点とする到達可能範囲の輪郭として、記憶装置には方向指数「2」→「0」→「7」→「6」→「5」→「4」→「2」がこの順で記憶される。このようにして記憶された方向指数の連続した配列は、図10(B)で示す通り、到達可能範囲の2つ目の輪郭をあらわしている。また、方向指数の連続した矢印の向きであらわされる到達可能範囲の2つ目の輪郭の向きは、図10(B)で示す通り、右回りとなっている。これは、到達可能範囲の輪郭となる領域を右回りに検索したことをあらわしている。
さらに、ナビゲーション装置300は、到達可能範囲の他の輪郭を抽出する。具体的には、図10(B)に示すように、メッシュデータ1120のd行g列の領域1135からd行の水平方向への走査により、到達不可能の識別情報が付与された領域から到達可能の識別情報が付与された領域へ変化した他の領域を検出する。つまり、輪郭検出の第3以降のスタート地点を検出する。この際、一度、到達可能範囲の輪郭として探索された領域は検出から除外される。この走査はi行i列まで続けられる。
以上のようにナビゲーション装置300は、最初に検出した領域1121から、前回の方向指数に基づいて検索開始点を決定し、検索開始点から左回りに到達可能の識別情報を有する領域があるか否かの検索する処理を方向指数に対応する矢印が領域1121に戻ってくるまで繰り返し行うことにより、領域1122〜1134を探索し方向指数を取得する。さらに、次に検出した領域1135から、同様に、前回の方向指数に基づいて検索開始点を決定し、検索開始点から左回りに到達可能の識別情報を有する領域があるか否かの検索する処理を方向指数に対応する矢印が領域1135に戻ってくるまで繰り返し行うことにより、領域1132、領域1129、領域1128、領域1136、領域1137、領域1138を探索し方向指数を取得する。そして、ナビゲーション装置300は、領域1121および領域1135から方向指数に対応する方向の一連の領域を塗りつぶすことで、図11に示すように、車両の到達可能範囲の輪郭1201および当該輪郭1201に囲まれた部分1202からなり、輪郭1203に囲まれた部分は除外された到達可能範囲1200を有するメッシュデータを生成する。
また、ナビゲーション装置300は、前回の方向指数に基づいて検索開始点を決定し、検索開始点から左回りに到達可能の識別情報を有する領域があるか否かの検索する処理を方向指数に対応する矢印が元の領域に戻ってくるまで繰り返し行うことにより得られる方向指数の連続した軌跡は、図10(b)で示すように、車両の到達可能範囲の外側輪郭では左回り(反時計回り)となる。また、車両の到達可能範囲の内側に到達不可能範囲がある場合、到達不可能範囲と接する到達可能範囲の内側輪郭の方向指数は右回り(時計回り)となる。つまり、方向指数の連続した矢印の向きが右回りであるのか、左回りであるのかを調べれば、かかる方向指数の連続した矢印の向きにより示される輪郭が到達可能範囲の外側輪郭であるのか、到達可能範囲の内側に到達可能不可能範囲がある場合の到達可能範囲の内側輪郭であるのか、を判別することができる。
(ナビゲーション装置300における到達可能範囲の輪郭抽出の概要・その2)
本実施例のナビゲーション装置300による車両の到達可能範囲抽出の別の一例について説明する。ナビゲーション装置300は、たとえば、到達可能の識別情報が付与された2次元行列データ(Y,X)のメッシュデータの経度緯度情報に基づいて、車両の到達可能範囲の輪郭を抽出してもよい。具体的には、ナビゲーション装置300は、次のように車両の到達可能範囲の輪郭を抽出する。
図12は、ナビゲーション装置による車両の到達可能範囲抽出の別の一例について模式的に示す説明図である。図12に示すようなd行i列の2次元行列データ(Y,X)のメッシュデータ1300を例に説明する。ナビゲーション装置300は、メッシュデータ1300の、到達可能の識別情報「1」が付与された領域を検索する。具体的には、ナビゲーション装置300は、まず、a行a列の領域からa行i列の領域に向かって到達可能の識別情報「1」を検索する。
メッシュデータ1300のa行目のすべての領域には到達不可能の識別情報「0」が付与されているので、つぎに、ナビゲーション装置300は、b行a列の領域からb行i列の領域に向かって到達可能の識別情報「1」を有する領域を検索する。そして、ナビゲーション装置300は、到達可能の識別情報「1」を有するb行c列の領域1301の最小経度px1、最小緯度py1(領域1301の左上座標)を取得する。
つぎに、ナビゲーション装置300は、b行d列の領域からb行i列の領域に向かって到達可能の識別情報「1」を有する領域を検索する。そして、ナビゲーション装置300は、到達可能の識別情報「1」を有する領域と、到達可能の識別情報「0」を有する領域との境界を検索し、到達可能の識別情報「1」を有するb行f列の領域1302の最大経度px2、最大緯度py2(領域1302の右下座標)を取得する。
つぎに、ナビゲーション装置300は、b行c列の領域1301の左上座標(px1,py1)と、b行f列の領域1302の右下座標(px2,py2)とを対向する頂点とする矩形領域を塗りつぶす。
つぎに、ナビゲーション装置300は、メッシュデータ1300のb行g列からb行i列の領域へ、さらにc行a列からc行i列に向かって到達可能の識別情報「1」を検索する。そして、ナビゲーション装置300は、到達可能の識別情報「1」を有するc行d列の領域1303の最小経度px3、最小緯度py3(領域1303の左上座標)を取得する。
つぎに、ナビゲーション装置300は、c行e列の領域からc行i列の領域に向かって到達可能の識別情報「1」を有する領域を検索する。そして、ナビゲーション装置300は、到達可能の識別情報「1」を有する領域と、到達可能の識別情報「0」を有する領域との境界を検索し、到達可能の識別情報「1」を有するc行f列の領域1304の最大経度px4、最大緯度py4(領域1304の右下座標)を取得する。
つぎに、ナビゲーション装置300は、c行d列の領域1303の左上座標(px3,py3)と、c行f列の領域1304の右下座標(px4,py4)とを対向する頂点とする矩形領域を塗りつぶす。
その後、ナビゲーション装置300は、c行g列の領域からc行i列の領域へ、さらにさらにd行a列からd行i列に向かって到達可能の識別情報「1」を有する領域を検索する。ナビゲーション装置300は、c行g列の領域からd行i列までのすべての領域には到達不可能の識別情報「0」が付与されているので、処理を終了する。
このように、2次元行列データ(Y,X)のメッシュデータ1300の各行ごとに、到達可能の識別情報「1」を有する領域を塗りつぶすことにより、車両の到達可能範囲および車両の到達可能範囲の輪郭を取得することができる。
車両の到達範囲の中に到達不可能範囲がある場合においても、この到達不可能範囲について上記同様の処理をおこなうことにより、塗りつぶしの一部を変更(戻す)ことにより、到達不可能範囲の輪郭を取得することができる。
(ナビゲーション装置300における画像処理)
上述のように、ナビゲーション装置300は、車両の残存エネルギー量に基づいて探索された移動体の到達可能なノードに基づいて移動体の到達可能範囲を生成しディスプレイ313に表示させる。以下、たとえば、ナビゲーション装置300がEV車に搭載されている場合を例に説明する。
図13は、ナビゲーション装置による画像処理の手順の一例を示すフローチャートである。図13のフローチャートにおいて、ナビゲーション装置300は、まず、たとえば、通信I/F315を介して、自装置が搭載された車両の現在地点(ofx,ofy)を取得する(ステップS1301)。つぎに、ナビゲーション装置300は、たとえば、通信I/F315を介して、車両の現在地点(ofx,ofy)における車両の初期保有エネルギー量を取得する(ステップS1302)。
つぎに、ナビゲーション装置300は、到達可能ノード探索処理をおこなう(ステップS1303)。つぎに、ナビゲーション装置300は、メッシュデータ生成および識別情報付与処理をおこなう(ステップS1304)。つぎに、ナビゲーション装置300は、車両の到達可能範囲および到達不可能範囲の輪郭を抽出する(ステップS1305)。その後、ナビゲーション装置300は、ディスプレイ313に車両の到達可能範囲を表示し(ステップS1306)、本フローチャートによる処理を終了する。
(ナビゲーション装置300における推定消費電力量算出処理)
つぎに、ナビゲーション装置300による推定消費電力量算出処理について説明する。図14は、ナビゲーション装置による推定消費電力量算出処理の手順の一例を示すフローチャートである。図14に示すフローチャートでは、上述したステップS1303の到達可能ノード探索処理でおこなう処理である。
図14のフローチャートにおいて、ナビゲーション装置300は、まず、通信I/F315を介して、プローブデータなどの渋滞情報や渋滞予測データを取得する(ステップS1401)。つぎに、ナビゲーション装置300は、リンクの長さや、リンクの道路種別を取得する(ステップS1402)。
つぎに、ナビゲーション装置300は、ステップS1401,S1402で取得した情報に基づいて、リンクの旅行時間を算出する(ステップS1403)。リンクの旅行時間とは、車両がリンクを走行し終わるのに要する時間である。つぎに、ナビゲーション装置300は、ステップS1401〜S1403で取得した情報に基づいて、リンクの平均速度を算出する(ステップS1404)。リンクの平均速度とは、車両がリンクを走行する際の平均速度である。
つぎに、ナビゲーション装置300は、リンクの標高データを取得する(ステップS1405)。つぎに、ナビゲーション装置300は、車両の設定情報を取得する(ステップS1406)。つぎに、ナビゲーション装置300は、ステップS1401〜S1406で取得した情報に基づいて、上述した(1)式〜(6)式のいずれか1つ以上の消費エネルギー推定式を用いて、リンクにおける推定消費電力量を算出し(ステップS1407)、本フローチャートによる処理を終了する。
(ナビゲーション装置300における到達可能地点探索処理)
つぎに、ナビゲーション装置300による到達可能地点探索処理について説明する。図15−1,15−2は、ナビゲーション装置による到達可能地点探索処理の手順を示すフローチャートである。ナビゲーション装置300は、探索始点に最も近いリンクL(i)_jに接続するノードN(i)_jをノード候補に追加する(ステップS1501)。探索始点とは、上述したステップS1301で取得した車両の現在地点(ofx,ofy)である。
変数i,jは、任意の数値であり、たとえば、探索始点に最も近いリンクおよびノードをそれぞれリンクL(1)_jおよびノードN(1)_jとし、さらに、ノードN(1)_jに接続するリンクをリンクL(2)_j、リンクL(2)_jに接続するノードをノードN(2)_jとしていけばよい(j=1,2、・・・,j1)。変数j1は、任意の数値であり、同一の階層に複数のリンクまたはノードが存在することを意味する。
つぎに、ナビゲーション装置300は、ノード候補が1つ以上あるか否かを判断する(ステップS1502)。ノード候補が1つ以上ある場合(ステップS1502:Yes)、ナビゲーション装置300は、車両の現在地点からノード候補までの累計消費電力量が最小なノード候補を選択する(ステップS1503)。たとえば、ナビゲーション装置300がノード候補としてノードN(i)_jを選択したとして以降の処理を説明する。
つぎに、ナビゲーション装置300は、車両の現在地点からノードN(i)_jまでの累計消費電力量が指定エネルギー量以下であるか否かを判断する(ステップS1504)。指定エネルギー量とは、たとえば、車両の現在地点における車両の残存エネルギー量である。指定エネルギー量以下である場合(ステップS1504:Yes)、ナビゲーション装置300は、ノードN(i)_jに接続するすべてのリンクL(i+1)_jを抽出する(ステップS1505)。
つぎに、ナビゲーション装置300は、ステップS1505において抽出したリンクL(i+1)_jのうち、一のリンクL(i+1)_jを選択する(ステップS1506)。つぎに、ナビゲーション装置300は、ステップS1506において選択した一のリンクL(i+1)_jをリンク候補とするか否かを判断する候補判断処理をおこなう(ステップS1507,S1508)。
一のリンクL(i+1)_jをリンク候補とする場合(ステップS1508:Yes)、ナビゲーション装置300は、一のリンクL(i+1)_jでの消費電力量算出処理をおこなう(ステップS1509)。つぎに、ナビゲーション装置300は、一のリンクL(i+1)_jに接続するノードN(i+1)_jまでの累計消費電力量W(i+1)_jを算出する(ステップS1510)。つぎに、ナビゲーション装置300は、ノードN(i+1)_jに接続する処理済みの他の経路があるか否かを判断する(ステップS1511)。
処理済みの他の経路がある場合(ステップS1511:Yes)、ナビゲーション装置300は、車両の現在地点からノードN(i+1)_jまでの累計消費電力量W(i+1)_jが他の経路での累計消費電力量よりも小さいか否かを判断する(ステップS1512)。他の経路での累計消費電力量よりも小さい場合(ステップS1512:Yes)、ナビゲーション装置300は、ノードN(i+1)_jに車両の現在地点からノードN(i+1)_jまでの累計消費電力量W(i+1)_jを設定する(ステップS1513)。
一方、処理済みの他の経路がない場合(ステップS1511:No)、ナビゲーション装置300は、ステップS1513に進む。つぎに、ナビゲーション装置300は、ノードN(i+1)_jがノード候補であるか否かを判断する(ステップS1514)。ノード候補でない場合(ステップS1514:No)、ナビゲーション装置300は、ノードN(i+1)_jをノード候補に追加する(ステップS1515)。
また、一のリンクL(i+1)_jをリンク候補としない場合(ステップS1508:No)、車両の現在地点からノードN(i+1)_jまでの累計消費電力量W(i+1)_jが他の経路での累計消費電力量以上である場合(ステップS1512:No)、ノードN(i+1)_jがノード候補である場合(ステップS1514:Yes)、ナビゲーション装置300は、ステップS1516へ進む。
つぎに、ナビゲーション装置300は、すべてのリンクL(i+1)_jの候補判断処理が終了したか否かを判断する(ステップS1516)。すべてのリンクL(i+1)_jの候補判断処理が終了した場合(ステップS1516:Yes)、ノードN(i)_jをノード候補から外した後(ステップS1517)、ステップS1502へ戻る。そして、ナビゲーション装置300は、ノード候補が1つ以上ある場合(ステップS1502:Yes)、ノード候補の中から、車両の現在地点からの累計消費電力量が最小なノード候補を選択し(ステップS1503)、ステップS1503において選択したノード候補を次のノードN(i)_jとしてステップS1504以降の処理をおこなう。
一方、すべてのリンクL(i+1)_jの候補判断処理が終了していない場合(ステップS1516:No)、ステップS1506へ戻る。そして、ナビゲーション装置300は、再度、ノードN(i)_jに接続する他のリンクL(i+1)_jを選択し、同一のノード候補に接続するすべてのリンクL(i+1)_jの候補判断処理が終了するまで(ステップS1516:Yes)、ステップS1507からステップS1515までの処理を繰り返しおこなう。また、ノード候補が1つ以上ない場合(ステップS1502:No)、車両の現在地点からノードN(i)_jまでの累計消費電力量が指定エネルギー量より大きい場合(ステップS1504:No)、ナビゲーション装置300は、本フローチャートによる処理を終了する。
(ナビゲーション装置300における識別情報付与処理)
つぎに、ナビゲーション装置300による識別情報付与処理について説明する。図16−1は、ナビゲーション装置による識別情報付与処理の手順の一例を示すフローチャートである。図16−1のフローチャートは、上述したステップS1304でおこなう処理である。
図16−1のフローチャートにおいて、ナビゲーション装置300は、まず、到達可能なノード(探索可能地点)の経度緯度情報(x,y)を取得する(ステップS1701)。つぎに、ナビゲーション装置300は、最大経度x_max、最小経度x_min、最大緯度y_max、最小緯度y_minを取得する(ステップS1702)。
つぎに、ナビゲーション装置300は、ステップS1301で取得した車両の現在地点(ofx,ofy)から、最大経度x_maxまでの距離w1、最小経度x_minまでの距離w2、最大緯度y_maxまでの距離w3、最小緯度y_minまでの距離w4をそれぞれ算出する(ステップS1703)。つぎに、ナビゲーション装置300は、距離w1〜w4のうちの最も長い距離w5=max(w1,w2,w3,w4)を取得する(ステップS1704)。
つぎに、ナビゲーション装置300は、記憶装置に記憶された地図データを絶対座標系からスクリーン座標系へ変換するための倍率mag=w5/nを算出する(ステップS1705)。つぎに、ナビゲーション装置300は、ステップS1705において算出した倍率magを用いて地図データを絶対座標系からスクリーン座標系へ変換し、m×mドットのメッシュデータ(X,Y)を生成する(ステップS1706)。
ナビゲーション装置300は、ステップS1706において、到達可能なノードを含むメッシュデータ(X,Y)に到達可能の識別情報を付与し、到達可能なノードを含まないメッシュデータ(X,Y)に到達不可能の識別情報を付与する。そして、ナビゲーション装置300は、第1識別情報変更処理をおこなうことで、橋またはトンネルに相当するメッシュデータ(X,Y)の欠損点を除去する(ステップS1707)。
つぎに、ナビゲーション装置300は、第2識別情報変更処理をおこなう(ステップS1708)。つぎに、ナビゲーション装置300は、第3識別情報変更処理をおこない(ステップS1709)、本フローチャートによる処理を終了する。第2識別情報変更処理は、クローニングの膨張処理である。第3識別情報変更処理は、クローニングの縮小処理である。なお、本フローチャートでは、第1識別情報変更処理(ステップS1707)の後で第2識別情報変更処理(ステップS1708)と第3識別情報変更処理(ステップS1709)を行っているが、第2識別情報変更処理(ステップS1708)と第3識別情報変更処理(ステップS1709)の後で、第1識別情報変更処理(ステップS1707)を行ってもよい。
(ナビゲーション装置300における第1識別情報変更処理)
つぎに、ナビゲーション装置300による第1識別情報変更処理について説明する。図16−2は、ナビゲーション装置による第1識別情報変更処理の手順の一例を示すフローチャートである。図16−2のフローチャートは、上述したステップS1707でおこなう処理の一例である。具体的には、ナビゲーション装置300は、橋またはトンネルの入口および出口に相当する各領域の識別情報が到達可能の識別情報である場合に、橋またはトンネルに相当する領域に生じている欠損点を除去する。
図16−2のフローチャートにおいて、ナビゲーション装置300は、まず、my行mx列の2次元行列データのメッシュデータを取得する(ステップS1711)。つぎに、ナビゲーション装置300は、メッシュデータのi行j列の領域の識別情報を検索するために、変数i,jに1を代入する(ステップS1712,S1713)。つぎに、ナビゲーション装置300は、メッシュデータのi行j列の領域が橋またはトンネルの出入り口であるか否かを判断する(ステップS1714)。
i行j列の領域が橋またはトンネルの出入り口である場合(ステップS1714:Yes)、ナビゲーション装置300は、メッシュデータのi行j列の領域の識別情報が「1」であるか否かを判断する(ステップS1715)。i行j列の領域の識別情報が「1」である場合(ステップS1715:Yes)、ナビゲーション装置300は、メッシュデータのi行j列の領域に対応する、橋またはトンネルの他方の出入り口の領域の位置(i1,j1)を取得する(ステップS1716)。
つぎに、ナビゲーション装置300は、メッシュデータのi1行j1列の領域の識別情報が「1」であるか否かを判断する(ステップS1717)。i1行j1列の領域の識別情報が「1」である場合(ステップS1717:Yes)、ナビゲーション装置300は、i行j列の領域とi1行j1列の領域とを結ぶ区間上にあるすべての領域の位置情報を取得する(ステップS1718)。
つぎに、ナビゲーション装置300は、ステップS1718において取得した各領域の識別情報を「1」に変更する(ステップS1719)。これにより、i行j列の領域とi1行j1列の領域とを結ぶ橋またはトンネルに相当する領域に生じている欠損点が除去される。ナビゲーション装置300は、ステップS1718において取得した各領域の識別情報がすべて「1」であった場合に、ステップS1719の処理をおこなわずにステップS1720へ進んでもよい。
また、i行j列の領域が橋またはトンネルの出入り口でない場合(ステップS1714:No)、i行j列の領域の識別情報が「1」でない場合(ステップS1715:No)、および、i1行j1列の領域の識別情報が「1」でない場合(ステップS1717:No)、ナビゲーション装置300は、ステップS1720に進む。
つぎに、ナビゲーション装置300は、変数jに1を加算し(ステップS1720)、変数jがmx列を超えているか否かを判断する(ステップS1721)。変数jがmx列を超えていない場合(ステップS1721:No)、ナビゲーション装置300は、ステップS1714に戻り、以降の処理を繰り返しおこなう。一方、変数jがmx列を超えている場合(ステップS1721:Yes)、ナビゲーション装置300は、変数iに1を加算し(ステップS1722)、変数iがmy行を超えているか否かを判断する(ステップS1723)。
変数iがmy行を超えていない場合(ステップS1723:No)、ナビゲーション装置300は、ステップS1713に戻り、変数jに1を代入した後、以降の処理を繰り返しおこなう。一方、変数iがmy行を超えている場合(ステップS1723:Yes)、ナビゲーション装置300は、本フローチャートによる処理を終了する。これにより、ナビゲーション装置300は、my行mx列の2次元行列データのメッシュデータに含まれる橋またはトンネル上のすべての欠損点を除去することができる。
また、ナビゲーション装置300は、ステップS1716において橋またはトンネルの他方の出入り口として取得されたi1行j1列の領域について、再度、橋またはトンネルの他方の出入り口であるか否かの判断(ステップS1714の処理)をおこなわなくてもよい。これにより、ナビゲーション装置300は、第1識別情報変更処理の処理量を低減させることができる。
(ナビゲーション装置300における到達可能範囲輪郭抽出処理)
つぎに、ナビゲーション装置300による識別情報付与処理について説明する。図17は、ナビゲーション装置による到達可能範囲輪郭抽出処理の手順の一例を示すフローチャートである。図17のフローチャートは、上述したステップS1305でおこなう処理の一例である。
図10(B)に示したように、ナビゲーション装置300の輪郭データ算出部106は、2次元行列のメッシュデータを画像の左上端からx方向(東方向)に+1ずつ走査し、右端に到達したらy方向(南方向)に+1進む(ステップS1801)。そして、現在の画素の色を確認し白から黒(識別情報が「0」→「1」)に変わる画素を探し、この画素(図10(B)の領域1121)を追跡開始画素とする(ステップS1802)。
つぎに、追跡開始画素が以前に抽出した輪郭の一部であるか判断する(ステップS1803)。追跡開始画素が以前に抽出した輪郭の一部であれば(ステップS1803:Yes)、ステップS1806に移行する。追跡開始画素が以前に抽出した輪郭の一部でなければ(ステップS1803:No)、上述した輪郭追跡処理をおこなう(ステップS1804)。そして、抽出した輪郭を構成する画素を、抽出済みの画素として記憶装置に保存する(ステップS1805)。この後、全ての画素を走査し終えたか判断し(ステップS1806)、全ての画素を走査し終えていなければ(ステップS1806:No)、ステップS1801に戻り、全ての画素を走査し終えていれば(ステップS1806:Yes)、以上の処理を終了する。
図18は、ナビゲーション装置による輪郭追跡処理の手順の一例を示すフローチャートである。図18のフローチャートは、上述したステップS1804でおこなう処理の一例である。また、図19は、輪郭追跡処理を説明するための図である。チェインコードと探索開始画素を示している。現在注目している画素(領域1100)を探索基準画素とし、この探索基準画素には8方向の隣接画素が隣接している。そして、追跡開始画素から探索をはじめる場合は、追跡開始画素を探索基準画素とする。
はじめに、ナビゲーション装置300の輪郭データ算出部106は、探索基準画素への進入方向から、時計周りに(2π/隣接画素数)×3=135°だけ回転した探索方位に位置する隣接画素を探索開始画素と呼び、探索開始画素を決定する(ステップS1901)。たとえば、図19の(A)に示すように、進入方向が3であれば探索開始方位は0となる。また、進入方向が6であれば探索開始方位は3となる。
つぎに、図19の(B)に示すように、探索開始画素からはじめて、探索方位を反時計周りに単位回転角(2π/隣接画素数)ずつ変えながら全ての隣接画素を反時計回りに順に探索し、はじめて黒(識別情報が「1」)になる画素を次の探索基準画素とする(ステップS1902)。そして、探索基準画素が存在するか判断する(ステップS1903)。すなわち、隣接画素に黒い画素(識別情報が「1」)が存在するか判断する。図19の(C)に示すように、存在する場合には(ステップS1903:Yes)、次の探索開始画素への進入方向を保存し、この探索開始画素を探索基準画素とする(ステップS1904)。この後、探索基準画素が追跡開始画素に戻ったか判断し(ステップS1905)、戻っていなければ(ステップS1905:No)、輪郭を追跡中であり処理継続のためにステップS1901に戻り、戻っていれば(ステップS1905:Yes)、輪郭を追跡し終えたため、以上の処理を終了する。
また、ステップS1903において、探索基準画素が存在しない場合には(ステップS1903:No)、図19の(D)に示すように、孤立した点だけで構成される輪郭で確定することとなり、以上の処理を終了する。
(輪郭の向きの算出処理)
図20は、ナビゲーション装置による輪郭の向きの算出処理の手順の一例を示すフローチャートである。ナビゲーション装置300の向き算出部107がおこなう処理について説明する。図20のフローチャートは、図18に示した輪郭追跡処理の後に実行される。はじめに、図18に示した輪郭追跡処理にて確定した進入方向の遷移を順に走査する(ステップS2201)。
つぎに、進入方向の変化量の絶対値が、隣接画素数の半分以上である場合(上記例では4以上または−4以下)は、隣接画素数を1回加算または減算し、進入方向の変化量の絶対値が隣接画素数の半分より小さく(−3以上3以下)なるように補正する(ステップS2202)。そして、補正した進入方向の変化量と単位回転角(2π/隣接画素数)の積を計算し、進入方向の遷移による回転角度の累積を計算する(ステップS2203)。
この後、全ての進入方向の線を走査し終えたか判断し(ステップS2204)、走査し終えていなければ(ステップS2204:No)、ステップS2201に戻り、走査し終えていれば(ステップS2204:Yes)、つぎに、進入方向の遷移による回転角度の累積が2πまたは0であるか判断する(ステップS2205)。判断結果、回転角度の累積が2πまたは0の場合には(ステップS2205:2πまたは0)、進入方向の遷移が周回する方向が反時計回りであることが分かり(ステップS2206)、以上の処理を終了する。ここで、累積値が0の場合は反時計回りの特殊な場合とする。一方、回転角度の累積が−2πである場合には(ステップS2205:−2π)、進入方向の遷移が周回する方向が時計回りであることが分かり(ステップS2207)、以上の処理を終了する。
上記輪郭の向きの処理について、具体的に、上述した図10(B)に示した輪郭(外輪郭および内輪郭)を用いて説明する。外輪郭については、一周するまでにおける方向指数の値が、0→0→1→0→2→3→4→3→2→5→5→5→6→6→0と変化する。各値間の変化量(差分)は、それぞれ0,1,−1,2,1,1,−1,−1,3,0,0,1,0,−6である。ここで、方向指数の変化について最後の6→0が示す−6の値は、図10(A)で見て隣接画素2つ分だけの変化であるため、補正値として+8を加え、−6の代わりに方向指数が+2であるとする。そして、合計の累積値を8(8×45°=360°)とし、この場合、反時計回り(外輪郭)であると判断する。
また、内輪郭については、一周するまでにおける方向指数の値が、2→0→7→6→5→4→2→2と変化する。各値間の変化量(差分)は、それぞれ−2,7,−1,−1,−1,−2,0である。ここで、方向指数の変化について0→7が示す7の値は、図10(A)で見て隣接画素1つ分だけの変化であるため、補正値として−8を加え、7の代わりに方向指数を−1とする。合計の累積値を−8(−8×45°=−360°)とし、この場合、時計回り(内輪郭)であると判断する。
このようにして、向き算出部107は、輪郭データ算出部106により算出された輪郭の向き(時計回りまたは反時計回り)を求め、輪郭データ算出部106(向き算出部107)は、図10(C)に示すように、到達可能範囲の輪郭データについて、1つの座標ごとのチェインコード(方向指数)1150と、輪郭の向きを表す付加情報1160を付与して表示制御部108に出力する。これにより、表示制御部108では、反時計回りの外輪郭1130により車両の到達可能範囲を表示でき、時計回りの内輪郭1140があれば、外輪郭1130の内部に車両の到達不可能範囲を表示することができるようになる。
(道路勾配について)
つぎに、上記(1)式〜(6)式の右辺に変数として用いられる道路勾配θについて説明する。図21は、勾配がある道路を走行する車両にかかる加速度の一例を模式的に示した説明図である。図21に示すように、道路勾配がθの坂道を走行する車両には、車両の走行に伴う加速度A(=dx/dt)と、重力加速度gの進行方向成分B(=g・sinθ)がかかる。たとえば、上記(1)式を例に説明すると、上記(1)式の右辺第2項は、この車両の走行に伴う加速度Aと、重力加速度gの進行方向成分Bの合成加速度Cを示している。また、車両が走行する区間の距離Dとし、走行時間Tとし、走行速度Vとする。
道路勾配θを考慮せずに電力消費量の推定をおこなった場合、道路勾配θが小さい領域では推定消費電力量と実際の消費電力量との誤差が小さいが、道路勾配θが大きい領域では推定した推定消費電力量と実際の消費電力量との誤差が大きくなってしまう。このため、ナビゲーション装置300では、道路勾配、すなわち第四情報を考慮して燃費の推定をおこなうことで推定精度が向上する。
車両が走行する道路の勾配は、たとえば、ナビゲーション装置300に搭載された傾斜計を用いて知ることができる。また、ナビゲーション装置300に傾斜計が搭載されていない場合は、たとえば、地図データに含まれる道路の勾配情報を用いることができる。
(走行抵抗について)
つぎに、車両に生じる走行抵抗について説明する。ナビゲーション装置300は、たとえば、次の(11)式により走行抵抗を算出する。一般的に、走行抵抗は、道路種別や、道路勾配、路面状況などにより、加速時や走行時に移動体に生じる。
(ナビゲーション装置によるクローニング処理後の表示例)
つぎに、ナビゲーション装置によるクローニング処理後の表示例について説明する。図22は、ナビゲーション装置による到達可能地点探索処理後の表示例の一例について示す説明図である。図23−1は、ナビゲーション装置による識別情報付与処理後の表示例の一例について示す説明図である。図23−2は、ナビゲーション装置による第1識別情報変更処理後の表示例の一例について示す説明図である。また、図24は、ナビゲーション装置によるクローニング処理(膨張)後の表示例の一例について示す説明図である。図25は、ナビゲーション装置によるクローニング処理(縮小)後の表示例の一例について示す説明図である。
図22に示すように、たとえば、ディスプレイ313には、地図データとともに、ナビゲーション装置300によって探索された複数の車両の到達可能地点が表示される。図22に示すディスプレイ313の状態は、ナビゲーション装置300によって到達可能地点探索処理がおこなわれたときの、ディスプレイに表示される情報の一例である。具体的には、図13のステップS1303の処理がおこなわれた状態である。
つぎに、ナビゲーション装置300によって地図データが複数の領域に分割され、到達可能地点に基づいて各領域に到達可能または到達不可能の識別情報が付与されることで、図23−1に示すように、ディスプレイ313には、到達可能の識別情報に基づく車両の到達可能範囲2500が表示される。この段階では、車両の到達可能範囲2500内に、到達不可能な領域2501があるとする。この到達不可能な領域2501は、輪郭データ算出部106により車両が到達不可能と判断した領域であるが、この他に欠損点も生じている。
つぎに、ナビゲーション装置300によって第1識別情報変更処理がおこなわれることにより、図23−2に示すように到達不可能な領域2501を除く欠損点(たとえば、東京湾横断道路2521)を含み、ディスプレイ313には、東京湾横断道路2521の全領域が含まれた到達可能範囲2520および到達不可能範囲2501が表示される。
つぎに、ナビゲーション装置300によってクローニングの膨張処理がおこなわれることにより、図24に示すように、欠損点の除去された車両の到達可能範囲2600が生成される。また、すでに、第1識別情報変更処理によって東京湾横断道路上の全領域2610が到達可能範囲2600に含まれているため、クローニングの膨張処理後においても、東京湾横断道路上の全領域2610は、車両の到達可能範囲2600となる。
その後、ナビゲーション装置300によってクローニングの縮小処理がおこなわれることにより、図25に示すように、車両の到達可能範囲2700の外周は、クローニングがおこなわれる前の車両の到達可能範囲2500の外周とほぼ同様の大きさとなる。
そして、ナビゲーション装置300によって車両の到達可能範囲2700の輪郭2701および到達不可能範囲2710の輪郭2711を抽出することで、車両の到達可能範囲2700および到達不可能範囲2710の輪郭をなめらかに表示することができる。また、クローニングによって欠損点を除去しているため、車両の到達可能範囲2700は、2次元のなめらかな面2702で表示される。なお、クローニング縮小処理後においても、東京湾横断道路上の全領域2720は、車両の到達可能範囲2700の一部として表示される。
(到達可能範囲および到達不可能範囲の例)
図26は、到達可能範囲および到達不可能範囲の例を示す図である。到達可能範囲2800は、輪郭データ算出部106により外輪郭で囲まれた領域であり、到達可能範囲2800の内部に湖や山などの到達不可能範囲2810がある場合には、輪郭データ算出部106により内輪郭で囲まれる。輪郭データ算出部106が有する向き算出部107により外輪郭は反時計回り、内輪郭は時計回りの向きが求められる。これにより、表示制御部108は、到達可能範囲2800と到達不可能範囲2810を簡単な処理で明確に表示することができる。
また、図26に示す到達可能範囲2820は、両端がノードである橋2821を渡って到達できる領域であり、内部に複数の到達不可能範囲2822,2823がある。到達可能範囲2030は、到達可能範囲2800からフェリー等の外部手段(車両以外の移動体)2831を介して到着後に移動できる領域を示している。このように、複数の到達可能範囲2800,2820,2830の領域が異なる場合でも表示することができる。また、一つの到達可能範囲2820に複数の到達不可能範囲2822,2823がある場合でも表示することができる。また、到達不可能範囲2810の内側に更なる到達可能範囲があった場合でも同様に表示することができる。
以上説明したように、ナビゲーション装置300によれば、地図情報を複数の領域に分割して各領域ごとに移動体が到達可能か否かを探索し、各領域にそれぞれ移動体が到達可能または到達不可能であることを識別する到達可能または到達不可能の識別情報を付与する。そして、ナビゲーション装置300は、到達可能の識別情報が付与された領域に基づいて、移動体の到達可能範囲を生成する。このため、ナビゲーション装置300は、海や湖、山脈など移動体の走行不可能な到達不可能範囲を除き移動体の到達可能範囲を生成することができる。したがって、画像処理装置100は、移動体の到達可能範囲を正確に表示することができる。
また、ナビゲーション装置300は、地図情報を分割した複数の領域を画像データに変換し、当該複数の領域にそれぞれ到達可能または到達不可能の識別情報を付与した後、クローニングの膨張処理をおこなう。このため、ナビゲーション装置300は、移動体の到達可能範囲内の欠損点を除去することができる。
また、ナビゲーション装置300は、地図情報を分割した複数の領域を画像データに変換し、当該複数の領域にそれぞれ到達可能または到達不可能の識別情報を付与した後、オープニングの縮小処理をおこなう。このため、ナビゲーション装置300は、移動体の到達可能範囲の孤立点を除去することができる。
このように、ナビゲーション装置300は、移動体の到達可能範囲の欠損点や孤立点を除去することができるので、移動体の走行可能範囲を2次元のなめらかな面でかつ見やすく表示することができる。また、ナビゲーション装置300は、地図情報を複数の領域に分割して生成したメッシュデータの輪郭を抽出する。このため、ナビゲーション装置300は、移動体の到達可能範囲の輪郭をなめらかに表示することができる。
また、ナビゲーション装置300は、移動体の到達可能地点を探索する道路を絞り込んで、移動体の到達可能地点を探索する。このため、ナビゲーション装置300は、移動体の到達可能地点を探索する際の処理量を低減することができる。移動体の到達可能地点を探索する道路を絞り込むことで、探索可能な到達可能地点が少なくなったとしても、上述したようにクローニングの膨張処理がおこなわれることにより、移動体の到達可能範囲内に生じる欠損点を除去することができる。したがって、ナビゲーション装置300は、移動体の到達可能範囲を検出するための処理量を低減することができる。また、ナビゲーション装置300は、移動体の走行可能範囲を2次元のなめらかな面で見やすく表示することができる。
また、ナビゲーション装置300は、到達可能範囲の内部に生じる穴(複数の識別情報がまとまった領域)に基づき到達不可能範囲を判断するため、到達可能範囲を外輪郭で求めることができ、到達不可能範囲を内輪郭で求めることができる。さらに、到達可能範囲と到達不可能範囲は同じ走査をおこなった場合に向きが逆になる。これを利用することで、到達可能範囲と到達不可能範囲とを簡単なデータ構造で表示制御でき、表示制御の処理負担も軽減できるようになる。
(実施の形態2)
図27は、実施の形態2にかかる画像処理装置の機能的構成の一例を示すブロック図である。実施の形態2にかかる画像処理システム2900の機能的構成について説明する。実施の形態2にかかる画像処理システム2900は、サーバ2910、端末2920によって構成される。実施の形態2にかかる画像処理システム2900は、実施の形態1の画像処理装置100の機能をサーバ2910および端末2920に備える。
サーバ2910は、移動体に搭載された端末2920によって表示部110に表示させる情報を生成する。具体的には、サーバ2910は、移動体の到達可能範囲に関する情報を検出し端末2920に送信する。端末2920は、移動体に搭載されても構わないし、携帯端末として移動体の中で利用されても構わないし、携帯端末として移動体の外で利用されても構わない。そして、端末2920は、サーバ2910から移動体の到達可能範囲に関する情報を受信する。
図27において、サーバ2910は、算出部102、探索部103、分割部104、付与部105、輪郭データ算出部106および向き算出部107、サーバ受信部2911、サーバ送信部2912によって構成される。端末2920は、取得部101、表示制御部108、端末受信部2921、端末送信部2922によって構成される。なお、図27に示す画像処理システム2900においては、図1に示した画像処理装置100と同一の構成部に同一の符号を付し、説明を省略する。
サーバ2910において、サーバ受信部2911は、端末2920から送信された情報を受信する。具体的には、たとえば、サーバ受信部2911は、公衆回線網や携帯電話網、DSRC、LAN、WANなどの通信網に無線を介して接続された端末2920からの移動体に関する情報を受信する。移動体に関する情報とは、移動体の現在地点に関する情報、および、移動体の現在地点において移動体が保有するエネルギー量である初期保有エネルギー量に関する情報である。サーバ受信部2911によって受信された情報は、算出部102で参照される情報である。
サーバ送信部2912は、付与部105によって移動体が到達可能であることを識別する到達可能の識別情報が付与された地図情報が分割されてなる複数の領域を移動体の到達可能範囲として、端末2920に送信する。具体的には、たとえば、サーバ送信部2912は、公衆回線網や携帯電話網、DSRC、LAN、WANなどの通信網に無線を介して接続された端末2920に情報を送信する。
端末2920は、たとえば、携帯端末の情報通信網や自装置に備えられた通信部(不図示)を介して通信可能な状態で、サーバ2910と接続されている。
端末2920において、端末受信部2921は、サーバ2910からの情報を受信する。具体的には、端末受信部2921は、複数の領域に分割され、かつ当該領域のそれぞれに、移動体の到達可能地点に基づいて到達可能または到達不可能の識別情報が付与された地図情報を受信する。より具体的には、たとえば、端末受信部2921は、公衆回線網や携帯電話網、DSRC、LAN、WANなどの通信網に無線を介して接続されたサーバ2910から情報を受信する。
端末送信部2922は、取得部101に取得された移動体に関する情報をサーバ2910に送信する。具体的には、たとえば、端末送信部2922は、公衆回線網や携帯電話網、DSRC、LAN、WANなどの通信網に無線を介して接続されたサーバ2910に移動体に関する情報を送信する。
つぎに、実施の形態2にかかる画像処理システム2900による画像処理について説明する。画像処理システム2900による画像処理は、実施の形態1にかかる画像処理装置100とほぼ同一であるため、図2のフローチャートを利用して実施の形態1との差異について説明する。
画像処理システム2900による画像処理は、実施の形態1にかかる画像処理装置100による画像処理のうち、推定エネルギー消費量算出処理、到達可能地点探索処理、識別情報付与処理、をサーバ2910がおこなう。具体的には、図2のフローチャートにおいて、端末2920は、ステップS201の処理をおこない、ステップS201で取得した情報をサーバ2910に送信する。
つぎに、サーバ2910は、端末2920からの情報を受信する。つぎに、サーバ2910は、端末2920から受信した情報に基づいてステップS202〜S206の処理をおこない、ステップS206で取得した情報を端末2920に送信する。つぎに、端末2920は、サーバ2910からの情報を受信する。そして、端末2920は、サーバ2910から受信した情報に基づいてステップS207,ステップS208をおこない、本フローチャートによる処理を終了する。
以上説明したように、実施の形態2にかかる画像処理システム2900および画像処理方法は、実施の形態1にかかる画像処理装置100および画像処理方法と同様の効果を得ることができる。
(実施の形態3)
図28は、実施の形態3にかかる画像処理システムの機能的構成の一例を示すブロック図である。実施の形態3にかかる画像処理システム3000の機能的構成について説明する。実施の形態3にかかる画像処理システム3000は、第1サーバ3010、第2サーバ3020、第3サーバ3030、端末3040によって構成される。画像処理システム3000は、実施の形態1の画像処理装置100の算出部102の機能を第1サーバ3010が備え、実施の形態1の画像処理装置100の探索部103の機能を第2サーバ3020が備え、実施の形態1の画像処理装置100の分割部104、付与部105、輪郭データ算出部106および向き算出部107の機能を第3サーバ3030が備え、実施の形態1の画像処理装置100の取得部101および表示制御部108の機能を端末3040が備える。
図28において、端末3040は、実施の形態2の端末2920と同様の構成を有する。具体的には、端末3040は、取得部101、表示制御部108、端末受信部3041、端末送信部3042によって構成される。端末受信部3041は、実施の形態2の端末受信部2921と同様の構成を有する。端末送信部3042は、実施の形態2の端末送信部2922と同様の構成を有する。第1サーバ3010は、算出部102、第1サーバ受信部3011、第1サーバ送信部3012、によって構成される。
第2サーバ3020は、探索部103、第2サーバ受信部3021、第2サーバ送信部3022、によって構成される。第3サーバ3030は、分割部104、付与部105、輪郭データ算出部106および向き算出部107、第3サーバ受信部3031、第3サーバ送信部3032、によって構成される。図28に示す画像処理システム3000においては、図1に示した画像処理装置100および図27に示した画像処理システム2900と同一の構成部に同一の符号を付し、説明を省略する。
第1サーバ3010において、第1サーバ受信部3011は、端末3040から送信された情報を受信する。具体的には、たとえば、第1サーバ受信部3011は、公衆回線網や携帯電話網、DSRC、LAN、WANなどの通信網に無線を介して接続された端末3040の端末送信部3042からの情報を受信する。第1サーバ受信部3011によって受信された情報は、算出部102で参照される情報である。
第1サーバ送信部3012は、算出部102によって算出された情報を第2サーバ受信部3021に送信する。具体的には、第1サーバ送信部3012は、公衆回線網や携帯電話網、DSRC、LAN、WANなどの通信網に無線を介して接続された第2サーバ受信部3021に情報を送信してもよいし、有線で接続された第2サーバ受信部3021に情報を送信してもよい。
第2サーバ3020において、第2サーバ受信部3021は、端末送信部3042および第1サーバ送信部3012によって送信された情報を受信する。具体的には、たとえば、第2サーバ受信部3021は、公衆回線網や携帯電話網、DSRC、LAN、WANなどの通信網に無線を介して接続された第1サーバ送信部3012および端末送信部3042からの情報を受信する。第2サーバ受信部3021は、有線で接続された第1サーバ送信部3012からの情報を受信してもよい。第2サーバ受信部3021によって受信された情報は、探索部103で参照される情報である。
第2サーバ送信部3022は、探索部103によって探索された情報を第3サーバ受信部3031に送信する。具体的には、たとえば、第2サーバ送信部3022は、公衆回線網や携帯電話網、DSRC、LAN、WANなどの通信網に無線を介して接続された第3サーバ受信部3031に情報を送信してもよいし、有線で接続された第3サーバ受信部3031に情報を送信してもよい。
第3サーバ3030において、第3サーバ受信部3031は、端末送信部3042および第2サーバ送信部3022によって送信された情報を受信する。具体的には、たとえば、第3サーバ受信部3031は、公衆回線網や携帯電話網、DSRC、LAN、WANなどの通信網に無線を介して接続された第2サーバ送信部3022および端末送信部3042からの情報を受信してもよい。第3サーバ受信部3031は、有線で接続された第2サーバ送信部3022からの情報を受信してもよい。第2サーバ受信部3021によって受信された情報は、分割部104で参照される情報である。
第3サーバ送信部3032は、付与部105によって生成された情報を端末受信部3041に送信する。具体的には、たとえば、第3サーバ送信部3032は、公衆回線網や携帯電話網、DSRC、LAN、WANなどの通信網に無線を介して接続された端末受信部3041に情報を送信する。
つぎに、実施の形態3にかかる画像処理システム3000による画像処理について説明する。画像処理システム3000による画像処理は、実施の形態1にかかる画像処理装置100とほぼ同一であるため、図2のフローチャートを利用して実施の形態1との差異について説明する。
画像処理システム3000による画像処理は、実施の形態1にかかる画像処理装置100による画像処理のうち、推定エネルギー消費量算出処理を第1サーバ3010がおこない、到達可能地点探索処理を第2サーバ3020がおこない、識別情報付与処理および輪郭データ算出処理を第3サーバ3030がおこなう。図2のフローチャートにおいて、端末3040は、ステップS201の処理をおこない、ステップS201で取得した情報を第1サーバ3010に送信する。
つぎに、第1サーバ3010は、端末3040からの情報を受信する。つぎに、第1サーバ3010は、端末3040から受信した情報に基づいてステップS202,S203の処理をおこない、ステップS203で算出した情報を第2サーバ3020に送信する。つぎに、第2サーバ3020は、第1サーバ3010からの情報を受信する。つぎに、第2サーバ3020は、第1サーバ3010から受信した情報に基づいてステップS204の処理をおこない、ステップS204で探索した情報を第3サーバ3030に送信する。
つぎに、第3サーバ3030は、第2サーバ3020からの情報を受信する。つぎに、第3サーバ3030は、第2サーバ3020からの情報に基づいてステップS205,S206の処理をおこない、ステップS206で生成した情報を端末3040に送信する。つぎに、端末3040は、第3サーバ3030からの情報を受信する。そして、端末3040は、第3サーバ3030から受信した情報に基づいてステップS207,ステップS208をおこない、本フローチャートによる処理を終了する。
以上説明したように、実施の形態3にかかる画像処理システム3000および画像処理方法は、実施の形態1にかかる画像処理装置100および画像処理方法と同様の効果を得ることができる。