特許第6979648号(P6979648)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧 ▶ 国立大学法人北海道大学の特許一覧

<>
  • 特許6979648-車載制御装置 図000002
  • 特許6979648-車載制御装置 図000003
  • 特許6979648-車載制御装置 図000004
  • 特許6979648-車載制御装置 図000005
  • 特許6979648-車載制御装置 図000006
  • 特許6979648-車載制御装置 図000007
  • 特許6979648-車載制御装置 図000008
  • 特許6979648-車載制御装置 図000009
  • 特許6979648-車載制御装置 図000010
  • 特許6979648-車載制御装置 図000011
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6979648
(24)【登録日】2021年11月18日
(45)【発行日】2021年12月15日
(54)【発明の名称】車載制御装置
(51)【国際特許分類】
   B60W 50/00 20060101AFI20211202BHJP
   B60R 16/02 20060101ALI20211202BHJP
   G08G 1/16 20060101ALI20211202BHJP
   G08G 1/09 20060101ALI20211202BHJP
【FI】
   B60W50/00
   B60R16/02 660Z
   G08G1/16 C
   G08G1/09 F
【請求項の数】3
【全頁数】18
(21)【出願番号】特願2018-17393(P2018-17393)
(22)【出願日】2018年2月2日
(65)【公開番号】特開2019-131141(P2019-131141A)
(43)【公開日】2019年8月8日
【審査請求日】2020年7月6日
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(73)【特許権者】
【識別番号】504173471
【氏名又は名称】国立大学法人北海道大学
(74)【代理人】
【識別番号】100165179
【弁理士】
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100175824
【弁理士】
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100114937
【弁理士】
【氏名又は名称】松本 裕幸
(72)【発明者】
【氏名】酒徳 哲
(72)【発明者】
【氏名】大岸 智彦
(72)【発明者】
【氏名】川村 秀憲
(72)【発明者】
【氏名】山下 倫央
(72)【発明者】
【氏名】横山 想一郎
(72)【発明者】
【氏名】小川 一太郎
【審査官】 竹村 秀康
(56)【参考文献】
【文献】 特開2006−160032(JP,A)
【文献】 特開2018−190045(JP,A)
【文献】 特開平04−131561(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
B60W 50/00
B60R 16/02
G08G 1/16
G08G 1/09
(57)【特許請求の範囲】
【請求項1】
車両の周囲の状況が検出された情報を少なくとも含む検出情報に基づいて、前記車両の挙動を制御する車載装置に与える制御情報を、階層化された複数の演算モジュールによって生成する車載制御装置であって、
前記検出情報を取得する取得部と、
演算モジュールのうち、前記取得部が取得した前記検出情報に基づいて、次階層の複数の演算モジュールの中から車両の周囲の状況に応じた演算を行う演算モジュールを、ニューラルネットワークによる演算によって選択する第1の選択モジュールと、
演算モジュールのうち、前記取得部が取得した前記検出情報に基づいて、次階層の複数の演算モジュールの中から車両の周囲の状況に応じた演算を行う演算モジュールを、前記検出情報と前記制御情報との対応関係が予め定められているルールベース演算によって選択する第2の選択モジュールと、
演算モジュールのうち、前記第1の選択モジュール又は前記第2の選択モジュールのいずれかによって選択され、前記検出情報に基づいて前記制御情報を生成する制御モジュールと、
前記制御モジュールが生成した前記制御情報を前記車載装置に対して出力する出力部と、
を備え
前記次階層の複数の演算モジュールとは、それぞれが、互いに異なる特定の走行シーンについて学習がなされた演算モジュールであり、
前記第1の選択モジュールは、複数の演算モジュールの中から、前記検出情報が示す走行シーンについて学習がなされた演算モジュールを選択する
車載制御装置。
【請求項2】
前記制御モジュールには、
前記検出情報に基づいて、前記車載装置に与える前記制御情報を前記検出情報と前記制御情報との対応関係が予め定められているルールベース演算によって生成するルールベース制御モジュール
が含まれる請求項1に記載の車載制御装置。
【請求項3】
前記第1の選択モジュールは階層化されており、
階層化された前記第1の選択モジュールには、
次階層の複数の演算モジュールの中から車両の周囲の状況に応じた演算モジュールを選択する前段選択モジュールと、
前記前段選択モジュールによって選択され、次階層の複数の演算モジュールの中から車両の周囲の状況に応じた演算モジュールを選択する後段選択モジュールと、
が含まれ、
前記前段選択モジュールは、
車両の周囲の状況に基づく選択についての、自モジュールによる選択の正解率と、前記後段選択モジュールによる選択の正解率とに基づいて、自モジュールが前記制御モジュールを選択するか、前記後段選択モジュールに前記制御モジュールを選択させるかを判定する
請求項1又は請求項2に記載の車載制御装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、車載制御装置に関する。
【背景技術】
【0002】
従来の技術においては、自動車等の車両の挙動を制御する場合において、人間の指示や操作なしに自律的に動力、操舵装置、制動装置を制御するために、深層ニューラルネットワークに代表される機械学習を使った演算モジュールを用いることで、人間の指示や操作の代替となる行動決定の機能を実現している。この演算モジュールは、内部の変換パラメータに従って入力信号から出力信号を決定する機能を備えており、この内部の変換パラメータを機械学習によって適切に決定することで、自動車に搭載されたセンサや物体検出機能の出力信号を入力として、自動車がそのとき取るべき行動に対応した動力、操舵装置、制動装置の制御信号を決定することができるようになっている。(例えば、特許文献1を参照。)
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2017−211913号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した従来の技術では、演算モジュール内部の変換パラメータを適切に決定する難しさに直接関係する、機械学習のモデルの規模や複雑さについては考慮されていない。一般に、機械学習のモデルの規模や複雑さが増すと、機械学習は、十分な学習をするために必要な学習データの量が増加する、学習を完了するまでに要する時間が増加する、部分的にしか最適化されないなどの的な問題点が生じることがある。自動車の運転時に発生しうる様々な状況において、自動車がそのとき取るべき行動に対応した動力、操舵装置、制動装置の制御信号を決定することは、機械学習のモデルに置き換えると大規模で複雑なものである。このため従来の技術では、機械学習の一般的な問題点として上述した通り、十分な学習をするために必要な学習データの量が増加する、学習を完了するまでに要する時間が増加する、部分的にしか最適化されないという問題点があった。つまり、上述した従来の技術では、車両の挙動を制御するための演算モジュールの学習の難度が高いという問題点があった。
【0005】
本発明は、車両の挙動を制御するための演算モジュールの学習の難度を低減することができる車載制御装置を提供することを目的とする。
【課題を解決するための手段】
【0006】
本発明の一実施形態は、車両の周囲の状況が検出された情報を少なくとも含む検出情報に基づいて、前記車両の挙動を制御する車載装置に与える制御情報を、階層化された複数の演算モジュールによって生成する車載制御装置であって、前記検出情報を取得する取得部と、演算モジュールのうち、前記取得部が取得した前記検出情報に基づいて、次階層の複数の演算モジュールの中から車両の周囲の状況に応じた演算を行う演算モジュールを、ニューラルネットワークによる演算によって選択する第1の選択モジュールと、演算モジュールのうち、前記取得部が取得した前記検出情報に基づいて、次階層の複数の演算モジュールの中から車両の周囲の状況に応じた演算を行う演算モジュールを、前記検出情報と前記制御情報との対応関係が予め定められているルールベース演算によって選択する第2の選択モジュールと、演算モジュールのうち、前記第1の選択モジュール又は前記第2の選択モジュールのいずれかによって選択され、前記検出情報に基づいて前記制御情報を生成する制御モジュールと、前記制御モジュールが生成した前記制御情報を前記車載装置に対して出力する出力部と、を備え、前記次階層の複数の演算モジュールとは、それぞれが、互いに異なる特定の走行シーンについて学習がなされた演算モジュールであり、前記第1の選択モジュールは、複数の演算モジュールの中から、前記検出情報が示す走行シーンについて学習がなされた演算モジュールを選択する車載制御装置である。
【0007】
また、本発明の一実施形態の車載制御装置において、前記制御モジュールには、前記検出情報に基づいて、前記車載装置に与える前記制御情報を前記検出情報と前記制御情報との対応関係が予め定められているルールベース演算によって生成するルールベース制御モジュールが含まれる。
【0008】
また、本発明の一実施形態の車載制御装置において、前記第1の選択モジュールは階層化されており、階層化された前記第1の選択モジュールには、次階層の複数の演算モジュールの中から車両の周囲の状況に応じた演算モジュールを選択する前段選択モジュールと、前記前段選択モジュールによって選択され、次階層の複数の演算モジュールの中から車両の周囲の状況に応じた演算モジュールを選択する後段選択モジュールと、が含まれ、前記前段選択モジュールは、車両の周囲の状況に基づく選択についての、自モジュールによる選択の正解率と、前記後段選択モジュールによる選択の正解率とに基づいて、自モジュールが前記制御モジュールを選択するか、前記後段選択モジュールに前記制御モジュールを選択させるかを判定する。
【発明の効果】
【0009】
本発明によれば、車両の挙動を制御するための演算モジュールの学習の難度を低減することができる車載制御装置を提供することができる。
【図面の簡単な説明】
【0010】
図1】第1の実施形態の車載制御装置を含むシステムの構成の一例を示す図である。
図2】本実施形態の制御情報の一例を示す図である。
図3】本実施形態の車載制御装置の演算経路の一例を示す図である。
図4】本実施形態の車載制御装置の処理の流れの一例を示す図である。
図5】本実施形態の車載制御装置の処理の流れの第2の例を示す図である。
図6】本実施形態の車載制御装置の処理の流れの第3の例を示す図である。
図7】本実施形態の演算モジュールの構成の具体例を示す図である。
図8】本実施形態の演算モジュールの学習手順の一例を示す図である。
図9】第2の実施形態の車載制御装置の処理の流れの一例を示す図である。
図10】本実施形態の車載制御装置に提供される演算モジュールの学習の流れの一例を示す図である。
【発明を実施するための形態】
【0011】
[第1の実施形態]
以下、図を参照して本実施形態の車載制御装置10の概要について説明する。
図1は、本実施形態の車載制御装置10を含むシステムの構成の一例を示す図である。
【0012】
車両CRは、車載制御装置10と、検出情報生成部20と、車載装置30と、ロガー40と、通信部50とを備えている。車載制御装置10と検出情報生成部20との間、及び車載制御装置10と車載装置30との間は、例えばCAN(Controller Area Network)などの車載通信ネットワークによって相互に接続されており、情報の授受が可能である。
なお、本実施形態では、車載制御装置10は、検出情報生成部20や車載装置30から独立した筐体を有する装置であるとして説明するがこれに限られない。車載制御装置10は、検出情報生成部20や車載装置30と一体化された装置として構成されてもよい。
【0013】
検出情報生成部20は、車両CRの各部の動作及び車両CRの周囲の状況を検出し、検出情報を生成する。この検出情報生成部20が生成する検出情報を、検出結果DRとも称する。検出結果DRには、車両CRの各部の動作の検出結果と、車両CRの周囲の状況の検出結果とが含まれていてもよいが、以下では車両CRの周囲の状況の検出結果について説明し、車両CRの各部の動作の検出結果についての説明は省略する。
【0014】
検出情報生成部20は、センサ部200と検出結果処理部210とを備えている。
センサ部200は、車両CRの周囲の状況を検出するセンサ等であり、検出した結果を、検出結果処理部210を介して、又は直接、検出結果DRとして車載制御装置10に出力する。本実施形態の一例として、センサ部200は、LIDAR装置201と、ミリ波装置202と、GNSS装置203と、カメラ装置204とを備えている。
LIDAR装置201は、LIDAR(Light Detection and Ranging、Laser Imaging Detection and Ranging)による車両CRの周囲の画像取得及び測距を行う。LIDAR装置201は、画像取得結果及び測距結果を検出結果DRとして出力する。
ミリ波装置202は、ミリ波を用いて車両CRの周囲の形状検出及び測距を行う。ミリ波装置202は、形状検出結果及び測距結果を検出結果DRとして出力する。
GNSS装置203は、GNSS(Global Navigation Satellite System)による測位衛星からの測位信号を受信する。GNSS装置203は、受信した測位信号を検出結果DRとして出力する。
カメラ装置204は、可視光や赤外光を用いて車両CRの周囲の画像取得及び測距を行う。カメラ装置204は、画像取得結果及び測距結果を検出結果DRとして出力する。
【0015】
検出結果処理部210は、センサ部200が出力する検出結果DRを処理することにより、車両CRの周囲の状況を示す情報を生成する。本実施形態の一例では、検出結果処理部210は、検出結果処理部210は、画像認識部211と、物体検出部212と、位置推定部213とを備えている。
画像認識部211は、LIDAR装置201やカメラ装置204が出力する画像取得結果及び測距結果に基づいて、これらの画像に含まれる物体の有無、物体の形状・大きさ・種類、物体までの距離、物体の移動速度などを認識する。画像認識部211は、画像認識の結果を検出結果DRとして車載制御装置10に出力する。
物体検出部212は、ミリ波装置202が出力する形状検出結果及び測距結果に基づいて、物体の有無、物体の形状・大きさ・種類、物体までの距離、物体の移動速度などを検出する。物体検出部212は、物体検出の結果を検出結果DRとして車載制御装置10に出力する。
位置推定部213は、GNSS装置203が出力する測位信号に基づいて、自車の位置を推定する。位置推定部213は、自車の位置推定の結果を検出結果DRとして車載制御装置10に出力する。
【0016】
車載装置30は、ECU(Electronic Control Unit)300や不図示のアクチュエータ類を備えており、車両CRの挙動を制御する。ECU300には、例えば、エンジンや走行用モータを駆動する走行制御ECU301、ブレーキを制御するブレーキ制御ECU302、ステアリングの舵角を制御するステアリングECU303、前照灯や非常停止灯などの灯火を制御する灯火制御ECU304などがある。
これらECU300は、車載制御装置10から出力される制御情報CMDに基づいて動作し、アクチュエータ類を駆動するための情報や信号を出力する。
【0017】
車載制御装置10は、不図示のCPU(Central Processing Unit)を備えており、検出情報生成部20によって生成される検出結果DRに基づいて演算を行い、この演算の結果として制御情報CMDを生成する。本実施形態の車載制御装置10は、この演算を複数の階層に階層化された演算モジュールMDLによって行う。
【0018】
すなわち、車載制御装置10は、車両CRの周囲の状況が検出された情報を少なくとも含む検出結果(検出情報)DRに基づいて、車両CRの挙動を制御する車載装置30に与える制御情報CMDを、階層化された複数の演算モジュールMDLによって生成する。
車載制御装置10は、取得部120(不図示)と、演算モジュールMDLと、出力部130(不図示)とを、ソフトウエア又はハードウエアによる機能部として備える。
【0019】
取得部120は、検出情報生成部20が出力する検出結果DRを取得する。取得部120は、取得した検出結果DRを正規化し、正規化後の情報を演算モジュールMDLに供給する。例えば、LIDAR装置201が16方位を検出する装置である場合、取得部120は、1方位目のセンサ値、2方位目のセンサ値、…、16方位目のセンサ値をそれぞれ0.0〜1.0の範囲の値に正規化する。取得部120は、正規化した値を1方位目、2方位目、…、16方位目の順に並べたデータ列として演算モジュールMDLに供給する。
【0020】
出力部130は、演算モジュールMDLが生成した制御情報CMDを車載装置30に対して出力する。この出力部130が出力する制御情報CMDの一例を、図2を参照して説明する。
【0021】
図2は、本実施形態の制御情報CMDの一例を示す図である。車両CRに対して可能である操作が、制御情報CMDとして予め定義されている。出力部130は、これらの制御情報CMDのそれぞれについて、操作する場合には値「1」を、操作しない場合には値「0(ゼロ)」を出力する。同図に示す一例では、出力部130は、制御情報CMD「ハンドル(ステアリング)を右に切る」及び、制御情報CMD「アクセルを踏む」について、それぞれ値「1」を出力する。この制御情報CMDが出力される結果、車載装置30のECU300が舵角及び走行のための動力を制御することにより、車両CRは「右に曲がりながら加速」する。
【0022】
図1に戻り、演算モジュールMDLには、選択モジュール100と制御モジュール110とがある。
選択モジュール100は、取得部120が取得した検出結果DRに基づいて、次階層の複数の演算モジュールMDLの中から車両CRの周囲の状況に応じた演算を行う演算モジュールMDLを選択する。この選択モジュール100は、ニューラルネットワークNN(例えば、深層ニューラルネットワーク)によって演算を行う。
【0023】
制御モジュール110は、選択モジュール100によって選択され、検出結果DRに基づいて制御情報CMDを生成する。
すなわち、演算モジュールMDLは、選択モジュール100が前段の演算モジュールMDLとして、制御モジュール110が後段の演算モジュールMDLとして、階層化されている。
【0024】
[制御モジュールの階層化]
制御モジュール110の階層化について説明する。階層化された制御モジュール110には、前段制御モジュール110aと、後段制御モジュール110bとがある。このうち、前段制御モジュール110aは、検出結果DRに基づいて、車両CRの目標挙動TBを判定する。後段制御モジュール110bは、前段制御モジュール110aによって判定された車両CRの目標挙動TBに基づいて、車載装置30に与える制御情報CMDを生成する。
【0025】
ここで、車両CRの目標挙動TBとは、図2に示した一例においては「右に曲がりながら加速」である。この一例の場合、車両CRは、例えば、交差点の右折レーンにおいて右折待ちをしており、同じく右折待ちをしている前車の進行に追従して交差点を右折する。検出情報生成部20は、車両CRが交差点の右折レーンにいることを示す検出結果DRと、車両CRの前車が進行して右折を開始したこと示す検出結果DRとを、車載制御装置10に供給する。前段制御モジュール110aは、これらの検出結果DRに基づいて、車両CRの目標挙動TBが「右に曲がりながら加速」することであると判定する。後段制御モジュール110bは、前段制御モジュール110aによって判定された車両CRの目標挙動TB、すなわち「右に曲がりながら加速」に基づいて、「ハンドル(ステアリング)を右に切る:値1」及び、制御情報CMD「アクセルを踏む:値1」を制御情報CMDとして生成する。
図1に示す一例では、制御モジュール110のうち、制御モジュール111と制御モジュール112とが、前段制御モジュール110aに相当し、制御モジュール115と制御モジュール116とが後段制御モジュール110bに相当する。すなわち、同図の一例では、制御モジュール111と制御モジュール115とが互いに階層化され、制御モジュール112と制御モジュール116とが互いに階層化されている。
【0026】
[選択モジュールの階層化]
選択モジュール100の階層化について説明する。階層化された選択モジュール100には、前段選択モジュール100aと、後段選択モジュール100bとがある。このうち、前段選択モジュール100aは、次階層の複数の選択モジュール100の中から車両CRの周囲の状況に応じた選択モジュール100を選択する。後段選択モジュール100bは、前段選択モジュール100aによって選択され、次階層の複数の演算モジュールMDLの中から車両CRの周囲の状況に応じた演算モジュールMDLを選択する。
【0027】
図1に示す一例では、選択モジュール100のうち、選択モジュール101と選択モジュール102との間の関係では、選択モジュール101が前段選択モジュール100aに相当し、選択モジュール102が後段選択モジュール100bに相当する。また、選択モジュール102と選択モジュール103との間の関係では、選択モジュール102が前段選択モジュール100aに相当し、選択モジュール103が後段選択モジュール100bに相当する。
【0028】
ロガー40は、車載制御装置10、検出情報生成部20及び車載装置30と接続されており、これら各部、各装置が出力する情報を一時記憶する。
通信部50は、基地局BSを介してデータセンタDCとの間において情報を送受信する。具体的には通信部50は、ロガー40に一時記憶されている情報を、データセンタDCに送信する。また、通信部50は、データセンタDCが提供する演算モジュールMDLの更新データを受信する。
【0029】
データセンタDCは、車両CRから提供されるログデータに基づいて演算モジュールMDLを再学習することにより演算モジュールMDLを更新し、更新した演算モジュールMDLを車両CRに配布する。具体的には、データセンタDCは、ログデータベースDC1と、再学習部DC2と、モジュールライブラリDC3とを備える。ログデータベースDC1には、車両CRから送信されるログデータが蓄積される。このログデータには、検出結果DR、制御情報CMD、目標挙動TB及び車両CRの挙動が含まれる。再学習部DC2は、ログデータベースDC1に蓄積されているログデータに基づいて、演算モジュールMDLを再学習することにより、演算モジュールMDLを更新する。モジュールライブラリDC3は、再学習部DC2によって更新された演算モジュールMDLが保存される。モジュールライブラリDC3に保存されている更新後の演算モジュールMDLは、車両CRからの要求や、演算モジュールMDLの管理者の要求などにより車両CRに提供される。
【0030】
次に、図3を参照して、車載制御装置10の演算経路について説明する。
図3は、本実施形態の車載制御装置10の演算経路の一例を示す図である。選択モジュール101は、不図示の取得部120から検出結果DRを取得する。選択モジュール101は、選択モジュール102又は制御モジュール112のいずれを選択するべきかを、検出結果DRに基づいて判定する。この一例では、選択モジュール101は、選択モジュール102を選択する。次に、選択モジュール102は、選択モジュール103又は制御モジュール111のいずれを選択するべきかを、検出結果DRに基づいて判定する。この一例では、選択モジュール102は、制御モジュール111を選択する。制御モジュール111は、車両CRの目標挙動TBを判定し、制御モジュール115に目標挙動TBを供給する。制御モジュール115は、目標挙動TBに基づいて制御情報CMDを生成する。生成された制御情報CMDは、不図示の出力部130によって各ECU300に供給される。
【0031】
[車載制御装置の処理の流れ(実施例1)]
図4は、本実施形態の車載制御装置10の処理の流れの一例を示す図である。この一例では、車載制御装置10は、1つの選択モジュール100と、2つの制御モジュール110とを演算モジュールMDLとして備える。この一例の場合、車載制御装置10の演算モジュールMDLは、1段目の選択モジュール100と、2段目の制御モジュール110との2層に階層化されている。
【0032】
(ステップS10)センサ部200は、車両CRの周囲の状況を検出して、検出した結果を検出結果DRとして出力する。
(ステップS20)検出結果処理部210は、ステップS10において出力された検出結果DRに基づいて、物体の有無、物体の形状・大きさ・種類、物体までの距離、物体の移動速度などを検出する。検出結果処理部210は、検出した結果を検出結果DRとして車載制御装置10に出力する。
(ステップS30)車載制御装置10の取得部120は、センサ部200から出力される検出結果DR、又は検出結果処理部210から出力される検出結果DRを取得する。
【0033】
(ステップS40)選択モジュール100は、複数の制御モジュール110のうちから、ステップS30において取得された検出結果DRが示す車両CRの周囲の状況に応じた制御モジュール110を選択する。
(ステップS50)制御モジュール110は、検出結果DRに基づいて制御情報CMDを生成する。ここで、選択モジュール100が制御モジュール110−Aを選択した場合(ステップS40;A)には、制御モジュール110−AによってステップS50−1が実行される。選択モジュール100が制御モジュール110−Bを選択した場合(ステップS40;B)には、制御モジュール110−BによってステップS50−2が実行される。
【0034】
(ステップS60)各ECU300は、ステップS50において生成された制御情報CMDに基づいて、アクチュエータ類を駆動することにより、車両CRの挙動を制御する。例えば、走行制御ECU301は、制御情報CMDに基づいてエンジンや走行用モータを駆動する(ステップS60−1)。ブレーキ制御ECU302は、制御情報CMDに基づいてブレーキを制御する(ステップS60−2)。ステアリングECU303は、制御情報CMDに基づいて、ステアリングの舵角を制御する(ステップS60−3)。
【0035】
[車載制御装置の処理の流れ(実施例2)]
次に、図5を参照して、車載制御装置10の処理の流れの第2の例について説明する。
図5は、本実施形態の車載制御装置10の処理の流れの第2の例を示す図である。なお、以下の説明では、図4の一例において説明した各部及び各動作と同一のものについては、同一の符号を付してその説明を省略する。本実施例では、図4に示した実施例1に対して、制御モジュール110が複数の階層に分割されている点で異なる。
【0036】
(ステップS150)前段制御モジュール110aは、検出結果DRに基づいて車両CRの目標挙動TBを生成する。ここで、選択モジュール100が前段制御モジュール110a−Aを選択した場合(ステップS40;A)には、前段制御モジュール110a−AによってステップS150−1が実行される。選択モジュール100が前段制御モジュール110a−Bを選択した場合(ステップS40;B)には、前段制御モジュール110a−BによってステップS150−2が実行される。
【0037】
(ステップS160)後段制御モジュール110bは、車両CRの目標挙動TBと検出結果DRとに基づいて制御情報CMDを生成する。ここで、選択モジュール100が後段制御モジュール110b−Aを選択した場合(ステップS150;A)には、後段制御モジュール110b−AによってステップS160−1が実行される。選択モジュール100が後段制御モジュール110b−Bを選択した場合(ステップS150;B)には、後段制御モジュール110b−BによってステップS160−2が実行される。
【0038】
[車載制御装置の処理の流れ(実施例3)]
次に、図6を参照して、車載制御装置10の処理の流れの第3の例について説明する。
図6は、本実施形態の車載制御装置10の処理の流れの第3の例を示す図である。なお、以下の説明では、図4及び図5の一例において説明した各部及び各動作と同一のものについては、同一の符号を付してその説明を省略する。本実施例では、図4に示した実施例1に対して、選択モジュール100が複数の階層に分割されている点で異なる。
【0039】
(ステップS240)前段選択モジュール100aは、複数の後段選択モジュール100b(後段選択モジュール100b−A及び100b−B)のうちから、ステップS30において取得された検出結果DRが示す車両CRの周囲の状況に応じた後段選択モジュール100bを選択する。
(ステップS250)後段選択モジュール100bは、複数の制御モジュール110(制御モジュール110−A1、110−A2、110−B1及び110−B2)のうちから、ステップS30において取得された検出結果DRが示す車両CRの周囲の状況に応じた制御モジュール110を選択する。
【0040】
なお、上述した実施例2及び実施例3を組み合わせて演算モジュールMDLが構成されていてもよい。
【0041】
[車載制御装置の演算モジュール構成の具体例]
次に、図7を参照して、本実施形態の演算モジュールMDLの構成の具体例について説明する。
図7は、本実施形態の演算モジュールMDLの構成の具体例を示す図である。選択モジュール100は、選択モジュール101〜選択モジュール104の4階層によって構成される。選択モジュール101〜選択モジュール104は、いずれもニューラルネットワークNNによって演算を行う。
【0042】
制御モジュール110は、3つの制御モードMDに分類される。この制御モードMDには、ゆずりあいモードMD1と、通常走行モードMD2と、緊急行動モードMD3とがある。
ゆずりあいモードMD1は、ラウンドアバウトでの加減速(制御モジュール111)、レーン走行(制御モジュール115)によって構成される。
通常走行モードMD2には、ラウンドアバウト・交差点周辺走行モードMD2−1と、直線路走行モードMD2−2とがある。ラウンドアバウト・交差点周辺走行モードMD2−1には、さらに加減速モードMD2−1−1と、停止モードMD2−1−2とがある。
加減速モードMD2−1−1は、対向車・合流先の車両に応じた加減速(制御モジュール113a)と、レーン走行(制御モジュール117a)とによって構成される。
停止モードMD2−1−2は、一旦停止線での停止(制御モジュール113b)と、レーン走行(制御モジュール117b)とによって構成される。
直線路走行モードMD2−2は、先行車に応じた加減速(制御モジュール113)と、レーン走行(制御モジュール117)とによって構成される。
緊急行動モードMD3は、緊急停止(制御モジュール112)と、レーン走行(制御モジュール116)とによって構成される。
【0043】
ここで、ラウンドアバウトでの加減速(制御モジュール111)及び緊急停止(制御モジュール112)は、いずれもニューラルネットワークNNによって演算を行う。
レーン走行(制御モジュール115、制御モジュール116、制御モジュール117、制御モジュール117a、及び制御モジュール117b)は、いずれもニューラルネットワークNNとPID(Proportional−Integral−Differential)制御アルゴリズムとによって演算を行う。
先行車に応じた加減速(制御モジュール113)、対向車・合流先の車両に応じた加減速(制御モジュール113a)及び一旦停止線での停止(制御モジュール113b)は、いずれもルールベース演算によって演算を行う。ルールベース演算とは、車載装置30に与える制御情報CMDを算出する演算手順について、検出結果DRと制御情報CMDとの対応関係が予め定められているものをいう。ルールベース演算の一例には、if−then−elseによる条件分岐によって制御情報CMDを算出する演算方式がある。
【0044】
選択モジュール101は、取得部120が取得した検出結果DRに基づき、選択モジュール102又は緊急行動モードMD3の制御モジュール110のうち、いずれか一方を選択する。一例として、車両CRの走行中に、横道からの人の飛び出しや前車の積載物の落下などの緊急状態が発生した場合には、選択モジュール101は、緊急行動モードMD3の制御モジュール110を選択する。選択モジュール101は、この一例のような緊急状態が発生していなければ選択モジュール102を選択する。
【0045】
選択モジュール102は、検出結果DRに基づき、ゆずりあいモードMD1又は選択モジュール103のうち、いずれか一方を選択する。一例として、車両CRがラウンドアバウト(環状交差点)を走行している状態では、車両同士が互いにゆずりあって走行することにより車両群全体が効率よく走行することができるという場合がある。このような場合には、選択モジュール102は、ゆずりあいモードMD1を選択する。選択モジュール102は、ラウンドアバウトを走行していなければ選択モジュール103を選択する。
【0046】
選択モジュール103は、選択モジュール104又は直線路走行モードMD2−2のうち、いずれか一方を選択する。一例として、車両CRがラウンドアバウトや交差点を走行する場合には、選択モジュール103は、選択モジュール104を選択する。車両CRが直線路を走行する場合には、選択モジュール103は、直線路走行モードMD2−2を選択する。
【0047】
選択モジュール104は、加減速モードMD2−1−1又は停止モードMD2−1−2のうち、いずれか一方を選択する。一例として、車両CRが信号機付きの交差点において停止(赤)信号が現示されている場合や一時停止標識のある交差点を走行する場合には、選択モジュール104は、停止モードMD2−1−2を選択する。車両CRがラウンドアバウト内に合流する場合や、ラウンドアバウト内を先行車に追従して走行する場合などには、選択モジュール104は、加減速モードMD2−1−1を選択する。
【0048】
各制御モードMDに属する制御モジュール110は、選択モジュール100によって選択されると、出力部130を介して各ECU300に演算結果を制御情報CMDとして出力する。
【0049】
[演算モジュールMDLの学習手順]
図8は、本実施形態の演算モジュールMDLの学習手順の一例を示す図である。一例として、制御モジュール110が前段制御モジュール110aと後段制御モジュール110bとの2階層で構成されており、選択モジュール100が複数の前段制御モジュール110aのうちから、特定の前段制御モジュール110aを選択するように構成されている場合について説明する。
【0050】
第1段階においては、後段制御モジュール110bの学習(例えば、機械学習)が行われる(図8(A))。この後段制御モジュール110bには、PID制御アルゴリズムが含まれている。第1段階においては、このPID制御のパラメータをどのような値にすればよいかを学習させる。
第2段階においては、学習済みの後段制御モジュール110bを前段制御モジュール110aに接続して、前段制御モジュール110aの学習が行われる(図8(B))。この第2段階においては、前段制御モジュール110aごとに、システム設計者がどのような走行シーン向けの前段制御モジュール110aであるかを決めて、その走行シーンのデータに基づいて学習させる。すなわち、前段制御モジュール110aについて、特定の走行シーンだけに絞って学習させる。
第3段階においては、学習済みの後段制御モジュール110b及び前段制御モジュール110aを選択モジュール100に接続して、選択モジュール100を学習させる(図8(C))。この第3段階においては、検出結果DRに対する前段制御モジュール110aの挙動を観察しつつ、ある検出結果DRについて、どの前段制御モジュール110aを選択すればよいのかを探る。この結果、第3段階においては、ある検出結果DRがどのような走行シーンを示しているのかを選択モジュール100に学習させることになる。
【0051】
すなわち、この一例では、ある演算モジュールMDLの後段の演算モジュールMDLは2つ以上あり、それぞれ異なる状況に特化して動力、操舵装置、制動装置の制御情報CMDを決定できるように機械学習した後に、前段の演算モジュールMDLに接続される。前段のモジュールは自動車の走行中に得られたセンサ部200や検出結果処理部210の検出結果DRから状況判断を行い、そのときの状況に応じて後段の演算モジュールMDLのいずれか1つを選択して動作させる。動作した後段の演算モジュールMDLはセンサ部200や検出結果処理部210の検出結果DRから動力、操舵装置、制動装置の制御情報CMDを決定する。
【0052】
[第1の実施形態のまとめ]
以上説明したように演算モジュールMDLを構成することにより、車載制御装置10は、演算モジュールMDL毎に学習させることができ、かつ学習済みの演算モジュールMDLを用いて他の演算モジュールMDLを学習させることができる。このため、車載制御装置10によれば、すべての演算モジュールMDLを同時に学習させる場合に比べて学習効率が高くなり、短期間で学習させることができる。つまり、車載制御装置10によれば、車両CRの挙動を制御するための演算モジュールMDLの学習の難度を低減することができる。
【0053】
また、上述したように、車載制御装置10の演算モジュールMDLは、制御モジュール110が複数の階層に分割されて構成されている。すなわち、車載制御装置10は、車両CRの目標挙動TB(例えば、何秒後にどの地点をどれくらいの速度で通過するべきかを示した走行計画)を決定する前段制御モジュール110aと、与えられた目標挙動TB(例えば、上述の走行計画)を実現できるように動力、操舵装置、制動装置の制御信号を決定する後段制御モジュール110bとを含んで構成される。上述した実施例1の構成と比較すると、機械学習をする必要のある演算モジュールMDLの総数は増えている代わりに、それぞれの演算モジュールMDLで解決するべき問題の抽象度は分割前に比べて低くなる。このため、それぞれの制御モジュール110に対して適用する機械学習のモデルの規模や複雑さは低減する。つまり、車載制御装置10によれば、車両CRの挙動を制御するための演算モジュールMDL(制御モジュール110)の学習の難度を低減することができる。
【0054】
また、上述したように、車載制御装置10の演算モジュールMDLは、選択モジュール100が複数の階層に分割されて構成されている。すなわち、車載制御装置10は、選択モジュール100が、前段選択モジュール100a及び後段選択モジュール100bのように階層化され、木構造に連なる複数段のモジュールで構成される。この木構造の各段の選択モジュール100はそれぞれ自身の後ろに連なる演算モジュールMDLのいずれか1つを選択して動作させることで、状況判断を段階的に進めていく。上述した実施例1の構成と比較すると、機械学習をする必要のあるモジュールの総数は増えている代わりに、選択モジュール100で解決するべき問題の抽象度は分割前に比べて低くなる。例えば、選択モジュール100に対して適用する機械学習のモデルの規模や複雑さは選択モジュール100の木構造全体で分散される。このため、それぞれの選択モジュール100に対して適用する機械学習のモデルの規模や複雑さは低減する。つまり、車載制御装置10によれば、車両CRの挙動を制御するための演算モジュールMDL(選択モジュール100)の学習の難度を低減することができる。
【0055】
[第2の実施形態]
以下、第2の実施形態に係る車載制御装置10について説明する。なお、以下の説明では、上述した第1の実施形態において説明した各部及び各動作と同一のものについては、同一の符号を付してその説明を省略する。本実施例では、ルールベース演算によって選択する選択モジュール100が含まれている点で第1の実施形態と異なる。また、本実施例では、選択モジュール100が、選択候補の演算モジュールMDLの正解率に基づいて次段の演算モジュールMDLを選択する点で第1の実施形態と異なる。
【0056】
[ルールベース演算による演算モジュールの選択]
本実施形態の選択モジュール100には、第1の選択モジュール100NNと、第2の選択モジュール100RBとが含まれる。
第1の選択モジュール100NNは、取得部120が取得した検出結果(検出情報)DRに基づいて、次階層の複数の演算モジュールMDLの中から車両CRの周囲の状況に応じた演算を行う演算モジュールMDLを、ニューラルネットワークNNによる演算によって選択する。
第2の選択モジュール100RBは、取得部120が取得した検出結果(検出情報)DRに基づいて、次階層の複数の演算モジュールMDLの中から車両CRの周囲の状況に応じた演算を行う演算モジュールMDLを、検出結果(検出情報)DRと制御情報CMDとの対応関係が予め定められているルールベース演算によって選択する。
制御モジュール110は、上述した第1の選択モジュール100NN又は第2の選択モジュール100RBのいずれかによって選択され、検出結果(検出情報)DRに基づいて制御情報CMDを生成する。
【0057】
また、制御モジュール110には、ルールベース制御モジュール110RBが含まれる。このルールベース制御モジュール110RBは、検出結果DRに基づいて、車載装置30に与える制御情報CMDをルールベース演算によって生成する。
【0058】
[正解率に基づく演算モジュールの選択]
選択モジュール100は、階層化されている。階層化された選択モジュール100には、前段選択モジュール100aと、後段選択モジュール100bとがある。このうち、前段選択モジュール100aは、車両CRの周囲の状況に基づく選択についての、自モジュールによる選択の正解率VLDと、後段選択モジュール100bによる選択の正解率VLDとに基づいて、自モジュールが制御モジュール110を選択するか、後段選択モジュール100bに制御モジュール110を選択させるかを判定する。ここで、正解率VLDとは、演算モジュールMDLが出力する情報の正しさの程度をいう。例えば、正解率VLDは、選択モジュール100が選択する結果が、車両CRの周囲の状況に応じた正しい結果になる割合によって示される。また例えば、正解率VLDは、制御モジュール110が出力する制御情報CMDのうち、車両CRの挙動が正しい挙動になる制御情報CMD(すなわち、正しい制御情報CMD)を出力できる割合によって示される。これらの場合において、車両CRの周囲の状況に応じた「正しい選択結果」や、車両CRの「正しい挙動」は、車両CRの周囲の状況ごとに予め定義されている。
【0059】
[演算モジュールの選択処理の流れ]
次に、図9を参照して、車載制御装置10の処理の流れの一例について説明する。
図9は、本実施形態の車載制御装置10の処理の流れの一例を示す図である。この一例において、車載制御装置10は、選択モジュールA〜Dの4つの選択モジュール100と、制御モジュールA1〜D2の8つの制御モジュール110とを備える。
選択モジュールAは、ニューラルネットワークNNによる前段選択モジュール100a、すなわち第1の選択モジュール100NNである。選択モジュールBは、ルールベース演算による前段選択モジュール100a、すなわち第2の選択モジュール100RBである。選択モジュールC及び選択モジュールDは、後段選択モジュール100bである。
制御モジュールA1〜D2は、それぞれ、ある車両CRの周囲の状況に応じた制御情報CMDを生成する。
【0060】
(ステップS310)選択モジュールAは、選択モジュールA又は選択モジュールCのうち、正解率VLDがより高い選択モジュール100を選択する。ここで、選択モジュールAは、選択モジュールA及び選択モジュールCのそれぞれについて、選択した場合の正解率VLDを推定する。選択モジュールAは、推定した正解率VLDが最も高い選択モジュール100を、選択モジュール100の中から選択する。また、選択モジュールAは、選択モジュールA及び選択モジュールCの正解率VLDがいずれも、ある基準値を満たしていない場合には、選択モジュールBを、ニューラルネットワークNNの演算によって選択する。
(ステップS320)ステップS310において選択モジュールAが選択された場合、選択モジュールAは、制御モジュールA1又は制御モジュールA2のうち、車両CRの周囲の状況に適した制御モジュール110を選択する。
(ステップS330)ステップS310において選択モジュールBが選択された場合、選択モジュールBは、検出結果DRに対応するルールがあるか否かを判定する。ルールがあると判定された場合(ステップS330;YES)には、選択モジュールBは、制御モジュールB1又は制御モジュールB2のうち、車両CRの周囲の状況に適した制御モジュール110を、ルールベース演算によって選択する(ステップS340)。
(ステップS350)ステップS310において選択モジュールCが選択された場合、選択モジュールCは、制御モジュールC1又は制御モジュールC2のうち、車両CRの周囲の状況に適した制御モジュール110を選択する。
(ステップS360)ステップS330においてルールがないと判定された場合(ステップS330;NO)には、選択モジュールDは、制御モジュールD1又は制御モジュールD2のうち、車両CRの周囲の状況に適した制御モジュール110を選択する。
【0061】
(ステップS370−1〜−8)制御モジュールA1〜D2は、選択モジュール100によって選択されると、検出結果DRに基づいて制御情報CMDを生成する。
【0062】
[演算モジュールの学習の流れ]
次に、図10を参照して演算モジュールMDLの学習の流れの一例について説明する。
図10は、本実施形態の車載制御装置10に提供される演算モジュールMDLの学習の流れの一例を示す図である。ここで、演算モジュールMDLは、データセンタDCの再学習部DC2による学習された後に、車載制御装置10に提供される。以下、再学習部DC2による演算モジュールMDLの学習の流れについて説明する。この一例では、演算モジュールMDLは、1つの前段選択モジュール100aと、2つの後段選択モジュール100b(100b−1及び100b−2)と、3つの制御モジュール110(110−1〜−3)によって構成される。
【0063】
(ステップS400)再学習部DC2は、ログデータベースDC1から検出結果DRを取得する。
(ステップS410)再学習部DC2は、取得した検出結果DRを前段選択モジュール100aに供給して、演算モジュールMDLの正解率VLDの推定をさせ、正解率VLDの高い演算モジュールMDLを選択するための学習をさせる。
(ステップS420)再学習部DC2は、前段選択モジュール100aに検出結果DRを供給して、検出結果DRから車両CRの周囲の状況を分類(判定)するための学習をさせる。
(ステップS430、ステップS440)再学習部DC2は、前段選択モジュール100aが選択した後段選択モジュール100b及び制御モジュール110に検出結果DRを供給し、制御情報CMDを生成させる。
(ステップS450、ステップS460)再学習部DC2は、ステップS440(ステップS440−1〜−3)において生成された制御情報CMDをECU300(又はECU300のエミュレータ)に供給し、その制御情報CMDとECU300の出力とを観測する。再学習部DC2は、観測したECU300の出力と、所望の(正しい)車両CRの挙動とを比較して得られる制御結果の適否(良し悪し)を教師データとして、演算モジュールMDLを学習させる。
【0064】
[第2の実施形態のまとめ]
以上説明したように演算モジュールMDLを構成することにより、車載制御装置10は、演算モジュールMDL毎に学習させることができ、かつ学習済みの演算モジュールMDLを用いて他の演算モジュールMDLを学習させることができる。このため、車載制御装置10によれば、すべての演算モジュールMDLを同時に学習させる場合に比べて学習効率が高くなり、短期間で学習させることができる。つまり、車載制御装置10によれば、車両CRの挙動を制御するための演算モジュールMDLの学習の難度を低減することができる。
【0065】
また、本実施形態の車載制御装置10は、ルールベース演算によって演算モジュールMDLを選択する選択モジュール100(第2の選択モジュール100RB)を備える。例えば、停止(赤)信号や、注意(黄)信号、一時停止標識など、交通法規上、車両CRに対して所定の挙動が求められる状況がある。このような所定の挙動について、if−then−elseの条件分岐などによるルールベース演算にすれば、ニューラルネットワークNNの学習対象となる状況をより少なくすることができる。
より具体的には、車両CRが遭遇する状況のうち、いくつかの状況については、その状況であると定義されるのはどのような条件のときか、その状況においてはどのような挙動にしなければならないかが明確に定められている。この場合、本実施形態の車載制御装置10は、挙動が明確に定められている状況については、所定の条件を元にルールベース演算による選択モジュール100(第2の選択モジュール100RB)によって状況を判定し、挙動が明確に定められていない状況については、ニューラルネットワークNNによる選択モジュール100(第1の選択モジュール100NN)によって状況を判定する。このように構成することにより、車載制御装置10は、様々な状況の分類を実現しながらも、すべての選択モジュール100をニューラルネットワークNNによるものとする場合に比べ、学習データの量を低減することができる。
つまり、本実施形態の車載制御装置10は、車両CRの挙動を制御するための演算モジュールMDL(選択モジュール100)の学習の難度を低減することができる。
【0066】
また、本実施形態の車載制御装置10は、ルールベース演算によって制御情報CMDを生成するルールベース制御モジュール110RBを備えている。一部の制御情報CMDの生成をルールベース演算によって行えば、ニューラルネットワークNNの学習対象となる状況をより少なくすることができる。つまり、本実施形態の車載制御装置10は、車両CRの挙動を制御するための演算モジュールMDL(制御モジュール110)の学習の難度を低減することができる。
【0067】
また、本実施形態の車載制御装置10は、前段選択モジュール100aが正解率VLDに基づいて、いずれの演算モジュールMDLを選択するべきかを判定する。このように正解率VLDに基づいて演算モジュールMDLを選択することにより、車載制御装置10は、車両CRの周囲の状況により適した演算モジュールMDLを選択することができる。
【0068】
以上、本発明の実施形態及びその変形を説明したが、これらの実施形態及びその変形は、例として提示したものであり、発明の範囲を限定することは意図していない。これら実施形態及びその変形は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態及びその変形は、発明の範囲や要旨に含まれると同時に、特許請求の範囲に記載された発明とその均等の範囲に含まれるものである。
【0069】
なお、上述の各装置は内部にコンピュータを有している。そして、上述した各装置の各処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。ここでコンピュータ読み取り可能な記録媒体とは、磁気ディスク、光磁気ディスク、CD−ROM、DVD−ROM、半導体メモリ等をいう。また、このコンピュータプログラムを通信回線によってコンピュータに配信し、この配信を受けたコンピュータが当該プログラムを実行するようにしてもよい。
【0070】
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。
さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【符号の説明】
【0071】
10…車載制御装置、100…選択モジュール、100a…前段選択モジュール、100b…後段選択モジュール、100NN…第1の選択モジュール、100RB…第2の選択モジュール、110…制御モジュール、110RB…ルールベース制御モジュール、120…取得部、130…出力部
CMD…制御情報、DR…検出結果、MDL…演算モジュール、VLD…正答率
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10