以下、本発明の実施形態に係る運転支援装置について図面を参照しながら説明する。
本発明の実施形態に係る運転支援装置は、車両(以下において、他の車両と区別するために、「自車両」と称呼される場合がある。)に適用され、図1に示すように、運転支援ECU10、電動パワーステアリングECU20、メータECU30、ステアリングECU40、エンジンECU50、ブレーキECU60、および、ナビゲーションECU70を備えている。
これらのECUは、マイクロコンピュータを主要部として備える電気制御装置(Electric Control Unit)であり、CAN(Controller Area Network)100を介して相互に情報を送信可能及び受信可能に接続されている。本明細書において、マイクロコンピュータは、CPU、ROM、RAM、不揮発性メモリ及びインターフェースI/F等を含む。CPUはROMに格納されたインストラクション(プログラム、ルーチン)を実行することにより各種機能を実現するようになっている。これらのECUは、幾つか又は全部が一つのECUに統合されてもよい。
CAN100には、車両状態を検出する複数種類の車両状態センサ80、および、運転操作状態を検出する複数種類の運転操作状態センサ90が接続されている。車両状態センサ80は、車両の走行速度を検出する車速センサ、車両の前後方向の加速度を検出する前後Gセンサ、車両の横方向の加速度を検出する横Gセンサ、および、車両のヨーレートを検出するヨーレートセンサなどである。
運転操作状態センサ90は、アクセルペダルの操作量を検出するアクセル操作量センサ、ブレーキペダルの操作量を検出するブレーキ操作量センサ、ブレーキペダルの操作の有無を検出するブレーキスイッチ、操舵角を検出する操舵角センサ、操舵トルクを検出する操舵トルクセンサ、および、変速機のシフトポジションを検出するシフトポジションセンサなどである。
車両状態センサ80、および、運転操作状態センサ90によって検出された情報(センサ情報と呼ぶ)は、CAN100に送信される。各ECUにおいては、CAN100に送信されたセンサ情報を、適宜、利用することができる。尚、センサ情報は、特定のECUに接続されたセンサの情報であって、その特定のECUからCAN100に送信される場合もある。例えば、アクセル操作量センサは、エンジンECU50に接続されていてもよい。この場合、エンジンECU50からアクセル操作量を表すセンサ情報がCAN100に送信される。例えば、操舵角センサは、ステアリングECU40に接続されていてもよい。この場合、ステアリングECU40から操舵角を表すセンサ情報がCAN100に送信される。他のセンサにおいても同様である。また、CAN100を介在させることなく、特定のECU間における直接的な通信により、センサ情報の授受が行われる構成が採用されてもよい。
運転支援ECU10は、ドライバーの運転支援を行う中枢となる制御装置であって、車線変更支援制御、車線維持支援制御、および、先行車両追従車間制御を実施する。運転支援ECU10には、図2に示すように、中央前方周辺センサ11FC、右前方周辺センサ11FR、左前方周辺センサ11FL、右後方周辺センサ11RR、および、左後方周辺センサ11RLが接続される。各周辺センサ11FC,11FR,11FL,11RR,11RLは、レーダセンサであり、その検出領域が互いに異なるだけで、基本的には、互いに同じ構成である。以下、各周辺センサ11FC,11FR,11FL,11RR,11RLを個々に区別する必要が無い場合には、それらを周辺センサ11と呼ぶ。
周辺センサ11は、レーダ送受信部と信号処理部(図示略)とを備えており、レーダ送受信部が、ミリ波帯の電波(以下、「ミリ波」と称呼する。)を放射し、放射範囲内に存在する立体物(例えば、他車両、歩行者、自転車、建造物など)によって反射されたミリ波(即ち、反射波)を受信する。信号処理部は、送信したミリ波と受信した反射波との位相差、反射波の減衰レベル及びミリ波を送信してから反射波を受信するまでの時間等に基づいて、自車両と立体物との距離、自車両と立体物との相対速度、自車両に対する立体物の相対位置(方向)等を表す情報(以下、周辺情報と呼ぶ)を所定時間の経過毎に取得して運転支援ECU10に供給する。
図2に示すように、中央前方周辺センサ11FCは、車体のフロント中央部に設けられ、自車両の前方領域に存在する立体物を検出する。右前方周辺センサ11FRは、車体の右前コーナー部に設けられ、主に自車両の右前方領域に存在する立体物を検出し、左前方周辺センサ11FLは、車体の左前コーナー部に設けられ、主に自車両の左前方領域に存在する立体物を検出する。右後方周辺センサ11RRは、車体の右後コーナー部に設けられ、主に自車両の右後方領域に存在する立体物を検出し、左後方周辺センサ11RLは、車体の左後コーナー部に設けられ、主に自車両の左後方領域に存在する立体物を検出する。
周辺センサ11は、本実施形態においては、レーダセンサであるが、それに代えて、例えば、ライダーセンサなど、他のセンサを採用することもできる。
また、運転支援ECU10には、カメラセンサ12が接続されている。カメラセンサ12は、カメラ部、および、カメラ部によって撮影して得られた画像データを解析して道路の白線を認識するレーン認識部を備えている。カメラセンサ12(カメラ部)は、自車両の前方の風景を撮影する。カメラセンサ12(レーン認識部)は、認識した白線に関する情報を所定の演算周期にて繰り返し運転支援ECU10に供給する。
カメラセンサ12は、白線で区画される領域を表す車線を認識するとともに、白線と自車両との位置関係に基づいて、車線に対する自車両の相対的な位置関係を検出できるようになっている。ここで、自車両の位置とは、自車両の重心位置である。また、後述する自車両の横位置とは、自車両の重心位置の車線幅方向における位置を表し、自車両の横速度は、自車両の重心位置の車線幅方向における速度を表し、自車両の横加速度は、自車両の重心位置の車線幅方向における加速度を表す。これらは、カメラセンサ12によって検出される白線と自車両との相対位置関係によって求められる。尚、本実施形態においては、自車両の位置を重心位置としているが、必ずしも重心位置に限るものではなく、予め設定された特定の位置(例えば、平面視における中心位置など)を採用することができる。
カメラセンサ12は、図3に示すように、自車両の走行している車線における左右の白線WLの幅方向の中心位置となる車線中心ラインCLを決定する。この車線中心ラインCLは、後述する車線維持支援制御における目標走行ラインとして利用される。また、カメラセンサ12は、車線中心ラインCLのカーブの曲率Cuを演算する。
また、カメラセンサ12は、左右の白線WLで区画される車線における自車両の位置および向きを演算する。例えば、カメラセンサ12は、図3に示すように、自車両Cの重心点Pと車線中心ラインCLとのあいだの車線幅方向の距離Dy(m)、つまり、自車両Cが車線中心ラインCLに対して車線幅方向にずれている距離Dyを演算する。この距離Dyを横偏差Dyと呼ぶ。また、カメラセンサ12は、車線中心ラインCLの方向と自車両Cの向いている方向とのなす角度、つまり、車線中心ラインCLの方向に対して自車両Cの向いている方向が水平方向にずれている角度θy(rad)を演算する。この角度θyをヨー角θyと呼ぶ。車線がカーブしている場合には、車線中心ラインCLもカーブしているため、ヨー角θyは、このカーブした車線中心ラインCLを基準として、自車両Cの向いている方向のずれている角度を表す。以下、曲率Cu、横偏差Dy、および、ヨー角θyを表す情報(Cu、Dy、θy)を車線関連車両情報と呼ぶ。尚、横偏差Dyおよびヨー角θyについては、車線中心ラインCLに対する左右方向が、符号(正負)によって特定される。また、曲率Cuについては、カーブの曲がる方向(右または左)が符号(正負)によって特定される。
また、カメラセンサ12は、自車両の車線に限らず隣接する車線も含めて、検出した白線の種類(実線、破線)、隣り合う左右の白線間の距離(車線幅)、白線の形状など、白線に関する情報についても、所定の演算周期にて運転支援ECU10に供給する。白線が実線の場合は、車両がその白線を跨いで車線変更することは禁止されている。一方、白線が破線(一定の間隔で断続的に形成されている白線)の場合は、車両がその白線を跨いで車線変更することは許可されている。こうした車線関連車両情報(Cu、Dy、θy)、および、白線に関する情報を総称して車線情報と呼ぶ。
尚、本実施形態においては、カメラセンサ12が車線関連車両情報(Cu、Dy、θy)を演算するが、それに代えて、運転支援ECU10が、カメラセンサ12の出力する画像データを解析して、車線情報を取得するようにしてもよい。
また、カメラセンサ12は、画像データに基づいて自車両の前方に存在する立体物を検出することもできるため、車線情報に加えて、前方の周辺情報を演算により取得するようにしてもよい。この場合、例えば、中央前方周辺センサ11FC、右前方周辺センサ11FR、および、左前方周辺センサ11FLによって取得された周辺情報と、カメラセンサ12によって取得された周辺情報とを合成して、検出精度の高い前方の周辺情報を生成する合成処理部(図示略)を設け、この合成処理部で生成された周辺情報を、自車両の前方の周辺情報として運転支援ECU10に供給するようにするとよい。
図1に示すように、運転支援ECU10には、ブザー13が接続されている。ブザー13は、運転支援ECU10からのブザー鳴動信号を受信した時に鳴動する。運転支援ECU10は、ドライバーに対して運転支援状況を知らせる場合、および、ドライバーに対して注意を促す場合等においてブザー13を鳴動させる。
運転支援ECU10は、周辺センサ11から供給された周辺情報、カメラセンサ12の白線認識に基づいて得られた車線情報、車両状態センサ80により検出された車両状態、および、運転操作状態センサ90により検出された運転操作状態等に基づいて、車線変更支援制御、車線維持支援制御、および、先行車両追従車間制御を実施する。
運転支援ECU10には、ドライバーによって操作される設定操作器14が接続されている。設定操作器14は、車線変更支援制御、車線維持支援制御、および、先行車両追従車間制御のそれぞれについて実施するか否かについての設定等を行うための操作器である。運転支援ECU10は、設定操作器14の設定信号を入力して、各制御の実施の有無を決定する。この場合、先行車両追従車間制御の実施が選択されていない場合は、車線変更支援制御および車線維持支援制御についても実施されないように自動設定される。また、車線維持支援制御の実施が選択されていない場合は、車線変更支援制御についても実施されないように自動設定される。
また、設定操作器14は、上記制御を実施するにあたって、ドライバーの好みを表すパラメータ等を入力する機能も備えている。例えば、設定操作器14は、先行車両追従車間制御における車間距離の長さの程度をドライバーが予め選択するための入力操作器として兼用されている。本実施形態においては、設定操作器14は、先行車両追従車間制御における目標車間距離の長さを決める車間距離モードを、「長」、「中」、「短」の3つのモードから選択することができるようになっている。運転支援ECU10は、設定操作器14によって設定された車間距離モード(長・中・短)を記憶する。先行車両追従車間制御における目標車間距離は、車間距離モードが「長」に設定されている場合には長めに設定され、車間距離モードが「短」に設定されている場合には短めに設定され、車間距離モードが「中」に設定されている場合にはそれらの中間的な値に設定される。以下、設定されている車間距離モードを、設定車間距離(長・中・短)と呼ぶこともある。
また、設定操作器14は、自車両を設定速度で自車両を定速走行させる定速制御を実施する場合の設定速度を設定するための入力操作器としても兼用されている。運転支援ECU10は、設定操作器14によって設定された設定速度を記憶する。
尚、設定操作器14は、1つの操作器でその機能を実現する必要は無く、複数の操作器から構成されていてもよい。
電動パワーステアリングECU20は、電動パワーステアリング装置の制御装置である。以下、電動パワーステアリングECU20をEPS・ECU(Electric Power Steering ECU)20と呼ぶ。EPS・ECU20は、モータドライバ21に接続されている。モータドライバ21は、転舵用モータ22に接続されている。転舵用モータ22は、図示しない車両の「操舵ハンドル、操舵ハンドルに連結されたステアリングシャフト及び操舵用ギア機構等を含むステアリング機構」に組み込まれている。EPS・ECU20は、ステアリングシャフトに設けられた操舵トルクセンサによって、ドライバーが操舵ハンドル(図示略)に入力した操舵トルクを検出し、この操舵トルクに基づいて、モータドライバ21の通電を制御して、転舵用モータ22を駆動する。このアシストモータの駆動によってステアリング機構に操舵トルクが付与されて、ドライバーの操舵操作をアシストする。
また、EPS・ECU20は、CAN100を介して運転支援ECU10から操舵指令を受信した場合には、操舵指令で特定される制御量で転舵用モータ22を駆動して操舵トルクを発生させる。この操舵トルクは、上述したドライバーの操舵操作(ハンドル操作)を軽くするために付与される操舵アシストトルクとは異なり、ドライバーの操舵操作を必要とせずに、運転支援ECU10からの操舵指令によってステアリング機構に付与されるトルクを表す。
尚、EPS・ECU20は、運転支援ECU10から操舵指令を受信している場合であっても、ドライバーのハンドル操作による操舵トルクが検出されている場合には、その操舵トルクが閾値よりも大きい場合には、ドライバーのハンドル操舵を優先して、そのハンドル操作を軽くする操舵アシストトルクを発生させる。
メータECU30は、表示器31、および、左右のウインカー32(ウインカーランプを意味する。ターンランプと呼ばれることもある)に接続されている。表示器31は、例えば、運転席の正面に設けられたマルチインフォーメーションディスプレイであって、車速等のメータ類の計測値の表示に加えて、各種の情報を表示する。例えば、メータECU30は、運転支援ECU10から運転支援状態に応じた表示指令を受信すると、その表示指令で指定された画面を表示器31に表示させる。
また、メータECU30は、ウインカー駆動回路(図示略)を備えており、CAN100を介してウインカー点滅指令を受信した場合には、ウインカー点滅指令で指定された方向(右、左)のウインカー32を点滅させる。また、メータECU30は、ウインカー32を点滅させている間、ウインカー32が点滅状態であることを表すウインカー点滅情報をCAN100に送信する。従って、他のECUは、ウインカー32の点滅状態を把握することができる。
ステアリングECU40は、ウインカーレバー41に接続されている。ウインカーレバー41は、ウインカー32を作動(点滅)させるための操作器であり、ステアリングコラムに設けられている。ウインカーレバー41は、左回り操作方向、および、右回り操作方向のそれぞれについて、支軸周りに2段の操作ストロークにて揺動可能に設けられる。
本実施形態のウインカーレバー41は、ドライバーが車線変更支援制御を要求する操作器としても兼用されている。ウインカーレバー41は、図4に示すように、支軸Oを中心として左回り操作方向、および、右回り操作方向のそれぞれについて、中立位置PNから第1角度θW1回動した位置である第1ストローク位置P1L(P1R)と、中立位置PNから第2角度θW2(>θW1)回動した位置である第2ストローク位置P2L(P2R)とに選択的に操作可能に構成される。ウインカーレバー41は、ドライバーのレバー操作によって第1ストローク位置P1L(P1R)に移動されている場合、ドライバーのレバー操作力が解除されると中立位置PNに戻るようになっている。更に、ウインカーレバー41は、ドライバーのレバー操作によって第2ストローク位置P2L(P2R)に移動されている場合、レバー操作力が解除されても、ロック機構によりその第2ストローク位置P2L(P2R)に保持されるようになっている。また、ウインカーレバー41は、第2ストローク位置P2L(P2R)に保持されている状態で、操舵ハンドルが逆回転して中立位置に戻された場合、あるいは、ドライバーがウインカーレバー41を中立位置方向に戻し操作した場合に、ロック機構によるロックが解除されて中立位置PNに戻されるようになっている。
ウインカーレバー41は、その位置が第1ストローク位置P1L(P1R)にある場合にのみオンする(オン信号を発生する)第1スイッチ411L(411R)と、その位置が第2ストローク位置P2L(P2R)にある場合にのみオンする(オン信号を発生する)第2スイッチ412L(412R)とを備えている。
ステアリングECU40は、第1スイッチ411L(411R)、および、第2スイッチ412L(412R)からのオン信号の有無に基づいて、ウインカーレバー41の操作状態を検出する。ステアリングECU40は、ウインカーレバー41が、第1ストローク位置P1L(P1R)に倒されている状態、および、第2ストローク位置P2L(P2R)に倒されている状態のそれぞれにおいて、その操作方向(左右)を表す情報を含めたウインカー点滅指令をメータECU30に対して送信する。
また、ステアリングECU40は、ウインカーレバー41が、第1ストローク位置P1L(P1R)に、予め設定された設定時間(車線変更要求確定時間:例えば、1秒)以上継続して保持されたことを検出した場合、運転支援ECU10に対して、その操作方向(左右)を表す情報を含む車線変更支援要求信号を出力する。従って、ドライバーは、運転中に、車線変更支援を受けたい場合には、ウインカーレバー41を、車線変更方向の第1ストローク位置P1L(P1R)に倒し、その状態を設定時間以上保持すればよい。こうした操作を車線変更支援要求操作と呼ぶ。
尚、本実施形態においては、ドライバーが車線変更支援を要求する操作器としてウインカーレバー41を用いているが、それに代えて、専用の車線変更支援要求操作器を操舵ハンドル等に設けてもよい。
図1に示したエンジンECU50は、エンジンアクチュエータ51に接続されている。エンジンアクチュエータ51は内燃機関52の運転状態を変更するためのアクチュエータである。本実施形態において、内燃機関52はガソリン燃料噴射・火花点火式・多気筒エンジンであり、吸入空気量を調整するためのスロットル弁を備えている。エンジンアクチュエータ51は、少なくとも、スロットル弁の開度を変更するスロットル弁アクチュエータを含む。エンジンECU50は、エンジンアクチュエータ51を駆動することによって、内燃機関52が発生するトルクを変更することができる。内燃機関52が発生するトルクは図示しない変速機を介して図示しない駆動輪に伝達されるようになっている。従って、エンジンECU50は、エンジンアクチュエータ51を制御することによって、自車両の駆動力を制御し加減速状態(加減速度)を変更することができる。
ブレーキECU60は、ブレーキアクチュエータ61に接続されている。ブレーキアクチュエータ61は、ブレーキペダルの踏力によって作動油を加圧する図示しないマスタシリンダと、左右前後輪に設けられる摩擦ブレーキ機構62との間の油圧回路に設けられる。摩擦ブレーキ機構62は、車輪に固定されるブレーキディスク62aと、車体に固定されるブレーキキャリパ62bとを備える。ブレーキアクチュエータ61は、ブレーキECU60からの指示に応じてブレーキキャリパ62bに内蔵されたホイールシリンダに供給する油圧を調整し、その油圧によりホイールシリンダを作動させることによりブレーキパッドをブレーキディスク62aに押し付けて摩擦制動力を発生させる。従って、ブレーキECU60は、ブレーキアクチュエータ61を制御することによって、自車両の制動力を制御して減速状態(減速度)を変更することができる。
ナビゲーションECU70は、自車両の現在位置を検出するためのGPS信号を受信するGPS受信機71、地図情報等を記憶した地図データベース72、および、タッチパネル(タッチパネル式ディスプレイ)73を備えている。ナビゲーションECU70は、GPS信号に基づいて現時点の自車両の位置を特定するとともに、自車両の位置及び地図データベース72に記憶されている地図情報等に基づいて各種の演算処理を行い、タッチパネル73を用いて経路案内を行う。
地図データベース72に記憶されている地図情報には、道路情報が含まれている。道路情報には、その道路の位置および形状を示すパラメータ(例えば、道路の曲率半径又は曲率、道路の車線幅、車線数、各車線の中央ラインの位置など)が含まれている。また、道路情報には、自動車専用道路であるか否かを区別することができる道路種別情報等も含まれている。
<運転支援ECU10の行う制御処理>
次に、運転支援ECU10の行う制御処理について説明する。運転支援ECU10は、車線維持支援制御および先行車両追従車間制御の両方が実施されている状況において、車線変更支援要求が受け付けられた場合に、車線変更支援制御を実施する。そこで、先ず、車線維持支援制御および先行車両追従車間制御から説明する。
<車線維持支援制御(LTA)>
車線維持支援制御は、自車両の位置が「その自車両が走行している車線」内の目標走行ライン付近に維持されるように、操舵トルクをステアリング機構に付与してドライバーの操舵操作を支援する制御である。本実施形態においては、目標走行ラインは、車線中心ラインCLであるが、車線中心ラインCLから所定距離だけ車線幅方向にオフセットさせたラインを採用することもできる。従って、車線維持支援制御は、自車両の走行位置が車線内の車線幅方向の一定位置に維持されるように操舵操作を支援する制御と表現できる。
以下、車線維持支援制御をLTA(レーントレーシングアシスト)と呼ぶ。LTAは、いろいろな名前で呼ばれているが、それ自体は周知である(例えば、特開2008−195402号公報、特開2009−190464号公報、特開2010−6279号公報、及び、特許第4349210号明細書、等を参照。)。従って、以下、簡単に説明する。
運転支援ECU10は、設定操作器14の操作によってLTAが要求されている場合、LTAを実行する。運転支援ECU10は、LTAが要求されている場合に、上述した車線関連車両情報(Cu、Dy、θy)に基づいて、下記の(1)式により、目標舵角θlta*を所定の演算周期にて演算する。
θlta*=Klta1・Cu+Klta2・θy+Klta3・Dy+Klta4・ΣDy
…(1)
ここで、Klta1,Klta2,Klta3,Klta4は制御ゲインである。右辺第1項は、道路の曲率Cuに応じて決定されるフィードフォワード的に働く舵角成分である。右辺第2項は、ヨー角θyを小さくするように(車線中心ラインCLに対する自車両の方向の偏差を小さくするように)フィードバック的に働く舵角成分である。つまり、ヨー角θyの目標値をゼロとしたフィードバック制御によって演算される舵角成分である。右辺第3項は、車線中心ラインCLに対する自車両の車線幅方向位置のずれ(位置偏差)である横偏差Dyを小さくするようにフィードバック的に働く舵角成分である。つまり、横偏差Dyの目標値をゼロとしたフィードバック制御によって演算される舵角成分である。右辺第4項は、横偏差Dyの積分値ΣDyを小さくするようにフィードバック的に働く舵角成分である。つまり、積分値ΣDyの目標値をゼロとしたフィードバック制御によって演算される舵角成分である。
例えば、車線中心ラインCLが左方向にカーブしている場合、自車両が車線中心ラインCLに対して右方向に横ずれが発生している場合、および、自車両が車線中心ラインCLに対して右方向に向いている場合、目標舵角θlta*が左方向の舵角になるように目標舵角θlta*が設定される。また、車線中心ラインCLが右方向にカーブしている場合、自車両が車線中心ラインCLに対して左方向に横ずれが発生している場合、および、自車両が車線中心ラインCLに対して左方向に向いている場合、目標舵角θlta*が右方向の舵角になるように目標舵角θlta*が設定される。従って、運転支援ECU10は、上記式(1)に基づく演算を、左方向及び右方向のそれぞれに応じた符号を用いて実施する。
運転支援ECU10は、演算結果である目標舵角θlta*を表す指令信号をEPS・ECU20に出力する。EPS・ECU20は、舵角が目標舵角θlta*に追従するように転舵用モータ22を駆動制御する。尚、本実施形態においては、運転支援ECU10は、目標舵角θlta*を表す指令信号をEPS・ECU20に出力するが、目標舵角θlta*が得られる目標トルクを演算して、演算結果である目標トルクを表す指令信号をEPS・ECU20に出力してもよい。
以上が、LTAの概要である。
<先行車両追従車間制御(ACC)>
先行車両追従車間制御は、周辺情報に基づいて、自車両の走行する車線と同一車線上に先行車両が存在する場合には、その先行車両と自車両との車間距離を所定の距離に維持しながら、自車両を先行車両に追従させ、先行車両が存在しない場合には、自車両を設定車速にて定速走行させる制御である。以下、先行車両追従車間制御をACC(アダプティブ・クルーズ・コントロール)と呼ぶ。
運転支援ECU10は、設定操作器14の操作によってACCが要求されている場合、ACCを実行する。運転支援ECU10は、ACCが要求されている場合、周辺センサ11から供給される周辺情報に基づいて追従対象車両を選択する。例えば、運転支援ECU10は、予め定められた追従対象車両エリア内に他車両(先行車両)が存在するか否かを判定する。追従対象車両エリアは、自車両の走行している車線上における前方所定エリア(例えば、自車両から前方100mの範囲)である。また、先行車両は、自車両の前方を走行する他車両のうち、自車両に最も近い車両である。
運転支援ECU10は、先行車両が追従対象車両エリア内に所定時間以上に渡って存在する場合、その先行車両を追従対象車両として選択し、自車両が追従対象車両に対して所定の目標車間距離を維持しながら追従するように目標加速度を設定する。運転支援ECU10は、追従対象車両エリア内に先行車両が存在しない場合、自車両の車速が設定車速に一致するように、設定車速と検出車速(車速センサによって検出される車速)とに基づいて目標加速度を設定する。
運転支援ECU10は、自車両の加速度が目標加速度に一致するように、エンジンECU50を用いてエンジンアクチュエータ51を制御するとともに、必要に応じてブレーキECU60を用いてブレーキアクチュエータ61を制御する。
ACCにおける目標車間距離は、先行車両(追従対象車両)の車速vnと、ドライバーが予め設定操作器14を使って設定した設定車間距離(長・中・短)とに基づいて演算される。運転支援ECU10は、図5に示す目標車間時間マップを記憶しており、この目標車間時間マップを用いて目標車間距離を演算する。目標車間時間マップは、先行車両の車速vnが速いほど、かつ、設定車間距離(長・中・短)が短いほど短くなる目標車間時間td*が設定される特性を有する。運転支援ECU10は、車速vnと設定車間距離(長・中・短)とを目標車間時間マップに適用することにより目標車間時間td*を演算し、この目標車間時間td*に車速vnを乗算して目標車間距離d*(=td*×vn)を算出する。尚、先行車両の車速vnは、車速センサによって検出される自車両の車速vと、周辺情報に含まれる先行車両と自車両との相対速度とから求められる。
運転支援ECU10は、追従対象車両が存在する場合、周辺センサ11から供給される周辺情報に含まれる先行車両情報(先行車両と自車両との車間距離、先行車両と自車両との相対速度)、および、目標車間距離に基づいて、先行車両追従用目標加速度afollow*を次式(2)により演算する。
afollow*=(d−d*)×Kfollow1+(−vr)×Kfollow2 ・・・(2)
ここで、dは、現時点における先行車両と自車両との車間距離(検出値)を表し、vrは、現時点における先行車両と自車両との相対速度(検出値)である。この相対速度vrは、自車両の車速から先行車両の車速を減算した値に相当し、自車両の車速が先行車両の車速よりも大きい場合には、正の値にて表され、自車両の車速が先行車両の車速よりも小さい場合には、負の値にて表される。また、Kfollow1およびKfollow2は、制御ゲインを表す。Kfollow1およびKfollow2は、調整用の正の値であって、固定値でも良いし他のパラメータによって調整される値であってもよい。
先行車両追従用目標加速度afollow*は、その値が正となる場合には、自車両を加速させる加速度の目標値を表し、その値が負となる場合には、自車両を減速させる減速度の目標値を表す。従って、先行車両追従用目標加速度afollow*は、車間距離偏差(d−d*)、および、相対速度vrのそれぞれの絶対値を小さくするように働く値に設定される。
尚、式(2)の右辺全体に更に制御ゲイン(全体制御ゲインと呼ぶ)を乗算して、式(2)の右辺が正になる場合(自車両を加速させる場合)と、式(2)の右辺が負になる場合(自車両を減速させる場合)とで、全体制御ゲインの大きさを切り替えるようにしてもよい。
また、運転支援ECU10は、追従対象車両が存在しない場合、車速センサによって検出される車速vと、ドライバーが予め設定操作器14を使って設定した設定速度とに基づいて、定速走行用目標加速度aconst*を次式(3)により演算する。
aconst*=(vset−v)×Kconst ・・・(3)
ここで、vsetは、設定速度を表す。また、Kconstは、制御ゲインを表す。Kconstは、正の値であって、車速vが高い場合には低い場合に比べて小さくなくように調整されることが好ましい。
定速走行用目標加速度aconst*は、その値が正となる場合には、自車両を加速させる加速度の目標値を表し、その値が負となる場合には、自車両を減速させる減速度の目標値を表す。
運転支援ECU10は、目標加速度a*(afollow*あるいはaconst*)を所定の演算周期で演算する。運転支援ECU10は、目標加速度a*を演算する都度、目標加速度a*を表す加減速指令をエンジンECU50に送信する。エンジンECU50は、加減速指令を受信する都度、目標加速度a*と、実際の自車両の加速度a(減速度も含む)との偏差である加速度偏差Δa(=a*−a)に基づいて要求制駆動力F*を演算する。例えば、エンジンECU50は、次式(4)に示すように、加速度偏差Δaに制御ゲインKfを乗算した値に、1演算周期前の要求制駆動力F*(n-1)を加算した値を、要求制駆動力F*に設定する。
F*=(a*−a)×Kf+F*(n-1) ・・・(4)
エンジンECU50は、この要求制駆動力F*が発生するようにエンジンアクチュエータ51を制御する。これにより、自車両が目標加速度a*で加減速するように制駆動力が制御される。エンジンECU50は、大きな制動力が要求されており、内燃機関52およびトランスミッション(図示略)だけでは要求に応えられない場合、その不足分を油圧ブレーキで発生させるようにブレーキECU60に対して要求制動力を送信する。ブレーキECU60は、要求制動力を受信する都度、その要求制動力が発生するようにブレーキアクチュエータ61を制御する。
尚、要求制駆動力F*の演算に当たって用いられる自車両の加速度aは、車速vを微分演算することにより取得されてもよいし、前後Gセンサの検出値から取得されてもよい。
以上が、ACCの概要である。
<車線変更支援制御(LCA)>
車線変更支援制御は、自車両が現在走行している車線から隣接する車線に移動するように操舵トルクをステアリング機構に付与して、ドライバーの操舵操作(車線変更操作)を支援する制御である。従って、車線変更支援制御によれば、ドライバーの操舵操作(ハンドル操作)を必要とせずに、自車両の走行する車線を変更することができる。以下、車線変更支援制御をLCA(レーン・チェンジ・アシスト)と呼ぶ。また、車線変更前に自車両が走行している車線を元車線と呼び、元車線に隣接する車線変更支援要求方向の車線を目標車線と呼ぶ。
運転支援ECU10は、LTAおよびACCの実施中に、LCA開始条件が成立した場合にLTAに代えてLCAを開始する。
LCA開始条件は、例えば、以下の条件が全て成立した場合に成立する。
1.車線変更支援要求操作(車線変更支援要求信号)が検出されること。
2.設定操作器14によってLCAの実施が選択されていること。
3.ウインカー操作方向の白線(元車線と目標車線との境界となる白線)が破線であること。
4.周辺監視のLCA実施可否判定結果が可であること(周辺センサ11により得られた周辺情報よって、車線変更に障害となる障害物(他車両等)が検出されていなく、安全に車線変更ができると判定されていること)。
5.道路が自動車専用道路であること(ナビゲーションECU70から取得した道路種別情報が自動車専用道路を表していること)。
6.自車両の車速がLCAの許可されるLCA許可車速範囲に入っていること。
尚、LCA開始条件は、こうした条件に限るものでは無く、任意に設定することができる。
運転支援ECU10は、LCAを開始すると、LCA時に特化した加減速制御を実施する。この加減速制御をLCA時加減速制御と呼ぶ。LCA時加減速制御は、後述するが、ACCを実施するための目標加速度と、車線変更先の車線である目標車線を走行する先行車両との車間距離および相対速度を制御するための目標加速度とに基づいて、LCAの実施時における最終的な自車両の目標加速度を演算し、その最終的な目標加速度に自車両の加速度を追従させる制御である。従って、ACC用の目標加速度の演算は、LCAの開始後も引き続き継続されるものの、LCAの実施中においては、必ずしも、自車両がACC用の目標加速度に制御されるわけではない。
運転支援ECU10は、LCA開始条件が成立すると図6に示すLCA制御ルーチンを開始するとともに、図7に示すLCA時加減速制御ルーチンを開始する。LCA制御ルーチンは、自車両を車線変更させるための操舵制御処理を表す。一方、LCA時加減速制御ルーチンは、LCAが実施されているときの自車両の加減速を制御する処理を表す。
<LCA制御ルーチン>
まず、LCA制御ルーチンから説明する。LCA制御ルーチンが起動すると、ステップS11において、LCAの目標軌道を演算する。ここで、LCAの目標軌道について説明する。
運転支援ECU10は、LCAを実施する場合に、自車両の目標軌道を決める目標軌道関数を演算する。目標軌道は、目標車線変更時間をかけて、自車両を、元車線から、目標車線の幅方向中心位置(最終目標横位置と呼ぶ)にまで移動させる軌道であり、例えば、図8に示すような形状となる。
目標軌道関数は、後述するように、元車線の車線中心ラインCLを基準として、LCAの開始時点(即ち、LCA開始条件が成立した時点)からの経過時間tを変数として、経過時間tに対応する自車両の横位置の目標値(即ち、目標横位置)を算出する関数である。ここで、自車両の横位置とは、車線中心ラインCLを基準とした、車線幅方向(横方向と呼ぶこともある)における自車両の重心位置を表す。
目標車線変更時間は、自車両をLCAの開始位置(LCAの開始時点での自車両の横位置)である初期位置から最終目標横位置にまで横方向に移動させる距離(以下、必要横距離と呼ぶ)に比例して可変設定される。一例を示すと、車線幅が一般的な3.5mである場合には、目標車線変更時間は、例えば、8.0秒に設定される。この例は、LCAの開始時における自車両が元車線の車線中心ラインCLに位置している場合である。目標車線変更時間は、車線幅の広さに比例して調整される。従って、目標車線変更時間は、車線幅が広いほど大きな値に設定され、逆に、車線幅が狭いほど小さな値に設定される。
また、目標車線変更時間は、LCAの開始時における自車両の横位置が元車線の車線中心ラインCLよりも車線変更側にずれている場合には、そのずれ量(横偏差Dy)が多いほど減少するように設定される。逆に、LCAの開始時における自車両の横位置が元車線の車線中心ラインCLよりも反車線変更側にずれている場合には、目標車線変更時間は、そのずれ量(横偏差Dy)が多いほど増加するように設定される。
本実施形態においては、目標横位置yは、次式(5)に示す目標軌道関数y(t)によって演算される。この目標軌道関数y(t)は、経過時間tを変数とした5次関数である。
y(t)=c0+c1・t+c2・t2+c3・t3+c4・t4+c5・t5
・・・(5)
ここで、係数c0,c1,c2,c3,c4,c5は、LCA開始時の自車両の状態(初期横状態量)と、LCA完了時における自車両の目標状態(最終目標横状態量)とによって決定される。
例えば、目標軌道関数y(t)は、図9に示すように、現時点における自車両Cの走行している車線(元車線)の車線中心ラインCLを基準として、LCAの開始時点(目標軌道の演算時点)からの経過時間t(現在時刻tと呼ぶこともある)に対応する自車両Cの目標横位置y(t)を算出する関数である。図9では、車線が直線に形成されているが、車線が曲線に形成されている場合には、目標軌道関数y(t)は、曲線に形成された車線中心ラインCLを基準として、車線中心ラインCLに対する自車両の目標横位置を算出する関数である。
運転支援ECU10は、この目標軌道関数y(t)の係数c0,c1,c2,c3,c4,c5を決定するために、以下のように目標軌道演算パラメータを設定する。目標軌道演算パラメータは、以下の7つ(P1〜P7)である。
P1.LCA開始時の元車線の車線中心ラインに対する自車両の横位置(初期横位置と呼ぶ)。
P2.LCA開始時の自車両の横方向の速度(初期横速度と呼ぶ)。
P3.LCA開始時の自車両の横方向の加速度(初期横加速度と呼ぶ)。
P4.LCAを完了する時点(LCA完了時と呼ぶ)での元車線の車線中心ラインに対する自車両の目標横位置(最終目標横位置と呼ぶ)。
P5.LCA完了時の自車両の横方向の目標速度(最終目標横速度と呼ぶ)。
P6.LCA完了時の自車両の横方向の目標加速度(最終目標横加速度と呼ぶ)。
P7.LCAを実施する時間(LCA開始時からLCA終了自までの時間)の目標値である目標時間(目標車線変更時間と呼ぶ)。
前述したように、横方向は、車線幅方向である。従って、横速度とは、車線の幅方向の自車両の速度を表し、横加速度とは、車線の幅方向の自車両の加速度を表す。
ここで、目標軌道関数y(t)を一階微分した関数をy’(t)と表し、目標軌道関数y(t)を二階微分した関数をy’’(t)と表す。初期横位置はy(0)、初期横速度はy’(0)、初期横加速度はy’’(0)と表される。目標車線変更時間は、上述したように、車線幅(元車線の車線幅でよい)、および、LCA開始時における自車両の横方向ずれ量に基づいて算出される。目標車線変更時間をtlenとすると、最終目標横位置はy(tlen)、最終目標横速度はy’(tlen)、最終目標横加速度はy’’(tlen)と表される。
初期横位置(y(0))は、LCA開始時におけるカメラセンサ12によって検出された横偏差Dyに等しい値に設定される(y(0)=Dy)。初期横速度(y’(0))は、LCA開始時における車速センサによって検出される車速vに、カメラセンサ12によって検出されたヨー角θyの正弦値(sin(θy))を乗算した値(v・sin(θy))に設定される(y’(0)=v・sin(θy))。初期横加速度(y’’(0))は、LCA開始時におけるヨーレートセンサによって検出されるヨーレートγ(rad/s)に車速vを乗算した値(v・γ)に設定される(y’’(0)=v・γ)。
また、本実施形態の運転支援ECU10は、目標車線の車線幅を、カメラセンサ12によって検出されている元車線の車線幅と同様であるとみなす。元車線の車線幅をWとすると、最終目標横位置(y(tlen))は、元車線の車線幅と同じ値に設定される(y(tlen)=W)。更に、最終目標横速度(y’(tlen))および最終目標横加速度(y’’(tlen))は、ともに、その値がゼロに設定される(y’(tlen)=0,y’’(tlen)=0)。
運転支援ECU10は、目標軌道演算パラメータによって求められた6つの条件式(y(0)=Dy,y’(0)=v・sin(θy),y’’(0)=v・γ,y(tlen)=W,y’(tlen)=0,y’’(tlen)=0)に基づいて、式(5)で表される目標軌道関数y(t)の係数c0,c1,c2,c3,c4,c5を算出して、目標軌道関数y(t)を確定させる。運転支援ECU10は、LCAを終了させるまで、この目標軌道関数y(t)を記憶維持する。
こうして目標軌道関数が演算されると、運転支援ECU10は、続くステップS12において、目標軌道関数に基づいて目標舵角θlca*を演算する。運転支援ECU10は、目標舵角θlca*を演算するにあたって、目標軌道関数y(t)と、現在時刻tとに基づいて、現時点における目標横位置、目標横速度、および、目標横加速度を演算する。現在時刻tは、ステップS11において目標軌道関数y(t)を確定させた後の経過時間であり、LCAの開始からの経過時間と同等である。運転支援ECU10は、ステップS11において、目標軌道関数y(t)を算出すると、計時タイマをリセットしてLCA開始からの経過時間t(=現在時刻t)のカウントアップを開始する。目標横位置は、目標軌道関数y(t)に現在時刻tを代入して算出され、目標横速度は、目標軌道関数y(t)を一階微分した関数y’(t)に現在時刻tを代入して算出され、目標横加速度は、目標軌道関数y(t)を二階微分した関数y’’(t)に現在時刻tを代入して算出される。運転支援ECU10は、タイマによって計測された経過時間tを読み込み、この計測時間tと上記関数とに基づいて、目標横状態量(目標横位置、目標横速度、および、目標横加速度)を演算する。
以下、現在時刻における目標横位置をy*、現在時刻における目標横速度をvy*、現在時刻における目標横加速度をay*として表す。
続いて、運転支援ECU10は、現時点における、自車両の目標ヨー角θy*、自車両の目標ヨーレートγ*、および、目標曲率Cu*を演算する。目標曲率Cu*は、自車両を車線変更させる軌道の曲率、つまり、車線のカーブ曲率を含めない車線変更に係るカーブ成分の曲率である。
運転支援ECU10は、現時点における車速v(車速センサにて検出されている現在車速)を読み込むとともに、この車速vと、目標横速度vy*、目標横加速度ay*とに基づいて、以下の式(6),(7),(8)を使って、現時点における目標ヨー角θy*、目標ヨーレートγ*、および、目標曲率Cu*を演算する。
θy*=sin-1(vy*/v) ・・・(6)
γ*=ay*/v ・・・(7)
Cu*=ay*/v2 ・・・(8)
即ち、目標ヨー角θy*は、目標横速度vy*を車速vで除算した値を逆正弦関数に代入して算出される。また、目標ヨーレートγ*は、目標横加速度ay*を車速vで除算して算出される。目標曲率Cu*は、目標横加速度ay*を車速vの二乗値で除算して算出される。
運転支援ECU10は、目標横位置y*、目標ヨー角θy*、目標ヨーレートγ*、目標曲率Cu*、および、曲率Cuに基づいて、LCAの目標制御量である目標舵角θlca*を次式(9)にて演算する。
θlca*=Klca1・(Cu*+Cu)+Klca2・(θy*−θy)+Klca3・(y*−y)
+Klca4・(γ*−γ)+Klca5・Σ(y*−y) ・・・(9)
ここで、Klca1,Klca2,Klca3,Klca4,Klca5は制御ゲインである。Cuは、カメラセンサ12によって検出されている現時点(演算時)における曲率である。yは、カメラセンサ12によって検出されている現時点(演算時)における横位置、つまり、Dyに相当する。θyは、カメラセンサ12によって検出されている現時点(演算時)におけるヨー角である。また、γは、ヨーレートセンサによって検出される現時点における自車両のヨーレートを表す。尚、γは、ヨー角θyの微分値を用いることもできる。
右辺第1項は、目標曲率Cu*と曲率Cu(車線のカーブ)との加算値に応じて決定されるフィードフォワード制御量である。Klca1・Cu*は、車線変更を行うためのフィードフォワード制御量であり、Klca1・Cuは、自車両を車線のカーブに沿って走行させるためのフィードフォワード制御量である。従って、右辺第1項で表される制御量は、その制御量で操舵角を制御すれば、基本的には、自車両を目標とする進路に沿って走行させることができる値に設定される。この場合、制御ゲインKlca1は、車速vに応じた値に設定される。例えば、制御ゲインKlca1は、ホイールベースL、スタビリティファクタKsf(車両ごとに決められた固定値)に応じて次式(10)のように設定されるとよい。ここで、Kは、固定の制御ゲインである。
Klca1=K・L・(1+Ksf・v2) ・・・(10)
右辺第2項〜5項は、フィードバック制御量である。右辺第2項は、目標ヨー角θy*と実ヨー角θyとの偏差を小さくするようにフィードバック的に働く舵角成分である。右辺第3項は、目標横位置y*と実横位置yとの偏差を小さくするようにフィードバック的に働く舵角成分である。右辺第4項は、目標ヨーレートγ*と実ヨーレートγとの偏差を小さくするようにフィードバック的に働く舵角成分である。右辺第5項は、目標横位置y*と実横位置yとの偏差の積分値Σ(y*−y)を小さくするようにフィードバック的に働く舵角成分である。
目標舵角θlca*は、上記の5つの舵角成分にて演算されるものに限るわけでなく、そのうちの任意の舵角成分のみを使用して演算されてもよいし、他の舵角成分を追加するなどして演算されるようにしてもよい。例えば、ヨー運動に関するフィードバック制御量については、ヨー角の偏差あるいはヨーレートの偏差の何れか一方を用いるようにしてもよい。また、目標横位置y*と実横位置yとの偏差の積分値Σ(y*−y)を用いたフィードバック制御量については、省略することもできる。
以上がステップS12の処理である。
続いて、運転支援ECU10は、ステップS13において、目標舵角θlca*を表す操舵指令をEPS・ECU20に送信する。本実施形態においては、運転支援ECU10は、目標制御量として目標舵角θlca*を演算するが、目標舵角θlca*が得られる目標トルクを演算して、この目標トルクを表す操舵指令をEPS・ECU20に送信してもよい。
EPS・ECU20は、CAN100を介して運転支援ECU10から操舵指令を受信すると、舵角が目標舵角θlca*に追従するように転舵用モータ22を駆動制御する。
続いて、運転支援ECU10は、ステップS14において、LCA完了条件が成立したか否かについて判定する。本実施形態においては、LCA完了条件は、自車両の横位置yが最終目標横位置y*に到達したときに成立する。運転支援ECU10は、LCA完了条件が成立していない場合は、その処理をステップS12に戻して、上述したステップS12〜S14の処理を所定の演算周期で繰り返し実施する。こうして、LCAが継続され、自車両は、目標軌道に沿って走行する。
尚、LCAの実施中に、自車両の走行位置が元車線から目標車線に切り替わると、カメラセンサ12から運転支援ECU10に供給される車線関連車両情報(Cu、Dy、θy)は、元車線にかかる車線関連車両情報から目標車線にかかる車線関連車両情報に切り替わる。このため、LCAの開始当初に演算した目標軌道関数y(t)をそのまま使用することができない。自車両の位置する車線が切り替わった場合には、横偏差Dyの符号が反転する。そこで、運転支援ECU10は、カメラセンサ12が出力する横偏差Dyの符号(正負)が切り替わったことを検出すると、目標軌道関数y(t)を元車線の車線幅Wだけオフセットさせる。これにより、元車線の車線中心ラインCLを原点として演算された目標軌道関数y(t)を、目標車線の車線中心ラインCLを原点とした目標軌道関数y(t)に変換することができる。
運転支援ECU10は、ステップS14において、LCA完了条件が成立したと判定した場合、LCA制御ルーチンを終了する。運転支援ECU10は、LCA制御ルーチンを終了すると、LTAを再開する。これにより、自車両が目標車線における車線中心ラインCLに沿って走行するように操舵制御が行われる。尚、運転支援ECU10は、LCA制御ルーチンを実施している間、車線変更方向のウインカー点滅指令をメータECU30に対して送信する。
<LCA時加減速制御ルーチン>
次に、LCA時加減速制御について説明する。運転支援ECU10は、LCA開始条件が成立すると、LCA時加減速制御ルーチン(図7)を開始する。LCA時加減速制御ルーチンは、LCA制御ルーチン(図6)と並行して実施される。
運転支援ECU10は、ステップS21において、ACCによって追従対象車両が検出されているか否かについて判定する。運転支援ECU10は、LCA時加減速制御ルーチンの実施中、ACCを行うための目標加速度の演算を並行して行っている。つまり、運転支援ECU10は、追従対象車両の検出、追従対象車両を追従するための目標加速度(afollow*)の演算、追従対象車両が存在しない場合の定速走行用の目標加速度(aconst*)の演算をLCA時加減速制御ルーチンと並行して行っている。従って、運転支援ECU10は、ステップS21において、ACCの制御状態情報を読み込んで、ACCによって追従対象車両が検出されているか否かについて判定する。ACCによる追従対象車両は、自車両の走行している車線と同一車線上の前方所定エリア(例えば、100m以内)を走行している先行車両(自車両に最も近い車両)である。従って、自車両の走行している車線上の追従対象車両エリア内に先行車両が検出されている場合に、「Yes」と判定される。
図10、図11は、自車両の位置と、先行車両の位置との関係を8つのパターン(A〜H)に分けて表した図である。図10に示すパターンA〜パターンDは、自車両Cが元車線を走行している状況を表している。この場合、パターンAおよびパターンBでは、元車線の前方に先行車両C1が存在しているため、この先行車両C1がACCの追従対象車両として設定される(S21:Yes)。一方、パターンCおよびパターンDでは、元車線の前方に先行車両が存在しないため、ACCにおける追従対象車両は設定されない(S21:No)。
また、図11に示すパターンE〜パターンHは、LCAが進行して自車両Cが目標車線に進入した後の状況を表している。この場合、パターンEおよびパターンGでは、目標車線の前方に先行車両C2が存在しているため、この先行車両C2がACCの追従対象車両として設定される(S21;Yes)。一方、パターンFおよびパターンHでは、目標車線の前方に先行車両が存在しないため、ACCにおいて追従対象車両が設定されない(S21:No)。
尚、ここでは、理解しやすく説明するために、自車両の位置を用いて説明しているが、ステップS21の判定は、あくまでも、ACCによって追従対象車両が検出されているか否かについての判定である。
運転支援ECU10は、ACCによって追従対象車両が検出されている場合(S21:Yes)には、その処理をステップS22に進めて、目標車線に先行車両が存在するか否について判定する。例えば、運転支援ECU10は、カメラセンサ12によって自車両が元車線を走行していると判定される状況であれば、自車両が現在位置から真横にずれた目標車線を走行していると仮定して、ACCの追従対象車両エリア内(目標車線内における前方所定エリア内)に先行車両が存在するか否かについての判定を行う。また、カメラセンサ12によって自車両が目標車線を走行していると判定される状況であれば、目標車線を走行している先行車両は、ACCの追従対象車両となるため、運転支援ECU10は、ACCによって追従対象車両が検出されているか否かについての判定を行う(この場合、ステップS21でACCの追従対象車両が検出されているため、「Yes」となる)。
図10、図11において、目標車線に先行車両が存在するパターンは、パターンA,パターンC,パターンE,パターンGである。従って、ステップS22において「Yes」、つまり、ACCによって追従対象車両が検出され、かつ、目標車線に先行車両が検出されているパターンは、パターンA、パターンE,パターンGである。この場合、パターンE,パターンGにおいては、ACCの追従対象車両と、目標車線を走行する先行車両とは、共通の車両である。
運転支援ECU10は、ACCによって追従対象車両が検出され、かつ、目標車線に先行車両が検出されている場合(S22:Yes)には、ステップS23〜ステップS25により目標加速度a*を演算する。以下、自車両の前方で目標車線を走行する先行車両を目標車線車両と呼ぶ。目標車線車両は、目標車線における前方所定エリア内(例えば、自車両から前方100mの範囲)を走行する最も自車両に近い車両である。
運転支援ECU10は、ステップS23において、ACC追従用目標加速度a1*を演算する。このACC追従用目標加速度a1*は、上述した先行車両追従用目標加速度afollow*(式(2)参照)と同じ値である。運転支援ECU10は、ACCによって演算されている現時点の先行車両追従用目標加速度afollow*を読み込んで、先行車両追従用目標加速度afollow*をACC追従用目標加速度a1*に設定する。
続いて、運転支援ECU10は、ステップS24において、LCA用目標加速度a2*を演算する。LCA用目標加速度a2*は、目標車線車両を追従対象車両に設定した自車両の目標加速度であって、現時点から設定時間後に、自車両と目標車線車両との車間距離が、設定車間距離(短)によって決まる目標車間距離と等しくなるような自車両の目標加速度である。LCA用目標加速度a2*は、その値が正となる場合には、自車両を加速させる加速度の目標値を表し、その値が負となる場合には、自車両を減速させる減速度の目標値を表す。
例えば、図12に示すように、目標車線車両C2と自車両Cとの現時点における実際の車間距離をd
2、目標車線車両C2と自車両Cとにおける目標車間距離をd
2*、現時点における目標車線車両と自車両との相対速度をv
r2((自車両の車速v)−(目標車線車両の車速v
2))、自車両の加速度をa
2、現時点から車間距離が目標車間距離に等しくなるまでの時間をtとした場合、次式(11)にて示す運動方程式が成立する。
従って、設定時間t
s後に車間偏差(d
2−d
2*)をゼロにするための自車両の加速度の目標値(目標加速度a
2*)は、次式(12)により算出することができる。
この目標加速度a
2*がLCA用目標加速度a
2*である。
運転支援ECU10は、上記式(12)によりLCA用目標加速度a2*を演算する。つまり、運転支援ECU10は、現時点から設定時間ts後に車間偏差(d2−d2*)がゼロになるような目標加速度a2*を演算する。換言すれば、運転支援ECU10は、現時点から設定時間ts後に目標車線車両と自車両との実際の車間距離d2が目標車間距離d2*と等しくなるような目標加速度a2*を演算する。
この場合、運転支援ECU10は、周辺センサ11によって検出される周辺情報、および、カメラセンサ12によって検出される車線情報に基づいて、目標車線車両と自車両との車間距離d2および相対速度vr2を検出する。
また、目標車間距離d2*は、設定操作器14の車間距離モードの設定状態に関わらず、最も目標車間距離が短く設定される車間距離モード「短」に対応する距離に設定される。この場合、目標車間距離d2*は、図5の目標車間時間マップを用いて演算されるが、目標車間時間マップの横軸は目標車線車両の車速v2とされたものである。目標車間距離d2*は、目標車間時間マップから算出される目標車間時間td*に車速v2を乗算して(d2*=td*×v2)求められる。
また、設定時間tsは、LCAが実施される目標時間である目標車線変更時間tlenよりも短くなる予め設定された時間であって、例えば、5秒である。本実施形態においては、設定時間tsは、固定値であるが、目標車線変更時間tlenに応じて可変設定される構成であってもよい。例えば、目標車線変更時間tlenが8秒の場合に設定時間tsを5秒とし、その比率を維持するように、設定時間tsを設定してもよい(t*=tlen×(5/8))。
続いて、運転支援ECU10は、ステップS25において、ステップS23で算出したACC追従用目標加速度a1*とステップS24で算出したLCA用目標加速度a2*とのうち、小さい方の値を選択して、その選択した値を目標加速度a*に設定する。ACC追従用目標加速度a1*およびLCA用目標加速度a2*は、自車両を加速させる側に働く加速度である場合には正の値で表され、自車両を減速させる側に働く減速度である場合には負の値で表される。従って、例えば、目標加速度a1*,a2*の一方が正の値で他方が負の値である場合には、負の値の目標加速度a1*またはa2*が選択される。目標加速度a1*,a2*の両方が負の値である場合には、その絶対値の大きい方(減速度が大きい方)の目標加速度a1*またはa2*が選択される。
一方、ステップS22において「No」、つまり、ACCによって追従対象車両が検出されており、かつ、目標車線に先行車両が検出されていない場合、運転支援ECU10は、その処理をステップS26に進める。このケースは、図10のパターンBに該当する。運転支援ECU10は、ステップS26において、ACC追従用の目標加速度a*を演算する。この演算処理は、ステップS23と同じ処理である。従って、運転支援ECU10は、ACCによって演算されている現時点の先行車両追従用目標加速度afollow*を読み込んで、先行車両追従用目標加速度afollow*を目標加速度a*に設定する。
また、ステップS21において「No」、つまり、ACCによって追従対象車両が検出されていない場合、運転支援ECU10は、その処理をステップS27に進めて、目標車線車両が存在するか否かについて判定する。この判定処理は、ステップS22の判定処理と同様である。運転支援ECU10は、ステップS27において「Yes」、つまり、ACCによって追従対象車両が検出されていなく、かつ、目標車線車両が検出されている場合、その処理をステップS28に進める。このケースは、図10のパターンCに該当する。運転支援ECU10は、ステップS28において、LCA用の目標加速度a*を演算する。この演算処理は、ステップS24と同じ処理である。従って、運転支援ECU10は、LCA用目標加速度a2*の値を目標加速度a*に設定する。
また、ステップS27において「No」、つまり、ACCによって追従対象車両が検出されていなく、かつ、目標車線車両が検出されていない場合、その処理をステップS29に進める。このケースは、図10のパターンD、図11のパターンF、パターンHに該当する。運転支援ECU10は、ステップS29において、ACC定速走行用の目標加速度a*を演算する。このACC定速走行用の目標加速度a*は、上述した定速走行用目標加速度aconst*(式(3)参照)と同じ値である。運転支援ECU10は、ACCによって演算されている現時点の定速走行用目標加速度aconst*を読み込んで、定速走行用目標加速度aconst*を目標加速度a*に設定する。
運転支援ECU10は、ステップS25,ステップS26,ステップS28,ステップS29の何れかにおいて目標加速度a*を演算すると、その処理をステップS30に進める。運転支援ECU10は、目標加速度a*を表す加減速指令をエンジンECU50に送信する。
続いて、運転支援ECU10は、ステップS31において、LCA完了条件が成立したか否かについて判定する。運転支援ECU10は、LCA完了条件が成立していない場合は、その処理をステップS21に戻して、上述した処理を所定の演算周期で繰り返し実施する。これにより、所定の演算周期で目標加速度a*が演算され、その都度、目標加速度a*を表す加減速指令がエンジンECU50に送信される。
エンジンECU50は、加減速指令を受信する都度、目標加速度a*と、実際の自車両の加速度aとの偏差である加速度偏差Δa(=a*−a)に基づいて、上述した式(4)を用いて要求制駆動力F*を演算し、この要求制駆動力F*が発生するようにエンジンアクチュエータ51を制御する。これにより、自車両が目標加速度a*で加減速するように制駆動力が制御される。エンジンECU50は、大きな制動力が要求されており、内燃機関52およびトランスミッション(図示略)だけでは要求に応えられない場合、その不足分を油圧ブレーキで発生させるようにブレーキECU60に対して要求制動力を送信する。ブレーキECU60は、要求制動力を受信する都度、その要求制動力が発生するようにブレーキアクチュエータ61を制御する。
運転支援ECU10は、LCA完了条件が成立するとLCA時加減速制御ルーチンを終了する。運転支援ECU10は、LCA時加減速制御ルーチンを終了すると、ACCのみのよる加減速制御(通常のACCと呼ぶ)を再開する。
以上説明した本実施形態の運転支援装置によれば、LCAが実施される場合には、自車両と同一車線を走行する先行車両を追従対象車両としたACC用目標加速度a1*の演算に加えて、目標車線車両を追従対象車両としたLCA用目標加速度a2*の演算が行われる。このLCA用目標加速度a2*は、現時点から設定時間ts後に、目標車線車両と自車両との実際の車間距離d2が目標車間距離d2*と等しくなる目標加速度である。このLCA用目標加速度a2*は、LCAの実施中に所定の短い演算周期で繰り返し演算される。
例えば、設定時間tsを5秒とし、LCAの開始から目標車線車両が検出されている場合には、LCA開始時に演算されるLCA用目標加速度a2*は、LCAの開始から5秒後に車間偏差(d2−d2*)がゼロになるような値に演算される。LCA開始から1秒後に演算されるLCA用目標加速度a2*は、LCAの開始から6秒後に車間偏差(d2−d2*)がゼロになるような値に演算される。LCA開始から2秒後に演算されるLCA用目標加速度a2*は、LCAの開始から7秒後に車間偏差(d2−d2*)がゼロになるような値に演算される。この例では、分かりやすくするために、1秒おきの値を用いて説明しているが、実際には、LCA用目標加速度a2*は、非常に短い周期にて繰り返し演算される。
従って、LCAの開始から、このLCA用目標加速度a2*を用いて自車両の走行を制御した場合には、LCAの開始から設定時間ts経過すると、自車両と目標車線車両との車間距離d2が目標車間距離d2*に収束し、且つ、その後は、車間距離d2が目標車間距離d2*に維持される。これにより、目標車間距離d2*にて、目標車線車両と自車両との相対速度をゼロに維持することができる。例えば、自車両が目標車線車両よりも速い速度で走行している状態からLCAが開始された場合、自車両は、目標車線車両に接近するが、目標車線車両との車間距離d2が目標車間距離d2*と等しくなったタイミングで、それ以降、目標車線車両と等速度にて走行することができる。
また、LCA用目標加速度a2*の演算に用いられる目標車間距離d2*は、ドライバーの選択可能な最も短い車間距離モード(設定車間距離「短」)に対応する距離に設定される。従って、車線変更の開始時における過剰な減速を抑制でき、車線変更をスムーズに開始することができる。また、車線変更を行う場合には、自車両と目標車線車両との車間距離を、ACCで設定されている目標車間距離よりも短くした方が、ドライバーにとって快適に感じられる。
一方、ACC追従用目標加速度a1*は、自車両と先行車両の車間偏差(d−d*)、および、相対速度vrのそれぞれの絶対値が小さくなるような値に演算されるものの、自車両と先行車両との車間距離が目標車間距離に維持される(先行車両と自車両とが等速度になる)タイミングを決めることができない。このため、ACC追従用目標加速度a1*のみを用いて自車両の加減速度を制御した場合には、LCA終了時に、自車両と目標車線車両との相対速度が大きくなっている可能性がある。
また、ACC追従用目標加速度a1*とLCA用目標加速度a2*とは、その大小関係が状況に応じて変化する。そこで、本実施形態においては、ACC追従対象車両と目標車線車両との両方が存在する場合、自車両の目標加速度a*は、ACC追従用目標加速度a1*とLCA用目標加速度a2*とのうちの小さい方の目標加速度に設定される。この結果、LCA中においては、先行車両に対して必要な車間距離を確保しつつ、LCAが終了した時には、自車両を急減速させることなくスムーズに通常のACC(LCAを実施していないときのACC)に移行させることができる。従って、LCAが終了した時に、ドライバーに違和感を与えないようにすることができる。
以上、本実施形態に係る運転支援装置について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
例えば、上記実施形態においては、ドライバーの選択できる車間距離モードは、長・中・短の3段階である必要は無く、長・短の2段階、あるいは、4段階以上であってもよい。その場合には、LCA用目標加速度a2*の演算に用いる目標車間距離は、ドライバーの選択可能な最も短い車間距離モード(目標車間距離が最も短くなる車間距離モード)に対応した値に設定されるようにするとよい。
また、本実施形態においては、目標車間時間td*は、先行車両の車速vnと設定車間距離(長・中・短)とに基づいて算出されるが、先行車両の車速vnに代えて自車両の車速vを用いて、自車両の車速vと設定車間距離(長・中・短)とに基づいて算出されてもよい。この場合には、図5に示す目標車間時間マップの横軸は自車両の車速vであり、目標車間距離d*は、目標車間時間td*に車速vを乗算して(d*=td*×v)求めればよい。また、自車両と目標車線車両との目標車間距離d2*を演算する場合についても同様の目標車間時間マップを用いて、自車両の車速vと設定車間距離(短)とに基づいて目標車間時間td*を演算し、この目標車間時間td*に車速vを乗算して目標車間距離d2*を算出すればよい(d2*=td*×v)。
また、上記実施形態においては、経過時間に対する目標横位置を表した目標軌道関数を用いて目標軌道を設定しているが、目標軌道の設定についても、必ずしも、このようにする必要は無く、従来から知られている種々の手法を採用することができる。