(57)【特許請求の範囲】
【請求項１】
画面を有する表示部と、
歩道の所定地点に予め設定された複数のノードと各ノード間の距離及び歩道状態を含む地図データを記憶した地図データ記憶部と、
歩行者の移動条件を指定する移動条件指定部と、
現在地及び目的地を含む位置を指定する位置指定部と、
現在地と目的地とを結ぶ経路候補となる各ノードを地図データ記憶部から検索する検索部と、
検索された各ノード間の距離と各ノード間の経路の状態と歩行者の移動条件とに基づいて移動の労力に比例するような移動負荷を算出する算出部と、
算出された移動負荷に基づいて経路候補を生成する経路生成部と、
生成された経路候補を含む地図画像を選択可能に表示部に表示する地図描画部とを有するパーソナルナビゲーション装置。
【請求項２】
前記地図データ記憶部は、歩道状態としてノード間の傾斜度、ノード間に存在する横断歩道、歩道橋、階段を含む地図データを記憶することを特徴とした請求項１記載のパーソナルナビゲーション装置。
【請求項３】
前記地図データ記憶部は、歩道状態及び歩行者の移動条件に対応する移動負荷係数を記憶した移動負荷係数テーブルを有し、前記移動負荷算出部は、ノード間の距離に歩道状態及び歩行者の移動条件に対応する移動負荷係数をかけることにより各ノード間に対する歩行者の移動負荷を算出することを特徴とした請求項１記載のパーソナルナビゲーション装置。
【請求項４】
前記移動負荷係数テーブルは、歩行者の移動条件に基づいて予め決めた最大許容移動負荷を記憶し、前記経路生成部は、最大許容移動負荷を越えるノードを経由する経路候補は生成しないことを特徴とした請求項３のパーソナルナビゲーション装置。
【請求項５】
前記経路生成部は、前記算出部によって算出された各ノード間に対する歩行者の移動負荷に基づいて目的地までの移動負荷が最小となる経路候補を生成することを特徴とした請求項３記載のパーソナルナビゲーション装置。
【請求項６】
前記地図描画部は、前記地図データ記憶部から検索された地図データを用いて、経路候補上の現在地に現在位置マークで描画した地図画像を生成することを特徴とした請求項１のパーソナルナビゲーション装置。
【請求項７】
前記地図描画部は、一定範囲の歩道、歩道橋、横断歩道のみを含む経路候補の地図画像を前記表示部に表示することを特徴とした請求項１のパーソナルナビゲーション装置。
【請求項８】
パーソナルナビゲーション装置をコンピュータで制御するプログラムを記憶した記憶媒体であって、
歩道の所定地点に予め設定された複数のノードと各ノード間の距離及び歩道状態を含む地図データを地図データ記憶部に記憶する地図データ記憶機能と、
移動条件指定部を用いて、歩行者の移動条件を指定する移動条件指定機能と、
位置指定部を用いて、現在地及び目的地を含む位置を指定する位置指定機能と、
現在地と目的地とを結ぶ経路候補となる各ノードを地図データ記憶部から検索するノード検索機能と、
検索された各ノード間の距離と各ノード間の経路の状態と歩行者の移動条件とに基づいて移動の労力に比例するような移動負荷を算出する移動負荷算出機能と、
算出された移動負荷に基づいて経路候補を生成する経路生成機能と、
生成された経路候補を含む地図画像を選択可能に表示部に表示する地図描画機能とを有するコンピュータプログラムを記憶した記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は個人が携帯して利用するパーソナルナビゲーション装置に関し、特に、指定した現在地及び目的地とを結ぶ複数の経路候補を表示し、経路候補を個人の状態にあわせて選択できるパーソナルナビゲーション装置及びこれに利用される記憶媒体に関する。
【０００２】
【従来の技術】
従来、地図データを記憶したＣＤ−ＲＯＭなどの記憶装置から車両位置周辺の地図データを読み出し、車両位置周辺の背景、道路名を含む地図画像を車両位置マークとともに描画し表示装置に画面表示させるようにした車載用ナビゲーション装置が利用されている。
ところで、郊外のような道路が少ない場合は道路名を全て表示しても問題ないが、道路の密度が高い市街地などでは道路の名前を全て表示すると道路名で画面が一杯となったりかさなってしまうという問題があった。
【０００３】
例えば、この問題を改善する技術として、特開平８−２１７３８号公報によれば、車両と道路の位置関係、道路の種別により道路名を表示する重要度を設定できる構成にしたことにより、地図が多数の道路名で見づらくなるのを防止することができる車載用ナビゲーション装置が提案されている。
【０００４】
また、従来のナビゲーションシステムの表示装置に表示される地図としては、一般に平面的な図形を扱っているので、運転者の技量、車の性能に拘わらず、提示された誘導経路を実際に走行しないと、起伏や高度差のある地形の情報を得ることができなかった。
例えば、この問題を改善する技術として、例えば、特開平８−２４７７７７号公報によれば、表示装置に表示された地図に道路の勾配を併せて表示する構成にしたことにより、走行する前に、運転者の技量、車の性能に併せて予め勾配の少ない経路を選択することができる車載用ナビゲーション装置が提案されている。
【０００５】
【発明が解決しようとする課題】
特開平８−２１７３８号公報、特開平８−２４７７７７号公報の車載用ナビゲーション装置では、車道を経路とする多種多様の情報を得ることができる。
しかしながら、歩道を経路として扱わないので、歩道、横断歩道、歩道橋などを表示することがあっても、単に背景として表示するだけであった。
例えば、歩行者に移動条件（健常者、車椅子使用者など）がある場合、歩行者の移動条件に応じた経路情報を得ることができないので、自分が立っている交差点の向こうに渡りたいとき、どのような経路なのか、移動困難な経路がどこにあるのかなど確認できないという問題がある。
【０００６】
本発明は以上の事情を考慮してなされたものであり、例えば、現在地から目的地に至る経路のナビゲーション情報として、歩行者の移動条件及び歩道状態に応じた複数の経路候補を生成して表示する構成にしたことにより、歩行者が自分に適した移動負荷が少ない経路候補の選択が可能になるパーソナルナビゲーション装置及びこれに利用される記憶媒体を提供するものである。
【０００７】
【課題を解決するための手段】
本発明では、画面を有する表示部と、歩道の所定地点に予め設定された複数のノードと各ノード間の距離及び歩道状態を含む地図データを記憶した地図データ記憶部と、歩行者の移動条件を指定する移動条件指定部と、現在地及び目的地を含む位置を指定する位置指定部と、現在地と目的地とを結ぶ経路候補となる各ノードを地図データ記憶部から検索する検索部と、歩道状態及び歩行者の移動条件に基づいて各ノード間に対する歩行者の移動負荷を算出する算出部と、移動負荷が付加されたノード間の距離及び歩道状態が含まれる地図データを用いて歩行者に応じた複数の経路候補を生成する経路生成部と、経路候補を含む地図画像を選択可能に表示部に表示する地図描画部とを有するパーソナルナビゲーション装置である。
【０００８】
本発明によれば、現在地から目的地に至る経路のナビゲーション情報として、歩行者の移動条件及び歩道状態に応じた複数の経路候補を生成して表示する構成にしたことにより、歩行者が自分に適した移動負荷が少ない経路候補の選択が可能になる。
【０００９】
前記地図データ記憶部は、歩道状態としてノード間の傾斜度、ノード間に存在する横断歩道、歩道橋、階段を含む地図データを記憶する構成にしてもよい。
この構成によれば、歩道状態を考慮した経路候補を生成して表示することができる。
【００１０】
前記地図データ記憶部は、歩道状態及び歩行者の移動条件に対応する移動負荷係数を記憶した移動負荷係数テーブルを有し、前記移動負荷算出部は、ノード間の距離に歩道状態及び歩行者の移動条件に対応する移動負荷係数をかけることにより各ノード間に対する歩行者の移動負荷を算出する構成にしてもよい。
この構成によれば、歩行者の移動条件に対応して目的地までの移動負荷を算出することができる。
【００１１】
前記移動負荷係数テーブルは、歩行者の移動条件に基づいて予め決めた最大許容移動負荷を記憶し、前記経路生成部は、最大許容移動負荷を越えるノードを経由する経路候補は生成しない構成にしてもよい。
この構成によれば、歩行者の移動条件にかかわらず通行可能な範囲で経路候補を生成することができる。
【００１２】
前記経路生成部は、前記算出部によって算出された各ノード間に対する歩行者の移動負荷に基づいて目的地までの移動負荷が最小となる経路候補を生成する構成にしてもよい。
この構成によれば、歩行者の移動条件に対し目的地までの移動負荷が最小となる経路候補を生成することができる。
【００１３】
前記地図描画部は、前記地図データ記憶部から検索された地図データを用いて、経路候補上の現在地に現在位置マークで描画した地図画像を生成する構成にしてもよい。
この構成によれば、歩行者は、地図画像から経路候補の現在位置を簡単に確認することができる。
【００１４】
前記地図描画部は、一定範囲の歩道、歩道橋、横断歩道のみを含む経路候補の地図画像を前記表示部に表示する構成にしてもよい。
この構成によれば、表示部に表示される経路候補が見にくくならないようにすることができる。
【００１５】
本発明の別の観点によれば、パーソナルナビゲーション装置をコンピュータで制御するプログラムを記憶した記憶媒体であって、歩道の所定地点に予め設定された複数のノードと各ノード間の距離及び歩道状態を含む地図データを地図データ記憶部に記憶する地図データ記憶機能と、移動条件指定部を用いて、歩行者の移動条件を指定する移動条件指定機能と、位置指定部を用いて、現在地及び目的地を含む位置を指定する位置指定機能と、現在地と目的地とを結ぶ経路候補となる各ノードを地図データ記憶部から検索するノード検索機能と、歩道状態及び歩行者の移動条件に基づいて各ノード間に対する歩行者の移動負荷を算出する移動負荷算出機能と、移動負荷が付加されたノード間の距離及び歩道状態が含まれる地図データを用いて歩行者に応じた複数の経路候補を生成する経路生成機能と、経路候補を含む地図画像を選択可能に表示部に表示する地図描画機能とを有するコンピュータプログラムを記憶した記憶媒体が提供される。
【００１６】
この構成によれば、記憶媒体に記憶されたコンピュータプログラムを、装置本体のプログラムメモリにインストールすることにより、現在地から目的地に至る経路のナビゲーション情報として、歩行者の移動条件及び歩道の状態に応じて、自分に適した移動負荷が少ない経路候補の選択が可能になるパーソナルナビゲーション装置を実現することができる。
この記憶媒体に地図データを記憶してもよい。
【００１７】
【発明の実施の形態】
以下、図に示す実施例に基づいて本発明を詳述する。なお、本発明はこれによって限定されるものではない。
【００１８】
図１は本発明の一実施例であるパーソナルナビゲーション装置の全体構成を示すブロック図である。図１において、パーソナルナビゲーション装置は、通信部１、入力部２、表示部３、ナビゲーションコントローラ９、記憶媒体１０から構成されている。
【００１９】
ナビゲーションコントローラ９は、例えば、ＣＰＵ、ＲＯＭ、ＲＡＭ、Ｉ／Ｏポートからなるコンピュータ、及びマスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭなどによる半導体メモリ、フロッピーディスクやハードディスクなどの磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤなどの光ディスクのディスク系、ＩＣカード（メモリカードも含む）／光カードなどのカード系などを含めた記憶媒体で構成され、地図データ記憶部４、経路生成部５、ユーザー情報記憶部６、地図描画部７、プログラムメモリ８として機能する。
【００２０】
通信部１は、ＧＰＳやＰＨＳとの通信により現在地の座標データ（経緯度データ）を得る現在位置検出部として機能し、現在地を指定したり、歩行中の現在位置または誤って指定した現在位置を補正することもできる。通信部１から現在位置周辺の地図データを取得して地図データ記憶部４に記憶してもよい。
【００２１】
入力部２は、例えば、キーパッド、タッチパネルキーなどで構成され、地図表示画面のスクロール指示を行うスクロール指示キー、経路生成モード設定/解除キー、目的地設定キーなどを備え、歩行者の移動条件を指定する移動条件指定部、現在地及び目的地を含む位置を指定する位置指定部として機能する。
【００２２】
表示部３は、例えば、液晶ディスプレイ装置、プラズマディスプレイ装置、ＥＬディスプレイ装置などで構成され、地図描画部７で描画された地図画像を表示する。また、現在地と目的地とを結ぶ経路候補を選択可能に表示する。
【００２３】
地図データ記憶部４は、例えば、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭなどによる半導体メモリ、フロッピーディスクやハードディスクなどの磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤなどの光ディスクのディスク系、ＩＣカード（メモリカードも含む）／光カードなどのカード系などを含めた記憶媒体で構成され、背景レイヤ、文字・記号レイヤ、道路レイヤ、歩道レイヤなどから構成された地図データや文字記号や経路データを記憶する。
【００２４】
また、地図データ記憶部４は、歩道の所定地点に予め設定された複数のノードと各ノード間の距離及び歩道状態を含む地図データを記憶している。
また、地図データ記憶部４は、歩道状態としてノード間の傾斜度、ノード間に存在する横断歩道、歩道橋、階段を含む地図データを記憶している。
また、地図データ記憶部４は、歩道状態及び歩行者の移動条件に対応する移動負荷係数を記憶した移動負荷係数テーブルをさらに有してもよい。
また、移動負荷係数テーブルは、歩行者の移動条件に基づいて予め決めた最大許容移動負荷を記憶してもよい。
【００２５】
ここで、歩行者の移動条件とは、健常者、車椅子使用者などの条件とする。
歩道とは、歩行者(自転車含む)専用の通行路(車道に付随する通行帯、歩道橋、細い道、地下道、スロープ、歩行者専用道路、遊歩道、土手、山道、階段、公園の出入り口、アーケード街、細い橋、吊り橋、各種建物・施設などの敷地内で通常通行可能な通路)をいい、車両は通行できないものとする。
【００２６】
経路生成部５は、通信部１から得た現在地座標と入力部２から得た目的地座標とから、現在地と目的地とを結ぶ経路候補となる各ノードを地図データ記憶部から検索し、歩道状態及び歩行者の移動条件に基づいて各ノード間に対する歩行者の移動負荷を算出し、移動負荷が付加されたノード間の距離及び歩道状態が含まれる地図データを用いて歩行者に応じた複数の経路候補を生成する。
【００２７】
また、経路生成部５は、ノード間の距離に歩道状態及び歩行者の移動条件に対応する移動負荷係数をかけることにより各ノード間に対する歩行者の移動負荷を算出する機能を有している。
【００２８】
ユーザー情報記憶部６は、指定された歩行者の移動条件（健常者、車椅子使用者など）などを記憶する。
地図描画部７は、現在地を含む地図画像に、文字・記号や現在地から目的地に至る経路候補を含む地図画像を選択可能に表示部３に表示する。
また、地図描画部７は、地図データ記憶部４から読み出された地図データを格納したり、地図データを生成するための描画バッファを備えている。
地図描画部７は、一定範囲の歩道、歩道橋、横断歩道のみを含む経路候補の地図画像を表示部３に表示する。
【００２９】
プログラムメモリ８は、例えば、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭなどで構成され、本発明のパーソナルナビゲーション装置をコンピュータによって制御するプログラムを記憶している。
【００３０】
記憶媒体１０は、歩道の所定地点に予め設定された複数のノードと各ノード間の距離及び歩道状態を含む地図データを地図データ記憶部に記憶する地図データ記憶機能と、移動条件指定部を用いて、歩行者の移動条件を指定する移動条件指定機能と、位置指定部を用いて、現在地及び目的地を含む位置を指定する位置指定機能と、現在地と目的地とを結ぶ経路候補となる各ノードを地図データ記憶部から検索するノード検索機能と、歩道状態及び歩行者の移動条件に基づいて各ノード間に対する歩行者の移動負荷を算出する移動負荷算出機能と、移動負荷が付加されたノード間の距離及び歩道状態が含まれる地図データを用いて歩行者に応じた複数の経路候補を生成する経路生成機能と、経路候補を含む地図画像を選択可能に表示部に表示する地図描画機能とを実行するコンピュータプログラムを記憶している。
【００３１】
記憶媒体に記憶されたコンピュータプログラムを、装置本体のプログラムメモリにインストールすることにより、現在地から目的地に至る経路のナビゲーション情報として、歩行者の移動条件及び歩道の状態に応じて、自分に適した移動負荷が少ない経路候補の選択が可能になるパーソナルナビゲーション装置を実現することができる。
この記憶媒体に地図データを記憶してもよい。
【００３２】
本発明のパーソナルナビゲーション装置では、この記憶媒体（プログラムメディア）として、図１に示すナビゲーションコントローラ９のＣＰＵで処理が行われるために、例えば、ＲＯＭそのものがプログラムメディアであってもよいし、記憶媒体読取部（図に示さない）に記憶媒体１０を挿入することで読み取り可能なプログラムメディアであってもよい。いずれの場合においても、記憶されているプログラムはＣＰＵがアクセスして実行させる構成でもよいし、あるいはＣＰＵによって、プログラムを読み出し、読み出されたプログラムは、プログラムメモリ８にダウンロードされて、そのプログラムが実行される構成であってもよい。
【００３３】
また、記憶媒体１０は、本体と分離可能に構成され、磁気テープやカセットテープなどのテープ系、フロッピーディスクなどの磁気ディスクやＣＤ−ＲＯＭ／ＭＯ／ＭＤ／ＤＶＤなどの光ディスク系、ＩＣカード（メモリカードを含む）／光カードなどのカード系、あるいは半導体メモリの製造過程で固定的にプログラムを担持するマスクＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュＲＯＭなどの記憶媒体であってもよい。
【００３４】
また、本発明においては、インターネットを含む通信ネットワークと接続可能な通信部１を備えているので、通信ネットワークからプログラムをダウンロードするように流動的にプログラムを担持する媒体であってもよい。また、通信ネットワークからプログラムをダウンロードする場合には、そのダウンロード用プログラムは予め装置本体に記憶しておくか、あるいは別の記憶媒体からインストールされるものであってもよい。
なお、記憶媒体に記憶されている内容としてはプログラムに限定されず、データであってもよい。
【００３５】
以下、本実施例の地図データ記憶部４、経路生成部５、ユーザー情報記憶部６地図描画部７による経路生成について説明する。
【００３６】
図２は本実施例の地図データ記憶部に記憶された地図データのレイヤの一例を示す図である。図２に示すように、地図データ記憶部４に記憶されている地図データは、以下の４つのレイヤ（画像データ）から構成されている。
背景レイヤ２０１は、道路、歩道、建物などの形状を表示する背景データである。
文字・記号レイヤ２０２は、道路、歩道、建物などの名称の表示する文字・記号データである。
【００３７】
道路レイヤ２０３は、一般道路と大域的ノード（交差点など）の地図データである。
歩道レイヤ２０４は、歩道と歩行者用ノード（横断歩道の端など）の地図データであり、大域的ノードと歩行者用ノードとの位置関係を示す地図データである。
【００３８】
図３は本実施例の地図データに付加されたノードの位置関係を示す図である。図３の地図データでは、大きな車道Ｒ１、Ｒ２が２本交差し、それらの両側に歩道が存在する例である。
図３に示すように、歩行者用ノードは、例えば、横断歩道の端（Ｎ１，Ｎ１５，Ｎ８，Ｎ９，Ｎ１１，Ｎ１２）、歩道橋の端（Ｎ５，Ｎ６）、曲がり角（Ｎ３，Ｎ７，Ｎ１０，Ｎ１３，Ｎ１４，Ｎ１６，Ｎ１７）などの分岐点や地点に設定される。
また、歩行者が移動する際に、特別な負荷がかかる坂道の端、階段の端などの地点に設定される。
【００３９】
大域的ノードは、車道の地図上での始点や終点（Ｇ１，Ｇ４，Ｇ５，Ｇ６）、車道の交差点（Ｇ３）、車道上の適当な中間点（Ｇ２）、公園の中央（Ｇ７）などのようなものに設定され、
本実施例では、その周辺にある歩行者用ノードを、一つのブロックにして、検索し易くしている。
【００４０】
図４は本実施例の歩行者用ノードテーブル（１）の一構成例を示す図である。この歩行者用ノードテーブルは、図３に示す歩行者用ノードに対応し、歩道レイヤ２０４に記憶されている。
図４（ａ）に示す歩行者用ノードテーブルは、経路選択に用いられ、各歩行者用ノード間の部分経路の状態（上り、下りの勾配、急階段など）も表現できるように、現在地側と目的地側とに分けて構成している。
【００４１】
図４（ｂ）〜図４（ｄ）は歩行者用ノードテーブルのデータ形式を示す。
図４（ｂ）において、現在地側Ｎｉと目的地側Ｎｊとが一致するときは、その歩行者用ノードの座標情報を記憶する。
図４（ｃ）において、現在地側Ｎｉと目的地側が隣接しているときは、それらの間の距離や状態を記憶する。
図４（ｄ）において、その他は未定義とする。このような歩行者用ノードテーブルを構成することによって、各歩行者用ノードの座標、隣接する歩行者用ノード間の部分経路の情報とを１つの歩行者用ノードテーブルから検索することができる。
【００４２】
図５は本実施例の歩行者用ノードと大域的ノードとの関係を示すノードテーブル（２）の一構成例を示す図である。このテーブルは、図３に示すノードに対応し、歩道レイヤ２０４に記憶されている。
このノードテーブル（２）は、現在位置がどの大域的ノードの近くにあるかが分かった場合、その周辺にある歩行者用ノードを検索するのに用いられる。
また、歩行者用ノードは横断歩道や歩道橋の端に設定されているため、このノードテーブルから、近くの大域的ノードにおいて、道路を渡るための経路も検索する。
【００４３】
例えば、歩行者用ノードＮ１は、大域的ノードＧ１とＧ２の周辺にあり、横断歩道で渡れて、信号機もあることを示すコード「３」を設定する。
また、歩行者用ノードＮ２は、大域的ノードＧ２、Ｇ３、Ｇ７の周辺にあり、公園の出入り口を示すコード「６」を設定する。
【００４４】
他に、横断歩道で渡れるが信号機がないことを示すコード「２」、歩道橋で渡れることを示すコード「４」、地下道で渡れることを示すコード「５」、大域的ノードの周辺に無いことを示すコード「０」などが設定されている。
なお、現実の多種多様な道路状況を反映させるため、本実施例とは別のコード体系を用意してもよい。
【００４５】
図６は本実施例の車道と大域的ノードとの関係を示すノードテーブル（３）の一構成例を示す図である。このノードテーブル（３）は、図３に対応し、道路レイヤ２０３に記憶されている。
また、このノードテーブル（３）は、大域的ノードの経緯度を記憶し、大域的ノードによって、道路がどのように構成されているのかを示している。
また、このノードテーブル（３）は、各道路上に存在する大域的ノードが、その道路上存在するか、存在するならば、始点か、終点か、交差点か、その他などを識別するのに用いられる。
【００４６】
例えば、図３に示す車道Ｒ１には、大域的ノードＧ１，Ｇ２，Ｇ３，Ｇ４があり、Ｇ１が地図上での始点（コード「１」）、Ｇ４が地図上での終点（コード「４」）、Ｇ３が交差点（コード「３」）、Ｇ２がその他に相当することを示している。
なお、現実の多種多様な道路状況を反映させるため、本実施例とは別のコード体系を用意してもよい。
【００４７】
図７は本実施例の移動負荷係数テーブルの一構成例を示す図である。
図４に示す歩行者用ノードテーブル（１）では、任意の隣接する２つの歩行者用ノード間における地図上の水平距離とその経路の状態を示しているが、歩行者の移動条件（健常者、車椅子使用者など）によっては、実際に移動する労力とは必ずしも比例しない。
【００４８】
そこで、図７に示す移動負荷係数テーブルのように、ある２つの歩行者用ノード間における水平距離に、経路の状態と歩行者の移動条件とに依存する労力に比例した距離に換算するための移動負荷係数が記憶されている。
なお、歩行者の移動条件（健常者・車椅子使用者など）に応じた移動負荷係数を掛けた値を移動負荷という。また、歩行者の移動条件は、予め選択されているものとする。
この移動負荷係数テーブルには、歩行者の移動条件に応じて定められている最大許容移動負荷値が記憶されている。
【００４９】
また、経路生成部５は、最大許容移動負荷を越えるノードを経由する経路候補は生成しないよう構成されている。
経路生成部５は、ノード間の距離に歩道状態及び歩行者の歩行者の移動条件に対応する移動負荷係数に基づいて目的地までの移動負荷が最小となる経路を生成するよう構成されている。
【００５０】
図８は本実施例のナビゲーションコントローラによる経路生成処理（１）の手順を示す概略フローチャートである。
ステップ８０１：通信部１から、現在地座標を取得する。
ステップ８０２：取得した現在地座標に基づき、現在地を含む地図画像を表示する。
ステップ８０３：表示された地図画面上で、ユーザーが目的地を設定する。
【００５１】
ステップ８０４：取得した現在地に最も近いノード番号を変数Ｎｉに、設定された目的地に最も近いノード番号を変数Ｎｊに代入する。
ステップ８０５：変数Ｓに１を代入する。なお、変数Ｓは、最短経路候補のノード番号を記憶する、経路バッファを指定するために使用する。
ステップ８０６：関数ｄ（Ｎｉ，Ｎｊ，Ｓ）を実行し、その返り値を変数ｄに代入する。
【００５２】
なお、関数ｄ（Ｎｉ，Ｎｊ，Ｓ）とは、変数Ｎｉで指定されたノードから、変数Ｎｊで指定されたノードに至る、最短経路（移動負荷が最も少ない経路）のノード群を、変数Ｓで指定された経路バッファに記憶し、またその総計移動負荷を返り値として返す関数である。
また、適切な経路が見つからない場合は、返り値として無限大（通常ではあり得ない十分に大きな値）を返す。
【００５３】
この関数ｄ()が呼び出された際には、変数Ｎｉには出発地のノード、変数Ｎｊには目的地のノード、変数Ｓには経路バッファを指定する数値が記憶されている。
なお、これらの変数および後述する変数ｄ，ｄｌ，ｄｋは、関数内で有効なローカル変数である。また、ローカル変数とすることで、再帰（関数内部からその関数を呼び出すこと）が可能となる。
【００５４】
図１２は本実施例の経路候補の各ノード間の移動負荷の計算結果の一例を示す図である。図１２において、歩行者用ノードＮ１（以降、Ｎ１と表記する）を出発地、Ｎ６を目的地とする。
図１３は本実施例の移動負荷情報を付加した経路候補の一例を示す図である。図１２の移動負荷の計算結果から得られた経路候補であり、歩行者は自分の移動条件にあわせて選択することができる。
【００５５】
図１５〜図１６は本実施例の関数処理による各変数の遷移状態の一例を示す図である。図１５〜図１６では、関数呼び出し前のステップ８０４から、関数実行後のステップ８０６までの変数を示す。
【００５６】
図８のステップ８０４〜ステップ８０６において、
ステップ８０４：変数ＮｉにＮ１が、変数ＮｊにＮ６が代入される（図１４のＴ１）。なお、変数Ｎｊの値はこれ以降変化しないため、図１４〜図１５では省略している。
【００５７】
ステップ８０５：変数Ｓに１が代入される（Ｔ２）。
ステップ８０６：関数ｄ（Ｎｉ，Ｎｊ，Ｓ）を実行すると、図９のステップ８１１において、ローカル変数ＮｉにはＮ１が、ローカル変数ＮｊにはＮ６が、ローカル変数Ｓには１が記憶されている（Ｔ４）。
なお、１回目の関数呼び出し時のローカル変数という意味で、図１４〜１５のＴ３では、Ｎｉ（１）、Ｓ（１）と表記している（Ｎｊは省略）。
【００５８】
ステップ８０７：変数ｄの値が無限大であるかどうかを判別し、そうであれば、「経路が見つかりません」等のエラーメッセージを表示し、本装置の処理を終了する。このステップ８０７において、ステップ８０１へ戻るか、あるいはステップ８０８へ移行してもよい。
ステップ８０８：経路バッファに記憶されている、最短経路を示すノード群を読み取り、地図上に重畳して表示し、本装置の処理を終了する。このステップ８０８において、ステップ８０１へ戻るか、あるいは図示しない公知の技術によって、所有者が指定した目的地まで誘導してもよい。
【００５９】
図９は本実施例のナビゲーションコントローラによる経路生成処理（２）の手順を示す詳細フローチャートである。図９において、前記関数ｄ()の実現方法を説明する。
ステップ８１１：ローカル変数Ｎｉに隣接し、かつ未だ通っていないノードがあるか否かを判別し、あればステップ８１３へ、無ければステップ８１２へ移行する。
【００６０】
ステップ８１１では、ＮｉにはＮ１が記憶されており、図１２に示すとおり、Ｎ２が存在するためステップ８１３へ移行する。
なお、未だ通っていないノードとは、例えば、図１２において、Ｎ１，Ｎ２，Ｎ３，Ｎ５，Ｎ６と進んでいったときのＮ２のような場合である。また、隣接するノードは、図４に示したノードテーブルを参照することによって知ることができる。
【００６１】
ステップ８１２：ローカル変数ｄに無限大（十分大きな値）を代入し、この関数の処理を終了する。なお、このローカル変数ｄの値がこの関数の返り値となる。
ステップ８１３：ローカル変数Ｎｉに隣接するノードが１つしかないか判別し、１つであればステップ８１４へ、そうで無ければステップ８３１へ移行する。この場合、Ｎ１に隣接するノードはＮ２の１つであるので、ステップ８１４へ移行する。
【００６２】
図１４は本実施例の経路生成処理におけるノードの取得方法を示す図である。図１４（ａ）は現実空間でのノードの位置関係を示す図である。図１４（ｂ）はノードリストのための仮想空間でのノードの取り方を示す図である。
図１４（ａ）の１００１に示すように、現実空間では、１つのノードＮａに複数（３分岐以上）のノードＮｂ，Ｎｃ，Ｎｄ，Ｎｅ，Ｎｆ，Ｎｇが存在する場合があるが、処理を単純化させるために、図１４（ｂ）の１００２に示すように、距離０の仮想経路を導入して、３分岐以上のノードはすべて２分岐のノードに分割して考えるものとする。
【００６３】
ステップ８１４：ローカル変数Ｎｌに隣接するノードの番号を代入する。この場合、Ｎ２を代入する（Ｔ５）。
ステップ８１５：ローカル変数Ｎｉに記憶されているノードから、ローカル変数Ｎｌに記憶されているノードまでの移動負荷が許容値以下であるか判別し、そうであればステップ８１７へ、そうでなければステップ８１６へ移行する。
また、図７に示したように、歩行者の移動条件が予め選択され、移動負荷の許容値も定められているものとする。
【００６４】
この場合、歩行者の移動条件が健常者とすると、Ｎ１からＮ２までは図１２に示すとおり平坦で舗装状態悪の１０ｍなので、移動負荷は１.０×１０＝１０となる。この移動負荷は、許容値５００より小さいので、ステップ８１７へ移行する。
【００６５】
ステップ８１６：移動負荷が許容値より大きいとき、ローカル変数ｄに無限大を代入し、この関数の処理を終了する。
ステップ８１７：ローカル変数Ｓで指定されている経路バッファに、ローカル変数Ｎｌの値を記憶させる。この場合、ローカル変数Ｓの値は１であるので、１番目の経路バッファにＮ２を記憶させる（Ｔ６）。
【００６６】
ステップ８１８：ローカル変数Ｎｌの値とローカル変数Ｎｊの値が同じであるか、すなわちローカル変数Ｎｌに記憶されているノードは目的地のノードであるかを判別し、そうであればステップ８１９へ、そうでなければステップ８２０へ移行する。
この場合、ローカル変数Ｎｌの内容はＮ２であり、目的地のノードＮ６とは異なるので、ステップ８２０へ移行する。
【００６７】
ステップ８１９：ローカル変数ｄに、ローカル変数Ｎｉに記憶されているノードから、ローカル変数Ｎｊに記憶されているノードまでの移動負荷を代入し、この関数の処理を終了する。
【００６８】
ステップ８２０：関数ｄ（Ｎｌ，Ｎｊ，Ｓ）を再帰的に実行し、その返り値をローカル変数ｄｌに代入する。この場合、ローカル変数ＮｌにはＮ２、ローカル変数ＮｊにはＮ６、ローカル変数Ｓには１が記憶されているので、関数実行後にはローカル変数ｄｌには、関数ｄ（Ｎ２，Ｎ６，１）の返り値、すなわち、Ｎ２からＮ６へ至る最短経路の総計移動負荷が代入され、また１番目の経路バッファにはその経路を示すノード群が記憶される。
【００６９】
以降、ステップ８２０の処理、すなわち関数ｄ（Ｎ２，Ｎ６，１）の処理を詳細に説明する。
関数ｄ（Ｎ２，Ｎ６，１）を実行すると、関数ｄ()のローカル変数ＮｉにはＮ２が、ローカル変数ＮｊにはＮ６が、ローカル変数Ｓには１が代入され、ステップ８１１から処理が開始される（Ｔ８）。
【００７０】
ステップ８１１：ローカル変数Ｎｉに記憶されている未知ノードがあるか判別する。この場合Ｎ２に隣接する未知ノードはあるので、ステップ８１３へ移行する。
ステップ８１３：ローカル変数Ｎｉに記憶されているノードが１つであるか判別する。  この場合、Ｎ２に隣接するノードは２つ（Ｎ３およびＮ４）あるので、ステップ８３１へ移行する。
【００７１】
図１０は本実施例のナビゲーションコントローラによる経路生成処理（３）の手順を示す詳細フローチャートである。図１０において、前記関数ｄ()の実現方法を説明する。
ステップ８３１：ローカル変数Ｎｌおよびローカル変数Ｎｋに前記隣接するノード、この場合Ｎ３およびＮ４を代入する（Ｔ９）。
ステップ８３２：ローカル変数Ｎｉに記憶されているノードからローカル変数Ｎｌに記憶されているノードまでの移動負荷が許容値以下であるか判別し、そうであればステップ８３４へ、そうでなければステップ８３３へ移行する。
この場合、Ｎ２からＮ３までの移動負荷は２０で、許容値以下であるのでステップ８３４へ移行する。
【００７２】
ステップ８３３：ローカル変数ｄｌに無限大を代入し、ステップ８３８へ移行する。
ステップ８３４：ローカル変数Ｓの値＋１で指定されている経路バッファに、ローカル変数Ｎｌの値を記憶させる。
この場合、ローカル変数Ｓの値は１であるので、２番目の経路バッファにＮ３を記憶させる（Ｔ１０）。
【００７３】
ステップ８３５：ローカル変数Ｎｌの値がローカル変数Ｎｊの値（すなわち目的地ノード）と同一であるか判別し、そうであればステップ８３６へ、そうでなければステップ８３７へ移行する。
この場合、ローカル変数ＮｌはＮ３で、目的地ノードＮ６とは異なるため、ステップ８３７へ移行する。
ステップ８３６：移行した場合はローカル変数ｄｌに０を代入してステップ８３８へ移行する。
【００７４】
ステップ８３７：関数ｄ（Ｎｌ，Ｎｊ，Ｓ＋１）を再帰的に実行し、その返り値をローカル変数ｄｌに代入する。この場合、ローカル変数ＮｌにはＮ３、ローカル変数ＮｊにはＮ６、ローカル変数Ｓには１が記憶されているので、関数実行後にはローカル変数ｄｌには、関数ｄ（Ｎ３，Ｎ６，２）の返り値、すなわち、Ｎ３からＮ６へ至る最短経路の総計移動負荷が代入され、また２番目の経路バッファにはその経路を示すノード群が記憶される。
【００７５】
なお、関数ｄ（Ｎ３，Ｎ６，２）の処理（Ｔ１２乃至Ｔ３２）は既に説明済みの処理または以降に説明する処理と同様の処理であるため、説明は省略する。
ステップ８３７の実行後、ローカル変数ｄｌにはＮ３からＮ６へ至る最短経路の総計移動負荷３０が代入され、２番目の経路バッファにはノードＮ３，Ｎ５，Ｎ６が記憶されている（Ｔ３４）。
【００７６】
ステップ８３８：ローカル変数Ｎｉに記憶されているノードからローカル変数Ｎｋに記憶されているノードまでの移動負荷が許容値以下であるか判別し、そうであればステップ８４０へ、そうでなければステップ８３９へ移行する。
この場合、Ｎ２からＮ４までの移動負荷は３０で、許容値以下であるのでステップ８４０へ移行する。
【００７７】
ステップ８３９：ローカル変数ｄｋに無限大を代入し、ステップ８５１へ移行する。
ステップ８４０：ローカル変数Ｓの値＋２で指定されている経路バッファに、ローカル変数Ｎｋの値を記憶させる。この場合、ローカル変数Ｓの値は１であるので、３番目の経路バッファにＮ４を記憶させる（Ｔ３５）。
【００７８】
ステップ８４１：ローカル変数Ｎｋの値がローカル変数Ｎｊの値（すなわち目的地ノード）と同一であるか判別し、そうであればステップ８４２へ、そうでなければステップ８４３へ移行する。
この場合、ローカル変数ＮｋはＮ４で、目的地ノードＮ６とは異なるため、ステップ８４３へ移行する。
【００７９】
ステップ８４２：ローカル変数ｄｋに０を代入してステップ８５１へ移行する。
ステップ８４３：関数ｄ（Ｎｋ，Ｎｊ，Ｓ＋２）を再帰的に実行し、その返り値をローカル変数ｄｋに代入する。
この場合、ローカル変数ＮｋにはＮ４、ローカル変数ＮｊにはＮ６、ローカル変数Ｓには１が記憶されているので、関数実行後にはローカル変数ｄｋには、関数ｄ（Ｎ４，Ｎ６，３）の返り値、すなわち、Ｎ４からＮ６へ至る最短経路の総計移動負荷が代入され、また３番目の経路バッファにはその経路を示すノード群が記憶される。
【００８０】
なお、関数ｄ（Ｎ４，Ｎ６，３）の処理（Ｔ３７乃至Ｔ５７）は既に説明済みの処理または以降に説明する処理と同様の処理であるため、説明は省略する。
ステップ８４３の実行後、ローカル変数ｄｋにはＮ４からＮ６へ至る最短経路の総計移動負荷４０が代入され、３番目の経路バッファにはノードＮ４，Ｎ５，Ｎ６が記憶されている（Ｔ５９）。
【００８１】
図１１は本実施例のナビゲーションコントローラによる経路生成処理（４）の手順を示す詳細フローチャートである。図１１において、前記関数ｄ()の実現方法を説明する。
ステップ８５１：ローカル変数ｄｌとローカル変数ｄｋの値が両方とも無限大であるか判断し、そうであればステップ８５２へ、そうでなければステップ８５３へ移行する。
この場合、ローカル変数ｄｌは３０、ローカル変数ｄｋは４０であるので、ステップ８５３へ移行する。
【００８２】
ステップ８５２：ローカル変数ｄに無限大を代入し、この関数の処理を終了する。
ステップ８５３：ローカル変数ｄｌに、ローカル変数Ｎｉで指示されているノードからローカル変数Ｎｌで指示されているノードまでの移動負荷を加算する。
この場合、ローカル変数ＮｉにはＮ２、ローカル変数ＮｌにはＮ３が記憶されているため、ローカル変数ｄｌには２０が加算されて５０となる（Ｔ６０）。
【００８３】
ステップ８５４：ローカル変数ｄｋに、ローカル変数Ｎｉで指示されているノードからローカル変数Ｎｋで指示されているノードまでの移動負荷を加算する。
この場合、ローカル変数ＮｉにはＮ２、ローカル変数ＮｋにはＮ４が記憶されているため、ローカル変数ｄｋには３０が加算されて７０となる（Ｔ６１）。
【００８４】
ステップ８５５：ローカル変数ｄｌとローカル変数ｄｋの値を比較し、ローカル変数ｄｋの方が小さい場合ステップ８５６へ移行し、そうでない場合ステップ８５８へ移行する。
この場合、ローカル変数ｄｌは５０、ローカル変数ｄｋは７０であるので、ステップ８５８へ移行する。
【００８５】
ステップ８５６：ローカル変数Ｓの値＋２で指定されている経路バッファの内容が、ローカル変数Ｓの値で指定されている経路バッファに追加記憶される。
ステップ８５７：ローカル変数ｄにローカル変数ｄｋの値が代入される。
【００８６】
ステップ８５８：ローカル変数Ｓの値＋１で指定されている経路バッファの内容を、ローカル変数Ｓの値で指定されている経路バッファに追加記憶させる。
この場合、ローカル変数Ｓの値は１であるので、１番目の経路バッファは、２番目の経路バッファの値が追加され、Ｎ２，Ｎ３，Ｎ５，Ｎ６となる（Ｔ６２）。
ステップ８５９：ローカル変数ｄにローカル変数ｄｌの値を代入する。この場合、ローカル変数ｄに５０が代入される（Ｔ６３）。
【００８７】
ステップ８６０：ローカル変数Ｓの値＋１で指定されている経路バッファおよびローカル変数Ｓの値＋２で指定されている経路バッファの内容を削除し（Ｔ６４）、この関数の処理を終了する。
ここで、この関数の処理を終了すると、この関数を呼び出した時点（この場合、ステップ８２０）へ戻る（Ｔ６５）。
【００８８】
ステップ８２０：関数の返り値をローカル変数ｄｌに代入する。この場合、返り値５０がローカル変数ｄｌに代入される（Ｔ６６）。
ステップ８２１：ローカル変数ｄｌの値が無限大であるか判断し、そうであればステップ８２２へ、そうでなければステップ８２３へ移行する。
この場合、ローカル変数ｄｌの値は５０であるので、ステップ８２３へ移行する。
【００８９】
ステップ８２２：ローカル変数ｄに無限大を代入し、この関数の処理を終了する。
ステップ８２３：ローカル変数ｄに、ローカル変数Ｎｉで指示されているノードからローカル変数Ｎｌで指示されているノードまでの移動負荷と、ローカル変数ｄｌの値を加算した値を代入し、この関数の処理を終了する。
この場合、ローカル変数ｄにはＮ１からＮ２までの移動負荷１０にローカル変数ｄｌの値５０を加えた値、すなわち６０が代入され（Ｔ６７）、この関数の処理を終了する。
【００９０】
ここで、この関数の処理を終了すると、この関数を呼び出した時点（この場合、ステップ８０６）へ戻る（Ｔ６８）。
ステップ８０６：関数の返り値を変数ｄに代入する。この場合、返り値６０が変数ｄに代入される（Ｔ６９）。
ステップ８０７：変数ｄの値が無限大であるか判断し、そうであれば経路が見つからなかった旨の表示を行うなどして本ナビゲーション装置の処理を終了する（またはステップ８０１へ戻る）。そうでなければ、経路バッファに記憶されているノードデータに従って経路を示す画像を地図画像上に重ねて表示する。
【００９１】
【発明の効果】
本発明によれば、現在地から目的地に至る経路のナビゲーション情報として、歩行者の移動条件及び歩道状態に応じた複数の経路候補を生成して表示する構成にしたことにより、歩行者が自分に適した移動負荷が少ない経路候補の選択が可能になる。
【図面の簡単な説明】
【図１】本発明の一実施例であるパーソナルナビゲーション装置の全体構成を示すブロック図である。
【図２】本実施例の地図データ記憶部に記憶された地図データのレイヤの一例を示す図である。
【図３】本実施例の地図データに付加されたノードの位置関係を示す図である。
【図４】本実施例の歩行者用ノードテーブル（１）の一構成例を示す図である。
【図５】本実施例の歩行者用ノードと大域的ノードとの関係を示すノードテーブル（２）の一構成例を示す図である。
【図６】本実施例の車道と大域的ノードとの関係を示すノードテーブル（３）の一構成例を示す図である。
【図７】本実施例の移動負荷係数テーブルの一構成例を示す図である。
【図８】本実施例のナビゲーションコントローラによる経路生成処理（１）の手順を示す概略フローチャートである。
【図９】本実施例のナビゲーションコントローラによる経路生成処理（２）の手順を示す詳細フローチャートである。
【図１０】本実施例のナビゲーションコントローラによる経路生成処理（３）の手順を示す詳細フローチャートである。
【図１１】本実施例のナビゲーションコントローラによる経路生成処理（４）の手順を示す詳細フローチャートである。
【図１２】本実施例の経路候補の各ノード間の移動負荷の計算結果の一例を示す図である。
【図１３】本実施例の移動負荷情報を付加した経路候補の一例を示す図である。
【図１４】本実施例の経路生成処理におけるノード取得方法の一例を示す図である。
【図１５】本実施例の関数処理による各変数の遷移状態の一例を示す図である。
【図１６】本実施例の関数処理による各変数の遷移状態の一例を示す図である。
【符号の説明】
１  通信部
２  入力部
３  表示部
４  地図データ記憶部
５  経路選択部
６  ユーザー情報記憶部
７  地図描画部
８  プログラムメモリ
９  ナビゲーションコントローラ
１０  記憶媒体
２０１  背景レイヤ
２０２  文字・記号レイヤ
２０３  道路レイヤ
２０４  歩道レイヤ
【図１】
0003695998.tif 000002
【図２】
0003695998.tif 000003
【図３】
0003695998.tif 000004
【図４】
0003695998.tif 000005
【図５】
0003695998.tif 000006
【図６】
0003695998.tif 000007
【図７】
0003695998.tif 000008
【図８】
0003695998.tif 000009
【図９】
0003695998.tif 000010
【図１０】
0003695998.tif 000011
【図１１】
0003695998.tif 000012
【図１２】
0003695998.tif 000013
【図１３】
0003695998.tif 000014
【図１４】
0003695998.tif 000015
【図１５】
0003695998.tif 000016
【図１６】
0003695998.tif 000017