以下に、本発明の好ましい形態について図面を参照して説明する。なお、以下の説明に用いる各図においては、各構成要素を図面上で認識可能な程度の大きさとするため、構成要素毎に縮尺を異ならせてあるものであり、本発明は、これらの図に記載された構成要素の数量、構成要素の形状、構成要素の大きさの比率、および各構成要素の相対的な位置関係のみに限定されるものではない。
図1において、符号1は、自動車等の車両の走行制御システムであり、車両の自律的な自動運転を含む走行制御を実施する。この走行制御システム1は、走行制御装置100を中心として、外部環境認識装置10、測位装置20、地図情報処理装置30、エンジン制御装置40、変速機制御装置50、ブレーキ制御装置60、操舵制御装置70、警報制御装置80等が車内ネットワークを形成する通信バス150を介して互いに接続されて構成されている。
図示しないが、車両は、車両の車速やヨーレート等の状態量を検出する状態量検出装置を備える。状態量検出装置は、車速センサ、加速度センサ、ヨーレートセンサおよび舵角センサを少なくとも含む。これらのセンサは公知の技術であるため、詳細な説明は省略する。
外部環境認識装置10は、車載のカメラユニット11、ミリ波レーダやレーザレーダ等のレーダ装置12等の各種デバイスによる自車両周囲の物体の検出情報、路車間通信や車車間通信等のインフラ通信によって取得した交通情報、GNSS等の測位装置20で測位した自車両の位置情報、地図情報処理装置30からの地図情報等により、自車両周囲の外部環境を認識する。
以下では、外部環境認識装置10における外部環境の認識処理として、カメラユニット11で撮像した画像を処理して外部環境を認識する処理を主として説明する。カメラユニット11は、例えば、同一対象物を異なる視点から撮像する2台のカメラで構成されるステレオカメラであり、CCDやCMOS等の撮像素子を有するシャッタ同期のカメラで構成されている。このカメラユニット11は、例えば、車室内上部のフロントウィンドウ内側のルームミラー近傍に2台のカメラが所定の基線長で車幅方向左右に配置されて構成されている。
ステレオカメラとしてのカメラユニット11で撮像された左右一対の画像は、例えば、ステレオマッチング処理により、左右画像の対応位置の画素ずれ量(視差)が求められ、画素ずれ量を輝度データ等に変換した距離画像が生成される。この距離画像上の点は、三角測量の原理から、自車両の車幅方向すなわち左右方向をX軸、車高方向をY軸、車長方向すなわち前後方向をZ軸とする実空間上の点に座標変換され、自車両が走行する道路の白線(車線)、障害物、自車両の前方を走行する車両等が3次元的に認識される。
車線としての道路白線は、画像から白線の候補となる点群を抽出し、その候補点を結ぶ直線や曲線を算出することにより、認識することができる。例えば、画像上に設定された白線検出領域内において、水平方向(車幅方向)に設定した複数の探索ライン上で輝度が所定以上変化するエッジの検出を行って探索ライン毎に1組の白線開始点および白線終了点を検出し、白線開始点と白線終了点との間の中間の領域を白線候補点として抽出する。
そして、単位時間当たりの車両移動量に基づく白線候補点の空間座標位置の時系列データを処理して左右の白線を近似するモデルを算出し、このモデルにより、白線を認識する。白線の近似モデルとしては、ハフ変換によって求めた直線成分を連結した近似モデルや、2次式等の曲線で近似したモデルを用いることができる。
測位装置20は、複数の衛星からの信号に基づいて自車位置を測位する衛星航法を主として測位を行い、衛星からの信号(電波)の捕捉状態化や電波の反射によるマルチパスの影響等で測位精度が悪化した場合には、自車両の方位と移動距離に基づいて自己位置を測位する自律航法によって測位を行う。なお、測位装置20は、路車間通信や車車間通信等のインフラ通信によって交通情報を取得する通信ユニットを一体的に備えるようにしても良い。
衛星航法による測位では、例えば、GNSS衛星等の複数の航法衛星から送信される軌道および時刻等に関する情報を含む信号を受信し、受信した信号に基づいて自車両の自己位置を3次元の絶対位置として測位する。また、自律航法による測位は、方位センサによって検出した自車両の進行方位と車速センサから出力される車速パルス等から算出した自車両の移動距離とに基づいて、算出位置(自車位置)の相対的な変化分としての自車位置を測位する。
地図情報処理装置30は、地図データベースDBを備え、測位装置20で測位した自車両の位置データから地図データベースDBの地図データ上での位置を特定して出力する。地図データベースDBには、例えば、主として車両走行の経路案内や車両の現在位置を表示する際に参照されるナビゲーション用の地図データと、この地図データよりも詳細な、自動運転を含む運転支援制御を行う際に参照される走行制御用の地図データとが保持されている。
ナビゲーション用の地図データは、現在のノードに対して前のノードと次のノードとがそれぞれリンクを介して結びつけられており、各リンクには、信号機、道路標識、建築物等に関する情報が保存されている。一方、走行制御用の高精細の地図データは、ノードと次のノードとの間に、複数のデータ点を有している。このデータ点には、自車両が走行する道路の曲率、車線幅、路肩幅等の道路形状データや、道路方位角、道路白線種別、レーン数等の走行制御用データが、データの信頼度やデータ更新の日付け等の属性データと共に保持されている。
地図情報処理装置30は、自車両位置の測位結果と地図データとの照合を行い、その照合結果に基づく走行経路案内や交通情報を図示しない表示装置を介してドライバに提示する。また、地図情報処理装置30は、自車両が走行する道路の曲率、車線幅、路肩幅等の道路形状データや、道路方位角、道路白線種別、レーン数等の走行制御用の地図情報を通信バス150を介して送信する。なお、走行制御用の地図情報は、主として走行制御装置100に送信されるが、必要に応じて他の制御装置にも送信される。
更に、地図情報処理装置30は、地図データベースDBの保守管理を行い、地図データベースDBのノード、リンク、データ点を検定して常に最新の状態に維持すると共に、データベース上にデータが存在しない領域についても新規データを作成・追加し、より詳細なデータベースを構築する。地図データベースDBのデータ更新および新規データの追加は、測位装置20によって測位された位置データと、地図データベースDBに記憶されているデータとの照合によって行われる。
エンジン制御装置40は、エンジン運転状態を検出する各種センサ類からの信号および通信バス150を介して送信される各種制御情報に基づいて、エンジン(図示せず)の運転状態を制御する。エンジン制御装置40は、例えば、吸入空気量、スロットル開度、エンジン水温、吸気温度、空燃比、クランク角、アクセル開度、その他の車両情報に基づき、燃料噴射制御、点火時期制御、電子制御スロットル弁の開度制御等を主要とするエンジン制御を実行する。
変速機制御装置50は、変速位置や車速等を検出するセンサ類からの信号や通信バス150を介して送信される各種制御情報に基づいて、自動変速機(図示せず)に供給する油圧を制御し、予め設定された変速特性に従って自動変速機を制御する。
ブレーキ制御装置60は、例えば、ブレーキスイッチ、4輪の車輪速、ハンドル角、ヨーレート、その他の車両情報に基づき、4輪のブレーキ装置(図示せず)をドライバのブレーキ操作とは独立して制御する。また、ブレーキ制御装置60は、各輪のブレーキ力に基づいて各輪のブレーキ液圧を算出して、アンチロック・ブレーキ・システムや横すべり防止制御等を行う。
操舵制御装置70は、電動アクチュエータの出力により車両の舵角を変化させる電動パワーステアリング装置を制御する。操舵制御装置70は、後述する操舵制御部105から出力される舵角変更指示値に基づいて、車両の舵角を変更する。
例えば、車速、ドライバの操舵トルク、ハンドル角、ヨーレート、その他の車両情報に基づいて、操舵系に設けた電動パワーステアリングモータ(図示せず)による操舵トルクを制御する。
警報制御装置80は、車両の各種装置に異常が生じた場合、警報を発生する装置であり、例えば、モニタ、ディスプレイ、アラームランプ等の視覚的な出力と、スピーカ・ブザー等の聴覚的な出力との少なくとも一方を用いて、警告・報知を行う。また、ドライバの操作により自動運転を含む運転支援制御の休止時には、現在の運転状態をドライバに報知する。
次に、走行制御システム1の中心となる走行制御装置100について説明する。走行制御装置100は、CPU、ROM、RAM、入出力装置等がバスに接続されたコンピュータを備えて構成されている。
走行制御装置100は、外部環境認識装置10による外部環境の認識結果、測位装置20および地図情報処理装置30からの自車位置情報や交通情報に基づいて、自車両が走行する目標経路を生成し、この目標経路に沿って追従走行するよう、エンジン制御装置40、変速機制御装置50、ブレーキ制御装置60、および操舵制御装置70を介した走行制御を実行する。
走行制御装置100は、目標経路への追従走行制御に係る機能部として、測位誤差情報算出部101、測位結果補正部102、目標経路算出部103および追従走行制御部104を備える。走行制御装置100が備えるこれらの構成は、個々の機能を実行する別個のハードウェアとして実装されていてもよいし、所定のプログラムをCPUが実行することによって個々の機能が達成されるようにソフトウェア的に実装されていてもよい。
測位誤差情報算出部101は、測位装置20から出力される、GNSS等を用いて得られた自車両の測位結果の誤差(ずれ量)の情報である測位誤差情報Eを算出する。
測位誤差情報算出部101が算出する測位誤差情報Eは、自車両の前後方向(Z軸)についての測位装置20による測位結果の誤差の情報である前後方向誤差情報Ezと、自車両の車幅方向(X軸)についての測位装置20による測位結果の誤差の情報である車幅方向誤差情報Dxと、を含む。
図2は、測位誤差情報算出部101による測位誤差情報Eの算出処理のフローチャートである。測位誤差情報算出部101による測位誤差情報Eの算出処理は、少なくとも走行制御装置100による追従走行制御の実行時に、所定の時間間隔で繰り返し実行される。なお、測位誤差情報Eの算出処理は、追従走行制御の実行時以外の例えば自車両の手動運転時においても行われてもよい。
測位誤差情報Eの算出処理では、まずステップS10において、測位誤差情報算出部101は、測位装置20による自車両の測位結果に基づき、地図情報処理装置30から自車両周辺の道路形状データを取得する。そして、ステップS11において、測位誤差情報算出部101は、自車両の測位結果と道路形状データに基づき、自車両が走行している車線である走行車線を推定する。
次に、ステップS12において、測位誤差情報算出部101は、自車両の走行車線上において自車両に先行して走行する先行車両が存在するか否かを、外部環境認識装置10による認識結果に基づいて判定する。
ステップS12の判定において、先行車両が存在しないと判定した場合には、測位誤差情報算出部101は、測位誤差情報Eの算出処理を終了する。
一方、ステップS12の判定において、先行車両が存在すると判定した場合には、測位誤差情報算出部101は、ステップS13に移行する。ステップS13では、測位誤差情報算出部101は、自車両および先行車両の双方が直線路を走行中であるか否かを判定する。ステップS13では、測位誤差情報算出部101は、道路形状データ、自車両の測位結果、および外部環境認識装置10により算出された先行車両の位置情報に基づいて判定を行う。
ステップS13の判定において、自車両および先行車両の双方が直線路を走行中であると判定した場合には、測位誤差情報算出部101は、ステップS14に移行し、前後方向誤差情報算出処理を実行する。ステップS14の前後方向誤差情報算出処理は、前後方向誤差情報Ezを算出する処理である。
図3は、測位誤差情報算出部101が実行する前後方向誤差情報算出処理のフローチャートである。前後方向誤差情報算出処理では、まずステップS100において、測位誤差情報算出部101は、測位装置20による自車両の測位結果の取得を開始する。測位結果には、自車両の緯度Lat0、経度Lon0、進行方位θ0の情報が含まれている。
次に、ステップS110において、測位誤差情報算出部101は、地図情報処理装置30からの走行車線の道路形状データの取得を開始する。道路形状データには、自車両の進行方向であって先行車両よりも遠方である地点までの情報が含まれている。
そして、ステップS120において、測位誤差情報算出部101は、外部環境認識装置10により認識された先行車両の自車両に対する相対位置の取得を開始する。先行車両の自車両に対する相対位置には、自車両の車幅方向(X軸)における先行車両の相対位置である先行車両横位置X1、自車両の前後方向(Z軸)における先行車両の相対位置である先行車両前後位置Z1の情報が含まれている。
なお、ステップS100、ステップS110およびステップS120を実行する順序は特に限定されず、これらは同時に実行されてもよい。
以降の処理の実行中は、自車両の測位結果(Lat0、Lon0)、道路形状データおよび先行車両の相対位置(X1、Z1)の値が常に更新され続ける。
次に、ステップS130において、測位誤差情報算出部101は、道路形状データから走行車線においてカーブの開始地点である、カーブ入口座標を検出する。ステップS130の実行時において、自車両および先行車両が走行する走行車線は直線路である。ステップS130では、測位誤差情報算出部101は、走行車線が直線から曲線に変わる座標のうちの最も自車両に近い座標をカーブ入口座標として検出する。カーブ入口座標は、緯度Latcおよび経度Loncの情報により構成される。
ステップS140では、測位誤差情報算出部101は、先行車両がカーブ入口座標(Latc、Lonc)に所定の距離に接近するまで待機する。ここで、先行車両の緯度・経度(Lat1、Lon1)は、自車両の測位結果(Lat0、Lon0)と先行車両の相対位置(X1、Z1)から算出される。
なお、ステップS100からステップS140の実行中において先行車両が自車両の走行車線から逸脱した場合には、測位誤差情報算出部101は、前後方向誤差情報算出処理を異常終了する。前後方向誤差情報算出処理を異常終了する場合には、前後方向誤差情報Ezは異常終了を表す値となる。
先行車両がカーブ入口座標に接近したら、測位誤差情報算出部101は、ステップS150に移行する。ステップS150では、測位誤差情報算出部101は、自車両に対する先行車両の車幅方向への相対移動を検出するまで待機する。自車両に対する先行車両の車幅方向への相対移動を検出は、先行車両の車幅方向の相対位置X1の変化を監視することにより行われる。自車両に対する先行車両の車幅方向への相対移動を検出した場合には、測位誤差情報算出部101は、ステップS160に移行する。
ここで、ステップS150の開始時点では、自車両および先行車両は共に直線状である走行車線を走行しており、かつ先行車両はカーブ入口座標近傍を走行している。この場合において先行車両の車幅方向の相対位置X1が変化し始める時点とは、先行車両がカーブ形状に合わせた旋回を開始した時点であると解釈することができる。
なお、ステップS150においてYESの判定を行うには、先行車両の車幅方向の相対位置X1が変化する方向が、カーブの屈曲方向と一致している場合という条件が付けられていてもよい。
ステップS160では、測位誤差情報算出部101は、ステップS150において先行車両の車幅方向への相対移動を検出した時点における、先行車両の緯度・経度の情報である先行車両旋回開始座標(Lat1c、Lon1c)の情報を取得する。先行車両旋回開始座標(Lat1c、Lon1c)は、先行車両の車幅方向への相対移動を検出した時点における自車両の測位結果(Lat0、Lon0)と先行車両の相対位置(X1、Z1)から算出される。
次に、ステップS170において、測位誤差情報算出部101は、先行車両旋回開始座標(Lat1c、Lon1c)と、カーブ入口座標(Latc、Lonc)と、を比較する。先行車両旋回開始座標(Lat1c、Lon1c)と、カーブ入口座標(Latc、Lonc)と、は理想的には一致する。
しかしながら、先行車両旋回開始座標(Lat1c、Lon1c)には測定誤差が含まれる。先行車両旋回開始座標(Lat1c、Lon1c)は、前述のように、GNSS等を用いた測位装置20による自車両の測位結果と、自車両が備える外部環境認識装置10による先行車両の相対位置に基づいて決定される座標である。ここで、外部環境認識装置10の測定誤差が、測位装置の測位誤差に対して十分に小さい場合、先行車両旋回開始座標(Lat1c、Lon1c)には測定誤差は、測位装置20の測位誤差であるとみなすことができる。
このため、ステップS170における、先行車両旋回開始座標(Lat1c、Lon1c)と、カーブ入口座標(Latc、Lonc)との比較における、両者間の緯度および経度の第1ずれ量(ΔLat1、ΔLon)は、測位装置20の測位誤差であるといえる。
したがって、ステップS180において、測位誤差情報算出部101は、第1ずれ量(ΔLat1、ΔLon)に基づいて、前後方向誤差情報Ezを算出する。すなわち、測位誤差情報算出部101は、緯度および経度の座標で表される第1ずれ量(ΔLat1、ΔLon)を、進行方位θ0を用いて自車両に固定されたX−Z座標に変換し、このX−Z座標上における第1ずれ量の前後方向成分(Z軸成分)を、前後方向誤差情報Ezとして決定する。
ここで、X−Z座標上における第1ずれ量の車幅方向成分(X軸成分)を、測位誤差情報Eに含めないのは、先行車両が必ずしも走行車線の中央(道路形状データ)に沿って走行しているとは限らないからである。先行車両が走行車線の中央から車幅方向の一方に偏った位置を走行すれば、X−Z座標上における第1ずれ量の車幅方向成分は、この偏りに応じて変化する。よって、外部環境認識装置10によって先行車両の走行車線の中央からの車幅方向への偏差を認識できない場合には、X−Z座標上における第1ずれ量の車幅方向成分は、測位誤差情報Eに含めないことが好ましい。
そして、図2のフローチャートに戻り、ステップS15において、測位誤差情報算出部101は、ステップS180において算出した前後方向誤差情報Ezを、当該情報を算出した時刻と、当該時刻における自車両の進行方位θとともに記憶する。
一方、前述したステップS13の判定において、自車両および先行車両の双方が直線路を走行中ではないと判定した場合には、測位誤差情報算出部101は、ステップS20に移行する。
ステップS20では、測位誤差情報算出部101は、自車両が定曲率路を定常旋回中であるか否かを判定する。定曲率路とは、カーブの曲率が一定である区間のことである。また、定常旋回とは、自車両の車速が一定であり、かつ一定の旋回半径で旋回中である場合を指すものとする。
測位誤差情報算出部101は、自車両の測位結果と、道路形状データとに基づいて、自車両が走行中の走行車線が定曲率路であるか否かを判定する。また、測位誤差情報算出部101は、自車両の車速およびヨーレートに基づいて、定常旋回中であるか否かを判定する。
なお、ステップS20においては、測位誤差情報算出部101は、外部環境認識装置10によって認識される先行車両の相対位置(X1、Z1)に変化がない場合に、自車両が定常旋回中であるか否かを判定することもできる。
ステップS20において、自車両が定曲率路を定常旋回中ではないと判定した場合には、測位誤差情報算出部101は、測位誤差情報Eの算出処理を終了する。
一方、ステップS20において、自車両が定曲率路を定常旋回中であると判定した場合には、測位誤差情報算出部101は、ステップS21に移行し、車幅方向誤差情報算出処理を実行する。ステップS21の車幅方向誤差情報算出処理は、車幅方向誤差情報Exを算出する処理である。
図4は、測位誤差情報算出部101が実行する車幅方向誤差情報算出処理のフローチャートである。車幅方向誤差情報算出処理では、まずステップS300において、測位誤差情報算出部101は、道路形状データから定曲率路の曲率半径Rmを取得する。
次に、ステップS310において、測位誤差情報算出部101は、自車両の車速およびヨーレートに基づいて、自車両の旋回半径R0を算出する。
次に、ステップS320において、測位誤差情報算出部101は、曲率半径Rmと自車両の旋回半径R0との差を算出する。そして、ステップS330において、測位誤差情報算出部101は、曲率半径Rmと自車両の旋回半径R0との差に基づいて、車幅方向誤差情報Exを算出する。
自車両が先行車両に追従走行している場合において、自車両が走行車線の中央(道路形状データ)に沿って走行しているならば、曲率半径Rmと自車両の旋回半径R0の値は理想的には一致する。しかしながら、先行車両が必ずしも走行車線の中央(道路形状データ)に沿って走行しているとは限らず、また自車両の測位結果(Lat0、Lon0)にも誤差が含まれているため、自車両が走行車線の中央(道路形状データ)に沿って走行しているという確かさも低い。これは、積雪の影響等により外部環境認識装置10による走行車線の認識が困難である場合に特に顕著となる。
そこで、本実施形態の測位誤差情報算出部101は、ステップS330において、曲率半径Rmと自車両の旋回半径R0の差である第2ずれ量ΔRを、自車両の測位結果(Lat0、Lon0)における車幅方向の誤差量(車幅方向誤差情報Ex)として算出する。
そして、図2のフローチャートに戻り、ステップS22において、測位誤差情報算出部101は、ステップS330において算出した車幅方向誤差情報Exを、当該情報を算出した時刻と、当該時刻における自車両の進行方位θとともに記憶する。
測位結果補正部102は、以上に説明した測位誤差情報算出部101により算出された測位誤差情報Eと、現在の自車両の進行方位θと、に基づき、測位装置20による測位結果を補正する。例えば、測位結果補正部102は、過去の所定の期間中に現在の自車両の進行方位θに対して所定の角度範囲内である場合に算出された測位誤差情報Eを用いて、当該誤差を解消するように測位結果を補正する。
目標経路生成部103は、外部環境認識装置10による外部環境の認識結果や道路形状データに基づいて、自車両の追従走行の対象となる目標点の軌跡を算出し、この目標点の軌跡を目標経路として設定する。
走行制御部104は、目標経路生成部103により生成された目標経路に沿って自車両が走行するように、エンジン制御装置40、変速機制御装置50、ブレーキ制御装置60および操舵制御装置70の制御を行う。走行制御部104は、外部環境認識装置10による外部環境の認識結果、道路形状データ、および測位結果補正部102によって補正された自車両の測位結果を用いて追従走行制御を行う。
以上に説明したように、本実施形態の車両の走行制御装置100が備える測位誤差情報算出部101は、道路形状データから取得される走行車線のカーブ入口座標(Latc、Lonc)、および測位結果(Lat0、Lon0)と先行車両の相対位置(X1、Z1)から取得される先行車両旋回開始座標(Lat1c、Lon1c)の比較から測位結果における前後方向誤差情報Ezを算出する。また、本実施形態の車両の走行制御装置100が備える測位誤差情報算出部101は、道路形状データから取得される走行車線のカーブの曲率半径Rc、および自車両の車速およびヨーレートから算出される自車両の旋回半径R0の比較から測位結果における車幅方向誤差情報Exを算出する。
そして、走行制御装置100は、測位誤差情報算出部101により算出された前後方向誤差情報Ezおよび車幅方向誤差情報Exを用いて測位結果の誤差を補正する。したがって、本実施形態の走行制御装置100は、測位装置20による測位結果と、外部環境認識装置10による先行車両の相対位置の認識結果と、に基づいて自車両の位置を高精度に検出することができる。この高精度な自車両の位置検出により、本実施形態の走行制御装置100は、外部環境認識装置による走行車線の認識が不可能な場合であっても、走行車線中における自車両の車幅方向の偏りを検出することが可能となる。
したがって本実施形態の車両の走行制御装置100によれば、先行車両の走行軌跡に追従して走行する追従走行制御を実行する際において、先行車両の挙動に関わらず自動的に自車両を走行車線の中央に維持することができる。
本発明は、上述した実施形態に限られるものではなく、請求の範囲および明細書全体から読み取れる発明の要旨或いは思想に反しない範囲で適宜変更可能であり、そのような変更を伴う車両の走行制御装置もまた本発明の技術的範囲に含まれるものである。