以下、図を参照しつつ、車線変更決定装置について説明する。この車線変更決定装置は、走行予定経路の所定の区間内において車線変更を行うか否かを決定する。車線変更決定装置は、車線変更を行うことが決定された場合、所定の区間内の複数の車線変更検討位置のそれぞれに対して、車線変更を実行した場合の車両の動作状態の変化量を示す評価値を求める。車線変更決定装置は、最小の評価値を示す車線変更検討位置を、車線変更を行う変更候補位置として決定する。これにより、車線変更決定装置は、車線変更を決定する条件に対して過剰な制限を与えることなく、車線変更時の車両の運動が起因となってユーザが不快に感じることを低減できる。
図1は、車線変更決定装置が実装される車両制御システムの概略構成図である。また、図2は、車線変更決定装置の一つの実施形態である電子制御装置のハードウェア構成図である。
本実施形態では、車両10に搭載され、且つ、車両10を制御する車両制御システム1は、車両の前方の画像を撮影するカメラ2と、車両10の前後左右に配置されるLiDARセンサ3a~3dとを有する。また、車両制御システム1は、測位情報受信機4と、地図情報記憶装置5と、ユーザインターフェース(UI)6と、ナビゲーション装置7と、車線変更決定装置の一例である電子制御装置(ECU)8とを有する。
カメラ2と、LiDARセンサ3a~3dと、地図情報記憶装置5と、UI6と、ナビゲーション装置7と、ECU8とは、コントローラエリアネットワークといった規格に準拠した車内ネットワークを介して通信可能に接続される。
カメラ2は、車両10の前方を向くように、例えば、車両10の車室内に取り付けられる。カメラ2は、所定の周期で設定される画像情報取得時刻において、車両10の前方の所定の領域が表された画像を生成する。生成された画像には、車両10の周囲の他の車両又は車両10の前方の所定の領域内に含まれる路面上の車線区画線などの地物が表わされる。カメラ2により生成される画像は、カラー画像であってもよく、又は、グレー画像であってもよい。カメラ2は、撮像部の一例であり、CCDあるいはC-MOSなど、可視光に感度を有する光電変換素子のアレイで構成された2次元検出器と、その2次元検出器上に撮影対象となる領域の像を結像する撮像光学系を有する。
カメラ2は、画像を生成する度に、画像及び画像を生成した画像情報取得時刻を、車内ネットワークを介してECU8へ出力する。画像は、ECU8において、車両の位置を推定する処理に使用されると共に、車両10の周囲の他の物体を検出する処理に使用される。
LiDARセンサ3a~3dのそれぞれは、車両10の前方、左側方、後方、右側方を向くように、例えば、車両10の外面に取り付けられる。LiDARセンサ3a~3dのそれぞれは、所定の周期で設定される距離情報取得時刻において、車両10の前方、左側方、後方、右側方に向けてパルス状のレーザを同期して発射して、反射物により反射された反射波を受信する。反射波が戻ってくるのに要する時間は、レーザが照射された方向に位置する地物と車両10との間の距離情報を有する。LiDARセンサ3a~3dのそれぞれは、レーザの照射方向及び反射波が戻ってくるのに要する時間を含む反射波情報を、レーザを発射した反射波情報取得時刻と共に、車内ネットワークを介してECU8へ出力する。反射波情報は、ECU8において、車両10の周囲の他の物体を検出する処理に使用される。
測位情報受信機4は、車両10の現在位置を表す測位情報を出力する。例えば、測位情報受信機4は、GPS受信機とすることができる。測位情報受信機4は、GPS電波を受信する測位情報受信部4aと、測位情報受信部4aが受信したGPS電波に基づいて、車両10の現在位置を表す測位情報を出力するプロセッサ4bとを有する。プロセッサ4bは、測位情報受信部4aが所定の受信周期で測位情報を取得する度に、測位情報及び測位情報を取得した測位情報取得時刻を、地図情報記憶装置5へ出力する。
地図情報記憶装置5は、プロセッサ(図示せず)と、磁気ディスクドライブ又は不揮発性の半導体メモリなどの記憶装置(図示せず)とを有しており、この記憶装置は、車両10の現在位置を含む相対的に広い範囲(例えば10~30km四方の範囲)の広域地図情報を記憶する。この広域地図情報は、道路上の車線区画線などの地物、構造物の種類及び位置を表す情報、道路の法定速度などを含む高精度地図情報であることが好ましい。なお、道路上の地物、構造物の位置は、例えば、実空間における所定の基準位置を原点とする世界座標系で表される。プロセッサは、車両10の現在位置に応じて、車両制御システム1に含まれる無線通信装置(図示せず)を介した無線通信により、基地局を介して外部のサーバから広域地図情報を受信して記憶装置に記憶する。プロセッサは、測位情報受信機4から測位情報を入力する度に、記憶装置に記憶している広域地図情報を参照して、測位情報により表される現在位置を含む相対的に狭い領域(例えば、100m~10km四方の範囲)の地図情報、測位情報及び測位情報取得時刻を、車内ネットワークを介してECU8へ出力する。また、地図情報記憶装置のプロセッサは、測位情報受信機4から測位情報及び測位情報取得時刻を受信する度に、測位情報及び測位情報取得時刻を、車内ネットワークを介してナビゲーション装置7へ送信する。
UI6は、通信部の一例であり、ECU8に制御されて、車両10の走行情報及び車両10の制御を自動制御から手動制御へ変更する制御変更通知などをドライバへ通知し、またドライバから車両10に対する操作に応じた操作信号を生成する。車両10の走行情報は、車両の位置、走行予定経路、車線変更を行う予定などの車両の現在及び将来の経路に関する情報などを含む。車両10の走行情報は、例えば、車両10が走行車線から隣接する車線へ車線変更を行うことに関係する情報を含んでいてもよい。UI6は、走行情報などをドライバへ通知する通知装置として、例えば、液晶ディスプレイ又はタッチパネルを有する。また、UI6は、ドライバから車両10への操作情報を入力する入力装置として、例えば、タッチパネル又は操作ボタンを有する。操作情報として、例えば、目的地、経由地、車両速度、その他の車両の制御情報、及び、制御変更通知に対するドライバの回答などが挙げられる。UI6は、入力された操作情報を、車内ネットワークを介してECU8へ出力する。
ナビゲーション装置7は、ナビゲーション用地図情報と、車両10の目的地と、車両10の現在位置とに基づいて、車両10の現在位置から目的地までの走行予定経路を生成する。ナビゲーション装置7は、ナビゲーション用地図情報を記憶するメモリ(図示せず)と、プロセッサ(図示せず)とを有する。ナビゲーション用地図情報は、道路を表すリンクの位置情報と、リンクによって接続されるノードの位置情報とを有する。走行予定経路の道路配置は、道路を表すリンクと、リンクによって接続されるノードとによって表される。リンク及びノードの位置は、例えば、世界座標系の座標で表される。プロセッサは、メモリに記憶するナビゲーション用地図情報と、UI6から受信した車両10の目的地と、地図情報記憶装置5から受信した車両10の現在位置を表す測位情報とに基づいて、車両10の現在位置から目的地までの走行予定経路を生成する。プロセッサは、例えば、ダイクストラ法を用いて、車両10の走行予定経路を生成する。走行予定経路は、右折、左折、合流、分岐などの位置に関する情報を含む。プロセッサは、目的地が新しく設定された場合、又は、車両10の現在位置が走行予定経路から外れた場合などに、車両10の走行予定経路を新たに生成する。プロセッサは、走行予定経路を生成する度に、その走行予定経路を、車内ネットワークを介してECU8へ出力する。
ECU8は、車両10の走行を制御する。本実施形態では、ECU8は、走行予定経路の所定の区間内において車線変更を行うか否かを決定し、車線変更を行うことが決定された場合、所定の区間内の複数の車線変更検討位置のそれぞれに対して、車線変更を実行した場合の車両の動作状態の変化量を示す評価値を求めて、最小の評価値を示す車線変更検討位置を、車線変更を行う変更候補位置として決定する車線変更決定処理を行う。そのために、ECU8は、通信インターフェース21と、メモリ22と、プロセッサ23とを有する。
通信インターフェース(I/F)21は、通信部の一例であり、ECU8を車内ネットワークに接続するためのインターフェース回路を有する。すなわち、通信インターフェース21は、車内ネットワークを介して、UI6などと接続される。通信インターフェース21は、車内ネットワークを介して、カメラ2及び地図情報記憶装置5などと接続される。通信インターフェース21は、例えば、カメラ2から画像及び画像情報取得時刻を受信する度に、受信した画像及び画像情報取得時刻をプロセッサ23へわたす。また通信インターフェース21は、地図情報記憶装置5から地図情報、測位情報及び測位情報取得時刻を受信する度に、受信した地図情報、測位情報及び測位情報取得時刻をプロセッサ23へわたす。また通信インターフェース21は、図示しない車両速度センサ、加速度センサ及びヨーレートセンサから受信した車両速度、加速度及びヨーレートを、プロセッサ23へわたす。
メモリ22は、記憶部の一例であり、例えば、揮発性の半導体メモリ及び不揮発性の半導体メモリを有する。そしてメモリ22は、ECU8のプロセッサ23により実行される車線変更決定処理において使用される各種のデータ、カメラ2の光軸方向及び取り付け位置などの設置位置情報、撮像光学系の焦点距離及び画角といった内部パラメータなどを記憶する。また、メモリ22は、各LiDARセンサ3a~3dの設置位置及び操作範囲などの内部パラメータなどを記憶する。また、メモリ22は、ナビゲーション装置7から受信した走行予定経路、カメラ2などから受信した画像及び画像情報取得時刻、地図情報記憶装置5から受信した地図情報、測位情報及び測位情報取得時刻などを記憶する。
プロセッサ23は、1個又は複数個のCPU(Central Processing Unit)及びその周辺回路を有する。プロセッサ23は、論理演算ユニット、数値演算ユニットあるいはグラフィック処理ユニットといった他の演算回路をさらに有していてもよい。プロセッサ23が複数個のCPUを有する場合、CPUごとにメモリを有していてもよい。プロセッサ23は、カメラ2が生成した画像に基づいて、この画像が生成された画像情報取得時刻における車両10の位置を推定する位置推定処理を実行する。また、プロセッサ23は、所定の周期で設定される位置決定時刻において、直近の画像情報取得時刻における車両10の推定位置及び車両速度などの車両状態情報を用いて、車両10の位置を更新する。プロセッサ23は、車両10の推定位置と、車両10の目的地と、車両10の周囲の他の物体との相対的な位置関係とに基づいて、車両10の走行動作を制御する。さらに、プロセッサ23は、走行予定経路の所定の区間内において車線変更を行うか否かを決定し、車線変更を行うことが決定された場合、所定の区間内の複数の車線変更検討位置のそれぞれに対して、車線変更を実行した場合の車両の動作状態の変化量を示す評価値を求めて、最小の評価値を示す車線変更検討位置を、車線変更を行う変更候補位置として決定する車線変更決定処理を行う。
図3は、車線変更処理及び制御変更通知処理を含む車両制御処理に関する、ECU8のプロセッサ23の機能ブロック図である。プロセッサ23は、位置推定部31と、物体検出部32と、走行車線計画部33と、運転計画部34と、車両制御部35とを有する。プロセッサ23が有するこれらの各部の全て又は一部は、例えば、プロセッサ23上で動作するコンピュータプログラムにより実現される機能モジュールである。あるいは、プロセッサ23が有するこれらの各部の全て又は一部は、プロセッサ23に設けられる、専用の演算回路であってもよい。走行車線計画部33は、車線変更決定部331、評価値算出部332及び車線変更位置決定部333の一例である。また、プロセッサ23が有するこれらの各部のうち、車線変更決定部331が、走行予定経路の所定の区間内において車線変更を行うか否かを決定する走行車線計画処理を実行し、評価値算出部332が、車線変更を行うことが決定された場合、所定の区間内の複数の車線変更検討位置のそれぞれに対して、車線変更を実行した場合の車両の動作状態の変化量を示す評価値を求める評価値算出処理を実行し、車線変更位置決定部333が、最小の評価値を示す車線変更検討位置を車線変更を行う変更候補位置として決定する車線変更位置決定処理を実行する。
プロセッサ23の位置推定部31は、車両10の周囲の地物に基づいて、車両10の位置を推定する。位置推定部31は、カメラ2の画像内に設けられた、車両10の周囲の地物の一例である車線区画線を検出するための照合領域を、画像内の車線区画線を識別する識別器に入力することで車線区画線を検出する。識別器として、例えば、入力された画像から、その画像に表された車線区画線を検出するように予め学習されたディープニューラルネットワーク(DNN)を用いることができる。そして、位置推定部31は、車両10の位置及び姿勢を仮定して、地図情報記憶装置5から受信した地図情報に表された車線区画線を、今回の画像情報取得時刻に生成されたカメラ2の画像上に投影する。例えば、位置推定部31は、今回の画像情報取得時刻に測位情報受信機4から受信した測位情報で表される車両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へ通知する。なお、位置推定部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へ通知する。
プロセッサ23の走行車線計画部33は、所定の周期で設定される走行車線計画生成時刻において、走行予定経路から選択された直近の運転区間(例えば、10km)において、地図情報と、車両10の目的地に向かう走行予定経路と、車両10の現在位置とに基づいて、車両10が走行する道路内の車線を選択して、車両10が走行する走行予定車線を表す走行車線計画を生成する。また、走行車線計画部33は、車線変更決定部331の一例であり、走行予定経路から選択された直近の運転区間において、地図情報と、走行予定経路と、車両10の現在位置とに基づいて、車線変更を行うことの要否を判定する。また、走行車線計画部33は、車線変更の要否の判定に、周辺環境情報又は車両状態情報をさらに利用してもよい。周辺環境情報は、車両の10の周囲を走行する他の車両の位置及び速度などを含む。車両状態情報は、車両10の現在位置、車両速度、加速度及び進行方向などを含む。また、走行車線計画部33は、ドライバからの車線変更の要求を、UI6を介して受け付けることにより、車線変更を実施することを決定してもよい。走行車線計画部33は、走行予定経路の所定の区間内において車線変更の要否を判定して、車線変更の有無と、車線変更を含む場合には変更前の車線及び変更後の車線を含む走行車線計画を生成する。走行車線計画部33は、走行車線計画を生成する度に、この走行車線計画を運転計画部34へ通知する。具体的には、走行車線計画部33は、所定の周期で設定される走行車線計画生成時刻において、ナビゲーション装置7から通知された走行予定経路から直近の運転区間を選択して、この運転区間内における車両10が走行する道路内の車線を選択して、走行車線計画を生成する。また、走行車線計画部33は、走行予定経路と車両10の現在位置とに基づいて、車両10が現在走行している道路から合流先の他の道路へ進入すること(合流)、車両10が右折すること、車両10が左折すること、及び、車両10が現在走行している道路から分岐先の他の道路へ退出すること(分岐)などの中の少なくとも1つのイベントが生じるイベント位置の有無を判定する。走行車線計画部33は、運転区間がイベント位置を含む場合、車線変更を行うことの要否を判定する。具体的には、走行車線計画部33は、イベント位置におけるイベントを実行するための車線と、車両10が現在走行中の車線とが同じか否かを判定して、異なる場合、車線変更を行う必要があると判定して、変更前の車線及び変更後の車線を含む走行車線計画を生成する。また、走行車線計画部33は、車両10が走行している車線と同じ車線上を走行する他の車両が存在しており、且つ、車両10がそのまま同じ車線を走行すると、車両10と他の車両とが衝突することが予測される場合、車線変更を行う必要があると判定して、変更前の車線及び変更後の車線を含む走行車線計画を生成する。
走行車線計画部33が走行車線計画を生成する処理の動作例を、車両10が現在走行している道路から、他の道路へ左折することを示す図4を参照しながら、以下に説明する。
図4に示す例では、走行車線計画部33は、運転区間がイベント位置である左折位置を含む場合、地図情報と、走行予定経路と、車両10の現在位置とに基づいて、左折位置における左折を実行するための車線と、車両10が現在走行中の車線とが同じか否かを判定する。走行車線計画部33は、左折位置における左折を実行するための車線と、車両10が現在走行中の車線とが異なる場合、車線変更を行う必要があると判定して、車両10が現在走行中の車線からイベントを実行するための車線へ移動することを含む走行車線計画を生成する。
図4に示す例では、車両10の走行予定経路403は、道路401上の経路403aと、道路401から左側へ向かって延びる他の道路402上の経路403bとを含む。車両10の現在位置400は、経路403a上にある。経路403bは、車両10が将来走行する経路である。現在の運転区間405は、車両10が現在走行している道路401から他の道路402へ左折する位置404を含む。走行車線計画部33は、車両10が現在走行している道路401から他の道路402へ左折する位置404を、運転区間405内のイベント位置として判定する。車両10が現在走行している道路401は、右側車線401a及び左側車線402bを含む。走行車線計画部33には、車両10の現在位置400が右側車線401a上にあることが、位置推定部31から通知されている。車両10が現在走行している道路401の右側車線401aから他の道路402へイベント位置404において左折する際には、車両10は道路401の左側車線402bへ移動しておくことが必要になる。走行車線計画部33は、イベント位置404における左折を実行するための左側車線402bと、車両10が現在走行中の右側車線401aとが同じではないと判定する。そこで、走行車線計画部33は、現在の右側車線401aから左側車線402bへ車線変更を行うことが必要であると判定する。そして、走行車線計画部33は、運転区間405において、車両10が、イベント位置404に到達するまでに、右側車線401aから左側車線402bへ車線変更することを含む走行車線計画を生成する。
走行車線計画部33は、車線変更を行うことが決定された場合、所定の区間内の複数の車線変更検討位置のそれぞれに対して、車線変更を実行した場合の車両の動作状態の変化量を示す評価値を求める。具体的には、まず、走行車線計画部33は、運転区間405の経路403a内に複数の車線変更検討区間410を決定する。走行車線計画部33は、車線変更検討区間410の長さを、一回の車線変更に要する平均的な距離以上の長さになるように決定する。一回の車線変更に要する平均的な距離は、固定値であってもよいし、現在の車両速度に応じて、車両速度が速い程長くなるように決定してもよい。走行車線計画部33は、複数の車線変更検討区間410を運転区間405内に連続して配置してもよいし、間隔をあけて配置してもよい。走行車線計画部33は、少なくとも1つの車線変更検討区間410を、運転区間405内のカーブしている部分を含むように決定してもよい。これは、車両が、道路のカーブしている部分で車線変更を行うことにより、車両の動作状態の変化量が少なくなって、車線変更を行う時にユーザに与えられる不快感を低減できる可能性があるためである。そして、走行車線計画部33は、複数の車線変更検討区間410のそれぞれに対して、車両10が車線変更を開始する車線変更検討位置を決定する。走行車線計画部33は、例えば、車線変更検討位置を、車線変更検討区間410の開始位置としてもよい。
次に、図5~図8を参照して、走行車線計画部33が、複数の車線変更検討位置のそれぞれに対して、車線変更を実行した場合の車両10の動作状態の変化量を示す評価値一例である横加速度の変化量を示す評価値を求めることを、以下に説明する。
まず、走行車線計画部33は、複数の車線変更検討区間のそれぞれに対して、車両10が、車線変更を行わずに現在走行している車線を走行する場合の横加速度を求める。図5(A)は、一の車線変更検討区間において車両10が車線変更を行わずに現在走行している車線を走行する場合の第1仮想走行軌跡を示す。道路は、右側車線LR及び左側車線LLを含む。車両10は、右側車線LR上にある。走行車線計画部33は、車両10の仮想位置及びこの仮想位置における仮想車両速度の集合として、第1仮想走行軌跡を生成する。運転計画部34は、仮想位置を、車両10が右側車線LRの中央を走行するように決定してもよい。運転計画部34は、ドライバから入力された走行速度又は走行している車線の法定速度に基づいて決定される目標速度に近づくように、且つ、車両10の動作が所定の制約を満たすように、仮想位置及び仮想車両速度を決定する。所定の制約としては、単位時間あたりの速度変化量、単位時間あたりの加速度変化量、又は、単位時間あたりのヨーレート変化量が、上限値以下となることが挙げられる。そして、走行車線計画部33は、仮想位置ごとに車両10の横加速度を求める。走行車線計画部33は、各仮想位置において、車両10が第1仮想走行軌跡に基づいて決定される円軌道で運動していると仮定した場合の遠心力として、横加速度を求める。具体的には、走行車線計画部33は、仮想位置における車両10の第1仮想走行軌跡の曲率半径rと、車両速度における第1仮想走行軌跡の接線方向の成分vと、車両10の質量mとに基づいて、横加速度(mv2/r)を求める。図5(B)は、車両10の横加速度と、仮想位置との関係を示す。図5(B)の縦軸は、車両10の横加速度を示す。横加速度が正の値の時は、車両10の進行方向に対して右側へ向かう横加速度が生じ、横加速度が負の値の時は、車両10の進行方向に対して左側へ向かう横加速度が生じ、横加速度がゼロの時は、横加速度は生じない。図5(B)の横軸は、仮想位置を示す。なお、走行車線計画部33は、車両10の仮想時刻及びこの仮想時刻における仮想車両速度の集合として、第1仮想走行軌跡を生成してもよい。
次に、走行車線計画部33は、車線変更検討区間に対応する長さの直線の道路において、車両10が車線変更を行った時における、車両10の仮想位置及びこの仮想位置における仮想車両速度の集合として、第2仮想走行軌跡を生成する。図6(A)は、車両10が直線の道路において車線変更を行った第2仮想走行軌跡を示す。走行車線計画部33は、車両10が右側車線LRの中央から左側車線LLの中央へ車線変更するように、仮想位置を決定してもよい。運転計画部34は、第1仮想軌跡を求めるに用いたのと同じ目標速度に近づくように、且つ、車両10の動作が所定の制約を満たすように、仮想位置及び仮想車両速度を決定する。走行車線計画部33は、仮想位置ごとに車両10の横加速度を求める。走行車線計画部33は、仮想位置における車両10の第2仮想走行軌跡の曲率半径と、車両速度における第2仮想走行軌跡の接線方向の成分とに基づいて、横加速度を求める。図6(B)は、車両10の横加速度と、仮想位置との関係を示す。
次に、走行車線計画部33は、複数の車線変更検討区間のそれぞれに対して、第1仮想軌跡と、複数の車線変更検討位置のそれぞれの第2仮想軌跡とを加算して第3仮想軌跡を求める。図7は、一の車線変更検討区間に対して決定された2つの車線変更検討位置P1、P2を示す。車線変更検討位置P1は、車両10の進行方向に対して右側へ向かってカーブしている右側車線LR上に配置されており、車線変更検討位置P2は、ほぼ直線状の右側車線LR上に配置される。
図8(A)は、一の車線変更検討区間の第1仮想軌跡と、2つの車線変更検討位置P1、P2のそれぞれの第2仮想軌跡とが加算して生成された第3仮想軌跡T1、T2を示す。図8(B)は、第3仮想軌跡T1、T2のそれぞれについて、車両10の横加速度と、仮想位置との関係を示す。
走行車線計画部33は、評価値算出部332の一例であり、複数の車線変更検討位置のそれぞれに対して、車線変更を実行した場合の車両10の動作状態の変化量の一例である横加速度の変化量を示す評価値を求める。具体的には、走行車線計画部33は、車線変更検討位置P1、P2のそれぞれに対して、第3仮想軌跡T1、T2における横加速度の絶対値の最大値を、評価値として求める。図8(B)に示す例では、第3仮想軌跡T1の評価値は、第3仮想軌跡T2の評価値よりも低い値を示す。車線変更検討位置P1は、車両10の進行方向に対して右側へ向かってカーブしている右側車線LR上に配置されている。車両10は、道路に沿って曲がるよりも、車線変更を行った方が軌跡が直線に近くなるので横加速度は小さくなる。一方、車線変更検討位置P2は、ほぼ直線状の右側車線LR上に配置されているので、車両10は、車線変更を行うよりも、道路に沿って走行する方が軌跡が直線に近くなるので横加速度は小さくなる。
走行車線計画部33は、車線変更位置決定部333の一例であり、複数の車線変更検討位置のそれぞれに対して評価値を求めて、最小の評価値を示す車線変更検討位置を、運転区間において車線変更を行う変更候補位置として決定する。図8(B)に示す例において、運転区間に配置された車線変更検討位置が2つの車線変更検討位置P1、P2だけであれば、走行車線計画部33は、最小の評価値を示す車線変更検討位置P1を、この運転区間において車線変更を行う変更候補位置として決定する。
走行車線計画部33は、運転区間405においてイベント位置404までに、右側車線401a上の候補地点から、左側車線401bへ車線変更を行うように走行車線計画を生成する。走行車線計画部33は、走行車線計画を生成する度に、走行車線計画を運転計画部34へ通知する。
走行車線計画部33は、上述した評価値を、横加速度の絶対値の最大値以外の値として求めてもよい。例えば、走行車線計画部33は、横加速度の変化量を示す評価値を、横加速度の最大値として求めてもよい。また、走行車線計画部33は、横加速度の変化量を示す評価値を、横加速度を第3仮想軌跡に沿って積分した値として求めてもよい。また、走行車線計画部33は、横加速度の変化量を示す評価値を、横加速度が所定のしきい値以上の値を示す時間か、又は、横加速度が所定のしきい値以上の値を示す車両10の移動距離として求めてもよい。また、走行車線計画部33は、横加速度の変化量を示す評価値を、横加速度が所定の範囲内に含まれている時間か、又は、横加速度が所定の範囲から外れている時間として求めてもよい。さらに、走行車線計画部33は、横加速度の変化量を示す評価値を、横加速度が所定の範囲内に含まれている時に車両10が移動した距離か、又は、横加速度が所定の範囲から外れている時に車両10が移動した距離として求めてもよい。
上述した説明では、走行車線計画部33は、車線変更を実行した場合の車両10の動作状態の変化量として、横加速度の変化量を用いていた。走行車線計画部33は、車線変更を実行した場合の車両10の動作状態の変化量として、他の変化量を用いてもよい。
次に、図9~図12を参照して、走行車線計画部33が、複数の車線変更検討位置のそれぞれに対して、車線変更を実行した場合の車両10の動作状態の変化量を示す評価値の一例である速度の変化量を示す評価値を求めることを、以下に説明する。
まず、走行車線計画部33は、複数の車線変更検討区間のそれぞれに対して、車両10が、車線変更を行わずに現在走行している車線を走行する場合の速度を求める。図9(A)は、一の車線変更検討区間において車両10が車線変更を行わずに現在走行している車線を走行する場合の第1仮想走行軌跡を示す。道路は、右側車線LR及び左側車線LLを含む。車両10は、左側車線LL上にある。走行車線計画部33は、車両10の仮想位置及びこの仮想位置における仮想車両速度の集合として、第1仮想走行軌跡を生成する。運転計画部34は、仮想位置を、車両10が左側車線LLの中央を走行するように決定してもよい。運転計画部34は、ドライバから入力された走行速度又は走行している車線の法定速度に基づいて決定される目標速度に近づくように、且つ、車両10の動作が所定の制約を満たすように、仮想位置及び仮想車両速度を決定する。所定の制約としては、単位時間あたりの速度変化量、単位時間あたりの加速度変化量、又は、単位時間あたりのヨーレート変化量が、上限値以下となることが挙げられる。図9(B)は、車両10の仮想車両速度と、仮想位置との関係を示す。図9(B)の縦軸は、車両10の仮想車両速度を示す。図9(B)の横軸は、仮想位置を示す。なお、走行車線計画部33は、車両10の仮想時刻及びこの仮想時刻における仮想車両速度の集合として、第1仮想走行軌跡を生成してもよい。
次に、走行車線計画部33は、車線変更検討区間に対応する長さの直線の道路において、車両10が車線変更を行った時における、車両10の仮想位置及びこの仮想位置における仮想車両速度の集合として、第2仮想走行軌跡を生成する。図10(A)は、車両10が直線の道路において車線変更を行った第2仮想走行軌跡を示す。走行車線計画部33は、車両10が右側車線LRの中央から左側車線LLの中央へ車線変更するように、仮想位置を決定してもよい。運転計画部34は、第1仮想軌跡を求めるに用いたのと同じ目標速度に近づくように、且つ、車両10の動作が所定の制約を満たすように、仮想位置及び仮想車両速度を決定する。走行車線計画部33は、仮想位置ごとに車両10の車両速度を求める。図10(B)は、車両10の横加速度と、仮想位置との関係を示す。
次に、走行車線計画部33は、複数の車線変更検討区間のそれぞれに対して、第1仮想軌跡と、複数の車線変更検討位置のそれぞれの第2仮想軌跡とを加算して第3仮想軌跡を求める。図11は、一の車線変更検討区間に対して決定された2つの車線変更検討位置P3、P4を示す。車線変更検討位置P3は、車両10の進行方向に対して右側へ向かってカーブしている左側車線LL上に配置されており、車線変更検討位置P4は、ほぼ直線状の左側車線LL上に配置される。
図12(A)は、一の車線変更検討区間の第1仮想軌跡と、2つの車線変更検討位置P3、P4のそれぞれの第2仮想軌跡とが加算されて生成された第3仮想軌跡T3、T4を示す。図12(B)は、第3仮想軌跡T3、T4のそれぞれについて、車両10の車両速度と、仮想位置との関係を示す。
走行車線計画部33は、複数の車線変更検討位置のそれぞれに対して、車線変更を実行した場合の車両10の動作状態の変化量の一例である車両速度の変化量を示す評価値を求める。具体的には、走行車線計画部33は、車線変更検討位置P3、P4のそれぞれに対して、第3仮想軌跡T3、T4における車両速度の変化量を第3仮想軌跡に沿って積分した値を、評価値として求める。図12(B)に示す例では、第3仮想軌跡T3の評価値は、第3仮想軌跡T4の評価値よりも低い値を示す。第3仮想軌跡T3では、車両10が車両速度を低下させる位置は一箇所であるが、第3仮想軌跡T4では、車両10が車両速度を低下させる位置が二箇所ある。これは、第3仮想軌跡T3では、道路のカーブしている部分で車線変更をしているのに対して、第3仮想軌跡T4では、道路のカーブを走行した後に、車線変更をしているためである。
走行車線計画部33は、複数の車線変更検討位置のそれぞれに対して評価値を求めて、最小の評価値を示す車線変更検討位置を、運転区間において車線変更を行う変更候補位置として決定する。図12(B)に示す例において、運転区間に配置された車線変更検討位置が2つの車線変更検討位置P3、P4だけであれば、走行車線計画部33は、最小の評価値を示す車線変更検討位置P3を、この運転区間において車線変更を行う変更候補位置として決定する。
次に、図13を参照して、走行車線計画部33が、複数の車線変更検討位置のそれぞれに対して、車線変更を実行した場合の車両10の動作状態の変化量を示す評価値一例である操舵量の変化量を示す評価値を求めることを、以下に説明する。
走行車線計画部33は、複数の車線変更検討位置のそれぞれに対して、車線変更を実行した場合の車両10の動作状態の変化量の一例である操舵量の変化量を示す評価値を求める。具体的には、走行車線計画部33は、横加速度の評価値を求めたのと同様にし、車線変更検討位置P1、P2のそれぞれに対して、第3仮想軌跡T5、T6における操舵量の変化量の絶対値の最大値を、評価値として求める。図13(A)は、一の車線変更検討区間の第1仮想軌跡と、2つの車線変更検討位置P1、P2のそれぞれの第2仮想軌跡とを加算して生成された第3仮想軌跡T1、T2を示す。図13(B)は、第3仮想軌跡T1、T2のそれぞれについて、車両10の操舵量と、仮想位置との関係を示す。図13(B)の縦軸は、車両10の操舵量を示す。操舵量が正の値の時は、車両10の進行方向に対して右側へ向かうように操舵されており、操舵量が負の値の時は、車両10の進行方向に対して左側へ向かうように操舵されており、操舵量がゼロの時は、車両10の進行方向に対して直進するように操舵される。図13(B)に示す例では、第3仮想軌跡T1の評価値は、第3仮想軌跡T2の評価値よりも低い値を示す。車線変更検討位置P1は、車両10の進行方向に対して右側へ向かってカーブしている左側車線LL上に配置されている。車両10は、道路に沿って曲がるよりも、車線変更を行った方が、軌跡が直線に近くなるので操舵量の絶対値が小さくなる。一方、車線変更検討位置P2は、ほぼ直線状の左側車線LL上に配置されている。車両10は、車線変更を行うよりも、道路に沿って走行する方が、軌跡が直線に近くなるので操舵量の絶対値が小さくなる。
走行車線計画部33は、複数の車線変更検討位置のそれぞれに対して評価値を求めて、最小の評価値を示す車線変更検討位置を、運転区間において車線変更を行う変更候補位置として決定する。図13(B)に示す例において、運転区間に配置された車線変更検討位置が2つの車線変更検討位置P1、P2だけであれば、走行車線計画部33は、最小の評価値を示す車線変更検討位置P1を、この運転区間において車線変更を行う変更候補位置として決定する。
運転計画部34は、所定の周期で設定される運転計画生成時刻において、地図情報と、走行車線計画と、車両10の現在位置と、周辺環境情報と、車両状態情報とに基づいて、所定の時間(例えば、5秒)先までの車両10の運転計画を生成する。運転計画は、現時刻から所定時間先までの各時刻における、車両10の目標位置及びこの目標位置における目標車両速度の集合として表される。運転計画生成時刻の周期は、走行車線計画生成時刻の周期よりも短いことが好ましい。運転計画部34は、目標車両速度を、ドライバから入力された車両速度又は走行している車線の法定速度に基づいて決定してもよい。運転計画部34は、運転計画を生成する度に、運転計画を車両制御部35へ通知する。運転計画部34は、カルマンフィルタなどの予測フィルタを用いて、検出された他の車両の直近の軌跡に基づいて将来の軌跡を推定し、検出された他の車両が走行中の車線及び推定された軌跡より算出された相対距離に基づいて、車両10から他の車両までの相対距離が所定距離以上となるように、且つ、車両10の動作が所定の制約を満たすように、車両10の運転計画を生成する。所定の制約としては、単位時間あたりの速度変化量、単位時間あたりの加速度変化量、又は、単位時間あたりのヨーレート変化量が、上限値以下となることが挙げられる。運転計画部34は、走行車線計画に基づいて、複数の運転計画を生成してもよい。この場合、運転計画部34は、複数の運転計画のうち、車両10の加速度の絶対値の総和が最小となる運転計画を選択してもよい。運転計画部34は、運転計画を車両制御部35へ通知する。
運転計画部34は、走行車線計画が車両10の車線間を移動する車線変更を含む場合、現在走行中の車線上の変更候補位置から隣接する車線へ移動するための車線変更後の移動先の一又は複数の目標位置を移動先の車線上に決定する。運転計画部34は、変更候補位置から一又は複数の目標位置へ向かうように、且つ、車両10から他の車両までの相対距離が所定距離以上となるように、車両10の目標位置及びこの目標位置における目標車両速度の集合として、運転計画を生成する。
一方、運転計画部34は、走行車線計画が車線変更を含まない場合、現在の車線を走行するように、車両10の運転計画を生成する。
車両制御部35は、位置決定時刻における車両10の位置と、車両速度及びヨーレートと、通知された運転計画とに基づいて、車両10が走行予定経路に沿って走行するように車両10の各部を制御する。例えば、車両制御部35は、通知された運転計画、車両10の現在の車両速度及びヨーレートに従って、車両10の操舵角、加速度及び角加速度を求め、その操舵角、加速度及び角加速度となるように、操舵量、アクセル開度又はブレーキ量を設定する。そして車両制御部35は、設定された操舵量に応じた制御信号を、車両10の操舵輪を制御するアクチュエータ(図示せず)へ出力する。また、車両制御部35は、設定されたアクセル開度に従って燃料噴射量を求め、その燃料噴射量に応じた制御信号を車両10のエンジンなどの駆動装置(図示せず)へ出力する。あるいは、車両制御部35は、設定されたブレーキ量に応じた制御信号を車両10のブレーキ(図示せず)へ出力する。
車両制御部35は、運転計画が車線変更するための目標位置及び目標車両速度の集合を含む場合、車線変更を行うように車両10の走行動作を制御する。
図14は、プロセッサ23により実行される、車線変更決定処理を含む車両制御処理の動作フローチャートである。なお、以下に示される動作フローチャートにおいて、ステップS105及びS106の処理が自動制御で車線変更を行えないと判定した場合の制御変更通知処理に対応する。
まず、ナビゲーション装置7は、ナビゲーション用地図情報と、車両10の目的地と、車両10の現在位置とに基づいて、車両10の現在位置から目的地までの走行予定経路を生成する(ステップS101)。
次に、プロセッサ23の位置推定部31は、位置決定時刻ごとに車両10の推定位置及び推定方位角を求める(ステップS102)。
次に、プロセッサ23の物体検出部32は、カメラ2により生成された画像及びLiDARセンサ3a~3dにより生成された反射波情報に基づいて、車両10の周囲の他の物体を検出する(ステップS103)。
次に、プロセッサ23の走行車線計画部33は、走行予定経路の運転区間において、地図情報と、車両10の現在位置とに基づいて、走行予定経路内の所定の区間内において車線変更を行うことの要否を決定して、車両10が走行する道路内の車線を選択する(ステップS104)。
次に、プロセッサ23の走行車線計画部33は、車線変更を行うことが決定された場合、所定の区間内の複数の車線変更検討位置のそれぞれに対して、車線変更を実行した場合の車両の動作状態の変化量を示す評価値を求める(ステップS105)。
次に、プロセッサ23の走行車線計画部33は、最小の評価値を示す車線変更検討位置を、車線変更を行う変更候補位置として決定する(ステップS106)。
次に、プロセッサ23の車両制御部35は、現在走行中の車線上の変更候補位置から隣接車線への車線変更を行うように車両10を制御する(ステップS107)。
以上に説明してきたように、この車線変更決定装置は、走行予定経路の所定の区間内において車線変更を行うか否かを決定する。車線変更決定装置は、車線変更を行うことが決定された場合、所定の区間内の複数の車線変更検討位置のそれぞれに対して、車線変更を実行した場合の車両の動作状態の変化量を示す評価値を求める。車線変更決定装置は、最小の評価値を示す車線変更検討位置を、車線変更を行う変更候補位置として決定する。これにより、車線変更決定装置は、車線変更を決定する条件に対して過剰な制限を与えることなく、車線変更時の車両の運動が起因となってユーザが不快に感じることを低減できる。
次に、上述した実施形態の変型例を、以下に説明する。
車両10を制御する車両制御システム1の第1変型例では、プロセッサ23は、周辺環境情報に基づいて、車両10の周囲を走行する他の車両の数が多い時には、評価値が所定のしきい値(以下、混雑時しきい値ともいう)以下であり且つ車両10の現在位置から最も近い車線変更検討位置を、変更候補位置として決定する。周辺環境情報として、移動先の車線を走行する他の車両の密度(単位長さあたりを走行する車両の数)、車両制御システム1に含まれる無線通信装置(図示せず)を介して受信した交通情報を用いることができる。これにより、車両制御システム1は、複数の他の車両が移動先の車線上を走行していて、移動先の車線が混雑している時には、評価値が若干少大きくても、車線変更が可能な機会を逃さずに車線変更を実行できる。
車両10を制御する車両制御システム1の第2変型例では、走行車線計画部33は、変更候補位置の評価値が所定のしきい値(以下、基準評価値ともいう)以上の場合には、変更候補位置の決定を取り消してもよい。例えば、最小の評価値であっても、その値が大きい場合には、横加速度などを与える車両10の運動がユーザへ不快感を与えるおそれがある。走行車線計画部33は、この所定のしきい値を、候補地が配置された車線変更検討区間における車線変更を行わない場合の第1仮想走行軌跡における横加速度の絶対値の最大値(基準最大値)に基づいて求めてもよい。例えば、走行車線計画部33は、この所定のしきい値を基準最大値の1.1~2.0の範囲に決定してもよい。そして、走行車線計画部33は、複数の車線変更検討位置のそれぞれに対して求めた評価値の中で、2番目に小さい評価値を示す車線変更検討位置を、運転区間において車線変更を行う変更候補位置として決定してもよい。
また、走行車線計画部33は、UI6を介して、ユーザから車線変更を行う要求を入力した場合、上述した基準評価値を小さくなるように変更する。これにより、ユーザから車線変更の要求があった場合には、ユーザへ横加速度などを与える車両10の運動が若干大きくとも、ユーザの要求に応じて車線変更を実行することを優先できる。
本発明では、上述した実施形態の車線変更決定装置は、本発明の趣旨を逸脱しない限り適宜変更が可能である。また、本発明の技術範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
例えば、上述した実施形態では、走行車線計画部は、車線変更の候補地を、車両が現在走行している移動前の車線上に決定したが、車線変更の候補地を移動後の車線上に決定してもよい。
また、上述した実施形態では、ナビゲーション装置が走行予定経路を生成していたが、走行予定経路を生成する手段は、特に限定されない。例えば、ユーザが、UIを操作して、走行予定経路を車両制御装置へ入力してもよい。また、ユーザが情報端末などを用いて走行予定経路を生成し、情報端末などが走行予定経路を車両制御装置へ送信してもよい。
また、車線変更が成功する期待度を算出する方法は、上述した実施形態に限定されない。例えば、期待度算出部は、期待度を算出するために、移動先の車線の直近(例えば、数分間)の平均車間距離をさらに用いてもよい。また、期待度算出部は、期待度を算出するために、移動先の車線を走行する他の車両の直近(例えば、数分間)の速度分布と、車両速度との関係をさらに用いてもよい。