以下、図を参照しつつ、車両制御装置について説明する。この車両制御装置は、車両の目的地に向かう走行予定経路と、車両の現在位置に基づいて、車線変更を行うことの要否を判定する。車両制御装置は、車線変更を行うことが必要と判定した場合、この判定が行われた位置から所定の距離以内またはこの判定が行われた時点から所定の時間内に、車線変更を試みるように車両の走行動作を制御すると共に、車線変更が実施可能でないことの程度を示す評価値を求め、評価値が所定の閾値以上の場合には、車両の制御を自動制御から手動制御へ変更する要求(制御変更要求)を、通知部を介してドライバへ通知する。これにより、ドライバは、車両が自動制御で車線変更ができないことを把握できる。
本実施形態の車両制御装置を有する車両制御システムは、車両を自動制御で運転する自動制御運転モードと、ドライバが車両を操作して運転する手動制御運転モードとを有する。自動制御運転モードの車両制御システムは、ドライバによって制御変更要求が承諾された場合、車両の運転を適用中の自動制御運転モードから手動制御運転モードへ切り替える。これにより、車両が自動制御で車線変更ができない場合、ドライバは手動制御で車両を操作して車線変更を行うことが可能となる。但し、本発明の技術範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
図1は、車両制御装置が実装される車両制御システムの概略構成図である。また、図2は、車両制御装置の一つの実施形態である電子制御装置のハードウェア構成図である。
本実施形態では、車両10に搭載され、且つ、車両10を制御する車両制御システム1は、車両の前方の画像を撮影するカメラ2と、車両10の前後左右に配置されるライダセンサ3a〜3dとを有する。また、車両制御システム1は、測位情報受信機4と、測位情報受信機4が出力する測位情報に基づいて地図情報を生成する地図情報記憶装置5と、グラフィカルユーザーインターフェース(GUI)6と、操作装置7と、ナビゲーション装置8と、車両制御装置の一例である電子制御装置(ECU)9とを有する。
カメラ2と、ライダセンサ3a〜3dと、地図情報記憶装置5と、GUI6と、操作装置7と、ナビゲーション装置8と、ECU9とは、コントローラエリアネットワークといった規格に準拠した車内ネットワーク11を介して通信可能に接続される。
カメラ2は、車両10の前方を向くように、例えば、車両10の車室内に取り付けられる。カメラ2は、所定の周期で設定される画像情報取得時刻において、車両10の前方の所定の領域が表された画像を生成する。生成された画像には、車両10の前方の所定の領域内に含まれる路面上の車線区画線などの地物が表わされる。カメラ2により生成される画像は、カラー画像であってもよく、又は、グレー画像であってもよい。カメラ2は、撮像部の一例であり、CCDあるいはC-MOSなど、可視光に感度を有する光電変換素子のアレイで構成された2次元検出器と、その2次元検出器上に撮影対象となる領域の像を結像する撮像光学系を有する。
カメラ2は、画像を生成する度に、画像及び画像を生成した画像情報取得時刻を、車内ネットワーク11を介してECU9へ出力する。画像は、ECU9において、車両の位置を推定する処理に使用されるのと共に、車両10の周囲の他の物体を検出する処理に使用される。
ライダセンサ3a〜3dのそれぞれは、車両10の前方、左側方、後方、右側方を向くように、例えば、車両10の外面に取り付けられる。ライダセンサ3a〜3dのそれぞれは、所定の周期で設定される距離情報取得時刻において、車両10の前方、左側方、後方、右側方に向けてパルス状のレーザを同期して発射して、反射物により反射された反射波を受信する。反射波が戻ってくるのに要する時間は、レーザが照射された方向に位置する地物と車両10との間の距離情報を有する。ライダセンサ3a〜3dのそれぞれは、レーザの照射方向及び反射波が戻ってくるのに要する時間を含む反射波情報を、レーザを発射した距離情報取得時刻と共に、車内ネットワーク11を介してECU9へ出力する。反射波情報は、ECU9において、車両10の周囲の他の物体を検出する処理に使用される。
測位情報受信機4は、車両10の現在位置を表す測位情報を出力する。例えば、測位情報受信機4は、GPS受信機とすることができる。測位情報受信機4は、GPS電波を受信する測位情報受信部4aと、測位情報受信部4aが受信したGPS電波に基づいて、車両10の現在位置を表す測位情報を出力するプロセッサ4bとを有する。プロセッサ4bは、測位情報受信部4aが所定の受信周期で測位情報を取得する度に、測位情報及び測位情報を取得した測位情報取得時刻を、地図情報記憶装置5へ出力する。
地図情報記憶装置5は、プロセッサ(図示せず)と、磁気ディスクドライブ又は不揮発性の半導体メモリなどの記憶装置(図示せず)とを有しており、この記憶装置は、車両10の現在位置を含む相対的に広い範囲(例えば10〜30km四方の範囲)の広域地図情報を記憶する。この広域地図情報は、道路上の車線区画線などの地物、構造物の種類および位置を表す情報、道路の法定速度などを含む高精度地図情報であることが好ましい。なお、道路上の地物、構造物の位置は、例えば、実空間における所定の基準位置を原点とする世界座標系で表される。地図情報記憶装置5のプロセッサは、車両10の現在位置に応じて、無線通信装置(図示せず)を介した無線通信により、基地局を介して外部のサーバから広域地図情報を受信して記憶装置に記憶する。地図情報記憶装置5のプロセッサは、測位情報受信機4から測位情報を入力する度に、記憶装置に記憶している広域地図情報を参照して、測位情報により表される現在位置を含む相対的に狭い領域(例えば、100m〜10km四方の範囲)の地図情報及び測位情報取得時刻を、車内ネットワーク11を介してECU9へ出力する。また、地図情報記憶装置5のプロセッサは、測位情報受信機4から測位情報及び測位情報取得時刻を入力する度に、測位情報及び測位情報取得時刻を、車内ネットワーク11を介してナビゲーション装置8へ出力する。
GUI6は、通知部の一例である。GUI6は、ECU9に制御されて車両10の走行情報および車両の制御を自動制御から手動制御へ変更する制御変更要求などをドライバへ通知し、またドライバから車両10に対する操作を入力する。車両10の走行情報は、車両の位置、走行予定経路、車線変更を行う予定などの車両の現在および将来の経路に関する情報などを含む。GUI6は、走行情報および制御変更要求などをドライバへ通知する通知装置として、例えば、液晶ディスプレイまたはタッチパネルを有する。また、GUI6は、ドライバから車両10への操作情報を入力する入力装置として、例えば、タッチパネルまたは操作ボタンを有する。操作情報として、例えば、目的地、経由地、車両速度、その他の車両の制御情報、車線変更を行うことに対する回答、および、制御変更要求に対するドライバの回答などが挙げられる。GUI6は、入力された操作情報を、車内ネットワーク11を介してECU9へ出力する。
操作装置7は、車両10の手動制御運転モードにおいて、ドライバが、車両10を手動で操作するための、ステアリング、アクセルペダル、ブレーキペダルなどを有する。操作装置7は、ドライバのステアリング操作による操舵量に応じた制御信号を生成して、車両10の操舵輪を制御するアクチュエータ(図示せず)へ出力する。操作装置7は、ドライバのアクセルペダル操作によるアクセル開度に応じた制御信号を生成して、車両10のエンジンの燃料噴射装置(図示せず)へ出力する。操作装置7は、ドライバのブレーキペダル操作によるブレーキ量に応じた制御信号を生成して、車両10のブレーキ(図示せず)へ出力する。
ナビゲーション装置8は、ナビゲーション用地図情報と、車両10の目的地と、車両10の現在位置とに基づいて、車両10の現在位置から目的地までの走行予定経路を生成する。ナビゲーション装置8は、ナビゲーション用地図情報を記憶するメモリ8aと、プロセッサ8bとを有する。ナビゲーション用地図情報は、道路を表すリンクの位置情報と、リンクによって接続されるノードの位置情報とを有する。走行予定経路の道路配置は、道路を表すリンクと、リンクによって接続されるノードとによって表される。リンクおよびノードの位置は、例えば、世界座標系の座標で表される。プロセッサ8bは、メモリ8aに記憶するナビゲーション用地図情報と、GUI6から受信した車両10の目的地と、地図情報記憶装置5から受信した車両の現在位置とに基づいて、車両10の現在位置から目的地までの走行予定経路を生成する。プロセッサ8bは、例えば、ダイクストラ法を用いて、車両10の走行予定経路を生成する。走行予定経路は、右折、左折、合流、分岐などの位置に関する情報を含む。プロセッサ8bは、目的地が新しく設定された場合、または、車両10の現在位置が走行予定経路から外れた場合などに、車両10の走行予定経路を新たに生成する。プロセッサ8bは、走行予定経路を生成するたびに、その走行予定経路を、車内ネットワーク11を介してECU9へ出力する。
ECU9は、車両10を制御する。本実施形態では、ECU9は、車線変更を行うことが必要と判定した場合、車線変更を行う予定であることを、GUI6を介してドライバへ通知する。ECU9は、車線変更を含む運転計画を生成して、車両10を自動制御運転するように車両10の走行動作を制御する。ECU9は、車線変更を試みるように車両10の制御を行っている間、車線変更が実施可能でないことの程度を示す評価値を求め、評価値が所定の閾値以上の場合には、車両10の制御を自動制御から手動制御へ変更する制御変更要求を、GUI6を介してドライバへ通知する。そのために、ECU9は、通信インターフェース21と、メモリ22と、プロセッサ23とを有する。
通信インターフェース(I/F)21は、通信部の一例であり、ECU9を車内ネットワーク11に接続するためのインターフェース回路を有する。すなわち、通信インターフェース21は、車内ネットワーク11を介して、GUI6などと接続される。通信インターフェース21は、ECU9から車線変更を行う予定であることを示す情報または制御変更要求を示す情報を受信すると、受信した情報を、GUI6へ送信する。また、通信インターフェース21は、GUI6からドライバが車線変更を行うことに対する回答を示す情報または制御変更要求に対する回答を示す情報を受信すると、受信した情報をプロセッサ23へわたす。また、通信インターフェース21は、車内ネットワーク11を介して、カメラ2及び地図情報記憶装置5などと接続される。通信インターフェース21は、例えば、カメラ2から画像及び画像情報取得時刻を受信する度に、受信した画像及び画像情報取得時刻をプロセッサ23へわたす。また通信インターフェース21は、地図情報記憶装置5から測位情報、測位情報取得時刻及び地図情報を受信する度に、受信した測位情報、測位情報取得時刻及び地図情報をプロセッサ23へわたす。また通信インターフェース21は、図示しない車両速度センサ、加速度センサ及びヨーレートセンサから受信した車両速度、加速度及びヨーレートを、プロセッサ23へわたす。
メモリ22は、記憶部の一例であり、例えば、揮発性の半導体メモリ及び不揮発性の半導体メモリを有する。そしてメモリ22は、ECU9のプロセッサ23により実行される車両制御処理において使用される各種のデータ、カメラ2及び各ライダセンサ3a〜3dの光軸方向及び取り付け位置などの設置位置情報、撮像光学系の焦点距離及び画角といった内部パラメータなどを記憶する。また、メモリ22は、ナビゲーション装置8から受信した走行予定経路、カメラ2などから受信した画像及び画像情報取得時刻、地図情報記憶装置5から受信した測位情報、測位情報取得時刻及び地図情報などを記憶する。
プロセッサ23は、制御部の一例であり、1個または複数個のCPU(Central Processing Unit)及びその周辺回路を有する。プロセッサ23は、論理演算ユニット、数値演算ユニットあるいはグラフィック処理ユニットといった他の演算回路をさらに有していてもよい。プロセッサ23が複数個のCPUを有する場合、CPUごとにメモリを有していてもよい。プロセッサ23は、カメラ2が生成した画像に基づいて、この画像が生成された画像情報取得時刻における車両10の位置を推定する位置推定処理を実行する。また、プロセッサ23は、所定の周期で設定される位置決定時刻において、画像情報取得時刻における車両10の推定位置を用いて、車両10の位置を推定する位置推定処理を実行する。プロセッサ23は、車両10の推定位置と、車両10の目的地と、車両10の周囲の他の物体との相対的な位置関係とに基づいて、車両10の走行動作を制御する。さらに、プロセッサ23は、車両10が車線変更を行うことの要否を判定し、車線変更を行うことが必要と判定された場合、この判定が行われた位置から所定の距離以内または判定が行われた時点から所定の時間内に、車線変更を行うように車両10の走行動作を制御すると共に、この制御を行っている間、車線変更が実施可能でないことの程度を示す評価値を求め、この評価値が所定の閾値以上の場合には、車両10の制御を自動制御から手動制御へ変更する要求を、GUI6を介してドライバへ通知する車両制御処理を行う。
図3は、車線変更を含む車両制御処理に関する、ECU9のプロセッサ23の機能ブロック図である。プロセッサ23は、位置推定部31と、物体検出部32と、走行車線計画部33と、運転計画部34と、期待度算出部35と、車両制御部36とを有する。プロセッサ23が有するこれらの各部の全てまたは一部は、例えば、プロセッサ23上で動作するコンピュータプログラムにより実現される機能モジュールである。あるいは、プロセッサ23が有するこれらの各部の全てまたは一部は、プロセッサ23に設けられる、専用の演算回路であってもよい。また、プロセッサ23が有するこれらの各部のうち、走行車線計画部33と、運転計画部34と、期待度算出部35と、車両制御部36が、車線変更に関する車両制御処理を実行する。
プロセッサ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へ通知する。
プロセッサ23の物体検出部32は、カメラ2が生成した画像に基づいて、車両10の周囲の他の物体およびその種類を検出する。他の物体には、車両10の周囲を走行する他の車両が含まれる。物体検出部32は、例えば、カメラ2が生成した画像を識別器に入力することで画像に表された物体を検出する。識別器として、例えば、入力された画像から、その画像に表された物体を検出するように予め学習されたディープニューラルネットワーク(DNN)を用いることができる。物体検出部32は、DNN以外の識別器を用いてもよい。例えば、物体検出部32は、識別器として、画像上に設定されるウィンドウから算出される特徴量(例えば、Histograms of Oriented Gradients, HOG)を入力として、そのウィンドウに検出対象となる物体が表される確信度を出力するように予め学習されたサポートベクトルマシン(SVM)を用いてもよい。あるいはまた、物体検出部32は、検出対象となる物体が表されたテンプレートと画像との間でテンプレートマッチングを行うことで、物体領域を検出してもよい。また、物体検出部32は、ライダセンサ3a〜3dが出力する反射波情報に基づいて、車両10の周囲の他の物体との距離を表す距離画像を生成し、この距離画像に基づいて、車両10の周囲の他の物体を検出してもよい。また、物体検出部32は、カメラ2が生成した画像内の他の物体の位置に基づいて、車両10に対する他の物体の方位を求め、この方位と距離画像とに基づいて、この他の物体と車両10との間の距離を求めてもよい。物体検出部32は、車両10の現在位置と、車両10に対する他の物体までの距離及び方位に基づいて、例えば世界座標系で表された、他の物体の位置を推定する。また、物体検出部32は、オプティカルフローに基づく追跡処理に従って、カメラ2が生成した最新の画像から検出された他の物体を過去の画像から検出された物体と対応付けることで、最新の画像から検出された他の物体を追跡してもよい。そして、物体検出部32は、過去の画像から最新の画像における物体の世界座標系で表された位置に基づいて、他の物体の軌跡を求めてもよい。物体検出部32は、時間経過に伴う他の物体の位置の変化に基づいて、車両10に対するその物体の速度を推定する。また、物体検出部32は、時間経過に伴う他の物体の速度の変化に基づいて、他の物体の加速度を推定する。物体検出部32は、地図情報に表された車線区画線と、他の物体位置とに基づいて、他の物体が走行している走行車線を特定する。例えば、物体検出部32は、他の物体の水平方向の中心位置を挟むように位置する互いに隣接する二つの車線区画線で特定される車線を他の物体が走行していると判定する。物体検出部32は、検出された他の物体の種類(例えば、車両)を示す情報と、その位置を示す情報、速度、加速度および走行車線を、運転計画部34へ通知する。
プロセッサ23の走行車線計画部33は、車線変更要否判定部の一例であり、所定の周期で設定される走行車線計画生成時刻において、走行予定経路から選択された直近の運転区間(例えば、10km)において、地図情報と、車両10の目的地に向かう走行予定経路と、車両10の現在位置とに基づいて、車両10が走行する道路内の車線を選択して、車両10が走行する走行予定車線を表す走行車線計画を生成する。また、走行車線計画部33は、走行予定経路から選択された直近の運転区間において、地図情報と、走行予定経路と、車両10の現在位置とに基づいて、車線変更を行うことの要否を判定する。また、走行車線計画部33は、車線変更の要否の判定に、周辺環境情報または車両状態情報をさらに利用してもよい。周辺環境情報は、車両の10の周囲を走行する他の車両の位置および速度などを含む。車両状態情報は、車両10の現在位置、車両速度、加速度および進行方向などを含む。走行車線計画部33は、走行予定経路の所定の区間内において車線変更の要否を判定して、車線変更の有無と、車線変更を含む場合には移動前の車線および移動後の車線を含む走行車線計画を生成する。走行車線計画部33は、走行車線計画を生成するたびに、この走行車線計画を運転計画部34へ通知する。具体的には、走行車線計画部33は、所定の周期で設定される走行車線計画生成時刻において、ナビゲーション装置8から通知された走行予定経路から直近の運転区間を選択して、この運転区間内における車両10が走行する道路内の車線を選択して、走行車線計画を生成する。また、走行車線計画部33は、走行予定経路と車両10の現在位置とに基づいて、車両10が右折すること、車両10が左折すること、車両10が現在走行している道路から合流先の他の道路へ進入すること(合流)、および、車両10が現在走行している道路から分岐先の他の道路へ退出すること(分岐)の中の少なくとも1つのイベントが生じるイベント位置の有無を判定する。走行車線計画部33は、運転区間がイベント位置を含む場合、車線変更を行うことの要否を判定する。具体的には、走行車線計画部33は、イベント位置におけるイベントを実行するための車線と、車両10が現在走行中の車線とが同じか否かを判定して、異なる場合、車線変更を行う必要があると判定して、移動前の車線および移動後の車線を含む走行車線計画を生成する。また、走行車線計画部33は、車両10が走行している車線と同じ車線上を走行する他の車両が存在しており、かつ、車両10がそのまま同じ車線を走行すると、車両10と他の車両とが衝突することが予測される場合、車線変更を行う必要があると判定して、移動前の車線および移動後の車線を含む走行車線計画を生成する。
走行車線計画部33が走行車線計画を生成する処理の動作例を、図4〜図6を参照しながら、以下に説明する。
図4および図5に示す例では、走行車線計画部33は、運転区間がイベント位置を含む場合、地図情報と、走行予定経路と、車両10の現在位置とに基づいて、イベント位置におけるイベントを実行するための車線と、車両10が現在走行中の車線とが同じか否かを判定する。走行車線計画部33は、イベント位置におけるイベントを実行するための車線と、車両10が現在走行中の車線とが異なる場合、車線変更を行う必要があると判定して、車両10が現在走行中の車線からイベント位置におけるイベントを実行するための車線へ移動することを含む走行車線計画を生成する。
図4に示す例では、車両10の走行予定経路404は、道路401上の経路404aと、道路401から分岐する道路403上の経路404bとを含む。車両10の現在位置400は、経路404a上にある。経路404bは、車両10が将来走行する経路である。現在の運転区間405は、車両10が現在走行している道路401から他の道路403へ分岐する位置406を含む。走行車線計画部33は、車両10が現在走行している道路401から分岐先の他の道路403へ退出する位置406を、運転区間405内のイベント位置として判定する。車両10が走行中である道路401は、左側車線401a及び右側車線401bを有する。走行車線計画部33には、車両10の現在位置400が右側車線401上にあることが、位置推定部31から通知されている。走行車線計画部33は、運転区間405がイベント位置406を含むので、車線変更を行うことの要否を判定する。車両10が現在走行している道路401の右側車線401bから分岐先の道路403へイベント位置406において退出する際には、車両10は道路401の左側車線401aへ移動しておくことが必要になる。そこで、走行車線計画部33は、現在の右側車線401bから左側車線401aへ車線変更を行うことが必要であると判定する。そして、走行車線計画部33は、運転区間405において、車両10が、イベント位置406へ到達するまでに右側車線401bから左側車線401aへ車線変更することを含む走行車線計画を生成する。
図5に示す例では、車両10の走行予定経路504は、道路501上の経路504aと、道路501と交差する道路503上の経路504bとを含む。車両10の現在位置500は、経路504a上にある。経路504bは、車両10が将来走行する経路である。現在の運転区間505は、車両10が現在走行している道路501から他の道路503へ右折する位置506を含む。走行車線計画部33は、車両10が現在走行している道路501から他の道路503へ右折する位置506を、運転区間505内のイベント位置として判定する。車両10は、道路501を図中の下側から上側に向かって走行中である。道路501は、車両が図中の下側から上側に向かう方向に走行可能な、左側車線501a、中央車線501bおよび右側車線501cを有する。左側車線501aは、交差点において、車両が直進または左折することが可能な車線である。中央車線501bは、交差点において、車両が直進することが可能な車線である。右側車線501cは、交差点において、車両が右折することが可能な車線である。走行車線計画部33には、車両10の現在位置500が左側車線501a上にあることが、位置推定部31から通知されている。また、道路501は、車両が図中の上側から下側に向かう方向に走行可能な左側車線501e及び右側車線501dを有する。走行車線計画部33は、運転区間505がイベント位置506を含むので、車線変更を行うことの要否を判定する。車両10が現在走行している道路501の左側車線501aから他の道路503へイベント位置506において右折する際には、車両10は道路501の右側車線501cへ移動しておくことが必要になる。そこで、走行車線計画部33は、現在の左側車線501aから右側車線501cまで車線変更を行うことが必要であると判定する。そして、走行車線計画部33は、運転区間505において、車両10が、イベント位置506に到達するまでに、左側車線501aから中央車線501bを経て右側車線501cへ車線変更することを含む走行車線計画を生成する。
図6に示す例では、走行車線計画部33は、車両10が走行している車線と同じ車線上を走行する他の車両が存在する場合、車両10の現在位置と、他の車両の情報を含む周辺環境情報と、車両状態情報とに基づいて、車両10と他の車両とが衝突することが予測されるか否かを判定する。走行車線計画部33は、車両10と他の物体とが衝突することが予測される場合、車線変更を行う必要があると判定して、移動前の車線および移動後の車線を含む走行車線計画を生成する。
図6に示す例では、車両10の走行予定経路604は、道路601上において、車両10の現在位置600から道路601を直進する経路を含む。車両10の現在位置600は、道路601上にある。走行車線計画部33は、現在の運転区間605において走行予定経路604は道路601を直進しているので、運転区間605がイベント位置を含まないと判定する。車両10が走行中の道路601は、左側車線601aと、右側車線601bとを有する。走行車線計画部33には、車両10の現在位置600が左側車線601a上にあることが、位置推定部31から通知されている。走行車線計画部33は、物体検出部32から車両10の周辺に他の車両が検出されていることを通知されると、車両10の走行車線と、他の車両の走行車線とが、同一であるか否かを判定する。走行車線が同一である場合、走行車線計画部33は、他の車両の位置が、車両10の現在位置600に対して、進行方向の前方に位置するのか、または、後方に位置するのかを判定する。走行車線計画部33は、車両10の位置600および車両速度と、他の車両の位置および速度とに基づいて、現在の時点から所定の時間内に、車両10が前方に位置する他の車両と衝突する可能性があるか否か、または、後方に位置する他の車両が車両10と衝突する可能性があるか否かを判定する。例えば、走行車線計画部33は、現在の時点から所定の時間内に、車両10と他の車両との間の距離が所定の距離(例えば、2m)以内になると推定した場合、車両10と他の車両とが衝突する可能性があると判定する。車両10が前方に位置する他の車両と衝突する可能性がある場合、走行車線計画部33は、車両10が前方に位置する他の車両と衝突する前に、他の車両を追い越すための車線変更を行う必要があると判定する。また、後方に位置する他の車両が車両10と衝突する可能性がある場合、走行車線計画部33は、後方に位置する他の車両が車両10と衝突する前に、車線変更を行う必要があると判定する。ここでは、図6に示すように、他の車両610の位置が前方に位置するので、走行車線計画部33は、車両10が他の車両610を追い越すための車線変更を行う必要があると判定したとする。車線変更を行う必要があると判定した場合、走行車線計画部33は、車両10は車線変更を行うことが可能か否かを判定する。走行車線計画部33は、道路601は車両10が走行する左側車線601aと隣接する右側車線601bを有するので、車両10は車線変更を行うことが可能であると判定する。そして、走行車線計画部33は、運転区間605において、車両10が、前方に位置する他の車両610と衝突する前に、左側車線601aから右側車線601bへ車線変更すること、右側車線601bを走行して他の車両610の横を通過すること、他の車両610の横を通過した後に右側車線601bから左側車線601aへ車線変更することを含む走行車線計画を生成する。一方、走行車線計画部33は、車両10が他の車両610と衝突する可能性がないと判定した場合、他の車両を追い越すための車線変更を行う必要はないと判定する。また、走行車線計画部33は、道路601は車両10が走行可能な車線を一つのみを有する場合、車線変更を行うことが可能ではないと判定する。これらの場合、走行車線計画部33は、車線変更を含まない走行車線計画を生成する。
走行車線計画部33は、車線変更を含む走行車線計画を生成した場合、車両10が自動制御で車線変更を行うことを中止する車線変更中止位置を車両10が現在走行中の走行車線上に決定する。具体的には、走行車線計画部33は、制御変更要求を通知されたドライバが車両10を手動制御で操作してイベント位置に到達するまでの間に走行車線計画にそった車線変更を実行可能となるように、車線変更中止位置を車両10が現在走行中の車線上に決定する。例えば、走行車線計画部33は、車線変更中止位置とイベント位置との間の距離を、車両10が車線変更中止位置とイベント位置との間を現在の車両10の車両速度で走行した場合、走行時間が4秒以上となる距離に決定してもよい。また、走行車線計画部33は、車線変更中止位置を、車両10の現在位置から所定の距離(例えば、500m)だけ前方の位置に決定してもよい。
また、走行車線計画部33は、車線変更を行うことの判定が行われた位置から所定の距離(車線変更完了予定距離)以内またはこの判定が行われた時点から所定の時間(車線変更完了予定時間)内に、車両10の走行動作を制御する車両制御部36を用いて車線変更を行うように車両10の走行動作を制御する。運転計画部34は、走行車線計画部33が生成した走行車線計画に基づいて運転計画を生成し、車両制御部36は、この運転計画に基づいて、車線変更を行うように車両10の走行動作を制御する。
走行車線計画部33は、上述した車線変更完了予定距離を、車線変更中止位置と、車両10の現在位置とに基づいて決定してもよい。例えば、走行車線計画部33は、車線変更完了予定距離を、車両10の現在位置と車線変更中止位置との間の距離として決定する。走行車線計画部33は、車線変更中止位置および車線変更完了予定距離を、走行車線計画と共に、運転計画部34へ通知する。
運転計画部34は、車線変更計画部の一例であり、所定の周期で設定される運転計画生成時刻において、地図情報と、走行車線計画と、車両10の現在位置と、周辺環境情報と、車両状態情報とに基づいて、所定の時間(例えば、5秒)先までの車両10の予定走行軌跡を表す運転計画を生成する。運転計画は、現時刻から所定時間先までの各時刻における、車両10の目標位置およびこの目標位置における目標車両速度の集合として表される。運転計画生成時刻の周期は、走行車線計画生成時刻の周期よりも短いことが好ましい。運転計画部34は、目標車両速度を、ドライバから入力された走行速度または走行している車線の法定速度に基づいて決定してもよい。運転計画部34は、カルマンフィルタなどの予測フィルタを用いて、検出された他の車両の直近の軌跡に基づいての将来の軌跡を推定し、検出された他の車両が走行中の車線及び推定された軌跡より算出された相対距離に基づいて、他の車両と車両10とが異なる車線を走行するか、あるいは、車両10から他の物体までの相対距離が所定距離以上となるように、車両10の運転計画を生成する。運転計画部34は、走行車線計画に基づいて、複数の運転計画を生成してもよい。この場合、運転計画部34は、複数の運転計画のうち、車両10の加速度の絶対値の総和が最小となる運転計画を選択してもよい。運転計画部34は、運転計画を車両制御部36へ通知する。
運転計画部34は、走行車線計画が車線変更を含む場合、車線変更後の移動先の目標位置を移動先の車線上に決定して、車両10が車線間を移動する車線変更を含む運転計画を生成するのと共に、車線変更を含まない運転計画を生成する。運転計画部34は、車線変更後の移動先の目標位置と、車線変更完了予定距離と、車線変更中止位置と、車両10の現在位置と、周辺環境情報と、車両状態情報とを含む、車線変更が成功する期待度を算出するための期待度算出情報を期待度算出部35へ通知する。運転計画部34は、期待度算出部35から通知された期待度が所定の閾値(例えば、0.7〜0.9)未満の場合、車線変更を含まない運転計画を車両制御部36へ通知する。この場合、車両10は、現在走行中の車線を走行し続ける。一方、運転計画部34は、期待度算出部35から通知された期待度が所定の閾値(例えば、0.7〜0.9)以上となった場合、車線変更を含む運転計画を車両制御部36へ通知する。この場合、車両10は、現在走行中の車線から移動先の車線上への車線変更を開始する。期待度算出部35が期待度を算出する処理については後述する。
例えば、運転計画部34は、走行車線計画が車線変更を含む場合、車両10が、移動先の車線を走行している他の車両と並走しないように、車線変更を含まない運転計画を生成し、また、車両10が移動元の車線の中心線から移動先の車線の中心線へ移動し、かつ、相対距離が所定距離以上となるように、車線変更を含む運転計画を生成する。
運転計画部34は、車両10が車線変更を行う走行動作を開始した後、車両10と他の車両との間に所定の距離を確保できないことにより車線変更を完了できなくなった場合か、または、期待度算出部35から所定の閾値未満の期待度を通知された場合、車線変更を中止する。運転計画部34は、上述したように、車線変更を含まない運転計画と、車線変更を含む運転計画とを生成することを繰り返す。そして、運転計画部34は、車両10の走行距離が車線変更完了予定距離以内であるか、または、時刻が車線変更完了予定時間以内である場合、期待度算出部35から通知された期待度が所定の閾値(例えば、0.7〜0.9)以上となると、車線変更を含む運転計画を車両制御部36へ通知して、車両10は、再度、車線変更を開始する。
以下、走行車線計画部33が生成した走行車線計画に基づいて、運転計画部34が、車線変更を行うことの判定が行われた位置から車線変更完了予定距離以内に、車両制御部36を用いて車線変更を行うように、車線変更を含む運転計画を生成する例について、以下に説明する。
まず、運転計画部34は、車線変更後の移動先の目標位置を、移動先の車線上に決定する。運転計画部34は、カルマンフィルタなどの予測フィルタを用いて、移動先の車線上を走行する他の車両の直近の軌跡に基づいて、移動先の車線上を走行する他の車両の将来の軌跡を推定し、前方および後方の車両との間に安全な距離が確保されるように移動先となるスペースを選択して、このスペース内に移動するように、かつ、車両10の動作が所定の制約を満たすように、1つ以上の車線変更を含む運転計画を生成する。所定の制約としては、単位時間あたりの加速度変化量、単位時間あたりの速度変化量、または、単位時間あたりのヨーレート変化量が、上限値以下となることが挙げられる。運転計画部34は、複数の車線変更を含む運転計画を生成した場合、前方および後方の車両との間の距離が最も確保される運転計画を選択してもよい。
運転計画部34は、走行車線計画が車線変更を含む場合、上述した運転計画を生成すると共に、車線変更が実施可能でないことの程度を示す評価値を求める。運転計画部34は、この評価値が所定の閾値以上の場合には、車両10の制御を自動制御から手動制御へ変更する制御変更要求を、GUI6を介してドライバへ通知する。運転計画部34は、車両10が車線変更を開始した後、車両10と他の車両との間に所定の距離を確保できないことにより車線変更を完了できなくなった場合か、または、期待度算出部35から所定の閾値未満の期待度を通知された場合、車線変更を中止する。運転計画部34は、車線変更を中止した場合、車線変更が不成功であると判定して、不成功回数を評価値としてカウントする。例えば、車線変更を2度中止した場合、評価値は2となる。運転計画部34は、車線変更が不成功であると判定した後も、車両10が車線変更中止位置に到達するまでの間は、新たに車線変更を含む運転計画を生成することを続ける。しかし、運転計画部34は、評価値が所定の閾値(例えば、2〜4)以上となった場合、車両の制御を自動制御から手動制御へ変更する制御変更要求を、GUI6を介してドライバへ通知する。評価値の閾値は、車両10が車線変更完了予定距離を走行して車線変更中止位置に到達するよりも前に、評価値が閾値に到達するように決定されることが、制御変更要求を余裕をもってドライバへ通知する観点から好ましい。また、運転計画部34は、評価値の値には関わらず、車両10が車線変更中止位置に到達した場合、車両の制御を自動制御から手動制御へ変更する制御変更要求を、GUI6を介してドライバへ通知する。GUI6は、自動制御で車線変更ができないこと、および、制御変更要求を表示する。また、GUI6は、制御変更要求に対するドライバの回答を入力して、車内ネットワーク11を介してECU9へ出力する。運転計画部34は、ドライバが制御変更要求を承認した場合、車両10の運転を、適用中の自動制御運転モードから手動制御運転モードへ切り替える。手動制御運転モードでは、少なくとも操舵が手動で制御されることが好ましい。また、手動制御運転モードでは、操舵、加速および制動が手動で制御されるようにしてもよい。制御変更要求を承認したドライバは、手動制御運転モードで、通知された車線変更を行うように、車両10を操作する。一方、運転計画部34は、ドライバが制御変更要求を承認しなかった場合、自動制御運転モードで車両10の運転を続ける。
以下、図7を参照して、運転計画部34が車線変更を含む運転計画を生成する処理を説明する。図7に示すように、車両10は、道路701を走行している。道路701は、左側車線701aおよび右側車線701bを有する。車両10は、左側車線701a上を走行している。走行車線計画は、車両10が、車線変更中止位置703に到達するまでに、左側車線701aから右側車線701bへ車線変更することを含んでいる。車線変更中止位置703は、車両10が走行する車線701a上において、車両10の現在位置700に対して進行方向の前方の位置に決定されている。また、車線変更完了予定距離Dは、車両10の現在位置700と車線変更中止位置703との間の距離として決定されている。運転計画部34は、走行車線計画と、車両10の現在位置700と、他の車両の情報を含む周辺環境情報とに基づいて、車線変更後の移動先の目標位置を決定する。運転計画部34は、物体検出部32から通知されている他の車両の情報を含む周辺環境情報に基づいて、移動先の右側車線701b上には、他の車両710と、他の車両711と、他の車両712とが順番に走行していることが通知される。他の車両710の進行方向側にスペースS1があり、他の車両710と他の車両711との間にスペースS2があり、他の車両711と他の車両712との間にスペースS3がある。運転計画部34は、カルマンフィルタなどの予測フィルタを用いて、移動先の右側車線701b上を走行する他の車両710、711,712の直近の軌跡に基づいて、移動先の右側車線701b上を走行する他の車両710、711、712の将来の軌跡を推定して、車両10が移動可能な大きさを有し、かつ、前方および後方の車両との間に安全な距離が確保されるように、移動先となるスペースを選択して、このスペース内に移動するように、かつ、車両10の動作が所定の制約を満たすように、1つ以上の車線変更を含む運転計画を生成する。運転計画部34は、前方および後方の車両との間の距離が最も確保される運転計画として、他の車両710と他の車両711との間のスペースS2内の目標位置へ移動する車線変更を含む運転計画を生成する。
次に、期待度算出部35が、車線変更が成功する期待度を算出する処理について、以下に説明する。期待度算出部35は、運転計画部34から期待度算出情報が通知されると、所定の周期で設定される期待度算出時刻において、運転計画と、車両10の現在位置と、他の車両の情報を含む周辺環境情報と、車両状態情報とに基づいて、車線変更が成功する期待度E(t)を算出する。期待度算出時刻の周期は、運転計画生成時刻の周期よりも短いことが好ましい。期待度算出部35は、車線変更が成功する期待度E(t)を、下記式(1)に示すように、車両10の位置に基づいて算出される第1車線変更成功度Q1(D(t))と、移動先の位置の後方車両(図7の他の車両711に対応)に基づいて算出される第2車線変更成功度Q2(bth)と、移動先の位置の前方車両(図7の他の車両710に対応)に基づいて算出される第3車線変更成功度Q3との積として求める。期待度算出部35は、期待度E(t)を求めるたびに、この期待度E(t)を運転計画部34へ通知する。
E(t)=Q1(D(t))×Q2(bth)×Q3 (1)
図8は、車両10の位置に基づいて算出される第1車線変更成功度Q1(D(t))を説明する図である。期待度算出部35は、第1車線変更成功度Q1(D(t))を、車両10の位置と車線変更中止位置との間の距離D(t)に基づいて決定する。第1車線変更成功度Q1(D(t))は、車両10が車線変更中止位置に近づく程低減して、車両10が車線変更中止位置に到達するとゼロになる。一方、第1車線変更成功度Q1(D(t))は、車両10が車線変更中止位置から遠ざかる程増加する。例えば、第1車線変更成功度Q1(D(t))として、シグモイド関数を用いることができる。
期待度算出部35は、時刻tにおける車両10の位置K(t)を、下記式(2)を用いて求める。
ここで、K(t0)は、運転計画部34が、一回あたりの車線変更の試みに許容される車線変更試行時間のカウントを開始した時刻t0における車両10の位置である。v(t)は、時刻tにおける車両10の車両速度である。a(t)は、時刻tにおける車両10の加速度である。車両の速度を増加する場合加速度の値を正として、車両の速度を減少する場合、加速度の値を負とする。K(t)は、例えば、世界座標系で表される位置ベクトルである。v(t)およびa(t)は、ベクトル量で表される。車両の速度を減少することは、実際には制動を用いて行うことになるが、制動による速度変化を、加速度を用いて表す。
期待度算出部35は、車両10の位置と車線変更中止位置との間の距離D(t)を、下記式(3)を用いて求める。
D(t)=|S-K(t)| (3)
ここで、Sは、車両10が走行する車線上の車線変更中止位置を表しており、例えば、世界座標系で表される位置ベクトルである。
移動先のスペースS2の後方車両に基づいて算出される第2車線変更成功度Q2は、車両10がスペースS2の後方車両を追い越してスペースS2へ移動する確率である。期待度算出部35は、第2車線変更成功度Q2を、下記式(4)を用いて求める。
ここで、PB(b)は、後方車両が加速度bの状態にある確率分布関数を表す。bthは、車両10が後方車両を追い越し可能となる加速度を表す。第2車線変更成功度Q2は、加速度bの−∞から∞の区間の積分で1となるように規格化されている。
期待度算出部35は、PB(b)として、例えば、運転計画部34が直近の一定期間中に求めた後方車両の加速度の経時変化に基づいて、加速度の平均値および加速度の分散を求めて、ガウス分布関数を生成する。また、期待度算出部35は、PB(b)として、運転計画部34が求めた後方車両の加速度に基づいて、多変量解析を用いて多項式近似式を求めてもてもよい。また、期待度算出部35は、PBとして、運転計画部34が直近の一定期間中に求めた後方車両の加速度bの経時変化および後方車両と後方車両の前方に位置する前方車両との間の距離cの経時変化に基づいて、ガウス分布関数または多変量解析を用いて、PB(b、c)を表す関数を求めてもよい。さらに、期待度算出部35は、PBとして、運転計画部34が直近の一定期間中に求めた、後方車両の加速度bの経時変化と、後方車両と後方車両の前方に位置する前方車両との間の距離cの経時変化と、前方車両の車両速度dの経時変化とに基づいて、ガウス分布関数または多変量解析を用いて、PB(b、c,d)を表す関数を求めてもよい。
また、期待度算出部35は、bthを、以下のように求めることができる。まず、期待度算出部35は、車両10が移動するスペースS2内の移動目標位置を、移動先の車線701b上に決定して、この移動目標位置と車両10の間の距離Sを求める。移動目標位置は、車線変更中止位置よりも手前の位置であり、この移動目標位置の初期値として、例えば、車両10の現在位置に対して、所定の距離だけ(例えば、30m)前方の位置とすることができる。車両10は、時間T後に後方車両に追いつくとする。期待度算出部35は、距離Sと、時間Tと、後方車両の加速度b(定数とする)と、車両10の加速度a(aは、bよりも大きな定数とする)とを用いて、下記の式(5)を満たす車両10の加速度aを求める。期待度算出部35は、後方車両の加速度bとして、後方車両の加速度の確率分布関数PB(b)の平均値を用いることができる。時間Tの初期値として、例えば、10秒とすることができる。
期待度算出部35は、移動目標位置を固定した状態で、時間Tを所定量ずつ増加するように変化させながら、上記式(5)を満たす車両10の加速度aを求める。期待度算出部35は、求められた車両10の加速度aが、所定のしきい値以下であれば、この加速度aをbthとする。所定のしきい値として、ドライバに不快感を与えない程度の加速度であることが好ましく、例えば、0.1〜0.3m/s2とすることができる。期待度算出部35は、移動目標位置を固定した状態で、所定のしきい値以下の加速度aが求まらない場合には、移動目標位置を所定量だけ増加した後、時間Tを所定量ずつ変化させながら、上記式(5)を満たす車両10の加速度aを求める処理を繰り返す。期待度算出部35は、移動目標位置が車線変更中止位置よりも手前の位置で、所定のしきい値以下の加速度aが求められない場合、第2車線変更成功度Q2をゼロとする。
移動先の位置の前方車両に基づいて算出された第3車線変更成功度Q3は、前方車両が加速して、スペースS2が拡大する確率を表す。期待度算出部35は、第3車線変更成功度Q3を、下記式(6)を用いて求める。
ここで、確率分布関数PC(c)は、前方車両が加速度cの状態にある確率分布関数を表す。第3車線変更成功度Q3は、加速度cが−∞から∞の区間の積分で1となるように規格化されている。
期待度算出部35は、例えば、確率分布関数PC(c)を、上述した確率分布関数PC(b)と同様に求めることができる。
ここで、車両10の周辺の右側車線701b上に他の車両が存在しない場合、第2車線変更成功度Q2および第3車線変更成功度Q3は、共に1に近い値となるので、期待度Eは、第1車線変更成功度Q1によりほぼ決定される。
車両制御部36は、位置決定時刻における車両10の位置と、車両速度及びヨーレートと、通知された運転計画(車線変更計画を含む)とに基づいて、車両10が走行予定経路に沿って走行するように車両10の各部を制御する。例えば、車両制御部36は、通知された運転計画、および、車両10の現在の車両速度及びヨーレートに従って、車両10の操舵角、加速度および角加速度を求め、その操舵角、加速度および角加速度となるように、操舵量、アクセル開度またはブレーキ量を設定する。そして車両制御部36は、設定された操舵量に応じた制御信号を、車両10の操舵輪を制御するアクチュエータ(図示せず)へ出力する。また、車両制御部36は、設定されたアクセル開度に従って燃料噴射量を求め、その燃料噴射量に応じた制御信号を車両10のエンジンの燃料噴射装置(図示せず)へ出力する。あるいは、車両制御部36は、設定されたブレーキ量に応じた制御信号を車両10のブレーキ(図示せず)へ出力する。
車両制御部36は、運転計画が車線変更するための目標軌跡および目標車両速度の集合を含む場合、車線変更を行うように車両10の走行動作を制御する。
図9は、プロセッサ23により実行される、車線変更を含む車両制御処理の動作フローチャートである。なお、以下に示される動作フローチャートにおいて、ステップS904〜S907の処理が車線変更を行うことが必要と判定された場合の車両制御処理に対応する。
まず、ナビゲーション装置8は、ナビゲーション用地図情報と、車両10の目的地と、車両10の現在位置とに基づいて、車両10の現在位置から目的地までの走行予定経路を生成する(ステップS901)。
次に、プロセッサ23の位置推定部31は、位置決定時刻ごとに車両10の推定位置および推定方位角を求める(ステップS902)。
次に、プロセッサ23の物体検出部32は、カメラ2により生成された画像および距離画像に基づいて、車両10の周囲の他の物体を検出する(ステップS903)。
次に、プロセッサ23の走行車線計画部33は、走行予定経路の運転区間において、車両10が走行する道路内の車線を選択して、走行車線計画を生成する。また、走行車線計画部33は、走行予定経路の運転区間において、地図情報と、走行予定経路と、車両10の現在位置と、周辺環境情報と、車両状態情報とに基づいて、車線変更を行うことの要否を判定する。走行車線計画部33は、車線変更を必要と判定した場合、この車線変更を行うことを含むように走行車線計画を生成する(ステップS904)。
次に、プロセッサ23の運転計画部34は、走行車線計画と、車両10の現在位置と、周辺環境情報と、車両状態情報とに基づいて、所定の区間内において車両10が走行する車線を定める運転計画を生成する(ステップS905)。運転計画部34は、車線変更を行うことが必要と判定された場合、車線変更を含む運転計画を生成する。
次に、プロセッサ23の運転計画部34は、車線変更を行うことが必要と判定された場合、判定が行われた位置から所定の距離以内に、車両10の走行動作を制御する車両制御部を用いて車線変更を行うように車両10の走行動作を制御すると共に、車線変更が実施可能でないことの程度を示す評価値を求め、この評価値が所定の閾値以上の場合には、車両10の制御を自動制御から手動制御へ変更する要求を、GUI6を介してドライバへ通知する(ステップS906)。
以上に説明してきたように、この車両制御装置は、車線変更を行うことが必要と判定した場合、所定の距離以内または所定の時間内に、車線変更を試みるように車両の動作を制御する。車両制御装置は、車線変更ができないと判定した場合、車両の制御を自動制御から手動制御へ変更する制御変更要求を、通知部を介してドライバへ通知する。これにより、ドライバは、車両が自動制御で車線変更ができないことを把握できる。ドライバは、必要に応じて、手動制御で車両を操作して予定されていた車線変更を行うことができる。また、車両制御装置は、所定の距離以内または所定の時間内に車線変更ができないと判定するので、ドライバは、余裕を持って手動制御で車両を操作して車線変更が行えるように、車両制御装置からの通知を受け取ることができる。
次に、上述した実施形態の変型例を、以下に説明する。本変型例では、プロセッサ23の走行車線計画部33が生成した走行車線計画に基づいて、運転計画部34が、車線変更を行うことが必要と判定が行われた位置から車線変更完了予定時間(所定の時間)内に、車両制御部36を用いて車線変更を行うように、車線変更を含む運転計画を生成する。
まず、走行車線計画部33は、車両10が自動制御で車線変更を行うことを中止する車線変更中止位置を車両10が走行する車線上に決定する。
走行車線計画部33は、車線変更完了予定時間を、車線変更中止位置と、車両10の現在位置と車両10の車両速度とに基づいて決定してもよい。例えば、走行車線計画部33は、車線変更完了予定時間を、車両10の現在位置と車線変更中止位置との間の距離を車両10の車両速度で割った値としてもよい。走行車線計画部33は、車両10の車両速度を、直近の所定の時間(例えば、1秒〜3秒)の平均速度として求めてもよい。
運転計画部34は、車線変更を行うことが必要と判定された時点からの経過した時間を評価値として求めて、この経過した時間が車線変更完了予定時間を超えた場合、車両の制御を自動制御から手動制御へ変更する制御変更要求を、GUI6を介してユーザへ通知する。
また、プロセッサ23の走行車線計画部33は、車線変更を行う必要があると判定した場合、車線変更を行う予定であることを、GUI6を介してドライバへ通知してもよい。例えば、走行車線計画部33は、上述した図4〜図6に示す車線変更を含む走行車線計画を、GUI6に表示することにより、車線変更を行う予定であることをドライバへ通知する。これにより、ドライバは、車両10の将来の経路に関する情報として、車両10が現在走行している道路から分岐先の他の道路へ退出するために車線変更を行う予定であること(図4の例)、車両10が右折するために車線変更を行う予定であること(図5の例)、または、車両10が他の車両を追い越すために車線変更を行う予定であること(図6の例)などを把握できる。なお、走行車線計画部33は、スピーカ(図示しない)などの音響出力装置(通知部の一例である)を用いて、車線変更を行う予定であることを音声によりドライバへ通知してもよい。
また、プロセッサ23の走行車線計画部33は、車線変更を行う予定であることをドライバへ通知するのと共に、車線変更を行うことを承認するか否かについて、GUI6に表示してドライバへ尋ねてもよい。走行車線計画部33は、ドライバがGUI6を操作することにより、ドライバの回答を入力する。走行車線計画部33は、ドライバが車線変更を行うこと承認した場合、車線変更を含む走行車線計画を生成し、ドライバが車線変更を行うこと承認しない場合、車線変更を含まない走行車線計画を生成する。
本発明では、上述した実施形態の車両制御装置は、本発明の趣旨を逸脱しない限り適宜変更が可能である。
例えば、上述した実施形態では、車線変更完了予定距離が、車両の位置と車線変更中止位置とに基づいて求められていたが、この車線変更完了予定距離の求め方は、特に制限されない。また、車線変更完了予定時間が、車線変更中止位置と、車両の位置と車両の車両速度とに基づいて求められていたが、この車線変更完了予定時間の求め方は、特に制限されない。
また、車線変更が成功する期待度を算出する方法は、上述した実施形態に限定されない。例えば、期待度算出部は、期待度を算出するために、移動先の車線の直近(例えば、数分間)の平均車間距離をさらに用いてもよい。また、期待度算出部は、期待度を算出するために、移動先の車線を走行する他の車両の直近(例えば、数分間)の速度分布と、車両速度との関係をさらに用いてもよい。