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

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

▶ 日立オートモティブシステムズ株式会社の特許一覧
特許6781089電子制御装置、電子制御システム、電子制御装置の制御方法
<>
  • 特許6781089-電子制御装置、電子制御システム、電子制御装置の制御方法 図000002
  • 特許6781089-電子制御装置、電子制御システム、電子制御装置の制御方法 図000003
  • 特許6781089-電子制御装置、電子制御システム、電子制御装置の制御方法 図000004
  • 特許6781089-電子制御装置、電子制御システム、電子制御装置の制御方法 図000005
  • 特許6781089-電子制御装置、電子制御システム、電子制御装置の制御方法 図000006
  • 特許6781089-電子制御装置、電子制御システム、電子制御装置の制御方法 図000007
  • 特許6781089-電子制御装置、電子制御システム、電子制御装置の制御方法 図000008
  • 特許6781089-電子制御装置、電子制御システム、電子制御装置の制御方法 図000009
  • 特許6781089-電子制御装置、電子制御システム、電子制御装置の制御方法 図000010
  • 特許6781089-電子制御装置、電子制御システム、電子制御装置の制御方法 図000011
  • 特許6781089-電子制御装置、電子制御システム、電子制御装置の制御方法 図000012
  • 特許6781089-電子制御装置、電子制御システム、電子制御装置の制御方法 図000013
  • 特許6781089-電子制御装置、電子制御システム、電子制御装置の制御方法 図000014
  • 特許6781089-電子制御装置、電子制御システム、電子制御装置の制御方法 図000015
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6781089
(24)【登録日】2020年10月19日
(45)【発行日】2020年11月4日
(54)【発明の名称】電子制御装置、電子制御システム、電子制御装置の制御方法
(51)【国際特許分類】
   G06F 11/22 20060101AFI20201026BHJP
   G06F 15/78 20060101ALI20201026BHJP
【FI】
   G06F11/22 605G
   G06F15/78 560
