特許文献1に提案された装置では、車線変更支援を受ける前のドライバーのハンドル操作の速さに応じて、目標軌道が設定される。しかし、車線変更支援が実施されている最中に、ドライバーが車線変更を早く完了させたいという意図等で、追操舵(自動操舵にハンドルマニュアル操作を加えること)を行うことがある。この場合、車線変更支援の開始時に設定された目標軌道をそのまま最後まで使用して車線変更を完了させようとすると、ドライバーの意図に反した軌道にて車線変更が行われるおそれがある。
本発明は、上記課題を解決するためになされたものであり、ドライバーの操舵操作の意図を反映させた軌道で自車両を車線変更させることを目的とする。
上記目的を達成するために、本発明の車線変更支援装置の特徴は、
車線を認識し、前記車線に対する自車両の相対的な位置関係を検出する車線認識手段(12)と、
前記車線に対する自車両の相対的な位置関係に基づいて、自車両を隣接車線に向けて車線変更させる目標軌道を演算する目標軌道演算手段(10)と、
前記目標軌道に沿って自車両が走行するように操舵輪の操舵を制御して車線変更支援を行う支援制御手段(10,20)と
を備えた車線変更支援装置において、
前記車線変更支援が行われている最中に、ドライバーによる操舵操作が行われたことを判定する操舵操作判定手段(S19)を備え、
前記目標軌道演算手段は、
前記車線変更支援の開始時に、前記車線変更支援の開始から完了までの自車両の目標軌道を演算する第1演算手段(S13,S14)と、
前記操舵操作判定手段によって前記操舵操作が行われたと判定されたときに、その時点における自車両の車線幅方向の位置である横位置、および、自車両の車線幅方向の運動状態を表す横運動状態量に基づいて、その時点から前記車線変更支援の完了までの自車両の目標軌道を演算する第2演算手段(S22,S23)と
を有し、
前記支援制御手段は、
前記ドライバーによる操舵操作が行われたと判定されるまでは、前記第1演算手段によって演算された目標軌道に沿って自車両が走行するように操舵輪の操舵を制御し、前記ドライバーによる操舵操作が行われたと判定された後は、前記第2演算手段によって演算された目標軌道に沿って自車両が走行するように操舵輪の操舵を制御する(S15〜S18)ように構成されたことにある。
本発明においては、車線認識手段が、車線を認識し、車線に対する自車両の相対的な位置関係を検出する。車線は、例えば、白線によって区画される領域である。従って、車線を認識することによって、自車両を走行させる目標軌道を決定することができる。目標軌道演算手段は、車線に対する自車両の相対的な位置関係に基づいて、自車両を隣接車線に向けて車線変更させる目標軌道を演算し、支援制御手段が、目標軌道に沿って自車両が走行するように操舵輪の操舵を制御する。
車線変更支援の途中でドライバーによって操舵操作が行われた場合、車線変更支援の開始時に設定された目標軌道をそのまま最後まで使用して車線変更を完了させようとすると、ドライバーの意図に反した軌道にて車線変更が行われるおそれがある。そこで、本発明は、操舵操作判定手段を備えている。操舵操作判定手段は、車線変更支援が行われている最中に、ドライバーによる操舵操作が行われたことを判定する。つまり、ドライバーによる操舵操作が行われたか否かについて判定する。この場合、操舵操作判定手段は、ドライバーによる操舵操作が終了したときに、ドライバーによる操舵操作が行われたと判定するとよい。
目標軌道演算手段は、第1演算手段と第2演算手段とを備えている。第1演算手段は、車線変更支援の開始時に、車線変更支援の開始から完了までの自車両の目標軌道を演算する。また、第2演算手段は、操舵操作判定手段によって操舵操作が行われたと判定されたときに、その時点における自車両の車線幅(道路幅)方向の位置である横位置、および、自車両の車線幅方向の運動状態を表す横運動状態量に基づいて、その時点から車線変更支援の完了までの自車両の目標軌道を演算する。
支援制御手段は、ドライバーによる操舵操作が行われたと判定されるまでは、第1演算手段によって演算された目標軌道に沿って自車両が走行するように操舵輪の操舵を制御し、ドライバーによる操舵操作が行われたと判定された後は、第2演算手段によって演算された目標軌道に沿って自車両が走行するように操舵輪の操舵を制御する。
従って、ドライバーによる操舵操作が行われたと判定された時点で、その時の自車両の横位置と横運動状態量とに基づいて目標軌道が再度演算されることになる。これにより、ドライバーの操舵操作によって変化した自車両の挙動に応じた適正な目標軌道を演算することができる。従って、この適正に演算された目標軌道に基づいて操作輪の操舵が制御されることによって、自車両をドライバーの操舵操作の意図を反映させた目標軌道にて車線変更させることができる。
本発明の一側面の特徴は、
前記第1演算手段は、前記自車両の前記車線変更支援の開始から完了までの経過時間に応じた自車両の車線幅方向の目標位置である目標横位置を表した目標軌道関数を前記目標軌道として演算するように構成され、
前記第2演算手段は、前記ドライバーによる操舵操作が行われたと判定された時から前記車線変更支援の完了までの経過時間に応じた自車両の目標横位置を表した目標軌道関数を前記目標軌道として演算するように構成されたことにある。
本発明の一側面においては、第1演算手段が、自車両の車線変更支援の開始から完了までの経過時間に応じた自車両の車線幅方向の目標位置である目標横位置を表した目標軌道関数を目標軌道として演算し、第2演算手段が、ドライバーによる操舵操作が行われたと判定された時から車線変更支援の完了までの経過時間に応じた自車両の目標横位置を表した目標軌道関数を目標軌道として演算する。従って、支援制御手段は、ドライバーによる操舵操作が行われたと判定されるまでは、第1演算手段によって演算された目標軌道関数に基づいて、自車両の横位置が目標横位置となるように操舵輪の操舵を制御し、ドライバーによる操舵操作が行われたと判定された後は、第2演算手段によって演算された目標軌道に基づいて、自車両の横位置が目標横位置となるように操舵輪の操舵を制御する。これにより、自車両の横位置を経過時間で制御することができ、所定の軌道にて自車両を車線変更させることが可能となる。
本発明の一側面と特徴は、
前記支援制御手段は、
前記第1演算手段あるいは前記第2演算手段によって演算された前記目標軌道関数に基づいて、現時点における自車両の目標横位置と、現時点における自車両の車線幅方向の運動状態の目標値である目標横運動状態量とを表す目標横状態量を逐次演算する目標横状態量演算手段(S15)と、
現時点における自車両の車速を逐次取得するとともに、前記車速と前記目標横運動状態量とに基づいて、現時点における自車両の向きを変える運動に関する目標値である目標ヨー状態量を逐次演算する目標ヨー状態量演算手段(S16)と、
前記目標横位置と前記目標ヨー状態量とに基づいて、操舵輪の操舵を制御する操舵制御手段(S17,S18)とを備えたことにある。
本発明の一側面においては、支援制御手段は、目標横状態量演算手段と、目標ヨー状態量演算手段と、操舵制御手段とを備えている。目標横状態量演算手段は、第1演算手段あるいは第2演算手段によって演算された目標軌道関数に基づいて、現時点における自車両の目標横位置と、現時点における自車両の車線幅方向の運動状態の目標値である目標横運動状態量とを表す目標横状態量を逐次演算する。
横運動状態量は、例えば、自車両の車線幅方向の速度、あるいは、加速度を表す。例えば、目標軌道関数を時間で微分することによって、その時点における自車両の目標横速度(車線幅方向の速度)を取得することができ、また、例えば、目標軌道関数を時間で二階微分することによって、その時点における自車両の目標横加速度(車線幅方向の加速度)を取得することができる。従って、目標軌道関数を使って、目標横状態量を演算することができる。
また、自車両の車速がわかれば、自車両の目標横運動状態量を得るために必要となる運動(自車両の向きを変える運動)に関する目標値である目標ヨー状態量を算出することができる。そこで、目標ヨー状態量演算手段は、車速と目標横運動状態量とに基づいて、現時点における自車両の向きを変える運動に関する目標値である目標ヨー状態量を逐次演算する。
操舵制御手段は、目標横位置と目標ヨー状態量とに基づいて、操舵輪の操舵を制御する。つまり、操舵制御手段は、自車両の横位置が目標横位置となり、自車両の向きを変える状態量が目標ヨー状態量となるように操舵輪の操舵を制御する。
従って、本発明の一側面によれば、ドライバーのアクセル操作(車速の変化)を反映したスムーズな車線変更を行うことができる。
本発明の一側面の特徴は、
前記第1演算手段は、
前記車線変更支援が開始される時の自車両の横位置と車線幅方向の運動状態である横運動状態量とを表す初期横状態量と、前記車線変更支援を完了させる時の自車両の目標横位置と目標横運動状態量とを表す最終目標横状態量と、前記車線変更支援の開始から完了までの目標時間である目標車線変更時間とに基づいて、前記車線変更支援の開始からの経過時間に応じた自車両の車線幅方向の目標位置である目標横位置を表した目標軌道関数を演算するように構成され、
前記第2演算手段は、
前記ドライバーによる操舵操作が行われたと判定されたときの、前記自車両の横位置と横運動状態量とを表す操舵操作時横状態量と、前記車線変更支援を完了させる時の自車両の目標横位置と目標横運動状態量とを表す最終目標横状態量と、前記車線変更支援を完了させるまでの残りの車線変更支援の目標時間である目標車線変更残時間とに基づいて、前記ドライバーによる操舵操作が行われたと判定された時からの経過時間に応じた自車両の目標横位置を表した目標軌道関数を演算するように構成されたことにある。
本発明の一側面においては、第1演算手段は、初期横状態量と、最終目標横状態量と、目標車線変更時間とに基づいて、車線変更支援の開始からの経過時間に応じた自車両の車線幅方向の目標位置である目標横位置を表した目標軌道関数を演算する。この初期横状態量は、車線変更支援が開始される時の自車両の横位置と車線幅方向の運動状態である横運動状態量とを表す。また、最終目標横状態量は、車線変更支援を完了させる時の自車両の目標横位置と目標横運動状態量とを表す。目標車線変更時間は、車線変更支援の開始から完了までの目標時間を表す。横運動状態量は、例えば、自車両の車線幅方向の速度、あるいは、加速度の検出値を表し、目標横運動状態量は、自車両の車線幅方向の速度、あるいは、加速度の目標値を表す。自車両の横位置および自車両の横運動状態量は、車線認識手段によって検出された車線に対する自車両の相対的な位置関係から求められる。
一方、第2演算手段は、操舵操作時横状態量と、最終目標横状態量と、目標車線変更残時間とに基づいて、ドライバーによる操舵操作が行われたと判定された時からの経過時間に応じた自車両の目標横位置を表した目標軌道関数を演算する。操舵操作時横状態量は、ドライバーによる操舵操作が行われたと判定されたときの、自車両の横位置と横運動状態量とを表す。最終目標横状態量は、車線変更支援を完了させる時の自車両の目標横位置と目標横運動状態量とを表す。目標車線変更残時間は、車線変更支援を完了させるまでの残りの車線変更支援の目標時間である。
従って、ドライバーによる操舵操作が行われたと判定されたときに、それまでの自車両の横状態量から滑らかに繋ぐ目標軌道関数を演算することができる。この結果、一層スムーズに、自車両を車線変更させることができる。
本発明の一側面の特徴は、
前記第2演算手段は、前記ドライバーによる操舵操作が行われたと判定された時点における、前記車線変更支援を完了させるために必要となる自車両を車線幅方向に移動させる残距離に基づいて、前記目標車線変更残時間を設定するように構成されたことにある。
本発明の一側面によれば、ドライバーによる操舵操作が行われたと判定されたとき、車線変更支援を完了させるために必要となる自車両を車線幅方向に移動させる残距離に基づいて、目標車線変更残時間が設定される。従って、車線変更支援の最中に、ドライバーによって操舵操作が行われても、適切な目標軌道関数を演算することができ、これにより、一層、ドライバーの操舵操作の意図を反映させた目標軌道にて自車両を車線変更させることができる。
本発明の一側面の特徴は、
前記第2演算手段は、前記ドライバーによる操舵操作が行われたと判定されたときの、自車両の車線変更方向の横速度あるいは横加速度が高いほど、前記目標車線変更残時間を短くするように補正するように構成されたことにある。
本発明の一側面によれば、ドライバーによる操舵操作が行われたと判定されたとき、自車両の車線変更方向の横速度あるいは横加速度が高いほど、目標車線変更残時間が短くなるように補正される。従って、適切な目標軌道関数を演算することができ、これにより、一層、ドライバーの操舵操作の意図を反映させた目標軌道にて自車両を車線変更させることができる。
本発明の一側面の特徴は、
前記第2演算手段による前記目標軌道関数の演算は、1回の車線変更支援中に最大1回までと制限されている(S30)ことにある。
車線変更支援中に、ドライバーによる操舵操作が行われたとの判定が複数回行われることが考えられる。そのたびに、目標軌道関数を演算して操舵輪を制御すると、自車両の挙動が不安定になるおそれがある。そこで、本発明の一側面においては、第2演算手段による目標軌道関数の演算は、1回の車線変更支援中に最大1回までと制限されている。これにより、自車両を安定的に車線変更させることができる。
本発明の一側面の特徴は、
前記第2演算手段は、前記ドライバーによる操舵操作が行われたと判定されたときに、前記第1演算手段によって演算された目標軌道関数から求められる自車両の目標横位置と、前記車線認識手段によって検出される自車両の実横位置との偏差を演算し、前記偏差が閾値以上であり、かつ、前記実横位置が前記目標横位置よりも車線変更方向にある場合に、前記目標軌道関数を演算する(S31,S32,S33)ように構成されたことにある。
車線変更支援中に操舵操作が行われた場合であっても、自車両の実横位置が、目標横位置に対して車線変更方向にあまり乖離していなければ、車線変更支援の開始時に演算された目標軌道関数をそのまま使用しても問題ない。そこで、本発明の一側面においては、第2演算手段は、ドライバーによる操舵操作が行われたと判定されたときに、第1演算手段によって演算された目標軌道関数から求められる自車両の目標横位置と、車線認識手段によって検出される自車両の実横位置との偏差を演算し、その偏差が閾値以上であり、かつ、実横位置が目標横位置よりも車線変更方向にある場合に目標軌道関数を演算する。従って、必要以上に目標軌道関数が演算されることがなくなり、自車両を安定的に車線変更させることができる。また、第2演算手段の演算負荷を軽減することができる。
本発明の一側面の特徴は、
前記操舵操作判定手段は、ドライバーが操舵ハンドルに入力した操舵トルクが、操舵操作の開始を判定するための第1閾値以上となり、その後、操舵操作終了を判定するための第2閾値以下にまで低下したことが検出されたときに、ドライバーによる操舵操作が行われたと判定する(S191〜S196)ように構成されたことにある。
本発明の一側面によれば、ドライバーが操舵ハンドルに入力した操舵トルクが第1閾値以上となり、その後、第2閾値以下にまで低下したことが検出されたときに、ドライバーによる操舵操作が行われたと判定される。第1閾値は、操舵操作の開始を判定するための閾値であり、第2閾値は、操舵操作終了を判定するための閾値である。従って、第2閾値は、第1閾値よりも小さな値である。これにより、ドライバーによる操舵操作が行われたことを簡単に判定することができる。
上記説明においては、発明の理解を助けるために、実施形態に対応する発明の構成要件に対して、実施形態で用いた符号を括弧書きで添えているが、発明の各構成要件は、前記符号によって規定される実施形態に限定されるものではない。
以下、本発明の実施形態に係る車線変更支援装置について図面を参照しながら説明する。
本発明の実施形態に係る車線変更支援装置は、車両(以下において、他の車両と区別するために、「自車両」と称呼される場合がある。)に適用され、図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)を車線関連車両情報と呼ぶ。尚、車線関連車両情報(Cu、Dy、θy)は、車線中心ラインCLに対する左右方向を、符号(正負)によって特定する。
また、カメラセンサ12は、自車両の車線に限らず隣接する車線も含めて、検出した白線の種類(実線、破線)、隣り合う左右の白線間の距離(車線幅)、白線の形状など、白線に関する情報についても、所定の演算周期にて運転支援ECU10に供給する。白線が実線の場合は、車両がその白線を跨いで車線変更することは禁止されている。一方、白線が破線(一定の間隔で断続的に形成されている白線)の場合は、車両がその白線を跨いで車線変更することは許可されている。こうした車線関連車両情報(Cu、Dy、θy)、および、白線に関する情報を総称して車線情報と呼ぶ。
尚、本実施形態においては、カメラセンサ12が車線関連車両情報(Cu、Dy、θy)を演算するが、それに代えて、運転支援ECU10が、カメラセンサ12の出力する画像データを解析して、車線情報を取得するようにしてもよい。
また、カメラセンサ12は、画像データに基づいて自車両の前方に存在する立体物を検出することもできるため、車線情報に加えて、前方の周辺情報を演算により取得するようにしてもよい。この場合、例えば、中央前方周辺センサ11FC、右前方周辺センサ11FR、および、左前方周辺センサ11FLによって取得された周辺情報と、カメラセンサ12によって取得された周辺情報とを合成して、検出精度の高い前方の周辺情報を生成する合成処理部(図示略)を設け、この合成処理部で生成された周辺情報を、自車両の前方の周辺情報として運転支援ECU10に供給するようにするとよい。
運転支援ECU10には、ブザー13が接続されている。ブザー13は、運転支援ECU10からのブザー鳴動信号を入力して鳴動する。運転支援ECU10は、ドライバーに対して運転支援状況を知らせる場合、および、ドライバーに対して注意を促す場合等においてブザー13を鳴動させる。
尚、ブザー13は、本実施形態においては、運転支援ECU10に接続されているが、他のECU、例えば、報知専用に設けられた報知ECU(図示略)に接続され、報知ECUによって鳴動されるように構成されていてもよい。この場合、運転支援ECU10は、報知ECUに対して、ブザー鳴動指令を送信する。
また、ブザー13に代えて、あるいは、加えて、ドライバーに注意喚起用の振動を伝えるバイブレータを設けてもよい。例えば、バイブレータは、操舵ハンドルに設けられ、操舵ハンドルを振動させることにより、ドライバーに注意を促す。
運転支援ECU10は、周辺センサ11から供給された周辺情報、カメラセンサ12の白線認識に基づいて得られた車線情報、車両状態センサ80にて検出された車両状態、および、運転操作状態センサ90にて検出された運転操作状態等に基づいて、車線変更支援制御、車線維持支援制御、および、追従車間距離制御を実施する。
運転支援ECU10には、ドライバーによって操作される設定操作器14が接続されている。設定操作器14は、車線変更支援制御、車線維持支援制御、および、追従車間距離制御のそれぞれについて実施するか否かについての設定等を行うための操作器である。運転支援ECU10は、設定操作器14の設定信号を入力して、各制御の実施の有無を決定する。この場合、追従車間距離制御の実施が選択されていない場合は、車線変更支援制御および車線維持支援制御についても実施されないように自動設定される。また、車線維持支援制御の実施が選択されていない場合は、車線変更支援制御についても実施されないように自動設定される。
また、設定操作器14は、上記制御を実施するにあたって、ドライバーの好みを表すパラメータ等を入力する機能も備えている。
電動パワーステアリング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からの操舵指令によってステアリング機構に付与されるトルクを表す。
メータECU30は、表示器31、および、左右のウインカー32(ウインカーランプを意味する。ターンランプと呼ばれることもある)に接続されている。表示器31は、例えば、運転席の正面に設けられたマルチインフォーメーションディスプレイであって、車速等のメータ類の計測値の表示に加えて、各種の情報を表示する。例えば、メータECU30は、運転支援ECU10から運転支援状態に応じた表示指令を受信すると、その表示指令で指定された画面を表示器31に表示させる。尚、表示器31としては、マルチインフォーメーションディスプレイに代えて、あるいは、加えて、ヘッドアップディスプレイ(図示略)を採用することもできる。ヘッドアップディスプレイを採用する場合には、ヘッドアップディスプレイの表示を制御する専用のECUを設けるとよい。
また、メータ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に戻り、第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の操作状態を検出し、ウインカーレバー41が、第1ストローク位置P1L(P1R)に倒されている状態、および、第2ストローク位置P2L(P2R)に倒されている状態のそれぞれにおいて、その操作方向(左右)を表す情報を含めたウインカー点滅指令をメータECU30に対して送信する。
また、ステアリングECU40は、ウインカーレバー41が、第1ストローク位置P1L(P1R)に、予め設定された設定時間(車線変更要求確定時間:例えば、1秒)以上継続して保持されたことを検出した場合、運転支援ECU10に対して、その操作方向(左右)を表す情報を含めた車線変更支援要求信号を出力する。従って、ドライバーは、運転中に、車線変更支援を受けたい場合には、ウインカーレバー41を、車線変更方向の第1ストローク位置P1L(P1R)に倒して、設定時間以上保持すればよい。こうした操作を車線変更支援要求操作と呼ぶ。
尚、本実施形態においては、ドライバーが車線変更支援を要求する操作器としてウインカーレバー41を兼用しているが、それに代えて、専用の車線変更支援要求操作器を操舵ハンドル等に設けてもよい。
エンジン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に記憶されている地図情報には、道路情報が含まれている。道路情報には、その道路の位置および形状を示すパラメータ(例えば、道路の曲率半径又は曲率、道路の車線幅、車線数、各車線の中心ラインCLの位置など)が含まれている。また、道路情報には、自動車専用道路であるか否かを区別することができる道路種別情報等も含まれている。
<運転支援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*が設定される。また、車線中心ラインCLが右方向にカーブしている場合、自車両が車線中心ラインCLに対して左方向に横ずれが発生している場合、および、自車両が車線中心ラインCLに対して左方向に向いている場合には、右方向の目標舵角θlta*が設定される。従って、上記式(1)を演算する場合、左右方向に応じた符号を使って演算すればよい。
運転支援ECU10は、演算結果である目標舵角θlta*を表す指令信号をEPS・ECU20に出力する。EPS・ECU20は、舵角が目標舵角θlta*に追従するように転舵用モータ22を駆動制御する。尚、本実施形態においては、運転支援ECU10は、目標舵角θlta*を表す指令信号をEPS・ECU20に出力するが、目標舵角θlta*が得られる目標トルクを演算して、演算結果である目標トルクを表す指令信号をEPS・ECU20に出力してもよい。
以上が、LTAの概要である。
<追従車間距離制御(ACC)>
追従車間距離制御は、周辺情報に基づいて、自車両の前方を走行している先行車が存在する場合には、その先行車と自車両との車間距離を所定の距離に維持しながら、自車両を先行車に追従させ、先行車が存在しない場合には、自車両を設定車速にて定速走行させる制御である。以下、追従車間距離制御をACC(アダプティブ・クルーズ・コントロール)と呼ぶ。ACC自体は周知である(例えば、特開2014−148293号公報、特開2006−315491号公報、特許第4172434号明細書、及び、特許第4929777号明細書等を参照。)。従って、以下、簡単に説明する。
運転支援ECU10は、設定操作器14の操作によってACCが要求されている場合、ACCを実行する。運転支援ECU10は、ACCが要求されている場合、周辺センサ11から供給される周辺情報に基づいて追従対象車両を選択する。例えば、運転支援ECU10は、予め定められた追従対象車両エリア内に他車両が存在するか否かを判定する。
運転支援ECU10は、他車両が追従対象車両エリア内に所定時間以上に渡って存在する場合には、その他車両を追従対象車両として選択し、自車両が追従対象車両を追従するように目標加速度を設定する。また、運転支援ECU10は、追従対象車両エリア内に他車両が存在しない場合には、自車両の車速が設定車速に一致するように、設定車速と検出車速(車速センサによって検出される車速)とに基づいて目標加速度を設定する。
運転支援ECU10は、自車両の加速度が目標加速度に一致するように、エンジンECU50を用いてエンジンアクチュエータ51を制御するとともに、必要に応じてブレーキECU60を用いてブレーキアクチュエータ61を制御する。
尚、ACC中にドライバーによるアクセル操作が行われた場合、アクセル操作が優先されて自車両の加速度が設定される。
以上が、ACCの概要である。
<車線変更支援制御(LCA)>
車線変更支援制御は、自車両の周囲を監視して安全に車線変更が可能であると判定された後に、自車両の周囲を監視しつつ、自車両が現在走行している車線から隣接する車線に移動するように操舵トルクをステアリング機構に付与して、ドライバーの操舵操作(車線変更操作)を支援する制御である。従って、車線変更支援制御によれば、ドライバーの操舵操作(ハンドル操作)を必要とせずに、自車両の走行する車線を変更することができる。以下、車線変更支援制御をLCA(レーン・チェンジ・アシスト)と呼ぶ。
LCAは、LTAと同様に自車両の車線に対する横位置の制御であり、LTAおよびACCの実施中に車線変更支援要求が受け付けられた場合に、LTAに代わって実施される。以下、LTAとLCAとをあわせて操舵支援制御と総称し、操舵支援制御の状態を操舵支援制御状態と呼ぶ。
図5は、運転支援ECU10の実施する操舵支援制御ルーチンを表す。操舵支援制御ルーチンは、LTAを実施許可条件が成立している場合に実施される。LTA実施許可条件は、設定操作器14によってLTAの実施が選択されていること、ACCが実施されていること、カメラセンサ12によって白線を認識できていること、などである。
運転支援ECU10は、操舵支援制御ルーチンを開始すると、ステップS11において、操舵支援制御状態をLTA・ON状態に設定する。LTA・ON状態とは、LTAが実施される制御状態を表す。
続いて、運転支援ECU10は、ステップS12において、LCA開始条件が成立したか否かについて判定する。
LCA開始条件は、例えば、以下の条件が全て成立した場合に成立する。
1.車線変更支援要求操作が検出されること。
2.設定操作器14によってLCAの実施が選択されていること。
3.ウインカー操作方向の白線(元車線と目標車線との境界となる白線)が破線であること。
4.周辺監視のLCA実施可否判定結果が可であること(周辺センサ11によって、車線変更に障害となる障害物(他車両等)が検出されていなく、安全に車線変更ができると判定されていること)。
5.道路が自動車専用道路であること(ナビゲーションECU70から取得した道路種別情報が自動車専用道路を表していること)。
6.自車両の車速がLCAの許可されるLCA許可車速範囲に入っていること。
例えば、条件4は、自車両と目標車線を走行する他車両との相対速度を考慮した両者の車間距離が適正に確保されている場合に成立する。
尚、LCA開始条件は、こうした条件に限るものでは無く、任意に設定することができる。
運転支援ECU10は、LCA開始条件が成立しない場合には、その処理をステップS11に戻してLTAの実施を継続させる。
LTAが実施されている最中に、LCA開始条件が成立すると(S12:Yes)、運転支援ECU10は、LTAに代えてLCAを実施する。運転支援ECU10は、LCAの開始時において、メータECU30に対して、LCAの開始案内表示指令を送信する。これにより表示器31にLCAの開始案内が表示される。
運転支援ECU10は、LCAの開始にあたって、まず、ステップS13において目標軌道演算パラメータの初期化処理を実施する。ここで、LCAの目標軌道について説明する。
運転支援ECU10は、LCAを実施する場合に、自車両の目標軌道を決める目標軌道関数を演算する。目標軌道は、目標車線変更時間をかけて、自車両を、現在走行している車線(元車線と呼ぶ)から、元車線に隣接する車線変更支援要求方向の車線(目標車線と呼ぶ)の幅方向中心位置(最終目標横位置と呼ぶ)にまで移動させる軌道であり、例えば、図6に示すような形状となる。
目標軌道関数は、後述するように、元車線の車線中心ラインCLを基準として、LCAの開始時点からの経過時間を変数として、経過時間に対応する自車両の目標横位置を算出する関数である。ここで、自車両の横位置とは、車線中心ラインCLを基準とした、車線幅方向(横方向と呼ぶこともある)における自車両の重心位置を表す。
目標車線変更時間は、自車両をLCAの開始位置である初期位置から最終目標横位置にまで横方向に移動させる距離(以下、必要横距離と呼ぶ)に比例して可変設定される。車線幅が一般的な3.5mである場合には、目標車線変更時間は、例えば、8.0秒に設定される。この例は、LCAの開始時における自車両が元車線の車線中心ラインCLに位置している場合である。車線幅が、例えば、4.0mであれば、目標車線変更時間は、車線幅に応じた値、この例では、9.1秒(=8.0×4.0/3.5)に設定される。
また、目標車線変更時間は、LCAの開始時における自車両の横位置が元車線の車線中心ラインCLよりも車線変更側にずれている場合には、そのずれ量(横偏差Dy)が多いほど減少するように設定される。逆に、LCAの開始時における自車両の横位置が元車線の車線中心ラインCLよりも反車線変更側にずれている場合には、目標車線変更時間は、そのずれ量(横偏差Dy)が多いほど増加するように設定される。例えば、ずれ量が0.5mであれば、目標車線変更時間の増減調整量は1.14秒(=8.0×0.5/3.5)とすればよい。尚、ここで示した目標車線変更時間を設定するための値は、あくまでも一例であって、任意に設定された値を採用することができる。
本実施形態においては、目標横位置yは、次式(2)に示す目標軌道関数y(t)によって演算される。この目標軌道関数y(t)は、経過時間tを変数とした5次関数である。
y(t)=c0+c1・t+c2・t2+c3・t3+c4・t4+c5・t5
・・・(2)
この目標軌道関数y(t)は、自車両を最終目標位置にまで滑らかに移動させるような、関数に設定される。
ここで、係数c0,c1,c2,c3,c4,c5は、LCA開始時の自車両の状態(初期横状態量)と、LCA完了時における自車両の目標状態(最終目標横状態量)とによって決定される。
例えば、目標軌道関数y(t)は、図7に示すように、現時点における自車両Cの走行している車線(元車線)の車線中心ラインCLを基準として、LCAの開始時点(目標軌道の演算時点)からの経過時間t(現在時刻tと呼ぶこともある)に対応する自車両Cの目標横位置y(t)を算出する関数である。図7では、車線が直線に形成されているが、図8に示すように、車線が曲線に形成されている場合には、目標軌道関数y(t)は、曲線に形成された車線中心ラインCLを基準として、車線中心ラインCLに対する自車両の目標横位置を算出する関数である。
この目標軌道関数y(t)の係数c0,c1,c2,c3,c4,c5を決定するパラメータが、目標軌道演算パラメータである。目標軌道演算パラメータは、以下の7つ(P1〜P7)である。
P1.LCAを開始するときの元車線の車線中心ラインに対する自車両の横位置(初期横位置と呼ぶ)。
P2.LCAを開始するときの自車両の横方向の速度(初期横速度と呼ぶ)。
P3.LCAを開始するときの自車両の横方向の加速度(初期横加速度と呼ぶ)。
P4.LCAを完了するときの元車線の車線中心ラインに対する自車両の目標横位置(最終目標横位置と呼ぶ)。
P5.LCAを完了するときの自車両の横方向の目標速度(最終目標横速度と呼ぶ)。
P6.LCAを完了するときの自車両の横方向の目標加速度(最終目標横加速度と呼ぶ)。
P7.LCAを実施する目標時間である目標車線変更時間。
横方向とは、車線の幅方向を表す。
初期横位置は、LCA開始時におけるカメラセンサ12によって検出された横偏差Dyに等しい値に設定される。また、初期横速度は、LCA開始時における車速センサによって検出される車速vに、カメラセンサ12によって検出されたヨー角θyの正弦値(sin(θy))を乗算した値(v・sin(θy))に設定される。また、初期横加速度は、上記の初期横速度の微分値に設定してもよいが、好ましくは、LCA開始時におけるヨーレートセンサによって検出されるヨーレートγ(rad/s)に車速vを乗算した値(v・γ)に設定するとよい。ヨーレートセンサを用いた場合には、カメラセンサ12を用いる場合に比べて、自車両の挙動の変化を素早く検出できるからである。この初期横位置、初期横速度、および、初期横加速度をまとめて初期横状態量と総称する。
また、本実施形態においては、目標車線の車線幅を、カメラセンサ12によって検出されている元車線の車線幅と同様であるとみなす。従って、最終目標横位置は、元車線の車線幅と同じ値に設定される(最終目標横位置=元車線の車線幅)。また、最終目標横速度および最終目標横加速度は、ともに、その値がゼロに設定される。この最終目標横位置、最終目標横速度、および、最終目標横加速度をまとめて最終目標横状態量と総称する。
目標車線変更時間は、上述したように、車線幅(元車線の車線幅でよい)、および、LCA開始時における自車両の横方向ずれ量によって算出される。
例えば、目標車線変更時間tlenは、次式(3)によって演算される。
tlen=Dini・A・・・(3)
ここでDiniは、自車両をLCA開始位置(初期横位置)からLCA完了位置(最終目標横位置)にまで横方向に移動させる必要距離である。従って、LCA開始時に自車両が元車線の車線中心ラインCLに位置していれば、Diniは、車線幅と等しい値に設定され、自車両が元車線の車線中心ラインCLからずれている場合には、そのずれ量が車線幅に加減調整された値となる。Aは、自車両を単位距離だけ横方向に移動させるのに費やす目標時間を表す定数であって、例えば、(8sec/3.5m=2.29sec/m)に設定されている。この例では、例えば、自車両を横方向に移動させる必要距離Diniが3.5mの場合、目標車線変更時間tlenは、8秒に設定される。以下、この定数Aを目標時間定数Aと呼ぶ。
尚、目標時間定数Aは、上記の値に限るものでは無く、任意に設定することができるものである。また、例えば、設定操作器14を使って、ドライバーの好みによって目標時間定数Aを複数通りに選択できるようにしてもよい。また、目標車線変更時間は、固定値であってもよい。
ステップS13における目標軌道演算パラメータの初期化処理とは、この7つのパラメータ(初期横位置、初期横速度、初期横加速度、最終目標横位置、最終目標横速度、最終目標横加速度、目標車線変更時間)を上述のように設定する処理である。
運転支援ECU10は、ステップS13において目標軌道演算パラメータの初期化処理を実施すると、続いて、ステップS14において、目標軌道関数の導出処理を実施する。具体的には、運転支援ECU10は、初期横状態量と最終目標横状態量と目標車線変更時間とに基づいて、式(2)で表される目標軌道関数y(t)の係数c0,c1,c2,c3,c4,c5を算出して、目標軌道関数y(t)を確定させる。
上記式(2)で表される目標軌道関数y(t)から、自車両の横速度y’(t)は次式(4)にて表すことができ、自車両の横加速度y’’(t)は次式(5)にて表すことができる。
y’(t)=c1+2c2・t+3c3・t2+4c4・t3+5c5・t4
・・・(4)
y’’(t)=2c2+6c3・t+12c4・t2+20c5・t3
・・・(5)
ここで、初期横位置をy0、初期横速度をvy0、初期横加速度をay0とし、最終目標横位置をy1、最終目標横速度をvy1、最終目標横速度をay1、元車線の車線幅をWとすると、上記の目標軌道演算パラメータに基づいて、以下の関係式が得られる。
y(0)=c0= y0 ・・・(6)
y’(0)=c1=vy0 ・・・(7)
y’’(0)=2c2=ay0 ・・・(8)
y(tlen)=c0+c1・tlen+c2・tlen2+c3・tlen3
+c4・tlen4+c5・tlen5=y1=W ・・・(9)
y’(tlen)=c1+2c2・tlen+3c3・tlen2
+4c4・tlen3+5c5・tlen4=vy1=0 ・・・(10)
y’’(tlen)=2c2+6c3・tlen+12c4・tlen2
+20c5・tlen3=ay1=0 ・・・(11)
従って、この6つの式(6)〜(11)から、目標軌道関数y(t)の係数c0,c1,c2,c3,c4,c5の値を算出することができる。そして、算出された係数c0,c1,c2,c3,c4,c5の値を式(2)に代入することで、目標軌道関数y(t)が算出される。また、運転支援ECU10は、この目標軌道関数y(t)の算出と同時に、計時タイマ(初期値:ゼロ)を起動してLCA開始からの経過時間tのカウントアップを開始する。
続いて、運転支援ECU10は、ステップS15において、現時点における自車両の目標横状態量を演算する。目標横状態量は、自車両の車線幅方向の横位置の目標値である目標横位置と、自車両の車線幅方向の速度(横速度)の目標値である目標横速度と、自車両の車線幅方向の加速度(横加速度)の目標値である目標横加速度とを表す。横速度および横加速度をまとめて横運動状態量と総称し、目標横速度および目標横加速度をまとめて目標横運動状態量と総称することもある。
この場合、運転支援ECU10は、ステップS14にて確定させた目標軌道関数y(t)と、現在時刻tとに基づいて、現時点における目標横位置、目標横速度、および、目標横加速度を演算する。現在時刻tは、ステップS14において目標軌道関数y(t)を確定させた後の経過時間であり、後述する処理から分かるように、LCAの開始からの経過時間と同等である。運転支援ECU10は、ステップS14において、目標軌道関数y(t)を算出すると、計時タイマをリセットしてLCA開始からの経過時間t(=現在時刻t)のカウントアップを開始する。目標横位置は、目標軌道関数y(t)に現在時刻tを代入して算出され、目標横速度は、目標軌道関数y(t)を一階微分した関数y’(t)に現在時刻tを代入して算出され、目標横加速度は、目標軌道関数y(t)を二階微分した関数y’’(t)に現在時刻tを代入して算出される。運転支援ECU10は、タイマによって計測された経過時間tを読み込み、この計測時間tと上記関数とに基づいて、目標横状態量を演算する。
以下、現在時刻における目標横位置をy*、現在時刻における目標横速度をvy*、現在時刻における目標横加速度をav*として表す。尚、ステップS15において目標横位置y*、目標横速度vy*、および、目標横加速度av*を演算する運転支援ECU10の機能部が、本発明における目標横状態量演算手段に相当する。
続いて、運転支援ECU10は、ステップS16において、自車両の向きを変える運動に関する目標値である目標ヨー状態量を演算する。目標ヨー状態量は、現時点における、自車両の目標ヨー角θy*、自車両の目標ヨーレートγ*、および、目標曲率Cu*を表す。目標曲率Cu*は、自車両を車線変更させる目標軌道の曲率、つまり、車線のカーブ曲率を含めない車線変更に係るカーブ成分の曲率である。
運転支援ECU10は、ステップS16において、現時点における車速v(車速センサにて検出されている現在車速)を読み込むとともに、この車速vと、ステップS15にて算出した目標横速度vy*、目標横加速度ay*とに基づいて、以下の式(12),(13),(14)を使って、現時点における目標ヨー角θy*、目標ヨーレートγ*、および、目標曲率Cu*を演算する。
θy*=sin-1(vy*/v) ・・・(12)
γ*=ay*/v ・・・(13)
Cu*=ay*/v2 ・・・(14)
目標ヨー角θy*は、目標横速度vy*を車速vで除算した値を逆正弦関数に代入して算出される。また、目標ヨーレートγ*は、目標横加速度ay*を車速vで除算して算出される。また、目標曲率Cu*は、目標横加速度ay*を車速vの二乗値で除算して算出される。この目標ヨー角θy*、目標ヨーレートγ*、および、目標曲率Cu*を演算する運転支援ECU10の機能部が、本発明の目標ヨー状態量演算手段に相当する。
続いて、運転支援ECU10は、ステップS17において、LCAの目標制御量を演算する。本実施形態においては、目標制御量として目標舵角θlca*を演算する。目標舵角θlca*は、ステップS15において演算した目標横位置y*、ステップS16において演算した目標ヨー角θy*、目標ヨーレートγ*、目標曲率Cu*、および、曲率Cuに基づいて次式(15)にて算出される。
θlca*=Klca1・(Cu*+Cu)+Klca2・(θy*−θy)+Klca3・(y*−y)
+Klca4・(γ*−γ)+Klca5・Σ(y*−y) …(15)
ここで、Klca1,Klca2,Klca3,Klca4,Klca5は制御ゲインである。Cuは、カメラセンサ12によって検出されている現時点(演算時)における曲率である。yは、カメラセンサ12によって検出されている現時点(演算時)における横位置、つまり、Dyに相当する。θyは、カメラセンサ12によって検出されている現時点(演算時)におけるヨー角である。また、γは、ヨーレートセンサによって検出される現時点における自車両のヨーレートを表す。制御ゲインKlca1は、車速に応じて可変設定されてもよい。尚、γは、ヨー角θyの微分値を用いることもできる。
右辺第1項は、目標曲率Cu*と曲率Cu(車線のカーブ曲率)との加算値に応じて決定されるフィードフォワード的に働く舵角成分である。Klca1・Cu*は、車線変更を行うためのフィードフォワード制御量であり、Klca1・Cuは、自車両を車線のカーブに沿って走行させるためのフィードフォワード制御量である。右辺第2項は、目標ヨー角θy*と実ヨー角θyとの偏差を小さくするようにフィードバック的に働く舵角成分である。右辺第3項は、目標横位置y*と実横位置yとの偏差を小さくするようにフィードバック的に働く舵角成分である。右辺第4項は、目標ヨーレートγ*と実ヨーレートγとの偏差を小さくするようにフィードバック的に働く舵角成分である。右辺第5項は、目標横位置y*と実横位置yとの偏差の積分値Σ(y*−y)を小さくするようにフィードバック的に働く舵角成分である。従って、右辺第1項がフィードフォワード制御量を表し、右辺第2項〜5項がフィードバック制御量を表す。
目標舵角θlca*は、上記の5つの舵角成分にて演算されるものに限るわけでなく、そのうちの任意の舵角成分のみを使用して演算されてもよいし、他の舵角成分を追加するなどして演算されるようにしてもよい。例えば、ヨー運動に関するフィードバック制御量については、ヨー角の偏差あるいはヨーレートの偏差の何れか一方を用いるようにしてもよい。また、目標横位置y*と実横位置yとの偏差の積分値Σ(y*−y)を用いたフィードバック制御量については、省略することもできる。
運転支援ECU10は、ステップS17において、目標制御量を演算すると、続くステップS18において、目標制御量を表す操舵指令をEPS・ECU20に送信する。本実施形態においては、運転支援ECU10は、目標制御量として目標舵角θlca*を演算するが、目標舵角θlca*が得られる目標トルクを演算して、この目標トルクを表す操舵指令をEPS・ECU20に送信してもよい。
EPS・ECU20は、CAN100を介して運転支援ECU10から操舵指令を受信すると、舵角が目標舵角θlca*に追従するように転舵用モータ22を駆動制御する。
続いて、運転支援ECU10は、ステップS19において、ドライバーによって車線変更方向への操舵操作が行われたか否かについて判定する。例えば、LCAが右方向の車線変更支援を行っている場合には、右方向へのハンドル回動操作が行われたか否かについて判定され、LCAが左方向の車線変更支援を行っている場合には、左方向へのハンドル回動操作が行われたか否かについて判定される。このステップS19の判定は、ドライバーによる操舵操作が開始され、その操舵操作が終了したと判定されたときに、ドライバーによって操舵操作が行われたと判定する処理である。従って、1回の操舵操作が終了したと判定される時点において、ステップS19の判定は、「Yes」となる。
運転支援ECU10は、ドライバーによって車線変更方向への操舵操作が行われていないと判定した場合には、その処理をステップS20に進める。
運転支援ECU10は、ステップS20において、LCA完了条件が成立したか否かについて判定する。本実施形態においては、LCA完了条件は、自車両の横位置yが最終目標横位置y*に到達したときに成立する。運転支援ECU10は、LCA完了条件が成立していない場合(S20:No)、その処理をステップS15に戻して、上述した処理を繰り返す。従って、運転支援ECU10は、ステップS15〜ステップS20の処理を所定の演算周期で繰り返し実施する。これにより、経過時間tに応じた目標横状態量(y*、vy*、ay*)が演算され、その演算された目標横状態量(y*、vy*、ay*)に応じて目標ヨー状態量(θy*、γ*、Cu*)が演算され、その演算された目標ヨー状態量(θy*、γ*、Cu*)に基づいて目標制御量(θlca*)が演算される。
そして、目標制御量(θlca*)が演算される都度、目標制御量(θlca*)を表す操舵指令がEPS・ECU20に送信される。こうして、自車両は、目標軌道に沿って走行する。
運転支援ECU10は、ステップS20において、LCA完了条件が成立したと判定した場合、ステップS21において、操舵支援制御状態をLTA・ON状態に設定する。つまり、LCAを終了して、LTAを再開する。これにより、自車両は、目標車線における車線中央ラインに沿って走行するように操舵制御が行われる。
尚、運転支援ECU10には、自車両が走行している車線にかかる車線関連車両情報(Cu、Dy、θy)がカメラセンサ12から供給される。従って、自車両の走行位置が元車線から目標車線に切り替わると、カメラセンサ12から運転支援ECU10に供給される車線関連車両情報(Cu、Dy、θy)は、元車線にかかる車線関連車両情報(Cu、Dy、θy)から目標車線にかかる車線関連車両情報(Cu、Dy、θy)に切り替わる。自車両の位置する車線が切り替わった場合には、横偏差Dyの符号が反転する。そこで、運転支援ECU10は、カメラセンサ12が出力する横偏差Dyの符号(正負)が切り替わったことを検出すると、目標軌道関数y(t)を元車線の車線幅Wだけオフセットさせる。これにより、元車線の車線中心ラインCLを原点として演算された目標軌道関数y(t)を、目標車線の車線中心ラインCLを原点とした目標軌道関数y(t)に変換することができる。
LCAの実施中に、ドライバーによって車線変更方向への操舵操作が行われたと判定された場合(S19:Yes)、運転支援ECU10は、その処理をステップS22に進める。
ここで、ステップS19の操舵操作の判定処理について、具体的に説明する。運転支援ECU10は、操舵支援制御ルーチンと並行して図9に示す操舵操作判定ルーチンを実施する。運転支援ECU10は、所定の演算周期で操舵操作判定ルーチンを繰り返し実施する。運転支援ECU10は、まず、ステップS191において、操舵開始フラグFがゼロであるか否かについて判定する。
運転支援ECU10は、操舵開始フラグFがゼロである場合、ステップS192において、操舵トルクセンサにより検出される操舵トルクTrが第1閾値Tr1以上であるか否かについて判定する。この第1閾値Tr1は、操舵操作の開始を判定するための閾値である。尚、操舵トルクTrが車線変更方向と反対方向のトルクである場合には、運転支援ECU10は、ステップS192において常に「No」と判定する。また、操舵トルクの比較については、その絶対値が用いられる。
運転支援ECU10は、操舵トルクTrが第1閾値Tr1未満である場合(S192:No)には、操舵操作判定ルーチンを一旦終了する。運転支援ECU10は、操舵操作判定ルーチンを所定の演算周期で繰り返す。こうした処理が繰り返され、操舵トルクTrが第1閾値Tr1以上に達すると(S192:Yes)、運転支援ECU10は、ドライバーが車線変更方向に操舵操作を開始したと判定して、ステップS193において、操舵開始フラグFを値「1」に設定(F=1)した後、操舵操作判定ルーチンを一旦終了する。
操舵開始フラグFが値「1」に設定された場合には、その後、ステップS191の判定は「No」となる。この場合、運転支援ECU10は、ステップS194において、操舵トルクセンサにより検出される操舵トルクTrが第2閾値Tr2以下であるか否かについて判定する。この第2閾値Tr2は、車線変更方向の操舵操作の終了を判定するための閾値であり、第1閾値Tr1よりも小さな値に設定されている。
運転支援ECU10は、操舵トルクTrが第2閾値Tr2以下にまで低下していない場合(S194:No)は、操舵操作判定ルーチンを一旦終了する。こうした処理が所定の演算周期にて繰り返され、操舵トルクTrが第2閾値Tr2以下にまで低下すると(S194:Yes)、運転支援ECU10は、ドライバーの操舵操作が終了したとみなして、ステップS195において、ドライバーによって車線変更方向への操舵操作が行われたと判定する。
運転支援ECU10は、ステップS195において、ドライバーによって車線変更方向への操舵操作が行われたと判定すると、ステップS196において、操舵開始フラグFをリセット(F=0)して、操舵操作判定ルーチンを一旦終了する。
運転支援ECU10は、ステップS195において、ドライバーによって車線変更方向への操舵操作が行われたと判定したときに、操舵支援制御ルーチンのステップS19において「Yes」、つまり、車線変更方向の操舵操作が行われたと判定する。この操舵操作の判定処理によれば、ドライバーによって操舵操作が行われたことを簡単に判定することができる。
尚、ドライバーが操舵操作をしている途中で(例えば、カーブ走行中)LCAが開始されるケースも考えられる。その場合には、LCAの開始後、ドライバーの操舵操作の終了が検出されたときに、ドライバーによる操舵操作が行われたと判定される。従って、ドライバーの操舵操作が行われたことの判定は、必ずしも、LCAの開始後にドライバーの操舵操作の開始が検出される必要は無く、LCAの実施中に、操舵操作の終了が検出されればよい。
説明を操舵支援制御ルーチン(図5)に戻す。運転支援ECU10は、ドライバーによって操舵操作が行われたと判定すると(S19:Yes)、ステップS22において、目標軌道演算パラメータの再初期化処理を実施する。このステップS22においては、現在時刻t(ドライバーによって操舵操作が行われたと判定された時刻:操舵判定時刻と呼ぶ)における目標軌道演算パラメータの再計算が行われる。この目標軌道演算パラメータは、以下の7つ(P11〜P17)である。
P11.操舵判定時刻における車線中心ラインに対する自車両の横位置(操舵操作時横位置と呼ぶ)。
P12.操舵判定時刻における自車両の横方向の速度(操舵操作時横速度と呼ぶ)。
P13.操舵判定時刻における自車両の横方向の加速度(操舵操作時横加速度と呼ぶ)。
P14.LCAを完了するときの車線中心ラインに対する自車両の目標横位置(最終目標横位置)。
P15.LCAを完了するときの自車両の横方向の目標速度(最終目標横速度)。
P16.LCAを完了するときの自車両の横方向の目標加速度(最終目標横加速度)。
P17.LCAを完了するまでの目標残時間(目標車線変更残時間と呼ぶ)によって修正される目標車線変更時間。
目標軌道演算パラメータP11の操舵操作時横位置、目標軌道演算パラメータP12の操舵操作時横速度、および、目標軌道演算パラメータP13の操舵操作時横加速度は、実際の検出値が用いられる。例えば、目標軌道演算パラメータP11の操舵操作時横位置は、操舵判定時刻におけるカメラセンサ12によって検出された横偏差Dyに等しい値に設定される。また、目標軌道演算パラメータP12の操舵操作時横速度は、操舵判定時刻における車速センサによって検出される車速vに、カメラセンサ12によって検出されたヨー角θyの正弦値(sin(θy))を乗算した値(v・sin(θy))に設定される。また、目標軌道演算パラメータP13の操舵操作時横加速度は、上記の操舵操作時横速度の微分値に設定してもよいが、好ましくは、操舵判定時刻におけるヨーレートセンサによって検出されるヨーレートγ(rad/s)に車速vを乗算した値(v・γ)に設定するとよい。
尚、自車両が元車線に存在している場合には、元車線の車線中心ラインCLを基準とした横偏差Dyおよびヨー角θyが検出され、自車両が目標車線に存在している場合には、目標車線の車線中心ラインCLを基準とした横偏差Dyおよびヨー角θyが検出される。
この操舵操作時横速度および操舵操作時横加速度をまとめて操舵操作時横運動状態量と総称し、操舵操作時横位置および操舵操作時横運動状態量をまとめて操舵操作時横状態量と総称する。
目標軌道演算パラメータP14の最終目標横位置は、目標車線の車線中心ラインCL上の位置である。また、目標軌道演算パラメータP15の最終目標横速度、および、目標軌道演算パラメータP16の最終目標横加速度は、ともにゼロに設定される。
また、目標軌道演算パラメータP17にかかる目標車線変更残時間(trest*にて表す)は、操舵判定時刻におけるLCAを完了させるために必要となる自車両を車線幅方向に移動させる残距離(Drestにて表す)と目標時間定数Aとに基づいて算出される。残距離Drestは、操舵判定時刻においてカメラセンサ12にて検出された横偏差Dyで特定される横位置から最終目標横位置までの車線幅方向の距離を表す。
目標車線変更残時間trest*は、次式(16)によって演算される。
trest*=Drest・A ・・・(16)
運転支援ECU10は、操舵判定時刻(tstにて表す)と目標車線変更残時間trest*とに基づいて目標車線変更時間tlenを修正する。ここで、LCAの開始(t=0)から操舵判定時刻(tst)までの経過時間をtstとすると、目標車線変更時間tlenは、次式(17)にて再設定される。
tlen=tst+trest* ・・・(17)
運転支援ECU10は、ステップS22において目標軌道演算パラメータの再初期化処理を実施すると、続いて、ステップS23において、目標軌道関数の再演算処理を実施する。具体的には、運転支援ECU10は、ステップS22において設定した操舵操作時横状態量と最終目標横状態量と目標車線変更時間とに基づいて、式(2)で表される目標軌道関数y(t)の係数c0,c1,c2,c3,c4,c5を算出して、目標軌道関数y(t)を確定させる。
例えば、操舵操作時横位置をyst、操舵操作時横速度をvyst、操舵操作時横加速度をaystと表した場合には、目標軌道演算パラメータの再初期化処理による条件、つまり、y(tst)=yst、y’(tst)=vyst,y’’(tst)=ayst,y(tlen)=W,y’(tlen)=0,y’’(tlen)=0という条件から上記の係数c0,c1,c2,c3,c4,c5を算出することができる。これにより、自車両を、操舵操作時横状態から最終目標横状態に滑らかに推移させる目標軌道関数y(t)が設定される。尚、操舵判定時刻において、自車両が目標車線に存在している場合には、操舵操作時横位置ystは、目標車線の車線中心ラインCLを基準とした横位置が用いられる。従って、この場合、y(tlen)の値は、車線幅Wに代えて値「0」に設定される(y(tlen)=0)。
運転支援ECU10は、目標軌道関数y(t)の再演算が完了すると、その処理をステップS15に進めて上述した処理を繰り返す。こうして、自車両は、新たに生成された目標軌道に沿って走行する。
運転支援ECU10は、ステップS20において、LCA完了条件が成立したと判定した場合、ステップS21において、操舵支援制御状態をLTA・ON状態に設定する。つまり、LCAを終了して、LTAを再開する。これにより、自車両は、目標車線における車線中心ラインCLに沿って走行するように操舵制御が行われる。運転支援ECU10は、操舵支援制御状態をLTA・ON状態に設定すると、その処理をステップS11に進めて同様の処理を繰り返す。
尚、運転支援ECU10は、LCAを実施している期間において、メータECU30に対して、ウインカー操作方向のウインカー32の点滅指令の送信を開始する。ウインカー32は、LCAが開始される前から、ウインカーレバー41の第1ストローク位置P1L(P1R)への操作に伴ってステアリングECU40から送信される点滅指令によって点滅するが、ステアリングECU40から送信される点滅指令が停止されても、運転支援ECU10からの点滅指令によって、そのまま点滅を継続する。この場合、ウインカー32の点滅終了タイミングは、LCAの完了タイミングと同じでもよいし、それよりも前であってもよい。例えば、自車両が、最終目標位置よりも予め設定された消灯許可距離(例えば、50cm)だけ手前の横位置に到達した時に、ウインカーの点滅を終了させてもよい。
以上説明した本実施形態の車線変更支援装置によれば、LCAの開始に際して目標軌道関数が演算され、その目標軌道関数によって設定される目標軌道に沿って自車両が走行するように(経過時間に応じた目標横状態が得られるように)操舵角が制御される。そして、LCA中にドライバーによって車線変更方向の操舵操作が行われたと判定された時、その時の、自車両の横状態量(操舵操作時横状態量)に基づいて、再度、目標軌道関数が演算される。これにより、ドライバーの操舵操作によって変化した自車両の挙動に応じた適正な目標軌道関数を演算することができる。従って、この適正に演算された目標軌道関数に基づいて操作輪の操舵が制御されることによって、自車両をドライバーの操舵操作の意図を反映させた目標軌道にて車線変更させることができる。
また、目標軌道関数を再演算するに際して、LCAを完了させるために必要となる残距離Drestに基づいて目標車線変更残時間trest*が設定され、この目標車線変更残時間trest*に基づいて、目標車線変更時間がtlenが補正される。従って、一層、ドライバーの操舵操作の意図を反映させた目標軌道にて自車両を車線変更させることができる。
また、本実施形態においては、LCAを実施するに際して、初期横位置、初期横速度、初期横加速度、最終目標横位置、最終目標横速度、最終目標横加速度、および、目標車線変更時間に基づいて、目標軌道関数y(t)が演算される。そして、LCAの実施中においては、LCA開始からの経過時間tに応じた目標横位置y*、目標横速度vy*、および、目標横加速度ay*が逐次演算される。更に、現時点の車速vが逐次取得され、その車速vと、目標横速度vy*および目標横加速度ay*とに基づいて、自車両の向きを変える運動に関する目標値である目標ヨー角θy*、目標ヨーレートγ*、および、目標曲率Cu*が逐次演算される。そして、目標横位置y*、目標ヨー角θy*、目標ヨーレートγ*、および、目標曲率Cu*に基づいて、操舵輪の操舵が制御される。従って、自車両を目標軌道関数に従ってスムーズに車線変更させることができる。また、車速に応じた目標ヨー状態量が設定されるため、ドライバーのアクセル操作(車速の変化)を反映したスムーズな車線変更を行うことができる。特に、ACCによる加減速制御とも連携してスムーズな車線変更を行うことができる。
また、LCAの完了時における、自車両の目標横速度(最終目標横速度)および目標横加速度(最終目標横加速度)はゼロに設定され、かつ、LCAの完了時における自車両の目標横位置(最終目標横位置)が目標車線の車線幅中央位置に設定されるため、LCAの完了時には、そのまま、自車両を目標車線の車線中心ラインCLに沿って走行させることができる。これにより、操舵支援制御をLCAからLTAにスムーズに移行させることができる。
<目標軌道関数の再演算の変形例1>
上記の操舵支援制御ルーチン(図5)においては、ドライバーによる操舵操作が行われたと判定されるたびに、目標軌道関数の再演算(S22,S23)が行われることになる。目標軌道関数の再演算を何度も行うと、かえって、自車両の挙動が不安定になるおそれがある。また、操舵トルクセンサによって検出される操舵トルクは、路面から入力される外乱等、ドライバーの操舵操作の意図がない状況で発生する場合がある。そこで、この変形例1では、一度、目標軌道関数の再演算(S22,S23)が行われた場合には、その後は、目標軌道関数の再演算(S22,S23)を行わない。例えば、図10に示すように、実施形態の操舵支援制御ルーチン(図5)において、ステップS19とステップS22との間に、ステップS30の処理を設けるとよい。図10は、実施形態の操舵支援制御ルーチンにおいて、変形部分を表している。
運転支援ECU10は、ドライバーによる操舵操作が行われたと判定した場合(S19:Yes)、その処理をステップS30に進める。運転支援ECU10は、ステップS30において、LCAの開始後、目標軌道関数の再演算処理(S23)が既に実施されているか否かについて判断し、まだ一度も目標軌道関数の再演算処理が実施されていない場合には、その処理をステップS22に進める。一方、目標軌道関数の再演算処理が実施されている場合には、その処理をステップS20に進める。
この変形例1の操舵支援制御ルーチンによれば、目標軌道関数の再演算の回数が最大1回に制限されているので、自車両を安定的に車線変更させることができる。
<目標軌道関数の再演算の変形例2>
LCA中に操舵操作が行われた場合であっても、自車両の実横位置が、目標横位置に対して車線変更方向にあまり乖離していなければ、車線変更支援の開始時に演算された目標軌道関数をそのまま使用しても問題ない。そこで、この変形例2では、自車両の実横位置と目標軌道関数から算出される目標横位置との偏差が閾値以上であり、かつ、実横位置が目標横位置よりも車線変更方向にある場合にのみ、目標軌道関数の再演算処理(S22,S23)を実施する。
例えば、図11に示すように、実施形態の操舵支援制御ルーチン(図5)において、ステップS19とステップS22との間に、ステップS31〜S33の処理を設けるとよい。図11は、実施形態の操舵支援制御ルーチンにおいて、変形部分を表している。
運転支援ECU10は、ドライバーによる操舵操作が行われたと判定した場合(S19:Yes)、その処理をステップS31に進める。運転支援ECU10は、ステップS31において、現時点の実横位置が目標横位置よりも車線変更方向に位置しているか否かについて判定する。実横位置は、操舵操作時横位置ystであり、目標横位置は、目標軌道関数y(t)に操舵判定時刻tstを代入した値y(tst)である。実横位置が目標横位置よりも車線変更方向に位置していない場合(S31:No)、運転支援ECU10は、その処理をステップS20に進め、実横位置が目標横位置よりも車線変更方向に位置している場合は、運転支援ECU10は、ステップS32において、目標横位置y(tst)と実横位置ystとの偏差Δy(|y(tst)−yst|)を演算する。続いて、運転支援ECU10は、この偏差Δyが予め設定された閾値Δyref以上であるか否かについて判定する。この閾値Δyrefは、目標軌道関数を再演算する必要があるか否かを判定する閾値である。
運転支援ECU10は、偏差Δyが閾値Δyref未満であれば(S33:No)、目標軌道関数の再演算は必要ないとして、その処理をステップS20に進める。一方、偏差Δyが閾値Δyref以上である場合(S33:Yes)には、運転支援ECU10は、その処理をステップS22に進める。
この変形例2の操舵支援制御ルーチンによれば、必要以上に目標軌道関数が演算されることがなくなり、自車両を安定的に車線変更させることができる。また、運転支援ECU10のマイクロコンピュータの演算負荷を低く抑えることができる。
尚、変形例2の処理を、変形例1に組み合わせることもできる。この場合、ステップS31〜ステップS33の処理を、図10のステップS30とステップS22との間に設ければよい。
<目標車線変更残時間の演算変形例>
上記実施形態においては、目標車線変更残時間trest*は、式(16)に示したように、残距離Drestに目標時間定数Aを乗算して算出されたが、この変形例では、運転支援ECU10は、操舵判定時刻における実横速度vystを使って、目標車線変更残時間trest*を補正する。例えば、次式(18)を使って、残距離Drestを、実横速度vystを使って見かけ上小さくなるように補正することで目標車線変更残時間trest*を短くする方向に補正することができる。
Drest1=Drest−α×vyst ・・・(18)
ここで、Drest1は、補正後残距離である。αは予め設定した低減係数であり、小さな正の値に設定される。実横速度vystは、車線変更方向と同じ方向の速度を正の値とする。
算出された補正後残距離Drest1を、式(16)のDrestに置き換える(Drest←Drest1)ことにり、操舵判定時刻における車線変更方向の実横速度vystが高いほど、目標車線変更残時間trest*を短くする方向に補正することができる。
尚、目標車線変更残時間trest*は、予め設定した下限値を下回らないように下限ガードが設けられている。
また、操舵判定時刻における実横加速度aystを使って目標車線変更残時間trest*を補正してもよい。この場合、補正後残距離Drest1は、次式(19)にて算出すればよい。
Drest1=Drest−β×ayst ・・・(19)
ここで、βは、予め設定した低減係数であり、小さな正の値に設定される。実横加速度aystは、車線変更方向と同じ方向の加速度を正の値とする。
更に、操舵判定時刻における実横速度vystおよび実横加速度aystを使って目標車線変更残時間trest*を補正してもよい。この場合、補正後残距離Drest1は、次式(20)にて算出すればよい。
Drest1=Drest−(α×vyst+β×ayst) ・・・(20)
この変形例によれば、操舵判定時刻における車線変更方向の実横速度vystあるいは実横加速度aystが高いほど、目標車線変更残時間trest*が短くなるように補正される。従って、適切な目標軌道関数を演算することができ、これにより、一層、ドライバーの操舵操作の意図を反映させた目標軌道にて自車両を車線変更させることができる。
以上、本実施形態に係る車線変更支援装置について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の目的を逸脱しない限りにおいて種々の変更が可能である。
例えば、本実施形態においては、車線変更方向の操舵操作に限定して、操舵操作が行われたか否かについて判定するが、必ずしも、そのようにする必要は無く、操舵操作の方向に関係なく、操舵操作の有無を判定するようにしてもよい。例えば、LCA中に、ドライバーが、路面上に存在する異物を見つけて、その異物を避けるように操舵操作を行う場合がある。そうした場合には、目標軌道関数の再演算は有効なものとなる。
また、本実施形態においては、操舵判定時刻において、目標車線変更時間tlenが残距離Drestに応じた値に変更されるが、必ずしも、そのようにする必要はなく、LCA中は目標車線変更時間tlenを変更しない構成であってもよい。
また、本実施形態においては、操舵判定時刻において設定される目標軌道演算パラメータP11,P12,P13は、実際の検出値であるが、操舵判定時刻において算出されている目標横状態量、つまり、目標横位置、目標横速度、および、目標横加速度の少なくとも1つを加味して演算されてもよい。例えば、所定の重み付け比を使って操舵判定時刻における目標横位置と実横位置との加重平均値を求めるなど、目標横位置と実横位置との両方に基づいて、操舵操作時横位置を設定してもよい。同様に、所定の重み付け比を使って操舵判定時刻における目標横速度と実横速度との加重平均値を求めるなど、目標横速度と実横速度との両方に基づいて、操舵操作時横速度を設定してもよい。同様に、所定の重み付け比を使って操舵判定時刻における目標横加速度と実横加速度との加重平均値を求めるなど、目標横加速度と実横加速度との両方に基づいて、操舵操作時横加速度を設定してもよい。
また、本実施形態においては、目標軌道関数として5次関数を用いているが、必ずしも、5次関数を用いる必要は無い。また、本実施形態においては、目標横運動状態量として、目標横速度と目標横加速度とを演算するが、例えば、目標横速度のみ、あるいは、目標横加速度のみを演算するようにしてもよい。また、本実施形態においては、目標ヨー状態量として、目標ヨー角、目標ヨーレート、および、目標曲率を演算するが、そのうちの少なくとも一つを演算するようにしてもよい。
また、本実施形態においては、操舵支援制御状態がLTA・ON状態(LTAが実施されている状態)であることがLCAを実施するための前提となっているが、必ずしも、そのような前提は必要としない。また。ACCが実施されている状態であるという前提もなくてもよい。また、本実施形態においては、LCAは、自車両が走行する道路が自動車専用道路であることを条件として実施されるが、必ずしも、そうした条件を設ける必要はない。