JP7465147B2 - Vehicle control device, server, verification system - Google Patents
Vehicle control device, server, verification system Download PDFInfo
- Publication number
- JP7465147B2 JP7465147B2 JP2020084293A JP2020084293A JP7465147B2 JP 7465147 B2 JP7465147 B2 JP 7465147B2 JP 2020084293 A JP2020084293 A JP 2020084293A JP 2020084293 A JP2020084293 A JP 2020084293A JP 7465147 B2 JP7465147 B2 JP 7465147B2
- Authority
- JP
- Japan
- Prior art keywords
- verification
- vehicle
- application program
- driving environment
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012795 verification Methods 0.000 title claims description 815
- 238000000034 method Methods 0.000 claims description 66
- 230000007613 environmental effect Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 description 33
- 238000012545 processing Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 12
- 238000001514 detection method Methods 0.000 description 7
- 230000006872 improvement Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000019771 cognition Effects 0.000 description 2
- 230000001149 cognitive effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3696—Methods or tools to render software testable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Traffic Control Systems (AREA)
- Debugging And Monitoring (AREA)
- Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
Description
本発明は、車載制御装置、サーバ、および検証システムに関する。 The present invention relates to an on-board control device, a server, and a verification system.
自動運転を実現する制御アプリケーションは、車両の周辺の多様な情報である車両周辺環境データに対して正しく動作するよう検証する必要がある。車両周辺環境データとは、車両の周辺に存在する障害物の情報や、車両の周辺における道路の特徴を示す特徴物等の情報等である。将来的には自動運転車が普及すると見込まれるため、自動運転中に得られる車両周辺環境データを用いて検証を行うことが考えられる。しかし自動運転中には、自動運転のアプリケーション処理でCPUリソースが使用されるため、検証に対して用いることが可能なCPUリソースが限られている。CPUリソースが限られている中にあっても、効率的にアプリケーションの検証を行う必要を行うことが求められる。特許文献1には車載情報システムのハードウエア環境およびソフトウェア環境をエミュレートするエミュレート手段と、車載情報システム用に開発されたプログラムを受け取るプログラム受信手段と、車載情報システムのリソース状態および環境状態を制約条件として保持する制約条件保持手段と、前記制約条件保持手段に保持された制約条件に基づいて前記プログラムの動作を制限するプログラム実行制限手段と、前記エミュレート手段によって提供されるリソースを用いて、前記プログラム受信手段から受け取ったプログラムを、前記プログラム実行制限手段による制限にしたがって実行するプログラム実行手段とを備えたプログラム提供装置が開示されている。
Control applications that realize autonomous driving need to be verified to ensure that they operate correctly with respect to vehicle surroundings data, which is a variety of information about the vehicle's surroundings. Vehicle surroundings data includes information about obstacles around the vehicle and information about features that indicate the characteristics of the roads around the vehicle. Since autonomous vehicles are expected to become more widespread in the future, it is conceivable that verification will be performed using vehicle surroundings data obtained during autonomous driving. However, during autonomous driving, CPU resources are used to process autonomous driving applications, so the CPU resources available for verification are limited. Even with limited CPU resources, it is necessary to efficiently verify applications.
特許文献1に記載されている発明では、複数の検証アプリケーションプログラムの検証において改善の余地がある。
The invention described in
本発明の第1の態様における車載制御装置は、車両に搭載される車載制御装置であって、前記車両の走行制御に関する基本アプリケーションプログラムとは異なる複数の検証アプリケーションプログラム、前記検証アプリケーションプログラムを検証する前記車両に関する条件である走行環境条件、および前記検証アプリケーションプログラムと前記走行環境条件の組に対する検証優先度を含む検証計画情報と、前記基本アプリケーションプログラムとを格納する車載記憶部と、前記基本アプリケーションプログラムおよび前記検証アプリケーションプログラムを実行可能なCPUと、前記走行環境条件および前記検証優先度に基づき、前記検証アプリケーションプログラムの検証の実行を制御する検証実行制御部と、を備え、前記検証計画情報には、前記検証アプリケーションプログラムおよび前記走行環境条件の組み合わせ毎に前記検証優先度が格納され、前記検証実行制御部は、前記走行環境条件が満たされた前記検証アプリケーションプログラムのうち前記検証優先度が高い検証アプリケーションプログラムほど優先して検証する。
本発明の第2の態様におけるサーバは、車両と通信可能なサーバであって、前記車両において検証されるアプリケーションプログラムである検証アプリケーションプログラム、および前記検証アプリケーションプログラムを検証する前記車両に関する条件である走行環境条件を格納するサーバ記憶部と、前記車両から取得した車両情報に基づき前記検証アプリケーションプログラムと前記走行環境条件の組に対する検証優先度を決定し、前記走行環境条件と、前記検証アプリケーションプログラムと、前記検証優先度と、を含む検証計画情報を生成する検証計画情報生成部と、前記検証計画情報を前記車両に出力する検証計画情報出力部と、を備え、前記車両情報は、前記車両において実行された前記検証アプリケーションプログラムの検証結果を含み、前記検証計画情報生成部は、前記検証アプリケーションプログラムの検証結果に基づき前記検証アプリケーションプログラムに関する検証の進捗を示す検証進捗情報を更新し、前記検証進捗情報に基づいて前記検証アプリケーションプログラムと前記走行環境条件の組に対する前記検証優先度を決定する。
本発明の第3の態様におけるサーバは、車両と通信可能なサーバであって、前記車両において検証されるアプリケーションプログラムである検証アプリケーションプログラム、および前記検証アプリケーションプログラムを検証する前記車両に関する条件である走行環境条件を格納するサーバ記憶部と、前記車両から取得した車両情報に基づき前記検証アプリケーションプログラムと前記走行環境条件の組に対する検証優先度を決定し、前記走行環境条件と、前記検証アプリケーションプログラムと、前記検証優先度と、を含む検証計画情報を生成する検証計画情報生成部と、前記検証計画情報を前記車両に出力する検証計画情報出力部と、前記車両情報に基づき、前記車両の走行環境が前記検証計画情報に含まれる走行環境条件に合致するタイミングを予測する走行環境条件成立予測部と、をさらに備え、前記検証計画情報生成部は、前記予測したタイミングに基づき、前記検証アプリケーションプログラムと前記走行環境条件の組に対する前記検証優先度を決定する。
本発明の第4の態様における検証システムは、車両に搭載される車載制御装置および前記車載制御装置と通信可能なサーバを含む、検証システムであって、前記サーバは、前記車両において検証されるアプリケーションプログラムである検証アプリケーションプログラム、および前記検証アプリケーションプログラムを検証する車両に関する条件である走行環境条件を格納するサーバ記憶部と、前記車両から取得した車両情報に基づき前記検証アプリケーションプログラムと前記走行環境条件の組に対する検証優先度を決定し、前記走行環境条件と、前記検証アプリケーションプログラムと、前記検証優先度と、を含む検証計画情報を生成する検証計画情報生成部と、前記検証計画情報を前記車両に出力する検証計画情報出力部と、を備え、前記車載制御装置は、前記サーバが出力した前記検証計画情報を取得する検証計画情報取得部と、
前記車両の走行制御に関する基本アプリケーションプログラムと並行して、前記検証アプリケーションプログラムの検証の実行を前記走行環境条件と前記検証優先度に基づき制御する検証実行制御部と、を備え、前記車両情報は、前記車両において実行された前記検証アプリケーションプログラムの検証結果を含み、前記検証計画情報生成部は、前記検証アプリケーションプログラムの検証結果に基づき前記検証アプリケーションプログラムに関する検証の進捗を示す検証進捗情報を更新し、前記検証進捗情報に基づいて前記検証アプリケーションプログラムと前記走行環境条件の組に対する前記検証優先度を決定する。
本発明の第5の態様における検証システムは、車両に搭載される車載制御装置および前記車載制御装置と通信可能なサーバを含む、検証システムであって、前記サーバは、前記車両において検証されるアプリケーションプログラムである検証アプリケーションプログラム、および前記検証アプリケーションプログラムを検証する車両に関する条件である走行環境条件を格納するサーバ記憶部と、前記車両から取得した車両情報に基づき前記検証アプリケーションプログラムと前記走行環境条件の組に対する検証優先度を決定し、前記走行環境条件と、前記検証アプリケーションプログラムと、前記検証優先度と、を含む検証計画情報を生成する検証計画情報生成部と、前記検証計画情報を前記車両に出力する検証計画情報出力部と、前記車両情報に基づき、前記車両の走行環境が前記検証計画情報に含まれる走行環境条件に合致するタイミングを予測する走行環境条件成立予測部と、を備え、前記車載制御装置は、前記サーバが出力した前記検証計画情報を取得する検証計画情報取得部と、前記車両の走行制御に関する基本アプリケーションプログラムと並行して、前記検証アプリケーションプログラムの検証の実行を前記走行環境条件と前記検証優先度に基づき制御する検証実行制御部と、を備え、前記検証計画情報生成部は、前記予測したタイミングに基づき、前記検証アプリケーションプログラムと前記走行環境条件の組に対する前記検証優先度を決定する。
The in-vehicle control device in a first aspect of the present invention is an in-vehicle control device mounted on a vehicle, and comprises an in-vehicle memory unit that stores a plurality of verification application programs different from a basic application program related to driving control of the vehicle, verification plan information including driving environment conditions that are conditions related to the vehicle for verifying the verification application programs , and verification priorities for pairs of the verification application programs and the driving environment conditions, and the basic application programs, a CPU capable of executing the basic application programs and the verification application programs, and a verification execution control unit that controls the execution of verification of the verification application programs based on the driving environment conditions and the verification priorities, wherein the verification plan information stores the verification priority for each combination of the verification application program and the driving environment conditions, and the verification execution control unit prioritizes verification of verification application programs with higher verification priorities among the verification application programs for which the driving environment conditions are satisfied .
A server in a second aspect of the present invention is a server capable of communicating with a vehicle, and includes a server memory unit that stores a verification application program, which is an application program to be verified in the vehicle, and driving environment conditions, which are conditions related to the vehicle for verifying the verification application program , a verification plan information generation unit that determines a verification priority for a set of the verification application program and the driving environment conditions based on vehicle information acquired from the vehicle, and generates verification plan information including the driving environment conditions, the verification application program, and the verification priority, and a verification plan information output unit that outputs the verification plan information to the vehicle, wherein the vehicle information includes verification results of the verification application program executed in the vehicle, and the verification plan information generation unit updates verification progress information indicating the progress of verification related to the verification application program based on the verification results of the verification application program, and determines the verification priority for the set of the verification application program and the driving environment conditions based on the verification progress information.
A server in a third aspect of the present invention is a server capable of communicating with a vehicle, and further includes a server memory unit that stores a verification application program, which is an application program to be verified in the vehicle, and driving environment conditions, which are conditions related to the vehicle for verifying the verification application program, a verification plan information generation unit that determines a verification priority for a pair of the verification application program and the driving environment conditions based on vehicle information acquired from the vehicle, and generates verification plan information including the driving environment conditions, the verification application program, and the verification priority, a verification plan information output unit that outputs the verification plan information to the vehicle, and a driving environment condition establishment prediction unit that predicts, based on the vehicle information , the timing when the driving environment of the vehicle will match the driving environment conditions included in the verification plan information, and the verification plan information generation unit determines the verification priority for the pair of the verification application program and the driving environment conditions based on the predicted timing.
A verification system according to a fourth aspect of the present invention includes an on-board control device mounted on a vehicle and a server capable of communicating with the on-board control device, the server including: a server storage unit that stores a verification application program, which is an application program to be verified in the vehicle, and driving environment conditions, which are conditions related to the vehicle for verifying the verification application program; a verification plan information generation unit that determines a verification priority for a pair of the verification application program and the driving environment conditions based on vehicle information acquired from the vehicle, and generates verification plan information including the driving environment conditions, the verification application program, and the verification priority; and a verification plan information output unit that outputs the verification plan information to the vehicle, the on-board control device including: a verification plan information acquisition unit that acquires the verification plan information output by the server;
a verification execution control unit that controls the execution of verification of the verification application program based on the driving environment conditions and the verification priority in parallel with a basic application program related to driving control of the vehicle, wherein the vehicle information includes verification results of the verification application program executed in the vehicle, and the verification plan information generation unit updates verification progress information indicating the progress of verification of the verification application program based on the verification results of the verification application program, and determines the verification priority for a pair of the verification application program and the driving environment conditions based on the verification progress information .
A verification system according to a fifth aspect of the present invention includes an on-board control device mounted on a vehicle and a server capable of communicating with the on-board control device, the server including a server storage unit that stores a verification application program, which is an application program to be verified in the vehicle, and driving environment conditions, which are conditions related to the vehicle for verifying the verification application program; a verification plan information generation unit that determines a verification priority for a pair of the verification application program and the driving environment conditions based on vehicle information acquired from the vehicle, and generates verification plan information including the driving environment conditions, the verification application program, and the verification priority; the vehicle control device comprises a verification plan information output unit that outputs verification plan information to the vehicle, and a driving environment condition establishment prediction unit that predicts, based on the vehicle information, the timing when the vehicle's driving environment will match the driving environment conditions included in the verification plan information; the on-board control device comprises a verification plan information acquisition unit that acquires the verification plan information output by the server, and a verification execution control unit that controls the execution of verification of the verification application program based on the driving environment conditions and the verification priority in parallel with a basic application program related to driving control of the vehicle; and the verification plan information generation unit determines the verification priority for a pair of the verification application program and the driving environment conditions based on the predicted timing .
本発明によれば、複数の検証アプリケーションプログラムを効率よく検証できる。 The present invention allows multiple verification application programs to be verified efficiently.
自動運転を実現する制御アプリケーションは、車両の周辺の多様な車両周辺環境データに対して正しく動作する必要がある。アプリケーションの正常動作確認を担保するため、アプリケーション開発中に、車両周辺環境データを入力とした検証を行う必要がある。検証に用いる車両周辺環境データを用意する方法としては、実車を使い車両周辺環境データを収集することや、シミュレータを用いて人工的に生成することが挙げられる。車両周辺環境データとしては、歩行者、車両、道路状況、天候をはじめとして、実世界の多様な状況を想定する必要があり、そのような車両周辺環境データをシミュレータだけで網羅的に模擬するのは一般的に困難とされている。そのため、実際の車両において走行中に得られる車両周辺環境データを活用しての検証は欠かせないと考えられている。 Control applications that realize autonomous driving need to operate correctly with respect to a variety of vehicle surroundings data. To ensure that applications operate normally, verification using vehicle surroundings data as input is required during application development. Methods for preparing vehicle surroundings data for verification include collecting vehicle surroundings data using an actual vehicle, or artificially generating the data using a simulator. Vehicle surroundings data needs to assume a variety of real-world conditions, including pedestrians, vehicles, road conditions, and weather, and it is generally considered difficult to comprehensively simulate such vehicle surroundings data using a simulator alone. For this reason, verification using vehicle surroundings data obtained while the actual vehicle is running is considered essential.
実車において収集したデータを活用する検証タイミングとして、リアルタイムに検証するオンライン検証と、ログデータをデータセンタ側に送って、データセンタ側でアプリケーションの検証を行うオフライン検証の2通り存在する。オフライン検証では、アプリケーションの検証に用いるデータをデータセンタ側に送る際の、データ量が膨大であり通信負荷が大きいことが欠点としてあるため、本発明では、オンライン検証を扱う。 There are two types of verification timing that utilize data collected in an actual vehicle: online verification, which is performed in real time, and offline verification, in which log data is sent to a data center and the application is verified there. A drawback of offline verification is that when sending data used to verify the application to the data center, the amount of data is huge, resulting in a large communication load. Therefore, this invention deals with online verification.
オンライン検証の場合にも、実車走行が手動運転されている場合と自動運転となっている場合で、検証の課題が異なる。人が運転する手動運転の場合は、検証に対して用いることができる余剰のCPUリソースが潤沢にある。一方で自動運転の場合は、自動運転のアプリケーション処理でCPUリソースが使用されるため、検証に対して用いられるCPUリソースが手動運転時に比べ小さい。将来的には自動運転車が普及すると見込まれるため、この自動運転中に得られる車両周辺環境データを用いて、CPUリソースが小さい中にあっても、効率的にアプリケーションの検証を行う必要がある。本形態では、車載制御装置上で複数のアプリケーションの複数の走行環境条件において検証のスケジュールを制御する技術を説明する。 Even in the case of online verification, the verification challenges differ depending on whether the actual vehicle is being driven manually or autonomously. When the vehicle is being driven manually by a human, there are ample surplus CPU resources that can be used for verification. On the other hand, in the case of autonomous driving, CPU resources are used for autonomous driving application processing, so the CPU resources used for verification are smaller than in manual driving. Since autonomous vehicles are expected to become more common in the future, it is necessary to efficiently verify applications even with limited CPU resources, using vehicle surrounding environment data obtained during autonomous driving. In this embodiment, a technology is described that controls the verification schedule for multiple applications under multiple driving environment conditions on an on-board control device.
以下、図面を参照して、車両群を跨いで検証を管理する検証管理サーバと演算装置である車載制御装置からなる検証システムの実施の形態を説明する。なお、本実施形態では、本発明の適用先の車載制御装置の一例として、先進運転支援システム(ADAS:Advanced Driver Assistance Systems)や自動運転システムにおいて車両の運転支援又は走行制御を処理する装置を扱うが、これに限らず他のシステムであってもよい。 Below, with reference to the drawings, an embodiment of a verification system consisting of a verification management server that manages verification across a fleet of vehicles and an on-board control device that is a computing device will be described. Note that in this embodiment, as an example of an on-board control device to which the present invention is applied, a device that processes driving assistance or driving control of a vehicle in an advanced driver assistance system (ADAS) or an autonomous driving system is treated, but the present invention is not limited to this and may be other systems.
―第1の実施の形態―
以下、図1~図9を参照して、検証システムの第1の実施の形態を説明する。
-First embodiment-
A first embodiment of a verification system will be described below with reference to FIGS.
(システム構成)
図1は、本発明による検証システム1の構成の一例を示すブロック図である。ただし図1では作図の都合により車両2の構成を簡略して記載しており、詳細は図2に記載する。
(System configuration)
Fig. 1 is a block diagram showing an example of the configuration of a
図1に示すように、本実施例に係る検証システム1は、1台以上の車両2と、1台以上の車両2に対して車載アプリケーションの検証を管理する検証管理サーバ10とを含んで構成される。それぞれの車両2と検証管理サーバ10は、ネットワーク3を経由して接続される。まず図2を参照して車両2の構成を説明する。
As shown in FIG. 1, the
(車両の構成)
車両2は、車載制御装置21と、無線通信装置20と、外界センサ群22と、車両センサ群23と、アクチュエータ群24と、車載ネットワーク25と、を有する。
(Vehicle configuration)
The
(車載制御装置の構成)
車載制御装置21は、例えば、車両2に搭載されたECU(Electronic Control Unit)等であり、処理部220と、車載記憶部210と、通信部230と、を有する。なお、車載制御装置21の形態に特に制限はなく、例えば、車両2の位置推定を行うための車両位置推定装置でもよいし、車両2のADASを実現するための走行制御装置でもよい。さらに車載制御装置21は、外界センサから取得した周辺環境データから周辺物体の検出を行う周辺物体検出処理装置でもよいし、車両2のユーザが車両2の内部ネットワークに接続したスマートフォン等の外部装置でもよい。
(Configuration of the on-board control device)
The on-
処理部220は、例えば、CPU(Central Processing Unit:中央演算処理装置)及びRAM(Random Access Memory)などを含んで構成され、所定の動作プログラムを実行することで、車載制御装置21の機能を実現する処理を行う。また、処理部220には、機能ブロックとして、センサ入力部221、アクチュエータ出力部222、基本アプリ実行制御部223、検証アプリ実行制御部224、検証計画情報取得部225、検証結果出力部226、および走行環境条件成立予測部227、を備える。処理部220は、車載制御装置21に外部から停止命令が入力されると、センサ入力部221、アクチュエータ出力部222、基本アプリ実行制御部223、検証アプリ実行制御部224、検証計画情報取得部225、検証結果出力部226、走行環境条件成立予測部227に停止命令を出力する。
The
センサ入力部221は、車両の周辺に関連する周辺環境情報と、車両の動きに関連する車両センサ情報とを外界センサ群22および車両センサ群23から取得して、これらを車載記憶部210に不図示のアプリケーション入出力データ群として格納する。周辺環境情報とは、たとえば車両の周辺に存在する障害物の情報や、車両の周辺における道路の特徴を示す特徴物等の情報等である。なお車両の周辺に存在する障害物とは、たとえば車両の周囲を移動している他車両、自転車、歩行者等の移動体や、車両の周囲の道路上で静止している駐車車両、落下物、設置物等である。車両センサ情報とは、たとえば車両の位置、走行速度、操舵角、アクセルの操作量、ブレーキの操作量等である。センサ入力部221により取得された周辺環境情報と車両センサ情報は、アプリケーション入出力データ群として車載記憶部210に格納される。
The
アクチュエータ出力部222は、車載記憶部210に格納される不図示のアプリケーション入出力データ群から制御情報を取得し、車載ネットワーク25に接続されたアクチュエータ群24に対して出力する。
The actuator output unit 222 acquires control information from a group of application input/output data (not shown) stored in the in-
基本アプリ実行制御部223は、車載記憶部210に格納されている基本アプリケーションプログラム211の実行スケジュールに基づいて、車載制御装置21上の1つ以上のCPU上で基本アプリケーションプログラム211を実行および制御する。基本アプリケーションプログラム211とは、検証が完了しており車載制御装置上でメインのアプリケーションとして実行されるプログラムである。基本アプリケーションプログラム211は、検証が既に完了している点で、検証アプリケーションプログラム212とは異なる。
The basic application
基本アプリケーションプログラム211はたとえば、位置推定を行うための車両位置推定アプリケーション、先進運転支援システムを実現するための走行制御アプリケーション、完全自動運転を実現するための自動運転アプリケーション、および外界センサから取得した周辺環境データから周辺物体の検出を行う周辺物体検出アプリケーションのいずれかである。
The
基本アプリケーションプログラム211の実行スケジュールとは、アプリケーションを逐次的または並列的に動作させるときの動作開始や終了のタイミング、および動作周期等が定義されたものである。たとえば、周期が10msと設定されたアプリケーションに対しては、基本アプリ実行制御部223が10msで当該アプリケーションを実行する。たとえば、データ並列化が設定されたアプリケーションに対しては、1つ以上のCPU上でアプリケーションを決められたタイミングで実行する等の制御を基本アプリ実行制御部223が行う。なお基本アプリケーションプログラム211の実行スケジュールは、不図示である。
The execution schedule of the
検証アプリ実行制御部224は、車載記憶部210の検証計画情報213に格納されている検証アプリケーションプログラム212を、車載制御装置21上の1つ以上のCPU上で実行および制御する。検証アプリケーションプログラム212は、検証管理サーバ10からネットワーク3を経由して、検証計画情報取得部225にて取得される。検証アプリケーションプログラム212は、後に詳述する検証実行スケジュール219Aに基づき実行される。
The verification application
検証アプリケーションプログラム212は、基本アプリケーションプログラム211と同一のCPU上で実行されてもよく、また異なるCPU上で実行されるよう隔離されていてもよい。また、検証アプリケーションプログラム212および基本アプリケーションプログラム211は、同一のOS上で実行されてもよいし、また異なるOS上で実行されるよう隔離されていてもよい。
The
この検証アプリケーションプログラム212のそれぞれには検証優先度215が設定されており、車載制御装置21は検証優先度215にしたがって検証を行う。検証優先度215は、検証管理サーバ10が、車両2では不可知の情報や複数の車両2での検証の進捗等に基づいて作成するので、車載制御装置21は効率よく検証を実行できる。
A
検証計画情報取得部225は、検証管理サーバ10から検証アプリケーションプログラム212と、検証方法定義214と、走行環境条件216と、検証優先度215とを含む検証計画情報213を取得し、車載記憶部210に格納する。検証計画情報213は、たとえばテーブルのフォーマットで表され、複数のエントリを有する。このエントリを以下では「検証計画エントリ」とも呼ぶ。検証計画エントリは、検証アプリケーションプログラム212と走行環境条件216の組合せごとに作成され、各検証計画エントリは、検証方法定義214と検証優先度215とを含む。
The verification plan
検証方法定義214は、検証アプリケーションプログラム212の検証方法の定義である。検証方法定義214の例としては、アプリケーションの出力値が直接定義されていてもよく、また基本アプリケーションプログラム211の出力値との比較で定義されていてもよい。走行環境条件216とは、検証アプリケーションプログラム212の検証を行うべき、車両の内外の環境条件である。
The
検証結果出力部226は、検証アプリケーションプログラム212に関する検証の結果を検証結果218として検証アプリ実行制御部224から取得し、車両2に関する車両情報219とともに検証管理サーバ10へ出力する。検証結果218には、例えば1つ以上の検証アプリケーションプログラム212ごとの検証の進捗情報が含まれる。車両情報219には、車両2の位置、速度、操舵情報、走行軌道情報、走行ルート情報を含む、車両2にて取得される車両2に関する情報が含まれる。この車両情報219は、例えば、検証アプリケーションプログラム212または基本アプリケーションプログラムが出力する情報でもよく、車両センサ群23や外界センサ群22やアクチュエータ群24が出力する情報でもよい。
The verification
走行環境条件成立予測部227は、走行環境条件216が成立するタイミングおよび成立しなくなるタイミングを事前に予測し、走行環境条件予測情報217を作成して車載記憶部210に格納する。走行環境条件成立予測部227は例えば、車両情報219と、走行環境条件216を照らし合わせて予測を行う。
The driving environment condition
車載記憶部210は、たとえば、HDD(HARD Disk Drive)やフラッシュメモリである。ただしROM(Read Only Memory)を含んで構成されてもよい。車載記憶部210には、処理部100がその機能を実現するために実行するプログラム、周期的に実行されるアプリケーションプログラム、車載制御装置21が動作するために必要なデータ群などが格納される。具体的には、車載記憶部210には、基本アプリケーションプログラム211、検証アプリケーションプログラム212、検証計画情報213、検証方法定義214、検証優先度215、走行環境条件216、走行環境条件予測情報217、検証結果218、車両情報219、および検証実行スケジュール219Aが格納される。
The on-
基本アプリケーションプログラム211は、ADASや自動運転向けの制御プログラムなどである。基本アプリケーションプログラム211はたとえば、位置推定を行うための車両位置推定アプリケーション、先進運転支援システムを実現するための走行制御アプリケーション、完全自動運転を実現するための自動運転アプリケーション、および外界センサから取得した周辺環境データから周辺物体の検出を行う周辺物体検出アプリケーションのいずれかである。
The
基本アプリケーションプログラム211は、不図示のアプリケーション入出力データ群を入出力する。このアプリケーション入出力データ群は、基本アプリケーションプログラム211に入力される情報、およびアプリケーションから出力される情報である。具体的にはアプリケーション入出力データ群は、車両の周辺に関連する周辺環境情報や、車両の動きに関連する車両センサ情報、およびアプリケーションがそれらを処理した情報である。このアプリケーション入出力データ群に含まれる、所定の対象要素に対応するデータの集合を、「オブジェクトデータ」と呼称し、このオブジェクトデータを単位としてデータの管理及び操作を行う。
The
ここで、「対象要素」とは、オブジェクトデータとして一纏めにした個々の情報要素が共通して表現する概念的な対象である。対象要素とは例えば、センサの検出対象やアクチュエータの制御対象、さらにはアプリケーションの演算処理結果である。好ましくは、特に、外界センサにおいては、認識された個々の環境要素(障害物、道路形状、交通ルール等)が対象要素に該当する。即ち本実施の形態では、外界センサというハードウエアそのものを抽象化するのではなく、検出対象である環境要素を単位として、データを抽象化する方式を採る。なお、内界センサについては、自車両という概念でオブジェクトデータを構成してもよいし、個々の検出対象ごと、たとえば車速センサであれば車速情報ごとにオブジェクトデータを構成してもよい。以下では、オブジェクトデータをデータと呼ぶ。 Here, a "target element" is a conceptual object commonly expressed by individual information elements grouped together as object data. Target elements are, for example, the detection target of a sensor, the control target of an actuator, and even the results of computational processing by an application. Preferably, in particular in the case of an external sensor, each recognized environmental element (obstacle, road shape, traffic rules, etc.) corresponds to the target element. That is, in this embodiment, instead of abstracting the hardware itself, which is the external sensor, a method is adopted in which data is abstracted in units of environmental elements that are detection targets. Note that, for internal sensors, object data may be configured based on the concept of the vehicle itself, or object data may be configured for each individual detection target, for example, for a vehicle speed sensor, for each vehicle speed information. Hereinafter, object data will be referred to as data.
検証アプリケーションプログラム212は、基本アプリケーションプログラム211と異なり検証を要するプログラムである。検証アプリケーションプログラム212は、検証管理サーバ10からネットワーク3を経由して、検証計画情報取得部225にて取得される。検証アプリケーションプログラム212は、検証計画情報取得部225にて取得された検証計画情報213に基づいて、実行がスケジューリングされる。
The
検証アプリケーションプログラム212は、基本アプリケーションプログラム211と同一のCPU上で実行されてもよく、また異なるCPU上で実行されるよう隔離されていてもよい。また検証アプリケーションプログラム212は、基本アプリケーションプログラム211と同一のOS上で実行されてもよいし、基本アプリケーションプログラム211とは異なるOS上で実行されるように隔離されてもよい。
The
検証計画情報213は後述する図4に示すデータフォーマットからなるデータであり、各検証計画エントリには、検証アプリケーションプログラム212と、検証方法定義214と、検証優先度215と、走行環境条件216とを含む。
The
検証方法定義214は、検証計画エントリごとに定義される、アプリケーションの検証方法の定義である。この定義は、想定される正常な出力値の範囲でもよいし、出力が同一となるべき基本アプリケーションプログラム211を特定する情報でもよい。たとえば検証アプリケーションプログラム212が、特定の基本アプリケーションプログラム211(以下、「同一機能基本アプリ」と呼ぶ)と同一の機能を有し、アルゴリズムを改善して実行速度を向上させた場合には、その検証アプリケーションプログラム212の検証方法定義214はたとえば、”同一機能基本アプリと出力が同一”と定義される。この既存のアプリケーションの出力値は、基本アプリケーションプログラム211として走行中に動作させその結果を逐次比較してもよく、また、事前に既存のアプリケーションの出力値を検証方法定義として保持しておき、それと比較することでもよい。
The
検証優先度215は、検証計画エントリごとに定義される。この検証優先度215は、検証管理サーバ10から取得されて、車載制御装置21の車載記憶部210に格納される。検証アプリ実行制御部224は、この検証優先度215を含む検証計画情報213に基づいて、検証実行スケジュール219Aを作成することで、検証アプリケーションプログラム212の実行をスケジューリングする。
The
走行環境条件216は、検証アプリケーションプログラム212に対して定義される1つ以上の、検証を行うべき走行環境を定義した設定情報である。この走行環境条件216と検証アプリケーションプログラム212との組に対して、各検証計画エントリが存在する。例えば、検証アプリケーションプログラム212が認知アプリケーションプログラムの場合は、走行環境条件216は、”交差点領域にいる場合”などの走行環境が設定されている。
The driving
走行環境条件予測情報217は、走行環境条件216が成立するタイミングおよび成立しなくなるタイミングに関する情報が記載されている。走行環境条件予測情報217は、走行環境条件成立予測部227により作成される。こ走行環境条件成立予測部227は例えば、車両情報219と、走行環境条件216とを照らし合わせて走行環境条件予測情報217を作成する。この走行環境条件予測情報217は、走行環境条件216が成立する将来時間や、非成立になる将来時間、成立頻度や持続時間、成立確率などの情報を含む。
The driving environment
検証結果218は、検証計画情報213の検証計画エントリごとの、検証の成否や進捗を示す情報である。検証アプリ実行制御部224により、検証方法定義214に従って検証の成否が記される。また検証が完了する前でも、検証方法定義214に従って、検証アプリ実行制御部224により検証の進捗情報が記される。この検証結果218は検証結果出力部226から検証管理サーバ10へ出力される。
The
車両情報219は、車両2の位置、速度、操舵情報、走行軌道情報、走行ルート情報などが含まれ、車両2にて取得される車両2に関する車両情報が含まれる。この車両情報219は、例えば、検証アプリケーションプログラム212または基本アプリケーションプログラムが出力する情報でもよく、車両センサ群23や外界センサ群22やアクチュエータ群24が出力する情報でもよい。
The
検証実行スケジュール219Aは、検証アプリケーションプログラム212を実行するスケジュールの情報である。検証実行スケジュール219Aは、検証アプリ実行制御部224により作成される。この作成には、検証アプリケーションプログラム212と、走行環境条件216と、検証優先度215と、走行環境条件216と、走行環境条件予測情報217と、を含む情報が利用される。なお以下では、検証実行スケジュール219Aを作成、更新、変更することを「検証スケジュールを行う」や「検証のスケジューリングを実行する」とも表現する。
The
通信部230は、例えば、イーサネット(登録商標)又はCAN(Controller Area Network)等の通信規格に準拠したネットワークカード等を含んで構成される。通信部230は、車両2に搭載された他の装置と各種プロトコルに基づきデータの送受信を行う。なお、通信部230と車両2に搭載された他の装置との間の接続形態は、イーサネットのような有線接続に限定されることはなく、Bluetooth(登録商標)や無線LAN(Local Area Network)などの近距離無線接続であってもよい。
The
無線通信装置20は、例えば、LTE(Long Term Evolution)等の長距離無線通信規格、または無線LANやDSRC(Dedicated Short Range Communications)等の近距離無線通信規格に準拠したネットワークカード等を有する。無線通信装置20はたとえば、検証管理サーバ10、1台又は複数台の他車両に搭載された無線通信装置20、1台又は複数台の人等が保有する不図示の通信端末等、とデータ通信が可能に構成される。
The
無線通信装置20は、検証管理サーバ10とネットワーク3を介してデータ通信を行う。無線通信装置20は、好ましくは、長距離無線通信を用いてネットワーク3に接続し、例えば、IP(Internet Protocol)系の各種プロトコルなどに基づいて生成されたデータの送受信を行う。なお、無線通信装置20は、長距離無線通信に限らず、近距離無線通信を用いてネットワーク3に直接接続しても良いし、路側機等の他の通信装置を介してネットワーク3に接続しても良い。
The
外界センサ群22は、車両周辺の一定範囲の障害物、たとえば他車両、歩行者、物体などや、道路標識や白線などの特徴物を認識するセンサ群である。外界センサ群22は、たとえば、カメラ、レーダ、ライダ等により構成される。外界センサ群22は、検出した車両周辺の障害物や特徴物の情報、たとえば車両からの相対距離と相対角度などを、外界センサ群22や車載制御装置21が接続されている車載ネットワーク25に出力する。車載制御装置21は、この車載ネットワーク25を介して外界センサ群22からの出力結果を取得できる。なお本実施の形態では、外界センサ群22で障害物や特徴物を検出する処理を実施する構成になっているが、外界センサ群22から出力される信号やデータを用いて車載制御装置21や他装置でこれらの検出処理を行ってもよい。
The
車両センサ群23は、車両の動きに関する情報、たとえば走行速度、操舵角、アクセルの操作量、ブレーキの操作量などを検出する装置群である。車両センサ群23は、たとえば、車載ネットワーク25上に検出したこれらの状態量を出力する。車載ネットワーク25に接続された車載制御装置21や他装置は、この車載ネットワーク25を通じて、車両センサ群23から出力された各種部品の状態量を取得する。
The
アクチュエータ群24は、車両の動きを決定する操舵、ブレーキ、アクセル等の制御要素を制御する装置群である。アクチュエータ群24は、運転者によるハンドル、ブレーキペダル、アクセルペダル等の操舵情報や、車載制御装置21から出力される目標制御値に基づいて車両の動きを制御する。
The
ネットワーク3は、無線および有線の少なくとも一方を媒体とする回線交換網又はパケット交換網の任意の組み合わせで構成される通信ネットワークである。ネットワーク3は、検証管理サーバ10と車両2に搭載された無線通信装置20とが相互にデータを送受信可能となるように構成される。車載制御装置21は、無線通信装置20を介して、ネットワーク3を経由して検証管理サーバ10と通信する。
(検証管理サーバの構成)
図1に戻って検証管理サーバ10の構成を説明する。検証管理サーバ10は、車両2の車載制御装置21で動作するアプリケーションプログラムの検証を計画し、その進捗を管理する。なお図1では検証管理サーバ10は1つのハードウエア装置として記載しているが、複数のハードウエア装置から構成されてもよい。検証管理サーバ10は、処理部100とサーバ記憶部110と通信部120と、を有する。
(Verification management server configuration)
Returning to Fig. 1, the configuration of the
処理部100は、例えば、CPU及びRAMなどを含んで構成され、所定の動作プログラムを実行することで、検証管理サーバ10の機能を実現する。また、処理部100には、機能ブロックとして、1つ以上の車両2から検証結果情報を受信する検証結果取得部102や走行環境条件成立予測部104を有する。また処理部100には、検証アプリケーションプログラムごとの検証計画情報を生成する検証計画情報生成部103、検証計画情報を車両2に送信する検証計画情報出力部101等が含まれる。
The
検証計画情報出力部101は、車両2に対して、サーバ記憶部110に格納されている検証アプリケーションプログラム111と、検証方法定義112と、検証優先度113と、走行環境条件114とを含む検証計画情報213を出力する。
The verification plan
検証結果取得部102は、車両2から送信された、検証アプリケーションプログラム111に関する検証結果情報を取得し、車両2に関する車両情報とともにサーバ記憶部110に格納する。検証結果情報には、1つ以上の検証アプリケーションプログラム212ごとの検証の進捗情報が含まれる。
The verification
検証計画情報生成部103は、検証進捗情報115と走行環境条件予測情報116に基づき、検証計画情報117を生成する。この検証計画情報117の各エントリには検証アプリケーションプログラム、検証方法定義、走行環境条件、検証優先度、等が含まれる。
The verification plan
走行環境条件成立予測部104は、1または複数の車両2から車両情報219を受け取る。走行環境条件成立予測部104は、検証アプリケーションプログラム111の走行環境条件114が、いずれの車両2にて近い将来に満たされるかを予測し、走行環境条件予測情報116を検証計画情報生成部103に渡す。この走行環境条件成立予測部104では、車両2では不可知の情報と、車両2の車両情報219を用いて、走行環境条件114の成立予測を行ってよい。例えば検証管理サーバ10が、車両2は不可知の、特定地域の渋滞情報を保持していた場合、その渋滞情報と車両2の車両情報を用いて走行環境条件の成立予測を行ってよい。
The driving environment condition
サーバ記憶部110は、例えば、HDD、フラッシュメモリ、ROMなどの記憶装置を含んで構成され、処理部100が実行するプログラム、及び本システムの実現に必要なデータ群などが格納される。本実施例では、特に、検証アプリケーションプログラム111、検証方法定義112、検証優先度113、走行環境条件114、検証進捗情報115、走行環境条件予測情報116、および検証計画情報117がサーバ記憶部110に格納される。
The
検証アプリケーションプログラム111は、車載制御装置21上の検証アプリケーションプログラム212と同様に、車載制御装置21上で検証を要するものである。検証アプリケーションプログラムごとに走行環境条件114、検証方法定義112、検証優先度113、等が定義されている。検証管理サーバ10が検証アプリケーションプログラム111を車載制御装置21上へ送信する。
The
検証方法定義112は、車載記憶部210に格納される検証方法定義214と同様であってよい。検証優先度113は車載記憶部210に格納される検証優先度215と同様であってよい。走行環境条件114は、車載記憶部210に格納される走行環境条件216と同様であってよい。走行環境条件114には、検証管理サーバ10にのみ知ることができ意味がある情報が含まれてもよい。
The
検証進捗情報115は、例えば進捗値で表され、検証の進捗を示す。この値の進捗表現値は検証アプリケーションプログラム212に依存し、検証アプリケーションプログラム212のカバレッジを示す場合や、検証アプリケーションプログラム212を検証動作させる目標時間に対するその時の検証実行時間の割合を示す場合がある。
The
走行環境条件予測情報116は、走行環境条件114が成立するタイミングおよび成立しなくなるタイミングを示す情報である。検証計画情報117は、検証計画情報生成部103が生成する情報であり、検証アプリケーションプログラム111と、検証方法定義112と、検証優先度113と、走行環境条件114とを含む。
The driving environment
通信部120は、例えば、イーサネット又はCAN等の通信規格に準拠したネットワークカード等を含んで構成され、検証管理サーバ10に搭載された他の装置と各種プロトコルに基づきデータの送受信を行う。なお、通信部120と検証管理サーバ10に搭載された他の装置との間の接続形態は、イーサネットのような有線接続に限定されることはなく、Bluetoothや無線LANなどの近距離無線接続であってもよい。
The
図3は、検証システム1における検証管理サーバ10の処理部100と、車両2の車載制御装置21の処理部220との間のデータの流れを示す図である。
Figure 3 is a diagram showing the flow of data between the
検証管理サーバ10は、車載制御装置21に対して検証計画情報240を送信する。この通信のタイミングは、車両2が検証管理サーバ10に対して送信要求を出した際に車両2から送信してもよく、また検証管理サーバ10が任意のタイミングで車両2に対して送信してもよい。また、複数の車両2に対して同時に送信してもよい。ただし、すべての車両2に対して送信する必要はなく、いずれかの1台以上の車両に送信する。また、検証管理サーバ10から車両2に直接の送信を行わず、別の車両や別のサーバを経由して車両2に到達してもよい。検証管理サーバ10は、送信先のすべての車両2に対して同一の検証計画情報240を送信してもよいし、車両2ごとに異なる検証計画情報240を送信してもよい。
The
車両2上の車載制御装置21は、検証管理サーバ10に対して検証結果218と車両情報219を送信する。この通信のタイミングは、検証管理サーバが車両2に対して送信要求を出した際に車両2から送信しても、また車両2が任意のタイミングで検証管理サーバ10に送信してもよい。また、車両2から別の車両やサーバを経由して検証管理サーバ10へ到達してもよい。
The on-
検証管理サーバ10の検証結果取得部102は、1または複数の車両2から検証結果218を受け取る。この検証結果218には1または複数の検証アプリケーションプログラム212に関する検証結果として検証の成否または進捗情報が格納されている。検証結果取得部102は、検証進捗情報115として検証計画情報生成部103に渡す。
The verification
走行環境条件成立予測部104は、1または複数の車両2から車両情報219を受け取る。走行環境条件成立予測部104は、走行環境条件114がいずれの車両2にて近い将来に満たされるかを予測して走行環境条件予測情報116を生成し、走行環境条件予測情報116を検証計画情報生成部103に渡す。走行環境条件成立予測部104では、車両2では不可知の情報と、車両2の車両情報219とを用いて、走行環境条件の成立予測を行ってよい。例えば、車両2は不可知の、特定地域の渋滞情報を検証管理サーバ10が保持していた場合、その渋滞情報と車両2の車両情報を用いて走行環境条件の成立予測を行ってよい。この成立予測に基づいて検証計画情報生成部103で検証優先度を定義することにより、検証アプリケーションプログラム212の検証をさらに効率化できる。
The driving environment condition
検証計画情報生成部103は検証進捗情報115と走行環境条件予測情報116とに基づき、検証計画情報117を生成する。この検証計画情報117の各エントリには検証アプリケーションプログラム、検証方法定義、走行環境条件、検証優先度、等が含まれる。車載制御装置21の検証計画情報取得部225は、検証計画情報117を取得する。
The verification plan
走行環境条件成立予測部227は、車両情報219と検証計画エントリに含まれる走行環境条件216が満たされるか否か予測し、走行環境条件予測情報217を生成する。この際、検証管理サーバ10で予測された走行環境条件予測情報116を車載制御装置21が予め受信し、この走行環境条件予測情報116と組み合わせて走行環境条件予測情報217を生成してもよい。
The driving environment condition
検証アプリ実行制御部224は、検証計画情報213をもとに検証アプリケーションプログラム212の検証を行う。その際に検証アプリ実行制御部224は、基本アプリ実行制御部223からデータの入出力を受けてもよい。また図3には記載していないが、検証アプリ実行制御部224は検証アプリケーションプログラム212の検証を行う際に外界センサ群22や車両センサ群23からデータの入力を受けてもよい。検証アプリ実行制御部224は、検証の結果を検証結果218として生成する。この検証結果218には、1つ以上の検証計画情報213ごとの検証の進捗情報が含まれる。検証結果出力部226は、検証結果218を検証アプリ実行制御部224から受け取り、車両情報219とともに検証管理サーバ10へ送信する。
The verification application
図4は、検証管理サーバ10のサーバ記憶部110に格納される走行環境条件114のデータのフォーマットの一例を示す図である。このフォーマットは、車載記憶部210の走行環境条件216に格納されているデータのフォーマットと同一である。走行環境条件114は1以上のエントリを有し、各エントリは検証アプリケーションプログラム名301と走行環境条件302のフィールドを有する。
Figure 4 shows an example of the format of the data of the driving
検証アプリケーションプログラム名301のフィールドには、検証対象となる検証アプリケーションプログラム212を特定する1または複数の名称が格納される。この識別子は車両2が一意に特定することができればよく、自然言語でなく識別子でもよい。
The verification
走行環境条件302のフィールドには、検証アプリケーションプログラム212の検証を実行すべき走行環境の条件が格納される。同一の検証アプリケーションプログラム名301に対して、複数の走行環境条件302を設定可能である。検証アプリケーションプログラム名301と走行環境条件302の組で一意となっている必要がある。この走行環境条件302は自然言語で設定されており検証アプリ実行制御部224で解析してもよいし、コンピュータで処理する特定の言語体系で記載されていてもよい。
The driving
走行環境条件302はたとえば、場所の条件として「車両が交差点領域にいる場合」、「車両が高速道にいる場合」、「車両がXX国にいる場合」等がある。この判定条件となる車両の位置情報は、走行中にセンサ群または基本アプリケーションプログラムから提供される。また、周辺環境の条件として「周辺車両がX台存在する場合」、「歩行者がY人存在する場合」等がある。この判定条件となる周辺環境に関する情報は、走行中にセンサ群や基本アプリケーションプログラム211から提供される。また、車種に関する条件として設定してもよく、例えば「車種XX上で動作する場合」などと条件が指定されてもよい。また、天候等の条件として「曇り」「雨」などの条件を指定してもよい。また、日付や時刻で指定してもよく、例えば「Y時~Z時」などの条件で指定してもよい。
The driving
また、複数の条件を統合して記載してもよく、例えば「高速道にいる場合かつY時~Z時の間」などの条件で指定してもよく、「高速道にいる場合またはY時~Z時の間」などの条件で指定してもよい。また、基本アプリケーションプログラムや他の検証アプリケーションプログラムの出力や入力を監視し、その入出力データを走行環境条件としてもよい。例えば走行環境条件を「基本アプリケーションプログラムの認知アプリCが、特定のデータDを出力している場合」としてもよい。また、基本アプリケーションプログラム211や他の検証アプリケーションプログラム212の実行を監視し、その実行状況を走行環境条件としてよく、例えば「検証アプリケーションプログラムDが動作している場合」などと指定してもよい。
In addition, multiple conditions may be written in an integrated manner, for example, by specifying a condition such as "if on a highway and between Y o'clock and Z o'clock", or by specifying a condition such as "if on a highway or between Y o'clock and Z o'clock". In addition, the output or input of the basic application program or other verification application programs may be monitored, and the input/output data may be used as the driving environment condition. For example, the driving environment condition may be "if the recognition application C of the basic application program is outputting specific data D". In addition, the execution of the
この走行環境条件302は、アプリケーションの開発者が手動で設定してもよいし、検証計画情報生成部103が検証アプリケーションプログラム111を解析して自動で設定されてもよい。例えば、プログラム上のすべての分岐をカバーするように走行環境条件302が自動で設定されてもよい。
The driving
この走行環境条件114は、検証アプリケーションプログラム212や走行環境条件302が細かく設定されるとサイズが大きくなるため、検証管理サーバ10ではオリジナルの走行環境条件114を保持しておくものの、車載制御装置21へ送信される走行環境条件114は、検証実行が行われるアプリケーションプログラムに関する設定のみ抽出されたサブセットだけであってもよい。
The size of the driving
図5は、検証管理サーバ10の検証計画情報生成部103で生成される検証計画情報213の一例を示す図である。検証計画情報213は複数のエントリを含み、各エントリは検証アプリケーションプログラム名301と、走行環境条件302と、空きCPUリソース条件403と、優先度404と、検証方法定義405とを含む。検証計画情報213は必ずしも一つのデータとして統合されている必要はなく、複数のデータ群として存在しそれらが紐づいている形で存在していてもよい。例えば、図4に記載の走行環境条件114と、各走行環境条件に対する優先度と、空きCPUリソース条件と、検証方法定義とが別個に定義されていてもよい。また、CPUリソース条件403、優先度404、および検証方法定義405は、静的に定義されている必要はなく、例えば車両2の車種ごとに異なる設定情報として保持されてもよい。ここでは図5の記載に沿って説明する。
5 is a diagram showing an example of the
検証計画情報213のそれぞれの検証計画エントリは、検証アプリケーションプログラム名401と走行環境条件402の組合せに対して一意に存在する。各検証計画エントリには、優先度404と空きCPUリソース条件403と検証方法定義405とがそれぞれ設定される。優先度404、空きCPUリソース条件403、および検証方法定義405は同一の内容が設定されていても構わない。検証アプリケーションプログラム名301および走行環境条件302は図4において説明したとおりなので説明を省略する。
Each verification plan entry in the
空きCPUリソース条件403は、検証計画情報117や検証計画情報213に含まれるデータ要素であり、検証アプリケーションプログラム212の検証を行う際に必要となるCPUリソースを示すものである。空きCPUリソース条件403に記載される値は、事前に計測した、または走行中に更新された、検証時に消費されるCPUリソースの平均値や最大値などの値である。空きCPUリソース条件403の値が大きいほど検証には多くのCPUリソースを消費することを意味する。
The free
優先度404は、車載制御装置21上の検証アプリ実行制御部224が、検証実行スケジュール219Aの作成の際に参照する情報であり、これに基づいて、検証アプリケーションプログラム212を検証する順序を決定する。優先度404の値が大きいほど優先して検証が行われる。例えば、走行環境条件402が満たされており、さらに空きCPUリソース条件403も満たされているときには、検証アプリケーションプログラム212のうち優先度が高いものから検証が行われる。
The
例えば、検証計画情報213が図5に示す例のとおりであり、天気が曇りであり、かつ空きCPUリソースが10%以上存在している場合には、優先度が「20」の「認知アプリA」ではなく、優先度が「30」の「認知アプリB」の検証が優先的にスケジューリングされる。ただし検証のスケジューリング方法は、優先度だけでなく他の情報も併せて、検証アプリ実行制御部224にて特定のアルゴリズムで制御されてもよい。この優先度の定義は検証管理サーバ10の検証計画情報生成部103にて行われてもよいし、車載制御装置21上の走行環境条件成立予測部で、成立予測に基づいて定義を修正してもよい。
For example, when the
検証方法定義405は、検証アプリケーションプログラム212の検証方法の定義である。検証アプリ実行制御部224は、この検証方法定義405に従って、実行した検証アプリケーションプログラム212の検証成否および進捗情報を管理する。検証方法定義405はアプリケーションに依存して設定される項目である。例えば検証方法定義405には、検証アプリケーションプログラム212の適切な出力値の範囲が直接定義されてもよい。また検証方法定義405には、出力が同一になるべき基本アプリケーションプログラム211が指定されてもよい。具体例を説明する。
The
ここでは、検証アプリケーションプログラム212が既存の基本アプリケーションプログラム211を改良したものであるケースを想定する。この場合に、改良が機能自体は変更がなく、アルゴリズムが簡略化や効率化された場合などにはこの出力値を基本アプリケーションプログラム211の出力値と比較するのみで問題ないケースが多い。その一方で、改良が機能の変更である場合には、単純に基本アプリケーションプログラムのとの出力値の比較では対応できないことがある。その際には、検証アプリケーションプログラム212の適切な出力値を予め検証方法定義405に記載しておく。
Here, we consider the case where the
さらに検証方法定義405には次のケースも考えられる。例えば、3つのアプリケーションプログラムである検証アプリケーションプログラムA、B、Cの検証を次のように省力化できる。検証アプリケーションプログラムA、B、Cを複数連成して動作させる場合に、アプリケーションプログラムCの出力値を厳密にチェックすることで、前段のアプリケーションプログラムA、Bの検証を実質的には検証を済ませることが考えられる。
Furthermore, the following case can be considered for the
図6(a)~(c)は検証管理サーバ10における走行環境条件予測情報116と、車載制御装置21上の走行環境条件予測情報217のデータのフォーマットの例を3つ示す図である。ここでは代表して走行環境条件予測情報116のフォーマットとして説明する。検証管理サーバ10における走行環境条件予測情報116と、車載制御装置21上の走行環境条件予測情報217のデータのフォーマットとは、同一でもよいし異なってもよい。
Figures 6(a) to (c) are diagrams showing three examples of the data format of the driving environment
図6(a)に示す例では、走行環境条件予測情報217をテーブルの形態で保持している場合のフォーマットを示す。走行環境条件予測情報217は、検証アプリケーションプログラム名511と、走行環境条件512と、直近の成立タイミング513と、直近の不成立タイミング514と、のカラムを含む。走行環境条件512に対して、直近の成立タイミング513と、直近の不成立タイミング514が定義されている。
The example shown in FIG. 6(a) shows a format in the case where the driving environment
図6(a)の1行目の例では、走行環境条件512が「交差点領域にいる場合」と定義されており、直近の不成立タイミングが5秒後、と定義されている。これは、この走行環境条件の内容が成立しており、はじめて不成立になるタイミングが5秒後であることを示している。車載制御装置21上の検証アプリ実行制御部224は、例えば、この情報を用いて検証アプリケーションプログラム212が「認知アプリA」と走行環境条件216が「交差点領域にいる場合」の組に対する検証優先度215の値を大きくし、直近に優先的に検証が実行されるように調整する。これにより、将来の不成立がわかっているアプリケーションプログラムの走行環境条件に対して、優先的に検証を実行する制御が可能となる。
In the example of the first line in FIG. 6(a), the driving
図6(a)の2行目の例では走行環境条件512が「周辺車両がX台存在する場合」と定義されており、直近の成立タイミングが5秒後、と定義されている。車載制御装置21上の検証アプリ実行制御部224は、例えば、「認知アプリA」の走行環境条件216に対して検証を行いたい場合には、5秒後に検証スケジューリングを再実行するようにタイマーをかけることが考えられる。またその際に、検証計画情報213の優先度404を上げることが考えられる。これにより、走行環境条件216が不成立だったアプリケーションプログラムに対して、走行環境条件216が成立してから最短で優先的に実行するような制御が可能となる。
In the example of the second line in FIG. 6(a), the driving
図6(b)に示す例では、特定の検証アプリケーションプログラム212と走行環境条件216の組合せを対象とする走行環境条件予測情報217を、成立または非成立の2値の時系列データとして保持している。この例では、図6(a)に示す例では不可能であった、走行環境条件の複数回の成立および不成立を表現することができる。これにより例えば、現状成立しており5秒後に非成立し、6秒後にすぐ再度成立するケースにおいて、図6(a)の説明において述べたような優先度を上げる制御を行う必要がないことが表現できる。このように図6(b)に示す例では、将来の一定期間における成立・非成立の頻度や成立時間の情報を保持できるので、これを用いた検証スケジュールの制御が可能となる。
In the example shown in FIG. 6(b), driving environment
図6(c)に示す例では、特定の検証アプリケーションプログラム212と走行環境条件216の組合せを対象とする走行環境条件予測情報217を、成立確率の時系列データとして保持している。走行環境条件の成立予測を、例えば基本アプリケーションプログラム211の認知アプリケーションの結果を用いて行う場合に、その認知アプリケーションが出力を確率として表現する際に、それをそのまま予測情報として用いることができる。もし図6(b)の例のように2値で表現せざるを得ない場合、例えば成立確率が0.5として本来存在する場合に、その情報を切り上げや切り捨てを行うので正確な情報を失ってしまう。予測情報としてそのまま確率として保持することができれば、より正確な予測情報に基づいて検証スケジュールの制御が可能となる。
In the example shown in FIG. 6(c), driving environment
図7は、検証アプリ実行制御部224による検証アプリケーションプログラム212の検証実行スケジュール219Aの定義処理を示すフローチャートである。なお図7は、検証実行スケジュール219Aの作成処理や修正処理を示すフローチャートとも呼べる。検証アプリ実行制御部224は、まずステップS500において、実行スケジューリング要求を受けてステップS501に進む。
Figure 7 is a flowchart showing the process of defining the
ステップS500を詳述すると、検証アプリ実行制御部224は、車載制御装置21のミドルウェアやOS、アプリケーションのいずれからこの要求を受けてもよい。この要求を受けるタイミングは起動時、停止中、走行中のいずれでもよい。さらに検証アプリ実行制御部224は、検証管理サーバ10から動的に要求を受けてもよい。例えば、優先度の高い検証アプリケーションプログラム212が検証管理サーバ10で定義された際に、検証管理サーバ10から各車両2の検証実行スケジュール219Aを変更するように要求されることが考えられる。また、走行環境条件216の成立が困難である場合には、検証管理サーバ10が成立条件を予測した場合にスケジューリングを要求することがありうる。
To explain step S500 in more detail, the verification application
検証アプリ実行制御部224は、ステップS501において、検証計画情報213を読み込む。この検証計画情報213は例えば図5に図示したデータフォーマットで構成され、各エントリに検証アプリケーションプログラム名、走行環境条件、検証方法定義、検証優先度などを含む。もし、最新の検証計画情報を検証管理サーバ10から受け取って一定の時間が経過していた場合には、検証アプリ実行制御部224は検証管理サーバ10に検証計画情報213を要求してもよい。検証アプリ実行制御部224は、ステップS502において、走行環境条件予測情報217を読み込む。この走行環境条件予測情報217は走行環境条件に関して、走行環境条件成立予測部227が作成した予測情報である。
In step S501, the verification application
検証アプリ実行制御部224は、ステップS503において、走行環境条件予測情報217に基づいて検証計画エントリの優先度を更新してステップS504に進む。この更新の一例を説明する。図6(a)に示す例のように、走行環境条件512が「交差点領域にいる場合」と定義されており、直近の不成立タイミングが5秒後、と定義されている場合を想定する。この場合に検証アプリ実行制御部224は、例えば、走行環境条件予測情報217を用いてこのアプリケーションプログラムと走行環境条件512の組に対する検証優先度215の値を大きくし、直近に優先的に検証が実行されるように調整する。これにより、将来の不成立がわかっている検証アプリケーションプログラム212の走行環境条件に対して、優先的に検証を実行する制御が可能となる。
In step S503, the verification application
優先度の更新の別の例を、図6(b)を参照して説明する。図6(b)に示す例では、ある走行環境条件が現状成立しており5秒後に非成立し、6秒後にすぐ再度成立する。この場合には、優先度を上げる制御を行う必要がないため、優先度を下げることが考えられる。 Another example of updating the priority will be described with reference to FIG. 6(b). In the example shown in FIG. 6(b), a certain driving environment condition is currently satisfied, becomes non-satisfied after 5 seconds, and is satisfied again immediately after 6 seconds. In this case, since there is no need to perform control to increase the priority, it is possible to lower the priority.
検証アプリ実行制御部224は、ステップS504において、検証計画情報213の中で優先度の高い検証計画エントリから順に走査し、走行環境条件402を満たす検証計画エントリを抽出する。走行環境条件402を満足するか否かの具体例を説明する。まず走行環境条件402が場所に関する条件である「交差点領域にいること」である場合の例を説明する。この場合にはたとえば、基本アプリケーションプログラム211の自己位置推定アプリケーションの出力する自己位置データをもとに判断する。車両2が交差点領域にいる場合であれば走行環境条件402を満たしたものとして、ステップS505に進む。車両2が交差点領域にいない場合には走行環境条件402を満たさないので、次に優先度の高い走行環境条件に移る。
In step S504, the verification application
ステップS504の別な具体例を説明する。走行環境条件402に例えば、「車種XXであること」等の車両に関する条件が設定されている場合には、例えば、車両情報219に基づいて判断する。車両情報219に含まれる車種の情報が「車種XX」に合致する場合には走行環境条件402を満たしたものとして、ステップS505に進む。車両情報219に含まれる車種の情報が「車種XX」に合致しない場合には走行環境条件402を満たさないので、次に優先度の高い走行環境条件に移る。
Another specific example of step S504 will be described. If a vehicle-related condition, such as "must be vehicle model XX," is set in driving environment condition 402, a judgment is made, for example, based on
ステップS504のさらに別な具体例を説明する。走行環境条件402に例えば、「天気が曇りであること」等の天候に関する条件が設定されている場合には、例えば、基本アプリケーションプログラム211の画像認識アプリケーションが出力する天候情報をもとに判断する。天候情報が曇りの場合には、走行環境条件402を満たしたものとして、ステップS505に進む。天候情報が曇り以外の場合には走行環境条件402を満たさないので、次に優先度の高い走行環境条件に移る。もし、走行環境条件が存在しない場合はステップS507へ進む。
Another specific example of step S504 will be described. If a weather-related condition such as "the weather is cloudy" is set in the driving environment condition 402, a judgment is made based on weather information output by the image recognition application of the
なおステップS504において優先度が同じ値の検証計画エントリが複数存在する場合には、任意の検証計画エントリから選択してもよいし、検証に要するCPUリソースが大きいものから走査してもよい。このように、検証アプリケーションプログラム212の走行環境条件216を優先度の高いものから空きCPUリソース条件に基づいて判断することで、CPUリソースが少ない環境においても、優先度の高いアプリケーションの検証を優先的に完了することができる。
If there are multiple verification plan entries with the same priority value in step S504, any verification plan entry may be selected, or the verification plan entries requiring the most CPU resources may be scanned first. In this way, by determining the running
検証アプリ実行制御部224は、ステップS505において、CPUリソース条件や、予測情報などに基づいて、タスクに対して検証アプリケーションプログラム212の実行を割り当てる。この割り当てとは、検証実行スケジュール219Aに書き込みを行うことである。予測情報に基づく割り当てとは、例えば、走行環境条件の成立がXXms後に成立することが予測されている場合は、そのXXmsの経過後に実行されるように割り当てられるのが望ましい。また逆に、YYms後に不成立となることが予測されている場合は、そのYYmsの経過前に割当てられるのが望ましい。さらに、長時間成立しないことが予測されている場合には、当該アプリケーションプログラムは検証のためのタスクに割当てずに、他の検証アプリケーションプログラム212に譲るようにしてもよい。検証アプリ実行制御部224は、車載制御装置21上のCPUリソース状態の情報を受け取り、CPUリソース条件403に記載された数値との大小関係を比較することで、CPUリソース条件403を満足するか否かを判断する。
In step S505, the verification application
検証アプリ実行制御部224は、続くステップS506において、検証用のCPUリソースの空きが存在するか否かを判断する。検証アプリ実行制御部224は、リソースの空きが存在しないと判断する場合はステップS507に進み、リソースの空きが存在すると判断する場合にはステップS504に戻り、次に優先度の高い検証アプリケーションプログラムの割り当てを試みる。
In the next step S506, the verification application
検証アプリ実行制御部224は、ステップS507において、検証実行スケジュール219Aを確定して車載記憶部210に格納して図7に示す処理を終了する。検証アプリ実行制御部224は、この検証実行スケジュール219Aに基づいて検証アプリケーションプログラム212を実行する。
In step S507, the verification application
図8は、検証管理サーバ10における検証進捗情報115の一例を示す図である。図8では検証進捗情報115がテーブルのフォーマットで表され、複数のエントリを有する。このエントリを以下では「進捗情報エントリ」とも呼ぶ。この進捗情報エントリは、検証計画情報117の検証計画エントリに対応して存在する。
Figure 8 is a diagram showing an example of
進捗情報エントリは検証アプリケーションプログラム名710と、走行環境条件711と、進捗値712と、を含む。このエントリに検証経過時間713が含まれていてもよい。検証アプリケーションプログラム名710と走行環境条件711の組は、検証計画エントリに存在するものと対応する。進捗情報エントリの進捗値712は、検証の進捗を示す。この値の進捗表現値は検証アプリケーションプログラムに依存し、検証アプリケーションプログラムのカバレッジを示す場合や、検証アプリケーションプログラムを検証動作させる目標時間に対するその時の検証実行時間の割合を示す場合を示す。この検証進捗情報115は車載制御装置21の検証アプリ実行制御部224において作られる。
The progress information entry includes a verification
進捗情報エントリの検証経過時間713は、当該アプリケーションプログラムと走行環境条件が検証計画情報として初めて車載制御装置21上でスケジューリングされてから経過した時間を示す。なお、検証管理サーバ10上での経過時間が検証進捗情報115に含まれてもよい。
The verification elapsed
図9は、検証計画情報生成部103による検証計画情報117の生成処理を示すフローチャートである。検証計画情報生成部103は、まずステップS800において、検証計画情報生成要求を受ける。検証計画情報生成部103は、ステップS801において、検証の検証進捗情報115と走行環境条件予測情報116を受け取る。検証進捗情報115は検証結果取得部102から受け取り、走行環境条件予測情報116は走行環境条件成立予測部104から受け取る。
Figure 9 is a flowchart showing the process of generating
検証計画情報生成部103は、ステップS802において、検証計画情報213を生成する。検証計画情報生成部103は、それぞれの検証計画エントリに対して、検証進捗情報115に基づいて検証経過時間に対して進捗値が小さいものの優先度を上げてもよい。また、検証経過時間に対して進捗値が大きいものの優先度を下げてもよい。また、検証管理サーバ10における走行環境条件予測情報116に基づき、直近で不成立であるが将来的に成立見込みのある検証計画エントリを優先度下げてもよいし、逆に直近は成立するが、将来的に不成立見込みのある検証計画エントリの優先度を上げてもよい。
In step S802, the verification plan
上述した第1の実施の形態によれば、次の作用効果が得られる。
(1)車載制御装置21は、車両2に搭載され、車両2の走行制御に関する基本アプリケーションプログラム211、複数の検証アプリケーションプログラム212、検証アプリケーションプログラム212を検証する車両2に関する条件である走行環境条件216、および走行環境条件216の検証優先度215、を格納する車載記憶部210と、走行環境条件216および検証優先度215に基づき、検証アプリケーションプログラム212の検証の実行を制御する検証アプリ実行制御部224と、を備える。そのため車載制御装置21は、検証する条件と優先度を考慮して、複数の検証アプリケーションプログラム212の検証を効率よく実行できる。
According to the above-described first embodiment, the following advantageous effects can be obtained.
(1) The in-
(2)車載制御装置21は、車載記憶部210に、走行環境条件216における検証方法を定義した検証方法定義214が格納される。検証アプリ実行制御部224は、さらに検証方法定義214に基づき検証アプリケーションプログラム212の検証の実行を制御する。そのため車載制御装置21は、検証アプリケーションプログラム212の検証の成否を容易に判断できる。たとえば検証アプリケーションプログラム212が、既存の基本アプリケーションプログラム211と同一の機能を有し、アルゴリズムを改善して実行速度を向上させた場合には、既存の基本アプリケーションプログラム211と出力値が一致するか否かを検証する。
(2) In the on-
(3)検証アプリ実行制御部224は、検証アプリケーションプログラム212の検証に必要なデータを基本アプリケーションプログラム211から取得する。そのため検証アプリ実行制御部224は、データ処理の一部を省略でき、効率よく検証を実行できる。
(3) The verification application
(4)車載制御装置21は、車両2の走行環境が、検証計画情報213に含まれる走行環境条件216に合致するタイミングを予測する走行環境条件成立予測部227を備える。検証アプリ実行制御部224は、走行環境条件成立予測部227が予測した走行環境条件予測情報217に基づき、検証アプリケーションプログラム212の検証の実行を制御する。検証アプリ実行制御部224は、走行環境条件成立予測部227の予測に基づき検証実行スケジュール219Aを作成し、検証実行スケジュール219Aに従って検証を行うので、たとえば車両2の進行予定にあわせて複数の検証アプリケーションプログラム212を効率よく検証できる。
(4) The on-
(5)検証管理サーバ10は、車両2と通信可能である。検証管理サーバ10は、車両2において検証されるアプリケーションである検証アプリケーションプログラム111、および検証アプリケーションプログラム111を検証すべき条件である走行環境条件114を格納するサーバ記憶部110と、車両2から取得した車両情報219および走行環境条件114に基づき検証アプリケーションプログラム212の検証優先度113を決定し、走行環境条件114と、検証アプリケーションプログラム212と、検証優先度113と、を含む検証計画情報117を生成する検証計画情報生成部103と、検証計画情報117を車両2に出力する検証計画情報出力部101と、を備える。そのため検証管理サーバ10は、車両2から取得した車両情報219および走行環境条件114に基づき検証アプリケーションプログラム212の検証優先度113を決定するので、複数の検証アプリケーションプログラム212の検証を効率よく実行させることができる。
(5) The
(6)車両情報219は、車両2において実行された検証アプリケーションプログラム212の検証結果を含む。検証計画情報生成部103は、検証アプリケーションプログラム212の検証結果に基づき検証アプリケーションプログラム212の検証進捗情報115を更新し、検証進捗情報115に基づいて検証アプリケーションプログラム111の検証優先度113を決定する。そのため検証管理サーバ10は、進捗にあわせて検証優先度113を操作することで、一部の検証アプリケーションプログラム212だけが著しく遅れる事態を回避できる。さらに、検証管理サーバ10に複数の車載制御装置21が接続されている場合には、複数の車載制御装置21における検証の進捗をもとに検証優先度113を操作するので、1台の車載制御装置21だけでは不可能な、検証システム1の全体としての最適化ができる。
(6) The
(7)検証管理サーバ10は、車両情報219に基づき、車両2の走行環境が検証計画情報117に含まれる走行環境条件に合致するタイミングを予測する走行環境条件成立予測部104を備える。検証計画情報生成部103は、予測したタイミングに基づき、検証アプリケーションプログラム111の検証優先度113を決定する。そのため検証管理サーバ10は、それぞれの車載制御装置21に最適な検証アプリケーションプログラム212の検証を担当させ、検証システム1の全体としての最適化ができる。
(7) The
(8)検証システム1は、車両2に搭載される車載制御装置21および車載制御装置21と通信可能な検証管理サーバ10を含む。検証管理サーバ10は、車両2において検証されるアプリケーションである検証アプリケーションプログラム111、および検証アプリケーションプログラム212を検証すべき条件である走行環境条件114を格納するサーバ記憶部110と、車両2から取得した車両情報219および走行環境条件114に基づき検証アプリケーションプログラム212の検証優先度113を決定し、走行環境条件114と、検証アプリケーションプログラム111と、検証優先度113と、を含む検証計画情報117を生成する検証計画情報生成部103と、検証計画情報117を車両2に出力する検証計画情報出力部101と、を備える。車載制御装置21は、検証管理サーバ10が出力した検証計画情報117を取得する検証計画情報取得部225と、車両2の走行制御に関する基本アプリケーションプログラム211と並行して、検証アプリケーションプログラム212の検証の実行を走行環境条件216と検証優先度215に基づき制御する検証アプリ実行制御部224と、を備える。そのため検証システム1は、複数の検証アプリケーションプログラム212の検証を効率よく実行できる。
(8) The
(変形例1)
車載制御装置21における優先度の更新量と、検証管理サーバ10における優先度の更新量の配分はシステム全体で事前に調整してもよい。例えば、車載制御装置21における優先度の更新を全く行わず、検証管理サーバ10でのみ優先度の更新するようにしてもよい。もしくは、例えば、検証管理サーバ10で優先度を更新し、さらに車両2での予測の結果に基づいて、細かく調整可能としてもよい。なお車載制御装置21における優先度の更新を行わない場合には、図7のステップS503の処理を行わない。
(Variation 1)
The distribution of the amount of priority updates in the on-
(変形例2)
図7に示した検証実行スケジュール219Aの定義処理は次の(A)~(C)のように変更してもよい。
(Variation 2)
The definition process of the
(A)図7では、ステップS504において、優先度の高い検証計画エントリから走査し、実行スケジュールを割り当てた。しかし別の方法として、優先度ではなく検証に必要とするCPUリソースが大きいものから走査してもよい。
(B)図7では、ステップS504において、優先度の高い検証計画エントリから走査した。しかしこの段階でCPUリソース条件403を確認し、CPUリソースを満たさないエントリについては無視してもよい。
(C)図7では検証計画情報213は読み込むのみであった。しかし、検証実行スケジュール219Aの定義が繰り返された際に、割り当てられない検証アプリケーションプログラム212に対して、優先度を大きくする処理を追加してもよい。それにより、一向に実行がスケジュールされない検証アプリケーションプログラム212の実行を保証することができる。
7, in step S504, the verification plan entries with the highest priority are scanned first, and an execution schedule is assigned. However, as an alternative method, the verification plan entries may be scanned in order of the CPU resources required for verification, rather than the priority.
7, in step S504, the verification plan entries with higher priority are scanned first. However, at this stage, the
7, the
(変形例3)
検証計画情報213には、検証方法定義214が含まれなくてもよい。この場合には車載制御装置21は、検証アプリケーションプログラム212の実行結果、たとえばプログラムが出力する情報を検証管理サーバ10に送信することで、検証の代替とすることができる。
(Variation 3)
The
(変形例4)
車載制御装置21は、走行環境条件成立予測部227を備えなくてもよい。この場合には車載制御装置21は、検証する検証アプリケーションプログラム212の順番を予め既定の手法またはランダムに決定してもよい。または車載制御装置21は、所定の時間間隔ごとに走行環境条件216の成立を判断し、そのときに成立している走行環境条件216を有する検証アプリケーションプログラム212を実行してもよい。
(Variation 4)
The on-
(変形例5)
検証管理サーバ10の検証計画情報生成部103は、検証結果218に基づく検証優先度113の更新を行わなくてもよい。
(Variation 5)
The verification plan
(変形例6)
検証管理サーバ10は、走行環境条件成立予測部104を備えなくてもよい。この場合には検証管理サーバ10は、たとえばそれぞれの車載制御装置21にランダムに検証アプリケーションプログラム212の検証を割り当てる。
(Variation 6)
The
上述した各実施の形態および変形例において、機能ブロックの構成は一例に過ぎない。別々の機能ブロックとして示したいくつかの機能構成を一体に構成してもよいし、1つの機能ブロック図で表した構成を2以上の機能に分割してもよい。また各機能ブロックが有する機能の一部を他の機能ブロックが備える構成としてもよい。 In each of the above-described embodiments and variations, the functional block configurations are merely examples. Several functional configurations shown as separate functional blocks may be configured together, or a configuration shown in a single functional block diagram may be divided into two or more functions. In addition, some of the functions of each functional block may be provided by other functional blocks.
車載制御装置21が不図示の入出力インタフェースを備え、必要なときに入出力インタフェースと車載制御装置21が利用可能な媒体を介して、他の装置からプログラムが読み込まれてもよい。ここで媒体とは、たとえば入出力インタフェースに着脱可能な記憶媒体、または通信媒体、すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。また、プログラムにより実現される機能の一部または全部がハードウエア回路やFPGAにより実現されてもよい。上述した複数の変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
The
上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。 The above-mentioned embodiments and modifications may be combined with each other. Although various embodiments and modifications have been described above, the present invention is not limited to these. Other aspects that are conceivable within the scope of the technical concept of the present invention are also included within the scope of the present invention.
10…検証管理サーバ
21…車載制御装置
101…検証計画情報出力部
102…検証結果取得部
103…検証計画情報生成部
104…走行環境条件成立予測部
110…サーバ記憶部
111、212…検証アプリケーションプログラム
112、214…検証方法定義
113、215…検証優先度
114、216…走行環境条件
115…検証進捗情報
116…走行環境条件予測情報
117、213…検証計画情報
210…車載記憶部
211…基本アプリケーションプログラム
217…走行環境条件予測情報
218…検証結果
219…車両情報
219A…検証実行スケジュール
220…処理部
221…センサ入力部
222…アクチュエータ出力部
223…基本アプリ実行制御部
224…検証アプリ実行制御部
225…検証計画情報取得部
226…検証結果出力部
227…走行環境条件成立予測部
10...
Claims (8)
前記車両の走行制御に関する基本アプリケーションプログラムとは異なる複数の検証アプリケーションプログラム、前記検証アプリケーションプログラムを検証する前記車両に関する条件である走行環境条件、および前記検証アプリケーションプログラムと前記走行環境条件の組に対する検証優先度を含む検証計画情報と、前記基本アプリケーションプログラムとを格納する車載記憶部と、
前記基本アプリケーションプログラムおよび前記検証アプリケーションプログラムを実行可能なCPUと、
前記走行環境条件および前記検証優先度に基づき、前記検証アプリケーションプログラムの検証の実行を制御する検証実行制御部と、を備え、
前記検証計画情報には、前記検証アプリケーションプログラムおよび前記走行環境条件の組み合わせ毎に前記検証優先度が格納され、
前記検証実行制御部は、前記走行環境条件が満たされた前記検証アプリケーションプログラムのうち前記検証優先度が高い検証アプリケーションプログラムほど優先して検証する車載制御装置。 An on-board control device mounted on a vehicle,
an in-vehicle storage unit that stores a plurality of verification application programs different from a basic application program related to driving control of the vehicle, verification plan information including driving environment conditions that are conditions related to the vehicle for verifying the verification application programs, and verification priorities for pairs of the verification application programs and the driving environment conditions, and the basic application programs ;
a CPU capable of executing the basic application program and the verification application program;
a verification execution control unit that controls execution of the verification application program based on the driving environment conditions and the verification priority ;
the verification plan information stores the verification priority for each combination of the verification application program and the driving environment condition;
The verification execution control unit prioritizes verification of a verification application program having a higher verification priority among the verification application programs for which the driving environment condition is satisfied .
前記車載記憶部に、さらに前記走行環境条件における検証方法を定義した検証方法定義が格納され、
前記検証実行制御部は、さらに前記検証方法定義に基づき前記検証アプリケーションプログラムの検証の実行を制御する車載制御装置。 The on-board control device according to claim 1 ,
The vehicle-mounted storage unit further stores a verification method definition that defines a verification method under the driving environment conditions,
The verification execution control unit further controls the execution of the verification of the verification application program based on the verification method definition.
前記検証実行制御部は、前記検証アプリケーションプログラムの検証に必要なデータを前記基本アプリケーションプログラムから取得する車載制御装置。 The on-board control device according to claim 1 ,
The verification execution control unit obtains data necessary for verifying the verification application program from the basic application program.
前記車両の走行環境が、前記走行環境条件に合致するタイミングを予測する走行環境条件成立予測部をさらに備え、
前記検証実行制御部は、さらに前記走行環境条件成立予測部が予測した予測情報に基づき、前記検証アプリケーションプログラムの検証の実行を制御する車載制御装置。 The on-board control device according to claim 1 ,
A driving environment condition satisfaction prediction unit predicts a timing when the driving environment of the vehicle matches the driving environment condition,
The verification execution control unit is an in-vehicle control device that further controls the execution of verification of the verification application program based on prediction information predicted by the driving environment condition satisfaction prediction unit.
前記車両において検証されるアプリケーションプログラムである検証アプリケーションプログラム、および前記検証アプリケーションプログラムを検証する前記車両に関する条件である走行環境条件を格納するサーバ記憶部と、
前記車両から取得した車両情報に基づき前記検証アプリケーションプログラムと前記走行環境条件の組に対する検証優先度を決定し、前記走行環境条件と、前記検証アプリケーションプログラムと、前記検証優先度と、を含む検証計画情報を生成する検証計画情報生成部と、
前記検証計画情報を前記車両に出力する検証計画情報出力部と、を備え、
前記車両情報は、前記車両において実行された前記検証アプリケーションプログラムの検証結果を含み、
前記検証計画情報生成部は、前記検証アプリケーションプログラムの検証結果に基づき前記検証アプリケーションプログラムに関する検証の進捗を示す検証進捗情報を更新し、前記検証進捗情報に基づいて前記検証アプリケーションプログラムと前記走行環境条件の組に対する前記検証優先度を決定するサーバ。 A server capable of communicating with a vehicle,
a server storage unit that stores a verification application program that is an application program to be verified in the vehicle, and a driving environment condition that is a condition related to the vehicle for verifying the verification application program;
a verification plan information generating unit that determines a verification priority for a set of the verification application program and the driving environment conditions based on vehicle information acquired from the vehicle, and generates verification plan information including the driving environment conditions, the verification application program, and the verification priority;
a verification plan information output unit that outputs the verification plan information to the vehicle ,
the vehicle information includes a verification result of the verification application program executed in the vehicle;
The verification plan information generation unit updates verification progress information indicating the progress of verification regarding the verification application program based on the verification results of the verification application program, and determines the verification priority for the pair of the verification application program and the driving environment conditions based on the verification progress information.
前記車両において検証されるアプリケーションプログラムである検証アプリケーションプログラム、および前記検証アプリケーションプログラムを検証する前記車両に関する条件である走行環境条件を格納するサーバ記憶部と、
前記車両から取得した車両情報に基づき前記検証アプリケーションプログラムと前記走行環境条件の組に対する検証優先度を決定し、前記走行環境条件と、前記検証アプリケーションプログラムと、前記検証優先度と、を含む検証計画情報を生成する検証計画情報生成部と、
前記検証計画情報を前記車両に出力する検証計画情報出力部と、
前記車両情報に基づき、前記車両の走行環境が前記検証計画情報に含まれる走行環境条件に合致するタイミングを予測する走行環境条件成立予測部と、をさらに備え、
前記検証計画情報生成部は、前記予測したタイミングに基づき、前記検証アプリケーションプログラムと前記走行環境条件の組に対する前記検証優先度を決定するサーバ。 A server capable of communicating with a vehicle,
a server storage unit that stores a verification application program that is an application program to be verified in the vehicle, and a driving environment condition that is a condition related to the vehicle for verifying the verification application program;
a verification plan information generating unit that determines a verification priority for a set of the verification application program and the driving environment conditions based on vehicle information acquired from the vehicle, and generates verification plan information including the driving environment conditions, the verification application program, and the verification priority;
a verification plan information output unit that outputs the verification plan information to the vehicle;
A driving environment condition satisfaction prediction unit that predicts a timing when the driving environment of the vehicle matches a driving environment condition included in the verification plan information based on the vehicle information ,
The verification plan information generating unit is a server that determines the verification priority for a pair of the verification application program and the driving environmental conditions based on the predicted timing.
前記サーバは、
前記車両において検証されるアプリケーションプログラムである検証アプリケーションプログラム、および前記検証アプリケーションプログラムを検証する車両に関する条件である走行環境条件を格納するサーバ記憶部と、
前記車両から取得した車両情報に基づき前記検証アプリケーションプログラムと前記走行環境条件の組に対する検証優先度を決定し、前記走行環境条件と、前記検証アプリケーションプログラムと、前記検証優先度と、を含む検証計画情報を生成する検証計画情報生成部と、
前記検証計画情報を前記車両に出力する検証計画情報出力部と、を備え、
前記車載制御装置は、
前記サーバが出力した前記検証計画情報を取得する検証計画情報取得部と、
前記車両の走行制御に関する基本アプリケーションプログラムと並行して、前記検証アプリケーションプログラムの検証の実行を前記走行環境条件と前記検証優先度に基づき制御する検証実行制御部と、を備え、
前記車両情報は、前記車両において実行された前記検証アプリケーションプログラムの検証結果を含み、
前記検証計画情報生成部は、前記検証アプリケーションプログラムの検証結果に基づき前記検証アプリケーションプログラムに関する検証の進捗を示す検証進捗情報を更新し、前記検証進捗情報に基づいて前記検証アプリケーションプログラムと前記走行環境条件の組に対する前記検証優先度を決定する検証システム。 A verification system including an on-board control device mounted in a vehicle and a server capable of communicating with the on-board control device,
The server,
a server storage unit that stores a verification application program, which is an application program to be verified in the vehicle, and a driving environment condition, which is a condition related to the vehicle for verifying the verification application program;
a verification plan information generating unit that determines a verification priority for a set of the verification application program and the driving environment conditions based on vehicle information acquired from the vehicle, and generates verification plan information including the driving environment conditions, the verification application program, and the verification priority;
a verification plan information output unit that outputs the verification plan information to the vehicle ,
The in-vehicle control device includes:
a verification plan information acquisition unit that acquires the verification plan information output by the server;
a verification execution control unit that controls execution of the verification application program based on the driving environment conditions and the verification priority in parallel with a basic application program related to driving control of the vehicle,
the vehicle information includes a verification result of the verification application program executed in the vehicle;
The verification plan information generation unit updates verification progress information indicating the progress of verification regarding the verification application program based on the verification results of the verification application program, and determines the verification priority for the pair of the verification application program and the driving environment conditions based on the verification progress information .
前記サーバは、
前記車両において検証されるアプリケーションプログラムである検証アプリケーションプログラム、および前記検証アプリケーションプログラムを検証する車両に関する条件である走行環境条件を格納するサーバ記憶部と、
前記車両から取得した車両情報に基づき前記検証アプリケーションプログラムと前記走行環境条件の組に対する検証優先度を決定し、前記走行環境条件と、前記検証アプリケーションプログラムと、前記検証優先度と、を含む検証計画情報を生成する検証計画情報生成部と、
前記検証計画情報を前記車両に出力する検証計画情報出力部と、
前記車両情報に基づき、前記車両の走行環境が前記検証計画情報に含まれる走行環境条件に合致するタイミングを予測する走行環境条件成立予測部と、を備え、
前記車載制御装置は、
前記サーバが出力した前記検証計画情報を取得する検証計画情報取得部と、
前記車両の走行制御に関する基本アプリケーションプログラムと並行して、前記検証アプリケーションプログラムの検証の実行を前記走行環境条件と前記検証優先度に基づき制御する検証実行制御部と、を備え、
前記検証計画情報生成部は、前記予測したタイミングに基づき、前記検証アプリケーションプログラムと前記走行環境条件の組に対する前記検証優先度を決定する検証システム。 A verification system including an on-board control device mounted in a vehicle and a server capable of communicating with the on-board control device,
The server,
a server storage unit that stores a verification application program, which is an application program to be verified in the vehicle, and a driving environment condition, which is a condition related to the vehicle for verifying the verification application program;
a verification plan information generating unit that determines a verification priority for a set of the verification application program and the driving environment conditions based on vehicle information acquired from the vehicle, and generates verification plan information including the driving environment conditions, the verification application program, and the verification priority;
a verification plan information output unit that outputs the verification plan information to the vehicle;
a driving environment condition satisfaction prediction unit that predicts a timing when the driving environment of the vehicle satisfies a driving environment condition included in the verification plan information based on the vehicle information,
The in-vehicle control device includes:
a verification plan information acquisition unit that acquires the verification plan information output by the server;
a verification execution control unit that controls execution of the verification application program based on the driving environment conditions and the verification priority in parallel with a basic application program related to driving control of the vehicle,
The verification system , wherein the verification plan information generating unit determines the verification priority for a pair of the verification application program and the driving environmental conditions based on the predicted timing .
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020084293A JP7465147B2 (en) | 2020-05-13 | 2020-05-13 | Vehicle control device, server, verification system |
PCT/JP2021/003606 WO2021229861A1 (en) | 2020-05-13 | 2021-02-01 | In-vehicle control device, server, and verification system |
DE112021001592.3T DE112021001592T5 (en) | 2020-05-13 | 2021-02-01 | IN-VEHICLE CONTROL DEVICE, SERVER AND VERIFICATION SYSTEM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020084293A JP7465147B2 (en) | 2020-05-13 | 2020-05-13 | Vehicle control device, server, verification system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2021179762A JP2021179762A (en) | 2021-11-18 |
JP7465147B2 true JP7465147B2 (en) | 2024-04-10 |
Family
ID=78511488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020084293A Active JP7465147B2 (en) | 2020-05-13 | 2020-05-13 | Vehicle control device, server, verification system |
Country Status (3)
Country | Link |
---|---|
JP (1) | JP7465147B2 (en) |
DE (1) | DE112021001592T5 (en) |
WO (1) | WO2021229861A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US12045602B2 (en) | 2022-03-25 | 2024-07-23 | Woven By Toyota, Inc. | Correctness verification system, method, device, and program |
JP2024008515A (en) * | 2022-07-08 | 2024-01-19 | 日立Astemo株式会社 | Vehicle control device |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012121533A (en) | 2010-12-10 | 2012-06-28 | Toyota Motor Corp | Apparatus and method for managing additional function of on-board equipment |
JP2014516850A (en) | 2011-03-17 | 2014-07-17 | トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド | Application interface for vehicle operation |
JP2017122996A (en) | 2016-01-06 | 2017-07-13 | 東日本旅客鉄道株式会社 | Test case creation device |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011146068A (en) | 2011-03-25 | 2011-07-28 | Mitsubishi Electric Corp | Program providing device and in-vehicle information system |
-
2020
- 2020-05-13 JP JP2020084293A patent/JP7465147B2/en active Active
-
2021
- 2021-02-01 DE DE112021001592.3T patent/DE112021001592T5/en active Pending
- 2021-02-01 WO PCT/JP2021/003606 patent/WO2021229861A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2012121533A (en) | 2010-12-10 | 2012-06-28 | Toyota Motor Corp | Apparatus and method for managing additional function of on-board equipment |
JP2014516850A (en) | 2011-03-17 | 2014-07-17 | トヨタ モーター エンジニアリング アンド マニュファクチャリング ノース アメリカ,インコーポレイティド | Application interface for vehicle operation |
JP2017122996A (en) | 2016-01-06 | 2017-07-13 | 東日本旅客鉄道株式会社 | Test case creation device |
Also Published As
Publication number | Publication date |
---|---|
DE112021001592T5 (en) | 2023-03-02 |
JP2021179762A (en) | 2021-11-18 |
WO2021229861A1 (en) | 2021-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11302031B2 (en) | System, apparatus and method for indoor positioning | |
US10629080B2 (en) | Autonomous vehicles featuring vehicle intention system | |
US10202127B2 (en) | User profile-based automatic parameter tuning system for connected vehicles | |
CN111357021B (en) | System and method for matching an autonomous vehicle with a rider | |
US11574538B2 (en) | Method and apparatus for perception-sharing between vehicles | |
US20210101619A1 (en) | Safe and scalable model for culturally sensitive driving by automated vehicles | |
CN109789842B (en) | Vehicle-mounted processing device | |
US11897505B2 (en) | In-vehicle operation of simulation scenarios during autonomous vehicle runs | |
KR20180088789A (en) | Method and system for predicting at least one trajectory of a vehicle based on a context around the vehicle | |
JP2019506647A (en) | Driving method and system for autonomous vehicle based on motion plan | |
US11162798B2 (en) | Map updates based on data captured by an autonomous vehicle | |
CN112400192A (en) | Method and system for multi-modal deep traffic signal control | |
JP7465147B2 (en) | Vehicle control device, server, verification system | |
US10999719B1 (en) | Peer-to-peer autonomous vehicle communication | |
CN112249035B (en) | Automatic driving method, device and equipment based on general data flow architecture | |
WO2022166326A1 (en) | Method and apparatus for updating map tile | |
JP2022041923A (en) | Vehicle path designation using connected data analysis platform | |
US20200209856A1 (en) | Autonomous driving computing and storage expansion device with flexible host and client configuration | |
US11993287B2 (en) | Fleet-level AV simulation system and method | |
US20230205951A1 (en) | Simulation obstacle vehicles with driving styles | |
CN117529429A (en) | Method and system for predicting behavior of an actor in an autonomous vehicle environment | |
US20220250636A1 (en) | Resolving vehicle application version differences | |
US20220009483A1 (en) | Methods and Systems for Prioritizing Computing Methods for Autonomous Vehicles | |
US11673577B2 (en) | System and methods of adaptive relevancy prediction for autonomous driving | |
US20230256994A1 (en) | Assessing relative autonomous vehicle performance via evaluation of other road users |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20230201 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20231212 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20240208 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20240307 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240319 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240329 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7465147 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |