以下、図面を参照して本発明の一実施形態について詳細に説明する。なお、以下の説明では、同様な構成要素には同一の参照番号を付す。
図1は、本発明の一実施形態による車両用の自動運転システム100の概略構成図である。図2は、本実施形態による自動運転システム100を搭載した自車両1の概略外観図である。図3は、本実施形態による自動運転システム100を搭載した自車両1の概略内観図である。
図1に示すように、本実施形態による自動運転システム100は、周辺環境情報取得装置10と、自車両情報取得装置20と、ドライバ情報取得装置30と、地図データベース40と、記憶装置50と、ヒューマン・マシン・インターフェース(Human Machine Interface;以下「HMI」という。)60と、ナビゲーション装置70と、電子制御ユニット80と、を備える。
周辺環境情報取得装置10は、自車両周辺の障害物(例えば建物や、道路上の先行車や後続車、対向車といった走行車両、停止車両、縁石、落下物、歩行者等)や天候といった自車両1の周辺環境状態に関する情報(以下「周辺環境情報」という。)を取得するための装置である。図1から図3に示すように、本実施形態による周辺環境情報取得装置10は、ライダ(LIDAR;Laser Imaging Detection And Ranging)11と、ミリ波レーダーセンサ12と、外部カメラ13と、照度センサ14と、レインセンサ15と、外部情報受信装置16と、を備える。
ライダ11は、レーザー光を利用して自車両周辺の道路や障害物を検出する。図2に示すように、本実施形態ではライダ11は、自車両1のルーフ上に取り付けられている。ライダ11は、自車両1の全周囲に向けてレーザー光を順次照射し、その反射光から道路及び自車両周辺の障害物までの距離を計測する。そしてライダ11は、その計測結果に基づいて自車両1の全周囲における道路及び障害物の三次元画像を生成し、生成した三次元画像の情報を電子制御ユニット80に送信する。
なお、ライダ11の取り付け箇所は、三次元画像を生成するために必要な情報を取得できる箇所であれば特に限られるものではない。例えば、自車両1のグリルや、ヘッドライトやブレーキランプといったライト類の内部に取り付けても良いし、自車両1の車両本体部分(骨格)に取り付けても良い。
ミリ波レーダーセンサ12は、電波を利用してライダ11よりも遠距離に亘る自車両周辺の障害物を検出する。図2に示すように、本実施形態ではミリ波レーダーセンサ12は、自車両1のフロントバンパー及びリヤバンパーにそれぞれ取り付けられている。ミリ波レーダーセンサ12は、自車両1の周囲(本実施形態では自車両1の前方、後方及び側方)に電波を発射し、その反射波から自車両周辺の障害物までの距離や当該障害物との相対速度を計測する。そしてミリ波レーダーセンサ12は、その計測結果を自車両周辺情報として電子制御ユニット80に送信する。
なお、ミリ波レーダーセンサ12の取り付け箇所は、必要な自車両周辺情報を取得できる箇所であれば特に限られるものではない。例えば、自車両1のグリルや、ヘッドライトやブレーキランプといったライト類の内部に取り付けても良いし、自車両1の車両本体部分(骨格)に取り付けても良い。
外部カメラ13は、自車両1の前方を撮影する。図2に示すように、本実施形態では外部カメラ13は、自車両1のルーフ先端の中央部に取り付けられている。外部カメラ13は、撮影した自車両前方の映像の画像処理を行うことで、自車両前方の障害物情報や、走行レーンの車線幅や道路形状、道路標識、白線の有無、信号機の状態といった自車両前方の道路情報、ヨー角(走行レーンに対する車両の相対的な方向)や走行レーン中央からの車両オフセット位置といった自車両1の走行情報、雨や雪、霧といった自車両周辺の気象情報などを検出する。そして外部カメラ13は、検出したこれらの撮影情報を電子制御ユニット80に送信する。
なお、外部カメラ13の取り付け箇所は、自車両1の前方を撮影できる箇所であれば特に限られるものではない。例えば、自車両内のフロントガラス裏面の中央上部に取り付けても良い。
照度センサ14は、自車両周囲の照度を検出する。図2に示すように、本実施形態では、照度センサ14は自車両内のインストルメントパネルの上面に取り付けられている。照度センサ14は、検出した自車両周囲の照度情報を電子制御ユニット80に送信する。
レインセンサ15は、降水の有無及び降水量を検出する。図2に示すように、本実施形態では、レインセンサ15は自車両1のフロントガラス表面の中央上部に取り付けられている。レインセンサ15は、内蔵された発光素子によって生じさせた光をフロントガラス表面に向けて照射し、そのときの反射光の変化を計測することで、降水の有無や降水量といった降水情報を検出する。そしてレインセンサ15は、検出した降水情報を電子制御ユニット80に送信する。
外部情報受信装置16は、例えば道路交通情報通信システムセンタなどの外部の通信センタから送信されてくる渋滞情報や気象情報(雨や雪、霧、風速等の情報)などの外部情報を受信する。外部情報受信装置16は、受信した外部情報を電子制御ユニット80に送信する。
自車両情報取得装置20は、自車両1の速度や加速度、姿勢、現在位置といった自車両1の状態に関する情報(以下「自車両情報」という。)を取得するための装置である。図1に示すように、本実施形態による自車両情報取得装置20は、車速センサ21と、加速度センサ22と、ヨーレートセンサ23と、GPS受信機24と、を備える。
車速センサ21は、自車両1の速度を検出するためのセンサである。車速センサ21は、検出した自車両1の車速情報を電子制御ユニット80に送信する。
加速度センサ22は、加速時や制動時における自車両1の加速度を検出するためのセンサである。加速度センサ22は、検出した自車両1の加速度情報を電子制御ユニット80に送信する。
ヨーレートセンサ23は、自車両1の姿勢を検出するためのセンサであって、詳しくは自車両1の旋回時におけるヨー角の変化速度、すなわち自車両1の鉛直軸まわりの回転角速度(ヨーレート)を検出する。ヨーレートセンサ23は、検出した自車両1の姿勢情報を電子制御ユニット80に送信する。
GPS受信機24は、3個以上のGPS衛星からの信号を受信して自車両1の緯度及び経度を特定し、自車両1の現在位置を検出する。GPS受信機24は、検出した自車両1の現在位置情報を電子制御ユニット80に送信する。
ドライバ情報取得装置30は、自車両1のドライバの状態に関する情報(以下「ドライバ情報」という。)を取得するための装置である。図1及び図3に示すように、本実施形態によるドライバ情報取得装置30は、ドライバモニタカメラ31と、ステアリングタッチセンサ32と、を備える。
ドライバモニタカメラ31は、ステアリングコラムカバーの上面に取り付けられ、ドライバの外観を撮影する。ドライバモニタカメラ31は、撮影したドライバの映像を画像処理することで、ドライバの表情(ドライバの顔の向きや眼の開閉度など)や姿勢といったドライバの外観情報を検出する。そしてドライバモニタカメラ31は、検出したドライバの外観情報を電子制御ユニット80に送信する。
ステアリングタッチセンサ32は、ステアリングに取り付けられる。ステアリングタッチセンサ32は、ドライバがステアリングを把持しているか否かを検出し、検出したステアリングの把持情報を電子制御ユニット80に送信する。
地図データベース40は、地図情報に関するデータベースである。この地図データベース40は、例えば車両に搭載されたハードディスクドライブ(HDD;Hard Disk Drive)内に記憶されている。地図情報には、道路の位置情報や道路形状の情報(例えばカーブと直線部の種別、カーブの曲率など)、交差点及び分岐点の位置情報、道路種別などの情報などが含まれる。
記憶装置50は、自動運転専用の道路地図を記憶する。自動運転専用の道路地図は、ライダ11が生成した三次元画像に基づいて電子制御ユニット80が作成しており、電子制御ユニット80によって常時又は定期的に更新される。
HMI60は、ドライバ又は車両乗員と自動運転システム100との間で情報の入出力を行うためのインターフェイスである。本実施形態によるHMI60は、ドライバに各種の情報を提供するための情報提供装置61と、ドライバの音声を認識するためのマイク62と、ドライバが入力操作を行うためのタッチパネルや操作ボタンなど入力操作器63と、を備える。
情報提供装置61は、文字情報や画像情報を表示するためのディスプレイ611と、音を発生させるためのスピーカ612と、を備える。
ナビゲーション装置70は、HMI60を介してドライバによって設定された目的地まで自車両1を案内する装置である。ナビゲーション装置70は、GPS受信機24で検出した自車両1の現在位置情報と地図データベース40の地図情報とに基づいて、目的地までの目標ルートを演算し、演算した目標ルートに関する情報をナビゲーション情報として電子制御ユニット80に送信する。
電子制御ユニット80は、双方向性バスによって相互に接続された中央演算装置(CPU)、読み出し専用メモリ(ROM)、ランダムアクセスメモリ(RAM)、入力ポート、及び出力ポートを備えたマイク62ロコンピュータである。
電子制御ユニット80は、ドライバが手動運転モード(加速、操舵、及び制動に関する運転操作をドライバが行うモード)から自動運転モードに切り替えたときに、図4に示す各運転支援操作の中からドライバによる実施許可を得た運転支援操作を自動的に行う自動運転制御部90を備える。自動運転制御部90は、パッケージ決定部91と、パッケージ提案部92と、運転支援実施部93と、パッケージ修正部94と、備えており、電子制御ユニット80に入力された周辺環境情報や自車両情報、ドライバ情報、ナビゲーション情報などの自動運転に必要な各種の情報に基づいて、各運転支援操作を行うために必要な各種の制御部品を制御し、車両の自動運転を実施する。
図4は、本実施形態において自動運転モード中に実施される運転支援操作の一覧を示した図である。
図4に示すように本実施形態では、運転支援操作を機能別に走行支援機能、視界支援機能、及び渋滞時支援機能の3つの機能群に大別している。
走行支援機能の欄に分別されている運転支援操作は、運転支援操作の中で、加速、操舵、及び制動の少なくとも1つを実施する機能(走行支援機能)を持つ運転支援操作である。本実施形態では、走行支援機能を持つ運転支援操作として、車間距離制御、車線追従制御、自動車線変更、自動追越、自動分流、及び自動合流を例示しているが、走行支援機能を持つ運転支援操作はこれらに限られるものではなく、必要に応じて図4に例示したものよりも多くしても良いし、少なくしても良い。
なお車間距離制御とは、車速に応じた適切な車間距離を保持しながら先行車の車速の変化に合わせて追従走行を行うことができるように、制限車速の範囲内で自動的に車速の調節を行う制御である。車線追従制御とは、走行レーンの車線幅に応じた適切な走行ラインを自車両1が走行するように、自動的に操舵量や車速の調節を行う制御である。
視界支援機能の欄に分別されている運転支援操作は、走行支援機能を持たない(すなわち加速、操舵、及び制動のいずれも実施しない)運転支援操作の中で、ドライバの視界、ひいては安全を確保する機能(視界支援機能)を持つ運転支援操作である。本実施形態では、視界支援機能を持つ運転支援操作として、車線逸脱警報やブラインドスポットモニタなどの11個の運転支援操作を例示しているが、視界支援機能を持つ運転支援操作はこれらに限られるものではなく、必要に応じて図4に例示したものよりも多くしても良いし、少なくしても良い。
渋滞時支援機能の欄に分別されている運転支援操作は、渋滞時におけるドライバ及び乗員の疲労を緩和させる機能(渋滞時支援機能)を持つ運転支援操作である。本実施形態では、渋滞時支援機能を持つ運転支援操作として、渋滞時における停止からの自動発進やハザードランプの一時点灯制御などの8個の運転支援操作を例示しているが、渋滞時支援機能を持つ運転支援操作はこれらに限られるものではなく、必要に応じて図4に例示したものよりも多くしても良いし、少なくしても良い。
ここで、前述したように、手動運転モードから自動運転モードに切り替えられると、各運転支援操作の中からドライバによる実施許可を得た運転支援操作を自動的に行う自動運転が実施されることになる。このような自動運転を実施するにあたっては、自動運転の開始前や実施中に、周辺環境状態や自車両状態、ドライバ状態に応じてドライバが各運転支援操作の実施可否を設定できるようにすることが望ましい。
しかしながら、自動運転を実施するにあたって各運転支援操作の実施可否を一つ一つドライバが設定しなければならないと、非常に手間がかかり、自動運転の利便性を失わせることになる。また周辺環境状態や自車両状態、ドライバ状態は、車両走行中に時々刻々と変化する。そのため、車両走行中にドライバが自ら各運転支援操作の実施可否の設定を行って、これらの状態に適した自動運転を実施させるのは困難である。
そこで本実施形態では、周辺環境情報、自車両情報、及びドライバ情報に基づいて、各運転支援操作の実施可否を一括りにまとめてパッケージ化した運転支援パッケージを決定し、決定した運転支援パッケージをドライバに提案することとした。具体的には、図5から図10に示す各パッケージ群の中から気象条件、日照条件、道路種別、道路状況、ドライバ状態、及び自車両状態に応じた最適な単位パッケージを選択し、選択した各単位パッケージを組み合わせることで決定した運転支援パッケージをドライバに提案することとした。
これにより、複数の運転支援操作の中からドライバによる実施許可を得た運転支援操作を自動的に行う自動運転を実施する場合において、周辺環境状態、自車両状態、及びドライバ状態が変化したときには、変化した各状態に適した運転支援パッケージをその都度ドライバに提案することができる。ドライバに提案される運転支援パッケージは、各運転支援操作の実施可否が予めパッケージ化されたものなので、ドライバは各運転支援操作の実施可否の設定を行う必要がなくなる。そのため、周辺環境状態、自車両状態、及びドライバ状態に適した自動運転を、ドライバによって簡便に実施させることができる。
一方、提案した運転支援パッケージをドライバが承認した後は、当該運転支援パッケージに基づく自動運転が行われ、ドライバによる実施許可を得た運転支援操作、すなわちドライバが承認した運転支援パッケージの中で実施が許可されている運転支援操作が自動的に行われることになる。
しかしながら、実際に運転支援パッケージに基づく自動運転が行われると、ドライバによっては、当該運転支援パッケージに基づいて行われる自動運転に対して違和感を持つおそれがある。すなわち、ドライバによっては、現在の周辺環境状態、自車両状態、及びドライバ状態において実施して欲しくない運転支援操作が実施されたり、又は現在の周辺環境状態、自車両状態、及びドライバ状態において実施して欲しい運転支援操作が、運転支援パッケージにおいて実施不許可となっているために実施されなかったりすることが想定される。
ドライバにとって実施して欲しくない運転支援操作が実施されると、ドライバによってその運転支援操作を中止する操作介入が行われる頻度が増加するおそれがある。また、ドライバにとって実施して欲しい運転支援操作が実施されないと、ドライバによってその運転支援操作を実施する操作介入が行われる頻度が増加するおそれがある。
このように、運転支援パッケージに基づいて行われる自動運転に対してドライバが違和感を持つと、操作介入の頻度が増加するおそれがあり、結果として自動運転の利便性を失わせることになる。
また、運転支援パッケージに基づいて或る運転支援操作が自動的に行われた場合に、その運転支援操作を中止する操作介入を行うほどではないが、その運転支援操作に対してドライバが不安を感じたり、又は緊張した状態になったりすることも考えられる。このように、ドライバを不安定な状態、又は緊張状態にしてしまう運転支援操作は、ドライバにとって好ましい運転支援操作ではないものと想定される。このような運転支援操作が継続して実施されると、運転支援パッケージに基づいて行われる自動運転に対してドライバが違和感を持つことになり、好ましい状態とは言えない。
そこで本実施形態ではさらに、ドライバの意思を反映させた自動運転を行うことができるように、運転支援パッケージに基づく自動運転中に当該運転支援パッケージをドライバの意思に合わせて修正できるようにした。
以下、図5から図10を参照して、各パッケージ群について説明した後、図11から図14を参照して本実施形態による自動運転制御について説明する。なお図5から図10において、マルが実施許可を表し、バツが実施不許可を表す。また各パッケージ群は、電子制御ユニット80のROMに記憶されている。
図5は、気象条件に関するパッケージ群を示す図である。気象条件に関するパッケージ群は、気象条件を晴、雨、大雨、雪、大雪、霧、濃霧、風、及び強風の9つに大別し、気象条件ごとに各運転支援操作の実施可否をパッケージ化したものである。
本実施形態では、外部カメラ13で検出した自車両周辺の気象情報(雨や雪、霧などの情報)と、外部情報受信装置16で受信した外部情報に含まれる気象情報(雨や雪、霧、風速などの情報)とに基づいて、気象条件の判定を実施している。
図6は、日照条件に関するパッケージ群を示す図である。日照条件に関するパッケージ群は、日照条件を昼と夜とに大別し、日照条件ごとに各運転支援操作の実施可否をパッケージ化したものである。
本実施形態では、照度センサ14で検出した照度情報と、日時とに基づいて、日照条件の判定を実施している。
図7は、道路種別に関するパッケージ群を示す図である。道路種別に関するパッケージ群は、道路種別を一般道路、幹線道路、東名高速道路や名神高速道路等の都市間高速道路、及び首都高速道路や阪神高速道路等の都市高速道路の4つに大別し、道路種別ごとに各運転支援操作の実施可否をパッケージ化したものである。
本実施形態では、外部カメラ13で検出した自車両前方の道路情報と、地図データベース40の地図情報に含まれる道路種別情報とに基づいて、道路種別の判定を実施している。
図8は、道路状況に関するパッケージ群を示す図である。道路状況に関するパッケージ群は、道路状況を渋滞と非渋滞とに大別し、道路状況ごとに各運転支援操作の実施可否をパッケージ化したものである。なお本実施形態において、「渋滞」とは、自車両周辺に他車両(先行車又は後続車)があり、かつ、自車両1及び自車両周辺の他車両の車速が継続的に一定速度(例えば一般道路や幹線道路では20[km/h]、都市間高速道路や都市高速走路では40[km/h])以下となっている状態をいう。一方で「非渋滞」とは、渋滞以外の状態をいう。
本実施形態では、ライダ11で生成した三次元画像の情報と、ミリ波レーダーセンサ12で検出した自車両周辺情報と、外部カメラ13で検出した自車両前方の障害物情報及び道路情報と、外部情報受信装置16で受信した外部情報に含まれる渋滞情報と、車速センサ21で検出した車速情報とに基づいて、道路状況の判定を実施している。
図9は、ドライバ状態に関するパッケージ群を示す図である。ドライバ状態に関するパッケージ群は、ドライバ状態を眠気、疲労、過労、漫然、及び平常の5つに大別し、ドライバ状態ごとに各運転支援操作の実施可否をパッケージ化したものである。なお本実施形態において、「眠気」とは、すぐには運転をやめなければならない程ではないが、眠気を原因として運転操作に対するドライバの集中力が低下している状態をいう。「疲労」とは、すぐには運転をやめなければならない程ではないが、疲労を原因として運転操作に対するドライバの集中力が低下している状態をいう。「漫然」とは、例えばドライバが携帯電話やタブレットパソコン等の携帯機器の操作や動画の視聴等といった運転操作以外のセカンドタスクを実施している場合や、脇見をしている場合など、眠気や疲労以外の要因によって運転操作に対するドライバの集中力が低下している状態をいう。「過労」とは、すぐに運転をやめなければならない程、眠気や疲労、漫然によって運転操作に対するドライバの集中力が低下している状態をいう。「平常」とは、眠気、疲労、過労、及び漫然以外の状態をいう。
本実施形態では、ドライバモニタカメラ31で検出したドライバの外観情報と、ステアリングタッチセンサ32で検出したステアリングの把持情報とに基づいて、ドライバ状態の判定を実施している。具体的には、ステアリングの把持情報を参照しつつ、ドライバの外観情報からドライバの表情(顔の向きや眼の開閉度など)を検出し、検出したドライバの表情を予めROMに記憶させたドライバ状態に応じた表情と比較することで、ドライバ状態の判定を実施している。
なお、ドライバ状態を判定するための指標となるのはドライバの外観情報やステアリングの把持情報に限られるものではなく、例えばドライバの心拍数や脈拍数、脳波などを検出し、これらを予めROMに記憶させたドライバ状態に応じた心拍数や脈拍数、脳波などと比較して、ドライバ状態の判定をしても良い。
図10は、自車両状態に関するパッケージ群を示す図である。自車両状態に関するパッケージ群は、自車両状態を不安定と安定とに大別し、自車両状態ごとに各運転支援操作の実施可否をパッケージ化したものである。なお本実施形態において、自車両状態が「不安定」とは、ピッチングやローリング、ヨーイングなどが継続して起こっており、自車両1の挙動が乱れている状態をいう。ピッチングとは、車両の重心を通る左右方向の水平軸を中心にして車両が前後に揺動している状態のことをいう。ローリングとは、車両の重心を通る前後方向の水平軸を中心にして車両が左右に揺動している状態のことをいう。ヨーイングとは、車両の重心を通る鉛直軸を中心にして車両が左右に揺動している状態のことをいう。一方で自車両状態が「安定」とは、不安定以外の状態、すなわち自車両1の挙動が乱れている状態をいう。
本実施形態では、加速度センサ22で検出した加速度情報と、ヨーレートセンサ23で検出した自車両1の姿勢情報と、に基づいて、自車両状態の判定を実施している。
図11は、電子制御ユニット80が実施する本実施形態による自動運転制御について説明するフローチャートである。電子制御ユニット80は、本ルーチンを所定の演算周期で繰り返し実施する。
ステップS1において、電子制御ユニット80は、車両の運転モードが自動運転モードか否かを判定する。電子制御ユニット80は、車両の運転モードが自動運転モードであれば、ステップS2の処理に進む。一方で電子制御ユニット80は、運転モードが手動運転モードであれば、ステップS10の処理に進む。
ステップS2において、電子制御ユニット80は、周辺環境情報と、自車両情報と、ドライバ情報とに基づいて、運転支援パッケージを決定する。
具体的には、まず電子制御ユニット80は、周辺環境情報と、自車両情報と、ドライバ情報とに基づいて、周辺環境状態(本実施形態では気象条件、日照条件、道路種別、及び道路状況)、自車両状態、及びドライバ状態を特定する。
次に電子制御ユニット80は、気象条件に関するパッケージ群の中から現在の気象条件として特定された気象条件の単位パッケージを選択する。例えば現在の気象条件が「大雨」であると特定されたときは、電子制御ユニット80は気象条件に関するパッケージ群の中から「大雨」の単位パッケージを選択する。同様にして電子制御ユニット80は、日照条件に関するパッケージ群の中から現在の日照条件として特定された日照条件の単位パッケージを選択し、道路種別に関するパッケージ群の中から現在走行中の道路種別として特定された道路種別の単位パッケージを選択し、道路状況に関するパッケージ群の中から現在の道路状況として特定された道路状況の単位パッケージを選択し、ドライバ状態に関するパッケージ群の中から現在のドライバ状態として特定されたドライバ状態の単位パッケージを選択し、自車両状態に関するパッケージ群の中から現在の自車両状態として特定された自車両状態の単位パッケージを選択する。
最後に電子制御ユニット80は、選択した各単位パッケージを組み合わせることで、運転支援パッケージを決定する。このとき本実施形態では、走行支援機能についてはAND条件で組み合わせ、視界支援機能及び渋滞時支援機能についてはOR条件で組み合わせている。
したがって、走行支援機能の欄の各運転支援操作については、全ての単位パッケージで実施許可(マル)となっている運転支援操作が、運転支援パッケージにおいて実施許可となる。一方で、少なくとも1つの単位パッケージで実施不許可(バツ)となっている運転支援操作が、運転支援パッケージにおいて実施不許可となる。
また、視界支援機能及び渋滞時支援機能の欄の各運転支援操作については、少なくとも1つの単位パッケージで実施許可となっている運転支援操作が、運転支援パッケージにおいて実施許可となる。また、全ての単位パッケージで実施許可となっている運転支援操作も、運転支援パッケージにおいて実施許可となる。一方で、全ての単位パッケージで実施不許可となっている運転支援操作が、運転支援パッケージにおいて実施不許可となる。
このように本実施形態では、走行支援機能についてはAND条件で組み合わせ、視界支援機能及び渋滞時支援機能についてはOR条件で組み合わせているが、その組み合わせ方法は限られるものではなく、必要に応じてAND条件又はOR条件で組み合わせれば良い。また、各機能を全てAND条件で組み合わせても、またOR条件で組み合わせても良い。
ステップS3において、電子制御ユニット80は、ステップS2で決定された運転支援パッケージの修正パッケージがあるか否かを判定する。この修正パッケージの詳細については、図12から図14を参照して後述する。電子制御ユニット80は、修正パッケージがあればステップS4の処理に進む。一方で電子制御ユニット80は、修正パッケージがなければステップS5の処理に進む。
ステップS4において、電子制御ユニット80は、ステップS2で決定された運転支援パッケージに替えて、修正パッケージを運転支援パッケージとする。すなわち電子制御ユニット80は、ステップS2で決定された運転支援パッケージを修正パッケージに更新する。
ステップS5において、電子制御ユニット80は、新たに決定された運転支援パッケージをドライバに提案する必要があるか否かを判定する。具体的には電子制御ユニット80は、新たに決定された運転支援パッケージが、現在選択されている運転支援パッケージと異なるものであるか否かを判定する。
なお、ここでいう新たに決定された運転支援パッケージとは、ステップS3で修正パッケージがないと判定された場合は、ステップS2で決定された運転支援パッケージであり、ステップS3で修正パッケージがあると判定された場合は、ステップS4で修正パッケージに更新された運転支援パッケージである。
電子制御ユニット80は、新たに決定された運転支援パッケージが現在選択されている運転支援パッケージと異なるものであれば、ステップS6の処理に進む。一方で電子制御ユニット80は、新たに決定された運転支援パッケージが、現在選択されている運転支援パッケージと同じものであれば、ステップS10の処理に進む。
ステップS6において、電子制御ユニット80は、新たに決定された運転支援パッケージへの切り替えを、HMI60を介してドライバに提案する。本実施形態では電子制御ユニット80は、新たに決定された運転支援パッケージをディスプレイ611に表示すると共に、スピーカ612によって当該運転支援パッケージへの切り替えを提案する。
ここで運転支援パッケージは、各運転支援操作の実施可否を予め一括りにまとめてパッケージ化したものである。そのため、ドライバに運転支援パッケージを提案する際には、例えばタッチパネル上に1つの承認ボタンを表示するなどして、ドライバが一度の操作で運転支援パッケージの切り替えを実行することができるような形態で運転支援パッケージを提案することができる。したがって、ドライバは容易に運転支援パッケージの切り替えを実行することができる。
ステップS7において、電子制御ユニット80は、提案した運転支援パッケージへの切り替えをドライバが承認したか否かを判定する。具体的には電子制御ユニットは、運転支援パッケージを提案してから所定時間が経過するまでの間に、ドライバがHMI60を介して承認の意思を示した場合に、提案した運転支援パッケージへの切り替えをドライバが承認したと判定する。電子制御ユニット80は、提案した運転支援パッケージへの切り替えをドライバが承認したと判定したときは、ステップS8の処理に進む。一方で電子制御ユニット80は、提案した運転支援パッケージへの切り替えをドライバが承認しなかったと判定したときは、ステップS9の処理に進む。
ステップS8において、電子制御ユニット80は、運転支援パッケージを新たに決定された運転支援パッケージに切り替える。
ステップS9において、電子制御ユニット80は、現在の運転支援パッケージを維持する。
ステップS10において、電子制御ユニット80は、現在選択されている運転支援パッケージに基づいて自動運転を実施する。具体的には、ドライバの承認が得られている運転支援パッケージの中で、実施が許可されている運転支援操作が自動的に行われるように、車両を制御する。
ステップS11において、電子制御ユニット80は、運転モードが自動運転モードに切り替えられるまで、全ての運転支援操作の自動実施を停止する。
なお、本実施形態では、周辺環境情報、自車両情報、及びドライバ情報の3つの情報に基づいて運転支援パッケージを決定していたが、必ずしもこれら3つの情報が必要なわけでない。例えば気象条件に関するパッケージ群しか有していない場合であれば、周辺環境情報のみに基づいて運転支援パッケージを決定すればよい。また自車両状態に関するパッケージ群しか有していない場合であれば、自車両情報のみに基づいて運転支援パッケージを決定すればよい。またドライバ状態に関するパッケージ群しか有していない場合であれば、ドライバ情報のみに基づいて運転支援パッケージを決定すればよい。
このように運転支援パッケージは、ROMに記憶されたパッケージ群の種類に応じて、必要な情報に基づき決定すればよいものである。すなわち運転支援パッケージは、ROMに記憶されたパッケージ群の種類に応じて、周辺環境情報、自車両情報、及びドライバ情報の少なくとも1つに基づき決定すればよいものである。
続いて図12から図14を参照して、現在選択されている運転支援パッケージに基づく自動運転を実施しているときに実施される当該運転支援パッケージの修正制御について説明する。
図12は、現在選択されている運転支援パッケージで実施が許可されている運転支援操作を中止する操作介入の回数(カウンタf1)に基づいて、当該運転支援パッケージの修正パッケージを設定するためのフローチャートである。電子制御ユニット80は、本ルーチンを運転支援パッケージに基づく自動運転中に所定の演算周期で繰り返し実施する。
ステップS21において、電子制御ユニット80は、運転支援パッケージで実施が許可されている運転支援操作を中止する操作介入があったか否かを判定する。運転支援パッケージで実施が許可されている運転支援操作を中止する操作介入の例としては、運転支援操作として自動追越が許可となっていて、電子制御ユニット80の判断で自動追越を実施しようとしたときに、ドライバによってその自動追越を中止する操作(例えば操舵や制動)が実施された場合などが挙げられる。電子制御ユニット80は、運転支援パッケージで実施が許可されている運転支援操作を中止する操作介入があればステップS22の処理に進む。一方で電子制御ユニット80は、運転支援パッケージで実施が許可されている運転支援操作を中止する操作介入がなければ今回の処理を終了する。
ステップS22において、電子制御ユニット80は、操作介入が生じた運転支援操作に対応するカウンタf1を呼び出し、当該カウンタf1の値を1つ増加させる。カウンタf1は、運転支援操作ごとに設定されており、対応する運転支援操作を中止する操作介入が生じた回数をカウントするためのものである。カウンタf1の初期値はゼロとされる。なおカウンタf1は、1トリップごとに初期値のゼロに戻しても良いし、所定期間(例えば数か月間)は初期値に戻さずに記憶させて、積算するようにしても良い。
ステップS23において、電子制御ユニット80は、ステップS22で更新されたカウンタf1が所定の閾値以上か否かを判定する。電子制御ユニット80は、ステップS22で更新されたカウンタf1が所定の閾値以上であればステップS24の処理に進み、所定の閾値未満であれば今回の処理を終了する。
ステップS24において、電子制御ユニット80は、所定の閾値以上となったカウンタf1に対応する運転支援操作を、実施許可から実施不許可に変更したパッケージを、現在選択されている運転支援パッケージの修正パッケージとして設定する。
これにより、現在選択されている運転支援パッケージと同じ運転支援パッケージが図11のフローチャートのステップS2で決定されたときは、その決定された運転支援パッケージに替えて、当該運転支援パッケージの修正パッケージが図11のフローチャートのステップS6でドライバに提案されることになる。
そのため、現在選択されている運転支援パッケージにおいて、運転支援操作を中止する操作介入が所定回数(=所定閾値)以上行われた運転支援操作は、修正パッケージでは実施不許可となっているので、ドライバの意思を反映させた自動運転を実施することができるようになる。したがって、自動運転中にドライバが違和感を持つ頻度を低下させることができる。
図13は、現在選択されている運転支援パッケージで実施が許可されていない運転支援操作を実施する操作介入の回数(カウンタf2)に基づいて、当該運転支援パッケージの修正パッケージを設定するためのフローチャートである。電子制御ユニット80は、本ルーチンを運転支援パッケージに基づく自動運転中に所定の演算周期で繰り返し実施する。
ステップS31において、電子制御ユニット80は、運転支援パッケージで実施が許可されていない運転支援操作を実施する操作介入があったか否かを判定する。運転支援パッケージで実施が許可されていない運転支援操作を実施する操作介入の例としては、運転支援操作として自動追越が不許可となっているときに、ドライバによってその自動追越を実施する操作(例えば操舵や加速)が実施された場合などが挙げられる。電子制御ユニット80は、運転支援パッケージで実施が許可されていない運転支援操作を実施する操作介入があればステップS32の処理に進む。一方で電子制御ユニット80は、運転支援パッケージで実施が許可されていない運転支援操作を実施する操作介入がなければ今回の処理を終了する。
ステップS32において、電子制御ユニット80は、操作介入が生じた運転支援操作に対応するカウンタf2を呼び出し、当該カウンタf2の値を1つ増加させる。カウンタf2は、運転支援操作ごとに設定されており、対応する運転支援操作を実施する操作介入が生じた回数をカウントするためのものである。カウンタf2の初期値はゼロとされる。なおカウンタf2は、1トリップごとに初期値のゼロに戻しても良いし、所定期間(例えば数か月間)は初期値に戻さずに記憶させて、積算するようにしても良い。
ステップS33において、電子制御ユニット80は、ステップS32で更新されたカウンタf2が所定の閾値以上か否かを判定する。電子制御ユニット80は、ステップS22で更新されたカウンタf2が所定の閾値以上であればステップS34の処理に進み、所定の閾値未満であれば今回の処理を終了する。なお、カウンタf2と比較する閾値の値は、カウンタf1と比較する閾値の値と同じでも良いし、異なっていても良い。
ステップS34において、電子制御ユニット80は、所定の閾値以上となったカウンタf2に対応する運転支援操作を、実施不許可から実施許可に変更したパッケージを、現在選択されている運転支援パッケージの修正パッケージとして設定する。
これにより、現在選択されている運転支援パッケージと同じ運転支援パッケージが図11のフローチャートのステップS2で決定されたときは、その決定された運転支援パッケージに替えて、当該運転支援パッケージの修正パッケージが図11のフローチャートのステップS6でドライバに提案されることになる。
そのため、現在選択されている運転支援パッケージにおいて、運転支援操作を実施する操作介入が所定回数以上行われた運転支援操作は、修正パッケージでは実施許可となっているので、ドライバの意思を反映させた自動運転を実施することができるようになる。したがって、自動運転中にドライバが違和感を持つ頻度を低下させることができる。
図14は、運転支援操作中のドライバ情報に基づいて、当該運転支援パッケージの修正パッケージを設定するためのフローチャートである。電子制御ユニット80は、本ルーチンを運転支援パッケージに基づく自動運転中に所定の演算周期で繰り返し実施する。
ステップS41において、電子制御ユニット80は、実施中の運転支援操作を特定し、その特定した運転支援操作中のドライバ情報に基づいて、ドライバが不安定な状態又は緊張状態にあるか否かを判定する。本実施形態では電子制御ユニット80は、ドライバモニタカメラ31で検出したドライバの外観情報と、ステアリングタッチセンサ32で検出したステアリングの把持情報とに基づいて、ドライバが不安定な状態又は緊張状態にあるか否かを判定している。具体的には、ステアリングの把持情報を参照しつつ、ドライバの外観情報からドライバの表情(顔の向きや眼の開閉度など)を検出し、検出したドライバの表情を予めROMに記憶させたドライバ状態に応じた表情と比較することで、ドライバが不安定な状態又は緊張状態にあるか否かを判定している。
電子制御ユニット80は、運転支援操作中のドライバ情報に基づいて、ドライバが不安定な状態又は緊張状態にあると判定したときは、ステップS42の処理に進み、ドライバが不安定な状態又は緊張状態にないと判定したときは、今回の処理を終了する。
なお、ドライバが不安定な状態又は緊張状態にあるか否かを判定するための指標となるのはドライバの外観情報やステアリングの把持情報に限られるものではなく、例えばドライバの心拍数や脈拍数、脳波などを検出し、これらを予めROMに記憶させたドライバ状態に応じた心拍数や脈拍数、脳波などと比較して、ドライバが不安定な状態又は緊張状態にあるか否かの判定をしても良い。
ステップS42において、電子制御ユニット80は、ドライバが不安定な状態又は緊張状態となった運転支援操作に対応するカウンタf3を呼び出し、当該カウンタf3の値を1つ増加させる。カウンタf3は、運転支援操作ごとに設定されており、対応する運転支援操作の実施中にドライバが不安定な状態又は緊張状態となった回数をカウントするためのものである。カウンタf3の初期値はゼロとされる。なおカウンタf3は、1トリップごとに初期値のゼロに戻しても良いし、所定期間(例えば数か月間)は初期値に戻さずに記憶させて、積算するようにしても良い。
ステップS43において、電子制御ユニット80は、ステップS42で更新されたカウンタf3が所定の閾値以上か否かを判定する。電子制御ユニット80は、ステップS42で更新されたカウンタf3が所定の閾値以上であればステップS44の処理に進み、所定の閾値未満であれば今回の処理を終了する。なお、カウンタf3と比較する閾値の値は、カウンタf1やカウンタf2と比較する閾値の値と同じでも良いし、異なっていても良い。
ステップS44において、電子制御ユニット80は、所定の閾値以上となったカウンタf3に対応する運転支援操作を、実施許可から実施不許可に変更したパッケージを、現在選択されている運転支援パッケージの修正パッケージとして設定する。
これにより、現在選択されている運転支援パッケージと同じ運転支援パッケージが図11のフローチャートのステップS2で決定されたときは、その決定された運転支援パッケージに替えて、当該運転支援パッケージの修正パッケージが図11のフローチャートのステップS6でドライバに提案されることになる。
そのため、現在選択されている運転支援パッケージにおいて、運転支援操作中にドライバが不安定な状態又は緊張状態となった運転支援操作は、修正パッケージでは実施不許可となっているので、ドライバの意思を反映させた自動運転を実施することができるようになる。したがって、自動運転中にドライバが違和感を持つ頻度を低下させることができる。
以上説明した本実施形態によれば、自車両の周辺環境状態に関する周辺環境情報を取得するための周辺環境情報取得装置10と、自車両の状態に関する自車両情報を取得するための自車両情報取得装置20と、自車両のドライバの状態に関するドライバ情報を取得するためのドライバ情報取得装置30と、を備える車両を制御する電子制御ユニット80(制御装置)が、複数の運転支援操作の中からドライバによる実施許可を得た運転支援操作を自動的に行う自動運転制御部90を備える。
そして自動運転制御部90が、周辺環境情報、自車両情報、及びドライバ情報の少なくとも1つに基づいて、複数の運転支援操作のそれぞれの実施可否をパッケージ化した運転支援パッケージを決定するパッケージ決定部91と、運転支援パッケージで実施が許可されている運転支援操作の実施許可を得るために、当該運転支援パッケージへの切り替えをドライバに提案するパッケージ提案部92と、パッケージ提案部によって提案された運転支援パッケージへの切り替えをドライバが承認した場合に、当該運転支援パッケージで実施が許可されている運転支援操作を自動的に行う運転支援実施部93と、パッケージ決定部91によって決定され、ドライバによって承認された運転支援パッケージの内容を、ドライバによる操作介入の回数、及び運転支援操作中の前記ドライバ情報の少なくとも1つに基づいて修正するパッケージ修正部94と、を備えるように構成されている。
これにより、複数の運転支援操作の中からドライバによる実施許可を得た運転支援操作を自動的に行う自動運転を実施する場合において、周辺環境状態、自車両状態、及びドライバ状態が変化したときには、変化した各状態に適した運転支援パッケージをその都度ドライバに提案することができる。ドライバに提案される運転支援パッケージは、各運転支援操作の実施可否が予めパッケージ化されたものなので、ドライバは各運転支援操作の実施可否の設定を行う必要がなくなる。そのため、周辺環境状態、自車両状態、及びドライバ状態に適した自動運転を、ドライバによって簡便に実施させることができる。
さらに、提案した運転支援パッケージをドライバが承認した後は、当該運転支援パッケージの内容が、ドライバによる操作介入の回数、及び運転支援操作中のドライバ情報の少なくとも1つに基づいて修正されるので、ドライバの意思を反映させた自動運転を実施することができるようになる。したがって、自動運転中にドライバが違和感を持つ頻度を低下させて、自動運転中におけるドライバの違和感を軽減させることができる。
以上、本発明の実施形態について説明したが、上記実施形態は本発明の適用例の一部を示したに過ぎず、本発明の技術的範囲を上記実施形態の具体的構成に限定する趣旨ではない。
例えば上記の実施形態では、各単位パッケージを組み合わせることで、運転支援パッケージを作成していたが、予め組み合わせたものから運転支援パッケージを選択するようにしても良い。
また上記の実施形態において、修正パッケージを運転支援パッケージとする場合には、操作介入が行われた場所や時間帯、ドライバの心拍数や体温といったドライバの状態を関連付けるようにして、場所や時間帯、ドライバの状態が同じときに限って修正パッケージを運転支援パッケージするようにしても良い。