以下、図面に基づいて本発明の一実施形態を説明する。図1に示す運転支援システムは、自車両M(図14参照)に搭載されている。この運転支援システム1は、周辺の道路形状を検出するセンサユニットとしてのロケータユニット11、走行環境認識手段としてのカメラユニット21を有している。この両ユニット11,21は互いに依存することのない完全独立の多重系を構成している。更に、この両ユニット11,21の一方が失陥した場合には、他方のユニット11,21で自動運転を一時的に継続させ、自車両Mの運転を運転者D(図9参照)に安全に引継がせる冗長系が構築されている。尚、この運転支援システムにオーバライド判定装置としての機能が備えられている。
運転支援システム1は、ロケータユニット11とカメラユニット21とで現在走行中の道路形状が同一か否かを監視し、同一の場合に自動運転を継続させる。尚、検出する同一道路形状の一例として、本実施形態では道路曲率を示す。
ロケータユニット11は道路地図上の自車両Mの位置(自車位置)を推定すると共に、この自車位置の前方の道路地図データを取得する。一方、カメラユニット21は自車両Mの走行車線の左右を区画する区画線を認識し、この区画線の中央の道路曲率を求めると共に、この車線区画線の中央を基準とする自車両Mの車幅方向の横位置偏差を検出する。
このロケータユニット11は、地図ロケータ演算部12と記憶手段としての高精度道路地図データベース18とを有している。この地図ロケータ演算部12、後述する前方走行環境認識部21d、運転モード設定演算手段としての運転モード設定演算部22、及び後述する自動運転制御ユニット61は、CPU,RAM,ROM、不揮発性記憶部等を備える周知のマイクロコンピュータ、及びその周辺機器で構成されており、ROMにはCPUで実行するプログラムやデータテーブル等の固定データ等が予め記憶されている。
この地図ロケータ演算部12の入力側に、GNSS(Global Navigation Satellite System / 全球測位衛星システム)受信機13、及び自律走行センサ14が接続されている。GNSS受信機13は複数の測位衛星から発信される測位信号を受信する。又、自律走行センサ14は、トンネル内走行等GNSS衛生からの受信感度が低く測位信号を有効に受信することのできない環境において、自律走行を可能にするもので、車速センサ(46)、ジャイロセンサ、及び前後加速度センサ等で構成されている。すなわち、地図ロケータ演算部12は、車速センサ(46)で検出した車速とジャイロセンサで検出した角速度、及び前後加速度センサで検出した前後加速度等に基づき移動距離と方位からローカライゼーションを行う。
この地図ロケータ演算部12は、自車位置を推定する機能として自車位置推定演算部12aと、推定した自車位置を道路地図上にマップマッチングして位置を特定すると共に、その前方の道路形状情報を取得する地図情報取得部12bとを備えている。
又、高精度道路地図データベース18はHDD等の大容量記憶媒体であり、高精度な道路地図情報(ダイナミックマップ)が記憶されている。この高精度道路地図情報は、自動運転を行う際に必要とする車線データ(車線幅データ、車線中央位置座標データ、車線の進行方位角データ、制限速度等)を保有しており、この車線データは、道路地図上の各車線に数メートル間隔で格納されている。
上述した地図情報取得部12bは、この高精度道路地図データベース18に格納されている道路地図情報から現在地の道路地図情報を取得する。そして、例えば運転者Dが自動運転に際してセットした目的地に基づき、上述した自車位置推定演算部12aで推定した自車位置(現在地)から目的地までのルート地図情報を、この道路地図情報から取得し、取得したルート地図情報(ルート地図上の車線データ及びその周辺情報)を自車位置推定演算部12aへ送信する。
自車位置推定演算部12aは、GNSS受信機13で受信した測位信号に基づき自車両Mの位置座標を取得し、この位置座標をルート地図情報上にマップマッチングして、道路地図上の自車位置(現在地)を推定すると共に走行車線を特定し、ルート地図情報に記憶されている走行車線の道路形状、すなわち、本実施形態では車線中央の道路曲率(以下、「地図曲率」と称する)RMPU[1/m](図14参照)を取得し、逐次記憶させる。
更に、自車位置推定演算部12aは、トンネル内走行等のようにGNSS受信機13の感度低下により測位衛星からの有効な測位信号を受信することができない環境では、車速センサ(46)で検出した車速、ジャイロセンサで検出した角速度、前後加速度センサで検出した前後加速度等に基づいて自車位置を推定する自律航法に切替えて、道路地図上の自車位置を推定し、自車両Mが走行している道路の曲率(地図曲率)RMPUを取得する。
一方、カメラユニット21は、自車両Mの車室内前部の上部中央に固定されており、車幅方向中央を挟んで左右対称な位置に配設されているメインカメラ21a及びサブカメラ21bからなる車載カメラと、画像処理ユニット(IPU)21c、及び前方走行環境認識部21dとを有している。このカメラユニット21は、両カメラ21a,21bで撮像した自車両M前方の所定領域を撮影するステレオカメラである。IPU21は両カメラ21a,21bで撮影した走行方向前方の周辺環境画像を所定に画像処理し、前方走行環境認識部21dへ出力する。
前方走行環境認識部21dは、受信した自車両M前方の走行環境画像情報に基づき、自車両Mが走行する進行路(自車進行路)の道路形状、すなわち、本実施形態では、左右を区画する区画線の道路曲率[1/m]、及び左右区画線間の幅(車幅)を求める。この道路曲率、及び車幅の求め方は種々知られているが、例えば、道路曲率は走行環境画像情報に基づき輝度差による二値化処理にて、左右の区画線を認識し、最小二乗法による曲線近似式等にて左右区画線の曲率を所定区間毎に求め、更に、両区画線間の曲率の差分から車幅を算出する。そして、この左右区画線の曲率と車線幅とに基づき車線中央の道路曲率(以下、「カメラ曲率」と称する)RCAM[1/m](図14参照)を求め、逐次記憶させる。そして、自車位置推定演算部12aで取得した地図曲率RMPUと前方走行環境認識部21dで推定したカメラ曲率RCAMとが、運転モード設定演算部22に読込まれる。
又、前方走行環境認識部21dは、取得した走行環境画像情報に基づき、自車両Mの前方を走行する先行車の有無を検出する。そして、前方走行環境認識部21dは、先行車を検出した場合、自車両Mとの車間距離(道のり距離)、相対車速、及び車間時間を算出する。尚、ステレオカメラを用いた先行車の検出、車間距離、相対車速、及び車間時間の求め方は既に知られている技術であるため、ここでの説明は省略する。
運転モード設定演算部22の入力側には、上述した自車位置推定演算部12a、前方走行環境認識部21d以外に、運転者Dが自動運転をON/OFFする自動運転スイッチ41と、運転者Dのハンドル2(図2参照)の接触位置を検出する左右ハンドルタッチセンサ42及び上下ハンドルタッチセンサ43と、ハンドル回転角検出手段としての舵角センサ44と、操舵トルク検出手段としての操舵トルクセンサ45と、自車両Mの車速(自車速Vs)を検出する車速検出手段としての車速センサ46とが接続されている。上述した各ハンドルタッチセンサ42,43は感圧センサ、圧力センサ、容量センサ等からなり、このハンドルタッチセンサ42,43が、本発明の運転者Dのハンドル把持位置を検出するハンドル把持位置検出手段に対応している。
上述した舵角センサ44は、ハンドル2のニュートラル位置を0[deg]として、左右のハンドル回転角を検出するもので、本実施形態では、反時計回り方向をプラス(+)、時計回り方向をマイナス(−)として検出している。
このカメラユニット21で取得した前方走行環境情報は、ACC制御ユニット(図示せず)においても読込まれる。ACC制御ユニットは、前方走行環境情報に基づき、自車両Mが走行している車線前方に先行車を検出した場合は、この先行車に対して所定車間距離を維持した状態で先行車追従走行制御を実行する。又、先行車が検出されてない場合は予め運転者Dが設定したセット車速で走行させる。
又、左右ハンドルタッチセンサ42は、左ハンドルタッチセンサ42lと右ハンドルタッチセンサ42rとで構成され、上下ハンドルタッチセンサ43は、上ハンドルタッチセンサ43uと下ハンドルタッチセンサ43dとで構成されている。図2に示すように、ハンドル2はリム2aの中心がスポーク2bを介してステアリング軸(図示せず)に支持されている。
図2(a)に示すように、ハンドル2がニュートラル状態にあるときを基準として、リム2aが、時計回りにI〜IV象限に区分されており、各象限に右ハンドルタッチセンサ42r,上ハンドルタッチセンサ43u、左ハンドルタッチセンサ42l、下ハンドルタッチセンサ43dが各々配設されている。その際、直進走行において、運転者Dが正しい姿勢でハンドル2を把持していれば、右ハンドルタッチセンサ42rと左ハンドルタッチセンサ42lとがONする。
又、操舵トルクセンサ45は、ステアリング軸(図示せず)の捩れから、運転者Dがハンドル2の操作によりステアリング軸に入力する操舵トルクTstを検出し、この操舵トルクTstに基づき操舵介入の有無を判定する。
更に、この運転モード設定演算部22の出力側に音声スピーカやモニタからなる報知手段としての報知装置51が接続されている。又、この運転モード設定演算部22に自動運転制御ユニット61が双方向通信自在に接続されている。この自動運転制御ユニット61は、運転モード設定演算部22で設定した運転モード(手動運転モード、第1運転支援モード、第2運転支援モード、及び自動退避モード)に従い、対応する運転モードを実行する。
運転モード設定演算部22は、自車位置推定演算部12aで推定した自車位置前方の地図曲率RMPUと前方走行環境認識部21dで推定したカメラ曲率RCAMとを常時比較する。すなわち、地図上の自車位置と実走行による自車位置とをそれぞれ基準として所定前方の同一距離区間における両曲率RMPU,RCAMの一致度(信頼度)[%]を調べ、その一致度が予め設定したしきい値(例えば、95〜99[%])を超えている場合は一致していると判定し、下回っている場合は、不一致と判定する。
例えば、図14(a)に示すように、ロケータユニット11で取得した地図曲率RMPUと前方走行環境認識部21dで認識したカメラ曲率RCAMとが一致している場合、自車両Mは確かに目標進行路を走行していると評価する。
一方、同図(b)に示すように、GNSS受信機13による測位位置が誤差により、隣の車線上にマップマッチングされた場合、ロケータユニット11は隣の車線の地図曲率RMPUを自車進行路上の道路曲率と誤認するため、両曲率RCAM,RMPUは一致度(信頼性)が低いと評価する。或いは、降雨時等の視界の悪い状態での走行において前方走行環境認識部21dにてカメラ曲率RCAMを求めることができなかった場合も、一致度が低い(しきい値未満)と評価される。
そして、両曲率RMPU,RCAMが一致していると判定した場合は、第2運転支援モードを継続させる。或いは、運転モードを第1運転支援モードから第2運転支援モードへ遷移させる。尚、運転モードを遷移させるに際しては、その旨を報知装置51から運転者Dに予め報知する。
本実施形態では、運転モードとして運転者D自らが操舵する手動運転モードと、第1運転支援モードと、第2運転支援モード、及び自動退避モードが設定されており、この第1運転支援モード、第2運転支援モードが自動運転の範疇に含まれる。ここで、第1運転支援モードと第2運転支援モードとは、自車両Mを目標進行路に沿って自動走行(自動運転)させる点は共通しているが、第1運転支援モードは運転者Dの保舵を条件とする運転モードであり、第2運転支援モードは運転者Dの保舵を条件としない(非保舵の)運転モードである。
例えば、カメラユニット21が一時的に失陥した場合、第2運転支援モードによる自動運転の継続が困難となるが、いきなり手動運転モードへ遷移させることはせず、先ず、運転者Dに対して第1運転支援モードへ遷移する旨を報知し、運転者Dに保舵を要求する。そして、運転者Dにハンドル2を保舵させた後、第1運転支援モードへ遷移し、地図ロケータ演算部12で推定した自車位置に基づき自動運転を継続させる。
これは、地図ロケータ演算部12で自車位置の推定が失陥した場合も同様であり、運転者Dにハンドル2を把持させた後、周知のALK制御とACC制御とにより第1運転支援モードを実行させ、カメラユニット21で認識した左右区画線の中央を目標進行路として設定し、この目標進行路に沿って自車両Mを走行させる。
又、自動運転(第1運転支援モード、或いは第2運転支援モード)での走行中に、運転者Dによる操舵オーバライドを検出した場合、運転モードは自動運転モードから手動運転モードに遷移する。
ところで、上述したように、運転者Dが前方を視認する正しい姿勢でリム2aを両手で接触(把持)すれば、図2(a)に示すように、左ハンドルタッチセンサ42lと右ハンドルタッチセンサ42rが共にONする。従って、この姿勢の状態で運転者Dが操舵し、操舵トルクセンサ45で検出する操舵トルクTstに基づいて操舵介入を検出した場合は、運転者Dの意思による操舵オーバライドであると判定することもできる。
しかし、自動運転において、右折、或いは左折する場合、ハンドル2は90{deg}以上に大きく転舵される。ハンドル2が自動で転舵して、自車両Mを右折、或いは左折させようとしている際に、運転者Dがハンドル2を把持して切り増し、或いは切り戻しする場合、運転者Dはハンドル2がどの角度に回転していようと、先ず、左右を把持する。従って、図2(b)に示すように、ハンドル2が反時計回り方向に90[deg]回転している場合は、上ハンドルタッチセンサ43uと下ハンドルタッチセンサ43dとがONすることになる。
以下、便宜的に運転者Dから見たハンドル2の左右を、ハンドル2自体の左右と区別するために水平領域と称し、上下をハンドル2自体の上下と区別するために垂直領域と称する。従って、図2(b)では、上ハンドルタッチセンサ43uと下ハンドルタッチセンサ43dとが水平領域のハンドルタッチセンサとなり、左ハンドルタッチセンサ42l、右ハンドルタッチセンサ42rが垂直領域となる。
上述したように、左ハンドルタッチセンサ42lと右ハンドルタッチセンサ42rが共にONしている状態のみが、正しい姿勢でハンドル2を把持していると判定するように設定されている場合、図2(b)のようなハンドル2の把持は運転者が正しい姿勢で把持しているとは見なされず誤判定が生じる。
又、ハンドル2が転舵されている状態からの操舵介入によって、運転者が大きく切り増し、或いは切り戻ししようとする場合、運転者Dのハンドル2を把持する位置が変化する。例えば、狭い路地を右折、或いは左折する場合、低速、或いは極低速での走行で大きく転舵させるが、その際、運転者Dが切り増ししようとする場合に、運転者Dは送りハンドルやクロスハンドルによって操舵介入する。この送りハンドルやクロスハンドルの操舵遷移パターン(癖)は運転者D毎に相違している。従って、平均的な操舵遷移パターンを基準とし、これと運転者の操舵遷移パターンとを比較することで操舵オーバライド、或いは誤操舵を判定することは、正確性に欠けることになる。
そのため、運転モード設定演算部22では、手動運転モードにおいて運転者Dのハンドル2を操作する際のハンドルタッチセンサ42l,42r,43u,43d、及びハンドル2の回転角の操舵遷移パターンを学習する。そして、自動運転モード(第1運転支援モード、第2運転支援モード)が実行されている際の運転者Dによる操舵パターンと学習した操舵パターンとを比較して、自動運転モードにおいてハンドル2が大きく転舵されている際に検出した操舵介入が、運転者Dの意思によるものか、単なる誤接触(誤検知)なのかを判定する。
運転モード設定演算部22での操舵オーバライドの判定は、具体的には図7に示す操舵オーバライド判定処理ルーチンにおいて実行される。ここで、図7に示す操舵オーバライド判定処理ルーチンを説明する前に、図3〜図6に示す運転モード設定ルーチンに沿って、運転モードの設定について説明する。
自車両Mが走行すると、図3に示す運転モード設定ルーチンが起動し、先ず、ステップS1で、自動運転スイッチ41からの信号を読込む。この自動運転スイッチ41は運転者Dが自動運転を選択する場合にON操作するものであり、ステップS2でONか否かを調べる。
そして、ONの場合はステップS3へ進み、運転支援モード処理を実行してルーチンを抜ける。又、自動運転スイッチ41がOFFの場合は、ステップS4へ分岐し、手動運転モードを実行して、ルーチンを抜ける。運転モードとして手動運転モードが実行されると、自車両Mを目的地までガイドする従来のナビゲーション機能により設定された目標進行路がモニタ(図示せず)に表示される。運転者Dはモニタの表示、及び音声ガイドに従い、自らの運転によって自車両Mを走行させる。
又、ステップS3での運転支援モード処理は、図4に示す運転支援モード処理サブルーチンに従って実行される。
このサブルーチンでは、先ず、ステップS11で第2運転支援モード実行条件判定処理を行う。この第2運転支援モード実行条件判定処理は、図5に示す第2運転支援モード実行条件判定処理サブルーチンに従って実行される。
このサブルーチンでは、先ず、ステップS21で、走行条件が満足されているか否かを調べる。具体的には、ロケータユニット11で取得した地図曲率RMPUと、カメラユニット21の前方走行環境認識部21dで認識したカメラ曲率RCAMとの一致度(信頼性)を調べる。そして、その一致度が予め設定したしきい値(例えば、95〜99[%])を超えている場合、走行条件は満足していると判定し、ステップS22へ進む。又、一致度がしきい値を下回っている場合は、走行条件が満足されていないと判定し、ステップS29へジャンプする。
ステップS22へ進むと、舵角センサ44で検出したハンドル2の回転角に基づき水平領域に位置するハンドルタッチセンサを検出し、このハンドルタッチセンサがOFFか否かを調べる。本実施形態では、舵角センサ44で検出する回転角は、ハンドル2のニュートラル位置を0[deg]として、反時計回り方向をプラス(+)、時計回り方向をマイナス(−)として検出している。
そして、運転者Dから見た水平領域に位置するハンドルタッチセンサ(例えば、図2(b)では、上下ハンドルタッチセンサ43)がOFFの場合、ステップS23へ進む。又、水平領域に位置するハンドルタッチセンサがONの場合、ステップS24へ分岐する。
ステップS23へ進むと、運転者Dから見た垂直領域に位置するハンドルタッチセンサ(例えば、図2(b)では、左右ハンドルタッチセンサ42)がOFFか否かを調べ、垂直領域のハンドルタッチセンサの少なくとも一方がONの場合、単なる誤接触と判定し、ステップS25へ分岐し、「ハンドルに触れています」等の非保舵要求を報知装置51から運転者Dに対して報知してステップS26へ進む。
又、垂直領域のハンドルタッチセンサがOFFの場合、運転者Dはハンドル2から完全に手を離していると判定し、ステップS26へ進む。ステップS23、或いはステップS25からステップS26へ進むと、第2運転支援モードが実行可能と判定し、第2運転支援モード実行フラグF2をセットして(F2←1)、図4のステップS12へ進む。
このように、本実施形態では、垂直領域のハンドルタッチセンサの少なくとも一方がONした場合には、運転者Dの単なる誤接触と判定し、非保舵要求を運転者Dに求めて、第2運転支援モード実行フラグF2をセットするようにしたので、第2運転支援モードを継続させることができる。その結果、ハンドル2に対する多少の接触を運転者Dは気にする必要がなく、高い利便性を得ることができる。
又、ステップS22からステップS24へ分岐すると、運転者Dに対して「ハンドルに触れているため、ハンドルから手を離した自動運転が解除されます」等の非保舵要求を報知装置51から報知してステップS27へ進む。ステップS27では、注意喚起時間tim1をインクリメントし(tim1←tim1+1)、ステップS28へ進み、設定時間t1(例えば、3〜5[sec])と比較し、tim1<t1の場合はステップS22へ戻り、運転者Dが水平領域の把持位置から手を離すまで、待機する。
又、tim1≧t1の場合、運転者Dはハンドル2から手を離す意思がないと判定し、ステップS29へ進む。ステップS21、或いはステップS28からステップS29へ進むと、第2運転支援モード実行フラグF2をクリアして(F2←0)、図4のステップS12へ進む。
ステップS12では、第2運転支援モード実行フラグF2の値を参照して、第2運転支援モード実行条件が成立している可否かを調べる。そして、F2=1の成立している場合はステップS13へ進み、第2運転支援モードを実行させてルーチンを抜ける。一方、F2=0の不成立の場合は、ステップS14へ分岐し、第1運転支援モード実行条件判定処理を実行してステップS15へ進む。
この第1運転支援モード実行条件判定処理は、図6に示す第1運転支援モード実行条件判定処理サブルーチンに従って実行される。
このサブルーチンでは、先ず、ステップS31で走行条件が満足されているか否かを調べる。上述したように、第1運転支援モードは従来のALK制御とACCシステムとにより、自車両Mを車線に沿い、且つ先行車に追従させて走行させるものであり、自車両Mを車線に沿って走行させることができるか否かを調べる。そして、走行条件が満足されている場合はステップS32へ進む。又、カメラユニット21が失陥している等、走行条件が満足されていない場合はステップS39へジャンプする。
ステップS32へ進むと、舵角センサ44で検出したハンドル2の回転角を読込む。本実施形態では、ハンドル2のニュートラル位置を0[deg]として、反時計回り方向をプラス(+)、時計回り方向をマイナス(−)として検出している。そして、ステップS33へ進み、ハンドル2の回転角から、運転者Dから見た水平領域に位置するハンドルタッチセンサを検出する。本実施形態では、この水平領域を運転者Dが正しい姿勢でハンドル2を把持する際の推奨領域として設定している。例えば、図2(b)では、上下ハンドルタッチセンサ43(43u,43d)が水平領域のハンドルタッチセンサとなり、又左右ハンドルタッチセンサ42(42l,42r)が垂直領域(非推奨領域)のハンドルタッチセンサとなる。
その後、ステップS34へ進むと、水平領域のハンドルタッチセンサがONしているか否かを調べる。そして、水平領域のハンドルタッチセンサがONの場合、運転者Dは正しい姿勢でハンドルを把持していると判定し、ステップS35へ進み、第1運転支援モード実行フラグF1をセットして(F1←1)、図4のステップS15へ進む。
一方、垂直領域のハンドルタッチセンサの少なくとも一方がONしている場合、或いは何れのハンドルタッチセンサもONしていない場合はステップS36へ分岐する。ステップS36では、運転者Dに対して、「正しい位置のハンドルを把持してください」等の推奨領域での保舵要求を報知装置51から運転者Dに対して報知した後、ステップS37へ進む。
ステップS37では、注意喚起時間tim2をインクリメントし(tim2←tim2+1)、ステップS38へ進み、設定時間t2(例えば、3〜5[sec])と比較し、tim2<t2の場合はステップS34へ戻り、運転者Dがハンドル2を把持して水平領域のハンドルタッチセンサがONするまで待機する。
一方、注意喚起時間tim2が経過しても(tim2≧t2)、水平領域のハンドルタッチセンサがONしていない場合、運転者Dはハンドルを把持していないと判定し、ステップS39へ進む。そして、ステップS31,S36からステップS39へ進むと、第1運転支援モード実行フラグF1をクリアして(F1←0)、図4のステップS15へ進む。
ステップS15へ進むと、第1運転支援モード実行フラグF1の値を調べ、第1運転支援モード実行条件が成立しているか否かを調べる。そして、F1=1の成立している場合はステップS16へ進み、第1運転支援モードを実行させてルーチンを抜ける。又、F1=0の不成立の場合は、図2のステップS4へ進み、手動運転モードを実行して、ルーチンを抜ける
自動運転モード(第1運転支援モード、或いは第2運転支援モード)が実行されると、図7に示す操舵オーバライド判定処理ルーチンがバックグランド処理にて実行される。尚、このルーチンでの処理が、本発明の操舵オーバライド判定手段に対応している。
このルーチンでは、先ず、ステップS41で、操舵トルクセンサ45で検出した操舵トルクTstと操舵介入判定しきい値Tstoとを比較する。この操舵介入判定しきい値Tstoは、ハンドル操作(操舵)が運転者の意思によるものか、単なる誤接触(誤検知)かを調べる値で固定値でも良いが、車速や道路形状に基づいて設定されている可変値であっても良い。そして、Tst≧Tstoの場合は、操舵介入と判定してステップS42へ進み、Tst<Tstoの場合はルーチンを抜ける。尚、このステップS41での処理が、本発明の操舵介入判定手段に対応している。
ステップS42では、操舵トルクTstが操舵介入判定しきい値Tstoを超えたときにONしたハンドルタッチセンサを検出する。次いで、ステップS43へ進み、舵角センサ44で検出したハンドル2の回転角を検出し、ステップS44で、ハンドル2の回転角に基づき水平領域のハンドルタッチセンサを検出する。
その後、ステップS45へ進み、上述のステップS42で調べた初期ON時のハンドルタッチセンサが水平領域にあるか否かを調べる。そして、水平領域のハンドルタッチセンサと判定された場合(例えば、図2(b)では、上下ハンドルタッチセンサ43がON)、運転者Dはハンドル2を正しい姿勢で把持していると判定し、ステップS46へ進む。又、水平領域のハンドルタッチセンサがOFFの場合は、 運転者Dがハンドル2に誤接触していると判定し、ステップS52へジャンプする。
ステップS46へ進むと、車速センサ46で検出した自車両Mの車速(自車速)Vs[Km/h]と低速判定しきい値V1[Km/h]とを比較する。低速判定しきい値V1は、右折、左折、急カーブ等、自車両Mを大きく転舵させる走行か、大きく転舵させることのない直進走行かを判定する値で、本実施形態では40[Km/h]程度に設定されている。そして、Vs>V1の場合は、直進走行時において運転者Dが意図的に行った操舵であると判定し、ステップS51へジャンプする。尚、Vs>V1の場合、運転者Dはハンドル2の左右を把持した状態で、操舵を行っているため、初期ON時のハンドルタッチセンサは、左右ハンドルタッチセンサ42(42l,42r)である。
又、Vs≦V1の場合はステップS47へ進む。ステップS47へ進むと、水平領域のハンドルタッチセンサがONした後にONしたハンドルタッチセンサの遷移を検出する。すなわち、運転者Dが右折、左折等のように自車両Mを手動にて大きく転舵させようとする場合、図10に示すような送りハンドルで行う場合が多い。又、極低速(20[Km/h]以下)では、図11に示すクロスハンドルで行う場合が多い。送りハンドルとクロスハンドルとは、運転者Dがハンドル2の把持位置を移動させながら、ハンドル2を回転させる操作が行われるため、左右ハンドルタッチセンサ42(42l,42r)等、特定の把持位置を検出しただけでは、運転者Dが意図した操舵介入か否かを正しく判定することができない。
そのため、ステップS47においてONしたハンドルタッチセンサの遷移(ON遷移)を調べる。そして、ステップS48へ進み、舵角センサ44で検出したハンドル2の回転角に基づき、ハンドルタッチセンサがONした際におけるハンドル2の回転角の遷移(舵角遷移)を検出する。尚、ステップS47,S48での処理が、本発明の操舵遷移パターン検出手段に対応している。
そして、ステップS49において、今回、運転者Dが行ったハンドル2の操作による操舵遷移パターンをRAM等の記憶手段に逐次記憶し、後述する低速操舵遷移パターン学習マップと極低速操舵遷移パターン学習マップにそれぞれ記憶されている各操舵遷移パターンと照合する。
図12(a)に、運転者Dが図10に示すような手動モードで送りハンドル操作を行った際の今回の操舵遷移パターンを例示する。又、図13(a)に運転者Dが図11に示すような手動モードでクロスハンドル操作を行った際の今回の操舵遷移パターンを例示する。図12(a)に示すように、送りハンドルではハンドルタッチセンサのONが循環する傾向がある。一方、図13(a)に示すように、クロスハンドルでは、図2(b)に示すように、最初に把持した水平領域のハンドルタッチセンサが多くONされる傾向、すなわち、運転者Dはハンドル2を180{deg]回転させながら持ち替える傾向にある。
又、送りハンドルは低速走行時(例えば、20〜40[Km/h]程度)に行い、クロスハンドルは極低速走行時(例えば、20[Km/h]以下)に行う傾向がある。この送りハンドルやクロスハンドルは、操作に個人差があるため、その操舵遷移パターンを手動運転モード時に逐次学習する。
この操舵遷移パターンの学習は、後述する図8に示す操舵学習処理ルーチンにおいて行われる。図12(b)に複数回学習した低速操舵遷移パターンを記憶する学習マップを例示し、図13(b)に複数回学習した極低速操舵遷移パターンを記憶する学習マップを例示する。ここで、縦軸は反時計回りに示す右、上、左、下のハンドルタッチセンサの配置、横軸はハンドルの回転角であり、ニュートラルからの右転舵をプラス(+)、左転舵をマイナス(−)で示されている。
上述したステップS49では、図12(a)、或いは図13(a)に示すような、今回運転者Dが行った操舵遷移パターンと、図12(b)に示す低速操舵遷移パターン学習マップに記憶されている低速操舵遷移パターン、及び図13(b)に示す学習マップに記憶されている極低速操舵遷移パターンとを照合し、運転者Dが行った操舵遷移パターンが各学習マップの中の何れかの操舵遷移パターンとの一致度を調べ、一致度の最も高い値を抽出する。尚、この一致度は、ハンドル2の回転角をみることなく、操舵遷移パターンのみで調べる。これにより、一致状態を瞬時に調べることが可能となる。
そして、ステップS50へ進むと、この一致度と一致度判定基準値(例えば、80〜95[%])とを比較し、一致度が一致度判定基準値以上の場合、ハンドル操作は運転者Dの意思によるものであると判定し、ステップS51へ進む。又、一致度が一致度判定基準値未満の場合、誤接触であると判定し、ステップS52へ分岐する。
ステップS46、或いはステップS50からステップS51へ進むと、操舵オーバライド処理を実行してルーチンを抜ける。又、ステップS45、或いはステップS50からステップS52へ分岐すると、誤接触処理を実行してルーチンを抜ける。
ステップS51で実行される操舵オーバライド処理は、操舵トルクセンサ45で検出した操舵トルクTst、及びその入力時間と、車両の走行状態に基づき、現在の自動運転モード(第1運転支援モード、或いは第2運転支援モード)から手動運転モードへ遷移させる。例えば、住宅街の狭い路地を自動運転で右折、或いは左折している際に、運転者Dが自車速Vsを減速させて、大きな切り増しを行った場合は、運転者の操舵意思が明確であり、自動運転モードをOFFし、手動運転モードへ遷移させる。或いは、急カーブにおいて、自動運転モードは減速しながらゆっくりと操舵している場合、これに違和感を覚えた運転者Dがやや加速しながらハンドル2を切り増したような場合も、運転者の操舵意思が明確であるため、上述と同様に手動運転モードへ遷移させる。
一方、ステップS52で実行される誤接触処理は、現在の自動運転モードを維持させるものであり、誤接触フラグをセットする処理が行われる。従って、第2運転支援モードで右折、或いは左折している際に、 操舵介入判定しきい値Tsto以上の操舵トルクTstが検出されても、初期ONのハンドルタッチセンサが水平領域のハンドルタッチセンサ(図2(b)では、43u,43d)でない場合は、誤接触フラグがセットされる。この誤接触フラグがセットされることにより、運転モードは第1運転支援モードへ遷移することなく、第2運転支援モードが維持される。
又、運転モード設定演算部22は、運転モードとして手動運転モードが実行される際に、図8に示す操舵学習処理ルーチンを実行し、運転者Dのハンドル操作を学習する。尚、この操舵学習処理ルーチンでの処理が、本発明の操舵学習処理手段に対応している。
このルーチンでは、先ずステップS61で、現在の運転モードを調べ、自動運転モードの場合はルーチンを抜ける。又、手動運転モードの場合はステップS62へ進む。ステップS62では、ナビゲーション機能により設定された目標進行路に基づき、自車両M直前の交差点を右折、或いは左折するかを調べ、直進の場合はステップS63へ進み、右折、或いは左折する場合はステップS64へジャンプする。
ステップS63へ進むと、自車両M直前の道路が見通しの悪い急カーブか否かを調べる。見通しの悪い急カーブか否かは、道路地図情報、あるいはカメラユニット21から取得した自車両Mの直前の道路形状及びその周辺環境に基づいて判定する。尚、見通しの悪い急カーブとは、運転者Dが意識的に減速して徐行しなければならない峠道(山道)等の道路をいう。そして、見通しの悪い急カーブと判定された場合は、ステップS64へ進み、又、それ以外の道路の場合はルーチンを抜ける。
その後、ステップS62,或いはステップS63からステップS64へ進むと、自車速Vsと低速判定しきい値V1とを比較する。この低速判定しきい値V1は、一般的な運転者が送りハンドルで操舵しながら走行すると想定した車速の上限値よりもやや低い速度であり、予めシミュレーション等に基づいて設定されている。因みに、本実施形態では、40[Km/h]程度に設定されている。
そして、Vs≦V1の場合はステップS65へ進み、又、Vs>V1の場合はルーチンを抜ける。ステップS65へ進むと、自車速Vsと極低速判定しきい値V2とを比較する。極低速判定しきい値V2は、一般的な運転者がクロスハンドルで操舵しながら走行させる上限付近の車速であり、予めシミュレーション等に基づいて設定されている。因みに、本実施形態では、20[Km/h]程度に設定されている。
そして、Vs≧V2の場合、運転者は低速で操舵していると判定し、ステップS66へ進み、ステップS66〜S68で、運転者Dの操舵(主に送りハンドル)の操舵遷移パターン(癖)を学習する。一方、Vs<V2の場合、運転者は極低速で操舵していると判定し、ステップS69へ分岐し、ステップS69〜S71で、運転者Dの操舵(主にクロスハンドル)の操舵遷移パターン(癖)を学習する。尚、運転者Dによっては極低速での走行であっても送りハンドルによる操舵で走行する場合も考えられ、又、逆に低速であってもクロスハンドルで操舵する場合も考えられる。しかし、何れの場合であっても、ハンドル操作を学習することで、低速走行と極低速走行とにおける当該自車両Mを運転する運転者Dの一定の操舵遷移パターン(癖)を取得することができる。
先ず、ステップS66では、ハンドルタッチセンサ42l,42r,43u,43dの遷移を検出する。V1≧Vs≧V2の車速領域を運転者Dが送りハンドルで走行する際のハンドル操作を、図10に例示する。同図(a)〜(d)には、送りハンドルで左折する態様が示されている。尚、(a)〜(d)の右側に記載されている「右」「上」「左」「下」は、ハンドルタッチセンサ42r,43u,42l,43dの配置をI〜IV象限(図2参照)に合わせて反時計回りに表したものである。又、0〜360は、図2(a)に示すハンドル2のニュートラルを0[deg]として、ハンドル2を反時計回り方向へ回転させたときの回転角領域を90[deg]毎に表したものである。
すなわち、運転者Dが送りハンドルで左折する場合、正しい姿勢で左右ハンドルタッチセンサ42(42l,42r)を把持している状態から、(a),(b)に示すように、右手でハンドル2を反時計回り方向へ押し、その際、左手を右手側に滑らせる。次いで、(c)に示すように、左手でハンドルを引き、右手はハンドル2の回転方向とは逆方向、すなわち、時計回り方向へ滑らせる。その後、(d)に示すように、右手を、ハンドル2を回転させている左手側に近づけ、その右手でハンドル2を反時計回り方向へ押して、ハンドル2を更に回転させる。
その際、運転者Dはハンドル2を両手で把持しており、そのとき、ON動作するハンドルタッチセンサの操舵遷移パターンは、(右、上)→(右、上)→(右、左)→(右、上)となる。
次いで、ステップS67へ進み、ハンドルタッチセンサがONした際のハンドル2の回転角領域を、舵角センサ44で検出した、ハンドル2の回転角に基づいて検出する。すなわち、図10(a),(b)では回転角が0〜90[deg]の領域にあり、(c)では90〜180[deg]の領域にあり、(d)では180〜270[deg]の領域にある。
その後、ステップS68へ進み、上述したステップS66で検出したハンドルタッチセンサの操舵遷移パターン、及びステップS67で検出した、当該操舵遷移パターンに対応するハンドル2の回転角領域にて、不揮発性記憶部に設けた低速操舵遷移パターン学習マップの低速操舵遷移パターンを更新して、ルーチンを抜ける。
図12(b)に低速操舵遷移パターン学習マップの概念を示す。この学習マップは、横軸にハンドル2の左右回転角を図2(a)に示すニュートラルを0{deg]とし、左転舵をプラス(+)、右転舵をマイナス(−)で90[deg] 毎の回転領域で表し、縦軸に左右ハンドルタッチセンサ42(42l,42r)、上下ハンドルタッチセンサ43(43u.43d)を、I〜IV象限に合わせて、「右」「上」「左」「下」と反時計回りに表した格子状をなしている。
この低速操舵遷移パターン学習マップは、1回学習する毎に該当する格子をインクリメントする。その結果、頻度の高い領域は値が順次インクリメントされるため、運転者Dが手動モードでハンドル操作を繰り返し行うことで、低速走行時におけるハンドル操作の操舵遷移パターン(癖)の精度が次第に向上する。
一方、ステップS65からステップS69へ分岐すると、ハンドルタッチセンサ42l,42r,43u,43dの遷移を検出する。Vs<V2での走行時に運転者Dが行うクロスハンドルによるハンドル操作を、図11に例示する。
図11(a)〜(d)には、クロスハンドルで左折する態様が示されている。運転者Dがクロスハンドルで左折する場合、正しい姿勢で左右ハンドルタッチセンサ42(42l,42r)を把持している状態から、先ず、(a)に示すように、反時計回り方向へ回転させ、次いで、(b)に示すように、左手を離し、右手でハンドル2を反時計回り方向へ押す。その間、(c)に示すように、左手は右手をクロスして反対側のリム2aを把持し、左手でハンドル2を引く。その後、(d)に示すように、右手を持ち替えて、ハンドル2を360[deg]回転させる。
一般的な運転者が行うクロスハンドルによる操舵では、ハンドル2の把持位置が、ほぼ180[deg]で遷移する。従って、ON動作するハンドルタッチセンサの操舵遷移パターンは、(右、左)→(右)→(右、左)→(右、上)となる。
次いで、ステップS70へ進み、ハンドルタッチセンサがONした際のハンドル2の回転角領域を、舵角センサ44で検出した、ハンドル2の回転角に基づいて検出する。すなわち、図11(a)では回転角が0〜90[deg]の領域にあり、(b)では90〜180[deg]の領域にあり、(c)では180〜270[deg]の領域にあり、(d)では270〜360[deg]の領域にある。
その後、ステップS71へ進み、上述したステップS69で検出したハンドルタッチセンサの操舵遷移パターン、及びステップS70で検出した、当該操舵遷移パターンに対応するハンドル2の回転角領域にて、不揮発性記憶部に設けた極低速操舵遷移パターン学習マップの極低速操舵遷移パターンを更新してルーチンを抜ける。
図13(b)に極低速操舵遷移パターン学習マップの概念を示す。この学習マップは、上述した図12(b)に示す低速操舵遷移パターン学習マップと同様の格子状をなし、1回学習(更新)する毎に、該当する格子の値をインクリメントする。その結果、頻度の高い領域は値が順次インクリメントされるため、運転者Dが手動モードでハンドル操作を繰り返し行うことで、極低速走行時におけるハンドル操作の操舵遷移パターン(癖)の精度が次第に向上する。この極低速操舵遷移パターン学習マップの特徴は、一般的な運転者がクロスハンドルによる操舵を繰り返した場合、「右」「左」のハンドルタッチセンサ42r,42lのONが、「上」「下」ハンドルタッチセンサ43u,43dに比し高いになる傾向があるということである。
従って、自動運転モードにおいて、運転者Dが、例えば、図2(b)に示すように、ハンドル2が90[deg]だけ反時計回り方向へ回転したときに、ハンドル2を把持し、そこからクロスハンドルでの操舵を行った場合、図13(a)に示す操舵遷移パターンは、「上」「左」のハンドルタッチセンサがONとなる。しかし、上述した図7の操舵オーバライド判定処理ルーチンのステップS49では、ハンドル2の回転角度を見ることなく操舵遷移パターンのみを照合しているため、操舵オーバライドを正確に検出することができる。
このように、本実施形態によれば、自動運転モードでの走行に際し、右折、左折、或いは急カーブ等において、運転者Dがハンドル2を操作して、切り増し(或いは切り戻し)を行うに際し、運転者Dの操舵遷移パターンを検出し、この操舵遷移パターンに基づいて操舵介入の有無を判定するようにしている。そのため、ハンドル2の把持位置を検出する左右ハンドルタッチセンサ42(42l,42r)、上下ハンドルタッチセンサ43(43u,43d)のON/OFFが繰り返されても、運転者Dの意思による操舵介入を、操舵オードライドと誤判定することなく正しく検出することができる。
又、運転者Dの操舵遷移パターンは、手動運転モードでのハンドル操作の際に学習しているため、運転者Dの意思による操舵オーバライドを高い精度で正確に判定することができる。
尚、本発明は、上述した実施形態に限るものではなく、例えばハンドルタッチセンサは、リム2aに5等分以上区分して配設されていても良い。