以下、図を参照しつつ、車両制御装置について説明する。この車両制御装置は、自動制御されている車両の走行状況情報又は周辺環境情報を含む車両状況情報に基づいて、ドライバへ報知すべき車両の動作が予定されるか否かを判定する。ドライバへ報知すべき車両の動作としては、例えば、車両が現在走行している車線から隣接する車線へ移動する動作などが挙げられる。このような車両の動作中には、車両と、他の車両又は他の物体との距離が、所定のしきい値以下となるおそれがあるので、他の車両などとの衝突を回避するために、車両制御装置は、車両の制御をドライバに移管する可能性がある。車両制御装置は、ドライバへ報知すべき車両の動作が予定されると判定した場合、車両に予定される動作に基づいて、ドライバによる操作によって車両の挙動に影響を与える操作部を、操作部を制御する操作制御部を用いて、車両の挙動と切り離された状態で動かすことにより、車両に予定される動作をドライバへ報知する。操作部を動かすことは、ステアリングを動かすこと、アクセルペダルを動かすこと、ブレーキペダルを動かすこと、及び、シフトノブを動かすことの中の少なくとも1つを含む。これにより、車両制御装置は、車両が自動制御されている時でも、車両からの報知を認識しやすいように、車両に予定される動作をドライバへ報知できる。そして、ドライバは、車両に予定される動作が報知されることにより、例えば、車両の制御がドライバに移管される可能性のあること、又は、移管後にすべき操作を理解できる。
本実施形態の車両制御装置を有する車両制御システムは、車両を自動制御で運転する自動制御運転モードと、ドライバが車両を操作して運転する手動制御運転モードとを有する。自動制御運転モードの車両制御システムは、自動制御から手動制御への変更を要求する制御変更通知がドライバにより承諾された場合、車両の運転を適用中の自動制御運転モードから手動制御運転モードへ切り替える。これにより、車両が自動制御で安全な走行ができない場合、ドライバは手動制御で車両を操作して走行することが可能となる。手動制御運転モードでは、車両は、駆動、制動及び操舵の中で少なくとも1つの動作が、手動で制御される。
図1は、車両制御装置が実装される車両制御システムの概略構成図である。図2は、操作装置及び操作装置により挙動に影響が与えられる車両の動作部位を説明する図である。また、図3は、車両制御装置の一つの実施形態である電子制御装置のハードウェア構成図である。
本実施形態では、車両10に搭載され、且つ、車両10を制御する車両制御システム1は、車両の前方の画像を撮影するカメラ2と、車両10の前後左右に配置されるLiDARセンサ3a〜3dとを有する。また、車両制御システム1は、測位情報受信機4と、測位情報受信機4が出力する測位情報に基づいて地図情報を生成する地図情報記憶装置5と、ユーザインターフェース(UI)6と、操作装置7と、ナビゲーション装置8と、車両制御装置の一例である電子制御装置(ECU)9とを有する。
カメラ2と、LiDARセンサ3a〜3dと、地図情報記憶装置5と、UI6と、操作装置7と、ナビゲーション装置8と、ECU9とは、コントローラエリアネットワークといった規格に準拠した車内ネットワーク11を介して通信可能に接続される。
カメラ2は、車両10の前方を向くように、例えば、車両10の車室内に取り付けられる。カメラ2は、所定の周期で設定される画像情報取得時刻において、車両10の前方の所定の領域が表された画像を生成する。生成された画像には、車両10の周囲の他の車両又は車両10の前方の所定の領域内に含まれる路面上の車線区画線などの地物が表わされる。カメラ2により生成される画像は、カラー画像であってもよく、又は、グレー画像であってもよい。カメラ2は、撮像部の一例であり、CCDあるいはC-MOSなど、可視光に感度を有する光電変換素子のアレイで構成された2次元検出器と、その2次元検出器上に撮影対象となる領域の像を結像する撮像光学系を有する。カメラ2は、画像を生成する度に、画像及び画像を生成した画像情報取得時刻を、車内ネットワーク11を介してECU9へ出力する。画像は、ECU9において、車両の位置を推定する処理に使用されるのと共に、車両10の周囲の他の物体を検出する処理に使用される。
LiDARセンサ3a〜3dのそれぞれは、車両10の前方、左側方、後方、右側方を向くように、例えば、車両10の外面に取り付けられる。LiDARセンサ3a〜3dのそれぞれは、所定の周期で設定される反射波情報取得時刻において、車両10の前方、左側方、後方、右側方に向けてパルス状のレーザを同期して発射して、反射物により反射された反射波を受信する。反射波が戻ってくるのに要する時間は、レーザが照射された方向に位置する地物と車両10との間の距離情報を有する。LiDARセンサ3a〜3dのそれぞれは、レーザの照射方向及び反射波が戻ってくるのに要する時間を含む反射波情報を、レーザを発射した反射波情報取得時刻と共に、車内ネットワーク11を介してECU9へ出力する。反射波情報は、ECU9において、車両10の周囲の他の物体を検出する処理に使用される。
測位情報受信機4は、車両10の現在位置を表す測位情報を出力する。例えば、測位情報受信機4は、GPS受信機とすることができる。測位情報受信機4は、GPS電波を受信する測位情報受信部4aと、測位情報受信部4aが受信したGPS電波に基づいて、車両10の現在位置を表す測位情報を出力するプロセッサ4bとを有する。プロセッサ4bは、測位情報受信部4aが所定の受信周期で測位情報を取得する度に、測位情報及び測位情報を取得した測位情報取得時刻を、地図情報記憶装置5へ出力する。
地図情報記憶装置5は、プロセッサ(図示せず)と、磁気ディスクドライブ又は不揮発性の半導体メモリなどの記憶装置(図示せず)とを有しており、この記憶装置は、車両10の現在位置を含む相対的に広い範囲(例えば10〜30km四方の範囲)の広域地図情報を記憶する。この広域地図情報は、路面の3次元情報、道路上の車線区画線などの地物、構造物の種類及び位置を表す情報、道路の法定速度などを含む高精度地図情報であることが好ましい。なお、道路上の地物、構造物の位置は、例えば、実空間における所定の基準位置を原点とする世界座標系で表される。プロセッサは、車両10の現在位置に応じて、車両制御システム1に含まれる無線通信装置(図示せず)を介した無線通信により、基地局を介して外部のサーバから広域地図情報を受信して記憶装置に記憶する。プロセッサは、測位情報受信機4から測位情報を入力する度に、記憶装置に記憶している広域地図情報を参照して、測位情報により表される現在位置を含む相対的に狭い領域(例えば、100m〜10km四方の範囲)の地図情報、測位情報及び測位情報取得時刻を、車内ネットワーク11を介してECU8へ出力する。また、地図情報記憶装置のプロセッサは、測位情報受信機4から測位情報及び測位情報取得時刻を受信する度に、測位情報及び測位情報取得時刻を、車内ネットワーク11を介してナビゲーション装置8へ送信する。
UI6は、ECU9に制御されて、車両10の走行状況情報、地図情報、車両に予定される動作、車両の状態又は車両10の制御を自動制御から手動制御への変更を要求する制御変更通知などをドライバへ通知し、またドライバから車両10に対する操作に応じた操作信号を生成する。車両10の走行状況情報は、車両の現在位置、走行予定経路、車線変更を行う予定などの車両の現在及び将来の経路に関する情報などを含む。また、車両10の走行状況情報は、例えば、後述する走行車線計画を含んでいてもよい。UI6は、走行状況情報、車両に予定される動作、車両の状態又は制御変更通知などをドライバへ通知する通知装置として、例えば、液晶ディスプレイ又はタッチパネルを有する。また、UI6は、ドライバから車両10への操作情報を入力する入力装置として、例えば、タッチパネル又は操作ボタンを有する。操作情報として、例えば、目的地、経由地、車両速度、その他の車両の制御情報、及び、制御変更通知に対するドライバの回答などが挙げられる。UI6は、入力された操作情報を、車内ネットワーク11を介してECU9へ出力する。
操作装置7は、ドライバによる操作によって車両10の挙動に影響を与える。図2に示すように、操作装置7は、ドライバが、手動制御運転モードの適用時に車両10を操作するための、ステアリング71、アクセルペダル72、ブレーキペダル73、及び、シフトノブ74などを有する。ドライバによるステアリング71の操作によって、車両10の進行方向が変化する。ドライバによるアクセルペダル72の操作によって、車両10の加速度が変化する。ドライバによるブレーキペダル73の操作によって、車両10の減速度が変化する。ドライバによるシフトノブ74の操作によって、車両10の駆動装置における変速比が変化する。
ステアリング71とクラッチ42とは、第1シャフト40を介して、ステアリング71が操舵輪46を操舵する操舵力をクラッチ42へ伝達可能に連結している。第1モータ41と第1シャフト40とは、第1モータ41によるステアリング71を回転する力を第1シャフト40に伝達可能に連結されている。第1モータ41は、ECU9に制御されて、ステアリング71を回転可能である。第1モータ41はエンコーダ(図示せず)を有し、このエンコーダはドライバの操作によるステアリング71の操舵量(回転角)を検知してECU9へ出力する。クラッチ42と操舵輪46とは、第2シャフト43及びギヤ部45を介して、クラッチ42からの操舵力を操舵輪46へ伝達可能に連結している。第2モータ44と第2シャフト43とは、第2モータ44が操舵輪46を操舵する操舵力を第2シャフト43へ伝達可能に連結されている。第2モータ44は、ECU9に制御されて、操舵輪46を動かすことが可能である。第1シャフト40と第2シャフト43とは、クラッチ42を介して、操舵力を伝達可能に連結している。クラッチ42は、ECU9に制御されて、第1シャフト40と第2シャフト43とを、手動制御運転モードの適用時には連結し、自動制御運転モードの適用時には切り離すことが可能である。従って、自動制御運転モードの適用時には、ステアリング71の動きと、操舵輪46の挙動とは切り離されている。なお、手動制御運転モードの適用時には、第2モータ44は、ECU9に制御されて、操舵量に応じてドライバのステアリング71の操作を支援するように、操舵輪46を操舵する力を付加可能である。なお、車両10は、クラッチを有していなくてもよい。この場合、ECU9は、手動制御運転モードの適用時には、ステアリング71の操舵量に応じた操舵信号を用いて第2モータ44を制御して、操舵輪46を動かすことが可能である。
アクセルペダル72と第3モータ51とは、ドライバのアクセルペダル72の操作量(アクセル開度)を回転量に変換する第1ギヤ50を介して連結されている。第3モータ51は、ドライバのアクセルペダル72の操作によるアクセル開度に応じたアクセル開度信号を生成して、ECU9へ出力するエンコーダ(図示せず)を有する。ECU9は、第3モータ51から入力したアクセル開度信号を車両10のエンジン又はモータなどを有する駆動装置60へ出力する。第3モータ51は、ECU9に制御されて、アクセルペダル72を動かすことが可能である。手動制御運転モードの適用時には、ECU9は、ドライバのアクセルペダル72の操作に基づいて生成されたアクセル開度信号を駆動装置60へ出力する。一方、自動制御運転モードの適用時には、ECU9は、後述する運転計画に基づいて生成されたアクセル開度信号を駆動装置60へ出力する。自動制御運転モードの適用時には、アクセルペダル72の動きと、駆動装置60の挙動とは切り離されている。
ブレーキペダル73と第4モータ53とは、ドライバのブレーキペダル73の操作量(ブレーキ量)を回転量に変換する第2ギヤ52を介して連結されている。第4モータ53は、ドライバのブレーキペダル73の操作によるブレーキ量に応じたブレーキ信号を生成して、ECU9へ出力するエンコーダ(図示せず)を有する。ECU9は、第4モータ53から入力したブレーキ信号を車両10のブレーキ61へ出力する。第4モータ53は、ECU9に制御されて、ブレーキペダル73を動かすことが可能である。手動制御運転モードの適用時には、ECU9は、ドライバのブレーキペダル73の操作に基づいて生成されたブレーキ信号をブレーキ61へ出力する。一方、自動制御運転モードの適用時には、ECU9は、後述する運転計画に基づいて生成されたブレーキ信号をブレーキ61へ出力する。自動制御運転モードの適用時には、ブレーキペダル73の動きと、ブレーキ61の挙動とは切り離されている。
シフトノブ74は、シフトノブ74の移動を案内する案内溝を有するシフト装置54に、ドライバのシフト操作に応じてシフト位置を変更可能に取り付けられている。シフト装置54は、シフトノブ74のシフト位置を示すシフト位置信号を生成してECU9へ出力する。また、シフト装置54は、ECU9に制御されて、シフト位置を変更するようにシフトノブ74を駆動する駆動部(図示せず)を有する。手動制御運転モードの適用時には、ECU9は、ドライバのシフト操作に応じたシフト位置に基づいて生成されたシフト位置信号を駆動装置60へ出力する。一方、自動制御運転モードの適用時には、ECU9は、後述する運転計画に基づいて生成されたシフト位置信号を駆動装置60へ出力する。自動制御運転モードの適用時には、シフトノブ74の動きと、ブレーキ61の駆動装置60の挙動とは切り離されている。
ナビゲーション装置8は、ナビゲーション用地図情報と、車両10の目的地と、車両10の現在位置とに基づいて、車両10の現在位置から目的地までの走行予定経路を生成する。ナビゲーション装置8は、ナビゲーション用地図情報を記憶するメモリ(図示せず)と、プロセッサ(図示せず)とを有する。ナビゲーション用地図情報は、道路を表すリンクの位置情報と、リンクによって接続されるノードの位置情報とを有する。走行予定経路の道路配置は、道路を表すリンクと、リンクによって接続されるノードとによって表される。リンク及びノードの位置は、例えば、世界座標系の座標で表される。プロセッサは、メモリに記憶するナビゲーション用地図情報と、UI6から受信した車両10の目的地と、地図情報記憶装置5から受信した車両10の現在位置を表す測位情報とに基づいて、車両10の現在位置から目的地までの走行予定経路を生成する。プロセッサは、例えば、ダイクストラ法を用いて、車両10の走行予定経路を生成する。走行予定経路は、右折、左折、合流、分岐などの位置に関する情報を含む。プロセッサは、目的地が新しく設定された場合、又は、車両10の現在位置が走行予定経路から外れた場合などに、車両10の走行予定経路を新たに生成する。プロセッサは、走行予定経路を生成する度に、その走行予定経路を、車内ネットワーク11を介してECU9へ出力する。
ECU9は、適用される運転モードに従って、車両10の走行を制御する。本実施形態では、ECU9は、自動制御運転モードの適用時には、自動制御されている車両10の走行状況情報又は周辺環境情報を含む車両状況情報に基づいて、ドライバへ報知すべき車両10の動作が予定されるか否かを判定する判定処理と、ドライバへ報知すべき車両10の動作が予定されると判定した場合、車両10に予定される動作に基づいて、ドライバによる操作によって車両の挙動に影響を与える操作装置7を、車両10の挙動と切り離された状態で動かすことにより、車両10に予定される動作をドライバへ報知する報知処理とを行う。そのために、ECU9は、通信インターフェース21と、メモリ22と、プロセッサ23とを有する。
通信インターフェース(I/F)21は、通信部の一例であり、ECU9を車内ネットワーク11に接続するためのインターフェース回路を有する。すなわち、通信インターフェース21は、車内ネットワーク11を介して、ステアリング71を駆動する第1モータ41、アクセルペダル72を駆動する第3モータ51、ブレーキペダル73を駆動する第4モータ53又はシフトノブ74を駆動するシフト装置54などと接続される。通信インターフェース21は、ECU9から、車両10に予定される動作をドライバへ報知するために、ステアリング71を駆動する第1モータ41、アクセルペダル72を駆動する第3モータ51、ブレーキペダル73を駆動する第4モータ53又はシフトノブ74を駆動するシフト装置54を制御する制御信号を受信すると、受信した制御信号を、第1モータ41、第3モータ51、第4モータ53又はシフト装置54へ送信する。また、通信インターフェース21は、車内ネットワーク11を介して、カメラ2及び地図情報記憶装置5などと接続される。通信インターフェース21は、例えば、カメラ2から画像及び画像情報取得時刻を受信する度に、受信した画像及び画像情報取得時刻をプロセッサ23へわたす。また通信インターフェース21は、地図情報記憶装置5から地図情報、測位情報及び測位情報取得時刻を受信する度に、受信した地図情報、測位情報及び測位情報取得時刻をプロセッサ23へわたす。また通信インターフェース21は、図示しない車両速度センサ、加速度センサ及びヨーレートセンサから受信した車両速度、加速度及びヨーレートを、プロセッサ23へわたす。
メモリ22は、記憶部の一例であり、例えば、揮発性の半導体メモリ及び不揮発性の半導体メモリを有する。そしてメモリ22は、ECU9のプロセッサ23により実行される情報報知処理において使用される各種のデータ、カメラ2の光軸方向及び取り付け位置などの設置位置情報、撮像光学系の焦点距離及び画角といった内部パラメータなどを記憶する。また、メモリ22は、各LiDARセンサ3a〜3dの設置位置及び操作範囲などの内部パラメータなどを記憶する。また、メモリ22は、ナビゲーション装置8から受信した走行予定経路、カメラ2などから受信した画像及び画像情報取得時刻、地図情報記憶装置5から受信した地図情報、測位情報及び測位情報取得時刻などを記憶する。
プロセッサ23は、1個又は複数個のCPU(Central Processing Unit)及びその周辺回路を有する。プロセッサ23は、論理演算ユニット、数値演算ユニットあるいはグラフィック処理ユニットといった他の演算回路をさらに有していてもよい。プロセッサ23が複数個のCPUを有する場合、CPUごとにメモリを有していてもよい。プロセッサ23は、自動制御されている車両10の走行状況情報又は周辺環境情報を含む車両状況情報に基づいて、ドライバへ報知すべき車両10の動作が予定されるか否かを判定する判定処理、及び、ドライバへ報知すべき車両10の動作が予定されると判定した場合、車両10に予定される動作に基づいて、ドライバによる操作によって車両10の挙動に影響を与える操作装置7を、車両10の挙動と切り離された状態で動かすことにより、車両10に予定される動作をドライバへ報知する報知処理を行う。また、プロセッサ23は、カメラ2が生成した画像に基づいて、この画像が生成された画像情報取得時刻における車両10の位置を推定する位置推定処理を実行する。また、プロセッサ23は、所定の周期で設定される位置決定時刻において、直近の画像情報取得時刻における車両10の推定位置及び車両速度などの車両状態情報を用いて、車両10の位置を更新する。プロセッサ23は、車両10の推定位置と、車両10の目的地と、車両10の周囲の他の物体との相対的な位置関係とに基づいて、車両10の走行動作を制御する。
図4は、判定処理及び報知処理を含む車両制御処理に関する、ECU9のプロセッサ23の機能ブロック図である。プロセッサ23は、位置推定部31と、物体検出部32と、走行車線計画部33と、運転計画部34と、車両制御部35と、操作制御部36と、判定部37と、報知部38と、通知制御部39とを有する。プロセッサ23が有するこれらの各部の全て又は一部は、例えば、プロセッサ23上で動作するコンピュータプログラムにより実現される機能モジュールである。あるいは、プロセッサ23が有するこれらの各部の全て又は一部は、プロセッサ23に設けられる、専用の演算回路であってもよい。また、プロセッサ23が有するこれらの各部のうち、操作制御部36と、判定部37と、報知部38とが、判定処理及び報知処理に関する情報報知処理を実行する。
プロセッサ23の位置推定部31は、車両10の周囲の地物に基づいて、車両10の位置を推定する。位置推定部31は、カメラ2の画像内に設けられた、車両10の周囲の地物の一例である車線区画線を検出するための照合領域を、画像内の車線区画線を識別する識別器に入力することで車線区画線を検出する。識別器として、例えば、入力された画像から、その画像に表された車線区画線を検出するように予め学習されたディープニューラルネットワーク(DNN)を用いることができる。そして、位置推定部31は、車両10の位置及び姿勢を仮定して、地図情報生成装置5から受信した地図情報に表された車線区画線を、今回の画像情報取得時刻に生成されたカメラ2の画像上に投影する。例えば、位置推定部31は、今回の画像情報取得時刻に測位情報受信機5から受信した測位情報で表される車両10の位置、及び、直前に得られた車両10の進行方向に相当する車両10の姿勢を、車両10の仮定位置及び仮定姿勢とする。位置推定部31は、その仮定位置及び仮定姿勢に従って、世界座標系から、カメラ2の位置を原点とし、カメラ2の光軸方向を一つの軸方向とするカメラ座標系への変換式を求める。そのような変換式は、座標系間の回転を表す回転行列と座標系間の平行移動を表す並進ベクトルの組み合わせで表される。そして位置推定部31は、その変換式に従って、地図情報に含まれる、世界座標系で表された車両10の周囲の道路上の車線区画線の座標を、カメラ座標系の座標に変換する。そして位置推定部31は、カメラ2の焦点距離といったカメラ2の内部パラメータに基づいて、カメラ座標系で表された車両10の周囲の車線区画線を、今回の画像情報取得時刻に生成されたカメラ2の画像上に投影する。そして、位置推定部31は、カメラ2の画像から検出した車線区画線と、地図に表された車両10の周囲の車線区画線との一致度合を算出する。位置推定部31は、仮定位置及び仮定姿勢を所定量ずつ変化させながら、上記と同様の座標系変換、投影及び一致度合算出の各処理を実行することで、複数の仮定位置及び仮定姿勢のそれぞれについて、地図情報に表された車両10の周囲の車線区画線と画像から検出された車線区画線との一致度合を算出する。そして位置推定部31は、一致度合が最大となるときの仮定位置及び仮定姿勢を特定して、その仮定位置を車両10の推定位置とし、その仮定姿勢に基づいて車両10の進行方向を表す推定方位角を求める。
また、位置推定部31は、カメラ2が画像を生成する画像情報取得時刻の周期よりも短い周期で設定される位置決定時刻において、この位置決定時刻の直前の画像情報取得時刻に推定された車両10の推定位置及び推定方位角と、この画像情報取得時刻と位置決定時刻との間の車両10の移動量及び移動方向とに基づいて、位置決定時刻における車両10の推定位置及び車両10の推定方位角を推定する。位置推定部31は、車両10の車両速度を積分して、画像情報取得時刻と位置決定時刻との間の車両10の移動量を求め、車両10のヨーレートを積分して、画像情報取得時刻と位置決定時刻との間の車両10の移動方向を求める。位置推定部31は、地図情報と、車両10の推定位置及び推定方位角とに基づいて、車両10が位置する道路上の走行車線を推定する。例えば、位置推定部31は、車両10の水平方向の中心位置を挟むように位置する互いに隣接する二つの車線区画線で特定される車線を車両10が走行していると判定する。位置推定部31は、位置決定時刻における車両10の推定位置、推定方位角、及び走行車線を求める度に、これらの情報を、物体検出部32、走行車線計画部33、運転計画部34、車両制御部35及び判定部37へ通知する。なお、位置推定部31は、上述した画像情報取得時刻に一致する測位受信時刻に測位情報がない場合、この画像情報取得時刻と測位受信時刻との間の車両10の移動量及び移動方向とに基づいて、画像情報取得時刻における車両10の推定位置及び車両10の姿勢を推定してもよい。
プロセッサ23の物体検出部32は、カメラ2が生成した画像に基づいて、車両10の周囲の他の物体及びその種類を検出する。他の物体には、車両10の周囲を走行する他の車両が含まれる。物体検出部32は、例えば、カメラ2が生成した画像を識別器に入力することで画像に表された物体を検出する。識別器として、例えば、入力された画像から、その画像に表された物体を検出するように予め学習されたディープニューラルネットワーク(DNN)を用いることができる。物体検出部32は、DNN以外の識別器を用いてもよい。例えば、物体検出部32は、識別器として、画像上に設定されるウィンドウから算出される特徴量(例えば、Histograms of Oriented Gradients, HOG)を入力として、そのウィンドウに検出対象となる物体が表される確信度を出力するように予め学習されたサポートベクトルマシン(SVM)を用いてもよい。あるいはまた、物体検出部32は、検出対象となる物体が表されたテンプレートと画像との間でテンプレートマッチングを行うことで、物体領域を検出してもよい。また、物体検出部32は、LiDARセンサ3a〜3dが出力する反射波情報に基づいて、車両10の周囲の他の物体を検出してもよい。また、物体検出部32は、カメラ2が生成した画像内の他の物体の位置に基づいて、車両10に対する他の物体の方位を求め、この方位と、LiDARセンサ3a〜3dが出力する反射波情報とに基づいて、この他の物体と車両10との間の距離を求めてもよい。物体検出部32は、車両10の現在位置と、車両10に対する他の物体までの距離及び方位に基づいて、例えば世界座標系で表された、他の物体の位置を推定する。また、物体検出部32は、オプティカルフローに基づく追跡処理に従って、カメラ2が生成した最新の画像から検出された他の物体を過去の画像から検出された物体と対応付けることで、最新の画像から検出された他の物体を追跡してもよい。そして、物体検出部32は、過去の画像から最新の画像における物体の世界座標系で表された位置に基づいて、追跡中の他の物体の軌跡を求めてもよい。物体検出部32は、時間経過に伴う他の物体の位置の変化に基づいて、車両10に対するその物体の速度を推定できる。また、物体検出部32は、時間経過に伴う他の物体の速度の変化に基づいて、他の物体の加速度を推定できる。さらに、物体検出部32は、地図情報に表された車線区画線と、他の物***置とに基づいて、他の物体が走行している走行車線を特定する。例えば、物体検出部32は、他の物体の水平方向の中心位置を挟むように位置する互いに隣接する二つの車線区画線で特定される車線を他の物体が走行していると判定する。物体検出部32は、検出された他の物体の種類(例えば、車両)を示す情報と、その位置を示す情報、速度、加速度及び走行車線を、運転計画部34及び判定部37へ通知する。
プロセッサ23の走行車線計画部33は、所定の周期で設定される走行車線計画生成時刻において、走行予定経路から選択された直近の運転区間(例えば、10km)において、地図情報と、車両10の目的地に向かう走行予定経路と、車両10の現在位置とに基づいて、車両10が走行する道路内の車線を選択して、車両10が走行する走行予定車線を表す走行車線計画を生成する。また、走行車線計画部33は、走行予定経路から選択された直近の運転区間において、地図情報と、走行予定経路と、車両10の現在位置とに基づいて、車線変更を行うことの要否を判定する。また、走行車線計画部33は、車線変更の要否の判定に、周辺環境情報又は車両状態情報をさらに利用してもよい。周辺環境情報は、車両の10の周囲を走行する他の車両の位置及び速度などを含む。車両状態情報は、車両10の現在位置、車両速度、加速度及び進行方向などを含む。走行車線計画部33は、走行予定経路の所定の区間内において車線変更の要否を判定して、車線変更の有無と、車線変更を含む場合には変更前の車線及び変更後の車線を含む走行車線計画を生成する。走行車線計画部33は、走行車線計画を生成する度に、この走行車線計画を運転計画部34及び判定部37へ通知する。具体的には、走行車線計画部33は、所定の周期で設定される走行車線計画生成時刻において、ナビゲーション装置8から通知された走行予定経路から直近の運転区間を選択して、この運転区間内における車両10が走行する道路内の車線を選択して、走行車線計画を生成する。また、走行車線計画部33は、走行予定経路と車両10の現在位置とに基づいて、車両10が現在走行している道路から合流先の他の道路へ進入すること(合流)、車両10が右折すること、車両10が左折すること、及び、車両10が現在走行している道路から分岐先の他の道路へ退出すること(分岐)の中の少なくとも1つのイベントが生じるイベント位置の有無を判定する。走行車線計画部33は、運転区間がイベント位置を含む場合、車線変更を行うことの要否を判定する。具体的には、走行車線計画部33は、イベント位置におけるイベントを実行するための車線と、車両10が現在走行中の車線とが同じか否かを判定して、異なる場合、車線変更を行う必要があると判定して、変更前の車線及び変更後の車線を含む走行車線計画を生成する。また、走行車線計画部33は、車両10が走行している車線と同じ車線上を走行する他の車両が存在しており、且つ、車両10がそのまま同じ車線を走行すると、車両10と他の車両とが衝突することが予測される場合、車線変更を行う必要があると判定して、変更前の車線及び変更後の車線を含む走行車線計画を生成する。
走行車線計画部33が走行車線計画を生成する処理の動作例を、車両10が現在走行している道路から合流先の他の道路へ進入すること(合流)を示す図5を参照しながら、以下に説明する。
図5に示す例では、走行車線計画部33は、運転区間がイベント位置である合流区間を含む場合、地図情報と、走行予定経路と、車両10の現在位置とに基づいて、合流区間におけるイベントを実行するための車線と、車両10が現在走行中の車線とが同じか否かを判定する。走行車線計画部33は、合流区間におけるイベントを実行するための車線と、車両10が現在走行中の車線とが異なる場合、車線変更を行う必要があると判定して、車両10が現在走行中の車線から合流区間におけるイベントを実行するための車線へ移動することを含む走行車線計画を生成する。
図5に示す例では、車両10の走行予定経路503は、道路501上の経路503aと、道路501が合流する道路502上の経路503bとを含む。車両10の現在位置500は、経路503a上にある。経路503bは、車両10が将来走行する経路である。現在の運転区間504は、車両10の現在走行している道路501が他の道路502へ合流する合流区間505を含む。走行車線計画部33は、車両10が現在走行している道路501から合流先の他の道路502へ進入する合流区間505を、運転区間504内のイベント位置として判定する。走行車線計画部33には、車両10の現在位置500が車線501a上にあることが、位置推定部31から通知されている。走行車線計画部33は、運転区間504が合流区間505を含むので、車線変更を行うことの要否を判定する。車両10は、合流区間505において、現在走行している道路501の車線501aから合流先の道路502の車線502aへ移動することになるので、走行車線計画部33は、イベント位置におけるイベントを実行するための車線502aと、車両10が現在走行中の車線501aとが異なると判定する。そこで、走行車線計画部33は、現在走行中の道路501の車線501aから道路502の車線502aへ車線変更を行うことが必要であると判定する。そして、走行車線計画部33は、運転区間504において、車両10が、合流区間505へ到達するまでに道路501の車線501aから道路502の車線502aへ車線変更することを含む走行車線計画を生成する。
さらに、走行車線計画部33が車線変更を含む走行車線計画を生成する処理について、図6を参照して、以下に説明する。図6に示す例では、車両10は、道路601の車線601aを走行している。道路601は、合流区間605において合流先の道路602と合流する。合流区間605では、合流車線である道路601の車線601aと、本線である道路602の車線602aとが隣接しているので、車両10は、車線601aから車線602aへ移動可能である。合流区間605の始点P1は、車線601aと車線602aとの接続が開始する位置である。合流車線の終点P4は、合流車線である車線601aの終点である。走行車線計画は、車両10が、この合流区間605において、道路601の車線601aから道路602の車線602aへ車線変更を行うことを含む。
車両10は、自動運転制御モードの適用時には、合流区間605において、この車両10と他の車両との間に安全な距離が確保できそうにない場合、車両と他の車両との間に安全な距離が確保できる状況となるまで、車線変更を行わずに現在の合流車線上で走行を続ける。そこで、走行車線計画部33は、合流区間605において自動制御で車線変更を行えないと判定された場合に備えて、車両10の自動制御による車線変更の中止を決定するモード変更決定位置P3を、合流区間605の車線601a上に決定する。走行車線計画部33は、モード変更決定位置P3を、合流区間605の終点P4に対して車両10の制御を引き渡されたドライバが車線変更のための車両10の操作を行える最小の距離の位置になるように決定する。例えば、走行車線計画部33は、ドライバが、車両10の制御変更通知を認識し且つ車線変更のための車両10の操作を開始して車線変更を終了するのに要する時間(例えば、4秒)と、現在の車両速度(例えば、直近の数秒の平均車両速度)との積により求められる距離を、モード変更決定位置P3として決定してもよい。また、走行車線計画部33は、ドライバが手動制御で時間的な余裕をもって車両10の操作を行えるだけのマージン距離を、モード変更決定位置P3に対して含めてもよい。このマージン距離は、車両速度に基づいて決定されてもよいし、又は固定された値としてもよい。ギブアップ決定位置P3と合流区間605の終点P4との間の制御変更区間D2は、車両10の制御をドライバへ移管するための区間となる。
車両10は、合流区間605において、合流区間605の始点P1とモード変更決定位置P3との間の自動制御区間D1では、自動制御で車線501aから車線502aへの車線変更を試みる。従って、走行車線計画部33は、合流区間605の始点P1からモード変更決定位置P3との間の自動制御区間D1において、道路601の車線601aから道路602の車線602aへ車線変更を行うように走行車線計画を生成する。
運転計画部34は、所定の周期で設定される運転計画生成時刻において、地図情報と、走行車線計画と、車両10の現在位置と、周辺環境情報と、車両状態情報とに基づいて、所定の時間(例えば、5秒)先までの車両10の運転計画を生成する。運転計画は、現時刻から所定時間先までの各時刻における、車両10の目標位置及びこの目標位置における目標車両速度の集合として表される。運転計画生成時刻の周期は、走行車線計画生成時刻の周期よりも短いことが好ましい。運転計画部34は、目標車両速度を、ドライバから入力された車両速度又は走行している車線の法定速度に基づいて決定してもよい。運転計画部34は、運転計画を生成する度に、運転計画を車両制御部35へ通知する。運転計画部34は、カルマンフィルタなどの予測フィルタを用いて、検出された他の車両の直近の軌跡に基づいて将来の軌跡を推定し、検出された他の車両が走行中の車線及び推定された軌跡より算出された相対距離に基づいて、車両10から他の車両までの相対距離が所定距離以上となるように、且つ、車両10の動作が所定の制約を満たすように、車両10の運転計画を生成する。所定の制約としては、単位時間あたりの速度変化量、単位時間あたりの加速度変化量、又は、単位時間あたりのヨーレート変化量が、上限値以下となることが挙げられる。運転計画部34は、走行車線計画に基づいて、複数の運転計画を生成してもよい。この場合、運転計画部34は、複数の運転計画のうち、車両10の加速度の絶対値の総和が最小となる運転計画を選択してもよい。運転計画部34は、運転計画を車両制御部35へ通知する。
運転計画部34は、走行車線計画が車両10の車線間を移動する車線変更を含む場合、現在走行中の車線601aから隣接する車線602aへ移動するための車線変更後の移動先の一又は複数の合流目標位置を移動先の車線上に決定する。運転計画部34は、一又は複数の目標位置へ向かうように、且つ、車両10から他の車両までの相対距離が所定距離以上となるように、車両10の合流目標位置及びこの合流目標位置における目標車両速度の集合として、運転計画を生成する。
図6に示す例では、運転計画部34は、合流目標位置603へ向かうように、運転計画を生成する。運転計画部34は、合流区間605において最初の車線変更の計画時に設定した合流目標位置603とモード変更決定位置P3との間に、車両10が合流車線から本線へ車線変更を完了しておくことを目標とする合流完了目標位置P2を決定する。例えば、運転計画部34は、合流完了目標位置P2を、モード変更決定位置P3に対して、所定距離だけ手前の位置に決定してもよい。この所定の距離は、例えば、車両速度に応じて変更してもよい。運転計画部34は、合流完了目標位置P2を、判定部37へ通知する。合流完了目標位置P2とモード変更決定位置P3との間のドライバ合流準備区間D2は、ドライバが、手動で車両10の操作を開始するための準備を開始する区間となる。
なお、運転計画部34は、走行車線計画が車線変更を含まない場合、現在走行中の車線を継続して走行するように、車両10の運転計画を生成する。
車両制御部35は、自動運転制御モードの適用時には、位置決定時刻における車両10の位置と、車両速度及びヨーレートと、通知された運転計画(車線変更計画を含む)とに基づいて、車両10が走行予定経路に沿って走行するように車両10の各部を制御する。例えば、車両制御部35は、通知された運転計画、車両10の現在の車両速度及びヨーレートに従って、車両10の操舵角、加速度及び角加速度を求め、その操舵角、加速度及び角加速度となるように、操舵量、アクセル開度、シフト位置又はブレーキ量を設定する。そして車両制御部35は、設定された操舵量に応じた操舵信号を、車両10の操舵輪46を制御する第2モータ44へ出力する。また、車両制御部35は、設定されたアクセル開度に従って燃料噴射量を求め、その燃料噴射量に応じたアクセル開度信号を車両10の駆動装置60へ出力する。また、車両制御部35は、シフト位置を示すシフト位置信号を、駆動装置60へ出力する。駆動装置60は、制御信号で示されるシフト位置に対応する変速比が選択されて、この変速比で駆動輪(図示せず)を駆動する。あるいは、車両制御部35は、設定されたブレーキ量に応じたブレーキ信号を車両10のブレーキ61へ出力する。また、車両制御部35は、手動運転制御モードの適用時には、ドライバの操作装置7の操作に応じて、アクセル開度信号、シフト位置信号及びブレーキ信号を生成して、車両10の各部を制御する。
車両制御部35は、運転計画が車線変更するための目標軌跡及び目標車両速度の集合を含む場合、車線変更を行うように車両10の走行動作を制御する。
操作制御部36は、操作装置7を制御する。操作制御部36は、手動制御運転モードの適用時には、操作装置7と、この操作装置7により操作される車両10の動作部位とを、操作装置7により操作可能に連結する。また、操作制御部36は、自動制御運転モードの適用時には、操作装置7を、この操作装置7により操作される車両10の動作部位と、操作装置7により操作されないように切り離す。具体的には、操作制御部36は、手動制御運転モードの適用時には、クラッチ42を制御して、第1シャフト40と第2シャフト43とを連結し、ステアリング71と操舵輪46とを、ステアリング71により操舵輪46を操作可能に連結する。自動制御運転モードの適用時には、クラッチ42を制御して、第1シャフト40と第2シャフト43とを切り離し、操舵輪46をステアリング71により操作されないように切り離す。また、操作制御部36は、手動制御運転モードの適用時には、ドライバのアクセルペダル72の操作に基づいて生成されたアクセル開度信号を駆動装置60へ出力して、アクセルペダル72と駆動装置60とを、アクセルペダル72により駆動装置60を操作可能に連結する。操作制御部36は、自動制御運転モードの適用時には、運転計画に基づいて生成されたアクセル開度信号を駆動装置60へ出力して、駆動装置60をアクセルペダル72により操作されないように切り離す。また、操作制御部36は、手動制御運転モードの適用時には、ドライバのブレーキペダル73の操作に基づいて生成されたブレーキ信号をブレーキ61へ出力して、ブレーキペダル73とブレーキ61とを、ブレーキペダル73によりブレーキ61を操作可能に連結する。操作制御部36は、自動制御運転モードの適用時には、運転計画に基づいて生成されたブレーキ信号をブレーキ61へ出力して、ブレーキ61をブレーキペダル73により操作されないように切り離す。さらに、操作制御部36は、手動制御運転モードの適用時には、ドライバのシフト操作に応じたシフト位置に基づいて生成されたシフト位置信号を駆動装置60へ出力して、シフトノブ74と駆動装置60とを、シフトノブ74により駆動装置60を操作可能に連結する。操作制御部36は、自動制御運転モードの適用時には、運転計画に基づいて生成されたシフト位置信号を駆動装置60へ出力して、駆動装置60をシフトノブ74により操作されないように切り離す。
判定部37は、自動制御運転モードの適用時には、自動制御されている車両10の走行状況情報又は周辺環境情報を含む車両状況情報に基づいて、ドライバへ報知すべき車両10の動作が予定されるか否かを判定する。具体的には、判定部37は、所定の周期で設定される判定時刻において、車両状況情報の走行状況情報に含まれる運転計画に基づいて、ドライバへ報知すべき車両10の動作が予定されるか否かを判定する。判定時刻の周期は、走行車線計画生成時刻の周期よりも短いことが好ましい。例えば、判定部37は、運転計画が車線変更を含む場合、ドライバへ報知すべき車両10の動作が予定されると判定する。車線変更には、車両10と、他の車両などとの距離が、所定のしきい値以下となるおそれがあるので、他の車両などとの衝突を回避するために、車両の制御をドライバに移管する可能性がある。そして、車両の制御が移管されたドライバは、他の車両などとの衝突を回避するように車両10を操作して、車両10に予定された動作をさせることが期待される。このように、判定部37は、車両状況情報に基づいて、車両の制御をドライバに移管する可能性がある場合、ドライバへ報知すべき車両10の動作が予定されると判定して、制御を移管されたドライバが車両10を操作して車両10に動作させると推定される動作か、又は、自動運転制御モードの適用時の車両10の動作を、ドライバへ報知すべき車両10の動作として決定する。判定部37は、ドライバへ報知すべき車両10の動作を、報知部38へ通知する。次に、第1例〜第5例を用いて、判定部37の動作例を以下に説明する。
(第1例)
図6に示す例では、判定部37は、運転計画が合流区間605における車線変更を含むので、合流区間の始点P1に到達するよりも前の時点において、ドライバへ報知すべき車両10の動作が予定されると判定する。判定部37は、ドライバへ報知すべき車両10の動作として、車線変更を決定する。また、判定部37は、車両10が合流区間605を走行している間も、運転計画が車線変更を含むので、ドライバへ報知すべき車両10の動作が予定されると判定する。判定部37は、ドライバへ報知すべき車両10の動作として、車線変更を決定する。判定部37は、ドライバへ報知すべき車両10の動作として、制動動作を決定する。
また、図6に示す例では、運転計画部34は、車両10が自動制御区間D1の走行中に、予定される制御のドライバへの移管に備えて、車両制御部35を用いて駆動装置60の変速比を上げることにより車両速度を低減することがある。エンジンを有する駆動装置60は、変速比を上げることによりエンジンブレーキを使用して車両速度を低減し、モータを有する駆動装置60は、変速比を上げると共に回生して車両速度を低減する。判定部37は、ドライバへ報知すべき車両10の動作として、車両速度を低減する動作を決定する。また、図6に示す例では、運転計画部34は、車両10が制御変更区間D2の走行中に、車両10が合流区間の終点P4に到達する前に停止するようにブレーキ61を動作させることがある。判定部37は、ドライバへ報知すべき車両10の動作として、制動動作を決定する。
(第2例)
判定部37は、車両状況情報の走行状況情報に含まれる車両10の現在位置及び速度と、周辺環境情報に含まれる他の車両の位置及び速度とに基づいて、ドライバへ報知すべき車両10の動作が予定されるか否かを判定する。この第2例、及び、以下に説明する第3例及び第4例は、この判定処理の具体例である。具体的には、判定部37は、車両10と、車両10の前方を走行する他の車両との間の距離と、車両10と、この他の車両との相対速度とに基づいて、車両10が他の車両と衝突するのに要する衝突時間を推定し、衝突時間が、第1衝突時間以内である場合、ドライバへ報知すべき車両10の動作が予定されると判定する。制御を移管されたドライバか、又は、運転計画部34は、車両10の安全を確保するために、車両10の前方を走行する他の車両に接近すること回避するために減速すると考えられるので、判定部37は、ドライバへ報知すべき車両10の動作として、制動動作を決定する。
(第3例)
また、判定部37は、車両10と、車両10に後続する他の車両との間の距離と、車両10と、この他の車両との相対速度とに基づいて、他の車両が車両10と衝突する衝突時間を推定し、衝突時間が、第1衝突時間以内である場合、ドライバへ報知すべき車両10の動作が予定されると判定する。なお、第3例の第1衝突時間は、第2例の時間とは異なっていてもよい。制御を移管されたドライバか、又は、運転計画部34は、車両10の安全を確保するために、車両10に後続する他の車両が、車両10に接近することを回避するために、現在の走行車線から隣接する車線へ移動する車線変更を行うと考えられるので、判定部37は、ドライバへ報知すべき車両10の動作として、車線変更を決定する。
(第4例)
また、判定部37は、車両10と、車両10に後続する他の車両との間の距離が、所定の距離以下である状態が、第1継続時間以上続いている場合、ドライバへ報知すべき車両10の動作が予定されると判定する。これは、車両10に後続する他の車両のドライバが、いわゆる煽り運転をしている可能性があるためである。制御を移管されたドライバか、又は、運転計画部34は、車両10の安全を確保するために、煽り運転をしている可能性がある他の車両との距離を確保するために加速すると考えられるので、判定部37は、ドライバへ報知すべき車両10の動作として、加速動作を決定する。
(第5例)
判定部37は、周辺環境情報に含まれる他の車両の軌跡に基づいて、他の車両のドライバが居眠り運転をしていると推定される場合、ドライバへ報知すべき車両10の動作が予定されると判定する。例えば、判定部37は、他の車両が、左右の何れかの一方に進行した後中央に戻るように軌跡を生じる頻度(所定の時間あたりの回数)が、第1頻度以上である場合、他の車両のドライバが居眠り運転をしていると推定する。制御を移管されたドライバか、又は、運転計画部34は、車両10の安全を確保するために、居眠り運転をしている可能性がある他の車両との距離を確保するために、減速すると考えられるので、判定部37は、ドライバへ報知すべき車両10の動作として、制動動作を決定する。
(第6例)
判定部37は、車両状況情報の走行状況情報に含まれる路面の3次元情報に基づいて、所定のしきい値以上の平均勾配を有する下り坂が、第1距離以上続くと判断される場合、ドライバへ報知すべき車両10の動作が予定されると判定する。制御を移管されたドライバか、又は、運転計画部34は、車両10の安全を確保するために、長く続く下り坂を減速しながら走行するために、変速比を上げて、エンジンブレーキなどを使用して車両速度を減速と考えられるので、判定部37は、ドライバへ報知すべき車両10の動作として、変速比を上げる動作を決定する。
判定部37は、ドライバへ報知すべき自動運転車両の動作が予定されると判定した場合、車両状況情報に基づいて、車両10に予定される動作をドライバへ報知する緊急度を決定する緊急度決定部371を有していてもよい。具体的には、緊急度決定部371は、車両10と、他の車両又は他の物体(例えば、ガードレール、又は、車道の側壁など)とが衝突すると予測される程度が高い場合、緊急度が高いと決定し、そうでない場合には緊急度が低いと決定する。次に、上述した第1例〜第5例について、緊急度決定部371の動作例を以下に説明する。
(第1例)
図6に示す第1例では、緊急度決定部371は、合流区間の始点P1に到達するよりも前の区間と、自動制御区間D1とでは、車両10が車線変更に失敗しても、車両10の現在位置から合流区間の終点P4までの距離が所定のしきい値よりも長いので、緊急度が低いと決定する。一方、緊急度決定部371は、車両10が合流完了目標位置P2に到達すると、車両10の現在位置から合流区間の終点P4までの距離が所定のしきい値以下となるので、緊急度が高いと決定する。即ち、緊急度決定部371は、例えば、図6に示す例において、車両10が、車両10が制御変更区間D3にある場合、緊急度が高いと決定する。
(第2例)
第2例では、緊急度決定部371は、推定される衝突時間が、第1衝突時間よりも短い第2衝突時間よりも短い場合、緊急度が高いと決定し、そうでない場合、緊急度が低いと決定する。
(第3例)
第3例では、緊急度決定部371は、推定される衝突時間が、第1衝突時間よりも短い第2衝突時間よりも短い場合、緊急度が高いと決定し、そうでない場合、緊急度が低いと決定する。
(第4例)
第4例では、緊急度決定部371は、所定の距離以下である状態が、第1継続時間よりも長い第2継続時間よりも長い場合、緊急度が高いと決定し、そうでない場合、緊急度が低いと決定する。
(第5例)
第5例では、緊急度決定部371は、他の車両の蛇行する頻度が、第1頻度よりも大きい第2頻度以上の場合、緊急度が高いと決定し、そうでない場合、緊急度が低いと決定する。
(第6例)
第6例では、緊急度決定部371は、所定のしきい値以上の平均勾配を有する下り坂が、第1距離よりも長い第2距離以上続くと判断される場合、緊急度が高いと決定し、そうでない場合、緊急度が低いと決定する。
報知部38は、判定部37がドライバへ報知すべき車両10の動作が予定されると判定した場合、車両10に予定される動作に基づいて、ドライバによる操作によって車両10の挙動に影響を与える操作装置7を、操作装置7を制御する操作制御部36を用いて、車両10の挙動と切り離された状態で動かすことにより、車両10に予定される動作をドライバへ報知する。例えば、報知部38は、時間の経過と共に、操作装置7の動き(移動量又は速さ)が激しくなるように動かしてもよい。また、報知部38は、車両10に予定される動作及び緊急度に基づいて、操作装置7の動きを決定してもよい。次に、上述した第1例〜第5例について、報知部38の動作例を以下に説明する。
(第1例)
図6に示す第1例では、報知部38は、車両10の予定される車線変更の動作に基づいて、車両10の進行方向を変更するステアリング71を、操作制御部36を用いて車両10の挙動と切り離された状態で動かすことにより、車両10に予定される動作の一例である車線変更をドライバへ報知する。自動運転制御モードの適用時には、操作制御部36は、クラッチ42を制御して、第1シャフト40と第2シャフト43とを切り離している。報知部38は、操作制御部36を用いて、ステアリング71をニュートラルの位置を中心に左右に所定の角度及び所定の速さで振動するように回転させることにより、車両10に予定される車線変更をドライバへ報知する。また、操作制御部36は、ステアリング71を、ニュートラルの位置から移動先の車線へ向かって、振動するように回転させることにより、車両10に予定される車線変更をドライバへ報知してもよい。操作制御部36は、緊急度が高い場合には、緊急度が低い時よりも大きい角度又は速い速度でステアリング71を回転させてもよい。車線の合流区間では、手動制御においてドライバが操作することにより車両の進行方向を変更するステアリング71に対して、ドライバは自動制御運転モードの適用時でも注意を向けている可能性が高い。そこで、報知部38は、ステアリング71を動かすことにより、ドライバに対して、車線変更が予定されていることを、ドライバへ報知できる。
また、報知部38は、図7(A)〜図7(C)に示すようなアイコンを、UI6を用いて表示して、進行方向の変更が予定されていることを、ドライバへ報知してもよい。これにより、ドライバに対して、報知のための動作を行っているステアリング71への注意を喚起することができる。報知部38は、図中の矢印を、ECU9から操舵輪46へ制御信号が伝達されることを表すように、色が変化するように表示してもよい。なお、報知部38は、自動運転制御モードの適用時には、図8(A)〜図8(C)に示すようなアイコンを、UI6を用いて表示して、自動運転制御モードが適用されていることをドライバへ報知してもよい。
また、報知部38は、ステアリング71と共に、シフトノブ74又はブレーキペダル73を、操作制御部36を用いて、車両10の挙動と切り離された状態で動かすことにより、車両10に予定される動作をドライバへ報知してもよい。報知部38は、操作制御部36を用いてシフトノブ74を動かすことにより、車両10に予定される動作の一例である車両速度の低減をドライバへ報知してもよい。例えば、報知部38は、最初にシフトノブ74を動かすタイミングを、運転計画部34が車両制御部35を用いて駆動装置60の変速比を上げるタイミングと一致させてもよい。また、報知部38は、操作制御部36を用いてブレーキペダル73を動かすことにより、車両10に予定される動作の一例である制動動作をドライバへ報知してもよい。
(第2例)
第2例では、報知部38は、車両10の予定される制動動作に基づいて、操作制御部36を用いてブレーキペダル73を動かすことにより、車両10に予定される動作の一例である制動動作をドライバへ報知する。操作制御部36は、緊急度が高い場合には、緊急度が低い時よりも速い速度又は短い間隔でブレーキペダル73を動かしてもよい。車両10が前方を走行する他の車両に接近している時には、手動制御においてドライバが操作することにより車両を減速するブレーキペダル73に対して、ドライバは自動制御運転モードの適用時でも注意を向けている可能性が高い。そこで、報知部38は、ブレーキペダル73を動かすことにより、ドライバに対して、制動動作が予定されていることをドライバへ報知できる。
(第3例)
第3例では、報知部38は、車両10の予定される車線変更の動作に基づいて、車両10の進行方向を変更するステアリング71を、操作制御部36を用いて車両10の挙動と切り離された状態で動かすことにより、車両10に予定される動作の一例である車線変更をドライバへ報知する。操作制御部36は、緊急度が高い場合には、緊急度が低い時よりも大きい角度又は速い速度でステアリング71を回転させてもよい。車両10に後続する他の車両が接近している時には、この他の車両から離れるために、手動制御においてドライバが操作することにより車両の進行方向を変更するステアリング71に対して、ドライバは自動制御運転モードの適用時でも注意を向けている可能性が高い。これにより、報知部38は、ステアリング71を動かすことにより、ドライバに対して、車線変更が予定されていることをドライバへ報知できる。
(第4例)
第4例では、報知部38は、車両10の予定される加速動作に基づいて、操作制御部36を用いてアクセルペダル72を動かすことにより、車両10に予定される動作の一例である加速動作をドライバへ報知する。操作制御部36は、緊急度が高い場合には、緊急度が低い時よりも速い速度又は短い間隔でアクセルペダル72動かしてもよい。煽り運転をしている可能性がある他の車両が車両10の周囲にある時には、この他の車両から離れるために、手動制御においてドライバが操作することにより車両を加速するアクセルペダル72に対して、ドライバは自動制御運転モードの適用時でも注意を向けている可能性が高い。これにより、報知部38は、アクセルペダル72を動かすことにより、ドライバに対して、加速動作が予定されていることをドライバへ報知できる。
(第5例)
第5例では、報知部38は、車両10の予定される制動動作に基づいて、操作制御部36を用いてブレーキペダル73を動かすことにより、車両10に予定される動作の一例である制動動作をドライバへ報知する。操作制御部36は、緊急度が高い場合には、緊急度が低い時よりも速い速度又は短い間隔でブレーキペダル73を動かしてもよい。居眠り運転をしている可能性がある他の車両が車両10の周囲にある時には、この他の車両から離れるために、手動制御においてドライバが操作することにより車両を減速するブレーキペダル73に対して、ドライバは自動制御運転モードの適用時でも注意を向けている可能性が高い。これにより、報知部38は、ブレーキペダル73を動かすことにより、ドライバに対して、減速動作が予定されていることをドライバへ報知できる。
(第6例)
第6例では、報知部38は、車両10の予定される変速比を上げる動作に基づいて、操作制御部36を用いてシフトノブ74を動かすことにより、車両10に予定される動作の一例である変速比を上げる動作をドライバへ報知する。操作制御部36は、緊急度が高い場合には、緊急度が低い時よりも速い速度又は短い間隔でシフトノブ74を動かしてもよい。長く続く下り坂が続く状況では、エンジンブレーキなどを使用して車両速度を減速するために、手動制御においてドライバが操作することにより車両を減速するシフトノブ74に対して、ドライバは自動制御運転モードの適用時でも注意を向けている可能性が高い。これにより、報知部38は、シフトノブ74を動かすことにより、ドライバに対して、変速比を上げて減速する動作が予定されていることをドライバへ報知できる。
通知制御部39は、車両10が、合流完了目標位置P2に到達した時に車線変更が終了していない場合、車両10の制御を自動制御から手動制御へ変更することを要求する制御変更通知を、UI6を用いてドライバへ通知する。通知制御部39は、車両10の現在位置と、運転計画と、地図情報とに基づいて、車両10が合流完了目標位置P2に到達した時を判定し、且つ、その時に車両10が現在走行している車線と、走行車線計画とに基づいて、車線変更が終了しているか否かを判定する。
例えば、通知制御部39は、車両10が合流完了目標位置P2に到達した時に車線変更が終了していない場合、UI6を用いて、自動制御で車線変更ができないこと、及び、制御変更通知を表示する。
UI6は、制御変更通知に対するドライバの回答の操作信号を入力して、車内ネットワーク11を介してECU9へ出力する。運転計画部34は、ドライバが制御変更通知を承認した場合、車両10の運転を、適用中の自動制御運転モードから手動制御運転モードへ切り替える。通知制御部39は、図9(A)〜図9(C)に示すようなアイコンを、UI6を用いて表示して、自動制御運転モードから手動制御運転モードへ切り替えることを、ドライバへ報知してもよい。制御変更通知を承認したドライバは、手動制御運転モードへの切り替え後には、車線変更を行うように車両10を操作する。手動制御運転モードでは、少なくとも操舵が手動で制御されることが好ましい。また、手動制御運転モードでは、操舵、加速及び制動が手動で制御されるようにしてもよい。通知制御部39は、図10(A)〜図10(C)に示すようなアイコンを、UI6を用いて表示して、手動運転制御モードが適用されていることをドライバへ報知してもよい。報知部38は、図中の矢印を、ステアリング71から操舵輪46へ制御信号が伝達されることを表すように、色が変化するように表示してもよい。一方、運転計画部34は、ドライバが制御変更通知を承認しなかった場合、自動制御運転モードで車両10の運転を続ける。運転計画部34は、車両10がモード変更決定位置P3に到達した時に、車線変更が終了しておらず、且つ、ドライバが制御変更通知を承認していない場合、車両10が合流区間605の終点P4に到達する前に停止するように車両10を制御してもよい。
図11は、プロセッサ23により実行される、判定処理及び報知処理を含む車両制御処理の動作フローチャートである。なお、以下に示される動作フローチャートにおいて、ステップS106及びS107の処理が自動制御で車線変更を行えないと判定した場合の制御変更通知処理に対応する。
まず、ナビゲーション装置8は、ナビゲーション用地図情報と、車両10の目的地と、車両10の現在位置とに基づいて、車両10の現在位置から目的地までの走行予定経路を生成する(ステップS101)。
次に、プロセッサ23の位置推定部31は、位置決定時刻ごとに車両10の推定位置及び推定方位角を求める(ステップS102)。
次に、プロセッサ23の物体検出部32は、カメラ2により生成された画像及びLiDARセンサ3a〜3dにより生成された反射波情報に基づいて、車両10の周囲の他の物体を検出する(ステップS103)。
次に、プロセッサ23の走行車線計画部33は、走行予定経路の運転区間において、地図情報と、車両10の現在位置とに基づいて、車線変更を行うことの要否を決定すると共に、車両10が走行する道路内の車線を選択して、走行車線計画部を生成する(ステップS104)。
次に、プロセッサ23の運転計画部34は、所定の周期で設定される運転計画生成時刻において、所定の時間先までの車両10の運転計画を生成する(ステップS105)。
次に、プロセッサ23の判定部37は、自動制御されている車両10の走行状況情報又は周辺環境情報を含む車両状況情報に基づいて、ドライバへ報知すべき車両10の動作が予定されるか否かを判定する(ステップS106)。
次に、プロセッサ23の報知部38は、ドライバへ報知すべき車両10の動作が予定されると判定した場合、車両10に予定される動作に基づいて、ドライバによる操作によって車両10の挙動に影響を与える操作部を、操作部を制御する操作制御部36を用いて、車両10の挙動と切り離された状態で動かすことにより、車両10に予定される動作をドライバへ報知する(ステップS107)。
以上に説明してきたように、この車両制御装置は、自動制御されている車両の走行状況情報又は周辺環境情報を含む車両状況情報に基づいて、ドライバへ報知すべき車両の動作が予定されるか否かを判定する。車両制御装置は、ドライバへ報知すべき車両の動作が予定されると判定した場合、車両に予定される動作に基づいて、ドライバによる操作によって車両の挙動に影響を与える操作部を、操作部を制御する操作制御部を用いて、車両の挙動と切り離された状態で動かすことにより、車両に予定される動作をドライバへ報知する。これにより、車両制御装置は、車両が自動制御されている時でも、車両からの報知を認識しやすいように、車両に予定される動作をドライバへ報知できる。そして、ドライバは、車両に予定される動作が報知されることにより、例えば、車両の制御がドライバに移管される可能性のあること、又は、移管後にすべき操作を理解できる。
次に、上述した実施形態の変型例1〜変型例3を、以下に説明する。変型例1では、報知部38は、ドライバが、このドライバに対して操作装置7の動作を認識したと判定した場合、制御していた操作装置7の動作を停止する。例えば、報知部38は、車室内に配置されたカメラ(図示せず)を用いてドライバの顔を撮影した画像に基づいて、ドライバが操作装置7の動作を認識したことを検知してもよい。報知部38は、ドライバの視線が、報知のために動作している操作装置7に向いている時間が所定の時間以上であることを検知した場合、ドライバが操作装置7の動作を認識したと判定してもよい。また、ステアリング71がドライバの把持を検知する把持センサを有する場合、報知部38は、この把持センサを用いてドライバがステアリング71を所定の時間以上把持していることを検知した場合、ドライバが操作装置7の動作を認識したと判定してもよい。さらに、ドライバが操作装置7の動作を認識した場合に操作する認識ボタン(図示せず)が車室内に配置されている場合、報知部38は、ドライバが認識ボタンを操作したことを検知した場合、ドライバが操作装置7の動作を認識したと判定してもよい。
変型例2では、自動制御運転モードから手動制御運転モードへの切り替え時には、自動制御運転モードと手動制御運転モードの間に、手動制御運転と自動制御運転とが組み合わされて車両10の制御が行われる行う切り替えモードが設定される。この切り替えモードが適用時には、車両10が自動制御運転モードで制御される時に、車両制御部35は、運転計画部34が生成した運転計画に基づいて決定される目標操舵量、目標アクセル開度、又は、目標ブレーキ量よりも少ない切り替え目標操舵量、切り替え目標アクセル開度、又は、切り替え目標ブレーキ量を設定して、車両10の各部を制御する。これにより、ドライバは、車両10の周囲の状況を確認しながら、ステアリング71の操舵量を補うか、アクセルペダル72のアクセル開度を補うか、又は、ブレーキペダル73のブレーキ量を補うように仕向けられる。車両制御部35は、時間の経過と共に、ドライバが制御に関与する割合を増大して、最後には手動制御運転モードに切り替える。例えば、車両制御部35は、運転計画に基づいて決定される目標操舵量から、所定の角度Aと係数αとの積A×αを減算した値を、切り替え目標操舵量とする。車両制御部35は、時間の経過と共に、係数αの値を増大して最後には目標操舵量と積A×αを一致させる。そして、車両10の制御は、完全に手動制御運転モードに切り替えられる。これにより、ドライバは、自動制御による支援を受けながら車両10の操作に徐々に慣れていけるので、車両10における自動制御運転モードから手動制御運転モードへ切り替えを安全に行うことができる。
変型例3では、報知部38は、車両状況情報に基づいて、車両10と他の車両などの物体との衝突が予測される場合、判定部37が、車両10に予定される動作をドライバへ報知すると判定しても、報知することを行わない。車両10と他の車両などの物体と衝突することが予測される場合としては、例えば、報知部38は、車両状況情報に基づいて、車線変更により移動する車線上に、他の車両が接近している場合には、ステアリング71を動かす動作を行わない。これにより、車線変更することを認識したドライバが、手動運転モードに切り替えてステアリング71を操作することにより、車両10が他の車両と不用意に接近するようなことが生じないようにできる。また、報知部38は、車両状況情報に基づいて、車両10が前方を走行する他の車両と衝突するのに要する衝突時間が第1衝突時間以内であっても、後続するまた他の車両が車両10と衝突する衝突時間が、第1衝突時間以内である場合、アクセルペダル72を動かす動作を行わない。同様に、報知部38は、車両状況情報に基づいて、車両10が前方を走行する他の車両と衝突するのに要する衝突時間が第1衝突時間以内であっても、後続するまた他の車両が車両10と衝突する衝突時間が、第1衝突時間以内である場合、ブレーキペダル73を動かす動作を行わない。これにより、前方又は後方の他の車両が接近することを認識したドライバが、手動運転モードに切り替えてアクセルペダル72又はブレーキペダル73を操作することにより、車両10が他の車両と不用意に接近するようなことが生じないようにできる。
本発明では、上述した実施形態の車両制御装置は、本発明の趣旨を逸脱しない限り適宜変更が可能である。また、本発明の技術範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
例えば、上述した実施形態では、報知部が、操作部を、操作制御部を用いて、自動運転車両の挙動と切り離された状態で動かすことにより、自動運転車両に予定される動作をドライバへ報知することは、上述した説明に限定されない。例えば、報知部は、車線変更を周囲に通知するウインカ表示を示す車内のパネル表示の点灯時間を通常の点灯の時よりも長めに行って、車両に予定される動作をドライバへ報知してもよい。