JPH0736381A - 経路計算方法 - Google Patents
経路計算方法Info
- Publication number
- JPH0736381A JPH0736381A JP5178135A JP17813593A JPH0736381A JP H0736381 A JPH0736381 A JP H0736381A JP 5178135 A JP5178135 A JP 5178135A JP 17813593 A JP17813593 A JP 17813593A JP H0736381 A JPH0736381 A JP H0736381A
- Authority
- JP
- Japan
- Prior art keywords
- link
- route
- cost
- waypoint
- 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.)
- Pending
Links
Landscapes
- Instructional Devices (AREA)
- Navigation (AREA)
- Processing Or Creating Images (AREA)
- Traffic Control Systems (AREA)
- Image Analysis (AREA)
Abstract
(57)【要約】
【目的】経由地点がある場合、出発地点から目的地点に
至る経由地点を含むリンクのツリーを用いて1回で経路
計算する。 【構成】経路計算するときに、経由地点を含むリンクを
設定し、そのリンクについてルートコスト値に十分大き
な負の値を加えるとともに、当該リンク及び以後これに
接続される経路に当該経由地点通過済みのステータスを
与え、後に探索されたリンクが経由地点に戻ったとき
に、当該経由地点通過済みのステータスを有していれ
ば、その接続リンクについての処理を打切る。 【効果】経由地点を必ず通過し、しかも1回のみ通過す
る最適経路が、1回の経路計算により得られる。
至る経由地点を含むリンクのツリーを用いて1回で経路
計算する。 【構成】経路計算するときに、経由地点を含むリンクを
設定し、そのリンクについてルートコスト値に十分大き
な負の値を加えるとともに、当該リンク及び以後これに
接続される経路に当該経由地点通過済みのステータスを
与え、後に探索されたリンクが経由地点に戻ったとき
に、当該経由地点通過済みのステータスを有していれ
ば、その接続リンクについての処理を打切る。 【効果】経由地点を必ず通過し、しかも1回のみ通過す
る最適経路が、1回の経路計算により得られる。
Description
【0001】
【産業上の利用分野】本発明は、運転者による目的地点
の設定に応じて、道路地図メモリから出発地点(車両の
現在位置でもよい)と経由地点と目的地点とを含む範囲
の経路ネットワークデータを読出し、この経路ネットワ
ークデータに基づいて経由地点を通る最適経路を計算し
て運転者に示すことができる経路計算方法に関するもの
である。
の設定に応じて、道路地図メモリから出発地点(車両の
現在位置でもよい)と経由地点と目的地点とを含む範囲
の経路ネットワークデータを読出し、この経路ネットワ
ークデータに基づいて経由地点を通る最適経路を計算し
て運転者に示すことができる経路計算方法に関するもの
である。
【0002】
【従来の技術】従来より画面上に車両の位置方位等を表
示し、見知らぬ土地や夜間等における走行の便宜を図る
ために開発されたナビゲーション装置が知られている。
前記ナビゲーション装置は、ディスプレイ、方位セン
サ、距離センサ、道路地図メモリ、コンピュータを車両
に搭載し、方位センサから入力される方位データ、距離
センサから入力される走行距離データ、及び道路地図メ
モリに格納されている道路パターンとの一致に基づいて
車両位置を検出し、この車両位置を道路地図とともにデ
ィスプレイに表示するものである。
示し、見知らぬ土地や夜間等における走行の便宜を図る
ために開発されたナビゲーション装置が知られている。
前記ナビゲーション装置は、ディスプレイ、方位セン
サ、距離センサ、道路地図メモリ、コンピュータを車両
に搭載し、方位センサから入力される方位データ、距離
センサから入力される走行距離データ、及び道路地図メ
モリに格納されている道路パターンとの一致に基づいて
車両位置を検出し、この車両位置を道路地図とともにデ
ィスプレイに表示するものである。
【0003】この場合、出発地点から目的地点に至る走
行経路の選択をするために、運転者による目的地点設定
入力に応じて現在の出発地点から目的地点までの経路を
ダイクストラ法を用いてコンピユータにより自動的に計
算する方法が提案されている(特開平5−53504 号公報
参照)。この方法は計算の対象となる道路を幾つも区切
って、区切った点をノードとし、ノードとノードとを結
ぶ経路をリンクとし、出発地点(目的地点でもよい)に
最も近いノード又はリンクを始点とし、目的地点(出発
地点でもよい)に最も近いノード又はリンクを終点と
し、始点から終点に至るリンクのツリーを探索し、ツリ
ーを構成する全ての経路のリンクコストを順次加算し
て、目的地点又は出発地点に到達する最もリンクコスト
の少ない経路のみを選択する方法である。
行経路の選択をするために、運転者による目的地点設定
入力に応じて現在の出発地点から目的地点までの経路を
ダイクストラ法を用いてコンピユータにより自動的に計
算する方法が提案されている(特開平5−53504 号公報
参照)。この方法は計算の対象となる道路を幾つも区切
って、区切った点をノードとし、ノードとノードとを結
ぶ経路をリンクとし、出発地点(目的地点でもよい)に
最も近いノード又はリンクを始点とし、目的地点(出発
地点でもよい)に最も近いノード又はリンクを終点と
し、始点から終点に至るリンクのツリーを探索し、ツリ
ーを構成する全ての経路のリンクコストを順次加算し
て、目的地点又は出発地点に到達する最もリンクコスト
の少ない経路のみを選択する方法である。
【0004】この方法で経路を計算し、経路に沿って走
行していけば確実に目的地点に到達するので、道を知ら
ない運転者にとって便利である。
行していけば確実に目的地点に到達するので、道を知ら
ない運転者にとって便利である。
【0005】
【発明が解決しようとする課題】しかしながら、運転者
が目的地点に到達する前に立ち寄りたい地点、すなわち
経由地点がある場合、出発地点から目的地点に至るリン
クのツリーを用いて1回で経路計算するという訳にはい
かない。この場合、出発地点から経由地点までの最適経
路を計算し、次に経由地点から目的地点までの最適経路
を計算し、最後に両経路をつなぎ合わせるという方法が
普通とられる。
が目的地点に到達する前に立ち寄りたい地点、すなわち
経由地点がある場合、出発地点から目的地点に至るリン
クのツリーを用いて1回で経路計算するという訳にはい
かない。この場合、出発地点から経由地点までの最適経
路を計算し、次に経由地点から目的地点までの最適経路
を計算し、最後に両経路をつなぎ合わせるという方法が
普通とられる。
【0006】しかし、複数回経路計算をしなければなら
ず、処理時間がそれだけ長くなる。という問題がある。
前記のリンクのツリーは、通常、膨大なデータ量になる
ため経路計算時間は経由地点がなくとも長くなりがちで
あるので、それ以上に処理時間が長くなるというのは、
問題がある。本発明は、前記の問題に鑑みてなされたも
ので、経由地点が1つ又は複数設定されている場合であ
っても1回で経路計算することができ、計算時間が長く
ならない経路計算方法を提供することを目的とする。
ず、処理時間がそれだけ長くなる。という問題がある。
前記のリンクのツリーは、通常、膨大なデータ量になる
ため経路計算時間は経由地点がなくとも長くなりがちで
あるので、それ以上に処理時間が長くなるというのは、
問題がある。本発明は、前記の問題に鑑みてなされたも
ので、経由地点が1つ又は複数設定されている場合であ
っても1回で経路計算することができ、計算時間が長く
ならない経路計算方法を提供することを目的とする。
【0007】
【課題を解決するための手段】前記の目的を達成するた
めの請求項1記載の発明の構成を説明する前に、経路計
算の前提としたいわゆるポテンシャル法について説明す
る。このポテンシャル法は、請求項1の「…において」
の部分に記載したように、出発地リンクからスタートし
て、それに接続するリンクを探索し、探索された接続リ
ンクのルートコストが前に設定された同じリンクのルー
トコストより小さくなれば、その値を当該接続リンクの
ルートコストに書換えるとともに、経路をこの新しいル
ートに変更し、次にこの接続リンクから出発して以上の
手順を繰り返し、すべてのリンクについて探索が終了す
れば、最適経路を決定する方法である。
めの請求項1記載の発明の構成を説明する前に、経路計
算の前提としたいわゆるポテンシャル法について説明す
る。このポテンシャル法は、請求項1の「…において」
の部分に記載したように、出発地リンクからスタートし
て、それに接続するリンクを探索し、探索された接続リ
ンクのルートコストが前に設定された同じリンクのルー
トコストより小さくなれば、その値を当該接続リンクの
ルートコストに書換えるとともに、経路をこの新しいル
ートに変更し、次にこの接続リンクから出発して以上の
手順を繰り返し、すべてのリンクについて探索が終了す
れば、最適経路を決定する方法である。
【0008】本発明では、このポテンシャル法を実行す
る場合に、経由地点を含むリンクを設定し、探索された
接続リンクが経由地点を含むリンクであるときに、ルー
トコスト値に十分大きな負の値を加えるとともに、当該
接続リンク及び以後これに接続されるリンクに当該経由
地点通過済みのステータスを与え、後に、探索された接
続リンクが経由地点を含むリンクであるときに、当該経
由地点通過済みのステータスを有していれば、その接続
リンクについての処理を打切るものである。
る場合に、経由地点を含むリンクを設定し、探索された
接続リンクが経由地点を含むリンクであるときに、ルー
トコスト値に十分大きな負の値を加えるとともに、当該
接続リンク及び以後これに接続されるリンクに当該経由
地点通過済みのステータスを与え、後に、探索された接
続リンクが経由地点を含むリンクであるときに、当該経
由地点通過済みのステータスを有していれば、その接続
リンクについての処理を打切るものである。
【0009】請求項2記載の発明によれば、経由地点の
数が複数個ある場合、前記経由地点通過済みのステータ
スを、各経由地点に応じて区別して設定し、第1のテー
ブルの「前に接続される計算済の経路上のリンク」を、
各経由地点通過・非通過の組み合わせに応じて複数通り
設定している。
数が複数個ある場合、前記経由地点通過済みのステータ
スを、各経由地点に応じて区別して設定し、第1のテー
ブルの「前に接続される計算済の経路上のリンク」を、
各経由地点通過・非通過の組み合わせに応じて複数通り
設定している。
【0010】
【作用】この経路計算方法によれば、探索された接続リ
ンクが経由地点を含むリンクであるときに、前記値は十
分大きな負の値になるので、請求項1の(e) の手順にお
いて、「比較の結果、加えられた値が−−−小さければ
その値を第1のテーブルの当該接続リンクのルートコス
トに書換えるとともに、第2のテーブルに記入されたリ
ンクをこの接続リンクに到る計算済の経路上のリンクと
して書込」む処理を受けることになる。その結果、この
経由地点を含むリンクに到る経路が前の経路から変更さ
れることになる。すなわち、最適経路は、必ず経由地点
を含むリンクを通るようになる。
ンクが経由地点を含むリンクであるときに、前記値は十
分大きな負の値になるので、請求項1の(e) の手順にお
いて、「比較の結果、加えられた値が−−−小さければ
その値を第1のテーブルの当該接続リンクのルートコス
トに書換えるとともに、第2のテーブルに記入されたリ
ンクをこの接続リンクに到る計算済の経路上のリンクと
して書込」む処理を受けることになる。その結果、この
経由地点を含むリンクに到る経路が前の経路から変更さ
れることになる。すなわち、最適経路は、必ず経由地点
を含むリンクを通るようになる。
【0011】また、当該接続リンク及び以後これに接続
されるリンクに当該経由地点通過済みのステータスを与
えるので、後に、探索された接続リンクがもう一度経由
地点を含むリンクに戻ってきたとき(閉ループを作った
とき)に、当該経由地点通過済みのステータスを有して
いれば、その接続リンクについての処理を打切る。した
がって、経由地点の通過が2回以上になることはない。
されるリンクに当該経由地点通過済みのステータスを与
えるので、後に、探索された接続リンクがもう一度経由
地点を含むリンクに戻ってきたとき(閉ループを作った
とき)に、当該経由地点通過済みのステータスを有して
いれば、その接続リンクについての処理を打切る。した
がって、経由地点の通過が2回以上になることはない。
【0012】また、請求項2記載の発明によれば、経由
地点の数が複数個ある場合、前記経由地点通過済みのス
テータスを、各経由地点に応じて区別して設定し、第1
のテーブルの「前に接続される計算済の経路上のリン
ク」を、各経由地点通過・非通過の組み合わせに応じて
複数通り設定しているので、各経由地点を1回ずつ通る
最適経路を1度の計算で求めることができる。
地点の数が複数個ある場合、前記経由地点通過済みのス
テータスを、各経由地点に応じて区別して設定し、第1
のテーブルの「前に接続される計算済の経路上のリン
ク」を、各経由地点通過・非通過の組み合わせに応じて
複数通り設定しているので、各経由地点を1回ずつ通る
最適経路を1度の計算で求めることができる。
【0013】
【実施例】以下本発明の実施例を示す添付図面に基づい
て詳細に説明する。本発明の経路計算方法を実施するナ
ビゲーション装置は、図2に示すように、方位センサ1
1と、距離センサ12と、シフトセンサ13と、道路地
図データを格納している道路地図メモリ14A及び経路
ネットワークデータを格納した経路ネットワークメモリ
14Bから記憶データを読出すメモリドライブ15と、
距離センサ12により検出される走行距離及び方位セン
サ11により検出される走行方向変化量をそれぞれ積算
し、この積算データとメモリドライブ15により読出し
た道路地図データとの比較に基いて車両位置を検出する
ロケータ16と、所定範囲の道路地図の読み出し、経路
ネットワークデータを利用した最適経路の計算、車両の
誘導をするための表示用データの作成、音声出力装置の
制御、及びロケータ16の制御等の種々の制御を行うコ
ントローラ17と、初期データ等を設定するためのタッ
チキー20と、ディスプレイ19とを有する。
て詳細に説明する。本発明の経路計算方法を実施するナ
ビゲーション装置は、図2に示すように、方位センサ1
1と、距離センサ12と、シフトセンサ13と、道路地
図データを格納している道路地図メモリ14A及び経路
ネットワークデータを格納した経路ネットワークメモリ
14Bから記憶データを読出すメモリドライブ15と、
距離センサ12により検出される走行距離及び方位セン
サ11により検出される走行方向変化量をそれぞれ積算
し、この積算データとメモリドライブ15により読出し
た道路地図データとの比較に基いて車両位置を検出する
ロケータ16と、所定範囲の道路地図の読み出し、経路
ネットワークデータを利用した最適経路の計算、車両の
誘導をするための表示用データの作成、音声出力装置の
制御、及びロケータ16の制御等の種々の制御を行うコ
ントローラ17と、初期データ等を設定するためのタッ
チキー20と、ディスプレイ19とを有する。
【0014】さらに詳細に説明すれば方位センサ11
は、車両の走行に伴なう方位の変化を検出するものであ
り、地磁気センサ、ジャイロ等を使用することが可能で
ある。距離センサ12は、車両の速度、あるいは、車輪
の回転数等に基づいて走行距離を検出するものであり、
車輪速センサ、車速センサ等が使用可能である。ロケー
タ16は、距離センサ12により検出される距離デー
タ、及び方位センサ11により検出される方位変化デー
タをそれぞれ積算して走行軌跡データを算出し、走行軌
跡データと道路地図メモリ14Aに格納されている道路
のパターンとの比較(いわゆる地図マッチング法、特開
昭64-53112号公報参照)に基いて車両位置を検出する。
なお、位置検出の精度をあげるためにビーコン受信機や
GPS受信機を付加してもよい。
は、車両の走行に伴なう方位の変化を検出するものであ
り、地磁気センサ、ジャイロ等を使用することが可能で
ある。距離センサ12は、車両の速度、あるいは、車輪
の回転数等に基づいて走行距離を検出するものであり、
車輪速センサ、車速センサ等が使用可能である。ロケー
タ16は、距離センサ12により検出される距離デー
タ、及び方位センサ11により検出される方位変化デー
タをそれぞれ積算して走行軌跡データを算出し、走行軌
跡データと道路地図メモリ14Aに格納されている道路
のパターンとの比較(いわゆる地図マッチング法、特開
昭64-53112号公報参照)に基いて車両位置を検出する。
なお、位置検出の精度をあげるためにビーコン受信機や
GPS受信機を付加してもよい。
【0015】ディスプレイ19は、CRT、液晶パネル
等の画面上にメニュー画面の表示、道路地図の表示、車
両の現在位置と方位の表示、最適経路の表示、目的地点
や目印となる地点の表示、目的地点までの方位と距離の
表示、複合交差点の形状拡大画面のウィンドウ表示等を
行うものである。また、ディスプレイ19には、透明の
タッチキー20が取付けられている。タッチキー20
は、初期設定メニュー画面上で最適経路の選定基準(最
短時間経路、最短距離経路等)、地図の倍率、目的地点
等を入力するものである。すなわち、経路誘導装置と運
転者との対話を仲介している。
等の画面上にメニュー画面の表示、道路地図の表示、車
両の現在位置と方位の表示、最適経路の表示、目的地点
や目印となる地点の表示、目的地点までの方位と距離の
表示、複合交差点の形状拡大画面のウィンドウ表示等を
行うものである。また、ディスプレイ19には、透明の
タッチキー20が取付けられている。タッチキー20
は、初期設定メニュー画面上で最適経路の選定基準(最
短時間経路、最短距離経路等)、地図の倍率、目的地点
等を入力するものである。すなわち、経路誘導装置と運
転者との対話を仲介している。
【0016】各メモリ14A,14Bは、大容量記憶媒
体であるCD-ROM、ICメモリカード、磁気テープ等のメモ
リ等から構成されている。道路地図メモリ14Aは、道
路地図(高速自動車国道、都市高速道路、一般国道、主
要地方道、一般都道府県道、指定都市の一般市道、その
他の生活道路を含む)をメッシュ状に分割し、各メッシ
ュ単位でノードとリンクとを組み合わせたデータを記憶
している。その他、鉄道、川、地名欄、有名施設、運転
者が予め登録した地点、等高線等の表示用の背景データ
を含んでいてもよい。
体であるCD-ROM、ICメモリカード、磁気テープ等のメモ
リ等から構成されている。道路地図メモリ14Aは、道
路地図(高速自動車国道、都市高速道路、一般国道、主
要地方道、一般都道府県道、指定都市の一般市道、その
他の生活道路を含む)をメッシュ状に分割し、各メッシ
ュ単位でノードとリンクとを組み合わせたデータを記憶
している。その他、鉄道、川、地名欄、有名施設、運転
者が予め登録した地点、等高線等の表示用の背景データ
を含んでいてもよい。
【0017】前記メッシュは、日本道路地図を経度差1
度、緯度差40分で分割し縦横の距離を約80Km×80Kmとし
た第1次メッシュと、この第1次メッシュを縦横8等分
し縦横の距離を約10Km×10Kmとする第2次メッシュとの
二重構造を持っている。ここでノードとは、一般に、道
路の交差点や折曲点を特定するための座標位置のことで
あり、交差点を表わすノードを交差点ノード、道路の折
曲点(交差点を除く)を表わすノードを補間点ノードと
いうことがある。
度、緯度差40分で分割し縦横の距離を約80Km×80Kmとし
た第1次メッシュと、この第1次メッシュを縦横8等分
し縦横の距離を約10Km×10Kmとする第2次メッシュとの
二重構造を持っている。ここでノードとは、一般に、道
路の交差点や折曲点を特定するための座標位置のことで
あり、交差点を表わすノードを交差点ノード、道路の折
曲点(交差点を除く)を表わすノードを補間点ノードと
いうことがある。
【0018】各ノードを繋いだものがリンクである。リ
ンクデータはリンク番号、リンクの始点ノード及び終点
ノードのアドレス、リンクの距離、リンクを通過する方
向、その方向における所要時間、道路種別、道路幅、一
方通行や有料道路等の通行規制データ等からなる。この
ように、リンクデータの中にリンクの始点ノード及び終
点ノードのアドレスが入っていることから、リンクのみ
によっても地点を特定できる。なお、リンクによってリ
ンクの始点を特定する場合そのリンクを「退出リンク」
といい、リンクの終点を特定する場合そのリンクを「進
入リンク」という。さらに、リンクデータにはリンクを
通過する方向が入っているので、1つのリンクを特定す
ることにより、車両の進行方向も特定することができ
る。図3は十字路を特定する4つの退出リンクを、図4
は十字路を特定する4つの進入リンクを例示している。
以下の実施例では、地点を特定するのに主に退出リンク
を用いるものとする。
ンクデータはリンク番号、リンクの始点ノード及び終点
ノードのアドレス、リンクの距離、リンクを通過する方
向、その方向における所要時間、道路種別、道路幅、一
方通行や有料道路等の通行規制データ等からなる。この
ように、リンクデータの中にリンクの始点ノード及び終
点ノードのアドレスが入っていることから、リンクのみ
によっても地点を特定できる。なお、リンクによってリ
ンクの始点を特定する場合そのリンクを「退出リンク」
といい、リンクの終点を特定する場合そのリンクを「進
入リンク」という。さらに、リンクデータにはリンクを
通過する方向が入っているので、1つのリンクを特定す
ることにより、車両の進行方向も特定することができ
る。図3は十字路を特定する4つの退出リンクを、図4
は十字路を特定する4つの進入リンクを例示している。
以下の実施例では、地点を特定するのに主に退出リンク
を用いるものとする。
【0019】コントローラ17の詳細を図5に示す。コ
ントローラ17は、メモリドライブ15を通して道路地
図メモリ14A及び経路ネットワークメモリ14Bから
必要なデータを得るメモリ制御部21、音声出力装置に
電子的に記録された音声を発声させる音声制御部25、
ディスプレイ19に必要な画像を表示させる表示制御部
22、タッチキー20で設定された入力情報を処理する
入力処理部23、ロケータ16の算出した車両位置をデ
ータとして取り込む車両位置認識処理部24、ポテンシ
ャル法により目的地点から出発地点までの最適経路を計
算する経路計算処理部26が接続される。
ントローラ17は、メモリドライブ15を通して道路地
図メモリ14A及び経路ネットワークメモリ14Bから
必要なデータを得るメモリ制御部21、音声出力装置に
電子的に記録された音声を発声させる音声制御部25、
ディスプレイ19に必要な画像を表示させる表示制御部
22、タッチキー20で設定された入力情報を処理する
入力処理部23、ロケータ16の算出した車両位置をデ
ータとして取り込む車両位置認識処理部24、ポテンシ
ャル法により目的地点から出発地点までの最適経路を計
算する経路計算処理部26が接続される。
【0020】経路計算処理部26は、経路ネットワーク
メモリ14Bから取り出された出発地点、経由地点及び
目的地点を含む一定の範囲のリンク情報に基づいて、リ
ンクテーブルと、各リンクの接続リンクを探索するため
のアークテーブルとを作成し、これらのテーブルに基づ
いて最適経路を計算するCPU26aと、リンクテーブ
ルとアークテーブルとピボットテーブルとを蓄える主メ
モリ26cと、アークテーブルやリンクテーブル、ピボ
ットテーブルの内容の一部をコピーし蓄えるキャッシュ
メモリ26bとを備えている。なお、リンクテーブルと
アークテーブルとが、請求項1の「第1のテーブル」に
相当し、ピボットテーブルが「第2のテーブル」に相当
するものである。
メモリ14Bから取り出された出発地点、経由地点及び
目的地点を含む一定の範囲のリンク情報に基づいて、リ
ンクテーブルと、各リンクの接続リンクを探索するため
のアークテーブルとを作成し、これらのテーブルに基づ
いて最適経路を計算するCPU26aと、リンクテーブ
ルとアークテーブルとピボットテーブルとを蓄える主メ
モリ26cと、アークテーブルやリンクテーブル、ピボ
ットテーブルの内容の一部をコピーし蓄えるキャッシュ
メモリ26bとを備えている。なお、リンクテーブルと
アークテーブルとが、請求項1の「第1のテーブル」に
相当し、ピボットテーブルが「第2のテーブル」に相当
するものである。
【0021】リンクテーブルは、経路ネットワークメモ
リ14Bから取り出された出発地点、経由地点及び目的
地点を含む一定の範囲のリンクについて、シーケンス番
号、リンク番号、メッシュの境界リンクに対して設定さ
れる隣接メッシュポインタ、アークテーブルへのポイン
タ、リンクコスト、ルートコスト、そのリンクに到達す
る前の経路上のリンク(以下「前リンク」という)、当
該リンクまでの経路が経由地点を通過しているかどうか
を示す経由地点通過フラグ、並びに始端ノードの番号と
終端ノードの番号を記憶している。
リ14Bから取り出された出発地点、経由地点及び目的
地点を含む一定の範囲のリンクについて、シーケンス番
号、リンク番号、メッシュの境界リンクに対して設定さ
れる隣接メッシュポインタ、アークテーブルへのポイン
タ、リンクコスト、ルートコスト、そのリンクに到達す
る前の経路上のリンク(以下「前リンク」という)、当
該リンクまでの経路が経由地点を通過しているかどうか
を示す経由地点通過フラグ、並びに始端ノードの番号と
終端ノードの番号を記憶している。
【0022】前記シーケンス番号は0から昇順に設定さ
れた整数、リンク番号は往復リンクのペアごとに付与さ
れる番号である。ルートコストは経路計算の途中経過を
記録した当該リンクへの到達コストである。さらに正確
には、あるリンクのルートコストとは、出発値から当該
リンクまでつながった経路上の各リンクのアークコスト
を総和したものとなる(図6参照)。ここで、アークと
いうのは、リンクの始端ノードの直後から次のリンクの
始端ノードの直後までをいう。アークコストというの
は、当該リンクのリンクコストと当該リンクから退出す
るための右左折又は直進コストの和である。例えば、進
入禁止の場合、リンクコストは有限であっても直進コス
トは無限大となるので、アークコストも無限大となる。
信号がある場合、アークコストは、リンクコストに右左
折又は直進時の平均的な信号待ち時間を考慮したものを
足したコストとなる。
れた整数、リンク番号は往復リンクのペアごとに付与さ
れる番号である。ルートコストは経路計算の途中経過を
記録した当該リンクへの到達コストである。さらに正確
には、あるリンクのルートコストとは、出発値から当該
リンクまでつながった経路上の各リンクのアークコスト
を総和したものとなる(図6参照)。ここで、アークと
いうのは、リンクの始端ノードの直後から次のリンクの
始端ノードの直後までをいう。アークコストというの
は、当該リンクのリンクコストと当該リンクから退出す
るための右左折又は直進コストの和である。例えば、進
入禁止の場合、リンクコストは有限であっても直進コス
トは無限大となるので、アークコストも無限大となる。
信号がある場合、アークコストは、リンクコストに右左
折又は直進時の平均的な信号待ち時間を考慮したものを
足したコストとなる。
【0023】前リンクは、経由地点数をNとすると、経
由地点の通過・非通過の組み合わせに応じて2N 通りの
数だけある(詳細は後述する)。アークテーブルは、シ
ーケンス番号、同じリンクから出るアークのうち最後の
アークかどうかを示すアーク終端識別子、当該アークの
接続リンクのリンクテーブルへのポインタ(リンクテー
ブルのシーケンス番号で示す)及びアークコストを記憶
している。
由地点の通過・非通過の組み合わせに応じて2N 通りの
数だけある(詳細は後述する)。アークテーブルは、シ
ーケンス番号、同じリンクから出るアークのうち最後の
アークかどうかを示すアーク終端識別子、当該アークの
接続リンクのリンクテーブルへのポインタ(リンクテー
ブルのシーケンス番号で示す)及びアークコストを記憶
している。
【0024】アーク終端識別子は、例えば1つのリンク
から3つのアークか出る場合を想定すると、1番目と2
番目とのアークについてはアーク終端識別子は0が割り
付けられ、3番目のアークについて1が割り付けられ
る。したがって、アークテーブルを用いて1つのリンク
に接続されるリンクを探索するとき、アーク終端識別子
が0のうちは、他の接続リンクが存在することが分か
る。アーク終端識別子が1になれば、もうこれ以上接続
リンクはないことが分かる。
から3つのアークか出る場合を想定すると、1番目と2
番目とのアークについてはアーク終端識別子は0が割り
付けられ、3番目のアークについて1が割り付けられ
る。したがって、アークテーブルを用いて1つのリンク
に接続されるリンクを探索するとき、アーク終端識別子
が0のうちは、他の接続リンクが存在することが分か
る。アーク終端識別子が1になれば、もうこれ以上接続
リンクはないことが分かる。
【0025】さらに具体的な経路ネットワークを想定し
て説明する。図7は、出発地点と目的地点とを含む経路
計算の対象となるの範囲内のノードをA,B,C,D,
E,Fとし、Aを出発地点ノードとし、Eを目的地点ノ
ードとしたリンク経路図を示す。全リンク数は、A→
B,A→C,B→A,B→C,B→E,C→A,C→
B,C→D,D→C,D→E,E→B,E→D,E→F
の13個である。
て説明する。図7は、出発地点と目的地点とを含む経路
計算の対象となるの範囲内のノードをA,B,C,D,
E,Fとし、Aを出発地点ノードとし、Eを目的地点ノ
ードとしたリンク経路図を示す。全リンク数は、A→
B,A→C,B→A,B→C,B→E,C→A,C→
B,C→D,D→C,D→E,E→B,E→D,E→F
の13個である。
【0026】記憶されたテーブルの構造をそれぞれ表
1、表2に示す。表1はリンクテーブルであり、13個
のリンクに対してシーケンス番号、リンク番号、隣接メ
ッシュポインタ、アークテーブルへのポインタ、リンク
コスト、ルートコスト、前リンク、経由地点通過フラ
グ、始端ノードの番号と終端ノードの番号の欄を備えて
いる。
1、表2に示す。表1はリンクテーブルであり、13個
のリンクに対してシーケンス番号、リンク番号、隣接メ
ッシュポインタ、アークテーブルへのポインタ、リンク
コスト、ルートコスト、前リンク、経由地点通過フラ
グ、始端ノードの番号と終端ノードの番号の欄を備えて
いる。
【0027】
【表1】
【0028】表2は、アークテーブルであり、シーケン
ス番号、アーク終端識別子、リンクテーブルへのポイン
タ及びアークコストの欄を備えている。
ス番号、アーク終端識別子、リンクテーブルへのポイン
タ及びアークコストの欄を備えている。
【0029】
【表2】
【0030】ピボットテーブルは、リンクテーブルに記
憶されている多数のリンクのうち、現在計算に必要なリ
ンクのシーケンス番号等を取り出して記憶している先入
れ先だし型のテーブルである。次に、リンクテーブル、
アークテーブル及びピボットテーブルを利用した経路探
索手法を説明する。
憶されている多数のリンクのうち、現在計算に必要なリ
ンクのシーケンス番号等を取り出して記憶している先入
れ先だし型のテーブルである。次に、リンクテーブル、
アークテーブル及びピボットテーブルを利用した経路探
索手法を説明する。
【0031】図7を参照してリンクA→Bから出発する
とする。目的地点はノードEであるとする。リンクテー
ブルのリンク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が接続されることが分かる。ここ
で、アーク終端識別子は1となっているので、リンクA
→Bに接続するリンクの探索はこれで終了となる。
とする。目的地点はノードEであるとする。リンクテー
ブルのリンク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が接続されることが分かる。ここ
で、アーク終端識別子は1となっているので、リンクA
→Bに接続するリンクの探索はこれで終了となる。
【0032】次に、リンクB→Eに接続されるリンクを
探索する。リンクテーブルのシーケンス番号4の欄を見
ると、アークテーブルへのポインタは7となっている。
そこで、アークテーブルのシーケンス番号7の欄を見る
と、リンクはリンクE→Fである。アークテーブルのシ
ーケンス番号7の欄のアーク終端識別子は1となってい
るので、リンクB→Eに接続されるアークはE→Fのみ
である。
探索する。リンクテーブルのシーケンス番号4の欄を見
ると、アークテーブルへのポインタは7となっている。
そこで、アークテーブルのシーケンス番号7の欄を見る
と、リンクはリンクE→Fである。アークテーブルのシ
ーケンス番号7の欄のアーク終端識別子は1となってい
るので、リンクB→Eに接続されるアークはE→Fのみ
である。
【0033】次に、リンクB→Cに接続されるリンクを
探索する。リンクテーブルのシーケンス番号3の欄を見
ると、アークテーブルへのポインタは5となっている。
そこで、アークテーブルのシーケンス番号5の欄を見る
と、リンクはリンクC→Aである。アークテーブルのシ
ーケンス番号5の欄のアーク終端識別子は0となってい
るので、リンクB→Cに接続されるアークはC→Aのみ
でない。そこで、アークテーブルの次の欄6を見ると、
リンクテーブルへのポインタは7となっている。そこ
で、リンクテーブルのシーケンス番号7の欄を見るとリ
ンクC→Dである。アーク終端識別子は1となっている
ので、これ以外に接続リンクはないことになる。
探索する。リンクテーブルのシーケンス番号3の欄を見
ると、アークテーブルへのポインタは5となっている。
そこで、アークテーブルのシーケンス番号5の欄を見る
と、リンクはリンクC→Aである。アークテーブルのシ
ーケンス番号5の欄のアーク終端識別子は0となってい
るので、リンクB→Cに接続されるアークはC→Aのみ
でない。そこで、アークテーブルの次の欄6を見ると、
リンクテーブルへのポインタは7となっている。そこ
で、リンクテーブルのシーケンス番号7の欄を見るとリ
ンクC→Dである。アーク終端識別子は1となっている
ので、これ以外に接続リンクはないことになる。
【0034】以上のようにして接続リンクがツリーのよ
うに次々と求められる。求められたツリーは図8に示す
ようなものである。ツリーは無限に広がるが、後述する
ように処理に工夫を加えることにより、ツリーの途中で
計算を打ち切るようにしている。以上のようにしてリン
クを次々と探索していく方法を説明したが、経路計算処
理では、経路の探索に加えて、アークコストを積算して
いって、最もコストの少ない最適な経路を計算する必要
がある。
うに次々と求められる。求められたツリーは図8に示す
ようなものである。ツリーは無限に広がるが、後述する
ように処理に工夫を加えることにより、ツリーの途中で
計算を打ち切るようにしている。以上のようにしてリン
クを次々と探索していく方法を説明したが、経路計算処
理では、経路の探索に加えて、アークコストを積算して
いって、最もコストの少ない最適な経路を計算する必要
がある。
【0035】そこで最適経路計算の仕方を、フローチャ
ート(図9−12)を用いて詳細に説明する。まず、C
PU26aは、出発地点、目的地点を含む一定の範囲の
リンクを経路ネットワークメモリ14Bから取り出し、
所定のプログラムに基づいて、リンクテーブルを作成す
る。このとき、リンクテーブルのルートコストの値はす
べて無限大(実際には、予想されるルートコストより2
桁程度大きな値に設定すれば十分である。)、前リンク
なし、経由地点通過フラグ0として初期設定する。
ート(図9−12)を用いて詳細に説明する。まず、C
PU26aは、出発地点、目的地点を含む一定の範囲の
リンクを経路ネットワークメモリ14Bから取り出し、
所定のプログラムに基づいて、リンクテーブルを作成す
る。このとき、リンクテーブルのルートコストの値はす
べて無限大(実際には、予想されるルートコストより2
桁程度大きな値に設定すれば十分である。)、前リンク
なし、経由地点通過フラグ0として初期設定する。
【0036】以下、図7の経路ネットワークを想定し、
出発地リンクをA→B、目的地リンクをE→Fとして最
適経路を計算する。まず、経由地点を指定しない場合の
計算方法を図9,10を用いて説明する。 (1) 経由地点の指定のない場合 CPU26aは、出発地リンク(初期リンクという)A
→Bを取り出し、この初期リンクA→Bをピボットテー
ブルに登録する(ステップS1)。ピボットテーブルに
登録されたリンクを、以下「ピボットリンク」という。
このピボットリンクに対応するルートコストをリンクテ
ーブル上で0にしておく。
出発地リンクをA→B、目的地リンクをE→Fとして最
適経路を計算する。まず、経由地点を指定しない場合の
計算方法を図9,10を用いて説明する。 (1) 経由地点の指定のない場合 CPU26aは、出発地リンク(初期リンクという)A
→Bを取り出し、この初期リンクA→Bをピボットテー
ブルに登録する(ステップS1)。ピボットテーブルに
登録されたリンクを、以下「ピボットリンク」という。
このピボットリンクに対応するルートコストをリンクテ
ーブル上で0にしておく。
【0037】CPU26aは、ピボットテーブルを参照
し(ステップS2)、未処理ピボットリンクがあるかど
うかを判定する(ステップS3)。最初は何の処理もし
ていないので、未処理ピボットリンクすなわち初期リン
クA→Bが存在する。これを未処理ピボットリンクとし
て取り出す(ステップS4)。CPU26aは、全アー
クの探索が終了したかどうかを判断する(ステップS
5)。探索が終了していなければ、ピボットリンクA→
Bにつながるリンクを探索するため、ピボットリンクA
→Bに対応するアークテーブルを参照する(ステップS
6)。ステップS7に進み、アークテーブルの当該欄の
アークコストとリンクテーブルへのポインタを参照す
る。その結果、前述したように、リンクB→Eが探し出
される。アークコストは、リンクA→Bのリンクコスト
に交差点Bでの直進コストを加えたものになる。そし
て、図10のステップS8に移り、ピボットリンクA→
Bのルートコスト(0になっている)に前記アークコス
トを加える。そして、このコストをリンクテーブルに書
込まれた接続リンクB→Eのルートコスト(初期値は無
限大となっている)より小さいかどうか判定する(ステ
ップS9)。
し(ステップS2)、未処理ピボットリンクがあるかど
うかを判定する(ステップS3)。最初は何の処理もし
ていないので、未処理ピボットリンクすなわち初期リン
クA→Bが存在する。これを未処理ピボットリンクとし
て取り出す(ステップS4)。CPU26aは、全アー
クの探索が終了したかどうかを判断する(ステップS
5)。探索が終了していなければ、ピボットリンクA→
Bにつながるリンクを探索するため、ピボットリンクA
→Bに対応するアークテーブルを参照する(ステップS
6)。ステップS7に進み、アークテーブルの当該欄の
アークコストとリンクテーブルへのポインタを参照す
る。その結果、前述したように、リンクB→Eが探し出
される。アークコストは、リンクA→Bのリンクコスト
に交差点Bでの直進コストを加えたものになる。そし
て、図10のステップS8に移り、ピボットリンクA→
Bのルートコスト(0になっている)に前記アークコス
トを加える。そして、このコストをリンクテーブルに書
込まれた接続リンクB→Eのルートコスト(初期値は無
限大となっている)より小さいかどうか判定する(ステ
ップS9)。
【0038】小さければ、ステップS10に進み、接続
リンクB→Eのルートコストをリンクテーブル上で書き
換える。そして接続リンクB→Eの前リンクとして、リ
ンクA→Bを設定する(ステップS11)。さらにこの
接続リンクB→Eをピボットテーブルに登録する(ステ
ップS12)。
リンクB→Eのルートコストをリンクテーブル上で書き
換える。そして接続リンクB→Eの前リンクとして、リ
ンクA→Bを設定する(ステップS11)。さらにこの
接続リンクB→Eをピボットテーブルに登録する(ステ
ップS12)。
【0039】その後、ステップS5に戻り、当該リンク
A→Bにつながる他のリンクを探索するため、アークテ
ーブルの次の欄を参照する(ステップS6)。ステップ
S7に進み、アークテーブルの当該欄のアークコストと
リンクテーブルへのポインタが参照される。その結果、
リンクB→Cが探し出される。アークコストは、リンク
A→Bのリンクコストに交差点Bでの右折コストを加え
たものになる。そして、図10のステップS8に移り、
ピボットテーブルのリンクA→Bのルートコスト(0に
なっている)に前記アークコストを加える。そして、こ
のルートコストをリンクテーブルに書込みまれた接続リ
ンクB→Cのルートコスト(初期値は無限大になってい
る)より小さいかどうか判定する(ステップS9)。
A→Bにつながる他のリンクを探索するため、アークテ
ーブルの次の欄を参照する(ステップS6)。ステップ
S7に進み、アークテーブルの当該欄のアークコストと
リンクテーブルへのポインタが参照される。その結果、
リンクB→Cが探し出される。アークコストは、リンク
A→Bのリンクコストに交差点Bでの右折コストを加え
たものになる。そして、図10のステップS8に移り、
ピボットテーブルのリンクA→Bのルートコスト(0に
なっている)に前記アークコストを加える。そして、こ
のルートコストをリンクテーブルに書込みまれた接続リ
ンクB→Cのルートコスト(初期値は無限大になってい
る)より小さいかどうか判定する(ステップS9)。
【0040】小さければ、ステップS10に進み、接続
リンクB→Cのルートコストをリンクテーブル上で書き
換える。そして接続リンクB→Cの前リンクとして、リ
ンクA→Bを設定する(ステップS11)。さらにこの
接続リンクB→Cをピボットテーブルに登録する(ステ
ップS12)。その後、ステップS5に戻り、ピボット
リンクA→Bに対応するアークテーブルのアーク終端識
別子を参照すると、リンクA→Bにつながる他のリンク
は存在しないので、全アークの探索が終了したことが分
かる。ステップS31に進み、ピボットリンクA→Bに
処理済フラグを立てる。そしてピボットテーブルを参照
し(ステップS2)、未処理ピボットリンクがあるかど
うかを判定する(ステップS3)。この段階では、リン
クB→E,B→Cがピボットテーブルに未処理として登
録されている。そこで、例えば未処理ピボットリンクB
→Eを取り出し、上と同じ処理をする。すなわち、接続
リンクであるリンクE→Fを探し出し、ピボットリンク
B→Eのルートコストに、アークコスト(リンクB→E
のリンクコストに交差点Eでの直進コストを加えたも
の)を加える。そしてこれをリンクE→Fのルートコス
トとおき、リンクテーブル上のリンクE→Fのルートコ
ストを書き換える。これで目的地Eに到る1つのルート
コストが求まったことになる。
リンクB→Cのルートコストをリンクテーブル上で書き
換える。そして接続リンクB→Cの前リンクとして、リ
ンクA→Bを設定する(ステップS11)。さらにこの
接続リンクB→Cをピボットテーブルに登録する(ステ
ップS12)。その後、ステップS5に戻り、ピボット
リンクA→Bに対応するアークテーブルのアーク終端識
別子を参照すると、リンクA→Bにつながる他のリンク
は存在しないので、全アークの探索が終了したことが分
かる。ステップS31に進み、ピボットリンクA→Bに
処理済フラグを立てる。そしてピボットテーブルを参照
し(ステップS2)、未処理ピボットリンクがあるかど
うかを判定する(ステップS3)。この段階では、リン
クB→E,B→Cがピボットテーブルに未処理として登
録されている。そこで、例えば未処理ピボットリンクB
→Eを取り出し、上と同じ処理をする。すなわち、接続
リンクであるリンクE→Fを探し出し、ピボットリンク
B→Eのルートコストに、アークコスト(リンクB→E
のリンクコストに交差点Eでの直進コストを加えたも
の)を加える。そしてこれをリンクE→Fのルートコス
トとおき、リンクテーブル上のリンクE→Fのルートコ
ストを書き換える。これで目的地Eに到る1つのルート
コストが求まったことになる。
【0041】ピボットリンクB→Cについても同じ処理
をして、リンクB→CにつながるリンクC→A,C→D
を探索し、それらのルートコストを書き換える。なお、
リンクC→Aを探索した後、リンクC→Aに接続するリ
ンクをアークテーブルから拾うと、初期リンクA→Bに
戻ってしまい、経路が閉ループとなって探索が無限に続
くおそれがあるが、この場合はステップS9において、
リンクA→Bの新しいルートコストを、リンクA→Bの
ルートコストとして登録されている値(初期値=0)と
比較する。新しいルートコストは、経由地の指定がない
場合は負にはならないので、常に、 (新しいルートコスト)>(前のルートコスト=0) という関係が成立し、ステップS5に戻る。したがっ
て、無限ループに陥るおそれはない。
をして、リンクB→CにつながるリンクC→A,C→D
を探索し、それらのルートコストを書き換える。なお、
リンクC→Aを探索した後、リンクC→Aに接続するリ
ンクをアークテーブルから拾うと、初期リンクA→Bに
戻ってしまい、経路が閉ループとなって探索が無限に続
くおそれがあるが、この場合はステップS9において、
リンクA→Bの新しいルートコストを、リンクA→Bの
ルートコストとして登録されている値(初期値=0)と
比較する。新しいルートコストは、経由地の指定がない
場合は負にはならないので、常に、 (新しいルートコスト)>(前のルートコスト=0) という関係が成立し、ステップS5に戻る。したがっ
て、無限ループに陥るおそれはない。
【0042】以上ようなことを続けると、最後に、リン
クE→Fのルートコストが再び求められる。このとき、
ステップS9において、新しいルートコストを前にリン
クテーブル上にリンクE→Fのルートコストとして登録
された値と比較する。リンクE→Fの新しいルートコス
トが前のルートコストより大きければ、リンクテーブル
を書き換えることなく、ステップS5に戻る。
クE→Fのルートコストが再び求められる。このとき、
ステップS9において、新しいルートコストを前にリン
クテーブル上にリンクE→Fのルートコストとして登録
された値と比較する。リンクE→Fの新しいルートコス
トが前のルートコストより大きければ、リンクテーブル
を書き換えることなく、ステップS5に戻る。
【0043】そして、ステップS5,S31,S2を経
由してステップS3に至り未処理ピボットリンクがある
かどうかを判定する。ピボットリンクがすべて処理済み
となると、経路の探索は終了したことになる。CPU2
6aはリンクテーブルの目的地リンクに注目し、目的地
リンクの前リンクを辿っていくと、出発値に到達する。
その経路が最適経路になる(ステップS42)。また、
目的地リンクのルートコストを参照すると、そのルート
コストが出発値から目的地点までの最適経路ルートコス
トとなる。
由してステップS3に至り未処理ピボットリンクがある
かどうかを判定する。ピボットリンクがすべて処理済み
となると、経路の探索は終了したことになる。CPU2
6aはリンクテーブルの目的地リンクに注目し、目的地
リンクの前リンクを辿っていくと、出発値に到達する。
その経路が最適経路になる(ステップS42)。また、
目的地リンクのルートコストを参照すると、そのルート
コストが出発値から目的地点までの最適経路ルートコス
トとなる。
【0044】次に、経由地点を指定する場合の計算方法
を図9,11,12を用いて説明する。 (2) 経由地点が1つある場合 経由地リンクをリンクB→Cとする。CPU26aは、
初期リンクA→Bをピボットテーブルに登録し(ステッ
プS1)、このピボットリンクに対応するルートコスト
をリンクテーブル上で0にしておく。
を図9,11,12を用いて説明する。 (2) 経由地点が1つある場合 経由地リンクをリンクB→Cとする。CPU26aは、
初期リンクA→Bをピボットテーブルに登録し(ステッ
プS1)、このピボットリンクに対応するルートコスト
をリンクテーブル上で0にしておく。
【0045】CPU26aは、ピボットテーブルを参照
し(ステップS2)、初期リンクA→Bを未処理ピボッ
トリンクとして取り出す(ステップS4)。CPU26
aは、アークテーブルを参照し、当該リンクA→Bにつ
ながるリンクを探索する(ステップS6)。その結果、
まず、リンクB→Eが探し出される。ステップS7に進
み、アークテーブルの当該欄のアークコストを参照す
る。そして、図1のステップS20に移り、ピボットリ
ンクA→Bのルートコスト(0になっている)に前記ア
ークコストを加える。次に、接続リンクB→Eが経由地
リンクB→Cかどうかを判定する(ステップS21)。
経由地リンクB→Cでなければ、ステップS24に進
み、このルートコストをリンクテーブルに書込みまれた
接続リンクB→Eのルートコスト(初期値は無限大)よ
り小さいかどうか判定する。
し(ステップS2)、初期リンクA→Bを未処理ピボッ
トリンクとして取り出す(ステップS4)。CPU26
aは、アークテーブルを参照し、当該リンクA→Bにつ
ながるリンクを探索する(ステップS6)。その結果、
まず、リンクB→Eが探し出される。ステップS7に進
み、アークテーブルの当該欄のアークコストを参照す
る。そして、図1のステップS20に移り、ピボットリ
ンクA→Bのルートコスト(0になっている)に前記ア
ークコストを加える。次に、接続リンクB→Eが経由地
リンクB→Cかどうかを判定する(ステップS21)。
経由地リンクB→Cでなければ、ステップS24に進
み、このルートコストをリンクテーブルに書込みまれた
接続リンクB→Eのルートコスト(初期値は無限大)よ
り小さいかどうか判定する。
【0046】小さければ、ステップS25に進み、接続
リンクB→Eが経由地リンクB→Cかどうかを判定す
る。経由地リンクB→Cでなければ、接続リンクB→E
の経由地点通過フラグとして、進入リンクA→Bの経由
地点通過フラグの値(初期値0)をそのまま設定する
(ステップS27)。その後、図11のステップS28
に進み、接続リンクB→Eのルートコストを書き換え、
接続リンクB→Eの前リンクとして、リンクA→Bを設
定する(ステップS29)。さらにこの接続リンクB→
Eをピボットテーブルに登録する(ステップS30)。
リンクB→Eが経由地リンクB→Cかどうかを判定す
る。経由地リンクB→Cでなければ、接続リンクB→E
の経由地点通過フラグとして、進入リンクA→Bの経由
地点通過フラグの値(初期値0)をそのまま設定する
(ステップS27)。その後、図11のステップS28
に進み、接続リンクB→Eのルートコストを書き換え、
接続リンクB→Eの前リンクとして、リンクA→Bを設
定する(ステップS29)。さらにこの接続リンクB→
Eをピボットテーブルに登録する(ステップS30)。
【0047】その後、ステップS5に戻り、当該リンク
A→Bにつながる他のリンクを探索する(ステップS
6)。その結果、リンクB→Cが探し出される。ステッ
プS7に進み、アークテーブルの当該欄のアークコスト
とリンクテーブルへのポインタが参照される。アークコ
ストは、リンクA→Bのリンクコストに交差点Bでの右
折コストを加えたものになる。そして、図1のステップ
S20に移り、ピボットテーブルのリンクA→Bのルー
トコスト(0になっている)に前記アークコストを加え
る。
A→Bにつながる他のリンクを探索する(ステップS
6)。その結果、リンクB→Cが探し出される。ステッ
プS7に進み、アークテーブルの当該欄のアークコスト
とリンクテーブルへのポインタが参照される。アークコ
ストは、リンクA→Bのリンクコストに交差点Bでの右
折コストを加えたものになる。そして、図1のステップ
S20に移り、ピボットテーブルのリンクA→Bのルー
トコスト(0になっている)に前記アークコストを加え
る。
【0048】ステップS21に移り、接続リンクB→C
が経由地リンクB→Cかどうかが判定される。経由地リ
ンクB→Cであれば、ステップS22に進み、この接続
リンクB→Cは経由地点通過済みかどうかが判定され
る。この判定は、経由地点を2度通過しないように行わ
れるもので、経由地点通過フラグが立っているかどうか
により判定される。通過済みであれば、この接続リンク
B→Eの処理は打切り、ステップS5にもどり、他の接
続リンクを探す。経由地点が未通過であれば、ステップ
S23に進み、ピボットリンクA→Bのルートコストに
前記アークコストを加えた値(ステップS20で求めた
もの)に−aを加える。aは出発地点から目的地点まで
予想されるルートコストよりも2桁程度大きな値であれ
ばよいが、もっと大きな値でもよい。これにより、経由
地点通過時のルートコストを大きく下げて、経由地点の
通過を間接的に保証することができる。
が経由地リンクB→Cかどうかが判定される。経由地リ
ンクB→Cであれば、ステップS22に進み、この接続
リンクB→Cは経由地点通過済みかどうかが判定され
る。この判定は、経由地点を2度通過しないように行わ
れるもので、経由地点通過フラグが立っているかどうか
により判定される。通過済みであれば、この接続リンク
B→Eの処理は打切り、ステップS5にもどり、他の接
続リンクを探す。経由地点が未通過であれば、ステップ
S23に進み、ピボットリンクA→Bのルートコストに
前記アークコストを加えた値(ステップS20で求めた
もの)に−aを加える。aは出発地点から目的地点まで
予想されるルートコストよりも2桁程度大きな値であれ
ばよいが、もっと大きな値でもよい。これにより、経由
地点通過時のルートコストを大きく下げて、経由地点の
通過を間接的に保証することができる。
【0049】ステップS24では、以上のようにして求
められたルートコストがリンクテーブルに書込みまれた
接続リンクB→Cのルートコスト(初期値=無限大)よ
り小さいかどうか判定する。小さければ、ステップS2
5に進み、接続リンクB→Cが経由地リンクB→Cかど
うかが判定される。経由地リンクB→Cであれば、経由
地点通過フラグ1を設定する(ステップS26)。
められたルートコストがリンクテーブルに書込みまれた
接続リンクB→Cのルートコスト(初期値=無限大)よ
り小さいかどうか判定する。小さければ、ステップS2
5に進み、接続リンクB→Cが経由地リンクB→Cかど
うかが判定される。経由地リンクB→Cであれば、経由
地点通過フラグ1を設定する(ステップS26)。
【0050】その後、図11のステップS28に進み、
接続リンクB→Cのルートコストを書き換え、接続リン
クB→Cの前リンクとして、リンクA→Bを設定する
(ステップS29)。さらにこの接続リンクB→Cをピ
ボットテーブルに登録し(ステップS30)、ステップ
S5に戻る。ステップS5では、当該リンクA→Bにつ
ながる他のリンクを探索するが(ステップS6)、リン
クA→Bにつながる他のリンクはこれ以上存在しないの
で、ステップS31に進み、ピボットリンクA→Bに処
理済フラグを立てる。そしてピボットテーブルを参照し
(ステップS2)、未処理ピボットリンクがあるかどう
かを判定する(ステップS3)。この段階では、リンク
B→E,B→Cがピボットテーブルに未処理として登録
されている。そこで、未処理ピボットリンクを1つずつ
取り出し、上と同じ処理をする。すなわち、接続リンク
を探し出し、そのリンクのルートコストを書き換える。
このようにして、リンクE→F,C→A,C→D,E→
Fのルートコストが求まっていく。
接続リンクB→Cのルートコストを書き換え、接続リン
クB→Cの前リンクとして、リンクA→Bを設定する
(ステップS29)。さらにこの接続リンクB→Cをピ
ボットテーブルに登録し(ステップS30)、ステップ
S5に戻る。ステップS5では、当該リンクA→Bにつ
ながる他のリンクを探索するが(ステップS6)、リン
クA→Bにつながる他のリンクはこれ以上存在しないの
で、ステップS31に進み、ピボットリンクA→Bに処
理済フラグを立てる。そしてピボットテーブルを参照し
(ステップS2)、未処理ピボットリンクがあるかどう
かを判定する(ステップS3)。この段階では、リンク
B→E,B→Cがピボットテーブルに未処理として登録
されている。そこで、未処理ピボットリンクを1つずつ
取り出し、上と同じ処理をする。すなわち、接続リンク
を探し出し、そのリンクのルートコストを書き換える。
このようにして、リンクE→F,C→A,C→D,E→
Fのルートコストが求まっていく。
【0051】なお、リンクC→Aを探索した後、リンク
C→Aに接続するリンクをアークテーブルから拾うと、
初期リンクA→Bに戻ってしまう。この場合はステップ
S24において、リンクA→Bの新しいルートコスト
を、リンクA→Bのルートコストとして登録されている
値(初期値=0)と比較する。新しいルートコストは、
経由地を1回通っているので通常のルートコストからa
を引いた値である。aは非常に大きな数であるので、 (新しいルートコスト)<(前のルートコスト=0) という関係が成立し、ステップS25−S30に進む。
したがって、経路が閉ループとなって探索が無限に続く
ように見えるが、次に経由地リンクB→Cに到達したと
きに、経由地点通過済みかどうかの判断がされる(ステ
ップS22)。経由地点通過済みであれば、そこで探索
が打ち切られるので無限ループに陥るおそれはない。
C→Aに接続するリンクをアークテーブルから拾うと、
初期リンクA→Bに戻ってしまう。この場合はステップ
S24において、リンクA→Bの新しいルートコスト
を、リンクA→Bのルートコストとして登録されている
値(初期値=0)と比較する。新しいルートコストは、
経由地を1回通っているので通常のルートコストからa
を引いた値である。aは非常に大きな数であるので、 (新しいルートコスト)<(前のルートコスト=0) という関係が成立し、ステップS25−S30に進む。
したがって、経路が閉ループとなって探索が無限に続く
ように見えるが、次に経由地リンクB→Cに到達したと
きに、経由地点通過済みかどうかの判断がされる(ステ
ップS22)。経由地点通過済みであれば、そこで探索
が打ち切られるので無限ループに陥るおそれはない。
【0052】最後に求められた目的地リンクE→Fのル
ートコストは、先に求められたルートコストに比べて、
経由地点通過分aだけ低い値になっている。したがっ
て、ステップS24からS25,27を経てステップS
28に進み、ルートコストを書き換える処理をする。さ
らに、ステップS29において、前リンクをリンクB→
EからリンクD→Eに変更し、ステップS5に戻る。
ートコストは、先に求められたルートコストに比べて、
経由地点通過分aだけ低い値になっている。したがっ
て、ステップS24からS25,27を経てステップS
28に進み、ルートコストを書き換える処理をする。さ
らに、ステップS29において、前リンクをリンクB→
EからリンクD→Eに変更し、ステップS5に戻る。
【0053】そして、ステップS5,S31,S2を経
由してステップS3に至り未処理ピボットリンクがある
かどうかを判定する。ピボットリンクがすべて処理済み
となると、ステップS41に行き、リンクテーブルのそ
れぞれのリンクのルートコストの値に、aを加える。こ
れは、今までルートコストからaを引いたので、元に戻
すためである。そして、ステップS42において、目的
地リンクであるリンクE→Fの前リンクを辿っていき、
経由地点を通過する最適経路を決定する。この最適経路
は、A→B,B→C,C→D,C→E,E→Fである。
リンクE→Fのルートコストを参照すると、そのルート
コストが出発値から目的地点までの経由地点を通過する
最適経路のルートコストとなる。 (3) 経由地点が複数(N)個ある場合 この場合は、リンクテーブルの経由地点通過フラグの種
類をN個とする。
由してステップS3に至り未処理ピボットリンクがある
かどうかを判定する。ピボットリンクがすべて処理済み
となると、ステップS41に行き、リンクテーブルのそ
れぞれのリンクのルートコストの値に、aを加える。こ
れは、今までルートコストからaを引いたので、元に戻
すためである。そして、ステップS42において、目的
地リンクであるリンクE→Fの前リンクを辿っていき、
経由地点を通過する最適経路を決定する。この最適経路
は、A→B,B→C,C→D,C→E,E→Fである。
リンクE→Fのルートコストを参照すると、そのルート
コストが出発値から目的地点までの経由地点を通過する
最適経路のルートコストとなる。 (3) 経由地点が複数(N)個ある場合 この場合は、リンクテーブルの経由地点通過フラグの種
類をN個とする。
【0054】そして、ステップS22の判断において、
他の経由地点のリンクを通過していても当該経由地リン
クが未通過であれば、「経由地点未通過」の判断をす
る。ステップS26の処理における経由地点通過フラグ
として、通過した経由地点に応じたフラグを立てる。例
えば、通過した接続リンクが経由地点1のリンクであれ
ば、「経由地点通過フラグ1」を立て、接続リンクが経
由地点2のリンクであれば、「経由地点通過フラグ2」
を立てる。
他の経由地点のリンクを通過していても当該経由地リン
クが未通過であれば、「経由地点未通過」の判断をす
る。ステップS26の処理における経由地点通過フラグ
として、通過した経由地点に応じたフラグを立てる。例
えば、通過した接続リンクが経由地点1のリンクであれ
ば、「経由地点通過フラグ1」を立て、接続リンクが経
由地点2のリンクであれば、「経由地点通過フラグ2」
を立てる。
【0055】このようにすることによって、各経由地点
を1回ずつ通る最適経路を見つけることができるように
なる。ただし、この発明では、各経由地点を通る順番は
特定することができない。さらに、経由地点が複数
(N)個ある場合は、前リンクの欄を2N 個とする。例
えば経由地点数を2とすれば、通過した経由地点のパタ
ーンに応じて22 =4通りの前リンク(経由地点1非通
過,経由地点2非通過の場合;経由地点1非通過,経由
地点2通過の場合;経由地点1通過,経由地点2非通過
の場合;経由地点1通過,経由地点2通過の場合)を設
定する。
を1回ずつ通る最適経路を見つけることができるように
なる。ただし、この発明では、各経由地点を通る順番は
特定することができない。さらに、経由地点が複数
(N)個ある場合は、前リンクの欄を2N 個とする。例
えば経由地点数を2とすれば、通過した経由地点のパタ
ーンに応じて22 =4通りの前リンク(経由地点1非通
過,経由地点2非通過の場合;経由地点1非通過,経由
地点2通過の場合;経由地点1通過,経由地点2非通過
の場合;経由地点1通過,経由地点2通過の場合)を設
定する。
【0056】このようにするのは、前に説明したように
経由地点が設定されている場合、経路の一部が重なる、
すなわち各経由地点を通過するために同じ道を2回以上
通ることがあるからである。このとき、通過した経由地
点のパターンによって、前リンクの意味が異なってく
る。したがって、通過した経由地点のパターンに応じて
2N 個の欄を設け、それぞれに前リンクを記入するよう
にすれば、当該リンクが1回目の経路を構成する場合
と、2回目以後の経路を構成する場合とで経路を区別す
ることができるようになる。
経由地点が設定されている場合、経路の一部が重なる、
すなわち各経由地点を通過するために同じ道を2回以上
通ることがあるからである。このとき、通過した経由地
点のパターンによって、前リンクの意味が異なってく
る。したがって、通過した経由地点のパターンに応じて
2N 個の欄を設け、それぞれに前リンクを記入するよう
にすれば、当該リンクが1回目の経路を構成する場合
と、2回目以後の経路を構成する場合とで経路を区別す
ることができるようになる。
【0057】
【発明の効果】以上のように、本発明の経路計算方法に
よれば、経由地点が1つ又は複数設定されている場合で
あっても、各経由地点を1回ずつ通る最適経路を1度の
計算で求めることができる。したがって、出発地点から
経由地点までの最適経路を計算し、次に経由地点から目
的地点までの最適経路を計算し、最後に両経路をつなぎ
合わせるという方法と比較して、計算処理時間を短くす
ることができる。
よれば、経由地点が1つ又は複数設定されている場合で
あっても、各経由地点を1回ずつ通る最適経路を1度の
計算で求めることができる。したがって、出発地点から
経由地点までの最適経路を計算し、次に経由地点から目
的地点までの最適経路を計算し、最後に両経路をつなぎ
合わせるという方法と比較して、計算処理時間を短くす
ることができる。
【図1】経由地点の指定がある場合の最適経路計算の方
法を説明するフローチャート(図9の続き)である。
法を説明するフローチャート(図9の続き)である。
【図2】本発明の経路計算方法を実行するナビゲーショ
ン装置を示すブロック図である。
ン装置を示すブロック図である。
【図3】十字路における退出リンクの例を示す図であ
る。
る。
【図4】十字路における進入リンクの例を示す図であ
る。
る。
【図5】コントローラの詳細構成図である。
【図6】ルートコストを説明するための簡単なリンク構
成図である。
成図である。
【図7】出発地点と目的地点とを含む経路計算の対象と
なるの範囲内のリンク構成図である。
なるの範囲内のリンク構成図である。
【図8】接続リンクを次々と求めることによって得られ
たリンクのツリーを示す図である。
たリンクのツリーを示す図である。
【図9】最適経路計算の方法を説明するフローチャート
である。
である。
【図10】経由地点の指定がない場合の最適経路計算の
方法を説明するフローチャート(図9の続き)である。
方法を説明するフローチャート(図9の続き)である。
【図11】経由地点の指定がある場合の最適経路計算の
方法を説明するフローチャート(図1の続き)である。
方法を説明するフローチャート(図1の続き)である。
14B 経路ネットワークメモリ 17 コントローラ 26 経路計算処理部 26a CPU 26c 主メモリ
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 庁内整理番号 FI 技術表示箇所 G06T 7/60 G08G 1/0969 7531−3H
Claims (2)
- 【請求項1】経路ネットワークを構成する各リンクのコ
スト及びリンク相互の接続関係を記憶した経路ネットワ
ークメモリと、 リンクごとに、リンクコストと、このリンクの次に接続
される1つ又は複数の接続リンクと、このリンクの前に
接続される計算済の経路上のリンクと、前記計算済の経
路のルートコストとを記入する欄を有する第1のテーブ
ルと、 現在接続リンクを探索しているリンクを記入する欄を有
する第2のテーブルとを用いて、 (a) 出発地点、経由地点及び目的地点の設定に応じて、
経路ネットワークメモリから一定範囲の経路ネットワー
クデータを読み出し、 (b) 読み出された経路ネットワークデータに基づいて、
経路ネットワークを構成する各リンクごとのリンクコス
ト、接続リンクを特定するとともに、各リンクのルート
コストの初期値を十分大きな値に設定して、前記第1の
テーブルの該当欄に書込み、 (c) 出発地点を含むリンクを第2のテーブルに書込み、
この第2のテーブルに書き込まれたリンクに対応する第
1のテーブルのルートコスト欄を0に設定し、 (d) 第2のテーブルに記入されたリンクについて、第1
のテーブルを参照して接続リンクを探索し、探索された
接続リンクのリンクコストを前記第2のテーブルに記入
されたリンクコストに加え、この加えた値を、第1のテ
ーブルに記入された当該接続リンクのルートコストと比
較し、 (e) 比較の結果、加えられた値が大きければ、その接続
リンクについての処理を打切り、小さければその値を第
1のテーブルの当該接続リンクのルートコストに書換え
るとともに、前記第2のテーブルに記入されたリンクを
この接続リンクに到る計算済の経路上のリンクとして書
込み、 (f) 当該接続リンクを第2のテーブルに新たに記入し
て、前記(d) ,(e) の処理を繰り返し、 (g) 第2のテーブルに記入された全てのリンクについて
接続リンクの探索が終了したときに、目的地点を含むリ
ンクを第1のテーブルから探し出し、そのリンクに到る
計算済の経路上のリンクを順に辿っていくことにより、
最適経路を決定する経路計算方法において、 前記手順(d) において、探索された接続リンクが経由地
点を含むリンクであるときに、前記値に十分大きな負の
値を加えて比較するとともに、当該接続リンク及び以後
探索されるこれに接続されるリンクに当該経由地点通過
済みのステータスを与え、 前記手順(d) において、探索された接続リンクが経由地
点を含むリンクであるときに、この接続リンクが当該経
由地点通過済みのステータスを有していれば、その接続
リンクについての探索処理を打切ることを特徴とする経
路計算方法。 - 【請求項2】経由地点の数が複数個ある場合、前記経由
地点通過済みのステータスを、各経由地点に応じて区別
して設定し、第1のテーブルの「前に接続される計算済
の経路上のリンク」を、各経由地点通過・非通過の組み
合わせに応じて複数通り設定することを特徴とする請求
項1記載の経路計算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5178135A JPH0736381A (ja) | 1993-07-19 | 1993-07-19 | 経路計算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5178135A JPH0736381A (ja) | 1993-07-19 | 1993-07-19 | 経路計算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JPH0736381A true JPH0736381A (ja) | 1995-02-07 |
Family
ID=16043268
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5178135A Pending JPH0736381A (ja) | 1993-07-19 | 1993-07-19 | 経路計算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JPH0736381A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0996538A (ja) * | 1995-09-29 | 1997-04-08 | Matsushita Electric Ind Co Ltd | 経路探索装置 |
WO2003088189A1 (fr) * | 2002-03-29 | 2003-10-23 | Matsushita Electric Industrial Co., Ltd. | Procede de mise en correspondance de cartes, dispositif de mise en correspondance de cartes, base de donnees pour la mise en correspondance de formes, et dispositif de mise en correspondance de formes |
JP2004125537A (ja) * | 2002-09-30 | 2004-04-22 | Matsushita Electric Ind Co Ltd | マップマッチング方法と装置 |
US7862360B2 (en) | 2007-01-30 | 2011-01-04 | Harada Industry Co., Ltd. | Antenna connector assembly |
US9225055B2 (en) | 2011-03-24 | 2015-12-29 | Harada Industry Co., Ltd. | Antenna device |
-
1993
- 1993-07-19 JP JP5178135A patent/JPH0736381A/ja active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0996538A (ja) * | 1995-09-29 | 1997-04-08 | Matsushita Electric Ind Co Ltd | 経路探索装置 |
WO2003088189A1 (fr) * | 2002-03-29 | 2003-10-23 | Matsushita Electric Industrial Co., Ltd. | Procede de mise en correspondance de cartes, dispositif de mise en correspondance de cartes, base de donnees pour la mise en correspondance de formes, et dispositif de mise en correspondance de formes |
US7657372B2 (en) | 2002-03-29 | 2010-02-02 | Panasonic Corporation | Map matching method, map matching device, database for shape matching, and shape matching device |
JP2004125537A (ja) * | 2002-09-30 | 2004-04-22 | Matsushita Electric Ind Co Ltd | マップマッチング方法と装置 |
US7862360B2 (en) | 2007-01-30 | 2011-01-04 | Harada Industry Co., Ltd. | Antenna connector assembly |
US9225055B2 (en) | 2011-03-24 | 2015-12-29 | Harada Industry Co., Ltd. | Antenna device |
US9825351B2 (en) | 2011-03-24 | 2017-11-21 | Harada Industry Co., Ltd. | Antenna device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8670922B2 (en) | Guiding route generation device and guiding route generation method | |
JP3371768B2 (ja) | 車両用走行経路案内装置およびその地図データ記録媒体 | |
JP4217569B2 (ja) | 道路セグメントの網を表示する方法及びルートを決定する方法 | |
JP3412164B2 (ja) | 経路表示装置 | |
JP2003177028A (ja) | 電子地図表示装置 | |
JPH0553500A (ja) | 車両誘導表示装置 | |
JPH0553501A (ja) | 経路テーブルを用いた最適経路決定方法 | |
JPH0736381A (ja) | 経路計算方法 | |
JP3022269B2 (ja) | 経路情報提供装置 | |
JP3039226B2 (ja) | 経路計算方法及び装置 | |
JPH04319619A (ja) | 車載用ナビゲーションシステム | |
JP2716058B2 (ja) | 車載ナビゲータ | |
JPH09113297A (ja) | 経路計算方法及びこの方法を使用するナビゲーション装置 | |
JPH0472513A (ja) | 経路誘導装置 | |
JP3805413B2 (ja) | 車両用走行案内装置 | |
JP2601943B2 (ja) | 最適経路計算装置 | |
JPH0375998A (ja) | ナビゲーション装置 | |
JP2906943B2 (ja) | 経路計算方法及び装置 | |
JP2905491B2 (ja) | ナビゲーション装置 | |
JPH04177287A (ja) | 最適経路決定装置 | |
JPH09257505A (ja) | 車載用ナビゲーション装置の経路誘導方法 | |
JPH07272194A (ja) | 復帰経路計算機能を備えるナビゲーション装置 | |
JPH0553504A (ja) | 車両誘導装置 | |
JPH02210599A (ja) | ナビゲーション装置 | |
JP2504826B2 (ja) | 経路誘導装置 |