以下、本発明の実施形態について図面を参照しながら説明する。なお、図面の説明において同一の要素には同一の符号を付し、重複する説明を省略する。
図1に示すように、本実施形態の自動運転装置100は、乗用車等の車両Vに搭載され、車両Vの運転状態を自動運転状態、及び手動運転状態のいずれかに切り換える。手動運転状態とは、運転者による運転操作を車両Vの走行に反映させる運転状態である。自動運転状態とは、運転者が運転操作を行う必要なく、車両Vが自動で走行する運転状態である。自動運転状態とは、車両Vの速度制御及び操舵制御を含む自動運転制御が自動運転装置100によって実行されている運転状態である。
図1に示すように、自動運転装置100は、自動運転を実行するためのECU10を備えている。ECU10は、CPU[Central Processing Unit]、ROM[Read Only Memory]、RAM[Random Access Memory]、CAN[Controller Area Network]通信回路等を有する電子制御ユニットである。ECU10では、ROMに記憶されているプログラムをRAMにロードし、RAMにロードされたプログラムをCPUで実行することにより各種の機能を実現する。ECU10は、複数の電子制御ユニットから構成されていてもよい。ECU10には、外部センサ1、GPS受信部2、内部センサ3、地図データベース4、運転者操作検出部5、ドライバモニタカメラ6、ナビゲーションシステム7、アクチュエータ8、及びHMI[Human Machine Interface]9が接続されている。
外部センサ1は、車両Vの周辺の障害物等を検出するための検出機器である。外部センサ1は、カメラ及びレーダセンサのうち少なくとも一つを含む。カメラは、車両Vの外部状況を撮像する撮像機器である。カメラは、車両Vのフロントガラスの裏側及び車両Vの背面に設けられている。カメラは、車両Vの左右側面に設けられていてもよい。カメラは、車両Vの前方及び後方を撮像した撮像情報をECU10へ送信する。レーダセンサは、レーダー[Radar]、及びライダー[LIDAR:Laser Imaging Detection and Ranging]のうち少なくとも一つを含む。レーダセンサは、電波(例えばミリ波)又は光を利用して車両Vの周辺の障害物を検出する。レーダセンサは、電波又は光を車両Vの周辺に送信し、障害物で反射された電波又は光を受信することで障害物を検出する。レーダセンサは、検出した障害物情報をECU10へ送信する。障害物には、ガードレール、建物等の固定障害物の他、歩行者、自転車、他車両等の移動障害物が含まれる。
GPS受信部2は、車両Vに搭載され、車両Vの位置を測定する位置測定部として機能する。GPS受信部2は、3個以上のGPS衛星から信号を受信することにより、車両Vの位置(例えば車両Vの緯度及び経度)を測定する。GPS受信部2は、測定した車両Vの位置の情報をECU10へ送信する。
内部センサ3は、車両Vの走行状態、及び車両Vの運転者の運転操作を検出する検出器である。内部センサ3は、車両Vの走行状態を検出するために、車速センサ、加速度センサ、及びヨーレートセンサを含む。
車速センサは、車両Vの速度を検出する検出器である。車速センサとしては、車両Vの車輪又は車輪と一体に回転するドライブシャフト等に対して設けられ、車輪の回転速度を検出する車輪速センサが用いられる。車速センサは、検出した車速情報をECU10に送信する。加速度センサは、車両Vの加速度を検出する検出器である。加速度センサは、車両Vの前後方向の加速度を検出する前後加速度センサと、車両Vの横加速度を検出する横加速度センサとを含んでいる。加速度センサは、車両Vの加速度情報をECU10に送信する。ヨーレートセンサは、車両Vの重心の鉛直軸周りのヨーレート(回転角速度)を検出する検出器である。ヨーレートセンサとしては、ジャイロセンサを用いることができる。ヨーレートセンサは、検出した車両Vのヨーレート情報をECU10へ送信する。
地図データベース4は、地図情報を記憶するデータベースである。地図データベース4は、車両Vに搭載されたHDD[Hard Disk Drive]内に形成されている。地図情報には、例えば、道路の位置情報、道路形状の情報、交差点及び分岐点の位置情報、道路の制限速度が含まれる。道路形状の情報には、例えばカーブ、直線部の種別、カーブの曲率、路面の傾斜(上り坂、下り坂)等が含まれる。なお、地図データベース4は、車両Vと通信可能なサーバに記憶されていてもよい。
運転者操作検出部5は、車両Vの運転者による車両Vへの操作を検出する機器である。運転者操作検出部5には、操舵センサ、アクセルペダルセンサ、ブレーキペダルセンサが含まれる。操舵センサは、運転者によるステアリング操作の操作量を検出する。操舵センサは、例えば、車両Vのステアリングシャフトに対して設けられている。操舵センサは、運転者によるステアリング操作の操作量として、運転者がステアリングホイールを回転させた操舵角を検出する。操舵センサは、操舵角の他、運転者によるステアリング操作の操作量として、操舵トルクを検出してもよい。アクセルペダルセンサは、運転者によるアクセルペダル操作の操作量を検出する。アクセルペダルセンサは、例えば、アクセルペダルのシャフト部分に対して設けられている。アクセルペダルセンサは、アクセル操作の操作量として、運転者によるアクセルペダルの踏込み量を検出する。ブレーキペダルセンサは、運転者によるブレーキペダル操作の操作量を検出する。ブレーキペダルセンサは、例えば、ブレーキペダルのシャフト部分に対して設けられている。ブレーキペダルセンサは、ブレーキ操作の操作量として、運転者によるブレーキペダルの踏込み量を検出する。運転者操作検出部5は、運転者による車両Vへの操作の検出結果をECU10へ送信する。
ドライバモニタカメラ6は、例えば、車両Vのステアリングコラムのカバー上で運転者の正面の位置に設けられ、運転者の撮像を行う。ドライバモニタカメラ6は、運転者を複数方向から撮像するため、複数個設けられていてもよい。ドライバモニタカメラ6は、運転者の撮像情報をECU10へ送信する。
ナビゲーションシステム7は、車両Vに搭載され、自動運転によって車両Vが走行する目標ルートを設定する。ナビゲーションシステム7は、予め設定された目的地、GPS受信部2によって測定された車両Vの位置、及び地図データベース4の地図情報に基づいて、車両Vの位置から目的地に至るまでの目標ルートを演算する。自動運転制御の目的地は、車両Vの乗員がナビゲーションシステム7に設けられた入力ボタン(又はタッチパネル)を操作することにより設定される。目標ルートは、道路を構成する車線を区別して設定され。ナビゲーションシステム7は、周知の手法により目標ルートを設定することができる。ナビゲーションシステム7は、ディスプレイの表示及びスピーカの音声出力により運転者に対して目標ルートの報知を行う。ナビゲーションシステム7は、車両Vの目標ルートの情報をECU10へ出力する。
アクチュエータ8は、車両Vの走行制御を実行する装置である。アクチュエータ8は、スロットルアクチュエータ、ブレーキアクチュエータ、及び操舵アクチュエータを少なくとも含む。スロットルアクチュエータは、ECU10からの制御信号に応じてエンジンに対する空気の供給量(スロットル開度)を制御し、車両Vの駆動力を制御する。なお、車両Vがハイブリッド車である場合には、エンジンに対する空気の供給量の他に、動力源としてのモータにECU10からの制御信号が入力されて当該駆動力が制御される。車両Vが電気自動車である場合には、動力源としてのモータにECU10からの制御信号が入力されて当該駆動力が制御される。これらの場合における動力源としてのモータは、アクチュエータ8を構成する。
ブレーキアクチュエータは、ECU10からの制御信号に応じてブレーキシステムを制御し、車両Vの車輪へ付与する制動力を制御する。ブレーキシステムとしては、液圧ブレーキシステムを用いることができる。操舵アクチュエータは、電動パワーステアリングシステムのうち操舵トルクを制御するアシストモータの駆動を、ECU10からの制御信号に応じて制御する。これにより、操舵アクチュエータは、車両Vの操舵トルクを制御する。
HMI9は、運転者と自動運転装置100との間で情報の出力及び入力をするためのインターフェイスである。HMI9は、例えば、運転者等に画像情報を表示するディスプレイ、音声を出力するスピーカ、及び運転者が入力操作を行うための操作ボタン又はタッチパネル、音声入力装置等を備えている。HMI9は、運転者が入力した情報をECU10へ送信する。また、HMI9は、ECU10からの制御信号に応じて、画像情報をディスプレイに表示すると共に、音声をスピーカから出力する。
次に、ECU10の機能的構成について説明する。ECU10は、車両位置認識部11、外部状況認識部12、走行状態認識部13、走行計画生成部14、運転者状態検出部15、係数算出部16、係数積算部17、閾値算出部18、操作量取得部19、及び走行制御部(運転状態切替部)20を有している。なお、ECU10の機能の一部は、車両Vと通信可能なサーバで実行されてもよい。
車両位置認識部11は、GPS受信部2の位置情報及び地図データベース4の地図情報に基づいて、車両Vの地図上の位置を認識する。車両位置認識部11は、地図データベース4の地図情報に含まれた電柱等の固定障害物の位置情報及び外部センサ1の検出結果を利用して、既存のSLAM技術により車両Vの位置を認識してもよい。
外部状況認識部12は、外部センサ1の検出結果に基づいて、車両Vの外部状況を認識する。外部状況認識部12は、カメラの撮像画像及び/又はレーダセンサの障害物情報に基づいて、周知の手法により、車両Vの周囲の障害物の位置を含む車両Vの外部状況を認識する。
走行状態認識部13は、内部センサ3の検出結果に基づいて、車両Vの車速及び向きを含む車両Vの走行状態を認識する。具体的には、走行状態認識部13は、車速センサの車速情報に基づいて、車両Vの車速を認識する。走行状態認識部13は、ヨーレートセンサのヨーレート情報に基づいて、車両Vの向きを認識する。
走行計画生成部14は、ナビゲーションシステム7により設定された目標ルート及び地図データベース4の地図情報に基づいて、車両Vの走行計画を生成する。この走行計画は、車両Vの現在の位置から予め設定された目的地に車両Vが至るまでの走行計画となる。走行計画生成部14は、周知の手法により走行計画を生成する。走行計画には、地図上の位置に関連付けられた車両Vの目標車速及び目標操舵角が含まれる。
運転者状態検出部15は、車両Vの運転者の状態である運転者状態を検出する。運転者状態検出部15は、ドライバモニタカメラ6の撮像情報に基づいて、運転者状態を検出する。運転者状態検出部15は、例えば、撮像情報に基づいて得られる運転者の姿勢、目の開き、顔の向き等に基づいて、既存の画像処理技術等を用いて運転者状態を検出する。運転者状態検出部15は、運転者状態として、居眠り、運転席に運転者がいない、運転者がシートを下げてリクライニング状態となっている、よそ見をしている、ナビゲーションシステム7の操作を行っている、携帯電話を操作している、及び前方を注視している等のいずれの状態であるかを検出する。
また、運転者状態検出部15は、運転者状態の検出の信頼度である検出信頼度を算出する。検出信頼度とは、検出された運転者状態の確からしさを表している。例えば、運転者状態検出部15は、ドライバモニタカメラ6の状態に基づいて検出信頼度を算出する。例えば、運転者状態検出部15は、ドライバモニタカメラ6の電子回路等を監視し、断線又はショート等を検出した場合には、検出信頼度を下げる。また、運転者状態検出部15は、例えば、画像処理技術を用いて運転者状態を検出する際に、特定の状態であると断定できたか否かに基づいて検出信頼度を算出する。例えば、画像処理技術を用いて運転者状態を検出した結果、居眠りの状態である可能性が60%、起きている状態ではあるが目を閉じている状態である可能性が30%、通常状態である可能性が10%であると判定されたとする。この場合、例えば、運転者状態検出部15は、運転者状態を「居眠り状態」とし、その検出信頼度を「中」とする。
係数算出部16は、運転者状態検出部15で検出及び算出された運転者状態及び検出信頼度に基づいて、運転状態の切り替えの判定に用いられる係数を算出する。ここで、係数算出部16は、運転に集中している状態か否かに応じて運転者状態をランク分けしたランク表を記憶している。運転に集中している状態とは、自動運転状態から手動運転状態に切り替わったときに、運転者が手動運転に復帰しやすい状態である。係数算出部16は、ランク表に基づいて、運転者状態検出部15で検出された運転者状態がどのランクに属するかを判定する。
例えば、本実施形態では、運転者状態がSランク、Aランク、Bランク、及びCランクに分けられている。Cランクは、運転に集中している状態である。Sランク、Aランク、及びBランクは、運転に集中していない状態である。運転に集中していないSランク、Aランク、及びBランクは、この並び順で、運転に集中している状態に近づく。
Sランク、Aランク、Bランク、Cランクの運転者状態の一例は、次の通りである。
Sランク:居眠り、運転席にいない等。
Aランク:運転者がシートを下げてリクライニング状態である等。
Bランク:よそ見、ナビゲーションシステム7の操作、携帯電話の操作をしている等。
Cランク:前方を注視している。
また、係数算出部16は、図2に示すように、運転者状態のランク及び検出信頼度と係数との関係を表す対応表を記憶している。係数算出部16は、判定した運転者状態のランクと、運転者状態検出部15で算出された検出信頼度と、図2に示す対応表とに基づいて、運転状態の切り替えの判定に用いられる係数を算出する。
図2の対応表に示されるように、運転者状態のランクが運転に集中していない状態である場合には、集中しているランクである場合に比べて係数が大きくなっている。すなわち、係数算出部16は、運転者状態検出部15で検出された運転者状態が運転に集中していない状態である場合には、集中している状態である場合に比べて係数を大きくする。
図2の対応表に示されるように、運転者のランクが運転に集中していないランク(Sランク、Aランク、Bランク)である場合、検出信頼度が高い場合には、低い場合に比べて係数が大きくなっている。すなわち、係数算出部16は、運転者状態検出部15で検出された運転者状態が運転に集中していない予め定められた状態(Sランク、Aランク、又はBランクの運転者状態)である場合、運転者状態検出部15で算出された検出信頼度が高いときには検出信頼度が低いときに比べて係数を大きくする。
一方、運転者のランクが運転に集中しているランク(Cランク)である場合、検出信頼度が高い場合には、低い場合に比べて係数が小さくなっている。すなわち、係数算出部16は、運転者状態検出部15で検出された運転者状態が運転に集中している予め定められた状態(Cランクの運転者状態)である場合、検出信頼度が高いときには検出信頼度が低いときに比べて係数を小さくする。詳しくは後述するが、係数が大きくなると、運転状態の切り替えの基準となる閾値も大きくなり、運転者による介入操作があった場合でも、自動運転状態から手動運転状態に運転状態が切り替わり難くなる。運転者が運転に集中している場合には、運転者が介入操作を行った場合には即座に自動運転状態から手動運転状態に運転状態を切り替えることが好ましい。このため、運転者状態が運転に集中している状態(Cランクの状態)であり、且つその検出信頼度が高い場合には、係数を小さくし、閾値を増加させないことによって、運転者が介入操作を行った場合に即座に運転状態を切り替えることができる。
係数積算部17は、車両Vの運転状態が自動運転状態となると、係数算出部16で算出された係数の積算を開始して、係数積算値を算出する。運転者による介入操作によって、車両Vの運転状態が自動運転状態から手動運転状態に切り替わった場合、係数積算部17は、係数積算値をリセットする(初期値(例えばゼロ)に戻す)。係数積算部17は、係数積算値に上限を設けて係数の積算を行う。すなわち、係数積算部17は、係数積算値が上限に達した場合には、それ以上、係数の積算を行わない。係数積算値が減算されて上限を下回った場合、係数積算部17は、係数の積算を再開する。
また、運転者状態検出部15で検出された運転者状態が運転に集中していない状態から、運転に集中している状態に変化することがある。すなわち、前回検出された運転者状態よりも、今回検出された運転者状態が運転に集中している状態となったときである。例えば、運転者状態が、Sランクの居眠りから、Bランクのよそ見に変化した場合である。例えば、Bランクのナビゲーションシステム7を操作している状態から、Cランクの前方を注視している状態に変化した場合である。この運転者状態が運転に集中していない状態から運転に集中している状態に変化することを、「係数積算値減算条件」とする。係数積算部17は、運転者状態の変化が係数積算値減算条件を満たす場合、係数積算値を予め定められた減算量だけ減算する、又は予め定められた所定値まで減算する。
閾値算出部18は、係数積算部17で算出された係数積算値に基づいて、運転状態の切り替えの基準となる閾値を算出する。閾値算出部18は、係数積算値が大きくなるにしたがって大きな値となるように、閾値を算出する。閾値算出部18は、図3に示すように、係数積算値と閾値との関係を示すマップを記憶している。係数積算値が大きくなると、運転者状態が運転に集中していない状態が継続していることの検出精度が高くなるため、図3に示すマップでは、係数積算値が大きくなるにしたがって閾値を指数関数的に増加させている。また、閾値には初期値が設定されている。閾値には、上限値が設けられていてもよい。
ここで、閾値は、走行制御部20において、操作量取得部19で取得されたアクセルペダル操作の操作量、ブレーキペダル操作の操作量、及びステアリング操作の操作量と比較される。このため、閾値算出部18は、アクセルペダル操作の操作量と比較するための閾値(以下「アクセルペダル操作用の閾値」ともいう)と、ブレーキペダル操作の操作量と比較するための閾値(以下「ブレーキペダル操作用の閾値」ともいう)と、ステアリング操作の操作量と比較するための閾値(以下「ステアリング操作用の閾値」ともいう)の合計3種類の閾値を算出する。例えば、図3に示すマップは、係数積算値に基づいて、アクセルペダル操作用の閾値を算出するためのマップである。閾値算出部18は、図3に示すマップと同様に、ブレーキペダル操作用の閾値を算出するためのマップと、ステアリング操作用の閾値を算出するためのマップとについても記憶している。閾値算出部18は、係数積算部17で算出された係数積算値と、3種類のマップとに基づいて、上述した3種類の閾値をそれぞれ算出する。
操作量取得部19は、運転者操作検出部5の検出結果に基づいて、運転者によるアクセルペダル操作の操作量、ブレーキペダル操作の操作量、及びステアリング操作の操作量を取得する。
走行制御部20は、運転者の入力操作等によって車両Vの運転状態が自動運転状態に切り換えられた場合、車両位置認識部11の認識した車両Vの地図上の位置と走行計画生成部14で生成された走行計画とに基づいて、車両Vの速度制御及び操舵制御を含む自動運転制御を実行する。走行制御部20は、アクチュエータ8に制御信号を送信することにより、自動運転制御を実行する。走行制御部20が自動運転制御を実行することで、車両Vの運転状態が自動運転状態となる。走行制御部20は、車両Vの運転状態が手動運転状態である場合、車両Vの速度制御及び操舵制御のいずれも実行しない。これにより、手動運転状態の場合、運転者の運転操作が車両Vの走行に反映される。
また、走行制御部20は、車両Vの運転状態が自動運転状態である場合に、操作量取得部19で取得された操作量と、閾値算出部18で算出された閾値とを比較する。その際、走行制御部20は、操作量取得部19で取得されたアクセルペダル操作の操作量と、閾値算出部18で算出されたアクセルペダル操作用の閾値とを比較する。同様に、走行制御部20は、操作量取得部19で取得されたブレーキペダル操作の操作量と閾値算出部18で算出されたブレーキペダル操作用の閾値とを比較する。走行制御部20は、操作量取得部19で取得されたステアリング操作の操作量と、閾値算出部18で算出されたステアリング操作用の閾値とを比較する。
走行制御部20は、比較の結果、運転者の操作量が閾値を超えた場合に、運転状態を自動運転状態から手動運転状態に切り替える。ここでは、走行制御部20は、運転者によるアクセルペダル操作の操作量、ブレーキペダル操作の操作量、及びステアリング操作の操作量の少なくともいずれかが、それぞれの操作量に対応する閾値を超えた場合に、運転状態を切り替える。すなわち、走行制御部20は、車両Vが自動運転状態の場合、運転者による介入操作の操作量が閾値を超えたときにオーバーライド条件が成立したと判定して、運転状態を自動運転状態から手動運転状態に切り替える。
次に、車両Vが自動運転状態のときの閾値の変化、及び運転者によって介入操作がされた場合における運転状態の切り替えの具体例について説明する。以下では、単に、「介入操作の操作量と閾値とを比較する」として説明するが、この介入操作の操作量及び閾値は、アクセルペダル操作の操作量及びアクセルペダル操作用の閾値、ブレーキペダル操作の操作量及びブレーキペダル操作用の閾値、並びに、ステアリング操作の操作量及びステアリング操作用の閾値のいずれであってもよい。
まず、車両Vが自動運転状態のときの閾値の変化、及び運転者によって介入操作がされた場合における運転状態の切り替えの具体例について、図4を用いて説明する。図4に示す例では、自動運転状態となった後、時刻t1となるまでの間、運転者状態が前方を注視している状態であり、検出信頼度も高いとする。このため、時刻t1となるまでの間、係数がゼロ、及び係数積算値もゼロとなり、閾値が初期値のままであるとする。時刻t1において、運転者状態検出部15は、運転者状態として、運転者がよそ見をしている状態であると検出する。運転者がよそ見をしている状態が時刻t1以降も継続しているとする。この場合、時刻t1以降において係数積算値が増加を続け、閾値も増加を続ける。時刻t2において、運転者による介入操作があったとする。介入操作の操作量K1は、閾値よりも小さいとする。この場合、運転者状態検出部15は、運転者による介入操作の操作量が閾値を超えていないため、運転状態として自動運転状態を維持する。
次に、他の具体例について、図5を用いて説明する。図5に示す例では、図4に示す例と同様に、自動運転状態となった後、時刻t11となるまでの間、運転者状態が前方を注視している状態であり、閾値が初期値のままであるとする。時刻t11において、運転者状態検出部15は、運転者状態として、運転者がよそ見をしている状態であると検出する。運転者がよそ見をしている状態が時刻t11以降も継続しているとする。この場合、時刻t11以降において、係数積算値が増加を続け、閾値も増加を続ける。時刻t12において、運転者による介入操作があったとする。介入操作の操作量K2は、閾値よりも大きいとする。この場合、運転者状態検出部15は、運転者による介入操作の操作量が閾値を超えているためオーバーライド条件が成立したと判定し、運転状態を自動運転状態から手動運転状態に切り替える。また、係数積算部17は、車両Vの運転状態が自動運転状態から手動運転状態に切り替わったため、係数積算値をリセットする。これにより、時刻t12において閾値が初期値に戻る。
さらに、車両Vが自動運転状態のときの閾値の変化の他の具体例について、図6を用いて説明する。図6に示す例では、図4に示す例と同様に、自動運転状態となった後、時刻t21となるまでの間、運転者状態が前方を注視している状態であり、閾値が初期値のままであるとする。時刻t21において、運転者状態検出部15は、運転者状態として、運転者が居眠りをしている状態であると検出する。運転者が居眠りをしている状態が時刻t21以降も継続しているとする。この場合、時刻t21以降において、係数積算値が増加を続け、閾値も増加を続ける。
時刻t21において、運転者状態検出部15は、運転者状態として、運転者がよそ見をしていると検出する。この「居眠り状態」から「よそ見をしている状態」への運転者状態の変化は、運転者状態が運転に集中していない状態から、運転に集中している状態に変化した状態である。すなわち、運転者状態の変化が、係数積算値減算条件を満たしている。このため、係数積算部17は、係数積算部17が算出した係数積算値を予め定められた減算量だけ減算する、又は予め定められた所定値まで減算する。係数積算値が減算さえると、閾値も減算される。図6に示す例では、時刻t22において係数積算値が減算されたことにより、閾値も所定値小さくなっている。
時刻t22以降において、運転者がよそ見をしている状態が継続しているとする。この場合、時刻t22以降において、再び、係数積算値が増加を続け、閾値も増加を続ける。時刻t23において、係数積算値が上限に達したため、閾値もこれ以上増加しなくなる。
次に、車両Vの運転状態が自動運転状態である場合に、ECU10において行われる運転状態の切り替え処理の流れについて、図7のフローチャートを用いて説明する。図7に示すフローチャートは、車両Vの運転状態が自動運転状態となった場合に開始される。また、運転者による介入操作以外の理由によって車両Vの運転状態が自動運転状態から手動運転状態に切り替わった場合、図7に示す処理の途中であっても、処理を終了する。
図7に示すように、車両Vの運転状態が自動運転状態となると、運転者状態検出部15は、運転者の運転者状態を検出する(S101)。係数積算部17は、今回のS101の処理において検出された運転者状態と前回のS101の処理において検出された運転者状態とに基づいて、運転者状態の変化が係数積算値減算条件を満たすか否かを判定する(S102)。なお、今回のS101の処理において検出された運転者状態が、今回の自動運転の開始後に初めて検出された運転者状態である場合、係数積算部17は、係数積算値減算条件を満たさないと判定する(S102:NO)。
運転者状態の変化が係数積算値減算条件を満たしている場合(S102:YES)、係数積算部17は、係数積算値を減算する(S110)。一方、運転者状態の変化が係数積算値減算条件を満たさない場合(S102:NO)、運転者状態検出部15は、運転者状態の検出信頼度を表す検出信頼度を算出する(S103)。運転者状態が検出され(S101)、且つ検出信頼度が算出された後(S103)、係数積算部17は、運転者状態及び検出信頼度に基づいて係数を算出する(S104)。係数積算部17は、係数算出部16で算出された係数を積算して係数積算値を算出する(S105)。なお、係数積算部17は、運転状態が自動運転状態から手動運転状態に切り替わった場合には後述のS108において係数積算値をリセットするため、自動運転が開始される毎に新たに初期値から係数の積算を開始する。
閾値算出部18は、係数積算部17で算出された係数積算値に基づいて閾値を算出する(S106)。走行制御部20は、操作量取得部19で取得された運転者の介入操作の操作量と、閾値とを比較する(S107)。操作量が閾値よりも大きい場合(S107:YES)、係数積算部17は、係数積算値をリセットする(S108)。走行制御部20は、車両Vの運転状態を自動運転状態から手動運転状態に切り替える(S109)。
S107の処理において、操作量が閾値よりも大きくない場合(S107:NO)、又はS110の処理の後、運転者状態検出部15は、前回のS101の処理において運転者状態を検出してから所定時間が経過したか否かを判定する(S111)。この判定は、S105において係数の積算を行うため、積算のタイミングを調整するための判定処理である。所定時間を経過していない場合(S111:NO)、運転者状態検出部15は、所定時間が経過するまでS111の処理を繰り返す。所定時間が経過した場合(S111:YES)、運転者状態検出部15は、S101の処理を再び実行する。
本実施形態は以上のように構成され、この自動運転装置100では、運転者状態及び検出信頼度に基づいて係数が算出され、算出された係数を積算した係数積算値に基づいて、運転状態の切り替えの基準となる閾値が算出される。走行制御部20は、運転者の介入操作の操作量が閾値を超えた場合に運転状態を自動運転状態から手動運転状態に切り替える。すなわち、運転状態の切り替えが、運転者状態及び検出信頼度も考慮して行われる。このように、本発明の自動運転装置100は、運転者の状態及び運転者の状態の検出の信頼度を考慮して、運転者の操作量に基づいて車両Vの運転状態を自動運転状態から手動運転状態に切り替えることができる。
運転状態の切り替えの判定に用いられる閾値は、係数を積算した係数積算値に基づいて算出される。このため、例えば、運転に集中している状態或いは集中していない状態が継続しているか否かを判別できる。これにより、運転者状態が継続しているか否かに基づいて、運転状態の切り替えの判定を精度良く行うことができる。
運転者状態が運転に集中している状態では係数が小さくなり、閾値の増加も抑制される。このため、運転者が運転に集中している運転者状態である場合には、運転者が介入操作を行ったときに小さな操作量で自動運転状態から手動運転状態に運転状態を切り替えることができる。このため、運転者状態に応じて適切に運転者状態を切り替えることができる。
自動運転装置100は、運転者状態の変化が係数積算値減算条件を満たす場合、係数積算値を減算して閾値を下げる。これにより、例えば、運転者状態が「居眠り状態」から「よそ見をしている状態」に変化した場合、すなわち、運転に集中している状態に変化した場合、運転者が介入操作を行った場合に少ない操作量で運転状態を切り替えると判定することができる。これにより、運転者状態の変化に応じて、閾値を適切に調整することができる。
以上、本発明の実施形態について説明したが、本発明は、上記実施形態に限定されるものではない。例えば、運転者状態のランク分け、図2の係数の対応表、及び図3の閾値のマップは一例であり、これに限定されるものではない。これらの対応表及びマップを用いずに、係数及び閾値を算出してもよい。
実施形態では、アクセルペダル操作用の閾値、ブレーキペダル操作用の閾値、及びステアリング操作用の閾値の3つ全てについて、係数積算値に基づいて閾値を算出したが、これらの1つ又は2つについて、係数積算値に基づいて閾値を算出する構成であってもよい。