IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アイシン精機株式会社の特許一覧

特開2024-121486運転支援装置及びコンピュータプログラム
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024121486
(43)【公開日】2024-09-06
(54)【発明の名称】運転支援装置及びコンピュータプログラム
(51)【国際特許分類】
   G08G 1/16 20060101AFI20240830BHJP
   G01C 21/36 20060101ALI20240830BHJP
   B60W 30/095 20120101ALI20240830BHJP
   G16Y 10/40 20200101ALI20240830BHJP
   G16Y 20/20 20200101ALI20240830BHJP
   G16Y 40/30 20200101ALI20240830BHJP
【FI】
G08G1/16 A
G01C21/36
B60W30/095
G16Y10/40
G16Y20/20
G16Y40/30
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023028623
(22)【出願日】2023-02-27
(71)【出願人】
【識別番号】000000011
【氏名又は名称】株式会社アイシン
(74)【代理人】
【識別番号】110000992
【氏名又は名称】弁理士法人ネクスト
(72)【発明者】
【氏名】小川 啓太
(72)【発明者】
【氏名】二村 光宏
(72)【発明者】
【氏名】長坂 秀則
【テーマコード(参考)】
2F129
3D241
5H181
【Fターム(参考)】
2F129AA03
2F129BB03
2F129BB20
2F129BB22
2F129DD03
2F129DD13
2F129DD15
2F129DD20
2F129EE02
2F129EE43
2F129EE52
2F129EE57
2F129EE75
2F129EE78
2F129EE79
2F129EE81
2F129EE96
2F129FF02
2F129FF15
2F129FF20
2F129FF32
2F129FF41
2F129FF59
2F129FF62
2F129FF63
2F129FF65
2F129FF71
2F129GG17
2F129GG18
2F129HH12
2F129HH18
2F129HH19
2F129HH20
2F129HH22
3D241BA32
3D241BA33
3D241BA55
3D241BB23
3D241BB27
3D241BB31
3D241BB37
3D241BB40
3D241BB41
3D241BB42
3D241BB46
3D241CC01
3D241CC08
3D241CC11
3D241CC17
3D241CE02
3D241CE04
3D241CE05
3D241DB01Z
3D241DB20Z
3D241DC33Z
3D241DC37Z
3D241DC42Z
3D241DC43Z
3D241DC45Z
3D241DC50Z
3D241DC59Z
5H181AA01
5H181BB04
5H181BB12
5H181BB13
5H181CC03
5H181CC04
5H181CC12
5H181CC14
5H181FF04
5H181FF10
5H181FF12
5H181FF13
5H181FF14
5H181FF22
5H181FF27
5H181FF33
5H181LL01
5H181LL02
5H181LL04
5H181LL09
(57)【要約】
【課題】旋回区間を走行する際に障害物を回避するとともに車両に不自然な挙動が行われることを抑制した走行軌道を車両の走行が推奨される走行軌道として生成することを可能にした運転支援装置及びコンピュータプログラムを提供する。
【解決手段】車両が走行する走行予定経路を取得し、走行予定経路上に存在する障害物に関する障害物情報についても取得し、走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を含む場合には、走行予定経路に基づいて旋回区間の始点と終点について車両が到達する際の車両の方位を設定し、旋回区間の始点と終点に到達する際の車両の方位が設定された方位となることを条件として、障害物情報を用いて旋回区間において障害物を回避するとともに車両の走行が推奨される走行軌道を生成し、生成された走行軌道に基づいて車両の運転支援を行うように構成する。
【選択図】図29
【特許請求の範囲】
【請求項1】
車両が走行する走行予定経路を取得する走行予定経路取得手段と、
前記走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を取得する旋回走行区間取得手段と、
前記走行予定経路上に存在する障害物に関する障害物情報を取得する障害物情報取得手段と、
前記走行予定経路に基づいて前記旋回区間の始点と終点の少なくとも一方を含む対象地点に車両が到達する際の車両の方位を設定する方位設定手段と、
前記対象地点に到達する際の車両の方位が前記方位設定手段で設定された方位となることを条件として、前記障害物情報を用いて前記旋回区間において前記障害物を回避するとともに車両の走行が推奨される走行軌道を生成する走行軌道生成手段と、
前記走行軌道生成手段によって生成された走行軌道に基づいて車両の運転支援を行う運転支援手段と、を有する運転支援装置。
【請求項2】
前記旋回区間がカーブ形状の道路を車両が旋回を伴って走行する区間である場合に、
前記障害物が車両の走行する予定の車線の中心線と重複する位置にあるか否かを判定する重複判定手段を有し、
前記走行軌道生成手段は、
前記障害物が前記中心線と重複する位置にある場合には、
前記中心線を基準とし、前記中心線の内で前記障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道を、車両の走行が推奨される走行軌道として生成する請求項1に記載の運転支援装置。
【請求項3】
前記旋回区間がカーブ形状の道路を車両が旋回を伴って走行する区間である場合に、
前記障害物が車両の走行する予定の車線の中心線と重複する位置にあるか否かを判定する重複判定手段を有し、
前記走行軌道生成手段は、
前記障害物が前記中心線と重複しない位置にある場合には、
前記障害物を考慮せずに生成した前記旋回区間において車両の走行が推奨される走行軌道である基準走行軌道を基準とし、前記基準走行軌道の内で前記障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道を、車両の走行が推奨される走行軌道として生成する請求項1に記載の運転支援装置。
【請求項4】
前記方位設定手段により設定された車両の方位に基づいて、前記旋回区間の始点における車両の位置と方位を特定した開始ベクトルを取得する開始ベクトル取得手段と、
前記方位設定手段により設定された車両の方位に基づいて、前記旋回区間の終点における車両の位置と方位を特定した終了ベクトルを取得する終了ベクトル取得手段と、を有し、
前記走行軌道生成手段は、
前記重複対象区間を複数の区間に分割し、
前記分割した複数の区間の境界において車両が通過する通過点の候補を設定し、
前記開始ベクトルから前記区間の境界において前記通過点の候補を通過して前記終了ベクトルへと各ベクトルの方向に通過する走行軌道を、車両の走行が推奨される走行軌道として生成する請求項2又は請求項3に記載の運転支援装置。
【請求項5】
前記走行軌道生成手段は、
前記複数の区間の境界において車両が通過する通過点の候補を複数設定し、
前記開始ベクトルから前記区間の境界において前記通過点の候補を通過して前記終了ベクトルへと各ベクトルの方向に通過する走行軌道を、前記走行軌道の候補として前記
通過点の候補毎に生成し、
前記通過点の候補毎に生成された複数の前記走行軌道の候補を比較し、障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択し、選択された走行軌道の候補を用いて車両の走行が推奨される走行軌道を生成する請求項4に記載の運転支援装置。
【請求項6】
前記走行軌道生成手段は、
前記通過点の候補毎に生成された複数の走行軌道の候補に対してコストを算出し、
算出されたコストを比較して前記複数の走行軌道の候補の内から障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択する請求項5に記載の運転支援装置。
【請求項7】
前記方位設定手段により設定された車両の方位に基づいて、前記旋回区間の始点における車両の位置と方位を特定した開始ベクトルを複数取得する開始ベクトル取得手段と、
前記方位設定手段により設定された車両の方位に基づいて、前記旋回区間の終点における車両の位置と方位を特定した終了ベクトルを複数取得する終了ベクトル取得手段と、を有し、
前記走行軌道生成手段は、
前記開始ベクトルから前記終了ベクトルへと各ベクトルの方向に通過する走行軌道を、前記走行軌道の候補として前記開始ベクトルと前記終了ベクトルの組み合わせ毎に生成し、
生成した走行軌道の候補の内で障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択し、選択された走行軌道の候補を用いて車両の走行が推奨される走行軌道を生成する請求項1に記載の運転支援装置。
【請求項8】
コンピュータを、
車両が走行する走行予定経路を取得する走行予定経路取得手段と、
前記走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を取得する旋回走行区間取得手段と、
前記走行予定経路上に存在する障害物に関する障害物情報を取得する障害物情報取得手段と、
前記走行予定経路に基づいて前記旋回区間の始点と終点の少なくとも一方を含む対象地点に車両が到達する際の車両の方位を設定する方位設定手段と、
前記対象地点に到達する際の車両の方位が前記方位設定手段で設定された方位となることを条件として、前記障害物情報を用いて前記旋回区間において前記障害物を回避するとともに車両の走行が推奨される走行軌道を生成する走行軌道生成手段と、
前記走行軌道生成手段によって生成された走行軌道に基づいて車両の運転支援を行う運転支援手段と、
して機能させる為のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、車両の運転を支援する運転支援装置及びコンピュータプログラムに関する。
【背景技術】
【0002】
近年、車両の走行形態として、ユーザの運転操作に基づいて走行する手動走行以外に、ユーザの運転操作の一部又は全てを車両側で実行することにより、ユーザによる車両の運転を補助する自動運転支援システムについて新たに提案されている。自動運転支援システムでは、例えば、車両の現在位置、車両が走行する車線、周辺の他車両の位置を随時検出し、予め設定された経路に沿って走行するようにステアリング、駆動源、ブレーキ等の車両制御が自動で行われる。
【0003】
また、上記自動運転支援による走行を行う場合やその他の車両に対する各種運転支援を行う場合において、車両の走行予定経路や地図情報等に基づいて走行が推奨される走行軌道を車両が走行する道路上に予め生成することが行われている。ここで、特にカーブ形状の道路などの車両が旋回を伴って走行する区間(以下、旋回区間という)に対して上記走行軌道を生成する技術として例えば特開2017-100652号公報には、道路の中心線に沿った軌道よりも旋回部分の曲率半径を大きくした軌道を走行軌道とすることで車両の乗り心地を改善した走行軌道を生成する技術について開示されている。また、生成された走行軌道が他車両などの障害物と近接する場合には、障害物との間に所定の安全距離を確保するように走行軌道を修正する技術についても開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2017-100652号公報(段落0037-0040、図5図7
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上記特許文献1では上記障害物に基づく走行軌道の修正を行うに際して、旋回区間の始点や終点における車両の方位については考慮されていない。従って、障害物を回避するために走行軌道の修正を行った結果、修正後の走行軌道に従って走行する場合の旋回区間の始点や終点における車両の方位が推奨される方位とならない場合もある。例えば、図42に示す例ではカーブ形状の道路からなる旋回区間について障害物151を回避するように修正した走行軌道152を示すが、車両が走行軌道152に沿って走行した場合に旋回区間の終点において車両の車体の向き(角度)がその後の直進道路に沿った向きとなっておらずステアリングも中立状態にないことから、車体の向きが道路の直進方向と同方向となり且つステアリングも中立状態となるような修正を行うための修正軌道153が必要となる。その結果、車両の挙動がスムーズにならず、急な速度変化や横加速度も生じることとなり、車両にとって推奨される走行軌道とならない問題があった。尚、図42は旋回区間の終点とその後の道路の接続部分を示すが、旋回区間の始点とその手前の道路の接続部分についても同様の問題が生じる可能性がある。
【0006】
本発明は前記従来における問題点を解消するためになされたものであり、旋回区間について特に障害物を回避する走行軌道を生成する場合において、旋回区間の始点或いは終点の少なくとも一方について車両に不自然な挙動が行われることを防止し、急な速度変化や横加速度を抑えた車両にとって推奨される走行軌道を生成することを可能にした運転支援装置及びコンピュータプログラムを提供することを目的とする。
【課題を解決するための手段】
【0007】
前記目的を達成するため本発明に係る運転支援装置は、車両が走行する走行予定経路を取得する走行予定経路取得手段と、前記走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を取得する旋回走行区間取得手段と、前記走行予定経路上に存在する障害物に関する障害物情報を取得する障害物情報取得手段と、前記走行予定経路に基づいて前記旋回区間の始点と終点の少なくとも一方を含む対象地点に車両が到達する際の車両の方位を設定する方位設定手段と、前記対象地点に到達する際の車両の方位が前記方位設定手段で設定された方位となることを条件として、前記障害物情報を用いて前記旋回区間において前記障害物を回避するとともに車両の走行が推奨される走行軌道を生成する走行軌道生成手段と、前記走行軌道生成手段によって生成された走行軌道に基づいて車両の運転支援を行う運転支援手段と、を有する。
尚、「車両の旋回を伴って走行する旋回区間」には、例えば道路が所定の曲率で円弧状に曲がる区間(道路の曲率が変化する形状も含む)に加えて、直角などの所定の角度で屈曲する区間、車両が右左折する対象となる交差点(分岐点)の区間を含む。更に、公道上だけではなく、駐車場等の施設内において車両の旋回を伴って走行する区間、駐車スペースへの進入或いは退出する為に旋回を行う区間、或いは公道から施設内に進入又は施設内から公道に進入する為に旋回して走行する区間等も含まれる。
また、「車両の方位」とは、車両の車体の向き(角度)であっても良いし、車両の進行方向(タイヤの向き、ステアリング角度)であっても良い。
【0008】
また、本発明に係るコンピュータプログラムは、車両において実施する運転支援に用いる支援情報を生成するプログラムである。具体的には、コンピュータを、車両が走行する走行予定経路を取得する走行予定経路取得手段と、前記走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を取得する旋回走行区間取得手段と、前記走行予定経路上に存在する障害物に関する障害物情報を取得する障害物情報取得手段と、前記走行予定経路に基づいて前記旋回区間の始点と終点の少なくとも一方を含む対象地点に車両が到達する際の車両の方位を設定する方位設定手段と、前記対象地点に到達する際の車両の方位が前記方位設定手段で設定された方位となることを条件として、前記障害物情報を用いて前記旋回区間において前記障害物を回避するとともに車両の走行が推奨される走行軌道を生成する走行軌道生成手段と、前記走行軌道生成手段によって生成された走行軌道に基づいて車両の運転支援を行う運転支援手段と、して機能させる。
【発明の効果】
【0009】
前記構成を有する本発明に係る運転支援装置及びコンピュータプログラムによれば、旋回区間について特に障害物を回避する走行軌道を生成する場合において、旋回区間の始点或いは終点の少なくとも一方について車両に不自然な挙動が行われることを防止し、急な速度変化や横加速度を抑えた車両にとって推奨される走行軌道を生成することが可能となる。その結果、車両の乗員に負担を生じさせない適切な運転支援を実施することが可能となる。
【図面の簡単な説明】
【0010】
図1】本実施形態に係る運転支援システムを示した概略構成図である。
図2】本実施形態に係る運転支援システムの構成を示したブロック図である。
図3】本実施形態に係るサーバ装置が管理する障害物情報の一例を示した図である。
図4】本実施形態に係るナビゲーション装置を示したブロック図である。
図5】本実施形態に係る自動運転支援プログラムのフローチャートである。
図6】高精度地図情報の取得されるエリアを示した図である。
図7】動的走行軌道の算出方法について説明した図である。
図8】静的走行軌道生成処理のサブ処理プログラムのフローチャートである。
図9】車両の走行予定経路の一例を示した図である。
図10図9に示す走行予定経路に対して構築されたレーンネットワークの一例を示した図である。
図11】旋回区間の走行軌道生成処理のサブ処理プログラムのフローチャートである。
図12】カーブ形状の道路を含む旋回区間の一例を示した図である。
図13】基準走行軌道と障害物とが重複する場合を説明した図である。
図14】基準走行軌道生成処理のサブ処理プログラムのフローチャートである。
図15】旋回区間の始点と終点に対して設定した車両の方位の例を示した図である。
図16】クリッピングポイントの設定方法について説明した図である。
図17】開始ベクトル及び終了ベクトルを複数化する例について説明した図である。
図18】開始ベクトル及び終了ベクトルを各ベクトルの進行方向に通過する最も大きい曲率半径の円弧が車両の走行する車線内に含まれる場合を説明した図である。
図19】開始ベクトル及び終了ベクトルを各ベクトルの進行方向に通過する最も大きい曲率半径の円弧が車両の走行する車線内に含まれない場合を説明した図である。
図20】旋回区間に対して生成される走行軌道の候補を示した図である。
図21】第2の走行軌道及び第3の走行軌道の生成方法を示した図である。
図22】走行軌道を円滑化する為の補正例を示した図である。
図23】第1回避走行軌道生成処理のサブ処理プログラムのフローチャートである。
図24】開始ベクトル及び終了ベクトルを複数化する例について説明した図である。
図25】第2回避走行軌道生成処理のサブ処理プログラムのフローチャートである。
図26】車線の中心線に沿って設定されるガイド線を示した図である。
図27】車線の中心線と障害物とが重複する範囲を示した図である。
図28】重複対象区間を示した図である。
図29】ガイド線について重複対象区間が障害物と重複しないように修正した後の図である。
図30】ガイド線とガイド線の移動平均線を示した図である。
図31】重複対象区間を分割した境界において設定される車両が通過する通過点の候補を示した図である。
図32】通過点を通過する際の推奨される車両の方位を特定する通過ベクトルを示した図である。
図33】第3回避走行軌道生成処理のサブ処理プログラムのフローチャートである。
図34】基準走行軌道に沿って設定されるガイド線を示した図である。
図35】基準走行軌道と障害物とが重複する範囲を示した図である。
図36】重複対象区間を示した図である。
図37】ガイド線について重複対象区間が障害物と重複しないように修正した後の図である。
図38】車両が右左折する対象となる交差点(分岐点)の区間を旋回区間とした場合に生成される走行軌道の例を示した図である。
図39】駐車スペースへの進入(入庫)或いは退出(出庫)する為に旋回を行う区間を旋回区間とした場合に生成される走行軌道の例を示した図である。
図40】公道から施設内に進入又は施設内から公道に進入する為に旋回して走行する区間を旋回区間とした場合に生成される走行軌道の例を示した図である。
図41】任意の2点に設定された2つのベクトル(開始ベクトルと終了ベクトル)の間を結ぶ軌道の例を示した図である。
図42】従来技術の問題点について説明した図である。
【発明を実施するための形態】
【0011】
以下、本発明に係る運転支援装置をナビゲーション装置1に具体化した一実施形態について図面を参照しつつ詳細に説明する。先ず、本実施形態に係るナビゲーション装置1を含む運転支援システム2の概略構成について図1及び図2を用いて説明する。図1は本実施形態に係る運転支援システム2を示した概略構成図である。図2は本実施形態に係る運転支援システム2の構成を示したブロック図である。
【0012】
図1に示すように、本実施形態に係る運転支援システム2は、情報配信センタ3が備えるサーバ装置4と、車両5に搭載されて車両5の自動運転に関する各種支援を行うナビゲーション装置1と、を基本的に有する。また、サーバ装置4とナビゲーション装置1は通信ネットワーク網6を介して互いに電子データを送受信可能に構成されている。尚、ナビゲーション装置1の代わりに、車両5に搭載された他の車載器や車両5に関する制御を行う車両制御装置を用いても良い。
【0013】
ここで、車両5はユーザの運転操作に基づいて走行する手動運転走行に加えて、ユーザの運転操作によらず車両が予め設定された経路や道なりに沿って自動的に走行を行う自動運転支援による支援走行が可能な車両とする。
【0014】
また、自動運転支援は全ての道路区間に対して行っても良いし、特定の道路区間(例えば境界にゲート(有人無人、有料無料は問わない)が設けられた高速道路)を車両が走行する間のみ行う構成としても良い。以下の説明では車両の自動運転支援が行われる自動運転区間は、一般道や高速道路を含む全ての道路区間に加えて駐車場も含むこととし、車両が走行を開始してから走行を終了するまで(車両を駐車するまで)の間において基本的に自動運転支援が行われるとして説明する。但し、車両が自動運転区間を走行する場合には必ず自動運転支援が行われるのではなく、ユーザにより自動運転支援を行うことが選択され(例えば自動運転開始ボタンをONする)、且つ自動運転支援による走行を行わせることが可能と判定された状況でのみ行うのが望ましい。一方で、車両5は自動運転支援による支援走行のみ可能な車両としても良い。
【0015】
そして、自動運転支援における車両制御では、例えば、車両の現在位置、車両が走行する車線、周辺の障害物の位置を随時検出し、後述のようにナビゲーション装置1で生成された走行軌道に沿って、同じく生成された速度計画に従った速度で走行するようにステアリング、駆動源、ブレーキ等の車両制御が自動で行われる。尚、本実施形態の自動運転支援による支援走行では、車線変更や右左折や駐車操作についても上記自動運転支援による車両制御を行うことにより走行するが、車線変更や右左折や駐車操作等の特殊な走行については自動運転支援による走行は行わずに手動運転により行う構成としても良い。
【0016】
一方、ナビゲーション装置1は、車両5に搭載され、ナビゲーション装置1が有する地図データ或いは外部から取得した地図データに基づいて自車位置周辺の地図を表示したり、ユーザの目的地の入力を行ったり、地図画像上において車両の現在位置を表示したり、設定された案内経路に沿った移動案内を行う車載機である。本実施形態では特に自動運転支援による支援走行を車両が行う場合に、自動運転支援に関する各種支援情報を生成する。支援情報としては例えば車両の走行が推奨される走行軌道(推奨される車線移動態様を含む)、目的地において車両を駐車する駐車位置の選択、走行する際の車速を示す速度計画等がある。尚、ナビゲーション装置1の詳細については後述する。
【0017】
また、サーバ装置4は、ナビゲーション装置1の要求に応じて経路探索の実行を行う。具体的には、ナビゲーション装置1からサーバ装置4へと出発地や目的地等の経路探索に必要な情報が経路探索要求とともに送信される(但し、再探索の場合には目的地に関する情報は必ずしも送信する必要は無い)。そして経路探索要求を受信したサーバ装置4は、サーバ装置4の有する地図情報を用いて経路探索を行い、出発地から目的地までの推奨経路を特定する。その後、特定された推奨経路を要求元のナビゲーション装置1へと送信する。そして、ナビゲーション装置1は受信した推奨経路に関する情報をユーザに提供したり、推奨経路を使って後述のように自動運転支援に関する各種支援情報を生成することも可能である。
【0018】
更に、サーバ装置4は、上記経路探索に用いる通常の地図情報とは別に、より精度の高い地図情報である高精度地図情報と施設情報を有している。高精度地図情報は、例えば道路のレーン形状(車線単位の道路形状や曲率、屈曲角度、車線幅等)と道路に描かれた区画線(車道中央線、車線境界線、車道外側線、誘導線等)に関する情報が含まれる。また、その他に交差点に関する情報等も含まれる。更に、道路に設定された制限速度、信号機、横断歩道、踏切、一時停止の道路標識などの車両の走行を規制(より具体的には停止や減速を要求)する存在(以下、規制物という)について、規制物の種類と位置を特定する規制情報についても含まれている。一方、施設情報は、地図情報に含まれる施設に関する情報とは別に格納される施設に関するより詳細な情報であり、例えば施設のフロアマップ、駐車場の出入口に関する情報、駐車場が備える通路(車路)や駐車スペースの配置情報、駐車スペースや車路を区画する区画線の情報、駐車場の出入口と車線との接続関係を示す接続情報等が含まれる。
【0019】
更に、サーバ装置4は、道路上や駐車場内にある障害物について、障害物の種類と位置(範囲に跨る場合には形状(占有領域))を特定する障害物情報についても有する。ここで、障害物としては例えば路上に駐停車された車両、道路の工事現場に設置される看板や柵、路面の凹凸、電柱やブロックなどの構造物などが該当する。尚、障害物の種類と位置については例えば道路や駐車場を実際に走行する車両のカメラ画像やセンサの検出結果を収集することにより特定することが可能となる。
【0020】
そして、サーバ装置4はナビゲーション装置1からの要求に応じて高精度地図情報や施設情報や障害物情報を配信し、ナビゲーション装置1はサーバ装置4から配信された高精度地図情報や施設情報や障害物情報を用いて後述のように自動運転支援に関する各種支援情報を生成する。尚、高精度地図情報は基本的に道路(リンク)とその周辺のみを対象とした地図情報であるが、道路周辺以外のエリアについても含む地図情報としても良い。
【0021】
但し、上述した経路探索処理については必ずしもサーバ装置4で行う必要は無く、地図情報を有するナビゲーション装置1であればナビゲーション装置1で行っても良い。また、高精度地図情報や施設情報についてもサーバ装置4から配信されるのではなくナビゲーション装置1が予め有するようにしても良い。
【0022】
また、通信ネットワーク網6は全国各地に配置された多数の基地局と、各基地局を管理及び制御する通信会社とを含み、基地局及び通信会社を有線(光ファイバー、ISDN等)又は無線で互いに接続することにより構成されている。ここで、基地局はナビゲーション装置1との通信をするトランシーバー(送受信機)とアンテナを有する。そして、基地局は通信会社の間で無線通信を行う一方、通信ネットワーク網6の末端となり、基地局の電波が届く範囲(セル)にあるナビゲーション装置1の通信をサーバ装置4との間で中継する役割を持つ。
【0023】
続いて、運転支援システム2におけるサーバ装置4の構成について図2を用いてより詳
細に説明する。サーバ装置4は、図2に示すようにサーバ制御部11と、サーバ制御部11に接続された情報記録手段としてのサーバ側地図DB12と、高精度地図DB13と、施設DB14と、障害物情報DB15と、サーバ側通信装置20とを備える。
【0024】
サーバ制御部11は、サーバ装置4の全体の制御を行う制御ユニット(MCU、MPU等)であり、演算装置及び制御装置としてのCPU21、並びにCPU21が各種の演算処理を行うにあたってワーキングメモリとして使用されるRAM22、制御用のプログラム等が記録されたROM23、ROM23から読み出したプログラムを記憶するフラッシュメモリ24等の内部記憶装置を備えている。尚、サーバ制御部11は、後述のナビゲーション装置1のECUとともに処理アルゴリズムとしての各種手段を有する。
【0025】
一方、サーバ側地図DB12は、外部からの入力データや入力操作に基づいて登録された最新のバージョンの地図情報であるサーバ側地図情報が記憶される記憶手段である。ここで、サーバ側地図情報は、道路網を始めとして経路探索、経路案内及び地図表示に必要な各種情報から構成されている。例えば、道路網を示すノード及びリンクを含むネットワークデータ、道路(リンク)に関するリンクデータ、ノード点に関するノードデータ、各交差点に関する交差点データ、施設等の地点に関する地点データ、地図を表示するための地図表示データ、経路を探索するための探索データ、地点を検索するための検索データ等からなる。
【0026】
また、高精度地図DB13は、上記サーバ側地図情報よりも精度の高い地図情報である高精度地図情報16が記憶される記憶手段である。高精度地図情報16は、特に車両が走行対象となる道路に関してより詳細な情報を格納した地図情報であり、本実施形態では例えば道路に関してはレーン形状(車線単位の道路形状や曲率、車線幅等)と道路に描かれた区画線(車道中央線、車線境界線、車道外側線、誘導線等)に関する情報が含まれる。更に、道路の勾(こう)配、カント、バンク、合流区間、車線数の減少する箇所、幅員の狭くなる箇所、踏切等を表すデータが、カーブに関して曲率半径や屈曲角度を表すデータが、交差点、T字路等の分岐点を表すデータが、道路属性に関して、降坂路、登坂路等を表すデータが、道路種別に関して、国道、県道、細街路等の一般道のほか、高速自動車国道、都市高速道路、自動車専用道路、一般有料道路、有料橋等の有料道路を表すデータがそれぞれ記録される。更に、道路に設定された制限速度、信号機、横断歩道、踏切、一時停止の道路標識などの車両の走行を規制する存在(規制物)について、規制物の種類と位置を特定する規制情報についても含まれている。また、区画線に関する情報としては、どの種類の区画線が道路に対してどのように配置されているかを特定する情報が記憶される。尚、以下の説明において「カーブ」とは、道路が所定の曲率で円弧状に曲がる形状(道路の曲率が変化する形状も含む)に加えて、直角などの所定の角度で屈曲する形状(例えばL字路)についても含むものとする。また、道路の車線数に加えて、車線毎の進行方向の通行区分や道路の繋がり(具体的には、交差点の通過前の道路に含まれる車線と交差点の通過後の道路に含まれる車線との対応関係)を特定する情報についても記憶されている。
【0027】
一方、施設DB14は、上記サーバ側地図情報に格納される施設に関する情報よりも、より詳細な施設に関する情報が記憶される記憶手段である。具体的には、施設情報17として特に車両の駐車対象となる駐車場(施設に付随する駐車場も独立型の駐車場も含む)について、駐車場の出入口の位置を特定する情報、駐車場内の駐車スペースの配置を特定する情報、駐車スペースや車路を区画する区画線に関する情報等が含まれる。尚、車路については車路の形状(即ち駐車場内において車両が走行可能な領域)を特定する情報、車路において制限速度等の車両の走行を規制する存在(規制物)があれば、規制物の種類と位置を特定する規制情報について少なくとも含む。駐車場以外の施設に関しては施設のフロアマップを特定する情報が含まれる。フロアマップには、例えば出入口、通路、階段、
エレベーター、エスカレーターの位置を特定する情報が含まれる。また、複数のテナントを有する複合型商業施設では入居する各テナントの位置を特定する情報が含まれる。施設情報17は特に駐車場や施設を3Dモデルによって生成した情報としても良い。更に、施設DB14には、駐車場の出入口に面した進入道路に含まれる車線と駐車場の出入口との間の接続関係を示す接続情報18と、進入道路と駐車場の出入口との間において車両の通行可能な領域を特定する道路外形状情報19についても含まれる。
【0028】
尚、高精度地図情報16は基本的に道路(リンク)とその周辺のみを対象とした地図情報であるが、道路周辺以外のエリアについても含む地図情報としても良い。また、図2に示す例ではサーバ側地図DB12に格納されるサーバ側地図情報と高精度地図DB13や施設DB14に格納される情報は異なる地図情報としているが、高精度地図DB13や施設DB14に格納される情報はサーバ側地図情報の一部としても良い。また、高精度地図DB13と施設DB14は分けずに一のデータベースとしても良い。
【0029】
また、障害物情報DB15は、各車両から収集されるプローブ情報を統計或いは解析することによって生成された障害物に関する情報(障害物情報)を累積的に記憶する記憶手段である。尚、障害物は、道路或いは駐車場などの施設内を走行する車両の走行を妨げる要因となる物であり、例えば路上に駐停車された車両、道路の工事現場に設置される看板や柵、路面の凹凸、電柱やブロックなどの構造物等が該当する。尚、本実施形態においては、車両から収集されるプローブ情報として、特に(a)車両が備える車載カメラやその他のセンサを用いた障害物の検出結果、(b)車両の位置座標及び車速が含まれる。そして、それらのプローブ情報を統計或いは解析することによって、全国の道路上や駐車場などの施設内にある障害物の種類や位置をサーバ装置4側で管理し、障害物情報DB15に格納する。但し、障害物に関する情報はプローブ情報以外から取得するようにしても良い。
【0030】
図3は障害物情報DB15に記憶される障害物情報の一例を示した図である。図3に示すように障害物情報は、障害物を検出した日時を特定する情報と、障害物の種類と、障害物の位置を特定する情報を含む。更に障害物の位置は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲で特定しており、例えば図3に示す例ではリンクID“100001”のリンクの始点から20mの位置において、全長(道路進行方向)3.5m、最も左側の車線の左端から1mまでの範囲に、駐車車両が位置することを示している。また、リンクID“100013”のリンクの始点から30mの位置において、全長(道路進行方向)3.5m、最も左側の車線の左端を始点とした0.2mから2.0mまでの範囲に、駐車車両が位置することを示している。また、リンクID“100101”のリンクの始点から50mの位置において、全長(道路進行方向)3.5m、最も左側の車線の左端を始点とした0.4mから2.2mまでの範囲に、駐車車両が位置することを示している。尚、『車線No.』は、例えばリンクに含まれる複数の車線について、左から順に1、2、3・・・と規定する。
【0031】
そして、サーバ装置4は、障害物情報DB15に記憶された障害物情報をナビゲーション装置1の要求に応じてナビゲーション装置1に配信する。一方で、障害物情報の配信されたナビゲーション装置1は、配信された障害物情報を用いて後述のように自動運転支援に関する各種支援情報を生成する。
【0032】
一方、サーバ側通信装置20は各車両5のナビゲーション装置1と通信ネットワーク網6を介して通信を行う為の通信装置である。また、ナビゲーション装置1以外にインターネット網や、交通情報センタ、例えば、VICS(登録商標:Vehicle Information and Communication System)センタ等から送信された渋滞情報、規制情報、交通事故情報等の
各情報から成る交通情報の受信についても可能である。
【0033】
次に、車両5に搭載されたナビゲーション装置1の概略構成について図4を用いて説明する。図4は本実施形態に係るナビゲーション装置1を示したブロック図である。
【0034】
図4に示すように本実施形態に係るナビゲーション装置1は、ナビゲーション装置1が搭載された車両の現在位置を検出する現在位置検出部31と、各種のデータが記録されたデータ記録部32と、入力された情報に基づいて、各種の演算処理を行うナビゲーションECU33と、ユーザからの操作を受け付ける操作部34と、ユーザに対して車両周辺の地図やナビゲーション装置1で設定されている案内経路(車両の走行予定経路)に関する情報等を表示する液晶ディスプレイ35と、経路案内に関する音声ガイダンスを出力するスピーカ36と、記憶媒体であるDVDを読み取るDVDドライブ37と、プローブセンタやVICSセンタ等の情報センタとの間で通信を行う通信モジュール38と、を有する。また、ナビゲーション装置1はCAN等の車載ネットワークを介して、ナビゲーション装置1の搭載された車両に対して設置された車外カメラ39や各種センサが接続されている。更に、ナビゲーション装置1の搭載された車両に対する各種制御を行う車両制御ECU40とも双方向通信可能に接続されている。
【0035】
以下に、ナビゲーション装置1が有する各構成要素について順に説明する。
現在位置検出部31は、GPS41、車速センサ42、ステアリングセンサ43、ジャイロセンサ44等からなり、現在の車両の位置、方位、車両の走行速度、現在時刻等を検出することが可能となっている。ここで、特に車速センサ42は、車両の移動距離や車速を検出する為のセンサであり、車両の駆動輪の回転に応じてパルスを発生させ、パルス信号をナビゲーションECU33に出力する。そして、ナビゲーションECU33は発生するパルスを計数することにより駆動輪の回転速度や移動距離を算出する。尚、上記4種類のセンサをナビゲーション装置1が全て備える必要はなく、これらの内の1又は複数種類のセンサのみをナビゲーション装置1が備える構成としても良い。
【0036】
また、データ記録部32は、外部記憶装置及び記録媒体としてのハードディスク(図示せず)と、ハードディスクに記録された地図情報DB45やキャッシュ46や所定のプログラム等を読み出すとともにハードディスクに所定のデータを書き込む為のドライバである記録ヘッド(図示せず)とを備えている。尚、データ記録部32をハードディスクの代わりにフラッシュメモリやメモリーカードやCDやDVD等の光ディスクを有しても良い。また、本実施形態では上述したようにサーバ装置4において目的地までの経路を探索するので、地図情報DB45については省略しても良い。地図情報DB45を省略した場合であっても、必要に応じてサーバ装置4から地図情報を取得することも可能である。
【0037】
ここで、地図情報DB45は、例えば、道路(リンク)に関するリンクデータ、ノード点に関するノードデータ、経路の探索や変更に係る処理に用いられる探索データ、施設に関する施設データ、地図を表示するための地図表示データ、各交差点に関する交差点データ、地点を検索するための検索データ等が記憶された記憶手段である。
【0038】
一方、キャッシュ46は、過去にサーバ装置4から配信された高精度地図情報16、施設情報17、接続情報18、道路外形状情報19、障害物情報が保管される記憶手段である。保管する期間は適宜設定可能であるが、例えば記憶されてから所定期間(例えば1カ月)としても良いし、車両のACC電源(accessory power supply)がOFFされるまでとしても良い。また、キャッシュ46に格納されるデータ量が上限となった後に古いデータから順次削除するようにしても良い。そして、ナビゲーションECU33は、キャッシュ46に格納された高精度地図情報16、施設情報17、接続情報18、道路外形状情報19、障害物情報を用いて、自動運転支援に関する各種支援情報を生成する。詳細について
は後述する。
【0039】
一方、ナビゲーションECU(エレクトロニック・コントロール・ユニット)33は、ナビゲーション装置1の全体の制御を行う電子制御ユニットであり、演算装置及び制御装置としてのCPU51、並びにCPU51が各種の演算処理を行うにあたってワーキングメモリとして使用されるとともに、経路が探索されたときの経路データ等が記憶されるRAM52、制御用のプログラムのほか、後述の自動運転支援プログラム(図5参照)等が記録されたROM53、ROM53から読み出したプログラムを記憶するフラッシュメモリ54等の内部記憶装置を備えている。尚、ナビゲーションECU33は、処理アルゴリズムとしての各種手段を有する。例えば、走行予定経路取得手段は、車両が走行する走行予定経路を取得する。旋回走行区間取得手段は、走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を取得する。障害物情報取得手段は、走行予定経路上に存在する障害物に関する障害物情報を取得する。方位設定手段は、走行予定経路に基づいて旋回区間の始点と終点の少なくとも一方を含む対象地点に車両が到達する際の車両の方位を設定する。走行軌道生成手段は、対象地点に到達する際の車両の方位が方位設定手段で設定された方位となることを条件として、障害物情報を用いて旋回区間において障害物を回避するとともに車両の走行が推奨される走行軌道を生成する。運転支援手段は、走行軌道生成手段によって生成された走行軌道に基づいて車両の運転支援を行う。
【0040】
操作部34は、走行開始地点としての出発地及び走行終了地点としての目的地を入力する際等に操作され、各種のキー、ボタン等の複数の操作スイッチ(図示せず)を有する。そして、ナビゲーションECU33は、各スイッチの押下等により出力されるスイッチ信号に基づき、対応する各種の動作を実行すべく制御を行う。尚、操作部34は液晶ディスプレイ35の前面に設けたタッチパネルを有しても良い。また、マイクと音声認識装置を有しても良い。
【0041】
また、液晶ディスプレイ35には、道路を含む地図画像、交通情報、操作案内、操作メニュー、キーの案内、案内経路(走行予定経路)に沿った案内情報、ニュース、天気予報、時刻、メール、テレビ番組等が表示される。尚、液晶ディスプレイ35の代わりに、HUDやHMDを用いても良い。
【0042】
また、スピーカ36は、ナビゲーションECU33からの指示に基づいて案内経路(走行予定経路)に沿った走行を案内する音声ガイダンスや、交通情報の案内を出力する。
【0043】
また、DVDドライブ37は、DVDやCD等の記録媒体に記録されたデータを読み取り可能なドライブである。そして、読み取ったデータに基づいて音楽や映像の再生、地図情報DB45の更新等が行われる。尚、DVDドライブ37に替えてメモリーカードを読み書きする為のカードスロットを設けても良い。
【0044】
また、通信モジュール38は、交通情報センタ、例えば、VICSセンタやプローブセンタ等から送信された交通情報、プローブ情報、天候情報等を受信する為の通信装置であり、例えば携帯電話機やDCMが該当する。また、車車間で通信を行う車車間通信装置や路側機との間で通信を行う路車間通信装置も含む。また、サーバ装置4で探索された経路情報や高精度地図情報16、施設情報17、接続情報18、道路外形状情報19、障害物情報等をサーバ装置4との間で送受信するのにも用いられる。
【0045】
また、車外カメラ39は、例えばCCD等の固体撮像素子を用いたカメラにより構成され、車両のフロントバンパの上方に取り付けられるとともに光軸方向を水平より所定角度下方に向けて設置される。そして、車外カメラ39は、車両が自動運転区間を走行する場合において、車両の進行方向前方を撮像する。また、ナビゲーションECU33は撮像さ
れた撮像画像に対して画像処理を行うことによって、車両が走行する道路に描かれた区画線や周辺の他車両等の障害物を検出し、検出結果に基づいて自動運転支援に関する各種支援情報を生成する。例えば、障害物を検出した場合には、障害物を回避或いは追従して走行する新たな走行軌道を生成する。更に、路上に駐停車された車両、道路の工事現場に設置される看板や柵、路面の凹凸、電柱やブロックなどの構造物等の車両の走行を妨げる要因となる障害物を検出した場合については、検出した障害物の位置や種類を特定する情報をプローブ情報としてサーバ装置4へと送信することも行う。尚、車外カメラ39は車両前方以外に後方や側方に配置するように構成しても良い。また、障害物を検出する手段としてはカメラの代わりにミリ波レーダやレーザセンサ等のセンサや車車間通信や路車間通信を用いても良い。
【0046】
また、車両制御ECU40は、ナビゲーション装置1が搭載された車両の制御を行う電子制御ユニットである。また、車両制御ECU40にはステアリング、ブレーキ、アクセル等の車両の各駆動部と接続されており、本実施形態では特に車両において自動運転支援が開始された後に、各駆動部を制御することにより車両の自動運転支援を実施する。また、自動運転支援中にユーザによってオーバーライドが行われた場合には、オーバーライドが行われたことを検出する。
【0047】
ここで、ナビゲーションECU33は、走行開始後にCANを介して車両制御ECU40に対してナビゲーション装置1で生成された自動運転支援に関する各種支援情報を送信する。そして、車両制御ECU40は受信した各種支援情報を用いて走行開始後の自動運転支援を実施する。支援情報としては例えば車両の走行が推奨される走行軌道、走行する際の車速を示す速度計画等がある。
【0048】
続いて、上記構成を有する本実施形態に係るナビゲーション装置1においてCPU51が実行する自動運転支援プログラムについて図5に基づき説明する。図5は本実施形態に係る自動運転支援プログラムのフローチャートである。ここで、自動運転支援プログラムは、車両のACC電源(accessory power supply)がONされた後であって自動運転支援による車両の走行が開始された場合に実行され、ナビゲーション装置1で生成された支援情報に従って自動運転支援による支援走行を実施するプログラムである。また、以下の図5図8図11図14図23図25及び図33にフローチャートで示されるプログラムは、ナビゲーション装置1が備えているRAM52やROM53に記憶されており、CPU51により実行される。
【0049】
先ず、自動運転支援プログラムではステップ(以下、Sと略記する)1において、CPU51は、車両が今後走行する予定にある経路(以下、走行予定経路という)を取得する。尚、車両の走行予定経路は、例えばユーザが目的地を設定することによってサーバ装置4により探索された目的地までの推奨経路とする。尚、目的地が設定されていない場合には、車両の現在位置から道なりに走行する経路を走行予定経路としても良い。
【0050】
また、推奨経路の探索を行う場合に先ずCPU51は、サーバ装置4に対して経路探索要求を送信する。尚、経路探索要求には、経路探索要求の送信元のナビゲーション装置1を特定する端末IDと、出発地(例えば車両の現在位置)及び目的地を特定する情報と、が含まれている。尚、再探索時については目的地を特定する情報は必ずしも必要では無い。その後、CPU51は経路探索要求に応じてサーバ装置4から送信された探索経路情報を受信する。探索経路情報は、送信した経路探索要求に基づいてサーバ装置4が最新のバージョンの地図情報を用いて探索した出発地から目的地までの推奨経路(センタールート)を特定する情報(例えば推奨経路に含まれるリンク列)である。例えば公知のダイクストラ法を用いて探索される。
【0051】
尚、上記推奨経路の探索では、目的地において駐車場で車両を駐車する為に推奨される駐車位置(駐車スペース)を選択し、選択された駐車位置までの推奨経路を探索するのが望ましい。即ち、探索される推奨経路には駐車場までの経路に加えて駐車場内での車の移動を示す経路についても含むのが望ましい。例えば駐車場内で空き状態にある駐車スペースの内から、ユーザにとって停車し易い駐車スペース(例えば駐車場の出入口から近い駐車スペース、左右に他車両が駐車していない駐車スペースなど)をユーザが駐車を行うのに推奨される駐車位置の候補として決定する。また、駐車位置の選択については、駐車位置までの車両の移動に加えて車両を駐車した後の徒歩の移動や、帰りに駐車位置から出庫する際の車の移動についても考慮してユーザの負担が軽くなる駐車位置を選択するのが望ましい。
【0052】
また、車両を駐車する為に推奨される駐車位置は複数候補選択しても良い。また、車両を駐車する為に推奨される駐車位置を複数候補選択した場合については、前記S1において各駐車位置までの推奨経路が走行予定経路として取得される、即ち複数の走行予定経路の候補が取得されることとなる。更に、推奨される駐車位置を一のみ選択した場合であっても、その駐車位置に対して推奨経路が複数考えられる場合には複数の走行予定経路の候補を取得しても良い。尚、前記S1において複数の走行予定経路の候補を取得した場合には、後述のS25において複数の走行予定経路間で車線移動態様を比較し、推奨される車線移動態様を一に決定することで、駐車位置及び走行予定経路も一に決定されることとなる。
【0053】
また、サーバ装置4は、ユーザが駐車を行う駐車場の出入口に面した道路(以下、進入道路という)に含まれる車線と駐車場の出入口との間の接続関係を示す接続情報18を参照し、進入道路から駐車場への進入可能な進行方向が限られている場合(例えば左折による進入のみ可)については、進入方向についても考慮して上記走行予定経路の探索を行う。尚、ルートの探索方法としてはダイクストラ法以外の探索手段を用いても良い。また、前記S1の走行予定経路の探索はサーバ装置4でなくナビゲーション装置1において行うようにしても良い。
【0054】
次に、S2においてCPU51は、車両の現在位置から前記S1で取得された走行予定経路を含むエリアを対象として高精度地図情報16を取得する。
【0055】
ここで、高精度地図情報16は図6に示すように矩形形状(例えば500m×1km)に区分されてサーバ装置4の高精度地図DB13に格納されている。従って、例えば図6に示すように車両の走行予定経路として経路61が取得された場合には、経路61を含むエリア62~65を対象として高精度地図情報16が取得される。但し、目的地までの距離が特に遠い場合については、例えば車両が現在位置する2次メッシュのみを対象として高精度地図情報16を取得しても良いし、車両の現在位置から所定距離(例えば3km以内)内のエリアのみを対象として高精度地図情報16を取得するようにしても良い。
【0056】
高精度地図情報16には例えば道路のレーン形状と道路に描かれた区画線(車道中央線、車線境界線、車道外側線、誘導線等)に関する情報が含まれる。更に、道路や車路に設定された制限速度、信号機、横断歩道、踏切、一時停止の道路標識などの車両の走行を規制(より具体的には停止や減速を要求)する存在(規制物)について、規制物の種類と位置を特定する規制情報についても含まれている。また、その他に交差点に関する情報、駐車場に関する情報等も含まれる。高精度地図情報16は基本的にサーバ装置4から上述した矩形形状のエリア単位で取得されるが、キャッシュ46に既に格納されているエリアの高精度地図情報16が存在する場合には、キャッシュ46から取得する。また、サーバ装置4から取得された高精度地図情報16はキャッシュ46に一旦格納される。
【0057】
また、前記S2においてCPU51は、ユーザが駐車を行う駐車場の出入口に面した進入道路に含まれる車線と駐車場の出入口との間の接続関係を示す接続情報18と、進入道路とユーザが駐車を行う駐車場の出入口との間において車両の通行可能な領域を特定する道路外形状情報19と、走行予定経路上(道路上も駐車場などの施設内も含む)にある障害物に関する障害物情報についても同様に取得する。
【0058】
その後、S3においてCPU51は、後述の静的走行軌道生成処理(図8)を実行する。ここで、静的走行軌道生成処理は、車両の走行予定経路と前記S2で取得した高精度地図情報16と基づいて、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道を生成する処理である。特に、CPU51は車両に走行が推奨される車線を特定するだけではなく、車線内において走行が推奨される具体的な走行位置まで特定した走行軌道を静的走行軌道として生成する。また、障害物情報DB15に管理されている障害物については、障害物情報をサーバ装置4から取得することでその障害物を回避した走行軌道を生成する。尚、目的地までの距離が特に遠い場合には、車両の現在位置から進行方向に沿って所定距離前方までの区間(例えば車両が現在位置する2次メッシュ内)を対象とした静的走行軌道のみを生成しても良い。尚、所定距離については適宜変更可能であるが、少なくとも車外カメラ39やその他のセンサによって車両周辺の道路状況を検出することが可能な範囲(検出範囲)外を含む領域を対象として静的走行軌道を生成する。
【0059】
次に、S4においてCPU51は、前記S2で取得した高精度地図情報16に基づいて、前記S3で生成された静的走行軌道を走行する際の車両の速度計画を生成する。例えば、制限速度情報や走行予定経路上にある速度変化地点(例えば交差点、カーブ、踏切、横断歩道など)を考慮して、静的走行軌道を走行する際に推奨される車両の走行速度を算出する。
【0060】
そして、前記S4で生成された速度計画は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。また、前記S4で生成された速度計画を実現する為に必要な車両の加減速を示す加速度の計画についても自動運転支援に用いる支援情報として生成するようにしても良い。
【0061】
続いて、S5においてCPU51は、車外カメラ39で撮像された撮像画像に対して画像処理を行うことによって、周辺の道路状況として、特に自車両の周辺に自車両の走行に影響が生じる要因が存在するか否かを判定する。ここで、前記S5で判定対象となる“自車両の走行に影響が生じる要因”は、リアルタイムで変化する動的な要因とし、道路構造に基づくような静的な要因は除かれる。例えば、自車両の進行方向前方を走行又は駐車する他車両、渋滞車両、自車両の進行方向前方に位置する歩行者、自車両の進行方向前方にある工事区間等が該当する。一方で、交差点、カーブ、踏切、合流区間、車線減少区間等は除かれる。また、他車両、歩行者、工事区間が存在する場合であっても、それらが自車両の今後の走行軌道と重複する虞のない場合(例えば自車両の今後の走行軌道から離れた位置にある場合)については“自車両の走行に影響が生じる要因”からは除かれる。従って、後述のように静的走行軌道の生成(S3)を行う際に回避対象とされた障害物(障害物情報DB15に管理されている障害物)については、既に障害物を回避した走行軌道が生成されており、現在の走行軌道と重複しないので“自車両の走行に影響が生じる要因”からは除かれる。また、車両の走行に影響が生じる可能性のある要因を検出する手段としてはカメラの代わりにミリ波レーダやレーザセンサ等のセンサや車車間通信や路車間通信を用いても良い。
【0062】
また、例えば全国の道路を走行する各車両のリアルタイムの位置等を外部のサーバで管理し、CPU51は自車両の周辺に位置する他車両の位置を外部のサーバから取得して前
記S5の判定処理を行うようにしても良い。
【0063】
そして、自車両の周辺に自車両の走行に影響が生じる要因が存在すると判定された場合(S5:YES)には、S6へと移行する。それに対して、自車両の周辺に自車両の走行に影響が生じる要因が存在しないと判定された場合(S5:NO)には、S9へと移行する。
【0064】
S6においてCPU51は、車両の現在位置から前記S5で検出された“自車両の走行に影響が生じる要因”を回避或いは追従して静的走行軌道に戻る為の新たな軌道を動的走行軌道として生成する。尚、動的走行軌道は“自車両の走行に影響が生じる要因”を含む区間を対象として生成される。また、区間の長さは要因の内容によって変化する。例えば、“自車両の走行に影響が生じる要因”が車両の前方を走行する他車両(前方車両)である場合には、図7に示すように右側に車線変更して前方車両66を追い越し、その後に左側に車線変更して元の車線に戻るまでの軌道である回避軌道が動的走行軌道67として生成される。尚、前方車両66を追い越さずに前方車両66の所定距離後方を追従して走行(或いは前方車両66と並走)する軌道である追従軌道を動的走行軌道として生成しても良い。更に、複数の候補を動的走行軌道として生成しても良く、その場合には複数の候補の内から後述のS7において最もコストの小さい候補が選択されることとなる。
【0065】
図7に示す動的走行軌道67の算出方法を例に挙げて説明すると、CPU51は先ずステアリングの旋回を開始して右側の車線へと移動し、且つステアリングの位置が直進方向に戻るのに必要な第1の軌道L1を算出する。尚、第1の軌道L1は車両の現在の車速に基づいて車線変更を行う際に生じる横方向の加速度(横G)を算出し、横Gが自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s)を超えないことを条件として、クロソイド曲線や円弧を用いてできる限り円滑で、且つできる限り車線変更に必要な距離が短くなる軌道を算出する。また、前方車両66との間に適切な車間距離N以上を維持することについても条件とする。
次に、右側の車線を制限速度を上限に走行して前方車両66を追い越し、且つ前方車両66との間を適切な車間距離N以上とするまでの第2の軌道L2を算出する。尚、第2の軌道L2は基本的に直線の軌道であり、また軌道の長さは、前方車両66の車速と道路の制限速度に基づいて算出される。
続いて、ステアリングの旋回を開始して左側の車線へと戻り、且つステアリングの位置が直進方向に戻るのに必要な第3の軌道L3を算出する。尚、第3の軌道L3は車両の現在の車速に基づいて車線変更を行う際に生じる横方向の加速度(横G)を算出し、横Gが自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s)を超えないことを条件として、クロソイド曲線や円弧を用いてできる限り円滑で、且つできる限り車線変更に必要な距離が短くなる軌道を算出する。また、前方車両66との間に適切な車間距離N以上を維持することについても条件とする。
尚、動的走行軌道は、車外カメラ39やその他のセンサで取得した車両周辺の道路状況に基づいて生成されるので、動的走行軌道が生成される対象となる領域は、少なくとも車外カメラ39やその他のセンサによって車両周辺の道路状況を検出することが可能な範囲(検出範囲)内となる。
【0066】
続いて、S7においてCPU51は、前記S6で新たに生成された動的走行軌道を、前記S3で生成された静的走行軌道に反映する。具体的には、車両の現在位置から“自車両の走行に影響が生じる要因”を含む区間の終端まで、静的走行軌道と動的走行軌道(動的走行軌道は複数候補あっても良い)の夫々のコストを算出し、該コストが最少となる走行
軌道を選択する。結果的に、必要に応じて静的走行軌道の一部が動的走行軌道に置き換わることになる。尚、状況によっては動的走行軌道の置き換えが行われない場合、即ち動的走行軌道の反映が行われても前記S3で生成された静的走行軌道から変化しない場合もある。更に、動的走行軌道と静的走行軌道が同じ軌道である場合には、置き換えが行われても前記S3で生成された静的走行軌道から変化しない場合もある。
【0067】
次に、S8においてCPU51は、前記S7で動的走行軌道が反映された後の静的走行軌道について、反映された動的走行軌道の内容に基づいて前記S4で生成された車両の速度計画を修正する。尚、動的走行軌道の反映が行われた結果、前記S3で生成された静的走行軌道から変化しない場合には、S8の処理については省略しても良い。
【0068】
続いて、S9においてCPU51は、前記S3で生成された静的走行軌道(前記S7で動的走行軌道の反映が行われている場合には反映後の軌道)を前記S4で生成された速度計画(前記S8で速度計画の修正が行われている場合には修正後の計画)に従った速度で車両が走行する為の制御量を演算する。具体的には、アクセル、ブレーキ、ギヤ及びステアリングの制御量が夫々演算される。尚、S9及びS10の処理についてはナビゲーション装置1ではなく車両を制御する車両制御ECU40が行うようにしても良い。
【0069】
その後、S10においてCPU51は、S9において演算された制御量を反映する。具体的には、演算された制御量を、CANを介して車両制御ECU40へと送信する。車両制御ECU40では受信した制御量に基づいてアクセル、ブレーキ、ギヤ及びステアリングの各車両制御が行われる。その結果、前記S3で生成された静的走行軌道(前記S7で動的走行軌道の反映が行われている場合には反映後の軌道)を前記S4で生成された速度計画(前記S8で速度計画の修正が行われている場合には修正後の計画)に従った速度で走行する走行支援制御が可能となる。
【0070】
次に、S11においてCPU51は、前記S3で静的走行軌道の生成が行われてから車両が一定距離走行したか否かを判定する。例えば一定距離は1kmとする。
【0071】
そして、前記S3で静的走行軌道の生成が行われてから車両が一定距離走行したと判定された場合(S11:YES)には、S2へと戻る。その後、車両の現在位置から走行予定経路に沿った所定距離以内の区間を対象として、静的走行軌道の生成が再度行われる(S2~S4)。尚、本実施形態では車両が一定距離(例えば1km)走行する度に、車両の現在位置から走行予定経路に沿った所定距離以内の区間を対象として、静的走行軌道の生成が繰り返し行われることとしているが、目的地までの距離が短い場合には走行開始時点において目的地までの静的走行軌道の生成を一度に行うようにしても良い。
【0072】
一方、前記S3で静的走行軌道の生成が行われてから車両が一定距離走行していないと判定された場合(S11:NO)には、自動運転支援による支援走行を終了するか否かを判定する(S12)。自動運転支援による支援走行を終了する場合としては、目的地に到着した場合以外に、ユーザが車両に設けられた操作パネルを操作したり、ハンドル操作やブレーキ操作などが行われることによって自動運転支援による走行を意図的に解除(オーバーライド)した場合がある。
【0073】
そして、自動運転支援による支援走行を終了すると判定された場合(S12:YES)には、当該自動運転支援プログラムを終了する。それに対して自動運転支援による支援走行を継続すると判定された場合(S12:NO)には、S5へと戻る。
【0074】
次に、前記S3において実行される静的走行軌道生成処理のサブ処理について図8に基づき説明する。図8は静的走行軌道生成処理のサブ処理プログラムのフローチャートであ
る。
【0075】
先ず、S21においてCPU51は、現在位置検出部31により検出した車両の現在位置を取得する。尚、車両の現在位置は、例えば高精度のGPS情報や高精度ロケーション技術を用いて詳細に特定することが望ましい。ここで、高精度ロケーション技術とは、車両に設置されたカメラから取り込んだ白線や路面ペイント情報を画像認識により検出し、更に、検出した白線や路面ペイント情報を例えば高精度地図情報16と照合することにより、走行車線や高精度な車両位置を検出可能にする技術である。更に、車両が複数の車線からなる道路を走行する場合には車両の走行する車線についても特定する。また、車両が駐車場内に位置する場合については駐車場内の具体的な位置(例えば車両が位置する駐車スペースなど)と車両の姿勢(例えば車両の進行方向、駐車スペース内に位置する場合には駐車スペースに対してどのような向きで駐車されているか)についても特定する。
【0076】
次に、S22においてCPU51は、前記S2で取得した高精度地図情報16に基づいて、特に車両の進行方向前方の静的走行軌道を生成する区間(例えば車両の現在位置から所定距離以内の走行予定経路)を対象として、レーン形状、区画線情報、交差点に関する情報等を取得する。また、道路や車路に設定された制限速度、信号機、横断歩道、踏切、一時停止の道路標識などの車両の走行を規制(より具体的には停止や減速を要求)する存在(規制物)について、規制物の種類と位置を特定する規制情報についても取得する。また、静的走行軌道を生成する区間に駐車場内を含む場合については、駐車場の出入口の位置を特定する情報、駐車場内の駐車スペースの配置を特定する情報、駐車スペースや車路を区画(車路)する区画線に関する情報等が含まれる。尚、車路については車路の形状(即ち駐車場内において車両が走行可能な領域)を特定する情報についても含む。尚、前記S22で取得されるレーン形状と区画線情報には、特に車両が走行対象として選択可能な車線が道路に対してどのように配置されているかを特定する情報を含み、更に車線数、車線を区画する区画線の種類と配置、道路(車線)の曲率、車線幅、車線数の増減がある場合にはどの位置でどのように増減するか、車線毎の進行方向の通行区分や道路の繋がり(具体的には、交差点の通過前の道路に含まれる車線と交差点の通過後の道路に含まれる車線との対応関係)を特定する情報等を含む。
【0077】
続いて、S23においてCPU51は、前記S22で取得したレーン形状と区画線情報とに基づいて、車両の進行方向前方の静的走行軌道を生成する区間を対象としてレーンネットワークの構築を行う。ここで、レーンネットワークは車両が選択し得る車線移動を示したネットワークである。
【0078】
ここで、前記S23におけるレーンネットワークを構築する例として、例えば図9に示す走行予定経路を車両が走行する場合を例に挙げて説明する。図9に示す走行予定経路は、車両の現在位置から直進した後に次の交差点71で右折し、更に次の交差点72でも右折し、次の交差点73で左折する経路とする。図9に示す走行予定経路では、例えば交差点71で右折する場合に右側の車線に進入することも可能であるし、左側の車線に進入することも可能である。但し、次の交差点72で右折する必要があるので、交差点72の進入時点では最も右側の車線に車線移動する必要がある。また、交差点72で右折する場合においても右側の車線に進入することも可能であるし、左側の車線に進入することも可能である。但し、次の交差点73で左折する必要があるので、交差点73の進入時点では最も左側の車線に車線移動する必要がある。このような車線移動が可能な区間を対象として構築したレーンネットワークを図10に示す。
【0079】
図10に示すようにレーンネットワークは、車両の進行方向前方の静的走行軌道を生成する区間を複数の区画(グループ)に区分する。具体的には、交差点の進入位置、交差点の退出位置、車線が増減する位置を境界として区分する。そして、区分された各区画の境
界に位置する各車線に対してノード点(以下、レーンノードという)75が設定されている。更に、レーンノード75間をつなぐリンク(以下、レーンリンクという)76が設定されている。尚、レーンリンク76は、車線を跨がない場合については基本的には車線の中央に対して設定される。
【0080】
また、上記レーンネットワークは、特に交差点でのレーンノードとレーンリンクとの接続によって、交差点の通過前の道路に含まれる車線と交差点の通過後の道路に含まれる車線との対応関係、即ち交差点の通過前の車線に対して交差点の通過後に移動可能な車線を特定する情報を含んでいる。具体的には交差点の通過前の道路に設定されたレーンノードと、交差点の通過後の道路に設定されたレーンノードとの内、レーンリンクによって接続されたレーンノードに対応する車線間において車両が移動可能なことを示している。このようなレーンネットワークを生成する為に高精度地図情報16には、交差点に接続する各道路について、交差点へと進入する道路と退出する道路の組み合わせごとに、車線の対応関係を示すレーンフラグが設定されて格納されている。CPU51は前記S23においてレーンネットワークを構築する際に、レーンフラグを参照して交差点におけるレーンノードとレーンリンクとの接続を形成する。
【0081】
尚、図10では道路を対象として構築されたレーンネットワークの例を示しているが、静的走行軌道を生成する区間に駐車場内が含まれていれば駐車場内を対象としても同様のネットワーク(以下、駐車場内ネットワークという)を構築する。駐車場内ネットワークは、駐車場ノードと駐車場リンクからなり、駐車場ノードは駐車場の出入口と、車両が通行可能な通路が交差する交差点及び車両が通行可能な通路の曲がり角(即ち通路同士の接続点)、通路の終点に夫々設定される。一方で駐車場リンクは駐車場ノード間の車両が通行可能な通路に対して設定される。
【0082】
尚、前記S1において複数の走行予定経路の候補が取得されている場合には、複数の走行予定経路に対して上記レーンネットワークや駐車場内ネットワークの構築が行われる。
【0083】
次に、S24においてCPU51は、前記S23で構築されたレーンネットワーク(静的走行軌道を生成する区間に駐車場内が含まれていれば駐車場内ネットワークについても含む、以下同じ)に対して、レーンネットワークの始点に位置するレーンノードに対して車両が移動を開始する開始レーン(出発ノード)を設定し、レーンネットワークの終点に位置するレーンノードに対して車両が移動する目標となる目標レーン(目的ノード)を設定する。尚、レーンネットワークの始点が片側複数車線の道路である場合には、車両の現在位置する車線に対応するレーンノードが開始レーンとなる。一方、レーンネットワークの終点が片側複数車線の道路である場合には、最も左側の車線(左側通行の場合)に対応するレーンノードが目標レーンとなる。また、レーンネットワークの始点や終点が駐車場内である場合には、駐車場内ネットワークの車両が現在位置する駐車スペースや通路に開始レーンが設定され、車両が駐車する駐車スペースや駐車スペースへと進入可能な通路に目標レーンが設定される。
【0084】
その後、S25においてCPU51は、前記S23で構築されたレーンネットワークを参照し、開始レーンから目標レーンまでを連続して繋ぐルートの内、レーンコストの最も小さいルート(以下、推奨ルートという)を導出する。例えばダイクストラ法を用いて目標レーン側からルートの探索を行う。但し、開始レーンから目標レーンまでを連続して繋ぐルートを探索できるのであればダイクストラ法以外の探索手段を用いても良い。導出された推奨ルートは、車両が移動する際に推奨される車両の車線移動態様(走行が推奨される車線や車線移動を行う推奨位置を特定した情報)となる。
【0085】
また、上記ルートの探索に用いられるレーンコストは、レーンリンク76毎に付与され
ている。各レーンリンク76に付与されるレーンコストは、各レーンリンク76の長さ或いは移動に係る所要時間を基準値とする。特に本実施形態ではレーンリンクの長さ(m単位)をレーンコストの基準値とする。また、車線変更を伴うレーンリンクについては車線変更コスト(例えば50)を上記基準値に加算する。尚、車線変更コストについては車線変更の回数や車線変更の位置に応じて値を変えても良い。例えば交差点に近い位置で行われる車線変更や2車線分の車線変更が行われる場合については加算される車線変更コストの値をより高くすることが可能である。
【0086】
尚、前記S1において複数の走行予定経路の候補が取得されている場合には、複数の走行予定経路の内からレーンコストの最も小さい推奨ルートを導出する。導出された推奨ルートによって走行予定経路も一に決定されることとなる。
【0087】
続いて、S26においてCPU51は、車両が走行する走行予定経路を対象として、サーバ装置4から走行予定経路にある障害物に関する障害物情報を取得する。尚、障害物とは道路或いは駐車場などの施設内を走行する車両の走行を妨げる要因となる物であり、例えば路上に駐停車された車両、道路の工事現場に設置される看板や柵、路面の凹凸、電柱やブロックなどの構造物等が該当する。また、障害物情報は、具体的には障害物を検出した日時を特定する情報と、障害物の種類と、障害物の位置を特定する情報とを含み、特に障害物の位置については障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲について特定される。そして、上記障害物情報は、全国を走行する各車両から収集されるプローブ情報に基づいて予めサーバ装置4により管理され、サーバ装置4が有する障害物情報DB15に格納されている(図3)。従って、前記S26では自車両の車外カメラ39やその他のセンサによって車両周辺の道路状況を検出することが可能な範囲(検出範囲)外にある障害物の情報についても取得可能となる。
【0088】
一方で前記S26においてCPU51は、自車両の車外カメラ39やその他のセンサによって車両周辺の道路状況を検出することによって特定された検出範囲内にある障害物の情報(即ち、自車両によって検出された障害物に関する情報)についても取得するようにしても良い。
【0089】
続いて、S27においてCPU51は、後述の旋回区間の走行軌道生成処理(図11)を行う。旋回区間の走行軌道算出処理は、車両の進行方向前方の静的走行軌道を生成する対象となる区間の走行予定経路の内、特に走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を対象として、前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成する処理である。ここで、旋回区間としては、例えば道路が所定の曲率で円弧状に曲がる区間(道路の曲率が変化する形状も含む)に加えて、直角などの所定の角度で屈曲する区間、車両が右左折する対象となる交差点(分岐点)の区間を含む。更に、公道上だけではなく、駐車場等の施設内において車両の旋回を伴って走行する区間、駐車スペースへの進入或いは退出する為に旋回を行う区間、或いは公道から施設内に進入又は施設内から公道に進入する為に旋回して走行する区間等も含まれる。但し、走行車線を変更する為の車線変更については本実施形態では上記旋回の対象から除くこととし、車線変更を行う区間については後述のS28で走行軌道を生成することとする。尚、走行予定経路に複数の旋回区間を含む場合については複数の旋回区間毎に推奨される走行軌道を生成する。また、特に旋回区間内に前記S26で取得された障害物情報によって特定される障害物がある場合についてはその障害物を回避する軌道を描く走行軌道が生成される。
【0090】
その後、S28においてCPU51は、上記旋回区間以外について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成する。例えば車線変更を
伴う区間の走行軌道については、できる限り車線変更が連続せず、且つ交差点から離れた位置で行うように車線変更の位置を設定する。また、車線変更をする際の走行軌道を生成する場合には、車両に生じる横方向の加速度(横G)を算出し、横Gが自動運転支援に支障が生じることなく、また車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s)を超えないことを条件として、クロソイド曲線を用いてできる限り円滑に結ぶ軌道を算出する。上記処理を行うことによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道が生成される。尚、旋回区間でもなく車線変更を行う区画でもない区画については、車線の中央を通過する軌道を車両の走行が推奨される走行軌道とする。また、特に旋回区間外に前記S26で取得された障害物情報によって特定される障害物がある場合についてはその障害物を回避する軌道を描く走行軌道が生成される。
【0091】
S29においてCPU51は、前記S27及び前記S28で算出された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される。前記S29で生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。その後S4へと移行し、生成された静的走行軌道に基づく各種運転支援が行われる。
【0092】
次に、前記S27において実行される旋回区間の走行軌道算出処理のサブ処理について図11に基づき説明する。図11は旋回区間の走行軌道算出処理のサブ処理プログラムのフローチャートである。特に以下の実施例ではカーブ形状(道路が円弧状に曲がる場合に加えて、直角などの所定の角度で屈曲する場合も含む)の道路を車両が旋回を伴って走行する旋回区間を対象として静的走行軌道を生成する例を挙げて説明する。
【0093】
先ず、S31においてCPU51は、前記S2で取得した高精度地図情報16に基づいて、車両の進行方向前方の静的走行軌道を生成する区間を対象に車両が走行する走行領域を特定する情報を取得する。具体的には、前記S25で選択された車線移動態様に従って走行した場合に車両が走行する車線の左右の区画線(一車線の道路や車線の区分がない道路については道路端)の位置を特定する情報や道路の曲率が取得される。
【0094】
次に、S32においてCPU51は、前記S31で取得した走行領域の情報や道路の曲率に基づいて、車両の進行方向前方の静的走行軌道を生成する区間を対象に車両が走行する車線(走行領域)の中心線を算出する。車線の区分がない道路については道路の中心線となる。例えば走行領域の左右の区画線或いは道路端の位置からその中心にある中心線を算出することが可能である。或いは道路の曲率から中心線を算出することも可能である。但し、中心線については区画線や道路の曲率から算出するのではなく予め車線毎に算出して高精度地図DB13に格納しておくことも可能である。
【0095】
続いて、S33においてCPU51は、前記S32で算出された中心線に基づいて、車両の進行方向前方の静的走行軌道を生成する区間を対象に車両が走行する車線(走行領域)の移動平均線を算出する。車線の区分がない道路については道路の移動平均線となる。尚、移動平均線は、車線の中心線に沿って配置された連続する所定数の座標点の平均地点を結んだ線である。より具体的には中心線に沿って所定間隔で設定した座標点毎に、その前後2つの座標点を含めた5つの座標点の平均地点(緯度経度をそれぞれ平均した地点)を算出し、その平均地点を結んだ線を移動平均線とする。但し、移動平均線については中心線から算出するのではなく予め車線毎に算出して高精度地図DB13に格納しておくことも可能である。
【0096】
更に、S34においてCPU51は、前記S32で算出された中心線と前記S33で算出された移動平均線とを比較して、中心線と移動平均線とが一致しない範囲についてカー
ブが存在する範囲として検出する。ここで、図12は前記S31及びS32で算出される中心線81と移動平均線82の例を示した図である。前述のように移動平均線82は中心線81に沿って所定間隔で設定した座標点毎に、その前後2つの座標点を含めた5つの座標点の平均地点(緯度経度をそれぞれ平均した地点)を算出し、その平均地点を結んだ線である。従って、中心線81が直線状に配置された区間では中心線81と移動平均線82は一致するが、図12に示すように道路が円弧状に曲がる箇所や所定の角度で屈曲する箇所において、中心線81と移動平均線82とが一致しない範囲が生じる。従って、前記S34では中心線81と移動平均線82とが一致しない範囲をカーブが存在する範囲として検出する。
【0097】
尚、前記S34でCPU51は、中心線81と移動平均線82を比較することによって車両の進行方向前方の静的走行軌道を生成する区間にあるカーブを検出しているが、地図情報に基づいてカーブを検出することも可能である。その場合には、地図情報に予めカーブの位置を特定する情報(例えばカーブに該当するリンクを特定する情報やカーブの始点や終点の座標)を含めるようにする。或いは道路の曲率が閾値以上となる範囲をカーブが存在する範囲として特定しても良い。
【0098】
続いて、S35においてCPU51は、前記S34の検出結果に基づいて車両の進行方向前方の静的走行軌道を生成する区間に、少なくとも一以上のカーブが存在するか否か判定する。
【0099】
そして、車両の進行方向前方の静的走行軌道を生成する区間に、少なくとも一以上のカーブが存在すると判定された場合(S35:YES)にはS36へと移行する。それに対して、車両の進行方向前方の静的走行軌道を生成する区間に、カーブが存在しないと判定された場合(S35:NO)にはS28へと移行し、前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成する。
【0100】
S36においてCPU51は、上述のように検出されたカーブを含む旋回区間(より具体的には旋回区間の始点と終点)を取得する。旋回区間の始点及び終点の位置については前記S25で選択された車線移動態様によって適宜変化させても良いし、車線移動態様に関わらず固定された条件で設定しても良い。例えば、中心線81と移動平均線82が一致しなくなる区間の始点の所定距離(例えば20m)手前を旋回区間の始点とし、中心線81と移動平均線82が一致しなくなる区間の終点に対して所定距離だけ進行方向側に進んだ地点を旋回区間の終点とすることが可能である。また、車両の現在位置がカーブの手前である場合には車両の現在位置が旋回区間の始点となる場合もある。また、予め地図情報にカーブとともに旋回区間を特定する情報(例えば旋回区間に含まれるリンクを特定する情報や旋回区間の始点や終点の座標)についても含めるようにし、地図情報に基づいて旋回区間を設定しても良い。
【0101】
S37以下では、上述のように検出されたカーブを含む旋回区間を対象として以下の処理により旋回区間を走行する際に推奨される走行軌道を生成する。尚、カーブを複数検出した場合には、検出した全てのカーブに対応する各旋回区間を対象として以下の処理を実行し、走行軌道を生成する。
【0102】
先ず、S37においてCPU51は、後述の基準走行軌道生成処理(図14)を行う。基準走行軌道生成処理は、旋回区間を対象として旋回区間を走行する際に推奨される走行軌道を生成する処理である。特に基準走行軌道生成処理では、旋回区間内に前記S26で取得された障害物情報によって特定される障害物がある場合であっても、障害物については考慮せずに旋回区間を走行する際に推奨される走行軌道を生成する。以下、前記S37で生成された障害物を考慮しない走行軌道を基準走行軌道という。
【0103】
その後、S38においてCPU51は、前記S37で生成された基準走行軌道が前記S26で取得された障害物情報によって特定される障害物と重複するか否か判定する。ここで、図3に示すように障害物情報は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲(占有領域)を特定しており、障害物情報に基づいて基準走行軌道と障害物とが重複するか否かを判定可能となっている。また、前記S38において“基準走行軌道と障害物とが重複する”とは図13の左図に示すように障害物が位置する範囲78と基準走行軌道79とが重なる場合に加えて、基準走行軌道79に沿って車両が走行した場合に障害物が位置する範囲78と車両とが重なる場合、即ち図13の右図に示すように障害物が位置する範囲78と基準走行軌道79との間の距離Xが所定距離(例えば車幅の1/2+α)未満となる場合も“基準走行軌道と障害物とが重複する”とみなす。
【0104】
そして、前記S37で生成された基準走行軌道が前記S26で取得された障害物情報によって特定される障害物と重複しないと判定された場合(S38:NO)には、前記S37で生成された基準走行軌道について旋回区間を走行する際に推奨される走行軌道として選択する(S39)。尚、旋回区間内において前記S26で取得された障害物情報によって特定される障害物が存在しない場合についても、基準走行軌道が障害物と重複しないと判定される。その後、S28へと移行し、旋回区間以外の区間について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成し、最終的に生成された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される(S29)。更に、生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。
【0105】
一方、前記S37で生成された基準走行軌道が前記S26で取得された障害物情報によって特定される障害物と重複すると判定された場合(S38:YES)には、基準走行軌道では旋回区間において障害物を回避した走行ができないとみなし、障害物を回避する為の新たな走行軌道を生成する為にS40へと移行する。
【0106】
S40においてCPU51は、後述の第1回避走行軌道生成処理(図23)を行う。第1回避走行軌道生成処理は、障害物を考慮して旋回区間を走行する際に推奨される走行軌道を生成する処理である。以下、前記S40で生成された障害物を考慮した走行軌道を第1回避走行軌道という。
【0107】
その後、S41においてCPU51は、前記S40の第1回避走行軌道生成処理において、前記S26で取得された障害物情報によって特定される障害物と重複しない第1回避走行軌道を少なくとも一以上生成することができたか否か判定する。尚、前記S41において“第1回避走行軌道と障害物とが重複する”とは前記S38と同様に障害物が位置する範囲と第1回避走行軌道とが重なる場合に加えて、第1回避走行軌道に沿って車両が走行した場合に障害物が位置する範囲と車両とが重なる場合、即ち障害物が位置する範囲と第1回避走行軌道との間の距離Xが所定距離(例えば車幅の1/2+α)未満となる場合も“第1回避走行軌道と障害物とが重複する”とみなす。
【0108】
そして、前記S40の第1回避走行軌道生成処理において、前記S26で取得された障害物情報によって特定される障害物と重複しない第1回避走行軌道を少なくとも一以上生成することができたと判定された場合(S41:YES)には、前記S40で生成された第1回避走行軌道の内、走行軌道としての適性を示すコストが最も小さい(適性が最も高い)走行軌道について旋回区間を走行する際に推奨される走行軌道として選択する(S42)。尚、コスト算出の詳細については後述する。その後、S28へと移行し、旋回区間
以外の区間について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成し、最終的に生成された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される(S29)。更に、生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。
【0109】
一方、前記S40の第1回避走行軌道生成処理において、前記S26で取得された障害物情報によって特定される障害物と重複しない第1回避走行軌道を生成できなかったと判定された場合(S41:NO)には、第1回避走行軌道では旋回区間において障害物を回避した走行ができないとみなし、障害物を回避する為の新たな走行軌道を生成する為にS43へと移行する。
【0110】
S43においてCPU51は、前記S26で取得された障害物情報によって特定される旋回区間に存在する障害物が、前記S32で算出された車両が走行する車線(走行領域)の中心線と重複するか否かを判定する。ここで、図3に示すように障害物情報は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲(占有領域)を特定しており、障害物情報に基づいて中心線と障害物とが重複するか否かを判定可能となっている。
【0111】
そして、旋回区間に存在する障害物が車両の走行する車線(走行領域)の中心線と重複すると判定された場合(S43:YES)には、S44へと移行する。それに対して、旋回区間に存在する障害物が車両の走行する車線(走行領域)の中心線と重複しないと判定された場合(S43:NO)には、S45へと移行する。
【0112】
S44においてCPU51は、後述の第2回避走行軌道生成処理(図25)を行う。一方、S45においてCPU51は、後述の第3回避走行軌道生成処理(図33)を行う。尚、第2回避走行軌道生成処理及び第3回避走行軌道生成処理は、前記S40の第1回避走行軌道生成処理と同じく障害物を考慮して旋回区間を走行する際に推奨される走行軌道を生成する処理である。但し、第2回避走行軌道生成処理及び第3回避走行軌道生成処理では走行軌道を算出する際にベースとなるガイド線を障害物と重複しないように設定し、ガイド線を用いて障害物を回避する走行軌道の算出を行う点で異なる。また、第2回避走行軌道生成処理はガイド線を車両が走行する車線の中心線に基づいて設定する一方で、第3回避走行軌道生成処理はガイド線を前記S37で算出された基準走行軌道に基づいて設定する点で異なる。以下、前記S44で生成された障害物を考慮した走行軌道を第2回避走行軌道といい、前記S45で生成された障害物を考慮した走行軌道を第3回避走行軌道という。
【0113】
その後、前記S44で生成された第2回避走行軌道又は前記S45で生成された第3回避走行軌道の内、走行軌道としての適性を示すコストが最も小さい(適性が最も高い)走行軌道について旋回区間を走行する際に推奨される走行軌道として選択する(S42)。尚、コスト算出の詳細については後述する。その後、S28へと移行し、旋回区間以外の区間について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成し、最終的に生成された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される(S29)。更に、生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。
【0114】
次に、前記S37において実行される基準走行軌道生成処理のサブ処理について図14に基づき説明する。図14は基準走行軌道生成処理のサブ処理プログラムのフローチャートである。
【0115】
先ず、S51においてCPU51は、旋回区間の始点(対象地点)に位置する際に推奨される車両の方位と旋回区間の終点(対象地点)に位置する際に推奨される車両の方位とを夫々設定する。尚、車両の方位とは、車両の車体の向き(角度)と車両の進行方向(タイヤの向き、ステアリング角度)の両方を含むこととする。但し、いずれか一方のみを設定しても良い。ここで、図15に示すように旋回区間の始点83に位置する際に推奨される車両の方位は、基本的に車両の車体の向き(角度)が旋回区間の始点83における道路の進行方向と同方向(道路と並行)で、且つ車両の進行方向が直進方向(ステアリング角度が0°(中立状態))に設定する。同じく、旋回区間の終点84に位置する際に推奨される車両の方位は、基本的に車両の車体の向き(角度)が旋回区間の終点84における道路の進行方向と同方向(道路と並行)で、且つ車両の進行方向が直進方向(ステアリング角度が0°(中立状態))に設定する。但し、旋回区間の前後で車線変更が要求される場合や他の旋回区間が隣接する場合など(例えばSカーブ)については上記の限りではなく、車両の車体の向き(角度)を道路の進行方向に対して傾斜して設定しても良いし、車両の進行方向(タイヤの向き、ステアリング角度)についても右或いは左に旋回する方向に設定しても良い。即ち、前記S51で設定される車両の方位は固定とする必要はなく、前記S25で選択された車線移動態様を考慮して、走行予定経路を走行した場合の旋回区間の始点に位置する際に推奨される車両の方位と旋回区間の終点に位置する際に推奨される車両の方位とを夫々設定するのが望ましい。
【0116】
次に、S52においてCPU51は、前記S36で取得された旋回区間の始点及び終点の位置と、前記S51で設定された旋回区間の始点に位置する際に推奨される車両の方位と旋回区間の終点に位置する際に推奨される車両の方位とに基づいて、旋回区間の始点における車両の位置と方位を特定した開始ベクトルと、旋回区間の終点における車両の位置と方位を特定した終了ベクトルと、をそれぞれ取得する。
【0117】
ここで、開始ベクトル及び終了ベクトルの道路の進行方向に沿った位置(前後方向の位置)については上述した旋回区間の始点及び終点と対応する位置とする。
一方、開始ベクトル及び終了ベクトルの道路幅方向の位置については基本的には車両が走行する車線の中央(一車線の道路や車線の区分がない道路については道路の中央にも相当)とする。但し、旋回区間の前後で車線変更が要求される場合や他の旋回区間が隣接する場合など(例えばSカーブ)についてはこの限りでなく、開始ベクトル及び終了ベクトルの道路幅方向の位置を車線の中央よりも左右寄りに設定しても良い。
更に、開始ベクトル及び終了ベクトルの方向については前記S51で設定された車両の方位と対応する方向とする。
【0118】
図16は直角に屈曲するカーブを含む旋回区間に対して設定される開始ベクトル83と終了ベクトル84の例を示した図である。図16に示す例では中心線81と移動平均線82が一致しなくなる区間の始点の所定距離手前の車線中央に開始ベクトル83が設定され、中心線81と移動平均線82が一致しなくなる区間の終点に対して所定距離だけ進行方向側に進んだ地点の車線中央に終了ベクトル84が設定される。尚、開始ベクトル83及び終了ベクトル84の方向についてはいずれも道路の進行方向(道路長さ方向)に平行な方向とする。
【0119】
その後、S53においてCPU51は、前記S33で算出された移動平均線とカーブの内側の区画線との間にクリッピングポイント(通過点)85を設定する。ここで、クリッピングポイント85は中心線81に沿って配置された各座標点とカーブの内側の区画線との間、より適切には移動平均線とカーブの内側の区画線との間で適宜設定可能であるが、例えば図16に示すように移動平均線82へのカーブの内側の区画線86の最近接点をクリッピングポイント85とする。尚、図12に示すように基本的に中心線81よりも移動
平均線82の方がカーブの内側の区画線に近い位置となるので、移動平均線82とカーブの内側の区画線との間にクリッピングポイント85を設定すれば、そのクリッピングポイント85は中心線81に沿って配置された各座標点とカーブの内側の区画線の間に位置することとなる。但し、図16に示す例は車両の車幅を0とみなした場合であって、車幅を考慮するのであれば移動平均線82へのカーブの内側の区画線86の最近接点より車両の車幅の1/2だけ中心線側の位置、或いは誤差などを考慮して車両の車幅の1/2+α(
例えば30cm)だけ中心線側の位置にクリッピングポイント85を設定するのが望ましい。
【0120】
続いて、S54においてCPU51は、走行軌道が生成される対象となる旋回区間の始点に前記S52で取得された開始ベクトル以外に新たな開始ベクトルの候補を生成する。更に、旋回区間の終点に前記S52で取得された終了ベクトル以外に新たな終了ベクトルの候補を生成する。例えば、図17に示す例では、当初の開始ベクトル83よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル91を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル92を生成する。同様にして、当初の終了ベクトル84よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル93を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル94を生成する。尚、図17に示す例では新たな開始ベクトル及び終了ベクトルの候補を夫々2つ生成しているが、1つのみ或いは3つ以上生成しても良い。また、カーブの内側方向に生成することも可能である。新たな開始ベクトル及び終了ベクトルの候補を多く生成すれば、より適切な走行軌道を生成できる可能性は高くなるが、一方で走行軌道の候補が多くなるので走行軌道の算出に係る処理負荷は大きくなる。
【0121】
以降のS55~S61の処理は、前記S52で取得され更に前記S54で新たに生成された開始ベクトルと終了ベクトルの組み合わせ毎に実行する。例えば図17に示す例では開始ベクトルが3つ、終了ベクトルが3つ存在するので、3×3の全9通りの組み合わせに対してS55~S61の処理を実行する。そして、全ての開始ベクトルと終了ベクトルの組み合わせに対してS55~S61の処理を実行した後にS62へと移行する。
【0122】
先ずS55においてCPU51は、処理対象となる開始ベクトル及び終了ベクトルを各ベクトルの進行方向に通過する(即ち円弧の接線方向が各ベクトルの進行方向と一致する)最大曲率半径の円弧を算出する。
【0123】
その後、S56においてCPU51は、前記S55で算出された円弧が開始ベクトルから終了ベクトルまでの間において車両が走行する車線内(前記S31で取得された走行領域内)に含まれるか否かを判定する。
【0124】
そして、前記S55で算出された円弧が開始ベクトルから終了ベクトルまでの間において車両が走行する車線内(前記S31で取得された走行領域内)に含まれると判定された場合(S56:YES)には、S57へと移行する。一方、前記S55で算出された円弧が開始ベクトルから終了ベクトルまでの間において車両が走行する車線内(前記S31で取得された走行領域内)に含まれないと判定された場合(S56:NO)には、S58へと移行する。
【0125】
S57においてCPU51は、前記S55で算出された開始ベクトルから終了ベクトルまでの間の円弧について第1の走行軌道として生成する。例えば図18に示す例は前記S55で算出された円弧95が開始ベクトル83から終了ベクトル84までの間において車両が走行する車線内(前記S31で取得された走行領域内)に含まれる場合の例であり、
円弧95が第1の走行軌道として生成される。その後、S59へと移行する。
【0126】
一方、S58においてCPU51は、前記S55で算出された円弧は走行領域をはみ出す軌道となり採用できないことから、前記S53で設定されたクリッピングポイント85を通過する新たな円弧を生成し、更に処理対象の開始ベクトルと終了ベクトルに夫々道路の進行方向に沿って直進して新たな円弧と接続する走行軌道を、第1の走行軌道として生成する。前記S58で生成される第1の走行軌道は開始ベクトル及び終了ベクトルを各ベクトルの進行方向に通過する軌道となる。例えば図19に示す例は前記S55で算出された円弧95が開始ベクトル83から終了ベクトル84までの間において車両が走行する車線内(前記S31で取得された走行領域内)に含まれない場合の例であり、クリッピングポイント85を通過する軌道96が第1の走行軌道として生成される。尚、軌道96の円弧については曲率をできる限り小さくすることを条件とし、且つ軌道96は旋回方向の切り替えがない(複数の旋回動作を含まない)ことを条件とする。
【0127】
その後、S59においてCPU51は、前記S52で取得された開始ベクトルから前記S57又はS58で生成された第1の走行軌道へと移動する為の第2の走行軌道を生成する。尚、図18図19に示すように処理対象となる開始ベクトルが前記S52で取得された開始ベクトルである場合については第2の走行軌道は第1の走行軌道の一部となるのでS59の処理は不要である。一方で、図20に示すように処理対象となる開始ベクトルが前記S52で取得された開始ベクトルでない(S54で新たに追加された開始ベクトル)場合については第2の走行軌道が生成される。例えば図20に示す例では第1の走行軌道96は車線中央よりも左寄りに設定された新たな開始ベクトル92を処理対象として生成されており、本来の開始ベクトル83から第1の走行軌道96まで移動する新たな第2の走行軌道97が生成される。前記S45で生成される第2の走行軌道97は開始ベクトル83を開始ベクトル83の進行方向に通過する軌道となる。
【0128】
続いて、S60においてCPU51は、前記S57又はS58で生成された第1の走行軌道から前記S52で取得された終了ベクトルへと移動する為の第3の走行軌道を生成する。尚、図18図19に示すように処理対象となる終了ベクトルが前記S52で取得された終了ベクトルである場合については第3の走行軌道は第1の走行軌道の一部となるのでS60の処理は不要である。一方で、図20に示すように処理対象となる終了ベクトルが前記S52で取得された終了ベクトルでない(S54で新たに追加された終了ベクトル)場合については第3の走行軌道が生成される。例えば図20に示す例では第1の走行軌道96は車線中央よりも左寄りに設定された新たな終了ベクトル94を処理対象として生成されており、第1の走行軌道96から本来の終了ベクトル84まで移動する新たな第3の走行軌道98が生成される。前記S46で生成される第3の走行軌道98は終了ベクトル84を終了ベクトル84の進行方向に通過する軌道となる。
【0129】
ここで、上記第2の走行軌道や第3の走行軌道のように車両が車線内を右側又は左側に移動する場合の推奨される車両の走行軌道は、曲率が連続して変化するクロソイド曲線を含む。より具体的には形状の異なる複数のクロソイド曲線を接続した軌道となる。図21は例えば車線内を右側に移動する場合の推奨される車両の走行軌道を示した図である(尚、左側に移動する場合は左右対称の走行軌道となる)。図21に示すように車線内を右側に移動する場合の推奨される車両の走行軌道は、移動の開始点P1からステアリングを右方向に徐々に旋回させながら(即ち曲率が徐々に大きく変化させながら)第1の中継地点P2まで進む第1のクロソイド曲線101と、第1の中継地点P2からステアリングを徐々に直進方向に戻しながら(即ち曲率が徐々に小さく変化させながら)中間点P3まで進む第2のクロソイド曲線102と、中間点P3から今度はステアリングを左方向に徐々に旋回させながら(即ち曲率が徐々に大きく変化させながら)第2の中継地点P4まで進む第3のクロソイド曲線103と、その後に第2の中継地点P4からステアリングを徐々に
直進方向に戻しながら(即ち曲率が徐々に小さく変化させながら)移動の終了点P5まで進む第4のクロソイド曲線104とからなる。尚、クロソイド曲線101~104による横方向の移動幅については第2の走行軌道であればP5の時点で第1の走行軌道と重複する距離、第3の走行軌道であればP5の時点で当初の終了ベクトル84と重複する距離とする。そして、CPU51は各クロソイド曲線101~104について車線内移動を行う際に生じる加速度(横G)が車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s)を超えないことを条件として、クロソイド曲線を用いてできる限り円滑で、且つできる限り車線内移動に必要な距離が短くした軌道となるように算出する。そして、算出された各クロソイド曲線101~104を接続することにより上記第2の走行軌道や第3の走行軌道が算出される。
【0130】
その後、S61においてCPU51は、前記S57又はS58で生成された第1の走行軌道と、前記S59で生成された第2の走行軌道(第2の走行軌道が生成された場合のみ)と、前記S60で生成された第3の走行軌道(第3の走行軌道が生成された場合のみ)とを連結して一の走行軌道とする。前記S61で生成された走行軌道は、処理対象の開始ベクトルと終了ベクトルの組み合わせに対して生成された“旋回区間を走行する際に推奨される走行軌道の候補”である。特に、対象地点である旋回区間の始点83に到達する際の車両の方位が前記S51で設定された方位となり、対象地点である旋回区間の終点84に到達する際の車両の方位が前記S51で設定された方位となる走行軌道となる。例えば、前記S61で生成された走行軌道に沿って車両が走行した場合に、旋回区間の始点83及び終点84における車両の車体の向き(角度)が道路の進行方向と同方向(道路と並行)で、且つ車両の進行方向が直進方向(ステアリング角度が0°(中立状態))となる。また、前記S61で生成される走行軌道は、直線軌道、円弧軌道、及びクロソイド曲線軌道の少なくとも2以上の軌道を組み合わせた軌道となっており、各軌道の距離及び方位変化量(曲率がどのように変化するか)について少なくとも特定されている。
【0131】
尚、前記S57又はS58で生成された第1の走行軌道のみからなる走行軌道、或いは第2の走行軌道及び第3の走行軌道を含んでいても円弧と直線軌道が直接連結されている場合では、円弧軌道とその前後にある直進軌道との間にクロソイド曲線を挟まないので直進軌道と円弧軌道の各軌道の接続点の前後で曲率が一致しない(走行軌道に沿って車両が走行する為には各軌道の接続点で一旦停車してハンドル操作を行う必要がある)問題がある。そこで、以下のように円弧軌道と直進軌道の間にクロソイド曲線を挟むように修正するのが望ましい。但し、駐車スペースへの進入(入庫)或いは退出(出庫)する為に旋回を行う旋回区間、或いは公道から施設内に進入又は施設内から公道に進入する為に旋回して走行する旋回区間などの、途中で停車してハンドル操作を行うことが問題ない旋回区間については必ずしも修正する必要はない。
【0132】
先ず、図22に示すように前記S61で生成された走行軌道の候補に含まれる円弧軌道110の曲率半径Rを必要に応じて修正する。例えば所定割合(例えば80%)だけ小さい曲率半径に修正する。
続いて、旋回区間の始点の開始ベクトル83の方向に進む軌道から円弧軌道110に円弧軌道110と同じ曲率で接続するように描く第1クロソイド曲線111と、円弧軌道110に円弧軌道110と同じ曲率で接続するとともに旋回区間の終点の終了ベクトル84の方向に進む軌道となるように描く第2クロソイド曲線112と、を夫々算出する。各クロソイド曲線の長さLcやクロソイド定数Aについては適宜設定可能であるが例えばLc=9.4m、A=6.85とする。尚、クロソイド曲線とは、距離に対して曲率を一定割合で変化(例えば車速が固定であれば一定の角速度でステアリング角を変化)させた場合に描く曲線であり、クロソイド曲線の算出は例えばシンプソン法或いは近似式を用いてフレネル積分を計算すること、或いは複素平面に置き換えることで算出が可能となる。クロ
ソイド曲線の算出方法については既に公知であるので詳細は省略する。
続いて、第1クロソイド曲線111と円弧軌道110と第2クロソイド曲線112を連結し、図22に示すように連結した軌道(以下、連結軌道という)に接続する直進軌道113、114を算出する。例えば直進軌道113は旋回区間の始点(開始ベクトル83)から連結軌道の始点までを繋ぐ直線の軌道であり、直進軌道114は連結軌道の終点から旋回区間の終点(終了ベクトル84)までを繋ぐ直線の軌道である。そして、算出された直進軌道113、連結軌道、直進軌道114を同じ曲率で接続して連結することで最終的な走行軌道候補115が生成される。走行軌道候補115は走行軌道を走行する車両の走行位置及び方向が連続する(即ち走行軌道が途切れることなく連続した線となり途中で屈曲しない)。更に、図22のグラフに示すように走行する車両の方位変化(曲率)についても連続しており、具体的には直進軌道113と第1クロソイド曲線111、第1クロソイド曲線111と円弧軌道110、円弧軌道110と第2クロソイド曲線112、第2クロソイド曲線112と直進軌道114の各軌道の接続点の前後の曲率が一致した滑らかな軌道となる。尚、接続点の前後の曲率(方位変化)については完全に一致させなくとも所定範囲内であることを条件としても良い。その場合であっても、走行軌道候補115は方位変化が所定範囲内で連続する滑らかな走行軌道となる。
尚、図20に示すような第1の走行軌道96と第2の走行軌道97と第3の走行軌道98とを連結した走行軌道候補について、各走行軌道の接続点では前後の曲率が一致し、前後にある直線軌道との接続点の前後でも曲率が一致するので、上記のような修正を行わなくとも方位変化が所定範囲内で連続する滑らかな走行軌道となる。
【0133】
以下同様にして、前記S52で取得され更に前記S54で新たに生成された開始ベクトルと終了ベクトルの組み合わせ毎に“旋回区間を走行する際に推奨される走行軌道の候補”を生成し、全ての開始ベクトルと終了ベクトルの組み合わせに対して“旋回区間を走行する際に推奨される走行軌道の候補”を生成した後にS62へと移行する。
【0134】
その後、S62においてCPU51は、前記S61で生成された複数の走行軌道の各候補について、走行する場合の車両挙動を考慮して車両の走行にかかるコストを算出する。コストは走行軌道としての適性を示し、コストが小さい程、走行軌道としての適性が高いことを示す。以下に前記S62のコスト算出方法の一例について説明する。
【0135】
具体的には、以下の(1)~(3)の各要素に基づいて算出されたコストを加算することによって走行軌道の候補毎に最終的なコストが算出される。
(1)移動時間(又は距離)・・・移動時間[s]×1.0
(2)最大曲率・・・最大曲率×0.1
(3)ステアリングの旋回方向を切り替える回数・・・回数×5.0
【0136】
先ず(1)については走行軌道の移動時間によってコストが決定し、具体的には走行軌道を走行するのに必要な時間が長い程、より高いコストが算出される、即ち推奨される走行軌道として選択され難いことが分かる。尚、旋回区間を走行する際の車両の車速が一定であると仮定すれば、走行軌道の移動時間は移動距離の長さにも相当する。
【0137】
また、(2)については走行軌道に含まれる曲線の最大の曲率を算出する。そして、算出された最大の曲率に基づいてコストを算出する。具体的には、走行軌道の最大の曲率が大きい程、走行軌道を走行するに際してより急な旋回を行うこととなり、乗員への負荷が大きいのでより高いコストが算出される、即ち推奨される走行軌道として選択され難いことが分かる。
【0138】
また、(3)については走行軌道内に含まれるステアリングの旋回方向を切り替える回数に応じてコストが決定し、具体的にはステアリングの旋回方向を切り替える回数が多い
程、より高いコストが算出される、即ち推奨される走行軌道として選択され難いことが分かる。
【0139】
尚、前記S62において走行軌道の候補に対してコストを算出する場合には、上記(1)~(3)の全ての要素を考慮するのではなく、上記(1)~(3)の内の一部の要素のみを考慮してコストを算出しても良い。例えば、(1)と(2)のコストの合計値を算出しても良い。また、上記(1)~(3)以外の要素(例えば加減速の有無、ステアリングの旋回量など)を用いてコストを算出しても良い。
【0140】
その後、S63においてCPU51は、前記S62で算出されたコストを比較し、前記S61で生成された複数の走行軌道作の候補の内から旋回区間を走行する際に推奨される走行軌道を選択する。基本的には算出されたコストが最も小さい走行軌道の候補を、旋回区間を走行する際に推奨される走行軌道を選択する。尚、S63で算出されるのは障害物を考慮せずに算出した基準走行軌道である。そして、基準走行軌道が障害物と重複しない、即ち基準走行軌道が障害物を回避できる走行軌道である場合(S38:NO)については、基準走行軌道が旋回区間を走行する際に推奨される走行軌道として決定され、その後、S28へと移行し、旋回区間以外の区間について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成し、最終的に生成された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される(S29)。更に、生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。一方、基準走行軌道が障害物を回避できない場合(S38:YES)については、後述の第1回避走行軌道生成処理(S40)が行われることとなる。
【0141】
次に、前記S40において実行される第1回避走行軌道生成処理のサブ処理について図23に基づき説明する。図23は第1回避走行軌道生成処理のサブ処理プログラムのフローチャートである。
【0142】
ここで、以下のS71~S81の処理については前述した基準走行軌道生成処理(図14)のS51~S61の処理と基本的に同じ処理を行う。但し、以下の点において処理が異なる。
【0143】
先ず、S74において走行軌道が生成される対象となる旋回区間の始点に前記S72で取得された開始ベクトル以外に新たな開始ベクトルの候補を生成する際には、図24に示すように当初の開始ベクトル83よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル91を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル92を生成することに加えて、当初の開始ベクトル83よりもカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル121を生成し、更にカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル122についても生成する。同じく旋回区間の終点に前記S72で取得された終了ベクトル84以外に新たな終了ベクトルの候補を生成する際には、図24に示すように当初の終了ベクトル84よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル93を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル94を生成することに加えて、当初の終了ベクトル84よりもカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル123を生成し、更にカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル124についても生成する。それによって、第1回避走行軌道生成処理では旋回する場合に道路の内側から旋回したり旋回後に道路の内側に進入するような旋回時にあえて曲
率が大きくなる(旋回半径が小さくなる)軌道についても走行軌道の候補に加えることで障害物を回避する軌道を生成可能にする。
【0144】
また、S79において前記S72で取得された開始ベクトルから前記S77又はS78で生成された第1の走行軌道へと移動する(道路の外側へと移動する)為の第2の走行軌道を生成する場合については、CPU51は車線内移動を行う際に生じる加速度(横G)が車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s)を超えないことを条件として、できる限り車線内移動に必要な距離が短くした軌道を算出する。それによって、障害物を回避する軌道が生成され易くなる。
【0145】
一方、S80において前記S77又はS78で生成された第1の走行軌道から前記S72で取得された終了ベクトルへと移動する(道路の内側へと移動する)為の第3の走行軌道を生成する場合についても、同じくCPU51は車線内移動を行う際に生じる加速度(横G)が車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s)を超えないことを条件として、できる限り車線内移動に必要な距離が短くした軌道を算出する。それによって、障害物を回避する軌道が生成され易くなる。
【0146】
そして、基準走行軌道生成処理と同様にして、前記S72で取得され更に前記S74で新たに生成された開始ベクトルと終了ベクトルの組み合わせ毎に“旋回区間を走行する際に推奨される走行軌道の候補”を生成し、全ての開始ベクトルと終了ベクトルの組み合わせに対して“旋回区間を走行する際に推奨される走行軌道の候補”を生成した後にS82へと移行する。尚、基準走行軌道生成処理と比べると前記S74で生成される開始ベクトルと終了ベクトルの候補の数が増えるので、生成される走行軌道の候補の数も多くなる。例えば図24に示す例では開始ベクトルが5つ、終了ベクトルが5つ存在するので、5×5の全25通りの組み合わせに対してS75~S81の処理が実行され、それぞれの組み合わせに対して“旋回区間を走行する際に推奨される走行軌道の候補”が生成される。
【0147】
また、前記S77又はS78で生成された第1の走行軌道のみからなる走行軌道、或いは第2の走行軌道及び第3の走行軌道を含んでいても円弧と直線軌道が直接連結されている場合では、円弧軌道とその前後にある直進軌道との間にクロソイド曲線を挟まないので直進軌道と円弧軌道の各軌道の接続点の前後で曲率が一致しない(走行軌道に沿って車両が走行する為には各軌道の接続点で一旦停車してハンドル操作を行う必要がある)問題がある。従って前述の基準走行軌道生成処理(図14)と同様に円弧軌道と直進軌道の間にクロソイド曲線を挟むように修正するのが望ましい(図22参照)。
【0148】
その後、S82においてCPU51は、前記S81で生成された複数の走行軌道の各候補について、走行する場合の車両挙動を考慮して車両の走行にかかるコストを算出する。コストは走行軌道としての適性を示し、コストが小さい程、走行軌道としての適性が高いことを示す。基本的にはS62と同様であり、上述した(1)~(3)の各要素に基づいて算出されたコストを加算することによって走行軌道の候補毎に最終的なコストが算出される。
【0149】
但し、S82においてCPU51は、(1)~(3)の各要素に基づくコストの算出を行うに際して、先ず前記S81で生成された複数の走行軌道の各候補について、前記S26で取得された障害物情報によって特定される障害物と重複するか否か判定する。ここで、図3に示すように障害物情報は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲(占有領域)を特定しており、障害物情報に基づいて複数の走行軌道の各候補と障害物とが重複
するか否かを判定可能となっている。また、前記S82において“走行軌道の候補と障害物とが重複する”とは前述したS38と同様に障害物が位置する範囲と走行軌道の候補とが重なる場合に加えて、走行軌道の候補に沿って車両が走行した場合に障害物が位置する範囲と車両とが重なる場合、即ち障害物が位置する範囲と走行軌道の候補との間の距離Xが所定距離(例えば車幅の1/2+α)未満となる場合も“走行軌道の候補と障害物とが重複する”とみなす(図13参照)。そして、障害物と重複すると判定された走行軌道の候補についてはコストの算出対象から外す、即ち走行軌道の候補から除くようにする。尚、障害物と重複すると判定された走行軌道の候補についてはコストの算出対象から除くのではなくコストに極めて大きな値を加算するようにしても良い。
【0150】
その後、S83においてCPU51は、前記S82で算出されたコストを比較し、前記S81で生成された複数の走行軌道作の候補の内から、障害物を回避するとともに旋回区間を走行する際に推奨される走行軌道を選択する。基本的には障害物と重複することなく算出されたコストが最も小さい走行軌道の候補を、推奨される走行軌道として選択する。その後、S28へと移行し、旋回区間以外の区間について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成し、最終的に生成された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される(S29)。更に、生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。但し、第1回避走行軌道生成処理において障害物を回避可能な軌道が生成できない場合(S41:NO)については、後述の第2回避走行軌道生成処理(S44)或いは第3回避走行軌道生成処理(S45)が行われることとなる。
【0151】
次に、前記S44において実行される第2回避走行軌道生成処理のサブ処理について図25に基づき説明する。図25は第2回避走行軌道生成処理のサブ処理プログラムのフローチャートである。
【0152】
先ず、S91においてCPU51は、旋回区間の始点(対象地点)に位置する際に推奨される車両の方位と旋回区間の終点(対象地点)に位置する際に推奨される車両の方位とを夫々設定する。詳細についてはS51と同様であるので説明は省略する。
【0153】
次に、S92においてCPU51は、前記S36で取得された旋回区間の始点及び終点の位置と、前記S91で設定された旋回区間の始点に位置する際に推奨される車両の方位と旋回区間の終点に位置する際に推奨される車両の方位とに基づいて、旋回区間の始点における車両の位置と方位を特定した開始ベクトルと、旋回区間の終点における車両の位置と方位を特定した終了ベクトルと、をそれぞれ取得する。詳細についてはS52と同様であるので説明は省略する。
【0154】
その後、S93においてCPU51は、前記S32で算出された車両が走行する車線(走行領域)の中心線に沿って、旋回区間を対象にして走行軌道を算出する際にベースとなるガイド線を設定する。例えば図26は直角に屈曲するカーブを含む旋回区間に対して設定される開始ベクトル83と終了ベクトル84とガイド線125の例を示した図である。図26に示すようにガイド線125は車両が走行する車線(走行領域)の中心線上に設定される。尚、第2回避走行軌道生成処理が実行されるのは旋回区間に障害物が存在し、且つ障害物が中心線と重複する場合(S43:YES)であるので、図26に示すように障害物126とガイド線125も重複することとなる。
【0155】
次に、S94においてCPU51は、前記S93で設定されたガイド線と障害物とが重複する範囲を特定する。ここで、図3に示すようにサーバ装置4から取得される障害物情報は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位
置する車線と、車線内において障害物が位置する範囲(占有領域)を特定しており、障害物情報に基づいてガイド線と障害物とが重複する範囲を特定可能となっている。また、前記S94において“ガイド線と障害物とが重複する範囲”とは障害物126とガイド線125とが重なる範囲に加えて、ガイド線125に沿って位置する車両が障害物と重なる範囲、即ち図27に示すように障害物126とガイド線125とが重なる範囲の前後に車両の全長を加算した範囲も含む。例えば図27に示す例ではPからQまでの範囲がガイド線125と障害物126とが重複する範囲として特定される。
【0156】
続いて、S95においてCPU51は、前記S94で特定された“ガイド線と障害物とが重複する範囲”の前後に対して車両の横移動に必要な距離を更に加算した範囲を重複対象区間として特定する。尚、ここで“車両の横移動に必要な距離”とは、車線の中心線(ガイド線)から車線内の最も端まで移動するのに必要な道路進行方向に沿った距離(逆に車線内の最も端から車線の中心線まで移動するのに必要な道路進行方向に沿った距離としても同じ距離)とする。ここで、車両が車線内を右側又は左側に移動する場合の推奨される車両の走行軌道は、曲率が連続して変化するクロソイド曲線を含む。より具体的には前述した図21に示すような形状の異なる複数のクロソイド曲線を接続した軌道となる。例えば図21においてP1を中心線上、P5を車線内の最も端の位置とするとP1からP5までの道路進行方向に沿った距離が“車両の横移動に必要な距離”となる。尚、車線内移動を行う際に生じる加速度(横G)が車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s)を超えないことを条件として、車線内移動に必要な距離の最小値を算出するようにする。その結果、例えば図28に示す例ではPからQまでの範囲の前後に夫々“車両の横移動に必要な距離”を加算したRからSまでが重複対象区間として特定される。
【0157】
その後、S96においてCPU51は、前記S93で設定されたガイド線の内、前記S95で特定された重複対象区間について、障害物から離れるように移動させてガイド線を修正する。具体的には、図29に示すように障害物126から離れる方の道路端(図29に示す例ではカーブ内側方向の道路端)側へとPとQを道路幅方向に沿ってスライド移動させる。特に車両がガイド線125に沿って車両が走行すると仮定した場合に車両が道路端と接触する虞のない限界まで移動させる。尚、RとP、PとQ、QとSの間についてはそれぞれ直線で結び、その結果、図29に示すように走行軌道を算出する際にベースとなるガイド線125は障害物126と重複しない形状へと修正される。
【0158】
続いて、S97においてCPU51は、前記S96で修正されたガイド線に基づいて、旋回区間を対象にガイド線の移動平均線を算出する。尚、移動平均線は、ガイド線に沿って配置された連続する所定数の座標点の平均地点を結んだ線である。より具体的にはガイド線に沿って所定間隔で設定した座標点毎に、その前後2つの座標点を含めた5つの座標点の平均地点(緯度経度をそれぞれ平均した地点)を算出し、その平均地点を結んだ線を移動平均線とする。尚、図30図29に示すガイド線125に対して算出された移動平均線127を示す。
【0159】
その後、S98においてCPU51は、修正後のガイド線と前記S97で算出された移動平均線の交点を境界にして前記S95で特定された重複対象区間を分割する。例えば図30に示す例ではT1~T3を境界に重複対象区間が分割されることとなる。
【0160】
続いて、S99においてCPU51は、走行軌道が生成される対象となる旋回区間の始点に前記S92で取得された開始ベクトル以外に新たな開始ベクトルの候補を生成する。更に、旋回区間の終点に前記S92で取得された終了ベクトル以外に新たな終了ベクトルの候補を生成する。具体的には第1回避走行軌道生成処理(図23)のS74と同様に図
24に示すように当初の開始ベクトル83よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル91を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル92を生成することに加えて、当初の開始ベクトル83よりもカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル121を生成し、更にカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル122についても生成する。同じく当初の終了ベクトル84よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル93を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル94を生成することに加えて、当初の終了ベクトル84よりもカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル123を生成し、更にカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル124についても生成する。
【0161】
更に、S100においてCPU51は、前記S98で重複対象区間を分割した境界T1~T3に対して車両が通過する通過点の候補を設定する。例えば、図31に示すように修正後のガイド線と前記S97で算出された移動平均線の交点を通過する移動平均線127の法線を境界線T1~T3とした場合に、境界線T1~T3上に通過点の候補を設定する。尚、通過点の候補は各境界に対して1点のみとしても良いし、複数点を設定しても良い。例えば、図31に示す例では境界線T1に対して通過点の候補X1~X3が設定され、境界線T2に対して通過点の候補Y1~Y3が設定され、境界線T3に対して通過点の候補Z1~Z3が設定されているが、4点以上設定しても良い。尚、通過点の候補は車両が走行する車線(走行領域)内であって、且つ障害物126とは重複しない位置に設定するのが望ましい。また、少なくともガイド線と移動平均線の交点については通過点の候補に含めるのが望ましい。尚、通過点を多く生成すれば、より適切な走行軌道を生成できる可能性は高くなるが、一方で走行軌道の候補が多くなるので走行軌道の算出に係る処理負荷は大きくなる。
【0162】
続いて、S101においてCPU51は、前記S100で設定された各通過点の候補に対して通過点の候補を通過する際に推奨される車両の位置と方位を特定した通過ベクトルを取得する。ここで、通過ベクトルの位置については前記S100で設定された通過点の候補と一致させる。また、通過ベクトルの方向については境界線T1~T3と交差する方向、即ち移動平均線127の接線方向とする。図32は境界T1~T3に対して設定された通過ベクトルの例を示す。
【0163】
以降のS102~S105の処理は、前記S92で取得され更に前記S99で新たに生成された開始ベクトル及び終了ベクトルと前記S101で取得された通過ベクトルの組み合わせ毎に実行する。例えば図24及び図32に示す例では開始ベクトルが5つ、終了ベクトルが5つ、通過ベクトルが3×3×3存在するので、5×3×3×3×5の全675通りの組み合わせに対してS102~S105の処理を実行する。そして、全ての開始ベクトル及び終了ベクトルと通過ベクトルの組み合わせに対してS102~S105の処理を実行した後にS106へと移行する。
【0164】
先ずS102においてCPU51は、処理対象の開始ベクトルと終了ベクトルと通過ベクトルを夫々各ベクトルの進行方向に通過する走行軌道を、第1の走行軌道として生成する。尚、生成される軌道の円弧については曲率をできる限り小さくすることを条件とする。ここで、前記S102の第1の走行軌道の生成については、例えば旋回区間の始点から境界線T1までの間を第1の旋回区間とみなし、境界線T1から境界線T2までの間を第2の旋回区間とみなし、境界線T2から境界線T3までの間を第3の旋回区間とみなし、境界線T3から旋回区間の終点までの間を第4の旋回区間とみなし、第1~第4の各旋回
区間において始点と終点にあるベクトルをベクトルの方向に通過する推奨される走行軌道を算出して最終的にそれらをつなげたものを第1走行軌道として生成しても良い。その場合には、境界線T1に対して設定された通過ベクトルX1~X3は第1の旋回区間の終了ベクトルで且つ第2の旋回区間の開始ベクトルとなり、境界線T2に対して設定された通過ベクトルY1~Y3は第2の旋回区間の終了ベクトルで且つ第3の旋回区間の開始ベクトルとなり、境界線T3に対して設定された通過ベクトルZ1~Z3は第3の旋回区間の終了ベクトルで且つ第4の旋回区間の開始ベクトルとなる。尚、第1~第4の各旋回区間における開始ベクトルから終了ベクトルまでの推奨される走行軌道については、すでに説明した基準走行軌道生成処理(図14)と同様の処理で算出可能である。
【0165】
その後、S103においてCPU51は、前記S92で取得された開始ベクトルから前記S102で生成された第1の走行軌道へと移動する(道路の外側へと移動する)為の第2の走行軌道を生成する。尚、詳細については前述したS59やS79の処理と同様であるので説明は省略する。
【0166】
続いて、S104においてCPU51は、前記S102で生成された第1の走行軌道から前記S92で取得された終了ベクトルへと移動する(道路の内側へと移動する)為の第3の走行軌道を生成する。尚、詳細については前述したS59やS79の処理と同様であるので説明は省略する。
【0167】
その後、S105においてCPU51は、前記S102で生成された第1の走行軌道と、前記S103で生成された第2の走行軌道(第2の走行軌道が生成された場合のみ)と、前記S104で生成された第3の走行軌道(第3の走行軌道が生成された場合のみ)とを連結して一の走行軌道とする。前記S105で生成された走行軌道は、処理対象の開始ベクトルと終了ベクトルと通過ベクトルの組み合わせに対して生成された“旋回区間を走行する際に推奨される走行軌道の候補”である。特に、対象地点である旋回区間の始点83に到達する際の車両の方位が前記S91で設定された方位となり、対象地点である旋回区間の終点84に到達する際の車両の方位が前記S91で設定された方位となる走行軌道となる。例えば、前記S105で生成された走行軌道に沿って車両が走行した場合に、旋回区間の始点83及び終点84における車両の車体の向き(角度)が道路の進行方向と同方向(道路と並行)で、且つ車両の進行方向が直進方向(ステアリング角度が0°(中立状態))となる。また、前記S105で生成された走行軌道は、中心線を基準とし、中心線の内で障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道となる。
【0168】
尚、前記S105で生成された走行軌道が円弧軌道とその前後にある直進軌道との間にクロソイド曲線を挟まない場合には、直進軌道と円弧軌道の各軌道の接続点の前後で曲率が一致しない(走行軌道に沿って車両が走行する為には各軌道の接続点で一旦停車してハンドル操作を行う必要がある)問題がある。従って前述の基準走行軌道生成処理(図14)と同様に円弧軌道と直進軌道の間にクロソイド曲線を挟むように修正するのが望ましい(図22参照)。
【0169】
その後、S106においてCPU51は、前記S105で生成された複数の走行軌道の各候補について、走行する場合の車両挙動を考慮して車両の走行にかかるコストを算出する。コストは走行軌道としての適性を示し、コストが小さい程、走行軌道としての適性が高いことを示す。基本的にはS62と同様であり、上述した(1)~(3)の各要素に基づいて算出されたコストを加算することによって走行軌道の候補毎に最終的なコストが算出される。
【0170】
但し、S106においてCPU51は、(1)~(3)の各要素に基づくコストの算出
を行うに際して、先ず前記S105で生成された複数の走行軌道の各候補について、前記S26で取得された障害物情報によって特定される障害物と重複するか否か判定する。ここで、図3に示すように障害物情報は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲(占有領域)を特定しており、障害物情報に基づいて複数の走行軌道の各候補と障害物とが重複するか否かを判定可能となっている。また、前記S106において“走行軌道の候補と障害物とが重複する”とは前述したS38と同様に障害物が位置する範囲と走行軌道の候補とが重なる場合に加えて、走行軌道の候補に沿って車両が走行した場合に障害物が位置する範囲と車両とが重なる場合、即ち障害物が位置する範囲と走行軌道の候補との間の距離Xが所定距離(例えば車幅の1/2+α)未満となる場合も“走行軌道の候補と障害物とが重複する”とみなす(図13参照)。そして、障害物と重複すると判定された走行軌道の候補についてはコストの算出対象から外す、即ち走行軌道の候補から除くようにする。尚、障害物と重複すると判定された走行軌道の候補についてはコストの算出対象から除くのではなくコストに極めて大きな値を加算するようにしても良い。
【0171】
その後、S107においてCPU51は、前記S106で算出されたコストを比較し、前記S105で生成された複数の走行軌道作の候補の内から、障害物を回避するとともに旋回区間を走行する際に推奨される走行軌道を選択する。基本的には障害物と重複することなく算出されたコストが最も小さい走行軌道の候補を、推奨される走行軌道として選択する。その後、S28へと移行し、旋回区間以外の区間について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成し、最終的に生成された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される(S29)。更に、生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。尚、第2回避走行軌道生成処理では前記S105において障害物を回避することが可能な走行軌道の候補が少なくとも一本以上生成されることを前提とするが、障害物を回避することが可能な走行軌道の候補が生成できない場合については、走行する車線の変更で回避できる場合には走行する車線を変更し、走行する車線の変更でも回避できない場合には走行予定経路の変更を提案するようにするのが望ましい。
【0172】
次に、前記S45において実行される第3回避走行軌道生成処理のサブ処理について図33に基づき説明する。図33は第3回避走行軌道生成処理のサブ処理プログラムのフローチャートである。
【0173】
先ず、S111においてCPU51は、旋回区間の始点(対象地点)に位置する際に推奨される車両の方位と旋回区間の終点(対象地点)に位置する際に推奨される車両の方位とを夫々設定する。詳細についてはS51と同様であるので説明は省略する。
【0174】
次に、S112においてCPU51は、前記S36で取得された旋回区間の始点及び終点の位置と、前記S111で設定された旋回区間の始点に位置する際に推奨される車両の方位と旋回区間の終点に位置する際に推奨される車両の方位とに基づいて、旋回区間の始点における車両の位置と方位を特定した開始ベクトルと、旋回区間の終点における車両の位置と方位を特定した終了ベクトルと、をそれぞれ取得する。詳細についてはS52と同様であるので説明は省略する。
【0175】
その後、S113においてCPU51は、前記S37で算出された基準走行軌道に沿って、旋回区間を対象にして走行軌道を算出する際にベースとなるガイド線を設定する。尚、基準走行軌道は障害物については考慮せずに生成された旋回区間を走行する際に推奨される走行軌道である。例えば図34は直角に屈曲するカーブを含む旋回区間に対して設定される開始ベクトル83と終了ベクトル84とガイド線131の例を示した図である。図
34に示すようにガイド線131は基準走行軌道上に設定される。尚、第3回避走行軌道生成処理が実行されるのは旋回区間に障害物が存在し、且つ障害物が中心線とは重複しないが基準走行軌道とは重複する場合(S38:YES、S43:NO)であるので、図34に示すように障害物126とガイド線131も重複することとなる。
【0176】
次に、S114においてCPU51は、前記S113で設定されたガイド線と障害物とが重複する範囲を特定する。ここで、図3に示すようにサーバ装置4から取得される障害物情報は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲(占有領域)を特定しており、障害物情報に基づいてガイド線と障害物とが重複する範囲を特定可能となっている。また、前記S114において“ガイド線と障害物とが重複する範囲”とは障害物126とガイド線131とが重なる範囲に加えて、ガイド線131に沿って位置する車両が障害物と重なる範囲、即ち図35に示すように障害物126とガイド線131とが重なる範囲の前後に車両の全長を加算した範囲も含む。例えば図35に示す例ではPからQまでの範囲がガイド線131と障害物126とが重複する範囲として特定される。
【0177】
続いて、S115においてCPU51は、前記S114で特定された“ガイド線と障害物とが重複する範囲”の前後に対して車両の横移動に必要な距離を更に加算した範囲を重複対象区間として特定する。尚、ここで“車両の横移動に必要な距離”とは、基準走行軌道(ガイド線)から車線内で障害物を回避可能な位置(例えば障害物と車線端との間の中間位置とする)まで移動するのに必要な道路進行方向に沿った距離(逆に中間位置から基準走行軌道まで移動するのに必要な道路進行方向に沿った距離としても同じ距離)とする。ここで、車両が車線内を右側又は左側に移動する場合の推奨される車両の走行軌道は、曲率が連続して変化するクロソイド曲線を含む。より具体的には前述した図21に示すような形状の異なる複数のクロソイド曲線を接続した軌道となる。例えば図21においてP1を基準走行軌道上、P5を障害物と車線端との間の中間位置とするとP1からP5までの道路進行方向に沿った距離が“車両の横移動に必要な距離”となる。尚、車線内移動を行う際に生じる加速度(横G)が車両の乗員に不快感を与えない上限値(例えば0.2G)を超えないこと、並びに横Gの単位時間当たりの変化量についても同じく上限値(例えば0.6m/s)を超えないことを条件として、車線内移動に必要な距離の最小値を算出するようにする。その結果、例えば図36に示す例ではPからQまでの範囲の前後に夫々“車両の横移動に必要な距離”を加算したRからSまでが重複対象区間として特定される。
【0178】
その後、S116においてCPU51は、前記S113で設定されたガイド線の内、前記S115で特定された重複対象区間について、障害物から離れるように移動させてガイド線を修正する。具体的には、図37に示すように障害物126から離れる方の道路端(図37に示す例ではカーブ内側方向の道路端)側へとPとQを道路幅方向に沿ってスライド移動させる。特に障害物126と道路端の中間位置まで移動させる。尚、RとP、PとQ、QとSの間についてはそれぞれ直線で結び、その結果、図37に示すように走行軌道を算出する際にベースとなるガイド線131は障害物126と重複しない形状へと修正される。
【0179】
続いて、S117においてCPU51は、前記S116で修正されたガイド線に基づいて、旋回区間を対象にガイド線の移動平均線を算出する。尚、移動平均線は、ガイド線に沿って配置された連続する所定数の座標点の平均地点を結んだ線である。詳細についてはS97と同様であるので説明は省略する(図30参照)。
【0180】
その後、S118においてCPU51は、修正後のガイド線と前記S117で算出された移動平均線の交点を境界にして前記S115で特定された重複対象区間を分割する。
【0181】
続いて、S119においてCPU51は、走行軌道が生成される対象となる旋回区間の始点に前記S112で取得された開始ベクトル以外に新たな開始ベクトルの候補を生成する。更に、旋回区間の終点に前記S112で取得された終了ベクトル以外に新たな終了ベクトルの候補を生成する。具体的には第1回避走行軌道生成処理(図23)のS74と同様に図24に示すように当初の開始ベクトル83よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル91を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル92を生成することに加えて、当初の開始ベクトル83よりもカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル121を生成し、更にカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな開始ベクトル122についても生成する。同じく当初の終了ベクトル84よりもカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル93を生成し、更にカーブの外側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル94を生成することに加えて、当初の終了ベクトル84よりもカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル123を生成し、更にカーブの内側方向に所定距離(例えば車線幅の1/4や1/6)移動した地点に新たな終了ベクトル124についても生成する。
【0182】
更に、S120においてCPU51は、前記S118で重複対象区間を分割した境界T1~T3に対して車両が通過する通過点の候補を設定する。詳細についてはS100と同様であるので説明は省略する(図31参照)。
【0183】
続いて、S121においてCPU51は、前記S120で設定された各通過点の候補に対して通過点の候補を通過する際に推奨される車両の位置と方位を特定した通過ベクトルを取得する。ここで、通過ベクトルの位置については前記S120で設定された通過点の候補と一致させる。また、通過ベクトルの方向については境界線T1~T3と交差する方向、即ち移動平均線127の接線方向とする(図32参照)。
【0184】
以降のS122~S125の処理は、前記S112で取得され更に前記S119で新たに生成された開始ベクトル及び終了ベクトルと前記S121で取得された通過ベクトルの組み合わせ毎に実行する。例えば図24及び図32に示す例では開始ベクトルが5つ、終了ベクトルが5つ、通過ベクトルが3×3×3存在するので、5×3×3×3×5の全675通りの組み合わせに対してS122~S125の処理を実行する。そして、全ての開始ベクトル及び終了ベクトルと通過ベクトルの組み合わせに対してS122~S125の処理を実行した後にS126へと移行する。
【0185】
先ずS122においてCPU51は、処理対象の開始ベクトルと終了ベクトルと通過ベクトルを夫々各ベクトルの進行方向に通過する走行軌道を、第1の走行軌道として生成する。尚、生成される軌道の円弧については曲率をできる限り小さくすることを条件とする。ここで、前記S122の第1の走行軌道の生成については、例えば旋回区間の始点から境界線T1までの間を第1の旋回区間とみなし、境界線T1から境界線T2までの間を第2の旋回区間とみなし、境界線T2から境界線T3までの間を第3の旋回区間とみなし、境界線T3から旋回区間の終点までの間を第4の旋回区間とみなし、第1~第4の各旋回区間において始点と終点にあるベクトルをベクトルの方向に通過する推奨される走行軌道を算出して最終的にそれらをつなげたものを第1走行軌道として生成しても良い。その場合には、境界線T1に対して設定された通過ベクトルX1~X3は第1の旋回区間の終了ベクトルで且つ第2の旋回区間の開始ベクトルとなり、境界線T2に対して設定された通過ベクトルY1~Y3は第2の旋回区間の終了ベクトルで且つ第3の旋回区間の開始ベク
トルとなり、境界線T3に対して設定された通過ベクトルZ1~Z3は第3の旋回区間の終了ベクトルで且つ第4の旋回区間の開始ベクトルとなる。尚、第1~第4の各旋回区間における開始ベクトルから終了ベクトルまでの推奨される走行軌道については、すでに説明した基準走行軌道生成処理(図14)と同様の処理で算出可能である。
【0186】
その後、S123においてCPU51は、前記S112で取得された開始ベクトルから前記S122で生成された第1の走行軌道へと移動する(道路の外側へと移動する)為の第2の走行軌道を生成する。尚、詳細については前述したS59やS79の処理と同様であるので説明は省略する。
【0187】
続いて、S124においてCPU51は、前記S122で生成された第1の走行軌道から前記S112で取得された終了ベクトルへと移動する(道路の内側へと移動する)為の第3の走行軌道を生成する。尚、詳細については前述したS59やS79の処理と同様であるので説明は省略する。
【0188】
その後、S125においてCPU51は、前記S122で生成された第1の走行軌道と、前記S123で生成された第2の走行軌道(第2の走行軌道が生成された場合のみ)と、前記S124で生成された第3の走行軌道(第3の走行軌道が生成された場合のみ)とを連結して一の走行軌道とする。前記S125で生成された走行軌道は、処理対象の開始ベクトルと終了ベクトルと通過ベクトルの組み合わせに対して生成された“旋回区間を走行する際に推奨される走行軌道の候補”である。特に、対象地点である旋回区間の始点83に到達する際の車両の方位が前記S111で設定された方位となり、対象地点である旋回区間の終点84に到達する際の車両の方位が前記S111で設定された方位となる走行軌道となる。例えば、前記S125で生成された走行軌道に沿って車両が走行した場合に、旋回区間の始点83及び終点84における車両の車体の向き(角度)が道路の進行方向と同方向(道路と並行)で、且つ車両の進行方向が直進方向(ステアリング角度が0°(中立状態))となる。また、前記S125で生成された走行軌道は、基準走行軌道を基準とし、基準走行軌道の内で障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道となる。
【0189】
尚、前記S125で生成された走行軌道が円弧軌道とその前後にある直進軌道との間にクロソイド曲線を挟まない場合には、直進軌道と円弧軌道の各軌道の接続点の前後で曲率が一致しない(走行軌道に沿って車両が走行する為には各軌道の接続点で一旦停車してハンドル操作を行う必要がある)問題がある。従って前述の基準走行軌道生成処理(図14)と同様に円弧軌道と直進軌道の間にクロソイド曲線を挟むように修正するのが望ましい(図22参照)。
【0190】
その後、S126においてCPU51は、前記S125で生成された複数の走行軌道の各候補について、走行する場合の車両挙動を考慮して車両の走行にかかるコストを算出する。コストは走行軌道としての適性を示し、コストが小さい程、走行軌道としての適性が高いことを示す。基本的にはS62と同様であり、上述した(1)~(3)の各要素に基づいて算出されたコストを加算することによって走行軌道の候補毎に最終的なコストが算出される。
【0191】
但し、S126においてCPU51は、(1)~(3)の各要素に基づくコストの算出を行うに際して、先ず前記S125で生成された複数の走行軌道の各候補について、前記S26で取得された障害物情報によって特定される障害物と重複するか否か判定する。ここで、図3に示すように障害物情報は、障害物の位置するリンクのリンクIDと、リンクの始点からの距離と、障害物の位置する車線と、車線内において障害物が位置する範囲(占有領域)を特定しており、障害物情報に基づいて複数の走行軌道の各候補と障害物とが
重複するか否かを判定可能となっている。また、前記S126において“走行軌道の候補と障害物とが重複する”とは前述したS38と同様に障害物が位置する範囲と走行軌道の候補とが重なる場合に加えて、走行軌道の候補に沿って車両が走行した場合に障害物が位置する範囲と車両とが重なる場合、即ち障害物が位置する範囲と走行軌道の候補との間の距離Xが所定距離(例えば車幅の1/2+α)未満となる場合も“走行軌道の候補と障害物とが重複する”とみなす(図13参照)。そして、障害物と重複すると判定された走行軌道の候補についてはコストの算出対象から外す、即ち走行軌道の候補から除くようにする。尚、障害物と重複すると判定された走行軌道の候補についてはコストの算出対象から除くのではなくコストに極めて大きな値を加算するようにしても良い。
【0192】
その後、S127においてCPU51は、前記S126で算出されたコストを比較し、前記S125で生成された複数の走行軌道作の候補の内から、障害物を回避するとともに旋回区間を走行する際に推奨される走行軌道を選択する。基本的には障害物と重複することなく算出されたコストが最も小さい走行軌道の候補を、推奨される走行軌道として選択する。その後、S28へと移行し、旋回区間以外の区間について前記S25で導出された推奨ルートに沿って走行する際に推奨される走行軌道を生成し、最終的に生成された各走行軌道を組み合わせることによって、走行予定経路に含まれる道路に対して車両に走行が推奨される走行軌道である静的走行軌道が生成される(S29)。更に、生成された静的走行軌道は、自動運転支援に用いる支援情報としてフラッシュメモリ54等に格納される。尚、第2回避走行軌道生成処理では前記S125において障害物を回避することが可能な走行軌道の候補が少なくとも一本以上生成されることを前提とするが、障害物を回避することが可能な走行軌道の候補が生成できない場合については、走行する車線の変更で回避できる場合には走行する車線を変更し、走行する車線の変更でも回避できない場合には走行予定経路の変更を提案するようにするのが望ましい。
【0193】
尚、上記実施例ではカーブ形状(道路が円弧状に曲がる場合に加えて、直角などの所定の角度で屈曲する場合も含む)の道路を車両が旋回を伴って走行する旋回区間を対象として静的走行軌道を生成する例を挙げて説明したが、他に車両が右左折する対象となる交差点(分岐点)の区間、駐車場等の施設内において車両の旋回を伴って走行する区間、駐車スペースへの進入(入庫)或いは退出(出庫)する為に旋回を行う区間、或いは公道から施設内に進入又は施設内から公道に進入する為に旋回して走行する区間を挙げられる。上記のうち一部のみを旋回区間の対象としても良い。或いは上記以外も旋回区間に含めても良い。例えば車線変更を行う区間についても旋回区間に含めても良い。
【0194】
また、旋回区間の始点や終点の位置(開始ベクトルや終了ベクトルが設定される位置)については旋回区間の種類ごとに異なる基準で設定するのが望ましい。例えば図38に示すように車両が右左折する対象となる交差点(分岐点)の区間については、交差点への進入を開始する地点(停止線があれば停止線)を旋回区間の始点とし、交差点から退出を完了した地点を旋回区間の終点とする。また、図39に示すように駐車スペースへの進入については車路上であって駐車対象とする駐車スペースの所定距離手前の地点を旋回区間の始点とし、駐車対象とする駐車スペースを旋回区間の終点とする。また、駐車スペースからの退出については駐車する駐車スペースを旋回区間の始点とし、車路上であって駐車スペースから所定距離だけ進行方向側の地点を旋回区間の終点とする。また、図40に示すように公道から施設内への進入については公道上であって施設の位置口から所定距離手前を旋回区間の始点とし、施設の入口から施設内に所定距離だけ進入した地点を旋回区間の終点とする。また、施設内から公道への退出については施設の入口から施設内に所定距離だけ進入した地点を旋回区間の始点とし、公道上であって施設の位置口から所定距離だけ進行方向側の地点を旋回区間の終点とする。
【0195】
また、図38に示すような交差点については、交差点内には車線は存在しないが誘導線
(ガイド白線)、交差点中央に配置されるひし形の導流帯(ダイヤマーク)等の路面に描かれた路面表示の他、ポール等の構造物を車線の縁部とみなして上述した走行軌道の生成を行う。
また、図39に示すような駐車スペースへの進入或いは退出については、車路の区画線に加えて駐車スペースを区切る区画線を車線の縁部とみなして上述した走行軌道の生成を行う。更に、旋回区間の始点や終点に設定される開始ベクトル及び終了ベクトルの方向について、図39に示すように駐車スペースが旋回区間の始点又は終点である場合には駐車スペースに平行な方向とする。但し、駐車スペースへ進入する為の走行軌道については、終点における車両の進行方向(タイヤの向き、ステアリング角度)は必ずしも駐車スペースと並行である必要はなく、即ち図19に示すようなクロソイド曲線は不要で円弧軌道で終了する走行軌道であっても良い。
また、図40に示すような公道からの施設内への進入又は退出については、公道に面した施設の入口の縁部(公道と施設との間において車両が通行可能な領域の縁部)を車線の縁部とみなして上述した走行軌道の生成を行う。また、公道から施設内に進入或いは退出する旋回区間については、歩道に進入する前で一旦停止する必要があるので、旋回前に一旦停止することを前提とした走行軌道とする。一時停止線のある交差点で旋回を行う旋回区間も同様である。
【0196】
また、任意の2点に設定された2つのベクトル(開始ベクトルと終了ベクトル)の間を結ぶ軌道としては、図41に示すように(A)円弧軌道(クロソイド曲線を含んでも良い、以下同じ)とその前後に接続される直線軌道の組み合わせ、(B)2つの円弧軌道の組み合わせ、(C)別回転の2つの円弧軌道とその間に接続される直線軌道の組み合わせ、(D)同回転の2つの円弧軌道とその間に接続される直線軌道の組み合わせ、が挙げられる。上述した実施例では開始ベクトルと終了ベクトルの間を結ぶ走行軌道の候補として(A)のみを生成しているが、(B)~(D)の走行軌道が生成可能な状況であれば(B)~(D)の走行軌道についても走行軌道の候補として生成しても良い。その上で、前記S63、S82、S106、S126において各走行軌道の候補についてコストを比較して、最終的に推奨される走行軌道を選択しても良い。
【0197】
以上詳細に説明した通り、本実施形態に係るナビゲーション装置1及びナビゲーション装置1で実行されるコンピュータプログラムでは、車両が走行する走行予定経路を取得し(S1)、走行予定経路上に存在する障害物に関する障害物情報についても取得し(S26)、走行予定経路に従って走行する際に車両の旋回を伴って走行する旋回区間を含む場合には、走行予定経路に基づいて旋回区間の始点と終点について車両が到達する際の車両の方位を設定し(S51、S71、S91、S111)、旋回区間の始点と終点に到達する際の車両の方位が設定された方位となることを条件として、障害物情報を用いて旋回区間において障害物を回避するとともに車両の走行が推奨される走行軌道を生成し(S37~S42)、生成された走行軌道に基づいて車両の運転支援を行う(S9、S10)ので、旋回区間について特に障害物を回避する走行軌道を生成する場合において、旋回区間の始点或いは終点の少なくとも一方について車両に不自然な挙動が行われることを防止し、急な速度変化や横加速度を抑えた車両にとって推奨される走行軌道を生成することが可能となる。その結果、車両の乗員に負担を生じさせない適切な運転支援を実施することが可能となる。
また、旋回区間がカーブ形状の道路を車両が旋回を伴って走行する区間である場合に、障害物が車両の走行する予定の車線の中心線と重複する位置にあるか否かを判定し(S43)、障害物が中心線と重複する位置にある場合には、中心線を基準とし、中心線の内で障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道を、車両の走行が推奨される走行軌道として生成する(S44)ので、車両が走行する予定の車線の中心線付近を走行しつつ最小限の車両動作で障害物を回避する走行軌道を生成することが可能となる。
また、旋回区間がカーブ形状の道路を車両が旋回を伴って走行する区間である場合に、障害物が車両の走行する予定の車線の中心線と重複する位置にあるか否かを判定し(S43)、障害物が中心線と重複しない位置にある場合には、障害物を考慮せずに生成した旋回区間において車両の走行が推奨される走行軌道である基準走行軌道を基準とし、基準走行軌道の内で障害物と重複する範囲を含む重複対象区間について障害物と重複しない軌道となるように修正した走行軌道を、車両の走行が推奨される走行軌道として生成する(S45)ので、障害物がないと仮定した場合に走行が推奨される走行軌道付近を走行しつつ最小限の車両動作で障害物を回避する走行軌道を生成することが可能となる。
また、旋回区間の始点における車両の位置と方位を特定した開始ベクトルと、旋回区間の終点における車両の位置と方位を特定した終了ベクトルを夫々取得し(S92、S112)、重複対象区間を複数の区間に分割し、分割した複数の区間の境界において車両が通過する通過点の候補を設定し、開始ベクトルから区間の境界において通過点の候補を通過して終了ベクトルへと各ベクトルの方向に通過する走行軌道を、車両の走行が推奨される走行軌道として生成する(S102、S122)ので、重複対象区間において障害物と重複せず、且つ旋回区間の始点と終点に到達する際の車両の方位が推奨される方位となる走行軌道を生成することが可能となる。
また、複数の区間の境界において車両が通過する通過点の候補を複数設定し(S100、S120)、開始ベクトルから区間の境界において通過点の候補を通過して終了ベクトルへと各ベクトルの方向に通過する走行軌道を、走行軌道の候補として通過点の候補毎に生成し(S105、S125)、通過点の候補毎に生成された複数の走行軌道の候補を比較し、障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択し(S107、S127)、選択された走行軌道の候補を用いて車両の走行が推奨される走行軌道を生成するので、重複対象区間において障害物と重複しない走行軌道候補を複数提案するとともに、提案された走行軌道候補の内からより推奨される走行軌道を選択することが可能となる。
通過点の候補毎に生成された複数の走行軌道の候補に対してコストを算出し、算出されたコストを比較して複数の走行軌道の候補の内から障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択する(S107、S127)ので、重複対象区間において障害物と重複しない走行軌道候補の内から、コストを比較することでより推奨される走行軌道を選択することが可能となる。
旋回区間の始点における車両の位置と方位を特定した開始ベクトルを複数取得するとともに、旋回区間の終点における車両の位置と方位を特定した終了ベクトルを複数取得し(S74)、開始ベクトルから終了ベクトルへと各ベクトルの方向に通過する走行軌道を、走行軌道の候補として開始ベクトルと終了ベクトルの組み合わせ毎に生成し(S75~S81)、生成した走行軌道の候補の内で障害物と重複せず且つ最も車両の走行が推奨されると判定される走行軌道の候補を選択し(S83)、選択された走行軌道の候補を用いて車両の走行が推奨される走行軌道を生成するので、開始ベクトルと終了ベクトルの候補を複数取得することで、開始ベクトルと終了ベクトルを各ベクトルの方向に通過する走行軌道候補を多数生成することが可能となり、その内から障害物を回避することが可能な走行軌道を選択可能となる。
【0198】
尚、本発明は前記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の改良、変形が可能であることは勿論である。
例えば、本実施形態では、旋回区間の始点と終点の両方に対して車両が到達する際の車両の方位を設定している(S51、S71、S91、S111)が、旋回区間の始点と終点のいずれか一方のみに対して車両が到達する際の車両の方位を設定しても良い。例えば、車両の現在位置を旋回区間の始点として旋回区間の走行軌道を生成する場合については、旋回区間の終点のみに対して車両が到達する際の車両の方位を設定すればよい。また、旋回区間の始点と終点以外(例えばクリッピングポイント85や中間点)に対して車両が到達する際の車両の方位を設定しても良い。
【0199】
また、本実施形態では地図情報に基づいて中心線81と移動平均線82を特定し、中心線81と移動平均線82とを比較してカーブの存在を特定している(S34)が、例えば車外カメラで撮像した画像に対して画像認識処理を行うことによってカーブの存在を特定しても良い。
【0200】
また、本実施形態では、中心線81を車両が走行する車線の中心線としているが、一車線の道路や車線の区分がない道路については道路の中心線としても良い。
【0201】
また、本実施形態では、車両が取り得る複数のパターンで旋回区間の走行軌道を生成し、生成された各走行軌道のコストを比較して最終的に推奨される走行軌道を決定しているが、予め車両が走行する車線の形状などを考慮した上で最も推奨される一のパターンのみで旋回区間の走行軌道を生成しても良い。
【0202】
また、本実施形態では、走行軌道を生成した後に生成された走行軌道に従って走行する為の車両制御を行っている(S9、S10)が、S9以降の車両制御に係る処理については省略することも可能である。例えば、ナビゲーション装置1は、走行軌道に基づく車両の制御については行わずに、推奨される走行軌道をユーザに案内する装置であっても良い。
【0203】
また、本実施形態では、高精度地図情報16や施設情報17を用いてレーンネットワーク、駐車場内ネットワークを生成している(S23)が、全国の道路、駐車場を対象とした各ネットワークを予めDBに格納しておき、必要に応じてDBから読み出すようにしても良い。
【0204】
また、本実施形態では、サーバ装置4が有する高精度地図情報には、道路のレーン形状(車線単位の道路形状や曲率、車線幅等)と道路に描かれた区画線(車道中央線、車線境界線、車道外側線、誘導線等)に関する情報の両方を含むが、区画線に関する情報のみを含むようにしても良いし、道路のレーン形状に関する情報のみを含むようにしても良い。例えば区画線に関する情報のみを含む場合であっても、区画線に関する情報に基づいて道路のレーン形状に関する情報に相当する情報を推定することが可能である。また、道路のレーン形状に関する情報のみを含む場合であっても、道路のレーン形状に関する情報に基づいて区画線に関する情報に相当する情報を推定することが可能である。また、「区画線に関する情報」は、車線を区画する区画線自体の種類や配置を特定する情報であっても良いし、隣接する車線間で車線変更が可能か否かを特定する情報であっても良いし、車線の形状を直接または間接的に特定する情報であっても良い。
【0205】
また、本実施形態では、静的走行軌道に動的走行軌道を反映する手段として、静的走行軌道の一部を動的走行軌道に置き換えている(S7)が、置き換えるのではなく静的走行軌道を動的走行軌道に近づけるように軌道の修正を行っても良い。
【0206】
また、本実施形態では、車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の全てを車両制御ECU40が制御することをユーザの運転操作によらずに自動的に走行を行う為の自動運転支援として説明してきた。しかし、自動運転支援を、車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の少なくとも一の操作を車両制御ECU40が制御することとしても良い。一方、ユーザの運転操作による手動運転とは車両の操作のうち、車両の挙動に関する操作である、アクセル操作、ブレーキ操作及びハンドル操作の全てをユーザが行うこととして説明する。
【0207】
また、本発明の運転支援は車両の自動運転に係る自動運転支援に限られない。例えば、前記S3で生成された静的走行軌道や前記S6で生成された動的走行軌道をナビゲーション画面に表示するとともに、音声や画面等を用いた案内(例えば車線変更の案内、推奨車速の案内等)を行うことによる運転支援も可能である。また、静的走行軌道や動的走行軌道をナビゲーション画面に表示することでユーザの運転操作を支援するようにしてもよい。
【0208】
また、本実施形態では、自動運転支援プログラム(図5)をナビゲーション装置1が実行する構成としているが、ナビゲーション装置1以外の車載器や車両制御ECU40が実行する構成としても良い。その場合には、車載器や車両制御ECU40は車両の現在位置や地図情報等をナビゲーション装置1やサーバ装置4から取得する構成とする。更に、サーバ装置4が自動運転支援プログラム(図5)のステップの一部または全部を実行するようにしても良い。その場合にはサーバ装置4が本願の運転支援装置に相当する。
【0209】
また、本発明はナビゲーション装置以外に、携帯電話機、スマートフォン、タブレット端末、パーソナルコンピュータ等(以下、携帯端末等という)に適用することも可能である。また、サーバと携帯端末等から構成されるシステムに対しても適用することが可能となる。その場合には、上述した自動運転支援プログラム(図5参照)の各ステップは、サーバと携帯端末等のいずれが実施する構成としても良い。但し、本発明を携帯端末等に適用する場合には、自動運転支援が実行可能な車両と携帯端末等が通信可能に接続(有線無線は問わない)される必要がある。
【符号の説明】
【0210】
1…ナビゲーション装置(運転支援装置)、2…運転支援システム、3…情報配信センタ、4…サーバ装置、5…車両、16…高精度地図情報、33…ナビゲーションECU、40…車両制御ECU、51…CPU、83…開始ベクトル(旋回区間の始点)、84…終了ベクトル(旋回区間の終点)、85…クリッピングポイント、96…第1の走行軌道、97…第2の走行軌道、98…第3の走行軌道、125…ガイド線(車線の中心線)、126…障害物、127…ガイド線の移動平均線、131…ガイド線(基準走行軌道)
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26
図27
図28
図29
図30
図31
図32
図33
図34
図35
図36
図37
図38
図39
図40
図41
図42