【請求項の数】7
【全頁数】20
(21)【出願番号】特願2017-63644(P2017-63644)
(22)【出願日】2017年3月28日
(65)【公開番号】特開2018-165946(P2018-165946A)
(43)【公開日】2018年10月25日
【審査請求日】2019年4月11日
(73)【特許権者】
【識別番号】509186579
【氏名又は名称】日立オートモティブシステムズ株式会社
(74)【代理人】
【識別番号】110002365
【氏名又は名称】特許業務法人サンネクスト国際特許事務所
(72)【発明者】
【氏名】植田 泰輔
(72)【発明者】
【氏名】堤 聡
(72)【発明者】
【氏名】遠藤 英樹
(72)【発明者】
【氏名】坂本 英之
【審査官】 田中 幸雄
(56)【参考文献】
【文献】 特表2006−518056(JP,A)
【文献】 特開平10−82839(JP,A)
【文献】 特開2014−48125(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 15/78
G06F 11/22
G01M 17/007
G01R 31/28
(57)【特許請求の範囲】
【請求項1】
再構成指令に基づき再構成可能な論理回路と、
前記論理回路に構成される演算部と、
前記論理回路への前記演算部の再構成指令の送信および再構成された前記演算部に所定の演算を実行させる処理制御部と、
前記演算部が再構成されると前記演算部を対象に動作試験を実行して前記動作試験の結果を前記処理制御部に通知として送信する試験部と、を備え、
前記処理制御部は、前記試験部から受信する前記通知に基づき前記演算部に前記所定の処理を実行させ
前記演算部に接続され、前記演算部との入出力を前記処理制御部および前記試験部のいずれかに切り替える選択部をさらに備え、
前記試験部は、前記演算部が再構成されると前記入出力を前記試験部と接続させ、前記動作試験が終了すると前記処理制御部と接続させる電子制御装置。
【請求項2】
請求項に記載の電子制御装置であって、
前記試験部は前記論理回路に構成される電子制御装置。
【請求項3】
請求項に記載の電子制御装置であって、
前記処理制御部は前記論理回路に構成される電子制御装置。
【請求項4】
再構成指令に基づき再構成可能な論理回路と、
前記論理回路に構成される演算部と、
前記論理回路への前記演算部の再構成指令の送信および再構成された前記演算部に所定の演算を実行させる処理制御部と、
前記演算部が再構成されると前記演算部を対象に動作試験を実行して前記動作試験の結果を前記処理制御部に通知として送信する試験部と、を備え、
前記処理制御部は、前記試験部から受信する前記通知に基づき前記演算部に前記所定の処理を実行させ
前記処理制御部が送信する前記再構成指令には再構成される前記演算部の回路情報が含まれ、
前記試験部は、前記回路情報に応じた前記動作試験を実行し、
前記論理回路には、前記回路情報ごとに前記演算部に入力するデータと前記演算部からの出力が期待されるデータとの組み合わせが格納される試験情報記憶部がさらに構成され、
前記試験部は、前記試験情報記憶部に格納された情報を用いて前記動作試験を行う電子制御装置。
【請求項5】
請求項に記載の電子制御装置であって、
前記試験情報記憶部には、前記回路情報ごとに前記演算部に入力するデータと前記演算部からの出力が期待されるデータとの組み合わせが複数格納される電子制御装置。
【請求項6】
請求項に記載の電子制御装置であって、
前記試験情報記憶部には、前記回路情報ごとに実行回数がさらに組み合わされて格納さ
れ、
前記試験部は、前記回路情報に基づいて、複数の前記組み合わせからいずれかの組み合わせをランダムに選択して前記動作試験を実行することを前記実行回数だけ繰り返す電子制御装置。
【請求項7】
再構成指令に基づき再構成可能な論理回路と、接続されるセンサから処理周期ごとに前記センサが取得したセンサ情報を受信する通信インタフェースとを備える電子制御装置の制御方法において、
前記処理周期ごとに少なくとも1回は前記論理回路に演算部を再構成することと、
前記演算部が再構成されると前記演算部の動作試験を実行することと、
前記動作試験の結果に基づき、再構成された前記演算部に前記センサ情報を用いた所定の処理を実行させることとを含む電子制御装置の制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、電子制御装置、電子制御システム、および電子制御装置の制御方法に関する。
【背景技術】
【0002】
車両の自動運転を目指した技術開発が進められている。自動運転は運転者に代わり周囲の認識、車両の制御を行う必要があり、膨大な情報処理が必要になる。増大する情報処理に対応するため、CPUに加えてハードウェアチップを用いる検討が進められている。情報処理の内容は修正が加えられることもあるため、ハードウェアチップの中でも再構成可能なFPGA(Field Programmable Gate Array)等のPLD(Programmable Logic Device)が注目されている。特許文献1には、プログラムによってデバイス内部の回路情報が電気的に書込まれることでディジタル回路の動作が決定されかつ前記回路情報が電気的に書き換え自在なフィールドプログラマブルゲートアレイを実装する複数の基板各々の自己診断を行うLSI論理回路評価装置であって、外部指示に応じて前記フィールドプログラマブルゲートアレイの出力信号を他の基板に接続する接続手段と、前記外部指示に応じて前記フィールドプログラマブルゲートアレイの出力信号を自基板に折り返す折り返し手段とを前記複数の基板各々に有することを特徴とするLSI論理回路評価装置が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2004−302727号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明者らは、1つの論理回路において再構成と演算の実行とを繰り返すことで、大規模な論理回路を用いることなく複数の異なる処理を順次実行可能である点に着目した。さらに本発明者らは、再構成に問題が生じることもあるので、再構成の後に動作試験が必要であることを見出した。しかし特許文献1に記載の発明では、再構成した論理回路の動作試験を行うことができない。
【課題を解決するための手段】
【0005】
本発明の第1の態様による電子制御装置は、再構成指令に基づき再構成可能な論理回路と、前記論理回路に構成される演算部と、前記論理回路への前記演算部の再構成指令の送信および再構成された前記演算部に所定の演算を実行させる処理制御部と、前記演算部が再構成されると前記演算部を対象に動作試験を実行して前記動作試験の結果を前記処理制御部に通知として送信する試験部と、を備え、前記処理制御部は、前記試験部から受信する前記通知に基づき前記演算部に前記所定の処理を実行させ、前記演算部に接続され、前記演算部との入出力を前記処理制御部および前記試験部のいずれかに切り替える選択部をさらに備え、前記試験部は、前記演算部が再構成されると前記入出力を前記試験部と接続させ、前記動作試験が終了すると前記処理制御部と接続させる
本発明の第2の態様による電子制御装置は、再構成指令に基づき再構成可能な論理回路と、前記論理回路に構成される演算部と、前記論理回路への前記演算部の再構成指令の送信および再構成された前記演算部に所定の演算を実行させる処理制御部と、前記演算部が再構成されると前記演算部を対象に動作試験を実行して前記動作試験の結果を前記処理制御部に通知として送信する試験部と、を備え、前記処理制御部は、前記試験部から受信する前記通知に基づき前記演算部に前記所定の処理を実行させ、前記処理制御部が送信する前記再構成指令には再構成される前記演算部の回路情報が含まれ、前記試験部は、前記回路情報に応じた前記動作試験を実行し、前記論理回路には、前記回路情報ごとに前記演算部に入力するデータと前記演算部からの出力が期待されるデータとの組み合わせが格納される試験情報記憶部がさらに構成され、前記試験部は、前記試験情報記憶部に格納された情報を用いて前記動作試験を行う。
本発明の第3の態様による電子制御装置の制御方法は、再構成指令に基づき再構成可能な論理回路と、接続されるセンサから処理周期ごとに前記センサが取得したセンサ情報を受信する通信インタフェースとを備える電子制御装置の制御方法において、前記処理周期ごとに少なくとも1回は前記論理回路に演算部を再構成することと、前記演算部が再構成されると前記演算部の動作試験を実行することと、前記動作試験の結果に基づき、再構成された前記演算部に前記センサ情報を用いた所定の処理を実行させることとを含む。

【発明の効果】
【0006】
本発明によれば、論理回路を再構成するたびに再構成された論理回路の正常性を確認することができる。
【図面の簡単な説明】
【0007】
図1】電子制御システム1の構成図
図2】自律走行制御装置2のハードウエア構成図
図3】自律走行制御装置2の機能構成図
図4】処理情報DB3の一例を示す図
図5】ログDB4の一例を示す図
図6】試験DB5の一例を示す図
図7】処理制御部202における周期処理を示すフローチャート
図8】試験部204における動作試験処理を示すフローチャート
図9】自律走行制御装置2の動作例を示す図
図10】自律走行制御装置2の動作例を示す図
図11】サーバ装置110から自律走行制御装置2への情報受信を示すシーケンス図
図12】変形例1における自律走行制御装置2の機能構成図
図13】変形例2における自律走行制御装置2の機能構成図
図14】変形例3における自律走行制御装置2の機能構成図
【発明を実施するための形態】
【0008】
―実施の形態―
以下、図1図11を参照して、電子制御システムの第1の実施の形態を説明する。
【0009】
図1は、本発明の一実施形態に係る電子制御システム1の構成図である。電子制御システム1は、サーバ装置110と車両100とを備える。車両100は、車両100に搭載された不図示のカメラから映像情報を取得するカメラ情報取得部101と、車両100に搭載された不図示のレーザレンジファインダから出力を受信するレーダ情報取得部102とを備える。車両100はさらに不図示の衛星航法用受信機、たとえばGPSに対応する受信機から車両100の位置を示す情報を受信する自車位置情報取得部103と、車両100に自動運転を設定するための自動運転設定部104を備える。
【0010】
また、電子制御システム1は、無線通信部105を備える。無線通信部105は、無線ネットワークを介してサーバ装置110に接続され、サーバ装置110から後述する情報を受信して自律走行制御装置2に出力する。すなわち無線通信部105は、OTA(Over−The−Air)により電子制御システム1の情報を更新する。
【0011】
さらに電子制御システム1は、自律走行制御装置2と、補助制御部106と、ブレーキ制御部107と、エンジン制御部108と、パワーステアリング制御部109とを備える。自律走行制御装置2、補助制御部106、ブレーキ制御部107、エンジン制御部108、およびパワーステアリング制御部109は、たとえばECU(Electronic Control Unit)である。
【0012】
カメラ情報取得部101、レーダ情報取得部102、自車位置情報取得部103、自動運転設定部104、無線通信部105、自律走行制御装置2、補助制御部106、ブレーキ制御部107、エンジン制御部108、およびパワーステアリング制御部109は、CAN(Controller Area Network)の車載ネットワークによって相互に通信可能に接続される。
【0013】
カメラ情報取得部101、レーダ情報取得部102、および自車位置情報取得部103は、それぞれがセンサなどから受信した情報を自律走行制御装置2に送信する。自動運転設定部104は、自動運転時の目的地、ルート、走行速度等の設定情報を自律走行制御装置2に送信する。ただし自動運転設定部104が送信する情報の一部が無線通信部105を介してサーバ装置110など外部から受信したものであってもよい。
【0014】
自律走行制御装置2は、自動運転制御のための処理を行い処理結果に基づいて制御指令を、ブレーキ制御部107、エンジン制御部108、およびパワーステアリング制御部109へ出力する。補助制御部106は、自律走行制御装置2と同様の制御を補助として行う。ブレーキ制御部107は、車両100の制動力を制御する。エンジン制御部108は、車両100の駆動力を制御する。パワーステアリング制御部109は、車両100のステアリングを制御する。
【0015】
自律走行制御装置2は、自動運転設定部104により自動運転の設定要求を受け付けると、カメラ情報取得部101、レーダ情報取得部102、自車位置情報取得部103等からの外界の情報を基に車両100が移動する軌道を算出する。そして、自律走行制御装置2は、算出した軌道に従って車両100を移動させるように、制動力、駆動力、操舵などの制御指令を、ブレーキ制御部107、エンジン制御部108、およびパワーステアリング制御部109に出力する。ブレーキ制御部107、エンジン制御部108、およびパワーステアリング制御部109は、自律走行制御装置2から制御指令を受けて、それぞれ不図示の制御対象であるアクチュエータに操作信号を出力する。
【0016】
<自律走行制御装置のハードウエア構成>
図2は、自律走行制御装置2のハードウエア構成図である。自律走行制御装置2は、CPU251と、ROM252と、RAM253と、フラッシュメモリ254と、論理回路255と、通信インタフェース256とを備える。CPU251は、ROM252に格納されたプログラムをRAM253に展開して実行することで後述する機能を実現する。フラッシュメモリ254は不揮発性の記憶領域である。なおCPU251は、ロックステップ方式を採用した複数のコアを持つプロセッサであってもよい。
【0017】
論理回路255は、FPGA(Field Programmable Gate Array)などのPLD(Programmable Logic Device)を用いた再構成可能な論理回路である。論理回路255はその一部のみを再構成することがが可能である。通信インタフェース256は、CAN等の所定のプロトコルで通信するインタフェースである。自律走行制御装置2は、通信インタフェース256を介して他の装置に接続され、データを送受信する。ただし通信インタフェース256は、外部の機器と接続される2つの通信ポートを備えてもよいし、通信ポートを1つのみ備えてもよい。
【0018】
<自律走行制御装置の機能構成>
図3は、自律走行制御装置2の機能構成図である。自律走行制御装置2は、第1通信インタフェース201A、第2通信インタフェース201B、処理制御部202、再構成回路203、試験部204、選択部205、演算部206、処理情報データベース(以下、処理情報DB)3、ログデータベース(以下、ログDB)4、試験データベース(以下、試験DB)5、および回路データベース(以下、回路DB)6を有する。以下では、第1通信インタフェース201A、第2通信インタフェース201Bをまとめて、「通信インタフェース201」と呼ぶ。通信インタフェース201は、図2の通信インタフェース256により実現される。処理情報DB3、ログDB4、および回路DB6は、フラッシュメモリ254により実現される。再構成回路203は、論理回路255により実現される。試験部204、選択部205、演算部206、および試験DB5は、再構成回路203に構成される。
【0019】
自律走行制御装置2は、第1通信インタフェース201Aを介して、図1のカメラ情報取得部101、レーダ情報取得部102、自車位置情報取得部103、自動運転設定部104、および無線通信部105と接続され、第2通信インタフェース201Bを介して補助制御部106、ブレーキ制御部107、エンジン制御部108、およびパワーステアリング制御部109と接続される。なお図3では、自律走行制御装置2は第1通信インタフェース201Aおよび第2通信インタフェース201Bの論理的な2つの通信インタフェースを備えるが、両者の機能を併せ持つ1つの論理的な通信インタフェースのみを備えてもよい。
【0020】
処理制御部202は、CPU251により実行されるプログラムにより実現され、処理周期Tで後述する処理を繰り返し実行する。処理制御部202は、カメラ情報取得部101、レーダ情報取得部102、および自車位置情報取得部103からのセンサ情報や、自動運転設定部104からの自動運転設定情報を周期的に収集する。処理制御部202は、処理情報DB3を参照し、収集したセンサ情報や、自動運転設定情報に対して実施する処理回数、および処理情報を判定する。処理情報DB3の詳細は図4を参照して後述する。
【0021】
処理制御部202は、処理情報DB3を参照して判定した処理回数、および処理情報を基に演算部206を再構成する。回路DB6は、再構成回路203内の回路領域に書き込まれて演算部206等の論理回路を形成する処理回路データを記憶する。
【0022】
試験部204は、演算部206が再構成されたると、試験DB5を参照して演算部206の動作試験を実施する。選択部205は、処理制御部202、試験部204、および演算部206に接続され、演算部206の入出力を、処理制御部202または試験部204のいずれかの入出力と接続する。試験部204は、動作試験中は演算部206と試験部204を接続するように選択部205を設定して動作試験を実施する。試験部204は、動作試験が終了すると、演算部206と処理制御部202を接続するように選択部205を設定するとともに、試験結果を処理制御部202に通知する。試験DB5の詳細は図6を参照して記述する。
【0023】
処理制御部202は、試験部204より通知された試験結果をログDB4に格納する。ログDB4の詳細は図5を参照して記述する。処理制御部202は、試験部204による動作試験の結果がOKの場合に、演算部206にセンサ情報などを用いた演算処理を実行させる。
【0024】
演算部206は、処理情報DB3の処理回数、および処理情報を基に判定された処理回路データにより論理回路が再構成されて、所定の処理を実行する。処理制御部202は、演算部206が実行した処理結果を基に、制動力や駆動力などの制御指令を第2通信インタフェース201Bから出力する。
【0025】
なお、処理制御部202は、サーバ装置110から無線通信部105を介して処理情報の更新を受信すると、処理情報DB3、回路DB6、および試験DB5の内容を更新する。これらの更新によって、次の処理周期以降に演算部206に実行させる処理、および、演算部206を再構成する際に実施する動作試験の内容を更新することができる。処理情報の更新の例は図11を参照して後述する。
【0026】
<処理情報データベースの構成例>
図4は、処理情報DB3の一例を示す図である。
処理情報DB3は、処理制御部202によって参照される。処理情報DB3には、収集したセンサ情報や、自動運転設定情報に対して演算部206が実施する処理内容が格納される。処理情報DB3は、処理回数301、および処理情報302のフィールドを有する。処理回数301には、演算部206が演算を行う回数、換言すると演算部206が再構成される回数が格納される。処理情報302には、複数の処理情報、たとえば処理情報1〜処理情報3から構成され、それぞれの処理に対応する演算部206の回路の名称、および当該処理に要する目安の時間が格納される。ただし、処理に要する目安の時間は、設計する上で全体の処理に要する時間を確認するための参考値であり、処理情報DB3に記憶されなくてもよい。
【0027】
例えば図4に示す例では、回数301のフィールドに「3」が格納されているので、演算部206の再構成および演算部206による処理が3回行われることが示されている。また、符号302−1〜符号302−3で示す処理情報1〜処理情報3のフィールドに格納されている情報から、演算部206が回路A、回路B、回路Cに書き換えられることが示されている。前述のとおり、図4に示す処理情報DB3は一例であり、処理情報302を構成する処理情報の数は3以外でもよい。すなわち処理情報302が2つの処理情報から構成されてもよいし、4以上の処理情報から構成されてもよい。
【0028】
<ログデータベースの構成例>
図5は、ログDB4の一例を示す図である。
ログDB4には、処理制御部202により試験部204から通知された試験結果が格納される。ログDB4は複数のレコードから構成され、各レコードは処理時刻401、回路種別402、試験結果403、および処理状態404のフィールドを有する。処理時刻401のフィールドには、自律走行制御装置2が内部で管理する時刻情報において、論理回路の再構成処理を実施した時刻が格納される。回路種別402のフィールドには、再構成された演算部206の論理回路を示す情報が格納される。試験結果403のフィールドには、試験部204から通知された演算部206の試験結果が格納される。処理状態404のフィールドには、試験結果403の情報を受けて、処理制御部202が判断する自律走行制御装置2の処理状態が格納される。
【0029】
例えば図5に示す1つ目のレコードは、処理時刻401がaa:aa:aaの時に、演算部206は回路種別402が論理回路Aの回路に再構成され、試験結果403はOKであり、処理状態404は正常であったことを示す。また図5に示す2つ目のレコードは、処理時刻401がbb:bb:bbの時に、演算部206は回路種別402が論理回路Bの回路に再構成され、試験結果403はNGであり、処理状態404はリトライであったことを示す。なおリトライの状態とは、処理制御部202が周期的に自動運転処理を行う過程において、再構成を再度実施する時間が確保されている場合に、同じ再構成処理を実施して自動運転処理を継続しようとする状態である。詳細は図7を用いて後述する。
【0030】
図5に示す3つ目のレコードは、処理時刻401がcc:cc:ccの時に演算部206は回路種別402が論理回路Bの回路に再構成され、試験結果403はOKであり処理状態404は正常であったことを示す。すなわち、2つめのレコードにおけるリトライにより、自動運転処理を継続できたことが示されている。
【0031】
図5に示す4つ目のレコードは、処理時刻401がdd:dd:ddの時に演算部206は回路種別402が論理回路Cの回路に再構成され、試験結果403はOKであり処理状態404は正常であったことを示す。図5に示す5つ目のレコードは、処理時刻401がee:ee:eeの時に、演算部206は回路種別402が論理回路Aの回路に再構成され、試験結果403はNGであり処理状態404は異常であったことを示す。換言すると、処理制御部202が周期的に自動運転処理を行う過程において、再構成を再度実施する時間を確保できず、自動運転処理に異常が発生したことを示している。なお図5に示すログDB4の情報は、処理制御部202が無線通信部105を介してサーバ装置110に送信してもよい。
【0032】
<試験DBの構成例>
図6は、試験DB5の一例を示す図である。試験DB5には、回路種別501と試験内容の組み合わせが複数格納される。試験内容は、試験回数502、試験パタン503、および試験データ504から構成される。回路種別501には、回路種別を示す情報が格納される。試験回数502には、動作を試験する回数が格納される。試験パタン503には、試験に使用される試験データ504の選択パタンが格納される。試験データ504は、1以上の試験データ、たとえば試験データ1〜試験データ3から構成され、それぞれ演算部206に入力するデータと演算部206からの出力が期待されるデータとの組み合わせが格納される。
【0033】
例えば図6に示す1つ目の例では、回路種別501が論理回路Aである場合は、試験回数502により動作試験が3回行われることが示されており、試験パタン503により試験データ504がランダムに選択されることが示されている。なおこの場合は、試験データ1〜3を使用する順番がランダムであり3回の試験で全ての試験データが使用されるようにしてもよいし、ランダムにいずれかの試験データを使用することを3回繰り返してもよい。また符号504−1に示す試験データ1には、演算部206に試験値A1inを入力し、試験結果A1outの出力が期待されることが示されている。符号504−2に示す試験データ2には、演算部206に試験値A2inを入力し、試験結果A2outの出力が期待されることが示されている。符号504−3に示す試験データ3には、演算部206に試験値A3inを入力し、試験結果A3outの出力が期待されることが示されている。
【0034】
図6に示す2つ目の例では、回路種別501が論理回路Bである場合は、試験回数502により動作試験が1回行われることが示されており、試験パタン503により試験データ504がランダムに選択されることが示されている。図6に示す3つ目の例では、回路種別501が論理回路Cである場合は、試験回数502により動作試験が1回行われることが示されており、試験パタン503により試験データ504が固定であることが示されている。
【0035】
図6に示す試験DB5は一例である。例えば、試験データ504は、3個に限らず、2個以下、または4個以上であってもよい。また試験回数502や試験パタン503は、試験データ504の数、図4に示した各処理に要する目安となる時間である時間T1、T2、T3、および周期T、ならびにこれらの組み合わせに応じて適宜設定される。
【0036】
以上のように回路種別501に応じて試験回数502を変更することで、演算部206の回路を再構成する際のエラーチェックの精度を回路種別501ごとに設定できる。また、試験パタン503を「ランダム」に設定することで、たとえば試験回数502が1であったとしても、ランダムに試験データ504が選択されることにより、一部の回路のみが毎回チェックされてしまうことを防止し、試験の信頼性をさらに向上させることができる。ここで試験パタンは固定とランダムのみに限定されるものではない。たとえば複数の試験データ504からひとつを毎回ランダムに選択するのではなく、複数の試験データ504をあらかじめ決められた順番でローテーション方式により実行するものであってもよい。また、試験回数502を0と設定することにより、特定の回路種別501において試験を行わないことも可能である。
【0037】
<周期処理のフローチャートの例>
図7は、処理制御部202における周期処理を示すフローチャートである。自動運転では、センシング処理、距離計算処理、車両100や歩行者の行動予測処理、車両100の移動ルート算出処理などの多様な処理を繰り返し行うことが求められる。そのため処理制御部202は、収集したセンサ情報や自動運転設定情報を基に図7に示す処理を周期的に行う。以下、図7のフローチャートを参照して、処理制御部202の処理動作を説明する。
【0038】
処理制御部202は、処理周期Tごとに図7に示す周期処理を開始する。以下に説明する各ステップの実行主体はCPU251である。CPU251は処理を開始すると、処理情報DB3から処理回数301と処理情報302を読み込む(S601)。以下では、処理情報DB3に記載された処理を順次実行する。次に処理制御部202は、S601で判定した処理情報302を順番に処理するための、ループカウンタである内部処理IDを1に設定する(S602)。
【0039】
次に処理制御部202は、再構成指示を演算部206に送信し、試験部204に回路種別を送信する(S603)。具体的には、処理制御部202は、処理情報302のうち内部処理IDが示すいずれかの処理情報の回路情報を演算部206に書き込み、その回路種別情報を試験部204に通知する。次に処理制御部202は、試験部204に動作試験処理を実施させる(S604)。試験部204における動作試験処理の詳細は図8を参照して後述する。
【0040】
次に処理制御部202は、試験部204から試験結果を受信してログDB4に書き込む(S605)。ただし本ステップではログDB4のうち、処理時間、回路種別、および試験結果のみを書き込む。続くステップS606では、処理制御部202は、試験結果がOKであったか否かを判断する。処理制御部202は、試験結果がOKであったと判断する場合は、ログDB4の処理状態のフィールドに「正常」と記録してステップS608に進む。処理制御部202は、試験結果がOKではなかったと判断する場合はステップS607に進む。ステップS607では処理制御部202は、リトライが可能か否かを判断する。
【0041】
リトライが可能か否かは、たとえば処理周期Tにおける現在までの経過時間、現在の処理周期において完了していない処理の実行に要する目安の時間等に基づき判断される。リトライが可能と判断する場合はログDB4の処理状態のフィールドに「リトライ」と記録してステップS603に戻り、リトライが不可能と判断する場合はログDB4の処理状態のフィールドに「異常」と記録して現在の処理周期における処理を終了する。なおリトライが不可能と判断する場合は、処理制御部202は、第2通信インタフェース201Bから非常時用に安全に停止するための制動力や駆動力などの制御指令を出力してから周期処理を終了してもよい。
【0042】
ステップS608では処理制御部202は、内部処理IDに対応するセンサデータなどを演算部206に送信して演算部206に演算を実行させる。たとえば内部処理IDが「1」であり、処理情報1に対応する回路Aが画像処理を行う回路の場合には処理制御部202は演算部206に画像データを送信する。続くステップS609では、内部処理IDがステップS601において読み込んだ処理回数301の値と等しいか否かを判断する。両者が等しいと判断する場合はステップS611に進み、両者が等しくないと判断する場合はステップS610に進む。ステップS610では、内部処理IDをインクリメント、すなわち内部処理IDの値を1増加させてステップS603に戻る。ステップS611では、処理制御部202は、第2通信インタフェース201Bから制動力や駆動力などの制御指令を出力して、周期処理を終了する。
【0043】
<動作試験処理のフローチャート>
図8は、試験部204における動作試験処理を示すフローチャートである。試験部204は、図7に示した処理制御部202の周期処理のS604において、この動作試験処理を実行する。
【0044】
試験部204は、動作試験処理を開始すると、試験DB5を読み込む(S701)。具体的には、処理制御部202から受信した回路種別501の情報を基に、試験回数502、試験パタン503、および試験データ504を取得する。次に試験部204は、内部処理カウンタICに、ステップS701において読み込んだ試験回数502の値を代入してステップS703に進む。
【0045】
ステップS703では、試験部204は、内部処理カウンタICがゼロであるか否かを判断する。ゼロであると判断する場合はステップS709に進み、ゼロではないと判断する場合はステップS704に進む。ステップS704では、試験部204は、選択部205に試験部204と演算部206の入出力を接続させる。続くステップS705では、試験部204は、ステップS701で取得した試験パタン503に基づいて、試験データ504のうちから該当する試験データの試験値を演算部206に転送し、演算部206の演算結果を取得する。
【0046】
続くステップS706では、試験部204は、S705で取得した演算結果が、対応する試験データの期待値と同じであるか否かを判定する。試験部204は、演算結果が期待値と異なると判断する場合はステップS707に進み、演算結果が期待値と同じであると判断する場合はステップS708に進む。ステップS707では、試験部204は、試験結果を不合格を示すNGとして保存する。ステップS708では、内部処理カウンタICをデクリメント、すなわちICの値を1減少させてステップS703に戻る。ステップS703において肯定判断されると実行されるステップS709では、試験部204は、選択部205に処理制御部202と演算部206の入出力を接続させる。続くステップS710では、試験部204は、試験結果を合格を示すOKとして保存する。
【0047】
ステップS707またはステップS710が実行されると、試験部204は、ステップS711において試験結果を処理制御部202に出力して図8に示す動作試験を終了する。
【0048】
<自律走行制御装置の動作例>
図9および図10のそれぞれを用いて自律走行制御装置2の動作例、すなわち再構成回路203の更新例を説明する。
【0049】
図9は、図4において符号302−1で示す処理情報1における再構成回路203の更新例を示す。具体的には、図4における処理情報DB3の処理情報1の処理回路データである回路Aを演算部206に書き込み、図6における試験DB5の回路種別501が論理回路Aの動作試験を実施し、試験結果がOKであった場合の更新例である。すなわち、図5におけるログDB4において、処理時刻401がaa:aa:aaの場合のログ結果例となる例を示す。
【0050】
まず、処理制御部202は、処理情報DB3から処理回数301、および処理情報302を読み込む(S800)。次に処理制御部202は、符号302−1で示す処理情報1で指定される論理回路Aの処理回路データを再構成回路203上の演算部206に書き込む(S801)。演算部206は、論理回路上に論理回路Aとして再構成される(S803)。なお書き込みの際に演算部206は、論理回路の再構成中である状態を処理制御部202や試験部204に通知してもよい。また演算部206は、書き込みが完了したことを処理制御部202や試験部204に通知してもよい。
【0051】
次に処理制御部202は、処理情報1で指定される論理回路Aの回路種別情報を試験部204に通知する(S802)。試験部204は、回路種別501に基づいて指定される試験回数502、試験パタン503、および試験データ504を取得する(S804)。
次に試験部204は、試験部204と演算部206の入出力を接続するように選択部205を設定する(S805)。選択部205は、試験部204の設定に基づいて試験部204と演算部206の入出力を接続する(S806)。
【0052】
次に試験部204は、試験パタン503で指定される方法に基づいて動作試験を実施する。ここでは、ランダムに試験データ504を選択した結果、試験データ1、試験データ2、試験データ3が順番に選択されたとして説明を続ける。試験部204は、1回目の試験として、試験値A1inを演算部206に出力し(S807)、演算部206から演算結果を取得する(S808)。ここでは、演算結果が期待どおりであり、試験部204は、演算結果が期待結果A1outと同じであると判定する(S809)。
【0053】
次に試験部204は、2回目の試験として、試験値A2inを演算部206に出力し(S810)、演算部206から演算結果を取得する(S811)。ここでは、演算結果が期待どおりであり、試験部204は、演算結果が期待結果A2outと同じであると判定する(S812)。次に、試験部204は、3回目の試験として、試験値A3inを演算部206に出力し(S813)、演算部206から演算結果を取得する(S814)。ここでは、演算結果が期待どおりであり、試験部204は、演算結果が期待結果A3outと同じであると判定する(S815)。
【0054】
次に試験部204は、3回の試験が終了したため、処理制御部202と演算部206の入出力を接続するように選択部205を設定する(S816)。選択部205は、試験部204の設定に基づいて処理制御部202と演算部206の入出力を接続する(S817)。また試験部204は、試験結果をOKとして処理制御部202に通知する(S818)。
【0055】
次に処理制御部202は、処理状態を正常と判定し、論理回路Aに構成された演算部206に処理を実行させる(S819)。処理制御部202は、演算部206に実行させたい処理情報を出力し(S820)、演算部206から演算結果を取得する(S821)。
処理制御部202は、処理情報1が指定する論理回路Aの処理が終了したため、次の処理、すなわち処理情報2が指定する論理回路Bの処理へ移行する(S822)。以上が図9に示した遷移図の説明である。
【0056】
図10は、符号302−2に示す処理情報2における再構成回路203の更新例を示す。具体的には、図4における処理情報DB3の処理情報2の処理回路データである回路Bを演算部206に書き込み、図6における試験DB5の回路種別501が論理回路Bの動作試験を実施する。そして、1回目の動作試験結果がNGとなった後に再構成回路の更新をリトライし、2回目の動作試験結果がOKであった場合の例を示すシーケンス図である。すなわち、図5におけるログDB4において、処理時刻401がbb:bb:bbの場合と、処理時刻401がcc:cc:ccの場合のログ結果例となる例を示す。
【0057】
図10では、図9により処理情報DB3から処理回数301、および処理情報302を判定済であるため、まず処理制御部202は、次の処理が処理情報2であることを確認する(S900)。次に、処理制御部202は、処理情報2で指定される論理回路Bの処理回路データを再構成回路203上の演算部206に書き込む(S901)。演算部206は、論理回路領域上に論理回路Bを再構成する(S903)。また、処理制御部202は、処理情報2で指定される論理回路Bの回路種別情報を試験部204に通知する(S902)。試験部204は、回路種別501に基づいて指定される試験回数502、試験パタン503、および試験データ504を取得する(S904)。
【0058】
次に試験部204は、試験部204と演算部206の入出力を接続するように選択部205を設定する(S905)。選択部205は、試験部204の設定に基づいて試験部204と演算部206の入出力を接続する(S906)。次に試験部204は、試験パタン503で指定される方法に基づいて動作試験を実施する。ここでは、ランダムに試験データ504を選択した結果、試験データ3が選択されたとして説明を続ける。試験部204は、試験値B3inを演算部206に出力し(S907)、演算部206から演算結果を取得する(S908)。ここでは、演算結果が期待どおりではなく、試験部204は、演算結果が期待結果B3outと異なると判定する(S909)。
【0059】
次に試験部204は、試験結果をNGとして処理制御部202に通知する(S910)。ここで処理制御部202は、リトライ可能と判定し、再度論理回路Bの再構成処理を実施して自動運転処理の継続を判定する(S911)。処理制御部202は、論理回路Bの処理回路データを演算部206に再度書き込み(S912)、演算部206は、論理回路領域上に論理回路Bを再構成する(S914)。
また、処理制御部202は、処理情報2で指定される論理回路Bの回路種別情報を試験部204に通知する(S913)。試験部204は、回路種別501に基づいて指定される試験回数502、試験パタン503、および試験データ504を取得する(S915)。
【0060】
次に試験部204は、試験部204と演算部206の入出力を接続するように選択部205を設定する(S916)。選択部205は、試験部204の設定に基づいて試験部204と演算部206の入出力を接続する(S917)。次に試験部204は、試験パタン503で指定される方法に基づいて動作試験を実施する。ここではランダムに試験データ504を選択した結果、試験データ1が選択された例を示す。試験部204は、試験値B1inを演算部206に出力し(S918)、演算部206から演算結果を取得する(S919)。ここでは演算結果が期待どおりであり、試験部204は、演算結果が期待結果B1outと同じであると判定する(S920)。
【0061】
次に試験部204は、試験回数502に格納されている回数である1回の試験が終了したため、処理制御部202と演算部206の入出力を接続するように選択部205を設定する(S921)。選択部205は、試験部204の設定に基づいて処理制御部202と演算部206の入出力を接続する(S922)。また試験部204は、試験結果をOKとして処理制御部202に通知する(S923)。次に処理制御部202は、処理状態を正常と判定し、論理回路Bに構成された演算部206に処理を実行させる(S924)。処理制御部202は、演算部206に実行させたい処理情報を出力し(S925)、演算部206から演算結果を取得する(S926)。
【0062】
次に処理制御部202は、処理情報2が指定する論理回路Bの処理が終了したため、符号302−3で示される処理情報3が指定する論理回路Cの処理へ移行する(S927)。以上が図10に示した遷移図の説明である。
【0063】
<サーバ装置から自律走行制御装置への情報受信シーケンス>
図11は、サーバ装置110から自律走行制御装置2への情報受信を示すシーケンス図である。図11は、クラウド上のサーバ装置などからOTAにより無線ネットワーク経由で自動運転に関する処理情報を追加する例を示している。
【0064】
はじめに、オペレータなどの操作入力によりサーバ装置110に処理情報の追加指示が設定されると(S1000)、追加する自動運転処理に関する情報、たとえば処理情報DB3の内容、追加する処理で使用される処理回路データ、および試験DB5の内容が電子制御システム1の無線通信部105に送信される(S1001)。無線通信部105は、受信した追加情報を自律走行制御装置2に転送する(S1002)。
【0065】
自律走行制御装置2の処理制御部202は、無線通信部105から受信した処理回路データを回路DB6に格納し(S1003)、処理情報DB3に受信した処理回数301および処理情報302を追加する(S1004)。さらに処理制御部202は、受信した情報に基づき試験DB5を書き換える、すなわち再構成回路203の試験DB5に相当する領域を再構成する(S1005)。ただし試験DB5の書き換えは、無線通信部105から情報を受信した直後でなくてもよく、たとえば次に演算部206が再構成される際に同時に試験DB5を再構成してもよい。
【0066】
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)再構成指令に基づき再構成可能な論理回路255と、論理回路255に構成される演算部206と、論理回路255への演算部206の再構成指令の送信および再構成された演算部206に所定の演算を実行させる処理制御部202と、回路構成の変更後に動作試験を実行して動作試験の結果を処理制御部202に通知として送信する試験部204と、を備える。処理制御部202は、試験部204から受信する通知に基づき演算部206に所定の処理を実行させる。そのため演算部206を再構成するたびに動作試験を実行し、再構成された演算部206の正常性を確認することができる。
【0067】
(2)処理制御部202は、受信する通知が動作試験の不合格を示すNGである場合に再構成指令を再度送信し(図7のステップS606:NO、S603)、受信する通知が動作試験の合格を示す場合に演算部206に所定の処理を実行させる(図7のステップS606:YES、S608)。処理制御部202は動作試験に合格した場合のみセンサ情報などを用いた所定の処理を実行させるので、動作試験に合格しないようなエラーを含む論理回路255を用いてセンサ情報を処理することを防止できる。また動作試験に不合格の場合は再構成指示をやり直させることができる。
【0068】
(3)試験部204は論理回路255に構成される。そのため試験部204は動作試験を高速に実行することができる。
【0069】
(4)処理制御部202が送信する再構成指令には再構成される演算部206の回路情報が含まれる。試験部204は、回路情報に応じた動作試験を実行する。そのため試験部204は、回路の特性に合わせて最適な動作試験を実行することができる。
【0070】
(5)論理回路255には、回路情報ごとに演算部206に入力するデータと演算部206からの出力が期待されるデータとの組み合わせが格納される試験DB5が構成される。試験部204は、試験DB5に格納された情報を用いて動作試験を行う。試験部204が動作試験に用いる情報、たとえば図6に示した試験値A1inや試験結果A1outなどが演算部206と同一の論理回路255に構成されているので、高速に動作試験を行うことができる。また試験部204は、演算部206の出力があらかじめ用意した出力が期待されるデータと一致するか否かにより、容易に動作試験の結果を判断することができる。
【0071】
(6)試験DB5には、回路情報ごとに演算部206に入力するデータと演算部206からの出力が期待されるデータとの組み合わせが複数格納される。図6に示した例では試験DB5には、回路Aに対してA1inとA1outの組み合わせ、A2inとA2outの組み合わせ、およびA3inとA3outの組み合わせが格納される。そのため複数のバリエーションで動作試験を行い、演算部206を様々な観点から試験することができる。
【0072】
(7)試験DB5には、回路情報ごとに実行回数が組み合わされて格納される。試験部204は、回路情報に基づいて、複数の組み合わせからいずれかの組み合わせをランダムに選択して動作試験を実行することを実行回数だけ繰り返す。そのため、同一の回路を再構成した場合でもランダムに異なるデータを用いた動作試験を行うことができる。
【0073】
(8)自律走行制御装置2は、動作試験の結果が格納されるログDB4を備える。処理制御部202は、動作試験の結果をログDB4に格納する。
【0074】
(9)自律走行制御装置2は、回路情報を記憶する回路DB6を備える。自律走行制御装置2は、無線通信部を介してサーバ装置110から受信する回路情報を回路DB6に記憶させ、回路DB6に格納された回路情報を用いて演算部206を再構成する。そのため自律走行制御装置2はサーバ装置110から受信する新たな回路情報を用いて論理回路255を書き換え、演算部206として機能させることができる。
【0075】
(10)再構成指令に基づき再構成可能な論理回路255と、接続されるセンサから処理周期Tごとにセンサが取得したセンサ情報を受信する通信インタフェース256とを備える自律走行制御部2の制御方法は、処理周期Tごとに少なくとも1回は論理回路255に演算部206を再構成することと、演算部206が再構成されると演算部206の動作試験を実行することと、動作試験の結果に基づき、再構成された演算部206にセンサ情報を用いた所定の処理を実行させることとを含む。
【0076】
(変形例1)
上述した実施の形態では、再構成回路203に複数の回路の動作試験に用いられるデータが試験DB5として格納された。しかし再構成回路203には単一の試験の情報のみが格納されていてもよい。
【0077】
図12は、変形例1における自律走行制御装置2の機能構成図である。上述した実施の形態における図3と比較すると、試験DB5が再構成回路203の外部に存在し、再構成回路203には単一試験情報5Aが格納される点が異なる。単一試験情報5Aには、現在の演算部206の動作試験に用いられるデータが格納される。たとえば演算部206が回路Aに書き換えられる際には、単一試験情報5Aには回路Aの動作試験に用いられるデータが書き込まれる。すなわち本変形例では、処理制御部202は演算部206の再構成を行うために回路DB6から回路データを読み込む際に、試験DB5からその回路に対応する動作試験のデータを読み込み、それらを再構成回路203に出力して論理回路を再構成する。
【0078】
この変形例1によれば、上述した実施の形態に比べて論理回路255における試験DB5の専有面積を減らすことができる。そのため、より小さい論理回路255を用いて上述した実施の形態と同様の機能を実現できる。もしくは上述した実施の形態と同じ論理回路255を用いる場合は、1つの回路に用いる試験データ504のサイズを増加させたり、演算部206のサイズを増加させたりすることができる。
【0079】
(変形例2)
再構成回路203には少なくとも演算部206が含まれていればよく、試験部204、選択部205、試験DB5は再構成回路203の外部に構成されてもよい。
図13は、変形例2における自律走行制御装置2の機能構成図である。上述した実施の形態における図3と比較すると、再構成回路203には演算部206のみが構成される点が異なる。すなわち試験部204および選択部205は処理制御部202と同様にCPU251がプログラムを実行することにより実現される機能である。すなわち本変形例では、試験部204および選択部205は、論理回路255とは異なる回路であるCPU251に構成されるとみなすことができる。
この変形例2によれば、試験部204および試験DB5のサイズは論理回路255のサイズの制限を受けないので、膨大なデータを用いた複雑な動作試験を行うことができる。また演算部206が使用できる論理回路255上の領域を拡大させることができる。
【0080】
(変形例3)
処理制御部202も再構成回路203に構成されてもよい。
図14は、変形例3における自律走行制御装置2の機能構成図である。上述した実施の形態における図3と比較すると、処理制御部202も再構成回路203に構成される点が異なる。なお本変形例において、処理情報DB3および回路DB6も再構成回路203に構成されてもよい。この変形例3によれば、自律走行制御装置2はCPU251を備える必要がなく、安価に自律走行制御装置2を実現することができる。
【0081】
(変形例4)
自律走行制御装置2は、論理的または物理的に複数の装置により構成されてもよい。処理制御部202は、複数の演算装置の資源上に構築された仮想的な電子制御装置上で動作してもよい。
【0082】
処理制御部202を動作支えるプログラムはROM252に格納されるとしたが、プログラムはフラッシュメモリ254に格納されていてもよい。また、自律走行制御装置2が不図示の入出力インタフェースを備え、必要なときに入出力インタフェースと自律走行制御装置2が利用可能な媒体を介して、他の装置からプログラムが読み込まれてもよい。ここで媒体とは、例えば入出力インタフェースに着脱可能な記憶媒体、または通信媒体、すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。また、プログラムにより実現される機能の一部または全部がハードウエア回路により実現されてもよい。
上述した実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
【符号の説明】
【0083】
1…電子制御システム
2…自律走行制御装置
3…車両
4…ログデータベース
5…試験データベース
6…回路データベース
105…無線通信部
110…サーバ装置
201…通信インタフェース
202…制御処理部
202…処理制御部
203…再構成回路
204…試験部
205…選択部
206…演算部
255…論理回路
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14