以下、図面を参照し、本発明の車両制御装置、車両制御方法、およびプログラムの実施形態について説明する。以下では、一例として、車両制御装置が自動運転車両に適用された実施形態について説明する。自動運転とは、例えば、自動的に車両の操舵または速度のうち、一方または双方を制御して運転制御を実行することである。上述した車両の運転制御には、例えば、ACC(Adaptive Cruise Control System)や、ALC(Auto Lane Changing)、LKAS(Lane Keeping Assistance System)といった種々の運転制御が含まれてよい。自動運転車両は、乗員(運転者)の手動運転によって運転が制御されることがあってもよい。
[全体構成]
図1は、実施形態に係る車両制御装置を含む車両システム1の構成図である。車両システム1が搭載される車両(以下、車両Mと称する)は、例えば、二輪や三輪、四輪等の車両であり、その駆動源は、ディーゼルエンジンやガソリンエンジン等の内燃機関、電動機、或いはこれらの組み合わせである。電動機は、内燃機関に連結された発電機による発電電力、或いは二次電池や燃料電池等のバッテリ(蓄電池)の放電電力を使用して動作する。
車両システム1は、例えば、カメラ10と、レーダ装置12と、LIDAR(Light Detection and Ranging)14と、物体認識装置16と、通信装置20と、HMI(Human Machine Interface)30と、車両センサ40と、ナビゲーション装置50と、MPU(Map Positioning Unit)60と、運転操作子80と、自動運転制御装置100と、走行駆動力出力装置200と、ブレーキ装置210と、ステアリング装置220とを備える。これらの装置や機器は、CAN(Controller Area Network)通信線等の多重通信線やシリアル通信線、無線通信網等によって互いに接続される。なお、図1に示す構成はあくまで一例であり、構成の一部が省略されてもよいし、更に別の構成が追加されてもよい。自動運転制御装置100は、「車両制御装置」の一例である。カメラ10と、レーダ装置12と、LIDAR14と、物体認識装置16とを組み合わせたものが「外界センサ」の一例である。HMI30は、「出力部」の一例である。
カメラ10は、例えば、CCD(Charge Coupled Device)やCMOS(Complementary Metal Oxide Semiconductor)等の固体撮像素子を利用したデジタルカメラである。カメラ10は、車両システム1が搭載される車両Mの任意の箇所に取り付けられる。前方を撮像する場合、カメラ10は、フロントウインドシールド上部やルームミラー裏面、車体の前頭部等に取り付けられる。後方を撮像する場合、カメラ10は、リアウインドシールド上部やバックドア等に取り付けられる。側方を撮像する場合、カメラ10は、ドアミラー等に取り付けられる。カメラ10は、例えば、周期的に繰り返し車両Mの周辺を撮像する。カメラ10は、ステレオカメラであってもよい。
レーダ装置12は、車両Mの周辺にミリ波等の電波を放射すると共に、周辺の物体によって反射された電波(反射波)を検出して少なくとも物体の位置(距離および方位)を検出する。レーダ装置12は、車両Mの任意の箇所に取り付けられる。レーダ装置12は、FM-CW(Frequency Modulated Continuous Wave)方式によって物体の位置および速度を検出してもよい。
LIDAR14は、車両Mの周辺に光を照射し、散乱光を測定する。LIDAR14は、発光から受光までの時間に基づいて、対象までの距離を検出する。照射される光は、例えば、パルス状のレーザー光である。LIDAR14は、車両Mの任意の箇所に取り付けられる。
物体認識装置16は、カメラ10、レーダ装置12、およびLIDAR14のうち一部または全部による検出結果に対してセンサフュージョン処理を行って、車両Mの周辺の物体の位置、種類、速度等を認識する。物体には、例えば、他車両(先行車両等の周辺車両)、歩行者、自転車、道路構造物等が含まれる。道路構造物には、例えば、道路標識や交通信号機、踏切、縁石、中央分離帯、ガードレール、フェンス等が含まれる。また、道路構造物には、例えば、路面に描画または貼付された道路区画線(以下、区画線と称する)や横断歩道、自転車横断帯、一時停止線等の路面標識が含まれてもよい。また、物体には、道路上の落下物(例えば、他車両の積み荷や道路周辺に設置されていた看板)等の障害物が含まれてよい。物体認識装置16は、認識結果を自動運転制御装置100に出力する。なお、物体認識装置16は、カメラ10、レーダ装置12、およびLIDAR14の検出結果をそのまま自動運転制御装置100に出力してよい。その場合、車両システム1または外界センサの構成から物体認識装置16が省略されてもよい。また、物体認識装置16は、自動運転制御装置100に含まれていてもよい。
通信装置20は、例えば、セルラー網やWi-Fi網、Bluetooth(登録商標)、DSRC(Dedicated Short Range Communication)、LAN(Local Area Network)、WAN(WiDe Area Network)、インターネット等のネットワークを利用して、例えば、車両Mの周辺に存在する他車両、車両Mを利用する利用者の端末装置、或いは各種サーバ装置と通信する。
HMI30は、車両Mの乗員に対して各種情報を出力すると共に、乗員による入力操作を受け付ける。HMI30には、例えば、各種表示装置、スピーカ、ブザー、タッチパネル、スイッチ、キー、マイク等が含まれる。
車両センサ40は、車両Mの速度を検出する車速センサ、加速度を検出する加速度センサ、ヨーレート(例えば、車両Mの重心点を通る鉛直軸回りの回転角速度)を検出するヨーレートセンサ、車両Mの向きを検出する方位センサ等を含む。また、車両センサ40は、車両Mの位置を検出する位置センサが設けられていてもよい。位置センサは、例えば、GPS(Global Positioning System)装置から位置情報(経度・緯度情報)を取得するセンサである。また、位置センサは、ナビゲーション装置50のGNSS(Global Navigation Satellite System)受信機51を用いて位置情報を取得するセンサであってもよい。車両センサ40により検出した結果は、自動運転制御装置100に出力される。
ナビゲーション装置50は、例えば、GNSS受信機51と、ナビHMI52と、経路決定部53とを備える。ナビゲーション装置50は、HDD(Hard Disk Drive)やフラッシュメモリ等の記憶装置に第1地図情報54を保持している。GNSS受信機51は、GNSS衛星から受信した信号に基づいて、車両Mの位置を特定する。車両Mの位置は、車両センサ40の出力を利用したINS(Inertial Navigation System)によって特定または補完されてもよい。ナビHMI52は、表示装置、スピーカ、タッチパネル、キー等を含む。GNSS受信機51は、車両センサ40に設けられてもよい。ナビHMI52は、前述したHMI30と一部または全部が共通化されてもよい。経路決定部53は、例えば、GNSS受信機51により特定された車両Mの位置(或いは入力された任意の位置)から、ナビHMI52を用いて乗員により入力された目的地までの経路(以下、地図上経路)を、第1地図情報54を参照して決定する。第1地図情報54は、例えば、所定区間の道路を示すリンクと、リンクによって接続されたノードとによって道路形状が表現された情報である。第1地図情報54は、POI(Point Of Interest)情報等を含んでもよい。地図上経路は、MPU60に出力される。ナビゲーション装置50は、地図上経路に基づいて、ナビHMI52を用いた経路案内を行ってもよい。ナビゲーション装置50は、通信装置20を介してナビゲーションサーバに現在位置と目的地を送信し、ナビゲーションサーバから地図上経路と同等の経路を取得してもよい。ナビゲーション装置50は、決定した地図上経路を、MPU60に出力する。
MPU60は、例えば、推奨車線決定部61を含み、HDDやフラッシュメモリ等の記憶装置に第2地図情報62を保持している。推奨車線決定部61は、ナビゲーション装置50から提供された地図上経路を複数のブロックに分割し(例えば、車両進行方向に関して100[m]毎に分割し)、第2地図情報62を参照してブロックごとに推奨車線を決定する。推奨車線決定部61は、例えば、左から何番目の車線を走行するといった決定を行う。推奨車線決定部61は、地図上経路に分岐箇所が存在する場合、車両Mが、分岐先に進行するための合理的な経路を走行できるように、推奨車線を決定する。
第2地図情報62は、第1地図情報54よりも高精度な地図情報である。第2地図情報62は、例えば、道路形状や道路構造物に関する情報等を含んでいる。道路形状には、第1地図情報54よりも更に詳細な道路形状として、例えば、車線数、道路の曲率半径(或いは曲率)、幅員、勾配等が含まれる。上記情報は、第1地図情報54に格納されていてもよい。道路構造物に関する情報には、道路構造物の種別、位置、道路の延伸方向に対する向き、大きさ、形状、色等の情報が含まれてよい。道路構造物の種別において、例えば、区画線を1つの種別としてもよく、区画線に属するレーンマークや縁石、中央分離帯等のそれぞれを異なる種別としてもよい。また、区画線の種別には、例えば、車線変更が可能であることを示す区画線と、車線変更が不可能であることを示す区画線とが含まれてもよい。区画線の種別は、例えば、リンクを基準とした道路または車線の区間ごとに設定されてもよく、1つのリンク内に複数の種別が設定されてもよい。
また、第2地図情報62には、道路や建物の位置情報(緯度経度)、住所情報(住所・郵便番号)、施設情報等が含まれてよい。第2地図情報62は、通信装置20が外部装置と通信することにより、随時、アップデートされてよい。第1地図情報54および第2地図情報62は、地図情報として一体に設けられていてもよい。また、地図情報(第1地図情報54および第2地図情報62)は、記憶部190に記憶されていてもよい。
運転操作子80は、例えば、ステアリングホイールと、アクセルペダルと、ブレーキペダルとを備える。また、運転操作子80は、シフトレバー、異形ステア、ジョイスティックその他の操作子を含んでもよい。運転操作子80の各操作子には、例えば、乗員による操作子の操作量あるいは操作の有無を検出する操作検出部が取り付けられている。操作検出部は、例えば、ステアリングホイールの操舵角や操舵トルク、アクセルペダルやブレーキペダルの踏込量等を検出する。そして、操作検出部は、検出結果を自動運転制御装置100、もしくは、走行駆動力出力装置200、ブレーキ装置210、およびステアリング装置220のうち一方または双方に出力する。
自動運転制御装置100は、例えば、第1制御部120と、第2制御部160と、HMI制御部180と、記憶部190とを備える。第1制御部120と、第2制御部160と、HMI制御部180とは、それぞれ、例えば、CPU(Central Processing Unit)等のハードウェアプロセッサがプログラム(ソフトウェア)を実行することにより実現される。また、これらの構成要素のうち一部または全部は、LSI(Large Scale Integration)やASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)、GPU(Graphics Processing Unit)等のハードウェア(回路部;circuitryを含む)によって実現されてもよいし、ソフトウェアとハードウェアの協働によって実現されてもよい。上述のプログラムは、予め自動運転制御装置100のHDDやフラッシュメモリ等の記憶装置(非一過性の記憶媒体を備える記憶装置)に格納されていてもよいし、DVDやCD-ROM、メモリカード等の着脱可能な記憶媒体に格納されており、記憶媒体(非一過性の記憶媒体)がドライブ装置やカードスロット等に装着されることで自動運転制御装置100の記憶装置にインストールされてもよい。行動計画生成部140と第2制御部160とを合わせたものが「運転制御部」の一例である。HMI制御部180は、「出力制御部」の一例である。
記憶部190は、上記の各種記憶装置、或いはEEPROM(Electrically Erasable Programmable Read Only Memory)、ROM(Read Only Memory)、またはRAM(Random Access Memory)等により実現されてもよい。記憶部190には、実施形態における自動運転制御するための各種情報、プログラム等が格納される。また、記憶部190には、地図情報(第1地図情報54、第2地図情報62)が格納されていてもよい。
図2は、第1制御部120、第2制御部160、およびHMI制御部180の機能構成図である。第1制御部120は、例えば、認識部130と、行動計画生成部140とを備える。第1制御部120は、例えば、AI(Artificial Intelligence;人工知能)による機能と、予め与えられたモデルによる機能とを並行して実現する。例えば、「交差点を認識する」機能は、ディープラーニング等による交差点の認識と、予め与えられた条件(パターンマッチング可能な信号、道路標示等がある)に基づく認識とが並行して実行され、双方に対してスコア付けして総合的に評価することで実現されてよい。これによって、自動運転の信頼性が担保される。また、第1制御部120は、例えば、MPU60やHMI制御部180等からの指示に基づいて車両Mの自動運転に関する制御を実行する。
認識部130は、外界センサの認識の結果(カメラ10、レーダ装置12、およびLIDAR14から物体認識装置16を介して入力された情報)に基づいて、車両Mの周辺状況を認識する。例えば、認識部130は、車両Mの周辺に存在する物体の種別や位置、速度、加速度等の状態を認識する。物体の種別は、例えば、物体が車両であるか、歩行者であるか等の種別である。物体の位置は、例えば、車両Mの代表点(重心や駆動軸中心など)を原点とした絶対座標系(以下、車両座標系)の位置として認識され、制御に使用される。物体の位置は、その物体の重心やコーナー、進行方向の先端部等の代表点で表されてもよいし、表現された領域で表されてもよい。物体の「状態」とは、例えば、物体が他車両等の移動体である場合には、物体の加速度やジャーク、あるいは「行動状態」(例えば車線変更をしている、またはしようとしているか否か)を含んでもよい。
また、認識部130は、例えば、第1認識部132と、第2認識部134と、合致判定部136とを備える。これらの機能の詳細については後述する。
行動計画生成部140は、認識部130の認識の結果に基づいて、自動運転等の走行制御により車両Mを走行させる行動計画を生成する。例えば、行動計画生成部140は、運転制御の自動化レベルが異なる複数の運転制御のうち何れかの運転制御に基づく行動計画を生成する。自動化レベルは、後述するレベル決定部142で決定される。
例えば、行動計画生成部140は、原則的には推奨車線決定部61により決定された推奨車線を走行し、更に、認識部130による認識結果または地図情報から取得された車両Mの現在位置に基づく周辺の道路形状等に基づいて、車両Mの周辺状況に対応できるように、車両Mが自動的に(運転者の操作に依らずに)将来走行する目標軌道を生成する。目標軌道は、例えば、速度要素を含んでいる。例えば、目標軌道は、車両Mの到達すべき地点(軌道点)を順に並べたものとして表現される。軌道点は、道なり距離で所定の走行距離(例えば数[m]程度)ごとの車両Mの到達すべき地点であり、それとは別に、所定のサンプリング時間(例えば0コンマ数[sec]程度)ごとの目標速度および目標加速度が、目標軌道の一部として生成される。また、軌道点は、所定のサンプリング時間ごとの、そのサンプリング時刻における車両Mの到達すべき位置であってもよい。この場合、目標速度や目標加速度の情報は軌道点の間隔で表現される。
行動計画生成部140は、目標軌道を生成するにあたり、自動運転のイベントを設定してよい。イベントには、例えば、車両Mを一定の速度で同じ車線を走行させる定速走行イベント、車両Mの前方の所定距離以内(例えば100[m]以内)に存在し、車両Mに最も近い他車両(以下、前走車両と称する)に車両Mを追従させる追従走行イベント、車両Mを自車線から隣接車線へと車線変更させる車線変更イベント、道路の分岐地点で車両Mを目的地側の車線に分岐させる分岐イベント、合流地点で車両Mを本線に合流させる合流イベント、自動運転を終了して手動運転に切り替えるためのテイクオーバーイベント等が含まれる。また、イベントには、例えば、車両Mを一旦隣接車線に車線変更させて前走車両を追い越してから再び元の車線へと車線変更させる追い越しイベントや、車両Mの前方に存在する物体との接触を回避するために車両Mに制動および操舵の少なくとも一方を行わせる回避イベント等が含まれてよい。
また、行動計画生成部140は、例えば、車両Mの走行時に認識された車両Mの周辺状況に応じて、現在の区間に対して既に決定したイベントを他のイベントに変更したり、現在の区間に対して新たなイベントを設定したりしてよい。また、行動計画生成部140は、HMI30への乗員の操作に応じて、現在の区間に対して既に設定したイベントを他のイベントに変更したり、現在の区間に対して新たなイベントを設定したりしてよい。行動計画生成部140は、設定したイベントに応じた目標軌道を生成する。
行動計画生成部140は、例えば、レベル決定部142を備える。レベル決定部142の機能の詳細については、後述する。
第2制御部160は、行動計画生成部140によって生成された目標軌道を、予定の時刻通りに車両Mが通過するように、走行駆動力出力装置200、ブレーキ装置210、およびステアリング装置220を制御する。
第2制御部160は、例えば、目標軌道取得部162と、速度制御部164と、操舵制御部166とを備える。目標軌道取得部162は、行動計画生成部140により生成された目標軌道(軌道点)の情報を取得し、メモリ(不図示)に記憶させる。速度制御部164は、メモリに記憶された目標軌道に付随する速度要素に基づいて、走行駆動力出力装置200またはブレーキ装置210を制御する。操舵制御部166は、メモリに記憶された目標軌道の曲がり具合に応じて、ステアリング装置220を制御する。速度制御部164および操舵制御部166の処理は、例えば、フィードフォワード制御とフィードバック制御との組み合わせにより実現される。一例として、操舵制御部166は、車両Mの前方の道路の曲率半径(或いは曲率)に応じたフィードフォワード制御と、目標軌道からの乖離に基づくフィードバック制御とを組み合わせて実行する。
HMI制御部180は、HMI30により、乗員に所定の情報を通知する。所定の情報には、例えば、車両Mの状態に関する情報や運転制御に関する情報等の車両Mの走行に関連のある情報が含まれる。車両Mの状態に関する情報には、例えば、車両Mの速度、エンジン回転数、シフト位置等が含まれる。また、運転制御に関する情報には、例えば、自動運転による運転制御の実行の有無、自動運転を開始するか否かを問い合わせる情報、運転制御の変更に関する情報、自動運転による運転制御の状況(例えば、実行中のイベントの内容)に関する情報等が含まれる。運転制御の変更に関する情報には、例えば、自動化の度合の変更を示す情報や、変更される地点を示す情報、変更に伴って運転者に運転操作の一部または全部を要求する情報でもよい。また、所定の情報には、テレビ番組、DVD等の記憶媒体に記憶されたコンテンツ(例えば、映画)等の車両Mの走行制御に関連しない情報が含まれてもよい。また、所定の情報には、例えば、車両Mの現在位置や目的地、燃料の残量に関する情報が含まれてよい。
例えば、HMI制御部180は、上述した所定の情報を含む画像を生成し、生成した画像をHMI30の表示装置に表示させもよく、所定の情報を示す音声を生成し、生成した音声をHMI30のスピーカから出力させてもよい。また、HMI制御部180は、HMI30により受け付けられた情報を通信装置20、ナビゲーション装置50、第1制御部120等に出力してもよい。また、HMI制御部180は、HMI30に出力させる各種情報を、通信装置20を介して車両Mの利用者(乗員)が利用する端末装置に送信してもよい。端末装置は、例えば、スマートフォンやタブレット端末である。
HMI制御部180は、例えば、出力タイミング制御部182を備える。出力タイミング制御部182の機能の詳細については、後述する。
走行駆動力出力装置200は、車両Mが走行するための走行駆動力(トルク)を駆動輪に出力する。走行駆動力出力装置200は、例えば、内燃機関、電動機、および変速機等の組み合わせと、これらを制御するECU(Electronic Control Unit)とを備える。ECUは、第2制御部160から入力される情報、或いは運転操作子80のアクセルペダルから入力される情報に従って、上記の構成を制御する。
ブレーキ装置210は、例えば、ブレーキキャリパーと、ブレーキキャリパーに油圧を伝達するシリンダと、シリンダに油圧を発生させる電動モータと、ブレーキECUとを備える。ブレーキECUは、第2制御部160から入力される情報、或いは運転操作子80のブレーキペダルから入力される情報に従って電動モータを制御し、制動操作に応じたブレーキトルクが各車輪に出力されるようにする。ブレーキ装置210は、ブレーキペダルの操作によって発生させた油圧を、マスターシリンダを介してシリンダに伝達する機構をバックアップとして備えてよい。なお、ブレーキ装置210は、上記説明した構成に限らず、第2制御部160から入力される情報に従ってアクチュエータを制御して、マスターシリンダの油圧をシリンダに伝達する電子制御式油圧ブレーキ装置であってもよい。
ステアリング装置220は、例えば、ステアリングECUと、電動モータとを備える。電動モータは、例えば、ラックアンドピニオン機構に力を作用させて転舵輪の向きを変更する。ステアリングECUは、第2制御部160から入力される情報、或いは運転操作子80のステアリングホイールから入力される情報に従って、電動モータを駆動し、転舵輪の向きを変更させる。
[認識部および行動計画生成部の機能]
以下、実施形態に係る認識部130および行動計画生成部140の機能について詳細に説明する。なお、以下では、主に車両Mの運転制御の自動化の度合が低くなる制御(レベルダウン制御)に関する認識部130および行動計画生成部140の機能を中心として説明するものとする。
図3は、認識部130および行動計画生成部140について説明するための図である。図3の例では、同一方向(図中X軸方向)に進行可能な二つの車線L1、L2が示されている。車線L1は、区画線LLおよびCLで区画され、車線L2は、区画線CLおよびRLで区画されている。図3の例において、車両Mは、車線L1を速度VMで走行しているものとする。
第1認識部132は、例えば、外界センサの認識の結果に基づいて、車両Mの周辺の道路構造物を含む第1道路情報を認識する。例えば、第1認識部132は、カメラ10により撮像された画像を解析し、画像において隣接画素との輝度差が大きいエッジ点を抽出し、エッジ点を連ねて画像平面における区画線LL、CL、RLを認識する。また、第1認識部132は、区画線LL、CL、RLの各点の位置を車両座標系に変換する。また、第1認識部132は、例えば、道路上の自車線L1と隣接車線L2とを区画する区画線(例えば、図3に示す区画線CL)の線種を認識する。線種には、実線や破線等の形状に基づく種類だけでなく、色による種類が含まれていてもよい。
第2認識部134は、例えば、車両Mの位置情報に基づいて地図情報から車両Mの周辺の道路構造物を含む第2道路情報を認識する。例えば、第2認識部134は、車両センサ40やナビゲーション装置50から車両Mの位置情報を取得し、取得した位置情報に基づいて、第2地図情報62を参照し、第2地図情報62から車両座標系における区画線LL、CL、RLの位置や、区画線CLの線種等を認識する。また、第2認識部134は、車両センサ40に含まれる方位センサの出力等を第2地図情報62と照合して、車両Mが地図におけるどの道路、どの車線を走行しているかを認識してもよい。また、第2認識部134は、車両Mの位置情報に基づいて、走行する車線L1の幅方向に関して、車両Mの代表点がどの位置にあるのか(以下、横位置)を認識してもよい。横位置は、車線の左右のいずれかの道路区画線からのオフセット量として導出されてもよいし、車線中央からのオフセット量として導出されてもよい。
合致判定部136は、第1認識部132の認識の結果(例えば、第1道路情報)と、第2認識部134の認識の結果(例えば、第2道路情報)が合致するか否かを判定する。例えば、合致判定部136は、第1道路情報に含まれる区画線の位置と、第2道路情報に含まれる区画線の位置とが合致するか否かを判定する。以下、第1道路情報に含まれる区画線の位置と、第2道路情報に含まれる区画線の位置とが合致するか否かを判定する処理を「マッチング処理」として説明する。
図4は、合致判定部136におけるマッチング処理の内容について説明するための図である。以下では、外界センサから得られた区画線(第1認識部132により認識された区画線)CL(以下、区画線CL1と称する)と、地図情報から得られた区画線(第2認識部134により認識された区画線)CL(以下、区画線CL2と称する)とのマッチング処理について説明するが、他の区画線LL、RLについても同様にマッチング処理が行われてよい。合致判定部136は、車両座標系の平面において、区画線CL1の位置と、区画線CL2の位置とを、車両Mの代表点の位置(X1,Y1)を基準に重畳させて、区画線CL1の位置と、区画線CL2との位置とが合致するか否かを判定する。「合致」とは、例えば、区画線CL1と区画線CL2との乖離度合が閾値以下の場合である。乖離とは、例えば、横位置(図中Y軸方向)の乖離(例えば、図中の区画線CL1とCL2とのずれ量W1)でもよく、縦位置(X軸方向の距離の長短)の乖離(例えば、図中の区間A1)でもよく、その組み合わせでもよい。
図4の例において、ずれ量W1は、閾値以下であるものとする。一方、区間A1は、区画線CL1が認識されていないが区画線CL2は認識されている。したがって、区間A1における区画線CL1とCL2との乖離は閾値以上である。この場合、合致判定部136は、区間A1において、第1の道路情報と第2の道路情報が合致しない(アンマッチである)と判定する。外界センサの認識の結果として、区間A1が認識されない場合には、例えば、大雨等の天候や夜間の街灯の影響で認識されない場合や、路上に描画された区画線が消えていて認識できない場合、上り坂、カーブ路等の道路形状により認識されない場合が含まれる。
また、合致判定部136は、所定距離における区画線CL1と区画線CL2とのマッチングにおいて、それぞれの位置が予め決められた十分な信頼度で合致する場合に第1の道路情報と第2の道路情報とが合致すると判定し、十分な信頼度で合致しない場合に第1の道路情報と第2の道路K情報とは合致しないと判定してもよい。
また、合致判定部136は、区画線CL1と区画線CL2の線種が不一致である場合に、第1の道路情報と第2の道路情報とが合致しないと判定してもよい。「区画線CL1と区画線CL2の線種が不一致である」とは、例えば、区画線CL1およびCL2のうち一方が、車線変更が可能であることを示す区画線であり、他方が、車線変更が不可能であることを示す車線である場合である。また、「区画線CL1と区画線CL2の線種が不一致である」とは、例えば、区画線CL1およびCL2の曲率が一致しない場合であってもよい。
また、合致判定部136は、外界センサの異常により第1の道路情報が取得できなかった場合や、車両Mの位置情報に相当する地図情報が存在せず、第2の道路情報が取得できなかった場合に、第1の道路情報と第2の道路情報とが合致しないと判定してもよい。外界センサの異常とは、例えば、例えば、カメラ10の画像データや、レーダ装置12やLIDAR14の認識の結果が取得できない場合や、取得した情報が異常値である場合が含まれる。
レベル決定部142は、合致判定部136による判定結果に基づいて、運転制御部により実行される運転制御の自動化レベル(自動化の度合の一例)を決定する。実施形態における運転制御の自動化レベルには、例えば、第1レベル(第1制御度合の一例)と、第1レベルよりも運転制御の自動化の度合が低い第2レベル(第2制御度合の一例)と、第2レベルよりも運転制御の自動化の度合が低い第3レベル(第3制御度合の一例)とが含まれる。また、自動化レベルには、第3レベルよりも運転制御の自動化の度合が低い第4レベル(第4制御度合の一例)が含まれてもよい。ここで、自動化レベルとは、標準化された情報や法規等で定められたレベルであってもよく、それとは無関係に設定される指標値であってもよい。したがって、自動化レベルの種類や内容、数については、以下の例に限定されるものではない。運転制御の自動化の度合が低いとは、例えば、運転制御における自動化率が小さく、運転者に課されるタスクが大きいことである。運転制御の自動化が低いとは、自動運転制御装置100が車両Mの操舵または加減速を制御する度合が低い(運転者が操舵または加減速の操作に介入する必要度合が高い)ことである。運転者に課されるタスクとは、例えば、車両Mの周辺監視や運転操作子の操作(例えば、ステアリングホイールを把持する動作)等である。運転者に課されるタスクは、例えば、車両Mの自動運転の維持に必要な乗員へのタスク(ドライバータスク)である。したがって、課されたタスクを乗員が実行できない場合は、自動化レベルが下がることになる。例えば、第1レベルの運転制御には、例えば、ACC、ALC、LKAS、TJP(Traffic Jam Pilot)等の運転制御が含まれてよい。また、第2または第3レベルの運転制御には、例えば、ACC、ALC、LKAS等の運転制御が含まれてよい。第4レベルの運転制御には、手動運転が含まれてよい。また、第4レベルの運転制御には、例えば、ACC等の運転制御が実行されてよい。第1~第4レベルのうち、第1レベルは運転制御の自動化の度合が最も高いものであり、第4レベルは運転制御の自動化の度合が最も低いものである。
また、第1レベルにおいては、乗員に課されるタスクはない。また、第2レベルにおいて乗員に課されるタスクは、例えば、車両Mの周辺監視である。また、第3レベルにおいて乗員に課されるタスクは、例えば、車両Mの周辺監視およびステアリングホイールの把持である。また、第4レベルにおいて乗員(例えば、運転者)に課されるタスクは、例えば、車両Mの周辺(特に前方)監視および運転操作子80による車両Mの操舵および速度を制御するための操作である。つまり、第4レベルの場合は、すぐに乗員に運転交代ができる状態である。各自動化レベルにおける運転制御の内容や乗員に課されるタスクについては、上述した例に限定されない。自動運転制御装置100は、車両Mの周辺状況や乗員が実行中のタスクに基づいて、第1~第4レベルのうち何れかのレベルの運転制御が実行される。
例えば、レベル決定部142は、認識部130により認識された他の周辺状況(例えば、周辺車両の挙動)と、地図情報とに基づいて、自動化レベルごとに設定された実行条件に対応付けられた自動化レベルを決定する。
また、レベル決定部142は、例えば、第1~第3レベルのうち何れかのレベルによる運転制御を実行中に、合致判定部136により第1の道路情報と第2の道路情報とが合致しないと判定された場合、運転制御の自動化レベルを現在のレベルから低い方に変更する。この場合、レベル決定部142は、例えば、現在の自動化レベルが第1レベルである場合には、第2、第3、または第4レベルのうち何れかに変更し、現在の自動化レベルが第2レベルである場合には、第3または第4レベルに変更する。例えば、レベル決定部142は、現在の自動化レベルごとに決められた自動化レベルに変更してもよく、認識部130により認識された周辺状況や乗員の状態に基づいて変更する自動化レベルを決定してもよい。
また、レベル決定部142は、例えば、合致判定部136により第1の道路情報と第2の道路情報とが合致しないと判定された理由に基づいて変更する自動化レベルを決定してもよい。例えば、レベル決定部142は、現在の自動化レベルが第1レベルである場合において、上り坂やカーブ路等の道路形状によって一時的に道路情報が合致しないと判定された場合には第1レベルから第2レベルに変更し、外界センサの異常により道路情報が合致しないと判定された場合には、第1レベルから第3レベルに変更する。これにより、合致判定部136による判定結果に応じて、より適切な自動化レベルに変更することができる。
[HMI制御部180の機能]
次に、HMI制御部180の機能の詳細について説明する。HMI制御部180は、レベル決定部142により運転制御の自動化レベルを現在のレベルよりも低い方に変更することを決定した場合に、運転制御の変更に関する情報を生成し、生成した情報をHMI30により乗員に出力させる。出力タイミング制御部182は、自動化レベルが低い方に変更される前の車両Mの運転制御の自動化レベルに応じて、運転制御の変更に関する情報を出力するタイミングを制御する。
例えば、HMI制御部180は、車両Mの運転制御の自動化レベルの度合が第2レベルから第3レベルに変更される場合に、第1レベルから第3レベルに変更される場合よりも運転制御の変更に関する情報を出力させるタイミングを遅らせる。また、HMI制御部180は、自動化レベルが第1レベルから第3レベルに変更する場合は、第3レベルへの変更が決定されたタイミングで、運転制御の変更に関する情報を出力させてもよい。また、HMI制御部180は、自動化レベルが第2レベルまたは第3レベルである場合に、第1レベルである場合よりも、運転制御の変更に関する情報を出力させるタイミングを遅らせてもよい。また、HMI制御部180は、自動化レベルを第3レベルから第4レベルに変更させる場合、車両の挙動に変化が出るまで現在の制御度合の運転制御を継続させてもよい。以下、出力タイミング制御部182により制御される出力タイミングを、幾つかの出力タイミングに分けて具体的に説明する。なお、以下の例では、時刻t1、t2、t3の順に時間が進行しているものとする。また、車両M(t*)、速度VM(t*)は、時刻t*における車両Mの位置および速度を示すものとする。
<第1の出力タイミング>
自動化レベルが低い方に変更される前の車両Mの運転制御の自動化レベルが第1レベルである場合、出力タイミング制御部182は、第1の出力タイミングで運転制御の変更に関する情報をHMI30に出力させる。第1の出力タイミングとは、例えば、合致判定部136により第1の道路情報と第2の道路情報とが合致していないと判定されたタイミング、またはレベル決定部142により第1レベルから、第1レベルより低い自動化レベル(例えば、第3レベル)に変更することが決定されたタイミングである。
図5は、第1の出力タイミングについて説明するための図である。図5の例では、図3と同様に車線L1、L2が存在し、車両Mが速度VMで車線L1を走行しているものとする。図6、図7についても同様とする。図5の例において、車両Mが地点P1に到達した時刻t1で、合致判定部136により第1の道路情報と第2の道路情報とが地点P2より先の区間において合致していないと判定されたとする。この場合、レベル決定部142は、車両Mが地点P2に到達した時点で第1レベルから、第1レベルよりも低いレベル(例えば、第3レベル)に変更することを決定する。
出力タイミング制御部182は、車両Mが地点P1に到達し、レベル決定部142により地点P2で第1レベルから第3レベルに変更することが決定された時点で、HMI制御部180により生成された運転制御の変更に関する情報をHMI30に出力させる。第1の出力タイミングにおいてHMI30から出力される運転制御の変更に関する情報には、例えば、「車両の自動化レベルが第1レベルから第3レベルに低下します。」や「○○[m]後の地点P2に到着するまでに、周辺監視とステアリングホイールの把持を行ってください。」等の情報が含まれる。これにより、運転者に、情報が出力された地点P1から車両Mの運転制御の自動化レベルが低下する地点P2に到達するまでの間に、変更後の自動化レベルに応じた運転操作を行うための準備をさせることができる。したがって、乗員に、より確実に運転操作を実行させることができる。
<第2の出力タイミング>
車両Mの運転制御の自動化レベルが第2レベルである場合、出力タイミング制御部182は、第2の出力タイミングで運転制御の変更に関する情報をHMI30に出力させる。第2の出力タイミングとは、例えば、運転制御の自動化レベルが第2レベルから、第2レベルより低いレベル(例えば、第3レベル)に変更することを決定した時点から所定時間だけ遅らせたタイミングである。
図6は、第2の出力タイミングについて説明するための図である。図6の例において、車両Mが地点P1に到達した時刻t1で、合致判定部136により第1の道路情報と第2の道路情報とが地点P2よりも先の区間において合致していないと判定されたとする。この場合、レベル決定部142は、車両Mが地点P2に到達した時点で第2レベルから第3レベルに変更することを決定する。
出力タイミング制御部182は、車両Mが地点P1に到達し、レベル決定部142により、地点P2で第2レベルから第3レベルに変更することが決定された時点(例えば、第1の出力タイミング)から所定時間Taだけ遅らせた時刻t2で、HMI制御部180により生成された運転制御の変更に関する情報をHMI30に出力させる。所定時間Taとは、例えば、車両Mの速度VMに基づいて、車両Mが地点P2に到達しないと推定される時間である。また、所定時間Taは、車両Mの周辺状況(例えば周辺車両の挙動、道路形状)や、乗員の状態(乗員に課されるタスクの実行状態)等に基づいて可変に設定されてもよい。例えば、出力タイミング制御部182は、車両Mの前方が渋滞している場合には、渋滞していない場合よりも所定時間Taを長めに設定し、車線L1がカーブ路や下り坂のように運転が複雑化する道路形状である場合には、直線の場合よりも所定時間Taを短めに設定する。
また、出力タイミング制御部182は、所定時間Taに代えて、地点P1から進行方向に向かって所定距離Daだけ離れた地点Paに車両Mが到達したタイミングで運転制御の変更に関する情報をHMI30に出力させてもよい。所定距離Daは、地点P1から地点P2までの距離よりも短い距離である。また、所定距離Daは、車両Mの速度VMや周辺状況や乗員の状態等に基づいて可変に設定される。このように、出力タイミング制御部182は、所定時間Taまたは所定距離Daを可変に設定することで、車両の周辺状況や乗員の状態に応じて、より適切なタイミングで運転制御の変更に関する情報を乗員に出力させることができる。なお、出力タイミング制御部182は、所定時間Taを固定時間に設定してもよく、所定距離Daを固定距離に設定してもよい。これにより、所定時間taや所定距離Daを設定する場合の処理負荷を可変に設定する場合に比して軽減することができる。
第2の出力タイミングにおいてHMI30から出力される運転制御の変更に関する情報には、例えば、「車両の自動化レベルが第2レベルから第3レベルに低下します。」や「○○[m]後の地点P2に到着するまでに、ステアリングホイールの把持を行ってください。」等の情報が含まれる。このように、第2の出力タイミングの場面では、すでに第2レベルによる運転制御が実行されているため、運転者による一部のタスク(周辺監視)が実行されている。したがって、出力タイミングを第1のタイミングよりも遅らせた場合であっても、短い期間で変更後の自動化レベルに応じた運転操作を行うための準備を行うことができる。また、出力タイミングを第1のタイミングよりも遅らせることで、第3レベルの実行条件を満たし、車両Mが地点P2に到達する前に第3レベルの運転制御が実行されることを抑制することができる。地点P2に到達する前に第3レベルの運転制御に変更されることを抑制することで、地点P2までの間に第1の道路情報と第2の道路情報とが再び合致してレベルダウン制御を行う必要がなくなった場合に、現状の自動化レベルを継続させることができる。
<第3の出力タイミング>
車両Mの運転制御の自動化レベルが第3レベルであった場合、HMI制御部180は、第3の出力タイミングで運転制御の変更に関する情報をHMI30に出力させる。第3の出力タイミングとは、運転制御の自動化レベルが第3レベルから第4レベルに変更されたタイミングであり、車両Mの挙動に変化が出るタイミングである。
図7は、第3の出力タイミングについて説明するための図である。図7の例において、車両Mが地点P1に到達した時刻t1で、合致判定部136により第1認識部132の認識の結果と第2認識部134の認識の結果とが地点P2よりも先の区間において合致していないと判定されたとする。この場合、レベル決定部142は、車両Mが地点P2に到達した時点で第3レベルから第4レベルに変更することを決定する。
出力タイミング制御部182は、車両Mが地点P1に到達し、レベル決定部142により、地点P2で第3レベルから第4レベルに変更することが決定された時点(例えば、第1の出力タイミング)から、車両Mが地点P2に到達する時刻t3まで、HMI制御部180で生成された運転制御の変更に関する情報をHMI30に出力させるタイミングを遅らせる。
このように、運転制御の自動化の度合が低い方に変更される場合であって、且つ、自動化レベルが乗員に運転操作子を操作させる(具体的には、乗員がステアリングホイールを把持する)タスクを乗員に課するレベル(例えば、第3レベル)である場合、自動運転制御装置100は、車両Mの挙動に変化が出るタイミングまで現在のレベルの運転制御が継続する。
第3の出力タイミングにおいてHMI30から出力される運転制御の変更に関する情報には、例えば、「車両の自動化レベルが第3レベルから第4レベルに低下します。」や「手動運転に切り替わります」等の情報が含まれる。
第3の出力タイミングの場面では、すでに第3レベルによる運転制御が実行されているため、運転者による周辺監視やステアリングホイールの把持が実行されている。したがって、車両Mの挙動に影響が生じる地点P2に車両Mが到達するまで運転制御の変更に関する情報を乗員に通知しなくても、地点P2以降も安定した走行を継続することができる。また、出力タイミングを遅らせることで、地点P2までの間に第1の道路情報と第2の道路情報とが再び合致してレベルダウン制御を行う必要がなくなった場合に、乗員に通知することなく、現状の自動化レベルを継続させることができる。
HMI制御部180は、例えば、上述した第1~第3の出力タイミングで運転制御の変更に関する情報を示す画像をHMI30の表示装置に表示させる場合に、変更後の自動化レベルに基づいて、上記画像の表示態様を変更させてもよい。この場合、HMI制御部180は、変更後の自動化レベルが低い場合の方が、自動化レベルが高い場合よりも上記画像が強調して表示されるように表示態様を変更する。表示態様には、例えば、画像の色、大きさ、形状、模様、文字フォント等が含まれる。また、表示態様には、画像の点滅表示やアニメーション画像表示等が含まれてよい。また、HMI制御部180は、運転制御の変更に関する情報の出力タイミングで警報(例えば、音声や警告音)等を出力してもよい。この場合、HMI制御部180は、変更後の自動化レベルが低い場合の方が、自動化レベルが高い場合よりも警報が強くなる(例えば、音量を大きくする)ようにする。これにより、出力タイミングが遅くなるほど、表示態様が強調されたり、警報が強くなるため、出力した情報をより短時間で乗員に認識させて、自動化レベルに応じたタスク(例えば、手動運転による運転交代)を実行させることができる。
また、上述した第1~第3の出力タイミングで運転制御の変更に関する情報を出力してから第1所定時間が経過した後も、変更後の自動化レベルに応じたタスクが実行されていない場合、HMI制御部180は、上述した警報よりも強い警報を出力してもよい。また、強い警報を出力してから第2所定時間が経過した後も、乗員に課せられたタスクが実行されていない場合、第1制御部120および第2制御部160は、車両Mを安全な場所(例えば、路肩等)に停止させる縮退制御を行ってもよい。
[処理フロー]
図8は、実施形態の自動運転制御装置100により実行される処理の流れの一例を示すフローチャートである。以下では、自動運転制御装置100により実行される処理のうち、主に車両Mの運転制御の自動化レベルが低い方に変更する場面における情報の出力制御に関する処理を中心として説明する。図8に示す処理は、例えば、自動運転の実行中において、所定タイミングまたは所定周期で繰り返し実行されてよい。
図8の例において、まず、第1認識部132は、外界センサの認識の結果に基づいて車両Mの周辺状況を認識する(ステップS100)。次に、第2認識部134は、地図情報に基づいて車両Mの周辺状況を認識する(ステップS102)。次に、合致判定部136は、ステップS100の処理による認識結果と、ステップS102の処理による認識結果とのマッチング処理を行う(ステップS104)。次に、レベル決定部142は、マッチング結果に基づいて、車両Mの運転制御の自動化レベルを決定する(ステップS106)。
次に、HMI制御部180は、車両Mの現在の運転制御の自動化レベルを取得し(ステップS110)、ステップS106の処理により決定された自動化レベルが現在のレベルよりも低い方に変更されるか否かを判定する(ステップS108)。運転制御の自動化レベルが現在のレベルよりも低い方に変更されると判定された場合、HMI制御部180は、運転制御の変更に関する情報を生成する(ステップS112)。次に、出力タイミング制御部182は、変更前の自動化レベルに基づいて、運転制御の変更に関する情報を出力するタイミングを決定する(ステップS114)。次に、出力タイミング制御部182は、決定したタイミングで運転制御の変更に関する情報を出力する(ステップS116)。これにより、本フローチャートの処理は、終了する。ステップS110の処理において、運転制御の自動化レベルが現在のレベルよりも低いレベルに変更されないと判定された場合、本フローチャートを終了する。
なお、図8のステップS116の処理により決定されたタイミングで情報を取得した後、変更後の自動化レベルを実行するための条件を満たした場合に、自動運転制御装置100は、自動化レベルを変更して運転制御を実行する。また、図8のステップS110の処理において、運転制御の自動化レベルが現在のレベルよりも低いレベルに変更されないと判定された場合であって、且つ、現在のレベルよりも高いレベル変更されると判定された場合、HMI制御部180は、運転制御の変更に関する情報を自動化レベルが変更される前に出力させてもよく、自動化レベルが変更されると同時または変更された後に出力させてもよい。
[変形例]
上述した実施形態において、出力タイミング制御部182は、自動化レベルが最も高い第1レベルから低い方のレベルに変更するときの第1の出力タイミングを基準として、第2および第3の出力タイミングを遅らせたが、これに代えて、第3の出力タイミングを基準として第2および第1の出力タイミングを決定してもよい。この場合、出力タイミング制御部182は、第2の出力タイミングを第3の出力タイミングよりも早いタイミングとし、第1の出力タイミングを第3および第2の出力タイミングよりも早いタイミングに決定する。
上述した実施形態によれば、自動運転制御装置100(運転制御装置の一例)は、車両Mの周辺状況を認識する認識部130と、車両Mの加減速および操舵のうち少なくとも一方を制御する運転制御部(行動計画生成部140、第2制御部160)であって、自動化レベル(自動化の度合の一例)が異なる複数の運転制御のうち何れかを実行する運転制御部と、認識部130の認識の結果に基づいて、運転制御部により実行される運転制御の自動化レベルが低い方に変更されることが予測される場合に、運転制御の変更に関する情報を乗員に出力させるHMI制御部180(出力制御部の一例)と、を備え、HMI制御部180は、自動化レベルが低い方に変更される前の自動化レベルが低い場合に、自動化レベルが高い場合よりも情報を出力させるタイミングを遅らせることにより、運転制御の自動化の変更に関する情報を、より適切なタイミングで乗員に出力することができる。
具体的には、実施形態は、現在の運転制御の自動化レベルに基づいて、レベルダウン制御に関する情報や運転交代要求等の情報の出力タイミングを変更する場合において、自動化レベルが低い場合は、高い場合に比べて出力タイミングを遅延させる。例えば、自動化レベルが最も高い場合(例えば、第1レベルの場合)には、第1認識部132の認識の結果と第2認識部134の認識の結果とが合致しないと判定されたタイミングで乗員に情報を出力することで、合致していない地点までの走行距離を長く確保することができる。したがって、運転者への運転操作の引継ぎに余裕を持たせることができる。また、変更前の自動化レベルが第2レベルである場合、第1レベルの場合よりも遅いタイミングで情報を出力することで、乗員の操作が完了してすぐに自動化レベルが低くなることを抑制することができる。また、変更前の自動化レベルが第3レベルである場合、車両Mの挙動に変化が出ない限り、現状の自動化レベルを継続させることで、現在の自動化レベルを維持することができる。したがって、実施形態によれば、運転制御の自動化レベルに応じて、レベルダウン制御までの時間を考慮した適切なタイミングで乗員にレベル変更に関する情報を通知することができる。
[ハードウェア構成]
図9は、実施形態の自動運転制御装置100のハードウェア構成の一例を示す図である。図示するように、自動運転制御装置100のコンピュータは、通信コントローラ100-1、CPU100-2、ワーキングメモリとして使用されるRAM100-3、ブートプログラム等を格納するROM100-4、フラッシュメモリやHDD等の記憶装置100-5、ドライブ装置100-6等が、内部バスあるいは専用通信線によって相互に接続された構成となっている。通信コントローラ100-1は、自動運転制御装置100以外の構成要素との通信を行う。ドライブ装置100-6には、光ディスク等の可搬型記憶媒体(例えば、コンピュータ読み込み可能な非一時的記憶媒体)が装着される。記憶装置100-5には、CPU100-2が実行するプログラム100-5aが格納されている。このプログラムは、DMA(Direct Memory Access)コントローラ(不図示)等によってRAM100-3に展開されて、CPU100-2によって実行される。CPU100-2が参照するプログラム100-5aは、ドライブ装置100-6に装着された可搬型記憶媒体に格納されていてもよいし、ネットワークを介して他の装置からダウンロードされてもよい。これによって、自動運転制御装置100の各構成要素のうち一部または全部が実現される。
上記説明した実施形態は、以下のように表現することができる。
プログラムを記憶した記憶装置と、
ハードウェアプロセッサと、を備え、
前記ハードウェアプロセッサが前記記憶装置に記憶されたプログラムを実行することにより、
車両の周辺状況を認識し、
前記車両の加減速および操舵のうち少なくとも一方を制御し、自動化の度合が異なる複数の運転制御のうち何れかを実行し、
認識した結果に基づいて、前記運転制御の自動化の度合が変更される場合に、前記運転制御の変更に関する情報を乗員に出力させ、
前記自動化の度合は、第1制御度合と、前記第1制御度合よりも自動化の度合の低い第2制御度合と、前記第2制御度合よりも自動化の度合が低い第3制御度合とを含み、
前記自動化の度合が前記第2制御度合から前記第3制御度合に変更される場合に、前記第1制御度合から前記第3制御度合に変更される場合よりも前記情報を出力させるタイミングを遅らせる、
ように構成されている、車両制御装置。
以上、本発明を実施するための形態について実施形態を用いて説明したが、本発明はこうした実施形態に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。