以下、図面を参照して本発明の実施の形態について説明する。なお、各図において、同一または相当する部分には同一符号を付してその説明を簡略化ないし省略する。
1.自動運転システムの全体構成
図1は、本発明の実施の形態に係る自動運転システムの構成例を示すブロック図である。自動運転システムは、車両に搭載される。以下、自動運転システムが搭載される車両を「車両M1」ともいう。車両M1としては、内燃機関を動力源とする自動車、電動機を動力源とする電気自動車、および、内燃機関と電動機を備えるハイブリッド自動車が例示される。電動機は、二次電池、水素燃料電池、金属燃料電池、アルコール燃料電池などの電池により駆動される。
1.1 第1システム
自動運転システムは、第1システム100を備えている。第1システム100は、車両M1の自動運転制御を行うためのシステムである。第1システム100は、GPS(Global Positioning System)受信器12と、地図データベース14と、第1センサ群16と、HMI(Human Machine Interface)ユニット18と、通信装置20と、自動運転制御用の電子制御ユニット(以下、「ADS-ECU」ともいう。)30と、走行装置用の電子制御ユニット(以下、「走行装置ECU」ともいう。)40と、を備えている。
GPS受信器12は、3個以上のGPS衛星からの信号を受信する機器である。GPS受信器12は、受信した信号に基づいて、車両M1の位置および姿勢(方位)を算出する。GPS受信器12は、算出した情報をADS-ECU30に送信する。
地図データベース14には、地図情報のデータが格納されている。地図情報のデータには、道路、交差点などの位置のデータ、道路の形状のデータ(例えば、カーブ、直線の種別、道路の幅、道路の勾配など)、および、道路の種類のデータ(例えば、高速道路、有料道路、国道など)が含まれている。地図データベース14は、所定の記憶装置(ハードディスク、フラッシュメモリなど)に格納されている。
第1センサ群16は、車両M1の周囲の状況を検出する外部センサと、車両M1の走行状態を検出する内部センサと、を備えている。
外部センサとしては、LIDER(Laser Imaging Detection and Ranging)、レーダーおよびカメラが例示される。LIDERは、光を利用して車両M1の周囲の物標を検出する。レーダーは、電波を利用して車両M1の周囲の物標を検出する。カメラは、車両M1の周囲の状況を撮像する。カメラは、例えば、ルームミラーに近いフロントガラスの裏側に取り付けられている。外部センサは、検出した情報をADS-ECU30に送信する。この検出情報には、カメラにより撮像された車両M1の前方の画像データが含まれる。
内部センサとしては、車速センサ、ブレーキセンサ、アクセル開度センサおよび舵角センサが例示される。車速センサは、車両M1の走行速度(車速)を検出する。ブレーキセンサは、車両M1のドライバによるブレーキペダルの操作量を検出する。アクセル開度センサは、ドライバによるアクセルペダルの操作量を検出する。舵角センサは、ステアリングホイールの回転角度(舵角)を検出する。内部センサは、検出した情報をADS-ECU30に送信する。
HMIユニット18は、ドライバに情報を提供し、また、ドライバから情報を受け付けるためのユーザインタフェースである。HMIユニット18は、入力装置、表示装置、スピーカおよびマイクを備えている。入力装置としては、タッチパネル、キーボード、スイッチ、ボタンが例示される。ドライバに提供される情報は、車両M1の走行状況、所定の注意喚起、自動運転から手動運転への切り替え提案を含んでいる。ドライバへの情報の提供は、表示装置およびスピーカを用いて行われる。ドライバからの情報の受付は、入力装置およびマイクを用いて行われる。HMIユニット18は、ドライバから入力された情報をADS-ECU30に送信する。
通信装置20は、V2X通信(車車間通信および路車間通信)を行う。具体的に、通信装置20は、他の車両との間でV2V通信(車車間通信)を行う。また、通信装置20は、周囲のインフラとの間でV2I通信(路車間通信)を行う。V2X通信を通して、通信装置20は、車両M1の周囲の環境に関する情報を取得することができる。通信装置20は、取得した情報をADS-ECU30に送信する。
ADS-ECU30は、車両M1の自動運転を制御する自動運転制御を行う。典型的に、ADS-ECU30は、プロセッサ、メモリ、および、入出力インタフェースを備えるマイクロコンピュータである。ADS-ECU30は、入出力インタフェースを介して各種情報を受け取る。そして、ADS-ECU30は、受け取った情報に基づいて自動運転制御を行う。具体的には、ADS-ECU30は、車両M1の走行計画を立案し、その走行計画に沿って車両M1が走行するように走行装置ECU40に情報を出力する。
走行装置ECU40は、ADS-ECU30と同様の構成を有するマイクロコンピュータである。走行装置ECU40は、複数のECUから構成される。これらのECUは、ADS-ECU30から入力される各種の情報に従って、車両M1を自動的に走行させるための各種の走行装置(図示しない)をそれぞれ制御する。これらの走行装置は、走行駆動力出力装置、ステアリング装置およびブレーキ装置を含んでいる。走行駆動力出力装置は、走行駆動力を発生させる動力源である。ステアリング装置は、車輪を転舵する。ブレーキ装置は、制動力を発生させる。
なお、ADS-ECU30が行う自動運転制御には、公知の技術が適用される。そのため、自動運転制御に関連したADS-ECU30の機能の説明については省略する。本実施の形態の特徴に関連する機能の説明については、後述する。
1.2 第2システム
自動運転システムは、更に、第2システム200を備えている。第2システム200は、第1システム100に接続されている。第2システム200は、第2センサ群50と、スイッチ60と、電子制御ユニット(以下、「BODY-ECU」ともいう。)70と、デバイス80と、を備えている。
スイッチ60は、接続ライン62を介してBODY-ECU70に接続されている。デバイス80は、接続ライン72を介してBODY-ECU70に接続されている。つまり、スイッチ60とデバイス80は、接続ライン62および72、並びにBODY-ECU70を介して接続されている。スイッチ60とデバイス80は、更に、接続ライン64を介して接続されている。接続ライン64は、BODY-ECU70を迂回する直接接続ラインである。
第2システム200の第1の例は、ヘッドライトの点灯動作を制御するシステムである。第2システム200の第2の例は、ワイパの払拭動作を制御するシステムである。以下、第1および第2の例について説明する。
(1)第2システムの第1の例
第1の例において、第2センサ群50は輝度センサを含む。デバイス80は、ヘッドライトである。BODY-ECU70は、ヘッドライトの点灯動作を制御する。スイッチ60とデバイス80が接続ライン64を介して接続されている場合、ヘッドライトが常時点灯する。
輝度センサは、車両M1の位置における輝度を検出する。輝度センサは、例えば、ルームミラーに近いフロントガラスの裏側に取り付けられている。輝度センサは、検出した情報(以下、「輝度情報」ともいう。)をBODY-ECU70に送信する。輝度センサは、BODY-ECU70だけでなく、輝度情報をADS-ECU30にも送信してもよい。この場合、輝度情報は、外部センサによる検出情報の一つとしてADS-ECU30に送信される。
スイッチ60は、ヘッドライトを作動させるための装置である。図2は、スイッチ60の第1の構成例を示した模式図である。図2に示すスイッチ60は、本体部66と、摘み部68と、を備えている。摘み部68は、本体部66の先端に設けられている。摘み部68は、スイッチ60の中心軸CA周りに回転可能に支持されている。
本体部66は、摘み部68の回転を停止させる位置(以下、「第1SWポジション」ともいう。)を3箇所備えている。図2に示す「AUTO」、「HEAD」および「OFF」の位置が、この第1SWポジションに相当する。第1SWポジションが「AUTO」または「HEAD」の位置にあるときは、スイッチ60からBODY-ECU70に第1SWポジションに応じたON信号が送信される。一方、第1SWポジションが「OFF」の位置にあるときは、OFF信号が送信される。ON信号およびOFF信号は、図1に示した接続ライン62を経由して送信される。
車両M1の走行中、第1SWポジションは基本的に「AUTO」の位置にある。「AUTO」の位置から「HEAD」または「OFF」の位置への変更は、摘み部68の手動操作により行われる。車両M1の走行中、第1SWポジションを「AUTO」の位置から「HEAD」に手動で変更すると、第1SWポジションが「HEAD」の位置で停止する。ここで、第1SWポジションが「HEAD」の位置にあるときは、スイッチ60とヘッドライトが図1に示した接続ライン64を介して直接接続される。故にこの場合は、ヘッドライトが常時点灯する。
一方、車両M1の走行中、第1SWポジションを「OFF」の位置で停止させることはできない。すなわち、第1SWポジションを「OFF」の位置に変更しても、摘み部68から手を離すと、第1SWポジションは「AUTO」の位置に戻る。つまり、車両M1の走行中は、「OFF」の位置への変更が原則として禁止される(モーメンタリ動作)。車両M1の停止中に限り、第1SWポジションを「OFF」の位置で停止させることができる。
図3は、スイッチ60の第2の構成例を示した模式図である。第2の構成例は、基本的には第1の構成例と同じである。第1の構成例と異なり、第2の構成例では、第1SWポジションに「TAIL」の位置が追加されている。第2の構成例は、ヘッドライトの点灯動作と同時に、テイルライトおよびポジションランプの点灯動作が行われる車両M1に適用される。第2の構成例では、第1SWポジションが「AUTO」、「HEAD」または「TAIL」の位置にあるとき、スイッチ60からBODY-ECU70に第1SWポジションに応じたON信号が送信される。
BODY-ECU70は、スイッチ60からの入力信号と、輝度情報と、に基づいて、ヘッドライトの点灯動作を制御する。スイッチ60からON信号が入力され、尚且つ、輝度が第1基準値未満の場合、BODY-ECU70は、ヘッドライトを点灯させる。輝度が第1基準値以上の場合、または、スイッチ60からOFF信号が入力されている場合、BODY-ECU70は、ヘッドライトを消灯させる。
法規上の要求がある場合、BODY-ECU70は、スイッチ60からの入力信号のみに基づいて、ヘッドライトの点灯動作を制御する。BODY-ECU70は、ON信号が入力されている場合にはヘッドライトを点灯させる。OFF信号が入力されている場合、BODY-ECU70はヘッドライトを消灯させる。
BODY-ECU70は、ADS-ECU30に自己診断信号(以下、「ダイアグ信号」ともいう。)を送信する。ダイアグ信号は、第2システム200の故障に関する信号である。ダイアグ信号には、システムの正常を通知するコード、または、システムの異常を通知するコードが含まれる。ダイアグ信号に異常を通知するコードが含まれている場合、ADS-ECU30による自動運転制御は行われない。第1の例では、ヘッドライトが点灯できる状態にあることがダイアグ信号から把握される場合に限り、自動運転制御が行われる。
自動運転制御が行われる場合、BODY-ECU70は、自動点灯モード要求信号をADS-ECU30から受信する。自動点灯モード要求信号を受信した場合、BODY-ECU70は、スイッチ60からの入力信号の内容に関係なく、輝度情報に基づいてヘッドライトの点灯動作を制御する。法規上の要求がある場合は、輝度情報にも関係なく、ヘッドライトの点灯動作を制御する。つまり、自動運転制御の最中は、第1SWポジションに関係なく点灯動作が制御される。
自動点灯モード要求信号を受信している間、BODY-ECU70は、点灯動作の制御状態に関するACK信号(Acknowledgement signal)をADS-ECU30に送信する。ACK信号には、第1、第2または第3コードが含まれている。第1コードは、点灯動作の制御が実行中であり、尚且つ、ヘッドライトが点灯されていることを通知するコードである。第2コードは、点灯動作の制御が実行中ではあるが、輝度が第1基準値以上であり、ヘッドライトが消灯されていることを通知するコードである。第3コードは、点灯動作の制御が実行中でないことを通知するコードである。
BODY-ECU70は、第1SWポジションに応じた信号(以下、「第1SWポジション信号」ともいう。)を、ADS-ECU30に送信する。第1SWポジション信号の送信は、自動点灯モード要求信号の受信の有無に関係なく行われる。既に説明したように、第1SWポジションが「AUTO」または「HEAD」の位置(図3の例では、「AUTO」、「HEAD」または「TAIL」の位置)にあるときは、スイッチ60からBODY-ECU70に第1SWポジションに応じたON信号が送信される。一方、第1SWポジションが「OFF」の位置にあるときは、OFF信号が送信される。BODY-ECU70は、受信したONまたはOFF信号に基づいて第1SWポジション信号を生成し、ADS-ECU30に送信する。
(2)第2システムの第2の例
第2の例において、第2センサ群50はレインセンサを含む。デバイス80は、ワイパである。BODY-ECU70は、ワイパの払拭動作を制御する。スイッチ60とデバイス80が接続ライン64を介して接続されている場合、ワイパが強制的に駆動される。
レインセンサは、スイッチ60が停止する位置(以下、「第2SWポジション」ともいう。)が後述する「AUTO」の位置にある場合、雨を検知する。レインセンサは、例えば、ルームミラーに近いフロントガラスの裏側に取り付けられている。レインセンサは、レインセンサが検出した雨量(以下、「検出雨量」ともいう。)に応じた制御信号をBODY-ECU70に送信する。
スイッチ60は、ワイパを駆動するための装置である。図4は、スイッチ60の第3の構成例を示した模式図である。図4に示すように、スイッチ60には、第2SWポジションが5箇所設けられている。図4に示す「MIST」、「OFF」、「AUTO」、「LO」および「HI」の位置が、第2SWポジションに相当する。ワイパの払拭動作は、第2SWポジションを変更することにより行われる。
図4においては、第2SWポジションが「OFF」の位置にある。第2SWポジションが「OFF」の位置にあるときは、ワイパは駆動されない。
第2SWポジションを「OFF」の位置から「MIST」の位置に変更すると、スイッチ60からBODY-ECU70にワイパを一時的に駆動するための制御信号が送信される。この制御信号は、図1に示した接続ライン62を経由して送信される。第2SWポジションが「MIST」の位置にあるときは、ワイパの払拭動作が所定回行われる。なお、この場合は、ワイパの払拭動作に同期して、洗浄液がフロントガラスに噴射される。
一方、第2SWポジションを「OFF」の位置から「AUTO」の位置に変更すると、ワイパを自動的に駆動するための制御信号が、接続ライン62を経由して送信される。第2SWポジションが「AUTO」の位置にあるときは、レインセンサからの制御信号に基づいて、ワイパの払拭動作が制御される。
第2SWポジションを「AUTO」の位置よりも更に下方に変更すると、ワイパを所定速度で駆動するための制御信号が、接続ライン62を経由して送信される。第2SWポジションが「LO」の位置にあるときは、ワイパの払拭動作が低速で行われる。一方、第2SWポジションが「HI」の位置にあるときは、ワイパの払拭動作が高速で行われる。第2SWポジションが「HI」の位置にあるときは、スイッチ60とワイパが図1に示した接続ライン64を介して直接接続される。故にこの場合は、ワイパが強制的に駆動される。
BODY-ECU70は、スイッチ60からの入力信号に基づいて、ワイパの払拭動作を制御する。ワイパを自動的に駆動するための制御信号が入力されている場合、BODY-ECU70は、レインセンサからの制御信号を参照してワイパを駆動する。スイッチ60からワイパを一時的に駆動するための制御信号、または、ワイパを所定速度で駆動するための制御信号が入力されている場合、BODY-ECU70は、入力される制御信号に応じてワイパを駆動する。
第1の例と同様に、第2の例でも、BODY-ECU70は、ADS-ECU30にダイアグ信号を送信する。ダイアグ信号に異常を通知するコードが含まれている場合、ADS-ECU30による自動運転制御は行われない。第2の例では、ワイパが駆動できる状態にあることがダイアグ信号から把握される場合に限り、自動運転制御が行われる。
自動運転制御が行われる場合、BODY-ECU70は、自動払拭モード要求信号をADS-ECU30から受信する。自動払拭モード要求信号を受信した場合、BODY-ECU70は、第2SWポジションが「OFF」の位置にある場合であっても、第2SWポジションが「AUTO」の位置にあるときと同様に、ワイパの払拭動作を制御する。なお、第2SWポジションが「MIST」、「LO」または「HI」の位置にある場合、BODY-ECU70は、スイッチ60から入力されるそれぞれの制御信号に基づいて、ワイパの払拭動作を制御する。
自動払拭モード要求信号を受信している間、BODY-ECU70は、払拭動作の制御状態に関するACK信号をADS-ECU30に送信する。ACK信号には、第4、第5または第6コードが含まれている。第4コードは、払拭動作の制御が実行中であり、尚且つ、ワイパが駆動されていることを通知するコードである。第5コードは、払拭動作の制御が実行中ではあるが、検出雨量が第2基準値未満であり、ワイパが駆動されていないことを通知するコードである。第6コードは、払拭動作の制御が実行中でないことを通知するコードである。
BODY-ECU70は、第2SWポジションに応じた信号(以下、「第2SWポジション信号」ともいう。)をADS-ECU30に送信する。第2SWポジション信号の送信は、自動払拭モード要求信号の受信の有無に関係なく行われる。既に説明したように、第2SWポジションが「MIST」、「AUTO」、「LO」または「HI」の位置にあるときは、第2SWポジションに応じた制御信号が送信される。BODY-ECU70は、受信した制御信号に基づいて第2SWポジション信号を生成し、ADS-ECU30に送信する。
図5は、車両M1のフロントガラス90の周辺の模式図である。図5に示すように、デバイス(ワイパ)80は、第1アーム81および第2アーム82を備えている。第1アーム81は、第1支点83を中心に回転する。第1アーム81の先端には、第1ブレード84が取り付けられている。第2アーム82は、第2支点85を中心に回転する。第2アーム82の先端には、第2ブレード86が取り付けられている。
第1アーム81および第2アーム82が回転すると、フロントガラス90の表面に付着した水滴等が第1ブレード84および第2ブレード86により払拭される。図5に破線で示す領域R84は、第1ブレード84の移動軌跡を表している。領域R84は、第2ブレード86の移動軌跡を表している。第2センサ群(レインセンサ)50は、フロントガラス90の上方、尚且つ、領域R86の裏側に取り付けられている。この裏側には、カメラ17も取り付けられている。カメラ17は、上述した第1センサ群16に含まれるカメラに相当する。カメラ17は、車両M1の前方を撮像する。
2.実施の形態の特徴
第2システム200の第1の例において、ADS-ECU30が第1コードを含むACK信号を受信している間は、ヘッドライトが点灯されているはずである。しかしながら、何らかの理由により、実際にはヘッドライトが消灯している場合が想定される。そしてこれは、第2システム200の第2の例においても同じことがいえる。すなわち、ADS-ECU30が第4コードを含むACK信号を受信している間は、ワイパが駆動されていることが推定される。しかしながら、何らかの理由により、実際にはワイパが駆動されていない場合がある。このような異常状態を検出するため、本実施の形態では、ADS-ECU30を次のように構成する。
2.1 ADS-ECUの構成
(1)第1の例
図6は、ADS-ECU30の第1の機能構成例を示すブロック図である。この第1の機能構成例は、上述した第2システム200の第1の例に対応している。図6に示すように、ADS-ECU30は、画像処理部31と、機械学習部32と、点灯判定部33と、異常判定部34と、を備えている。
画像処理部31は、カメラにより撮像された車両M1の前方の画像データを処理する。画像処理では、車両M1の前方の画像データから、ヘッドライトの点灯状態と相関を有する領域のデータが選択的に抽出される。点灯状態と相関を有する領域とは、ヘッドライトの照射範囲を含む領域である。照射範囲は、ヘッドライトの光軸の位置を基準として設定される所定面積を有する範囲である。画像処理部31は、抽出した画像データを、機械学習部32および点灯判定部33に送信する。
画像処理部31は、画像データを抽出する前に、機械学習部32による学習に適した画像データを取捨選択してもよい。学習に適した画像データは、例えば、車両M1の周囲の天気情報、車両M1の走行地域に基づいて選択される。晴天時に得られた画像データ、郊外走行時に得られた画像データ、および、高速道路の走行時に得られた画像データは、データ収集時の周囲の輝度が安定していることから、学習に適している。反対に、雨天時に得られた画像データや、市街地走行時に得られた画像データは、画像データにノイズが重畳していることから、学習に適しているとは言い難い。
機械学習部32は、画像処理部31から受信した画像データのパターンに基づいて、ヘッドライトが点灯されているときの画像データの特徴量を自動学習する。機械学習部32は、学習を通じて得られた特徴量に基づいて点灯判定用の判定モデルを生成し、この判定モデルを点灯判定部33に送信する。点灯判定用の判定モデルの送信は、生成の都度行われてもよいし、定期的に行われてもよい。定期的に点灯判定用の判定モデルが送信される場合、送信時点で最新のものが選択される。
点灯判定部33は、画像処理部31から受信した画像データと、機械学習部32から受信した点灯判定用の判定モデルと、に基づいて、ヘッドライトが点灯しているか否かを判定する。点灯判定部33は、異常判定部34に判定結果信号を送信する。ヘッドライトが点灯していると判定した場合、判定結果信号には「ON」を示すコードが含まれる。ヘッドライトが点灯していないと判定した場合、判定結果信号には「OFF」を示すコードが含まれる。なお、機械学習部32による特徴量の学習と、点灯判定部33による判定とを、深層学習(ディープラーニング)を利用して実現してもよい。
異常判定部34は、点灯判定部33から受信した判定結果信号と、ACK信号と、に基づいて、第2システム200に異常が発生しているか否かを判定する。異常判定部34は、判定結果信号に含まれるコードに基づいてヘッドライトの第1点灯状態を推定する。異常判定部34は、ACK信号に含まれるコードに基づいて、ヘッドライトの第2点灯状態を推定する。異常判定部34は、第1点灯状態と第2点灯状態の比較に基づいて、第2システム200に異常が発生しているか否か判定する。一連の処理(異常判定処理)の詳細は、後述する。
(2)異常判定処理
図7は、異常判定処理の第1の例の流れを説明するフローチャートである。この第1の例は、第2システム200が上述した第1の例で構成されている場合に、図6に示した異常判定部34において行われる処理である。図7に示すルーチンは、例えば、下記の条件が成立した場合に実行される。なお、下記の条件は、異常判定処理の実行に適した環境条件の一例である。
(i) 輝度が第3基準値(<第1基準値)未満である
(ii) 車速が所定速度未満である
(iii) 舵角が所定角未満である
(iv) 悪天候でない
異常判定処理では、先ず、第1点灯情報に基づいて、ヘッドライトの第1点灯状態が推定される(ステップS10)。第1点灯情報は、判定結果信号に含まれるコードに基づいて推定される。したがって、判定結果信号に「ON」を示すコードが含まれる場合、第1点灯状態は「ON」であると推定される。判定結果信号に「OFF」を示すコードが含まれる場合、第1点灯状態は「OFF」であると推定される。
ステップS10に続いて、第2点灯情報に基づいて、ヘッドライトの第2点灯状態が推定される(ステップS12)。第2点灯状態は、ACK信号に含まれるコードに基づいて推定される。既に説明した第1、第2および第3コードによれば、ACK信号に第1コードが含まれている場合、第2点灯状態は「ON」であると推定される。一方、ACK信号に第2または第3コードが含まれている場合、第2点灯状態は「OFF」であると推定される。
ステップS12に続いて、第1点灯状態と第2点灯状態が矛盾するか否かが判定される(ステップS14)。第1および第2点灯状態が共に「ON」であると推定されている場合、両状態は矛盾していないと判定される。一方、第1点灯状態が「OFF」であると推定され、一方、第2点灯状態が「ON」であると推定されている場合、両状態は矛盾すると判定される。つまり、第1点灯状態と第2点灯状態が異なる場合、両状態は矛盾すると判定される。
ステップS14の判定結果が肯定的な場合、第2システム200に異常が発生していると判定される(ステップS16)。一方、ステップS14の判定結果が否定的な場合、第2システム200は正常であると判定される(ステップS18)。
(3)第2の例
図8は、ADS-ECU30の第2の機能構成例を示すブロック図である。この第2の機能構成例は、上述した第2システム200の第2の例に対応している。図8に示すように、ADS-ECU30は、機械学習部35と、降雨判定部36と、駆動判定部37と、異常判定部38と、を備えている。
機械学習部35は、カメラにより撮像された車両M1の前方の画像データのパターンに基づいて、次の画像データ(i)~(iii)のうちの少なくとも1つに着目し、画像データにおける特徴量を自動学習する。
(i) フロントガラスに水滴が付着しているときの画像データ
(ii) 車両M1の周囲を走行する他の車両のワイパが作動しているときの画像データ
(iii) ワイパ(第2ブレード86)がカメラの前を横切るときの画像データ
機械学習部35は、学習を通じて得られた特徴量に基づいて駆動判定用の判定モデルを生成し、降雨判定部36または駆動判定部37に送信する。駆動判定用の判定モデルの送信は、生成の都度行われてもよいし、定期的に行われてもよい。定期的に駆動判定用の判定モデルが送信される場合、送信時点で最新のものが選択される。以下、画像データ(i)に基づいて生成された駆動判定用の判定モデルを「第1判定モデル」と称す。また、画像データ(ii)に基づいて生成された駆動判定用の判定モデルを「第2判定モデル」と称し、画像データ(iii)に基づいて生成された駆動判定用の判定モデルを「第3判定モデル」と称す。第1または第2判定モデルは、降雨判定部36に送信される。第3判定モデルは、駆動判定部37に送信される。
降雨判定部36は、第1または第2判定モデルと、カメラ17により撮像された車両M1の前方の画像データと、に基づいて、ワイパの駆動を要する程度の雨が降っているか否かを判定する。既に説明したように、第1判定モデルは、画像データ(i)に基づいて生成されている。そのため、第1判定モデルによれば、ワイパの駆動を要する程度の雨が降っているか否かを直接的に判定することができる。また、第2判定モデルは、画像データ(ii)に基づいて生成されている。そのため、第2判定モデルによれば、ワイパの駆動を要する程度の雨が降っているか否かを間接的に判定することができる。
降雨判定部36は、異常判定部38に降雨判定信号を送信する。ワイパの駆動を要する程度の雨が降っていると判定された場合、降雨判定信号には「ON」を示すコードが含まれる。ワイパの駆動を要する程度の雨が降っていないと判定された場合、降雨判定信号には「OFF」を示すコードが含まれる。
駆動判定部37は、第3判定モデルと、カメラ17により撮像された車両M1の前方の画像データと、に基づいて、ワイパが実際に駆動されているか否かを判定する。既に説明したように、第3判定モデルは、画像データ(iii)に基づいて生成されている。そのため、第3判定モデルによれば、ワイパが実際に駆動されているか否かを直接的に判定することができる。
駆動判定部37は、異常判定部38に駆動判定信号を送信する。ワイパが駆動中であると判定された場合、駆動判定信号には「ON」を示すコードが含まれる。ワイパが駆動中でない判定された場合、駆動判定信号には「OFF」を示すコードが含まれる。
なお、機械学習部35による特徴量の学習と、降雨判定部36または駆動判定部37による判定とを、深層学習を利用して実現してもよい。
異常判定部38は、降雨判定部36から受信した降雨判定信号、駆動判定部37から受信した駆動判定信号、および、BODY-ECU70から受信したACK信号のうちの2つの信号に基づいて、第2システム200に異常が発生しているか否かを判定する。異常判定部38は、何れかの信号に含まれるコードに基づいてワイパの第1払拭状態を推定する。異常判定部38は、それとは別の種類の信号に含まれるコードに基づいて、ワイパの第2払拭状態を推定する。異常判定部38は、第1払拭状態と第2払拭状態の比較に基づいて、第2システム200に異常が発生しているか否か判定する。一連の処理(異常判定処理)の詳細は、後述する。
(4)第2の例における異常判定処理
図9は、異常判定処理の第2の例の流れを説明するフローチャートである。この第2の例は、第2システム200が上述した第2の例で構成されている場合に、図8に示した異常判定部38において行われる処理である。図9に示すルーチンは、例えば、下記の条件が成立した場合に実行される。なお、下記の条件は、異常判定処理の実行に適した環境条件の一例である。
(i) 検出雨量が第4基準値(>第2基準値)以上である
(ii) 車速が所定速度未満である
(iii) 舵角が所定角未満である
異常判定処理では、先ず、第1払拭情報に基づいて、ワイパの第1払拭状態が推定される(ステップS20)。第1払拭情報は、降雨判定信号、駆動判定信号またはACK信号に含まれるコードである。
ステップS20の第1の処理例では、降雨判定信号に含まれるコードに基づいて第1払拭状態が推定される。降雨判定信号に「ON」を示すコードが含まれる場合、第1払拭状態は「ON」であると推定される。降雨判定信号に「OFF」を示すコードが含まれる場合、第1払拭状態は「OFF」であると推定される。
ステップS20の第2の処理例では、ACK信号に含まれるコードに基づいて第1払拭状態が推定される。既に説明した第4、第5および第6コードによれば、ACK信号に第4コードが含まれている場合、第1払拭状態は「ON」であると推定される。一方、ACK信号に第5または第6コードが含まれている場合、第1払拭状態は「OFF」であると推定される。
ステップS20に続いて、第2払拭情報に基づいて、ワイパの第2払拭状態が推定される(ステップS22)。第2払拭情報は、第1払拭状態の推定に用いられた信号とは異なる種類の信号に含まれるコードである。
ステップS22の第1の処理例では、駆動判定信号に含まれるコードに基づいて第2払拭状態が推定される。この第1の処理例は、ステップS20の第1または第2の処理例と組み合わせることができる。駆動判定信号に「ON」を示すコードが含まれる場合、第2払拭状態は「ON」であると推定される。駆動判定信号に「OFF」を示すコードが含まれる場合、第2払拭状態は「OFF」であると推定される。
ステップS22の第2の処理例では、ACK信号に含まれるコードに基づいて第2払拭状態が推定される。この第2の処理例は、ステップS20の第1の処理例と組み合わせることができる。ACK信号に第4コードが含まれている場合、第2払拭状態は「ON」であると推定される。一方、ACK信号に第5または第6コードが含まれている場合、第2払拭状態は「OFF」であると推定される。
ステップS22の第3の処理例では、降雨判定信号に含まれるコードに基づいて第2払拭状態が推定される。この第3の処理例は、ステップS20の第2の処理例と組み合わせることができる。降雨判定信号に「ON」を示すコードが含まれる場合、第2払拭状態は「ON」であると推定される。降雨判定信号に「OFF」を示すコードが含まれる場合、第2払拭状態は「OFF」であると推定される。
ステップS22に続いて、第1払拭状態と第2払拭状態が矛盾するか否かが判定される(ステップS24)。第1および第2払拭状態が共に「ON」であると推定されている場合、両状態は矛盾していないと判定される。一方、第1払拭状態が「ON」であると推定され、一方、第2払拭状態が「OFF」であると推定されている場合、両状態は矛盾すると判定される。つまり、第1払拭状態と第2払拭状態が異なる場合、両状態は矛盾すると判定される。
ステップS24の判定結果が肯定的な場合、第2システム200に異常が発生していると判定される(ステップS26)。一方、ステップS24の判定結果が否定的な場合、第2システム200は正常であると判定される(ステップS28)。
2.2 異常検出時の処理
また、本実施の形態では、第2システム200に異常が発生していると判定した場合、ADS-ECUが警告処理を行う。警告処理は、スイッチ60の手動操作をドライバに促すための処理である。以下、警告処理について説明する。
(1)第1の例
図10は、警告処理の第1の例の流れを説明する図である。この第1の例は、第2システム200が上述した第1の例で構成されている場合に、図6に示した異常判定部34において行われる処理である。図10に示すルーチンの処理は、図7に示したステップS16に続いて実行される。
警告処理では、先ず、第1SWポジションが「HEAD」の位置以外にあるか否かが判定される(ステップS30)。既に説明したように、BODY-ECU70からADS-ECU30には、第1SWポジション信号が送信される。ADS-ECU30は、この第1SWポジション信号に基づいて、ステップS30の処理を行う。ステップS30の判定結果が否定的な場合、警告処理が終了する。
ステップS30の判定結果が肯定的な場合、第1切り替え情報が出力される(ステップS32)。第1切り替え情報は、摘み部68の手動操作をドライバに促す注意喚起である。第1切り替え情報は、HMIユニット18に出力される。第1切り替え情報が出力されると、スイッチ60の外観模式図と、手動操作の方向と、が表示装置から出力される。第1切り替え情報が出力されると、スピーカからアラームが出力される。
ステップS32に続いて、第1SWポジションが「HEAD」の位置以外にあるか否かが判定される(ステップS34)。ステップS34の処理は、第1切り替え情報に従って第1SWポジションが変更されたか否かを判定する処理である。そのため、ステップS34の判定結果が否定的な場合、ステップS32およびS34の処理が繰り返し行われる。
ステップS34の判定結果が肯定的な場合、第1点灯情報に基づいて、ヘッドライトの第1点灯状態が推定される(ステップS36)。ステップS36の処理は、図7のステップS10の処理と同一である。ステップS10の処理で説明したように、判定結果信号に「ON」を示すコードが含まれる場合、第1点灯状態は「ON」であると推定される。判定結果信号に「OFF」を示すコードが含まれる場合、第1点灯状態は「OFF」であると推定される。
ステップS36に続いて、第1点灯状態が「ON」であると推定されているか否かが判定される(ステップS38)。ステップS38の判定結果が否定的な場合、ステップS32~S38の処理が繰り返し行われる。第1SWポジションが「HEAD」の位置にあるときは、ヘッドライトが常時点灯するはずである。したがって、ステップS38の判定結果が否定的な場合、第1SWポジションが「HEAD」の位置で停止していない状況にあることが予想される。または、第1SWポジションが「HEAD」の位置で停止しているにも関わらず、ヘッドライトの点灯が未だ開始していない状況にあることも予想される。このような理由から、ステップS38の判定結果が否定的な場合、ステップS32~S38の処理が繰り返し行われる。
ステップS38の判定結果が肯定的な場合、第1切り替え情報の出力が終了される(ステップS40)。
(2)第2の例
図11は、警告処理の第2の例の流れを説明する図である。この第2の例は、第2システム200が上述した第2の例で構成されている場合に、図8に示した異常判定部38において行われる処理である。図11に示すルーチンの処理は、図9に示したステップS26に続いて実行される。
警告処理では、先ず、第2SWポジションが「HI」の位置以外にあるか否かが判定される(ステップS50)。既に説明したように、BODY-ECU70からADS-ECU30には、第2SWポジション信号が送信される。ADS-ECU30は、この第2SWポジション信号に基づいて、ステップS50の処理を行う。ステップS50の判定結果が否定的な場合、警告処理が終了する。
ステップS50の判定結果が肯定的な場合、第2切り替え情報が出力される(ステップS52)。第2切り替え情報は、スイッチ60の手動操作をドライバに促す注意喚起である。第2切り替え情報は、HMIユニット18に出力される。第2切り替え情報が出力されると、スイッチ60の外観模式図と、手動操作の方向と、が表示装置から出力される。切り替え情報が出力されると、スピーカからアラームが出力される。
ステップS52に続いて、第2SWポジションが「HI」の位置以外にあるか否かが判定される(ステップS54)。ステップS54の処理は、第2切り替え情報に従って第2SWポジションが変更されたか否かを判定する処理である。そのため、ステップS54の判定結果が否定的な場合、ステップS52およびS54の処理が繰り返し行われる。
ステップS54の判定結果が肯定的な場合、第2払拭情報に基づいて、ワイパの第2払拭状態が推定される(ステップS56)。ステップS56の処理は、図9のステップS22の第1の処理例と同一である。ステップS22の第1の処理例で説明したように、駆動判定信号に「ON」を示すコードが含まれる場合、第2払拭状態は「ON」であると推定される。駆動判定信号に「OFF」を示すコードが含まれる場合、第2払拭状態は「OFF」であると推定される。
ステップS56に続いて、第2払拭状態が「ON」であると推定されているか否かが判定される(ステップS58)。ステップS58の判定結果が否定的な場合、ステップS52~S58の処理が繰り返し行われる。第2SWポジションが「HI」の位置にあるときは、ワイパが強制的に駆動されるはずである。したがって、ステップS58の判定結果が否定的な場合、第2SWポジションが「HI」の位置で停止していない状況にあることが予想される。または、第2SWポジションが「HI」の位置で停止しているにも関わらず、ワイパの駆動が未だ開始していない状況にあることも予想される。このような理由から、ステップS58の判定結果が否定的な場合、ステップS52~S58の処理が繰り返し行われる。
ステップS58の判定結果が肯定的な場合、第2切り替え情報の出力が終了される(ステップS60)。
3.効果
本実施の形態によれば、異常判定処理を通じて第2システム200に異常が発生していることを検出することが可能となる。そして、異常が発生している場合には、警告処理によりヘッドライトを強制的に点灯させ、または、ワイパを強制的に駆動させることができる。したがって、車両M1の周囲が暗い状況、または、雨が降っている状況において、車両の前方の視界の確保が困難となるような状況を未然に回避することが可能となる。
4.実施の形態と観点の対応関係
上記実施の形態においては、ADS-ECU30が第1の観点の「第1制御装置」に相当する。BODY-ECU70が第1の観点の「第2制御装置」に相当する。ヘッドライトまたはワイパが第1の観点の「デバイス」に相当する。HMIユニット18が第1の観点の「ユーザインタフェース」に相当する。接続ライン64が第1の観点の「直接接続ライン」に該当する。第2システムの第1の例における判定結果信号およびACK信号が、第1の観点の「第1動作情報」および「第2動作情報」に相当する。第2システムの第2の例における降雨判定信号、駆動判定信号およびACK信号のうちの2つの信号が、第1の観点の「第1動作情報」および「第2動作情報」に相当する。
5.その他の実施の形態
上記実施の形態のいくつかの例においては、ACK信号を利用して異常判定処理が行われた。しかしながら、ADS-ECU30は、BODY-ECU70から第1または第2SWポジション信号を受信している。そのため、ACK信号の代わりに第1または第2SWポジション信号を利用して異常判定処理を行ってもよい。ACK信号は自動運転制御の実行中に生成されるのに対し、第1または第2ポジション信号は、自動払拭モード要求信号の受信の有無に関係なく生成される。したがって、第1または第2SWポジション信号を利用すれば、自動運転制御の非実行中(例えば、手動運転の最中)においても第2システム200に異常が発生していることを検出することができる。
なお、以上の実施の形態において各要素の個数、数量、量、範囲等の数に言及した場合、特に明示した場合や原理的に明らかにその数に特定される場合を除いて、その言及した数に、この発明が限定されるものではない。また、この実施の形態において説明する構造等は、特に明示した場合や明らかに原理的にそれに特定される場合を除いて、この発明に必ずしも必須のものではない。