以下、本発明の実施形態の一例について図を用いて説明する。
<全体の構成について>
図1は、本実施形態にかかる車両制御システム100の概略的な構成の一例を示す図である。車両制御システム100は、車両に搭載されてあって、図1に示すように、車両制御装置1、シフトポジションセンサ2、アクセルセンサ3、ブレーキセンサ4、ナビゲーション装置5、障害物センサ6、及び駆動系メカシステム7を備える。便宜上、車両制御システム100が搭載されている車両のことを以降では搭載車両とも記載する。シフトポジションセンサ2、アクセルセンサ3、ブレーキセンサ4、ナビゲーション装置5、障害物センサ6、及び駆動系メカシステム7のそれぞれは、車両制御装置1と通信可能に接続されている。
車両制御装置1は、例えばシフトポジションセンサ2などといった、搭載車両に搭載されているセンサから入力されるデータに基づいて、駆動系メカシステム7の動作を制御するECU(Electronic Control Unit)である。車両制御装置1は、中央演算装置としてのCPU11、揮発性メモリであるRAM12、不揮発性メモリであるROM13、I/O14等を備えている。
ROM13には、通常のコンピュータを車両制御装置1として機能させるためのプログラム(以降、車両制御プログラム)等が格納されている。なお、上述の車両制御プログラムは、非遷移的実体的記録媒体(non- transitory tangible storage medium)に格納されていればよい。CPU11が車両制御プログラムを実行することは、車両制御プログラムに対応する方法が実行されることに相当する。
I/O14は、車両制御装置1が、例えばシフトポジションセンサ2等の、搭載車両に搭載されている他のデバイスと通信するためのインターフェースとして機能するモジュールである。例えば、I/O14は、各種センサの検出結果や、ナビゲーション装置5などから提供される情報を取得する。また、I/O14は、図示しない車速センサから搭載車両の走行速度を示す車速情報を取得する。I/O14が請求項に記載の車両情報取得部に相当する。この車両制御装置1の詳細については別途後述する。
シフトポジションセンサ2は、シフトレバーの位置(つまりシフトポジション)を検出するセンサである。シフトポジションセンサ2は、シフトポジションを示す信号(以降、シフトポジション信号)を逐次車両制御装置1に出力する。シフトポジションとしては、前進ポジション、後退ポジション、中立ポジション、駐車ポジション等がある。
前進ポジションは、駆動源が生成する駆動力を搭載車両が前進する方向に発揮させるシフトポジションであり、後退ポジションは、駆動源が生成する駆動力を搭載車両が後退する方向に発揮させるシフトポジションである。中立ポジションは、駆動源が生成する駆動力を発揮させないシフトポジションであり、駐車ポジションは、駆動源の動作を停止させるとともに駆動輪の回動を禁止するためのパーキングギヤを作動させるシフトポジションである。前進ポジションとしては、エンジンブレーキが作用しないドライブポジションと、エンジンブレーキが作用するブレーキポジションが存在する。
なお、本実施形態におけるシフトポジションセンサ2は、特許文献1に開示されているように、シフトポジション毎に異なる組み合わせがオン状態となる複数のスイッチを用いて実現されているものとする。そのため、シフトポジションセンサ2は、シフトポジション信号として、複数のスイッチのそれぞれの接続状態(つまりオン/オフ)を示す信号を車両制御装置1に出力する。
アクセルセンサ3は、ドライバによるアクセルペダルの踏込量(つまりアクセル踏込量)を検出するセンサである。踏込量は、ペダルがドライバによって踏み込まれている量を表すものであって、ペダルの基本位置に対する変位量(換言すれば変位角)に相当する。なお、アクセルペダルの踏込量を検出することは、アクセルペダルの位置を検出することに相当する。アクセルセンサ3の検出結果は、車両制御装置1に逐次出力される。
ブレーキセンサ4は、ドライバによるブレーキペダルの踏込量を検出するセンサである。ブレーキルペダルの踏込量を検出することは、ブレーキペダルの位置を検出することに相当する。ブレーキセンサ4の検出結果は、車両制御装置1に逐次出力される。
ナビゲーション装置5は、搭載車両周辺の道路情報をドライバに提供する、周知のナビゲーション装置である。ナビゲーション装置5は、周知のマップマッチング処理によって道路地図上における搭載車両の現在位置を特定する。マップマッチング処理は、複数時点での搭載車両の位置座標や進行方向、車速等に基づいて搭載車両の走行軌跡を求め、走行軌跡と地図情報から得た道路形状とを比較することによって、搭載車両の現在位置を特定する処理である。搭載車両の位置座標は、GNSS(Global Navigation Satellite System)が備える衛星が送信する航法信号に基づいて現在位置を算出するGNSS受信機から提供される。
また、ナビゲーション装置5は、走行軌跡から定まる搭載車両の進行方向と、図示しない方位角センサの検出結果から、搭載車両が道路に沿って前進しているのか、後退しているのかを判別する。さらに、ナビゲーション装置5は、図示しないセンタから配信される道路交通情報を受信することで、渋滞情報等を取得する。
そして、ナビゲーション装置5は、搭載車両が走行している道路に関する情報(以降、走行道路情報)と、搭載車両が道路に沿って前進しているのか後退しているのかを示す情報(以降、移動姿勢情報)のそれぞれを、車両制御装置1に逐次提供する。
走行道路情報には、搭載車両が走行している道路が渋滞しているか否かを示す渋滞情報や、搭載車両の前方に存在する交差点との距離、その交差点における信号機の有無などを示す交差点情報が含まれる。なお、交差点情報には、前方交差点の信号機の有無だけでなく、一時停止線の有無等も含まれることが好ましい。本実施形態では一例として、走行道路情報が渋滞情報と交差点情報の両方を含むものとするが、これに限らない。走行道路情報は、渋滞情報と交差点情報の何れか一方のみを含むものであってもよい。
障害物センサ6は、搭載車両の前方に存在する障害物を検出し、当該障害物についての情報(例えば距離や相対位置)を示す情報を出力するセンサである。障害物センサ6としては、例えば、ソナーや、ミリ波レーダ、レーザレーダ、カメラ等を採用することができる。なお、ここでの前方には、斜め前方も含まれる。また、障害物センサ6として、車両前方の障害物を検出するセンサに加えて、車両後方の障害物を検出するセンサを備えていても良い。障害物センサ6は、検出結果を示す情報(以降、障害物情報)を車両制御装置1に逐次提供する。
駆動系メカシステム7は、搭載車両を走行させるための機械的要素からなるシステムである。駆動系メカシステム7は、構成要素として、駆動源71、変速機72を備える。駆動源71は、搭載車両を走行させるための駆動力を生成(換言すれば提供)する装置である。駆動源71は、エンジンやモータなどで構成される。本実施形態では一例として搭載車両は、駆動源71としてエンジンを備える車両とするが、これに限らない。搭載車両は、モータのみを駆動源として備える車両(いわゆる電気自動車)であってもよいし、エンジンとモータの両方を駆動源として備えるハイブリッドカーであってもよい。駆動源71が生成する駆動力の大きさ(換言すれば駆動源71の出力レベル)は、車両制御装置1によって制御される。出力レベルは、エンジン又はモータの回転速度で表されていても良いし、トルクで表されていても良い。
変速機72は、駆動源71の回転速度を変速して図示しない駆動輪に伝達する装置である。変速機72は、動力伝達方向や変速比を切り替えるための複数のギヤを備える。動力伝達方向は、駆動源71が生成する駆動力を搭載車両の移動方向として発揮させる方向に対応する。複数のギヤのうち、動力伝達に用いられるギヤの組み合わせは、車両制御装置1によって制御される。
なお、駆動源71がモータである場合には、駆動系メカシステム7は変速機72を備えている必要はない。モータに供給する電流/電圧の位相や大きさを制御することで、動力伝達方向や、生成される駆動力の大きさを調整できるためである。
<車両制御装置1が備える機能について>
次に、図2を用いて車両制御装置1が備える機能について説明する。車両制御装置1は、CPU11が車両制御プログラムを実行することによって、図2に示す種々の機能ブロックに対応する機能を提供する。具体的には、車両制御装置1は機能ブロックとして、シフトポジション特定部F1、意思推定部F2、及び駆動制御部F3を備える。
なお、車両制御装置1が備える機能ブロックの一部又は全部は、一つあるいは複数のIC等を用いることによってハードウェアとして実現されていてもよい。また、CPU11によるソフトウェアの実行とハードウェア部材の組み合わせによって実現されていてもよい。
シフトポジション特定部F1は、シフトポジションセンサ2から入力されるシフトポジション信号に基づいて、ドライバが選択しているシフトポジションを特定する。なお、シフトポジションを特定することは、ドライバが指定している駆動系メカシステムの動作モード(いわゆるシフトレンジ)を特定することに相当する。
また、シフトポジション特定部F1は、より細かい機能(つまりサブ機能)として、シフトポジションセンサ2の故障を検出する故障検出部F11を備える。故障検出部F11は、シフトポジション信号が示すスイッチ毎の出力信号のパターンに基づいて、シフトポジションセンサ2の異常を検出する。
具体的には、各スイッチのオン/オフ状態の組み合わせ(以降、出力パターン)が、何れのシフトポジションにも該当しないパターンとなっている場合に、シフトポジションセンサ2が故障していると判定する。また、故障検出部F11は、シフトポジションセンサ2を構成する或るスイッチの出力電圧が、当該スイッチの正常な出力値として予め設計されている範囲外の値となっている場合にも、シフトポジションセンサ2が故障していると判定する。故障検出部F11が請求項に記載の異常検出部に相当する。
意思推定部F2は、シフトポジション特定部F1によってシフトポジションセンサ2が故障していると判定されている場合に、アクセルセンサ3やブレーキセンサ4の検出値に基づいて、搭載車両の走行制御に対するドライバの意図を推定する機能ブロックである。搭載車両の走行制御に対するドライバの意図とは、例えば、ドライバが搭載車両を前進させようとしているのか、後退させようとしているのか、停止状態を維持しようとしているのか等である。
意思推定部F2は、より細かい機能ブロック(換言すればサブ機能)として、前進意思推定部F21、後退意思推定部F22、及び推定結果調停部F23を備える。前進意思推定部F21は、ドライバが搭載車両を前進させようとしているのか否かを推定する機能ブロックであり、後退意思推定部F22は、ドライバが搭載車両を後退させようとしているのか否かを推定する機能ブロックである。推定結果調停部F23は、前進意思推定部F21と後退意思推定部F22の推定結果を調停し、最終的なドライバの意図を決定する。
これらのサブ機能を含む意思推定部F2の詳細については別途後述する。なお、前進意思推定部F21は、ドライバが搭載車両を前進させようとしているのか否かを推定する処理の進行状況を示す状態(以降、推定状態)として、図3に示すように、初期状態と、推定中状態と、推定完了状態の、3つの状態を順番に遷移する。初期状態は、これから推定を行う状態であり、推定中状態は、推定結果が未確定な状態を表す。推定完了状態は、一連の推定処理が完了し、搭載車両を前進させることに対するドライバの意図の推定結果が確定している状態である。各種の推定状態は、フラグを用いて記述されれば良い。
駆動制御部F3は、駆動系メカシステム7の作動を制御する。具体的には、駆動源71が生成すべき駆動力の目標値を決定し、当該目標値に応じた制御信号を駆動源71に入力することで、駆動源71に当該目標値通りの駆動力を生成させる。また、駆動制御部F3は、変速機72に対して所定の制御信号を出力することで、駆動源71が生成する駆動力の発揮方向を変更する。
例えば、シフトポジションが前進ポジションに設定されている場合には、前進方向に駆動力が発揮されるように、変速機72のギヤの組み合わせを変更する。また、シフトポジションが後退ポジションに設定されている場合には、後退方向に駆動力が発揮されるように、変速機72のギヤの組み合わせを変更する。
また、駆動制御部F3は、シフトポジションセンサ2が故障していると判定されている場合には、意思推定部F2からの要求に基づいて、駆動系メカシステム7を制御する。なお、駆動制御部F3は、シフトポジションセンサ2の故障が検出された場合には、フェールセーフの観点から、駆動源71が生成する駆動力をいったん遮断する。駆動力の遮断は、駆動源71への通電を遮断し、駆動源71自体の動作を停止させることによって実現されればよい。そして、推定状態が推定完了状態となるまでは、駆動源71の出力レベルの上限を、シフトポジションセンサ2が正常に動作している時(つまり通常時)よりも低い抑制レベルに設定する。抑制レベルは、徐行相当の速度での走行(いわゆる退避走行)が可能となる出力レベルである。
<故障対応処理>
次に、図4に示すフローチャートを用いて、車両制御装置1が実施する故障対応処理について説明する。故障対応処理は、シフトポジションセンサ2が故障している場合において、ドライバの意図に沿った車両制御を実現するための処理である。この故障対応処理は、例えば、車両制御装置1に電力が供給されている間、逐次(例えば100ミリ秒毎に)開始されればよい。
図4に示す各ステップの実行主体はいずれも車両制御装置1である。実行主体を特に明記していないステップについては、例えば、車両制御装置1のオペレーティングシステム(OS:Operating System)によって実行されれば良い。
また、本実施形態における車両制御装置1は、前進意思フラグ、後退意思フラグ、前進推定禁止フラグ、及び後退推定禁止フラグといった4種類のフラグを用いて、故障対応処理を実行する。
前進意思フラグは、ドライバが搭載車両を前進させようとしているか否かの推定結果を示す処理上のフラグである。前進意思推定部F21は、ドライバが搭載車両を前進させようとしていると判定した場合には前進意思フラグをONに設定する。また、ドライバが搭載車両を前進させようとしていないと判定した場合には、前進意思フラグをOFFに設定する。
後退意思フラグは、ドライバが搭載車両を後退させようとしているか否かの推定結果を示す処理上のフラグである。後退意思推定部F22は、ドライバが搭載車両を後退させようとしていると判定した場合には後退意思フラグをONに設定する。また、ドライバが搭載車両を後退させようとしていないと判定した場合には後退意思フラグをOFFに設定する。
前進推定禁止フラグは、ドライバが搭載車両を前進させようとしているか否かを推定する処理の実行を禁止するためのフラグである。前進推定禁止フラグがONに設定されている場合には、ドライバが搭載車両を前進させようとしているか否かの推定を行わない。また、前進意思フラグもOFFに設定する。前進意思推定部F21が、ドライバが搭載車両を前進させようとしているか否かの推定を実施する場合とは、前進推定禁止フラグがOFFに設定されている場合である。なお、故障対応処理を開始した時点において前進推定禁止フラグはOFFに設定されている。
後退推定禁止フラグは、ドライバが搭載車両を後退させようとしているか否かを推定する処理の実行を禁止するためのフラグである。後退推定禁止フラグがONに設定されている場合には、ドライバが搭載車両を後退させようとしているか否かの推定を行わない。また、後退意思フラグもOFFに設定する。後退意思推定部F22が、ドライバが搭載車両を後退させようとしているか否かの推定を実施する場合とは、後退推定禁止フラグがOFFに設定されている場合である。なお、故障対応処理を開始した時点において後退推定禁止フラグはOFFに設定されている。
以下、上述した種々のフラグを用いて実行される故障対応処理が備える各ステップについて順番に説明する。まず、ステップS1では搭載車両が走行可能な状態となっているか否かを判定する。ここでの搭載車両が走行可能な状態とは、一例として、イグニッション電源がオンとなっている場合とする。なお、搭載車両が電気自動車である場合には、駆動源71としてのモータが、走行用電源と接続されている状態とすればよい。搭載車両が走行可能な状態となっている場合にはステップS1が肯定判定されてステップS2に移る。一方、搭載車両が走行可能な状態となっていない場合にはステップS1が否定判定されて本フローが終了する。本フローが終了した場合には、終了時点から所定時間(例えば100ミリ秒)経過後に再び開始されればよい。
ステップS2では故障検出部F11が、シフトポジションセンサ2から入力されるシフトポジション信号に基づいて、シフトポジションセンサ2が故障しているか否かを判定する。シフトポジションセンサ2が故障している場合には、ステップS2が肯定判定されてステップS3に移る。一方、シフトポジションセンサ2が正常に動作している場合にはステップS2が否定判定されてステップS1に戻る。
ステップS3では前進意思推定部F21が、前進意思推定処理を実行してステップS4に移る。この前進意思推定処理については別途後述する。ステップS3を実施した結果に応じて前進意思フラグがON又はOFFに設定される。ステップS4では前進意思推定部F21が、推定結果補正処理を実行してステップS5に移る。この処理結果補正処理については別途後述する。
ステップS5では後退意思推定部F22が、後退意思推定処理を実施してステップS6に移る。この後退意思推定処理については別途後述する。ステップS5を実施することにより、後退意思フラグがON及びOFFの何れかに設定される。
ステップS6では推定結果調停部F23が、推定結果調停処理を実施してステップS7に移る。推定結果調停処理については別途後述する。ステップS6での処理を実行することによって、搭載車両の走行制御に対するドライバの意図の推定結果が決定される。具体的には、搭載車両を前進させるようとしているのか、後退させようとしているのか、移動させる意思はないのかが決定される。
ステップS7では、以上の処理の結果として、意思推定部F2がドライバは搭載車両を前進させようとしていると判定したのか否かを判定する。意思推定部F2が、ドライバは搭載車両を前進させようとしている(つまり前進意思有り)と判定している場合には、ステップS7が肯定判定されてステップS8に移る。一方、意思推定部F2が、ドライバは搭載車両を前進させようとしていると判定していない場合には、ステップS7が否定判定されてステップS9に移る。
ステップS8では駆動制御部F3が、駆動系メカシステム7に対して所定の制御信号を出力し、前進方向に駆動力を発揮させる。具体的には、変速機72におけるギヤの組み合わせを、駆動力が前進方向に伝達される組み合わせに切り替えさせる。また、駆動源71にドライバのアクセル踏込量に応じた駆動力を発揮させる。
ただし、ドライバのアクセル踏込量に応じた駆動力を発揮させる際には、急激に駆動力を発揮させるのではなく、発揮される駆動力が徐々に(換言すれば段階的に)増加するように駆動源71を制御する。つまり、ステップS1からステップS8までを一巡することによって増加される駆動力は、搭載車両のドライバ及び周囲に存在する人物を驚かせない程度の微小量とする。このような態様は、シフトポジションセンサ2の故障の検出に伴って設定した駆動源71の出力に対する制限を徐々に緩めていくことに相当する。なお、ステップS8における駆動制御部F3の種々の処理は、何れも意思推定部F2からの要求に基づいて実施される。
ステップS9では、以上の処理の結果として、意思推定部F2がドライバは搭載車両を後退させようとしていると判定したのか否かを判定する。意思推定部F2が、ドライバは搭載車両を後退させようとしている(つまり後退意思有り)と判定している場合には、ステップS9が肯定判定されてステップS10に移る。一方、意思推定部F2が、ドライバは搭載車両を後退させようとしていると判定していない場合には、ステップS9が否定判定されてステップS11に移る。
ステップS10では駆動制御部F3が、駆動系メカシステム7に対して所定の制御信号を出力し、後退方向に駆動力を発揮させる。具体的には、変速機72におけるギヤの組み合わせを、駆動力が後退方向に伝達される組み合わせに切り替えさせる。また、駆動源71にドライバのアクセル踏込量に応じた駆動力を発揮させる。その際、急激に駆動力を発揮させるのではなく、徐々に駆動力は発揮させるように駆動源71を制御する。
ステップS11では駆動制御部F3が、駆動源71の作動を停止、又は駆動源71の出力レベルを抑制して、ステップS1に戻る。ただし、駆動力の発揮方向についての設定は保持しておく。
<前進意思推定処理>
次に、図5に示すフローチャートを用いて、前進意思推定部F21が、駆動制御部F3等と協働して実施する前進意思推定処理について説明する。この図5に示すフローチャートは、図4のステップS3に移った時に開始される。図5に示す種々のステップのうち、実行主体を明記していないステップについては、前進意思推定部F21によって実行されるものとする。
まず、ステップS301では、前進推定禁止フラグがONに設定されているか否かを判定する。前進推定禁止フラグがONとなっている場合にはステップS301が肯定判定されてステップS316に移る。一方、前進推定禁止フラグがOFFに設定されている場合にはステップS301が否定判定されてステップS302に移る。
ステップS302では、推定状態が初期状態であるか否かを判定する。推定状態が初期状態である場合にはステップS302が肯定判定されてステップS303に移る。一方、推定状態が初期状態ではない場合にはステップS302が否定判定されてステップS310に移る。
ステップS303では、ドライバによってアクセルペダルが操作されており(換言すればアクセル ON)、且つ、ブレーキペダルが操作されていない(換言すればブレーキ OFF)状態であるか否かを判定する。
アクセルペダルが操作されているかは、アクセルセンサ3の検出値から判定することができる。具体的には、アクセルセンサ3の検出値が所定のアクセル操作判定閾値以上となっている場合に、アクセルペダルが操作されていると判定する。また、アクセルセンサ3の検出値がアクセル操作判定閾値未満となっている場合に、アクセルペダルが操作されていないと判定する。なお、アクセルペダルの操作(以降、アクセル操作)とは、アクセルペダルを踏み込んでペダルの角度を調整することを意味する。
ブレーキペダルが操作されているか否かも、ブレーキセンサ4の検出値と、所定のブレーキ操作判定閾値との比較によって判定することができる。ドライバがブレーキペダルを踏み込むことを以降ではブレーキ操作とも記載する。
ドライバによってアクセルペダルが操作されており、かつ、ブレーキペダルが操作されていない場合には、ステップS303が肯定判定されて、ステップS304に移る。一方、アクセルペダルが操作されていない場合や、ブレーキペダルが操作されている場合には、ステップS303が否定判定されてステップS316に移る。ステップS304では、推定状態を推定中に設定してステップS305に移る。
ステップS305では駆動制御部F3が、変速機72に対して所定の制御信号を出力し、駆動力の発揮方向を前進方向に設定してステップS306に移る。ステップS306では駆動制御部F3が、駆動源71に生成させる駆動力を微少量増加させてステップS307に移る。なお、ステップS306を実行することによって発揮される駆動力は、搭載車両が前進し始めたことをドライバが認識できる程度の微小量とすることが好ましい。より具体的には、1秒間での移動距離が数十cmから1m未満となる程度とすることが好ましい。
ステップS307では、推定状態が推定中に移行してから所定の挙動監視時間(例えば5秒)経過したか否かを判定する。推定状態が推定中に移行してから挙動監視時間経過している場合にはステップS307が肯定判定されてステップS308に移る。一方、推定状態が推定中に移行してから未だ挙動監視時間経過していない場合にはステップS307が否定判定されて本フローを終了する。本フローを終了した場合には、本フローの呼び出し元である故障対応処理に戻って、ステップS4が実行される。
ステップS308では、前進意思フラグをONに設定してステップS309に移る。ステップS309では、推定状態を推定完了に設定して本フローを終了する。
ステップS310では、推定状態が推定中であるか否かを判定する。推定状態が推定中である場合にはステップS310が肯定判定されてステップS311に移る。一方、推定状態が推定中ではない場合には、ステップS310が否定判定されてステップS315に移る。なお、ステップS315に移る場合とは、推定状態が推定完了となっている場合である。
ステップS311では、ステップS303と同様に、アクセルペダルが操作されており、かつ、ブレーキペダルが操作されていない状態であるか否かを判定する。アクセルペダルが操作されており、かつ、ブレーキペダルが操作されていない場合には、ステップS311が肯定判定されて、ステップS306に移る。
一方、アクセルペダルが操作されていない場合や、ブレーキペダルが操作されている場合には、ステップS311が否定判定されてステップS312に移る。ステップS312では、前進意思フラグをOFFに設定してステップS313に移る。ステップS313では、前進推定禁止フラグをONに設定してステップS314に移る。ステップS314では、推定状態を初期状態に設定して本フローを終了する。
ところで、ドライバのアクセル操作に基づいてステップS307で搭載車両を前進させた結果、ドライバがブレーキをかけたり、アクセル操作をやめたりしたということは、搭載車両を前進させるという車両制御が、ドライバの意に反した制御であったことを意味する。
そのため、ステップS311が否定判定された場合には、前進意思フラグをOFFにする。これによって、推定結果をドライバの意図に合致させることができる。さらに、ステップS313で前進推定禁止フラグもONとすることで、以降において前進意思があるか否かの判定が繰り返されることを回避できる。アクセルペダルを基本位置に戻す操作(つまりアクセルペダルをリリースする操作)や、ブレーキペダルを踏み込む操作が、請求項に記載の、車両の前進を止めるためのドライバ操作(つまり停止操作)に該当する。
ステップS315では、停車状態が一定時間(例えば30秒)継続しているか否かを判定する。停車状態であるか否かは、例えば、図示しない車速センサの検出値に基づいて判定することができる。具体的には、車速センサの検出値が、搭載車両が停車しているとみなす所定の停車判定閾値(例えば2km/h)未満となっている場合に、搭載車両は停車していると判定する。もちろん、その他の周知の方法によって、搭載車両が停車しているか否かを判定してもよい。例えばナビゲーション装置5から提供される位置情報が変化していない場合に停車していると判定してもよい。
ステップS315において搭載車両の走行速度が停車判定閾値以上となっている場合や、停車中であっても停車状態が継続している時間が一定時間未満である場合には、ステップS315が否定判定されて本フローを終了する。
一方、停車状態が一定時間継続している場合には、ステップS315が肯定判定されてステップS314に移る。停車状態が一定時間継続した場合には、その間にドライバの意図が変化している可能性があり、再度、ドライバの意図の推定を初期状態から実施することが好ましいためである。
なお、推定状態が推定完了に設定されている間は、アクセル操作やブレーキ操作に基づいたドライバの意図推定は実施しない。そのため、ドライバは、シフトポジションセンサ2が故障していない場合と同様に搭載車両を加減速させることができる。
ステップS316では前進意思フラグをOFFに設定してステップS317に移る。ステップS317では、推定状態を初期状態に設定して本フローを終了する。
<推定結果補正処理>
次に、図6に示すフローチャートを用いて、前進意思推定部F21が実施する推定結果補正処理について説明する。この図6に示すフローチャートは、図4のステップS4に移った時に開始される。図6に示す種々のステップは、前進意思推定部F21によって実行される。
まず、ステップS401では、搭載車両が停車しているか否かを判定する。搭載車両が停車している場合にはステップS401が肯定判定されてステップS402に移る。一方、搭載車両が停車していない場合にはステップS401が否定判定されてステップS404に移る。
ステップS402では、ナビゲーション装置5から提供される走行道路情報に基づいて、搭載車両が停止している理由(以降、停車理由)が、信号待ち及び渋滞の何れかに該当するか否かを判定する。例えば、信号機がある交差点から数十メートル以内となる位置で停車している場合には、停車理由は信号待ちであると判定する。また、搭載車両が走行している道路で渋滞が発生している場合には、停車理由は渋滞であると判定する。なお、信号待ちとは、信号機の表示が、交差点の通行を禁止する表示になっていることに伴って停車し、通行を許可する表示に切り替わるまで待機することである。
停車理由が信号待ち及び渋滞の何れかに該当する場合には、ステップS402が肯定判定されてステップS403に移る。一方、停車理由が信号待ち及び渋滞の何れにも該当しない場合にはステップS402が否定判定されてステップS404に移る。
ステップS403では、前進推定禁止フラグをOFFに設定してステップS404に移る。一般的に、信号待ちや渋滞によって停車している場合、ドライバは自由にアクセルペダルを操作できない。また、搭載車両の前後に存在する他車両との車間距離を調整するために、アクセル操作とブレーキ操作と交互に実施する状況も想定される。そのような状況において前述の前進意思推定処理を実施すると、ドライバは前進を希望しているにも関わらず、前進推定禁止フラグがONとなってしまう可能性がある。
そのような課題に対し、このステップS401〜S403を実施することによって、仮に前進意思推定処理によって前進推定禁止フラグがONに設定された場合であっても、前進禁止フラグをOFFに戻すことができる。
ステップS404では、前進推定禁止フラグがONに設定されているか否かを判定する。前進推定禁止フラグがONとなっている場合にはステップS404が肯定判定されて本フローを終了する。本フローを終了した場合には、本フローの呼び出し元である故障対応処理に戻って、後退意思推定処理(図4 ステップS5)が実行される。
一方、前進推定禁止フラグがOFFに設定されている場合にはステップS404が否定判定されてステップS405に移る。ステップS405では、ナビゲーション装置5から提供される移動姿勢情報に基づいて、搭載車両が道路に沿って前進中であるか否かを判定する。搭載車両が道路に沿って前進中である場合にはステップS405が肯定判定されてステップS406に移る。一方、搭載車両が道路に沿って前進中ではない場合(例えば、停止中や後退中等)にはステップS405が否定判定されてステップS408に移る。ステップS406では、前進意思フラグをONに設定してステップS407に移る。ステップS407では前進推定禁止フラグをOFFに設定してステップS408に移る。
ステップS408では障害物センサ6から提供される障害物情報に基づいて、搭載車両の前方に障害物が存在するか否かを判定する。搭載車両の前方に障害物が存在する場合にはステップS408が肯定判定されてステップS409に移る。一方、搭載車両の前方に障害物が存在しない場合にはステップS408が否定判定されて本フローを終了する。
ステップS409では前進意思フラグをOFFに設定して本フローを終了する。このステップS408からステップS409を実行することによって、障害物が存在する場合には前進意思フラグをOFFに設定されるため、搭載車両と障害物とが接触する恐れを低減できる。また、検出されている障害物が移動体である場合には、時間の経過に伴って、搭載車両の前方から移動する可能性があるため、前進推定禁止フラグはONには設定しない(つまり、OFFのままとする)。
<後退意思推定処理>
次に、図7に示すフローチャートを用いて、後退意思推定部F22が実施する後退意思推定処理について説明する。この図7に示すフローチャートは、図4のステップS5に移った時に開始される。図7に示す種々のステップは、後退意思推定部F22によって実行される。なお、前述の通り、後退意思フラグや後退推定禁止フラグの初期設定状態はOFFである。
まず、ステップS501では、後退推定禁止フラグがONに設定されているか否かを判定する。後退推定禁止フラグがONに設定されている場合にはステップS501が肯定判定されてステップS502に移る。一方、後退推定禁止フラグがOFFに設定されている場合にはステップS501が否定判定されてステップS503に移る。
ステップS502では後退意思フラグをOFFに設定して本フローを終了する。本フローを終了した場合には、本フローの呼び出し元である故障対応処理に戻り、推定結果調停処理(図4 ステップS6)を実行する。
ステップS503では、ナビゲーション装置5から提供される移動姿勢情報に基づいて、搭載車両が道路に沿って後退中であるか否かを判定する。搭載車両が道路に沿って後退中である場合にはステップS503が肯定判定されてステップS504に移る。一方、搭載車両が道路に沿って後退中ではない場合(例えば前進中や停止中)にはステップS503が否定判定されて本フローを終了する。
ステップS504では後退意思フラグをONに設定してステップS505に移る。ステップS505では後退推定禁止フラグをOFFに設定して本フローを終了する。なお、後退推定禁止フラグをONに設定する条件は適宜設計されれば良い。例えば、ナビゲーション装置5が故障している場合には、後退推定禁止フラグをONに設定すれば良い。
<推定結果調停処理>
次に、図8に示すフローチャートを用いて、推定結果調停部F23が実施する推定結果調停処理について説明する。この図8に示すフローチャートは、図4のステップS6に移った時に開始される。図8に示す種々のステップは、推定結果調停部F23によって実行される。
まず、ステップS601では前進意思フラグがONに設定されているか否かを判定する。前進意思フラグがONに設定されている場合にはステップS601からステップS602に移る。一方、前進意思フラグがOFFに設定されている場合にはステップS601からステップS603に移る。
ステップS602では後退意思フラグがONに設定されているか否かを判定する。後退意思フラグがONに設定されている場合にはステップS602からステップS603に移る。一方、後退意思フラグがOFFに設定されている場合にはステップS602からステップS604に移る。
ステップS603では、ドライバは搭載車両を移動させる意思はない(つまり移動意思無し)と判定して本フローを終了する。また、ステップS604では、ドライバは搭載車両を前進させる意思がある(つまり前進意思有り)と判定して本フローを終了する。なお、本フローを終了した場合には、本フローの呼び出し元である故障対応処理のステップS7を実行する。
ステップS605では後退意思フラグがONに設定されているか否かを判定する。後退意思フラグがONに設定されている場合にはステップS605からステップS606に移る。一方、後退意思フラグがOFFに設定されている場合にはステップS605からステップS607に移る。
ステップS606では、ドライバは搭載車両を後退させる意思がある(つまり後退意思有り)と判定して本フローを終了する。また、ステップS607では、ドライバは搭載車両を移動させる意思はない(つまり移動意思無し)と判定して本フローを終了する。
<車両制御装置1の作動のまとめ>
以上で述べた車両制御装置1の作動について、図9、及び図10を用いて説明する。図9は、ドライバが前進発進をしようとした際に、シフトポジションセンサ2に異常が生じた場合の作動を例示している。図9に示す状況の前提として、ドライバは搭載車両を前進させる意思があるものとする。また、初期の状態においてシフトレバーは駐車ポジションに設定されているものとする。
なお、図9の(A)は、アクセルセンサ3の出力値、つまりドライバによるアクセルペダルの踏込量を表しており、(B)は、ブレーキセンサ4の出力値、つまりドライバによるブレーキペダルの踏込量を表している。(C)は、ドライバによるシフトレバーの設定位置を表しており、(D)はシフトポジションセンサ2の検出結果を表している。なお、図中の「P」は駐車ポジションを意味し、「D」はドライブポジションを意味している。
図9の(E)は、駆動力の発揮方向の設定状態を表しており、(F)は各時点での推定状態を表している。(G)は、駆動源71の出力レベル(つまり生成される駆動力の大きさ)を表している。(A)〜(G)の何れのグラフも横軸は時間の経過を表している。
時刻T10は、ドライバがシフトレバーを駐車ポジションからドライブポジションに変更した時点を表している。このドライバのシフトレバー操作をトリガとして駆動制御部F3は、駆動力の発揮方向を前進方向に設定するとともに、駆動源71に駆動力を徐々に発揮させる。
時刻T11は、シフトポジションセンサ2に異常が発生した時点を表している。シフトポジションセンサ2に異常が発生したことは、故障検出部F11によって特定される。駆動制御部F3は、シフトポジションセンサ2の故障発生に伴い、駆動源71が生成する駆動力をいったん遮断する。
時刻T12は、ドライバがアクセルペダルを操作した時点を表しており、このドライバ操作に伴って、推定状態は推定中へと遷移する(図5 ステップS304)。前進意思推定部F21は、ドライバのアクセル操作をトリガとして、駆動制御部F3に対して搭載車両を所定の抑制レベル以下の駆動力で前進させるように要求する。駆動制御部F3は、前進意思推定部F21からの要求に基づき、駆動力の発揮方向を前進方向に設定するとともに、駆動力を僅かに増加させていく(図5 ステップS306)。
なお、本実施形態において図5のステップS306で増加させる駆動力は、推定中において駆動源71の出力レベルが抑制レベルに到達しないレベルとする。つまり、推定中において駆動源71の出力レベルが抑制レベルに到達しないペースで、徐々に出力レベルを増加させる。
時刻T13は、時刻T12から挙動監視時間経過した時点である。時刻T12からT13までの間、(A)及び(B)に示すように、アクセルペダルが操作されており、且つ、ブレーキペダルを踏み込んでいない状態が継続している。そのため、時刻T13において推定状態は、推定中から推定完了へと遷移する。なお、時刻T12aは、発揮される駆動力が小さいことに起因して、ドライバがアクセルペダルの踏込量を増加させた時点を表している。
推定状態が完了状態となった時刻T13以降においては、駆動制御部F3は、シフトポジションセンサ2の故障に由来して設定した、駆動力についての制限を徐々に解除していき、アクセルペダルの踏込量に応じた駆動力を発揮させる。
なお、本実施形態では一例として、駆動制御部F3は、推定中において駆動源71の出力レベルが抑制レベルに到達しないペースで、徐々に出力レベルを増加させるものとするが、これに限らない。図11に示すように、推定完了状態となる前に、出力レベルが抑制レベルに到達するペースで、出力レベルを増加させてもよい。ただし、推定状態が推定完了状態となるまでは、駆動源71の出力レベルは抑制レベル以下となるように制御するものとする。なお、図11中のLv_spは抑制レベルを表している。
時刻T14はアクセルペダルの踏込量を弱めた時点を表しており、時刻T15はアクセルペダルから足を離してブレーキペダルを踏み込み始めた時点を表している。いったん推定状態が推定完了となった場合には、前方に障害物が存在する場合を除き、停車状態が一定時間継続するまでは前進意思有りとの判定を維持する。つまり、駆動力の発揮方向は前進方向のままとする。
また、図10は、ドライバが後退発進をしようとした際に、シフトポジションセンサ2に異常が生じた場合の作動を例示している。図10に示す状況の前提として、ドライバは搭載車両を後退させる意思があるものとする。また、初期の状態においてシフトレバーは駐車ポジションに設定されているものとする。図10に示す(A)〜(G)の種々のグラフが表す項目は、図9と同様である。
時刻T20は、ドライバがシフトレバーを駐車ポジションから後退ポジションに設定した時点を表している。このドライバのシフトレバー操作に伴って、駆動制御部F3は、駆動力の発揮方向は後退方向に設定するとともに、(G)に示すように駆動力を徐々に発揮させる。
時刻T21は、シフトポジションセンサ2に異常が発生した時点を表している。シフトポジションセンサ2の故障は、故障検出部F11によって検出される。駆動制御部F3は、シフトポジションセンサ2の故障に伴ってフェールセーフの観点から、駆動源71が生成する駆動力をいったん遮断する。
時刻T22は、ドライバがアクセルペダルを操作した時点を表しており、このドライバ操作に伴って、推定状態は推定中へと遷移する(図5 ステップS304)。駆動制御部F3は、これに伴って、駆動力の発揮方向を前進方向に設定するとともに、駆動力を微小量発揮させる(図5 ステップS306)。
その結果、搭載車両はゆっくりと前進し始めるが、図10に示す状況においてドライバが意図する進行方向は後退方向である。そのため、ドライバは搭載車両の前進を止めるためにブレーキペダルを踏み込むことが想定される。
時刻T23は、搭載車両が前進し始めたことに起因して、ドライバがアクセルペダルを離してブレーキペダルを踏み込んだ時点を表している。推定中においてブレーキペダルが踏み込まれた為、前進意思推定部F21は前進意思フラグをOFFにするとともに、前進推定禁止フラグをONに設定する。
前進推定禁止フラグがONに設定されているため、時刻T24でドライバが再度アクセルペダルを踏み込んだとしても、搭載車両が前進することはない。前進意思推定処理においてステップS301が肯定判定されてステップS316に移るためである。このような構成によれば、ドライバが後退走行を希望している状態において、搭載車両を前進させる処理が繰り返し実施されることを抑制することができる。
ただし、本実施形態では前進意思推定処理の補足として、推定結果補正処理を実施する。そのため、停車理由が信号待ちや渋滞などとなっている場合、つまり、ドライバがブレーキ操作をした理由が、搭載車両の進行方向とドライバの意図との不一致とは限らない場合には、前進推定禁止フラグがOFFに戻す。その結果、ドライバは、信号待ちや渋滞などの理由によって、アクセル操作とブレーキ操作とを交互に実施した以降においても搭載車両を前進させることができる。なお、前進推定禁止フラグの設定状態は、いったんイグニッション電源などの走行電源をオフにすることでOFFにリセットすることができる。
<実施形態の構成及び効果について>
車両制御装置1(特に前進意思推定部F21)は、ドライバのアクセル操作に基づいて搭載車両を前進させた結果、ドライバがアクセル操作を続けるか否かに基づいてドライバの意思を推定する。そして、ドライバがアクセル操作を継続した場合に、ドライバは前進意思有りと推定(換言すれば判定)して、搭載車両を引き続き前進させる。
このような車両制御装置1によれば、ドライバは、搭載車両を前進走行させることを望んでいる場合、アクセルペダルを踏み込んだ状態を所定の挙動監視時間維持することによって、シフトポジションセンサが故障している場合であっても、搭載車両を前進走行させることができる。
また、ドライバの意思を推定する過程においては、シフトポジション信号は使用しない。そのため、仮にシフトポジションセンサ2が、シフトポジション信号の出力パターンが正常な出力パターンとなるシフトポジションが存在しない態様で故障している場合(以降、全故障状態と称する)であっても、ドライバは搭載車両を走行させることができる。
さらに、以上の構成では、シフトポジションセンサ2の故障が検出されており、かつ、前進意思推定部F21によるドライバの意思の推定が完了していない場合、駆動制御部F3は駆動源71の出力レベルの上限を抑制レベルに設定する。このような構成によれば、ドライバの意思を推定している過程において搭載車両が急に加速することを回避することができる。
また、シフトポジションセンサ2の故障が検出されている場合であっても、前進意思推定部F21によるドライバの意思の推定が完了し、ドライバに前進意思があると判定した場合には、駆動源71に抑制レベル以上の駆動力を発揮させることを許容する。このような態様によれば、ドライバは搭載車両を通常時と同様の感覚で走行させることができる。
また、上記構成において前進推定禁止フラグがONに設定されている場合には、仮にドライバがアクセル操作を実施している場合であっても、ドライバの意思を推定するために搭載車両を前進させる制御は実施しない。つまり、前進推定禁止フラグを導入することによって、ドライバが後退走行を希望している場合において、搭載車両の前進を繰り返し実施することを抑制することができる。また、上記構成によれば、後退意思推定処理の結果、後退意思フラグがONに設定された場合には、ドライバは搭載車両を後退させることもできる。
以上、本発明の実施形態を説明したが、本発明は上述の実施形態に限定されるものではなく、以降で述べる種々の変形例も本発明の技術的範囲に含まれ、さらに、下記以外にも要旨を逸脱しない範囲内で種々変更して実施することができる。
なお、前述の実施形態で述べた部材と同一の機能を有する部材については、同一の符号を付し、その説明を省略する。また、構成の一部のみに言及している場合、他の部分については先に説明した実施形態の構成を適用することができる。
[変形例1]
上述した実施形態では、後退意思推定処理として、ナビゲーション装置5から提供される移動姿勢情報に基づいて、ドライバが搭載車両を後退させる意思があるか否かを推定する態様を開示したが、これに限らない。前進意思推定処理と同様に、アクセル操作やブレーキ操作に基づいてドライバが搭載車両を後退させる意思があるか否かを推定してもよい。以下、後退意思推定処理の変形例として、アクセル操作やブレーキ操作に基づいてドライバが搭載車両を後退させる意思があるか否かを推定する態様の一例について、図12に示すフローチャートを用いて説明する。
図12に示すフローチャートは、図4のステップS5に移った時に開始されればよい。なお、ここでは一例として図12に示す後退意思推定処理を、図7に示す後退意思推定処理の代わりに実施するものとするが、これに限らない。図12に示す後退意思推定処理を第1後退意思推定処理とし、図7に示す後退意思推定処理を第2後退意思推定処理として、両方とも順番に実施してもよい。図12に示すフローチャートが備える各ステップのうち、実行主体を明記していないステップについては後退意思推定部F22によって実行される。
まず、ステップS510では、後退意思禁止フラグがONに設定されているか否かを判定する。後退意思禁止フラグがONに設定されている場合にはステップS510が肯定判定されて本フローを終了する。一方、後退意思禁止フラグがOFFに設定されている場合にはステップS510が否定判定されてステップS511に移る。
ステップS511では前進推定禁止フラグがONに設定されているか否かを判定する。前進意思禁止フラグがONに設定されている場合にはステップS511が肯定判定されてステップS512に進む。一方、前進意思禁止フラグがOFFに設定されている場合にはステップS511が否定判定されて本フローを終了する。つまり、ここでは一例として、前進意思推定処理の結果、ドライバに前進意思がないことが確定されている場合のみ、後続する処理を実行するものとする。
ステップS512では、アクセルペダルが操作されており、かつ、ブレーキペダルが操作されていない状態であるか否かを判定する。アクセルペダルが操作されており、かつ、ブレーキペダルが操作されていない場合には、ステップS512が肯定判定されて、ステップS513に移る。一方、アクセルペダルが操作されていない場合や、ブレーキペダルが操作されている場合には、ステップS512が否定判定されて本フローを終了する。
ステップS513では駆動制御部F3が、変速機72に対して所定の制御信号を出力し、駆動力の発揮方向を後退方向に設定してステップS514に移る。ステップS514では駆動制御部F3が、駆動源71に対して駆動力を所定のレベルの駆動力を出力するように指示してステップS515に移る。なお、ステップS514を実行することによって発揮される駆動力は、搭載車両が後退したことをドライバが認識できる程度の微小量とすることが好ましい。
ステップS515では、搭載車両が後退し始めた以降においても所定の挙動監視時間、ドライバがアクセルペダルを操作した状態を維持しているか否かを判定する。換言すれば、アクセルセンサ3の検出値がアクセル操作判定閾値以上となっている状態が維持されているか否かを判定する。
搭載車両が後退し始めた以降においても挙動監視時間、ドライバがアクセルペダルを操作した状態を維持している場合にはステップS515が肯定判定されてステップS516に移る。一方、搭載車両が後退し始めた以降において挙動監視時間以内に、ドライバがアクセルペダルを離したり、ブレーキペダルを踏み込んだりした場合には、ステップS515が否定判定されてステップS518に移る。
ステップS516では、後退意思フラグをONに設定してステップS517に移る。ステップS517では後退推定禁止フラグをOFFに設定して本フローを終了する。ステップS518では後退意思フラグをOFFに設定してステップS519に移る。ステップS519では後退推定禁止フラグをONに設定して本フローを終了する。
以上のような処理によれば、ナビゲーション装置5によって搭載車両が道路に沿って後退していると判定されていない場合であっても、搭載車両を後退走行させることができる。例えば、搭載車両を駐車している状態から後退発進させる過程においてシフトポジションセンサ2が故障した場合であっても、搭載車両を後退発進させることができる。
[変形例2]
以上では、故障対応処理として、前進意思推定処理の後に、推定結果補正処理や、後退意思推定処理を実施する態様を開示したが、これに限らない。推定結果補正処理は省略されても良い。後退意思推定処理も省略されてもよい。
[変形例3]
図13に示すように、車両制御装置1がディスプレイ8と相互通信可能に接続されている場合には、意思推定部F2がドライバの意思の推定処理を実施している間、ディスプレイ8にドライバの意思を推定中であることを示す画像(以降、推定状況通知画像)を、表示してもよい。そのような態様によれば、ドライバは推定状況通知画像を見ることで、アクセルペダルを踏み込めば搭載車両を走行させることができることを認識できる。推定状況通知画像は、推定状態を示す情報に加えて、各種フラグの設定状態を示す情報や、ドライバが搭載車両を前進させるために実施すべき操作内容等を含んでいても良い。
図13に示す推定状況通知処理部F4は、上述した推定状況通知画像を生成してディスプレイ8に表示させる機能を提供する機能ブロックである。推定状況通知処理部F4が請求項に記載の情報提供処理部に相当する。なお、推定状況通知画像の出力先とするディスプレイ8は、インストゥルメントパネルにおいて運転席の正面に位置する領域の上部に配置されたメータディスプレイであってもよいし、インストゥルメントパネルの車幅方向中央部に設けられたセンターディスプレイであってもよい。また、ヘッドアップディスプレイであっても良い。
さらに、車両制御に対するドライバの意思を推定中であることを示す情報は、LED等を用いて実現されるインジケータを点灯(明滅を含む)させることによってドライバに通知してもよい。ドライバが視覚的に認識可能な態様で出力されればよい。