JP3039226B2 - 経路計算方法及び装置 - Google Patents
経路計算方法及び装置Info
- Publication number
- JP3039226B2 JP3039226B2 JP5248243A JP24824393A JP3039226B2 JP 3039226 B2 JP3039226 B2 JP 3039226B2 JP 5248243 A JP5248243 A JP 5248243A JP 24824393 A JP24824393 A JP 24824393A JP 3039226 B2 JP3039226 B2 JP 3039226B2
- Authority
- JP
- Japan
- Prior art keywords
- link
- cost
- route
- total cost
- links
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Navigation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【産業上の利用分野】本発明は、運転者による目的地等
の設定に応じて、道路地図メモリから出発地(車両の現
在位置でもよい)と目的地とを含む範囲の経路ネットワ
ークデータを読出し、この経路ネットワークデータに基
づいて目的地に到る最適経路を計算して運転者に示すこ
とができる経路計算方法及び装置に関するものである。
の設定に応じて、道路地図メモリから出発地(車両の現
在位置でもよい)と目的地とを含む範囲の経路ネットワ
ークデータを読出し、この経路ネットワークデータに基
づいて目的地に到る最適経路を計算して運転者に示すこ
とができる経路計算方法及び装置に関するものである。
【0002】
【従来の技術】従来より画面上に車両の位置方位等を表
示し、見知らぬ土地や夜間等における走行の便宜を図る
ために開発されたナビゲーション装置が知られている。
前記ナビゲーション装置は、ディスプレイ、方位セン
サ、距離センサ、道路地図メモリ、コンピュータを車両
に搭載し、方位センサから入力される方位データ、距離
センサから入力される走行距離データ、及び道路地図メ
モリに格納されている道路パターンとの一致に基づいて
車両位置を検出し、この車両位置を道路地図とともにデ
ィスプレイに表示するものである。
示し、見知らぬ土地や夜間等における走行の便宜を図る
ために開発されたナビゲーション装置が知られている。
前記ナビゲーション装置は、ディスプレイ、方位セン
サ、距離センサ、道路地図メモリ、コンピュータを車両
に搭載し、方位センサから入力される方位データ、距離
センサから入力される走行距離データ、及び道路地図メ
モリに格納されている道路パターンとの一致に基づいて
車両位置を検出し、この車両位置を道路地図とともにデ
ィスプレイに表示するものである。
【0003】この場合、出発地から目的地に至る走行経
路の選択をするために、運転者による目的地の設定入力
に応じて現在の出発地から目的地までの経路をコンピユ
ータにより自動的に計算する方法が提案されている(特
開平5−53504 号公報参照)。この方法は計算の対象と
なる道路を幾つも区切って、区切った点をノードとし、
ノードとノードとを結ぶ経路をリンクとし、出発地(目
的地でもよい)に最も近いノード又はリンクを始点と
し、目的地(出発地でもよい)に最も近いノード又はリ
ンクを終点とし、始点から終点に至るリンクのツリーを
全て探索し、ツリーを構成する経路のリンクコストを順
次加算して、目的地又は出発地に到達する最もリンクコ
ストの少ない経路のみを選択する方法である。
路の選択をするために、運転者による目的地の設定入力
に応じて現在の出発地から目的地までの経路をコンピユ
ータにより自動的に計算する方法が提案されている(特
開平5−53504 号公報参照)。この方法は計算の対象と
なる道路を幾つも区切って、区切った点をノードとし、
ノードとノードとを結ぶ経路をリンクとし、出発地(目
的地でもよい)に最も近いノード又はリンクを始点と
し、目的地(出発地でもよい)に最も近いノード又はリ
ンクを終点とし、始点から終点に至るリンクのツリーを
全て探索し、ツリーを構成する経路のリンクコストを順
次加算して、目的地又は出発地に到達する最もリンクコ
ストの少ない経路のみを選択する方法である。
【0004】この方法で経路を計算し、経路に沿って走
行していけば確実に目的地に到達するので、道を知らな
い運転者にとって便利である。前記経路計算の方法とし
て、従来提案されている方法をまとめると、次のように
なる。 通常のダイクストラ法:ツリーの探索過程において、
探索範囲の中から最小コストの経路1本を逐次探索し、
いずれかの経路が目的地に達したらループの処理を終了
する方法。 ポテンシャル法:探索範囲の中の経路をすべて探索
し、最終的に最小コストとなった経路を選ぶという方
法。
行していけば確実に目的地に到達するので、道を知らな
い運転者にとって便利である。前記経路計算の方法とし
て、従来提案されている方法をまとめると、次のように
なる。 通常のダイクストラ法:ツリーの探索過程において、
探索範囲の中から最小コストの経路1本を逐次探索し、
いずれかの経路が目的地に達したらループの処理を終了
する方法。 ポテンシャル法:探索範囲の中の経路をすべて探索
し、最終的に最小コストとなった経路を選ぶという方
法。
【0005】前記との方法では、のダイクストラ
法が計算時間という点で優れているように見えるが、実
際には「最小コストの経路1本を逐次探索する」という
処理が必要になるため、のポテンシャル法に比べて計
算時間ははるかに長くなる(小林他「推奨経路表示機能
付ナビゲーションシステム」住友電気第141号,PP.1
55-160, 1992年9月)。計算時間が長くなると、運
転者にとっての利用価値は著しく減少するので、計算時
間が短縮化できる方法が望まれる。
法が計算時間という点で優れているように見えるが、実
際には「最小コストの経路1本を逐次探索する」という
処理が必要になるため、のポテンシャル法に比べて計
算時間ははるかに長くなる(小林他「推奨経路表示機能
付ナビゲーションシステム」住友電気第141号,PP.1
55-160, 1992年9月)。計算時間が長くなると、運
転者にとっての利用価値は著しく減少するので、計算時
間が短縮化できる方法が望まれる。
【0006】したがって、現在では、のポテンシャル
法が採用されている。
法が採用されている。
【0007】
【発明が解決しようとする課題】しかしながら、最近は
経路ネットワークデータベースが充実してきて、ポテン
シャル法によっても、計算時間が長くなるという傾向に
ある。詳説すると、従来では経路ネットワークのリンク
本数が比較的少なく、経路計算のループ回数が少なかっ
た。ところが、計算対象する道路を細い道路まで含める
などしてリンク本数が増えてくるとツリーが広がり、リ
ンクの探索回数が増える。なぜならば、ポテンシャル法
では、経路が異なれば同じリンクであっても、経路の数
だけ探索しなければならないからである。
経路ネットワークデータベースが充実してきて、ポテン
シャル法によっても、計算時間が長くなるという傾向に
ある。詳説すると、従来では経路ネットワークのリンク
本数が比較的少なく、経路計算のループ回数が少なかっ
た。ところが、計算対象する道路を細い道路まで含める
などしてリンク本数が増えてくるとツリーが広がり、リ
ンクの探索回数が増える。なぜならば、ポテンシャル法
では、経路が異なれば同じリンクであっても、経路の数
だけ探索しなければならないからである。
【0008】この結果、計算時間が大幅に増えてくる。
したがって、全体処理(経路ネットワークデータの読み
出し、リンクテーブルへの書換え、経路計算、地図表示
等)に占めるポテンシャル法による経路計算処理の時間
割合が飛躍的に増大し始めている。そこで、結局は経路
計算処理時間を短縮しなければ、全体時間の短縮化は望
めないという状況になってきた。そのためには、計算ル
ープ回数を減らさなければならない。
したがって、全体処理(経路ネットワークデータの読み
出し、リンクテーブルへの書換え、経路計算、地図表示
等)に占めるポテンシャル法による経路計算処理の時間
割合が飛躍的に増大し始めている。そこで、結局は経路
計算処理時間を短縮しなければ、全体時間の短縮化は望
めないという状況になってきた。そのためには、計算ル
ープ回数を減らさなければならない。
【0009】本発明は、前記の問題に鑑みてなされたも
ので、ツリーを構成する経路のリンクコストを順次加算
するときに、上限コストを設け、計算ループ回数を増や
さないようにし、もって、計算時間を短くできる経路計
算方法及び装置を提供することを目的とする。
ので、ツリーを構成する経路のリンクコストを順次加算
するときに、上限コストを設け、計算ループ回数を増や
さないようにし、もって、計算時間を短くできる経路計
算方法及び装置を提供することを目的とする。
【0010】
【課題を解決するための手段】前記の目的を達成するた
めの発明の構成を説明する前に、経路計算の前提とした
いわゆるポテンシャル法について説明する。このポテン
シャル法は、請求項1の「…において」の部分に記載し
たように、計算開始リンクからスタートして、それに接
続するリンクを探索し、探索された接続リンクのトータ
ルコストが前に設定された同じリンクのトータルコスト
より小さくなれば、その値を当該接続リンクのトータル
コストに書換えるという手順を繰り返し、すべてのリン
クについて探索が終了すれば、トータルコストが最小の
リンクに着目して最適経路を決定する方法である。
めの発明の構成を説明する前に、経路計算の前提とした
いわゆるポテンシャル法について説明する。このポテン
シャル法は、請求項1の「…において」の部分に記載し
たように、計算開始リンクからスタートして、それに接
続するリンクを探索し、探索された接続リンクのトータ
ルコストが前に設定された同じリンクのトータルコスト
より小さくなれば、その値を当該接続リンクのトータル
コストに書換えるという手順を繰り返し、すべてのリン
クについて探索が終了すれば、トータルコストが最小の
リンクに着目して最適経路を決定する方法である。
【0011】請求項1記載の経路計算方法では、このポ
テンシャル法を実行する場合に、探索しようとするリン
クが計算終了リンクであれば、そのトータルコストを上
限コストの設定値と比較し、上限コストの設定値よりも
小さければ上限コストを前記トータルコストの値に設定
し直し、以後手順(d) を繰り返すときに、第2のテーブ
ルに記入されたリンクのトータルコストを参照し、それ
が上限コストよりも高ければ、接続リンクを探索するこ
となくそのリンクについての処理を打切る。
テンシャル法を実行する場合に、探索しようとするリン
クが計算終了リンクであれば、そのトータルコストを上
限コストの設定値と比較し、上限コストの設定値よりも
小さければ上限コストを前記トータルコストの値に設定
し直し、以後手順(d) を繰り返すときに、第2のテーブ
ルに記入されたリンクのトータルコストを参照し、それ
が上限コストよりも高ければ、接続リンクを探索するこ
となくそのリンクについての処理を打切る。
【0012】また、請求項2記載の経路計算装置は、前
記請求項1記載の方法を実行する装置である。
記請求項1記載の方法を実行する装置である。
【0013】
【作用】この経路計算方法及び装置によれば、探索され
るリンクが計算終了リンクであれば、そのリンクのトー
タルコストを上限コストとして設定し、この上限コスト
を超えるトータルコストを持つリンクについては、以後
接続リンクの探索処理が打ち切られる。
るリンクが計算終了リンクであれば、そのリンクのトー
タルコストを上限コストとして設定し、この上限コスト
を超えるトータルコストを持つリンクについては、以後
接続リンクの探索処理が打ち切られる。
【0014】これによって、最初に計算終了リンクにま
で到達した経路のコストを超える経路については、探索
が中止されるので、ループ回数の増大を防止することが
できる。
で到達した経路のコストを超える経路については、探索
が中止されるので、ループ回数の増大を防止することが
できる。
【0015】
【実施例】以下本発明の実施例を示す添付図面に基づい
て詳細に説明する。本発明の経路計算方法を実施するナ
ビゲーション装置は、図2に示すように、方位センサ1
1と、距離センサ12と、シフトセンサ13と、道路地
図データ及び経路ネットワークデータを格納したディス
ク14から記憶データを読出すメモリドライブ15と、
距離センサ12により検出される走行距離及び方位セン
サ11により検出される走行方向変化量をそれぞれ積算
し、この積算データとメモリドライブ15から読出され
た道路地図データとの比較に基いて車両位置を検出する
ロケータ16と、所定範囲の道路地図の読み出し、経路
ネットワークデータを利用した最適経路の計算、車両の
誘導をするための表示用データの作成、音声出力装置1
8の制御、及びロケータ16の制御等の種々の制御を行
うコントローラ17と、ディスプレイ19と、初期デー
タ等を設定するためのタッチキー20とを有する。な
お、タッチキー20に代えてリモコンキーでもよい。
て詳細に説明する。本発明の経路計算方法を実施するナ
ビゲーション装置は、図2に示すように、方位センサ1
1と、距離センサ12と、シフトセンサ13と、道路地
図データ及び経路ネットワークデータを格納したディス
ク14から記憶データを読出すメモリドライブ15と、
距離センサ12により検出される走行距離及び方位セン
サ11により検出される走行方向変化量をそれぞれ積算
し、この積算データとメモリドライブ15から読出され
た道路地図データとの比較に基いて車両位置を検出する
ロケータ16と、所定範囲の道路地図の読み出し、経路
ネットワークデータを利用した最適経路の計算、車両の
誘導をするための表示用データの作成、音声出力装置1
8の制御、及びロケータ16の制御等の種々の制御を行
うコントローラ17と、ディスプレイ19と、初期デー
タ等を設定するためのタッチキー20とを有する。な
お、タッチキー20に代えてリモコンキーでもよい。
【0016】さらに詳細に説明すれば方位センサ11
は、車両の走行に伴なう方位の変化を検出するものであ
り、ジャイロ等を使用することが可能である。距離セン
サ12は、車両の速度、あるいは、車輪の回転数等に基
づく走行距離を検出するものであり、車輪速センサ、車
速センサ等が使用可能である。ロケータ16は、距離セ
ンサ12により検出される距離データ、及び方位センサ
11により検出される方位変化データをそれぞれ積算し
て走行軌跡データを算出し、走行軌跡データとディスク
14に格納されている道路のパターンとの比較(いわゆ
る地図マッチング法、特開昭64-53112号公報参照)に基
いて車両位置を検出する。なお、位置検出の精度をあげ
るためにビーコン受信機やGPS受信機を付加してもよ
い。
は、車両の走行に伴なう方位の変化を検出するものであ
り、ジャイロ等を使用することが可能である。距離セン
サ12は、車両の速度、あるいは、車輪の回転数等に基
づく走行距離を検出するものであり、車輪速センサ、車
速センサ等が使用可能である。ロケータ16は、距離セ
ンサ12により検出される距離データ、及び方位センサ
11により検出される方位変化データをそれぞれ積算し
て走行軌跡データを算出し、走行軌跡データとディスク
14に格納されている道路のパターンとの比較(いわゆ
る地図マッチング法、特開昭64-53112号公報参照)に基
いて車両位置を検出する。なお、位置検出の精度をあげ
るためにビーコン受信機やGPS受信機を付加してもよ
い。
【0017】ディスプレイ19は、CRT、液晶パネル
等の画面上にメニュー画面の表示、道路地図の表示、車
両の現在位置と方位の表示、最適経路の表示、目的地や
目印となる地点の表示、目的地までの方位と距離の表
示、複合交差点の形状拡大画面のウィンドウ表示等を行
うものである。また、ディスプレイ19には、透明のタ
ッチキー20が取付けられている。タッチキー20は、
初期設定メニュー画面上で最適経路の選定基準(最短時
間経路、最短距離経路等)、地図の倍率、目的地等を入
力するものである。すなわち、経路誘導装置と運転者と
の対話を仲介している。
等の画面上にメニュー画面の表示、道路地図の表示、車
両の現在位置と方位の表示、最適経路の表示、目的地や
目印となる地点の表示、目的地までの方位と距離の表
示、複合交差点の形状拡大画面のウィンドウ表示等を行
うものである。また、ディスプレイ19には、透明のタ
ッチキー20が取付けられている。タッチキー20は、
初期設定メニュー画面上で最適経路の選定基準(最短時
間経路、最短距離経路等)、地図の倍率、目的地等を入
力するものである。すなわち、経路誘導装置と運転者と
の対話を仲介している。
【0018】ディスク14は、道路地図(高速自動車国
道、都市高速道路、一般国道、主要地方道、一般都道府
県道、指定都市の一般市道、その他の生活道路を含む)
をメッシュ状に分割し、各メッシュ単位でノードとリン
クとを組み合わせたデータを記憶している。その他、鉄
道、川、地名欄、有名施設、運転者が予め登録した地
点、等高線等の表示用の背景データを含んでいてもよ
い。
道、都市高速道路、一般国道、主要地方道、一般都道府
県道、指定都市の一般市道、その他の生活道路を含む)
をメッシュ状に分割し、各メッシュ単位でノードとリン
クとを組み合わせたデータを記憶している。その他、鉄
道、川、地名欄、有名施設、運転者が予め登録した地
点、等高線等の表示用の背景データを含んでいてもよ
い。
【0019】前記メッシュは、日本道路地図を経度差1
度、緯度差40分で分割し縦横の距離を約80Km×80Kmとし
た第1次メッシュと、この第1次メッシュを縦横8等分
し縦横の距離を約10Km×10Kmとする第2次メッシュとの
二重構造を持っている。ここでノードとは、一般に、道
路の交差点や折曲点を特定するための座標位置のことで
あり、交差点を表わすノードを交差点ノード、道路の折
曲点(交差点を除く)を表わすノードを補間点ノードと
いうことがある。
度、緯度差40分で分割し縦横の距離を約80Km×80Kmとし
た第1次メッシュと、この第1次メッシュを縦横8等分
し縦横の距離を約10Km×10Kmとする第2次メッシュとの
二重構造を持っている。ここでノードとは、一般に、道
路の交差点や折曲点を特定するための座標位置のことで
あり、交差点を表わすノードを交差点ノード、道路の折
曲点(交差点を除く)を表わすノードを補間点ノードと
いうことがある。
【0020】各ノードを繋いだものがリンクである。リ
ンクデータはリンク番号、リンクの始点ノード及び終点
ノードのアドレス、リンクの距離、リンクを通過する方
向、その方向における所要時間、道路種別、道路幅、一
方通行や有料道路等の通行規制データ等からなる。この
ように、リンクデータの中にリンクの始点ノード及び終
点ノードのアドレスが入っていることから、リンクのみ
によっても地点を特定できる。なお、リンクによってリ
ンクの始点を特定する場合そのリンクを「出リンク」と
いい、リンクの終点を特定する場合そのリンクを「入リ
ンク」という。さらに、リンクデータにはリンクを通過
する方向が入っているので、1つのリンクを特定するこ
とにより、車両の進行方向も特定することができる。図
3は十字路を特定する4つの出リンクを、図4は十字路
を特定する4つの入リンクを例示している。以下の実施
例では、地点を特定するのに主に出リンクを用いるもの
とする。
ンクデータはリンク番号、リンクの始点ノード及び終点
ノードのアドレス、リンクの距離、リンクを通過する方
向、その方向における所要時間、道路種別、道路幅、一
方通行や有料道路等の通行規制データ等からなる。この
ように、リンクデータの中にリンクの始点ノード及び終
点ノードのアドレスが入っていることから、リンクのみ
によっても地点を特定できる。なお、リンクによってリ
ンクの始点を特定する場合そのリンクを「出リンク」と
いい、リンクの終点を特定する場合そのリンクを「入リ
ンク」という。さらに、リンクデータにはリンクを通過
する方向が入っているので、1つのリンクを特定するこ
とにより、車両の進行方向も特定することができる。図
3は十字路を特定する4つの出リンクを、図4は十字路
を特定する4つの入リンクを例示している。以下の実施
例では、地点を特定するのに主に出リンクを用いるもの
とする。
【0021】コントローラ17の詳細を図5に示す。コ
ントローラ17は、メモリドライブ15を通してディス
ク14から必要なデータを得るメモリ制御部21、音声
出力装置に電子的に記録された音声を発声させる音声制
御部25、ディスプレイ19に必要な画像を表示させる
表示制御部22、タッチキー20で設定された入力情報
を処理する入力処理部23、ロケータ16の算出した車
両位置をデータとして取り込む車両位置認識処理部2
4、ポテンシャル法により目的地から出発地までの最適
経路を計算する経路計算処理部26により構成されてい
る。
ントローラ17は、メモリドライブ15を通してディス
ク14から必要なデータを得るメモリ制御部21、音声
出力装置に電子的に記録された音声を発声させる音声制
御部25、ディスプレイ19に必要な画像を表示させる
表示制御部22、タッチキー20で設定された入力情報
を処理する入力処理部23、ロケータ16の算出した車
両位置をデータとして取り込む車両位置認識処理部2
4、ポテンシャル法により目的地から出発地までの最適
経路を計算する経路計算処理部26により構成されてい
る。
【0022】経路計算処理部26は、ディスク14から
取り出された出発地及び目的地を含む一定の範囲のリン
ク情報に基づいて、リンクテーブルと、各リンクに接続
するリンクを探索するためのアークテーブルとを作成
し、これらのテーブルに基づいて最適経路を計算するC
PU26aと、上限コスト(後述)の値を記憶するメモ
リ26bと、リンクテーブルとアークテーブルとピボッ
トテーブルとを蓄える主メモリ26cとを備えている。
なお、リンクテーブルとアークテーブルとが、請求項1
の「第1のテーブル」に相当し、ピボットテーブルが
「第2のテーブル」に相当するものである。
取り出された出発地及び目的地を含む一定の範囲のリン
ク情報に基づいて、リンクテーブルと、各リンクに接続
するリンクを探索するためのアークテーブルとを作成
し、これらのテーブルに基づいて最適経路を計算するC
PU26aと、上限コスト(後述)の値を記憶するメモ
リ26bと、リンクテーブルとアークテーブルとピボッ
トテーブルとを蓄える主メモリ26cとを備えている。
なお、リンクテーブルとアークテーブルとが、請求項1
の「第1のテーブル」に相当し、ピボットテーブルが
「第2のテーブル」に相当するものである。
【0023】リンクテーブルは、ディスク14から取り
出された出発地及び目的地を含む一定の範囲のリンクに
ついて、シーケンス番号、退出リンクのメッシュ番号、
進入リンクのメッシュ番号、アークテーブルへのポイン
タ、道路種別、そのリンクの経路上の前のリンク(以下
「前リンク」又は「進入リンク」という)へのポイン
タ、リンクコスト、リンク長及びトータルコストを記憶
している。
出された出発地及び目的地を含む一定の範囲のリンクに
ついて、シーケンス番号、退出リンクのメッシュ番号、
進入リンクのメッシュ番号、アークテーブルへのポイン
タ、道路種別、そのリンクの経路上の前のリンク(以下
「前リンク」又は「進入リンク」という)へのポイン
タ、リンクコスト、リンク長及びトータルコストを記憶
している。
【0024】前記シーケンス番号は0から昇順に設定さ
れた整数である。リンクコストとは、リンクを走行する
ときの時間を秒で表現したものである。実際には、リン
クコストは渋滞などで変わるものであるが、ここでは法
定速度走行時の所要時間を使う。トータルコストは経路
計算の途中経過を考慮した当該リンクへの到達コストで
ある。さらに正確には、あるリンクのトータルコストと
は、出発値から当該リンクまでつながった経路上の各リ
ンクのアークコストを総和したものとなる。ここで、ア
ークというのは、図6(a) に示すように、リンクの始端
ノードの直後から次のリンクの始端ノードの直後までを
いう。アークコストというのは、図6(b)に示すよう
に、当該リンクのリンクコストと当該リンクから退出す
るための右左折又は直進コストの和である。例えば、進
入禁止の場合、リンクコストは有限であっても直進コス
トは無限大となるので、アークコストも無限大となる。
信号がある場合、アークコストは、リンクコストに右左
折又は直進時の平均的な信号待ち時間を考慮したものを
足したコストとなる。
れた整数である。リンクコストとは、リンクを走行する
ときの時間を秒で表現したものである。実際には、リン
クコストは渋滞などで変わるものであるが、ここでは法
定速度走行時の所要時間を使う。トータルコストは経路
計算の途中経過を考慮した当該リンクへの到達コストで
ある。さらに正確には、あるリンクのトータルコストと
は、出発値から当該リンクまでつながった経路上の各リ
ンクのアークコストを総和したものとなる。ここで、ア
ークというのは、図6(a) に示すように、リンクの始端
ノードの直後から次のリンクの始端ノードの直後までを
いう。アークコストというのは、図6(b)に示すよう
に、当該リンクのリンクコストと当該リンクから退出す
るための右左折又は直進コストの和である。例えば、進
入禁止の場合、リンクコストは有限であっても直進コス
トは無限大となるので、アークコストも無限大となる。
信号がある場合、アークコストは、リンクコストに右左
折又は直進時の平均的な信号待ち時間を考慮したものを
足したコストとなる。
【0025】また、リンクテーブルは、表には示してい
ないが、各リンクがピボットテーブルに登録されている
かどうかを示すビットを持っている。アークテーブル
は、シーケンス番号ごとにアークコスト、別メッシュフ
ラグ、同じリンクから出るアークのうち最後のアークか
どうかを示すアーク終端識別子、当該アークに接続する
接続リンクのリンクテーブルへのポインタ(リンクテー
ブルのシーケンス番号で示す)を記憶している。
ないが、各リンクがピボットテーブルに登録されている
かどうかを示すビットを持っている。アークテーブル
は、シーケンス番号ごとにアークコスト、別メッシュフ
ラグ、同じリンクから出るアークのうち最後のアークか
どうかを示すアーク終端識別子、当該アークに接続する
接続リンクのリンクテーブルへのポインタ(リンクテー
ブルのシーケンス番号で示す)を記憶している。
【0026】前記アークコストは、既に説明したとおり
であるが、例えばビーコン受信機を通して道路の渋滞情
報が入ってくれば、それを考慮した変更を行うこともで
きる。また、運転者が自分の好みに応じてコストを変更
することもできる。例えば、特定の種別の道路(高速道
路やフェリーなど)についてのみコストを上げたり下げ
たりすることができる。
であるが、例えばビーコン受信機を通して道路の渋滞情
報が入ってくれば、それを考慮した変更を行うこともで
きる。また、運転者が自分の好みに応じてコストを変更
することもできる。例えば、特定の種別の道路(高速道
路やフェリーなど)についてのみコストを上げたり下げ
たりすることができる。
【0027】アーク終端識別子は、例えば1つのリンク
から3つのアークが出る場合を想定すると、1番目と2
番目とのアークについてはアーク終端識別子は0が割り
付けられ、3番目のアークについて1が割り付けられ
る。したがって、アークテーブルを用いて1つのリンク
に接続されるリンクを探索するとき、アーク終端識別子
が0のうちは、他の接続リンクが存在し、アーク終端識
別子が1になれば、もうこれ以上接続リンクはないこと
が分かるものである。
から3つのアークが出る場合を想定すると、1番目と2
番目とのアークについてはアーク終端識別子は0が割り
付けられ、3番目のアークについて1が割り付けられ
る。したがって、アークテーブルを用いて1つのリンク
に接続されるリンクを探索するとき、アーク終端識別子
が0のうちは、他の接続リンクが存在し、アーク終端識
別子が1になれば、もうこれ以上接続リンクはないこと
が分かるものである。
【0028】ピボットテーブルは、リンクテーブルに記
憶されている多数のリンクのうち、現在計算に必要なリ
ンクのシーケンス番号等を記憶している先入れ先出し型
のテーブルである。さらに具体的な経路ネットワークを
想定して説明する。図7は、出発地と目的地とを含む経
路計算の対象となる範囲内のノードをA,B,C,D,
E,Fとし、Aを出発地ノードとし、Bを目的地ノード
としたリンク経路図を示す。全リンク数は、A→B,A
→C,B→A,B→C,B→E,B→F,C→A,C→
B,C→D,D→E,E→Bの11本である。
憶されている多数のリンクのうち、現在計算に必要なリ
ンクのシーケンス番号等を記憶している先入れ先出し型
のテーブルである。さらに具体的な経路ネットワークを
想定して説明する。図7は、出発地と目的地とを含む経
路計算の対象となる範囲内のノードをA,B,C,D,
E,Fとし、Aを出発地ノードとし、Bを目的地ノード
としたリンク経路図を示す。全リンク数は、A→B,A
→C,B→A,B→C,B→E,B→F,C→A,C→
B,C→D,D→E,E→Bの11本である。
【0029】記憶されたテーブルの構造をそれぞれ表
1、表2に示す。表1はリンクテーブルであり、各リン
クについてシーケンス番号、退出リンクのメッシュ番
号、進入リンクのメッシュ番号、アークテーブルへのポ
インタ、道路種別又は前リンクへのポインタ、リンクコ
スト、リンク長、トータルコストの欄を備えている。
1、表2に示す。表1はリンクテーブルであり、各リン
クについてシーケンス番号、退出リンクのメッシュ番
号、進入リンクのメッシュ番号、アークテーブルへのポ
インタ、道路種別又は前リンクへのポインタ、リンクコ
スト、リンク長、トータルコストの欄を備えている。
【0030】
【表1】
【0031】表2は、アークテーブルであり、シーケン
ス番号、アークコスト、別メッシュフラグ、アーク終端
識別子、リンクテーブルへのポインタの欄を備えてい
る。
ス番号、アークコスト、別メッシュフラグ、アーク終端
識別子、リンクテーブルへのポインタの欄を備えてい
る。
【0032】
【表2】
【0033】なお、リンクテーブル、アークテーブルに
記入された数値は、リンクテーブル、アークテーブルの
実際の記憶状態を示すものではなく、後に経路計算手順
を説明するための都合で書き入れたものにすぎないこと
を断っておく。次に、リンクテーブル、アークテーブル
及びピボットテーブルを利用した経路探索手法を説明す
る。以下の計算では、出発地から目的地までツリーを作
って経路計算する方法を説明するが、これとは反対に目
的地から出発地までツリーを作って経路計算する方法で
もよい。
記入された数値は、リンクテーブル、アークテーブルの
実際の記憶状態を示すものではなく、後に経路計算手順
を説明するための都合で書き入れたものにすぎないこと
を断っておく。次に、リンクテーブル、アークテーブル
及びピボットテーブルを利用した経路探索手法を説明す
る。以下の計算では、出発地から目的地までツリーを作
って経路計算する方法を説明するが、これとは反対に目
的地から出発地までツリーを作って経路計算する方法で
もよい。
【0034】図7を参照して、リンクA→B又はリンク
A→Cから出発するとする。目的地はノードB付近であ
るとする。リンクテーブルのリンクA→Bに対応するシ
ーケンス番号0の欄を見ると、アークテーブルへのポイ
ンタは0を示しているので、アークテーブルのシーケン
ス番号0の欄を見る。リンクテーブルへのポインタは4
となっている。そこで、リンクテーブルのシーケンス番
号4の欄を見ると、シーケンス番号4のリンクは始端ノ
ードBと終端ノードEによって特定されるリンクB→E
である。したがって、リンクA→BにリンクB→Eが接
続されることが分かる。アークテーブルのアーク終端識
別子は0となっているので、リンクA→Bに続くアーク
が他にも存在する。そこで、アークテーブルを下に辿っ
て、シーケンス番号1の欄を見る。リンクテーブルへの
ポインタは3となっているので、リンクテーブルのシー
ケンス番号3の欄を見ると、リンクB→Cである。した
がって、リンクA→BにリンクB→Cも接続されること
が分かる。さらに、アークテーブルを下に辿って、シー
ケンス番号2の欄を見る。リンクテーブルへのポインタ
は12となっているので、リンクテーブルのシーケンス
番号12の欄を見ると、リンクB→Fである。したがっ
て、リンクA→BにリンクB→Fも接続されることが分
かる。ここで、アーク終端識別子は1となっているの
で、リンクA→Bに接続するリンクの探索はこれで終了
となる。
A→Cから出発するとする。目的地はノードB付近であ
るとする。リンクテーブルのリンクA→Bに対応するシ
ーケンス番号0の欄を見ると、アークテーブルへのポイ
ンタは0を示しているので、アークテーブルのシーケン
ス番号0の欄を見る。リンクテーブルへのポインタは4
となっている。そこで、リンクテーブルのシーケンス番
号4の欄を見ると、シーケンス番号4のリンクは始端ノ
ードBと終端ノードEによって特定されるリンクB→E
である。したがって、リンクA→BにリンクB→Eが接
続されることが分かる。アークテーブルのアーク終端識
別子は0となっているので、リンクA→Bに続くアーク
が他にも存在する。そこで、アークテーブルを下に辿っ
て、シーケンス番号1の欄を見る。リンクテーブルへの
ポインタは3となっているので、リンクテーブルのシー
ケンス番号3の欄を見ると、リンクB→Cである。した
がって、リンクA→BにリンクB→Cも接続されること
が分かる。さらに、アークテーブルを下に辿って、シー
ケンス番号2の欄を見る。リンクテーブルへのポインタ
は12となっているので、リンクテーブルのシーケンス
番号12の欄を見ると、リンクB→Fである。したがっ
て、リンクA→BにリンクB→Fも接続されることが分
かる。ここで、アーク終端識別子は1となっているの
で、リンクA→Bに接続するリンクの探索はこれで終了
となる。
【0035】次に、リンクB→Eに接続されるリンクを
探索する。リンクテーブルのシーケンス番号4の欄を見
ると、アークテーブルへのポインタはないので探索はそ
こで打ち切られる。次に、リンクB→Cに接続されるリ
ンクを探索する。リンクテーブルのシーケンス番号3の
欄を見ると、アークテーブルへのポインタは6となって
いる。そこで、アークテーブルのシーケンス番号6の欄
を見ると、リンクはリンクC→Aである。アークテーブ
ルのシーケンス番号6の欄のアーク終端識別子は0とな
っているので、リンクB→Cに接続される他のアークが
存在する。そこで、アークテーブルのシーケンス番号7
の欄を見ると、リンクはリンクC→Dである。アークテ
ーブルのシーケンス番号7の欄のアーク終端識別子は1
となっているので、探索は、そこで打ち切る。
探索する。リンクテーブルのシーケンス番号4の欄を見
ると、アークテーブルへのポインタはないので探索はそ
こで打ち切られる。次に、リンクB→Cに接続されるリ
ンクを探索する。リンクテーブルのシーケンス番号3の
欄を見ると、アークテーブルへのポインタは6となって
いる。そこで、アークテーブルのシーケンス番号6の欄
を見ると、リンクはリンクC→Aである。アークテーブ
ルのシーケンス番号6の欄のアーク終端識別子は0とな
っているので、リンクB→Cに接続される他のアークが
存在する。そこで、アークテーブルのシーケンス番号7
の欄を見ると、リンクはリンクC→Dである。アークテ
ーブルのシーケンス番号7の欄のアーク終端識別子は1
となっているので、探索は、そこで打ち切る。
【0036】次に、リンクB→Fに接続されるリンクを
探索する。このリンクは計算終了リンクであり、アーク
テーブルへのポインタはないので探索はそこで打ち切ら
れる。次に、リンクC→Dに接続されるリンクを探索し
て、リンクD→Eを見つける。
探索する。このリンクは計算終了リンクであり、アーク
テーブルへのポインタはないので探索はそこで打ち切ら
れる。次に、リンクC→Dに接続されるリンクを探索し
て、リンクD→Eを見つける。
【0037】以上のようにして接続リンクがツリーのよ
うに次々と求められる。求められたツリーは図8に示す
ようなものである。図8(a) はリンクA→Bから広がる
ツリーを示し、図8(b) はリンクA→Cから広がるツリ
ーを示す。ツリーは無限に広がるが、後述するように処
理に工夫を加えることにより、ツリーの途中で計算を打
ち切るようにしている。
うに次々と求められる。求められたツリーは図8に示す
ようなものである。図8(a) はリンクA→Bから広がる
ツリーを示し、図8(b) はリンクA→Cから広がるツリ
ーを示す。ツリーは無限に広がるが、後述するように処
理に工夫を加えることにより、ツリーの途中で計算を打
ち切るようにしている。
【0038】以上のようにしてリンクを次々と探索して
いく方法を説明したが、経路計算処理では、経路の探索
に加えて、アークコストを積算していって、最もコスト
の少ない最適な経路を計算する必要がある。そこで最適
経路計算の仕方を、フローチャート(図1,9)を用い
て詳細に説明する。
いく方法を説明したが、経路計算処理では、経路の探索
に加えて、アークコストを積算していって、最もコスト
の少ない最適な経路を計算する必要がある。そこで最適
経路計算の仕方を、フローチャート(図1,9)を用い
て詳細に説明する。
【0039】まず、CPU26aは、出発地、目的地を
含む一定の範囲のリンクデータをディスク14から取り
出し、所定のプログラムに基づいて、リンクテーブルを
作成する。このとき、出発地、目的地を含む一定の範囲
が複数のメッシュを含むならば、メッシュ番号を連番に
振り直して記憶する。こうすることにより地図管理を容
易にし、高速のアクセスが可能になる。
含む一定の範囲のリンクデータをディスク14から取り
出し、所定のプログラムに基づいて、リンクテーブルを
作成する。このとき、出発地、目的地を含む一定の範囲
が複数のメッシュを含むならば、メッシュ番号を連番に
振り直して記憶する。こうすることにより地図管理を容
易にし、高速のアクセスが可能になる。
【0040】リンクテーブルの作成時、リンクテーブル
のトータルコストの値はすべて無限大(実際には、予想
されるトータルコストより2桁程度大きな値に設定すれ
ば十分である。)、前リンクなしとして初期設定する。
以下、図7の経路ネットワークを想定し、出発地リンク
(計算開始リンクという)をA→B及びA→C、目的地
リンク(計算終了リンクという)をB→Fとして最適経
路を計算する。
のトータルコストの値はすべて無限大(実際には、予想
されるトータルコストより2桁程度大きな値に設定すれ
ば十分である。)、前リンクなしとして初期設定する。
以下、図7の経路ネットワークを想定し、出発地リンク
(計算開始リンクという)をA→B及びA→C、目的地
リンク(計算終了リンクという)をB→Fとして最適経
路を計算する。
【0041】CPU26aは、計算開始リンクA→B及
びA→Cを取り出し、これらの計算開始リンクA→B及
びA→Cをピボットテーブルに登録する(ステップN
1)。ピボットテーブルに登録されたリンクを、以下
「ピボットリンク」という。これらのピボットリンクに
対応するトータルコストをリンクテーブル上で0にし、
メモリ26bの上限コストは無限大にしておく(ステッ
プN2)。
びA→Cを取り出し、これらの計算開始リンクA→B及
びA→Cをピボットテーブルに登録する(ステップN
1)。ピボットテーブルに登録されたリンクを、以下
「ピボットリンク」という。これらのピボットリンクに
対応するトータルコストをリンクテーブル上で0にし、
メモリ26bの上限コストは無限大にしておく(ステッ
プN2)。
【0042】CPU26aは、ピボットテーブルを参照
し、未処理ピボットリンクがあるかどうかを判定する
(ステップN3)。最初は何の処理もしていないので、
未処理ピボットリンク例えば計算開始リンクA→Bがピ
ボットテーブルに存在する。これを未処理ピボットリン
クとして取り出す(ステップN4)。そして当該リンク
A→Bが計算終了リンクであるかどうか判断する(ステ
ップN5)。計算終了リンクでなければ、リンクA→B
のトータルコストが上限コストを越えているかどうか判
定する(ステップN8)。リンクA→Bのトータルコス
トは、リンクテーブル上で初期値0に設定され、上限コ
ストは無限大に設定されているので、ステップN8での
判定は“NO”になり、ステップN9に進む。ステップ
N9では、全アークの探索が終了したかどうかを判断す
る。探索が終了していなければ、CPU26aは、リン
クA→Bにつながるリンクを探索するため、リンクA→
Bに対応するリンクテーブルを参照し、アークテーブル
へのポインタとアークコストを獲得する。その結果、前
述したように、アークテーブルでまずリンクB→Eが探
し出される。リンクB→Eのアークコストは、リンクA
→Bのリンクコスト70に交差点Bでの右折コスト2を
加えたもの72になる。リンクA→Bのトータルコスト
(0になっている)に前記アークコスト72を加え、こ
れをリンクB→Eのトータルコスト72とする(以上図
9のステップN11)。このトータルコストが、リンク
テーブルに書込まれた接続リンクB→Eのトータルコス
ト(その初期値は無限大となっている)より小さいかど
うか判定する(ステップN12)。
し、未処理ピボットリンクがあるかどうかを判定する
(ステップN3)。最初は何の処理もしていないので、
未処理ピボットリンク例えば計算開始リンクA→Bがピ
ボットテーブルに存在する。これを未処理ピボットリン
クとして取り出す(ステップN4)。そして当該リンク
A→Bが計算終了リンクであるかどうか判断する(ステ
ップN5)。計算終了リンクでなければ、リンクA→B
のトータルコストが上限コストを越えているかどうか判
定する(ステップN8)。リンクA→Bのトータルコス
トは、リンクテーブル上で初期値0に設定され、上限コ
ストは無限大に設定されているので、ステップN8での
判定は“NO”になり、ステップN9に進む。ステップ
N9では、全アークの探索が終了したかどうかを判断す
る。探索が終了していなければ、CPU26aは、リン
クA→Bにつながるリンクを探索するため、リンクA→
Bに対応するリンクテーブルを参照し、アークテーブル
へのポインタとアークコストを獲得する。その結果、前
述したように、アークテーブルでまずリンクB→Eが探
し出される。リンクB→Eのアークコストは、リンクA
→Bのリンクコスト70に交差点Bでの右折コスト2を
加えたもの72になる。リンクA→Bのトータルコスト
(0になっている)に前記アークコスト72を加え、こ
れをリンクB→Eのトータルコスト72とする(以上図
9のステップN11)。このトータルコストが、リンク
テーブルに書込まれた接続リンクB→Eのトータルコス
ト(その初期値は無限大となっている)より小さいかど
うか判定する(ステップN12)。
【0043】最初は必ず小さくなっているので、ステッ
プN13に進み、接続リンクB→Eのトータルコストを
リンクテーブル上で書き換える(ステップN13)。次
に、リンクB→Eがピボットテーブルに存在するかどう
か調べる(ステップN14)。この調査は、ピボットテ
ーブルのリンクを1本1本調べると時間がかかるので、
前述したリンクテーブル上の所定のビットに基づいて調
べるのである。ピボットテーブルに存在していなけれ
ば、リンクB→Eをピボットテーブルに登録する(ステ
ップN15)。
プN13に進み、接続リンクB→Eのトータルコストを
リンクテーブル上で書き換える(ステップN13)。次
に、リンクB→Eがピボットテーブルに存在するかどう
か調べる(ステップN14)。この調査は、ピボットテ
ーブルのリンクを1本1本調べると時間がかかるので、
前述したリンクテーブル上の所定のビットに基づいて調
べるのである。ピボットテーブルに存在していなけれ
ば、リンクB→Eをピボットテーブルに登録する(ステ
ップN15)。
【0044】そしてリンクテーブル上で前リンクである
リンクA→Bへのポインタを記録する(ステップN1
6)。その後、ステップN9に戻り、当該リンクA→B
につながる他のリンクを探索するため、アークテーブル
のシーケンス番号1の欄を参照する。その結果、リンク
B→Cが探し出される。リンクB→Cのアークコスト
は、リンクA→Bのリンクコスト70に交差点Bでの右
折コスト2を加えたもの72になる。そして、リンクA
→Bのトータルコスト(0になっている)に前記アーク
コスト72を加え、リンクB→Cのトータルコストとす
る(ステップN11)。そして、このトータルコスト7
2をリンクテーブルに書込みまれたリンクB→Cのトー
タルコスト(その初期値は無限大になっている)より小
さいかどうか比較し(ステップN12)、小さければ、
CPU26aは、接続リンクB→Cのトータルコストを
リンクテーブル上で書き換えて72にする(ステップN
13)。次に、リンクB→Cがピボットテーブルに存在
するかどうか調べ(ステップN14)、ピボットテーブ
ルに存在していなければ、リンクB→Cを登録する(ス
テップN15)。そしてリンクテーブル上で前リンクで
あるリンクA→Bへのポインタを記録する(ステップN
16)。
リンクA→Bへのポインタを記録する(ステップN1
6)。その後、ステップN9に戻り、当該リンクA→B
につながる他のリンクを探索するため、アークテーブル
のシーケンス番号1の欄を参照する。その結果、リンク
B→Cが探し出される。リンクB→Cのアークコスト
は、リンクA→Bのリンクコスト70に交差点Bでの右
折コスト2を加えたもの72になる。そして、リンクA
→Bのトータルコスト(0になっている)に前記アーク
コスト72を加え、リンクB→Cのトータルコストとす
る(ステップN11)。そして、このトータルコスト7
2をリンクテーブルに書込みまれたリンクB→Cのトー
タルコスト(その初期値は無限大になっている)より小
さいかどうか比較し(ステップN12)、小さければ、
CPU26aは、接続リンクB→Cのトータルコストを
リンクテーブル上で書き換えて72にする(ステップN
13)。次に、リンクB→Cがピボットテーブルに存在
するかどうか調べ(ステップN14)、ピボットテーブ
ルに存在していなければ、リンクB→Cを登録する(ス
テップN15)。そしてリンクテーブル上で前リンクで
あるリンクA→Bへのポインタを記録する(ステップN
16)。
【0045】その後、ステップN9に戻り、リンクA→
Bに対応するアークテーブルのシーケンス番号1の行の
アーク終端識別子を参照すると、0なので、接続リンク
が他にも存在する。その結果、リンクB→Fが探し出さ
れる。このリンクB→Fについても、前記と同じように
してアークコスト70を求め、ノードBでの直進コスト
1(直進コストが0でないのは交差点の信号待ち等を考
慮したからである)を加えてトータルコスト71とし
(ステップN11)、接続リンクB→Fのトータルコス
トをリンクテーブル上で書き換えて72にする(ステッ
プN13)。さらに、リンクB→Fをピボットテーブル
に登録し(ステップN15)、リンクテーブル上で前リ
ンクであるリンクA→Bへのポインタを記録する(ステ
ップN16)。
Bに対応するアークテーブルのシーケンス番号1の行の
アーク終端識別子を参照すると、0なので、接続リンク
が他にも存在する。その結果、リンクB→Fが探し出さ
れる。このリンクB→Fについても、前記と同じように
してアークコスト70を求め、ノードBでの直進コスト
1(直進コストが0でないのは交差点の信号待ち等を考
慮したからである)を加えてトータルコスト71とし
(ステップN11)、接続リンクB→Fのトータルコス
トをリンクテーブル上で書き換えて72にする(ステッ
プN13)。さらに、リンクB→Fをピボットテーブル
に登録し(ステップN15)、リンクテーブル上で前リ
ンクであるリンクA→Bへのポインタを記録する(ステ
ップN16)。
【0046】その後、ステップN9に戻り、リンクA→
Bに対応するアークテーブルのシーケンス番号2の行の
アーク終端識別子を参照すると1なので、接続リンクが
他に存在しないことが分かる。その結果、ステップN3
に戻り、ピボットテーブルに未処理ピボットリンクがあ
るかどうかを判定する。未処理ピボットリンクとして計
算開始リンクA→Cがピボットテーブルに存在するの
で、これを取り出し(ステップN4)、計算終了リンク
であるかどうか判断し(ステップN5)、計算終了リン
クでなければ、ステップN8を経由してステップN9に
進む。ステップN9では、当該リンクA→Cにつながる
リンクを探索するが、この場合リンクC→B,C→Dが
探索される。トータルコストの算出と書き換え、ピボッ
トテーブルへの登録、前リンクへのポインタの登録は、
前に述べたのと同じ方法なので説明を省略する。
Bに対応するアークテーブルのシーケンス番号2の行の
アーク終端識別子を参照すると1なので、接続リンクが
他に存在しないことが分かる。その結果、ステップN3
に戻り、ピボットテーブルに未処理ピボットリンクがあ
るかどうかを判定する。未処理ピボットリンクとして計
算開始リンクA→Cがピボットテーブルに存在するの
で、これを取り出し(ステップN4)、計算終了リンク
であるかどうか判断し(ステップN5)、計算終了リン
クでなければ、ステップN8を経由してステップN9に
進む。ステップN9では、当該リンクA→Cにつながる
リンクを探索するが、この場合リンクC→B,C→Dが
探索される。トータルコストの算出と書き換え、ピボッ
トテーブルへの登録、前リンクへのポインタの登録は、
前に述べたのと同じ方法なので説明を省略する。
【0047】その後ステップN3に戻り、次に未処理ピ
ボットリンクとしてリンクB→Eを取り出し、当該リン
クB→Eにつながるリンクを探索するが、存在しないの
で、次にピボットリンクB→Cについて、当該リンクB
→CにつながるリンクC→Aを探索する。その結果、リ
ンクC→Aについてアークコスト42が求められ、前リ
ンクB→Cのトータルコスト72に加算されて、値11
4が、リンクテーブル上で接続リンクC→Aのトータル
コストとして設定される。さらにリンクC→Aはピボッ
トテーブルに登録され、前リンクであるリンクB→Cへ
のポインタが記録される。
ボットリンクとしてリンクB→Eを取り出し、当該リン
クB→Eにつながるリンクを探索するが、存在しないの
で、次にピボットリンクB→Cについて、当該リンクB
→CにつながるリンクC→Aを探索する。その結果、リ
ンクC→Aについてアークコスト42が求められ、前リ
ンクB→Cのトータルコスト72に加算されて、値11
4が、リンクテーブル上で接続リンクC→Aのトータル
コストとして設定される。さらにリンクC→Aはピボッ
トテーブルに登録され、前リンクであるリンクB→Cへ
のポインタが記録される。
【0048】次に、当該リンクB→Cにつながる他のリ
ンクC→Dも探索され、その結果、リンクC→Dについ
てアークコスト41が求められ、前リンクB→Cのトー
タルコスト72に加算されて、値113が求められる。
ここでステップN12において、リンクテーブル上の接
続リンクC→Dのトータルコストと比較される。前のト
ータルコストは26であるので、ステップN12では
「非小」の判定がなされるので、コスト書換えやリンク
接続替え等の処理はせず、ステップN9に戻る。したが
って、リンクA→B,B→C,C→Dと続く経路の探索
はここで打ち切られることになる。
ンクC→Dも探索され、その結果、リンクC→Dについ
てアークコスト41が求められ、前リンクB→Cのトー
タルコスト72に加算されて、値113が求められる。
ここでステップN12において、リンクテーブル上の接
続リンクC→Dのトータルコストと比較される。前のト
ータルコストは26であるので、ステップN12では
「非小」の判定がなされるので、コスト書換えやリンク
接続替え等の処理はせず、ステップN9に戻る。したが
って、リンクA→B,B→C,C→Dと続く経路の探索
はここで打ち切られることになる。
【0049】ステップN9では、当該リンクB→Cにつ
ながる他のリンクを探索するが、存在しないので、ステ
ップN3に戻り、次に未処理ピボットリンクであるリン
クB→Fを取り出す(ステップN4)。そして、リンク
B→Fについて、当該リンクB→Fが計算終了リンクで
あるかどうか判断する(ステップN5)。リンクB→F
は、計算終了リンクであるので、ステップN6に進み、
そのトータルコストを上限コストと比較する。リンクB
→Fのトータルコストは、既に述べたように71であ
り、上限コストの初期値は無限大なので、ステップN7
に進み、このトータルコスト71で上限コストを置き換
える。したがって、以後、上限コストとして71の値が
設定される。そして、ステップN8でリンクB→Fのト
ータルコストがこの新しい上限コストと比較され、 (リンクB→Fのトータルコスト)>上限コスト かどうか調べられる。いまは等号(=)が成り立つの
で、ステップN8で“NO”と判断され、ステップN3
に戻る。
ながる他のリンクを探索するが、存在しないので、ステ
ップN3に戻り、次に未処理ピボットリンクであるリン
クB→Fを取り出す(ステップN4)。そして、リンク
B→Fについて、当該リンクB→Fが計算終了リンクで
あるかどうか判断する(ステップN5)。リンクB→F
は、計算終了リンクであるので、ステップN6に進み、
そのトータルコストを上限コストと比較する。リンクB
→Fのトータルコストは、既に述べたように71であ
り、上限コストの初期値は無限大なので、ステップN7
に進み、このトータルコスト71で上限コストを置き換
える。したがって、以後、上限コストとして71の値が
設定される。そして、ステップN8でリンクB→Fのト
ータルコストがこの新しい上限コストと比較され、 (リンクB→Fのトータルコスト)>上限コスト かどうか調べられる。いまは等号(=)が成り立つの
で、ステップN8で“NO”と判断され、ステップN3
に戻る。
【0050】さらに、未処理ピボットリンクであるリン
クC→Bが取り出される(ステップN4)。そして、リ
ンクC→Bについて、当該リンクC→Bにつながるリン
クが探索され、トータルコストの算出と書き換え、ピボ
ットテーブルへの登録、前リンクへのポインタの登録
が、前に述べたのと同様にして行われる。以下、いまま
でに述べたのと同様の手順により、図8のツリーを構成
するリンクが次々と探索され、トータルコストが条件に
応じて書き換えられていく。
クC→Bが取り出される(ステップN4)。そして、リ
ンクC→Bについて、当該リンクC→Bにつながるリン
クが探索され、トータルコストの算出と書き換え、ピボ
ットテーブルへの登録、前リンクへのポインタの登録
が、前に述べたのと同様にして行われる。以下、いまま
でに述べたのと同様の手順により、図8のツリーを構成
するリンクが次々と探索され、トータルコストが条件に
応じて書き換えられていく。
【0051】ここで例えば、リンクC→Dにつながるリ
ンクD→Eを探索する場合を考えると、そのトータルコ
ストは、リンクC→Dのトータルコストである26と、
リンクD→Eのアークコストである61(リンクC→D
のリンクコスト60に直進コスト1を加えたもの)との
和87である。したがって、リンクD→Eについて、ス
テップN8に判定をすれば、不等式 (リンクD→Eのトータルコスト)87>上限コスト7
1 が成立し、ステップN8で“YES”の判定がなされ、
リンクD→Eにつながるリンク例えばリンクE→Bは探
索されない。つまり、いったん上限コストが有限値に設
定されると、それ以上のトータルコストを持つリンクに
ついては、接続リンクの探索が打ち切られる。したがっ
て、無駄なリンクの探索をしなくて済むので、経路計算
時間が短縮化される。
ンクD→Eを探索する場合を考えると、そのトータルコ
ストは、リンクC→Dのトータルコストである26と、
リンクD→Eのアークコストである61(リンクC→D
のリンクコスト60に直進コスト1を加えたもの)との
和87である。したがって、リンクD→Eについて、ス
テップN8に判定をすれば、不等式 (リンクD→Eのトータルコスト)87>上限コスト7
1 が成立し、ステップN8で“YES”の判定がなされ、
リンクD→Eにつながるリンク例えばリンクE→Bは探
索されない。つまり、いったん上限コストが有限値に設
定されると、それ以上のトータルコストを持つリンクに
ついては、接続リンクの探索が打ち切られる。したがっ
て、無駄なリンクの探索をしなくて済むので、経路計算
時間が短縮化される。
【0052】次に、例えば、リンクC→Bにつながるリ
ンクB→Fを探索する場合を考えると、そのトータルコ
ストは、リンクC→Bのトータルコストである26と、
リンクB→Fのアークコストである36(リンクC→B
のリンクコスト35に直進コスト1を加えたもの)との
和62である。当該リンクB→Fは、計算終了リンクで
あり、ステップN6においてそのトータルコストが上限
コスト71と比較される。
ンクB→Fを探索する場合を考えると、そのトータルコ
ストは、リンクC→Bのトータルコストである26と、
リンクB→Fのアークコストである36(リンクC→B
のリンクコスト35に直進コスト1を加えたもの)との
和62である。当該リンクB→Fは、計算終了リンクで
あり、ステップN6においてそのトータルコストが上限
コスト71と比較される。
【0053】(トータルコスト62)<71 の関係がなりたつので、ステップN7において上限コス
トとして62が新たに設定される。したがって、以後の
処理においては、この低い方の値62が上限コストとな
る。この意味は、一度計算終了リンクが探索され、その
トータルコストが上限コストとして設定された後であっ
ても、それ以下のトータルコストを持つ計算終了リンク
までの経路(近道)が探索されると、以後、この低い方
のトータルコストが上限コストとなることである。した
がって、常に、最短コストの経路を探し出すことができ
る。
トとして62が新たに設定される。したがって、以後の
処理においては、この低い方の値62が上限コストとな
る。この意味は、一度計算終了リンクが探索され、その
トータルコストが上限コストとして設定された後であっ
ても、それ以下のトータルコストを持つ計算終了リンク
までの経路(近道)が探索されると、以後、この低い方
のトータルコストが上限コストとなることである。した
がって、常に、最短コストの経路を探し出すことができ
る。
【0054】最後に、ステップN3において、ピボット
リンクがすべて処理済みとなると、経路の探索は終了し
たことになる。最後に、計算終了リンクB→Fの前リン
クを辿っていくことにより出発地から目的地に到る経路
が求められる。以上のようにして、最終的には、リンク
A→C,C→B,B→Fが最適経路として確定する。
リンクがすべて処理済みとなると、経路の探索は終了し
たことになる。最後に、計算終了リンクB→Fの前リン
クを辿っていくことにより出発地から目的地に到る経路
が求められる。以上のようにして、最終的には、リンク
A→C,C→B,B→Fが最適経路として確定する。
【0055】計算終了リンクB→Fのトータルコスト欄
を参照すると、そのトータルコスト62が出発地から目
的地までの最適経路コストとなる。
を参照すると、そのトータルコスト62が出発地から目
的地までの最適経路コストとなる。
【0056】
【発明の効果】以上のように、本発明の経路計算方法及
び装置によれば、探索が一度計算終了リンクまで到達す
れば、以後、その計算終了リンクまで到達するのに要し
たコストを超えるコストの経路については、探索が打ち
切られるので、ループ回数を減少させることができ、計
算処理時間を短くすることができる。
び装置によれば、探索が一度計算終了リンクまで到達す
れば、以後、その計算終了リンクまで到達するのに要し
たコストを超えるコストの経路については、探索が打ち
切られるので、ループ回数を減少させることができ、計
算処理時間を短くすることができる。
【図1】本発明の最適経路計算の方法を説明するフロー
チャートである。
チャートである。
【図2】本発明の経路計算方法を実行するナビゲーショ
ン装置を示すブロック図である。
ン装置を示すブロック図である。
【図3】十字路における出リンクの例を示す図である。
【図4】十字路における入リンクの例を示す図である。
【図5】コントローラの詳細構成図である。
【図6】トータルコストを説明するための簡単なリンク
構成図である。
構成図である。
【図7】出発地と目的地とを含む経路計算の対象とした
リンク構成図である。
リンク構成図である。
【図8】接続リンクを次々と求めることによって得られ
たリンクのツリーを示す図である。
たリンクのツリーを示す図である。
【図9】最適経路計算の方法を説明するフローチャート
(図1の続き)である。
(図1の続き)である。
14 ディスク 17 コントローラ 26 経路計算処理部 26a CPU 26b 初回探索フラグ 26c 主メモリ
───────────────────────────────────────────────────── フロントページの続き (72)発明者 平野 和夫 大阪市此花区島屋一丁目1番3号 住友 電気工業株式会社大阪製作所内 (56)参考文献 特開 平2−184998(JP,A) 特開 平4−372985(JP,A) (58)調査した分野(Int.Cl.7,DB名) G01C 21/00 G08G 1/0969
Claims (2)
- 【請求項1】経路ネットワークを構成する各リンクのコ
スト及びリンク相互の接続関係を記憶した経路ネットワ
ークメモリと、 リンクごとに、このリンクの次に接続される1つ又は複
数の接続リンクと、このリンクの前に接続される計算済
の経路上のリンクと、このリンクを含む計算済の経路の
トータルコストとを記入する欄を有する第1のテーブル
と、 接続リンクを探索すべきリンクを記入する欄を有する第
2のテーブルとを用いて、 (a)出発地及び目的地の設定に応じて、経路ネットワ
ークメモリから一定範囲の経路ネットワークデータを読
み出し、 (b)読み出された経路ネットワークを構成する各リン
クのトータルコストの初期値を十分大きな値に設定し
て、前記第1のテーブルの該当欄に書込み、 (c)計算開始リンクを第2のテーブルに書込み、この
第2のテーブルに書き込まれたリンクに対応する第1の
テーブルのトータルコスト欄を初期値に設定し、 (d)第2のテーブルに記入されたリンクについて、第
1のテーブルを参照して接続リンクを探索し、探索され
た接続リンクのリンクコストを前記第2のテーブルに記
入されたリンクのコストに加え、この加えた値を、第1
のテーブルに記入された当該接続リンクのトータルコス
トと比較し、 (e)比較の結果、加えられた値が大きければ、その接
続リンクについての処理を打切り、小さければその値を
第1のテーブルの当該接続リンクのトータルコストに書
換えるとともに、前記第2のテーブルに記入されたリン
クをこの接続リンクに到る計算済の経路上のリンクとし
て書込み、 (f)当該接続リンクを第2のテーブルに新たに記入し
て、前記(d),(e)の処理を繰り返し、 (g)第2のテーブルに記入された全てのリンクについ
て接続リンクの探索が終了したときに、計算終了リンク
を第1のテーブルから探し出し、そのリンクに到る計算
済の経路上のリンクを順に辿っていくことにより、最適
経路を決定する経路計算方法において、 前記手順(d)において、第2のテーブルに記入された
リンクが計算終了リンクであれば、そのトータルコスト
を上限コストの設定値と比較して、上限コストの設定値
よりも小さければ上限コストを前記トータルコストの値
に更新し、以後手順(d)を繰り返すときに、第2のテ
ーブルに記入されたリンクのトータルコストを参照し、
設定された上限コストよりも高ければ、接続リンクを探
索することなくそのリンクについての処理を打切ること
を特徴とする経路計算方法。 - 【請求項2】経路ネットワークを構成する各リンクのコ
スト及びリンク相互の接続関係を記憶した経路ネットワ
ークメモリと、 リンクごとに、このリンクの次に接続される1つ又は複
数の接続リンクと、このリンクの前に接続される計算済
の経路上のリンクと、このリンクを含む計算済の経路の
トータルコストとを記入する欄を有する第1のテーブル
と、 接続リンクを探索すべきリンクを記入する欄を有する第
2のテーブルと、 請求項1記載の(a) 〜(g) の手順を実行することにより
道路地図上の2地点間の最適経路を計算する経路計算処
理手段と、を備える経路計算装置において、 前記経路計算処理手段は、前記手順(d) において、第2
のテーブルに記入されたリンクが計算終了リンクであれ
ば、そのトータルコストを上限コストの設定値と比較し
て、上限コストの設定値よりも小さければ上限コストを
前記トータルコストの値に更新し、以後手順(d) を繰り
返すときに、第2のテーブルに記入されたリンクのトー
タルコストを参照し、設定された上限コストよりも高け
れば、接続リンクを探索することなくそのリンクについ
ての処理を打切るものであることを特徴とする経路計算
装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5248243A JP3039226B2 (ja) | 1993-10-04 | 1993-10-04 | 経路計算方法及び装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5248243A JP3039226B2 (ja) | 1993-10-04 | 1993-10-04 | 経路計算方法及び装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07103773A JPH07103773A (ja) | 1995-04-18 |
JP3039226B2 true JP3039226B2 (ja) | 2000-05-08 |
Family
ID=17175288
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5248243A Expired - Fee Related JP3039226B2 (ja) | 1993-10-04 | 1993-10-04 | 経路計算方法及び装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3039226B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103134505A (zh) * | 2011-11-25 | 2013-06-05 | 天眼卫星科技有限公司 | 路径规划系统及其方法 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3474380B2 (ja) | 1996-12-12 | 2003-12-08 | 株式会社ザナヴィ・インフォマティクス | ナビゲーション装置および地図データベース装置 |
JP3946820B2 (ja) * | 1997-07-08 | 2007-07-18 | アイシン・エィ・ダブリュ株式会社 | 車両用ナビゲーション装置 |
US6885937B1 (en) * | 1998-12-10 | 2005-04-26 | Tele Atlas North America, Inc. | Shortcut generator |
JP2006250662A (ja) * | 2005-03-10 | 2006-09-21 | Alpine Electronics Inc | ナビゲーション装置および誘導経路の探索方法 |
-
1993
- 1993-10-04 JP JP5248243A patent/JP3039226B2/ja not_active Expired - Fee Related
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103134505A (zh) * | 2011-11-25 | 2013-06-05 | 天眼卫星科技有限公司 | 路径规划系统及其方法 |
CN103134505B (zh) * | 2011-11-25 | 2015-08-19 | 天眼卫星科技股份有限公司 | 路径规划系统及其方法 |
Also Published As
Publication number | Publication date |
---|---|
JPH07103773A (ja) | 1995-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3371768B2 (ja) | 車両用走行経路案内装置およびその地図データ記録媒体 | |
US6144919A (en) | Method and apparatus for using non-digitized cities for route calculation | |
US6212472B1 (en) | Method and apparatus for displaying current vehicle position | |
US5486822A (en) | Optimum route determination | |
JPH109884A (ja) | 車両用経路案内装置および経路探索方法 | |
JPH10171347A (ja) | 地図データベース装置 | |
JPH01223600A (ja) | ナビゲーション装置 | |
JPH05323872A (ja) | 経路表示装置 | |
JPH10281785A (ja) | 車両用ナビゲーション装置及びナビゲーション処理のためのコンピュータプログラムを記憶した媒体 | |
JP3039226B2 (ja) | 経路計算方法及び装置 | |
JPH0553501A (ja) | 経路テーブルを用いた最適経路決定方法 | |
JP3366782B2 (ja) | 経路誘導装置 | |
JPH07110238A (ja) | 経路計算装置 | |
JP3502230B2 (ja) | ナビゲーション装置 | |
JP3546719B2 (ja) | 車両用ナビゲーション装置及び記憶媒体 | |
JP2964832B2 (ja) | 道路地図表示装置 | |
JP2906943B2 (ja) | 経路計算方法及び装置 | |
JPH09113297A (ja) | 経路計算方法及びこの方法を使用するナビゲーション装置 | |
JP2856063B2 (ja) | 復帰経路計算機能を備えるナビゲーション装置 | |
JP3445833B2 (ja) | 車載用ナビゲーション装置 | |
JPH0736381A (ja) | 経路計算方法 | |
JP3406449B2 (ja) | 車載用ナビゲーション装置及び誘導経路探索方法 | |
JP2601943B2 (ja) | 最適経路計算装置 | |
JP2561437B2 (ja) | 経路探索方法 | |
JP2905491B2 (ja) | ナビゲーション装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |