WO2023037576A1 - 車両制御システム及び車両制御方法 - Google Patents

車両制御システム及び車両制御方法 Download PDF

Info

Publication number
WO2023037576A1
WO2023037576A1 PCT/JP2022/004834 JP2022004834W WO2023037576A1 WO 2023037576 A1 WO2023037576 A1 WO 2023037576A1 JP 2022004834 W JP2022004834 W JP 2022004834W WO 2023037576 A1 WO2023037576 A1 WO 2023037576A1
Authority
WO
WIPO (PCT)
Prior art keywords
control software
vehicle
data
unit
output
Prior art date
Application number
PCT/JP2022/004834
Other languages
English (en)
French (fr)
Inventor
毅 福田
祐 石郷岡
将史 溝口
隆 村上
一 芹沢
朋仁 蛯名
Original Assignee
日立Astemo株式会社
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 日立Astemo株式会社 filed Critical 日立Astemo株式会社
Priority to DE112022002734.7T priority Critical patent/DE112022002734T5/de
Priority to CN202280050203.4A priority patent/CN117751067A/zh
Publication of WO2023037576A1 publication Critical patent/WO2023037576A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60WCONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
    • B60W50/00Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
    • B60W50/04Monitoring the functioning of the control system

Definitions

  • the present invention relates to a vehicle control system and a vehicle control method.
  • Shadow testing or shadow mode is used to check the output value by running the program to be verified while the vehicle is running.
  • a verification technique called testing is effective.
  • the program to be verified is normally operated, and at the same time, the program to be verified is operated in the background, and the output value of the program to be verified and the , the performance and safety of the program to be verified can be confirmed by comparing the output values of the program to be verified.
  • the output value of the program to be verified is not used for actuator operations such as acceleration and braking. Therefore, even if a problem occurs in the program to be verified, it does not affect the operation of the vehicle while it is running. As a result, it is possible to evaluate the performance and safety of the verification target program while maintaining the safety of the driver.
  • AI Artificial Intelligence
  • AI can perform processing in which the correspondence between input data and output data is not uniquely determined. Therefore, the developer needs to verify what kind of output data is generated by AI processing performed while the vehicle is running.
  • Patent Document 1 describes "output variables from real tests on/on a real bench test machine or a real roller test stand and virtual tests on a virtual bench test machine or a virtual roller test stand. Based on the deviation between the output variables from the It can be estimated whether or not it will be tampered with according to the
  • Patent Literature 2 describes, "The inspection device automatically creates an inspection scenario including an inspection program for verifying the defect by simply selecting a defect (inspection item) of the in-vehicle device. Also, the inspection device can write the created inspection scenario to the storage medium.”
  • Patent Document 3 "By comparing the sequence of actions that the program driven by the program execution control unit sequentially calls according to the environment information and the order of actions defined in the behavior verification scenario, the simulator and adaptive control device It is possible to evaluate or verify a program by itself without using an actual machine.”
  • Patent Document 1 The technology described in Patent Document 1 is mainly used for inspecting the software of the vehicle control device when simulating the operation of the vehicle.
  • a high-performance computer device is used as compared with an in-vehicle ECU. Therefore, the software described in Patent Literature 1 cannot be operated in the vehicle-mounted ECU.
  • an inspection program is executed by an in-vehicle device.
  • the storage medium in which the result of the inspection is written is removed from the in-vehicle device and connected to the inspection device, so that a coping method for dealing with the problem of the in-vehicle device can be selected. For this reason, even if the present technology is applied to a vehicle that is actually running, it will be delayed in dealing with the problem of the in-vehicle device.
  • the plurality of application programs described in Patent Document 3 include one or more defined actions, one or more action plans, and one or more action verification scenarios, and the same automatic It is possible to mix on the running vehicle.
  • the computational processing capability of multi-core processors installed in embedded control system products such as automobiles is limited. Due to the limitations of in-vehicle computing resources, it was difficult to run high-load programs such as programs for autonomous driving on each processor core at the same time, and executable programs were limited.
  • the present invention has been made in view of this situation, and aims to enable shadow mode testing that compares the output values of multiple control software.
  • a vehicle control system executes calculations of first control software when the vehicle is in the first state, and executes calculations of the second control software when the vehicle is in the second state.
  • Input data respectively input from the calculation unit, the sensor to the first control software and the second control software, and the output output by the calculation executed by the first control software and the second control software with the input data as the input a storage unit that stores the data; and an evaluation unit that compares the output data read from the storage unit and output by the first control software and the second control software, and evaluates the performance of the second control software. And prepare.
  • the output data obtained by executing the calculation of the first control software in the first state of the vehicle and the output data obtained by executing the calculation of the second control software in the second state Shadow mode testing is enabled to evaluate the performance of the second control software by comparing it with the output data.
  • FIG. 1 is a block diagram showing an example of the overall configuration of a vehicle control system according to a first embodiment of the invention
  • FIG. It is a figure showing an example of state transition of the vehicle control system according to the first embodiment of the present invention.
  • FIG. 4 is a diagram showing an example of data flow in state A of the vehicle control system according to the first embodiment of the present invention; 6 is a flow chart showing an example of a processing procedure of a comparison reference data selection unit according to the first embodiment of the present invention;
  • FIG. 3 is a diagram showing an example of data flow at the time of state transition determination of the vehicle control system according to the first embodiment of the present invention; 6 is a flow chart showing an example of a processing procedure of a state determination unit according to the first embodiment of the present invention;
  • FIG. 4 is a diagram showing an example of data flow in state A of the vehicle control system according to the first embodiment of the present invention
  • 6 is a flow chart showing an example of a processing procedure of a comparison reference data selection unit according to the first embodiment of
  • FIG. 4 is a diagram showing an example of data flow in state B of the vehicle control system according to the first embodiment of the present invention
  • 4 is a flow chart showing an example of a processing procedure of a performance/quality evaluation unit according to the first embodiment of the present invention
  • FIG. 4 is a flow chart showing an example of a processing procedure of an important scenario identification unit according to the first embodiment of the present invention
  • FIG. It is the figure which showed the whole structural example of the vehicle control system which concerns on the 2nd Embodiment of this invention. It is the figure which showed the example of the communication data transmitted/received between the vehicle control system which concerns on the 2nd Embodiment of this invention, and a cloud server.
  • FIG. 10 is a diagram showing an example of data flow in state C of the vehicle control system according to the third embodiment of the present invention. It is the figure which showed the hardware structural example of the computer which concerns on each embodiment of this invention.
  • a vehicle control system has a configuration in which a sensor and an actuator are connected.
  • the vehicle control system receives sensor data as an input value from a sensor and outputs an output value of the vehicle control system to an actuator.
  • the present invention is widely applicable to vehicle control systems in which control software is installed, regardless of the configurations of input sources and output destinations.
  • FIG. 1 is a block diagram showing an overall configuration example of a vehicle control system 1 according to the first embodiment.
  • This vehicle control system 1 is a system mounted on a vehicle capable of automatic operation, and includes a plurality of electronic control units (ECUs) connected via a network.
  • ECUs electronice control units
  • a vehicle control system 1 is connected to sensors 2 and actuators 3 via a bus (BUS).
  • the vehicle control system 1 receives sensor data (e.g., image data) to be input to the vehicle control system 1 from a sensor 2 (e.g., an imaging sensor), and outputs data (e.g., control data) of the vehicle control system 1 to the actuator 3. ).
  • sensor data e.g., image data
  • a sensor 2 e.g., an imaging sensor
  • data e.g., control data
  • the vehicle control system 1 includes control software 10, calculation unit 11, comparison reference data selection unit 12, comparison reference data storage unit 13, state determination unit 14, processing program change unit 15, evaluation software execution instruction unit 16, performance/quality evaluation. It has a section 17 and an important scenario identification section 18 .
  • the control software 10 has first control software 101 and second control software 102 .
  • the first control software 101 is verified software and is executed during operation of the vehicle. Since both the first control software 101 and the second control software 102 have a high processing load, the calculation unit 11 cannot execute them at the same time. Therefore, the second control software 102 is software to be verified, and is executed when the vehicle control system 1 is idle.
  • the computing unit executes the computation of the first control software (first control software 101) when the vehicle is in the first state, and performs the computation of the second control software when the vehicle is in the second state.
  • control software second control software 1012.
  • the vehicle in the first state is also referred to as the vehicle control system 1 being in state A
  • the vehicle being in the second state is also referred to as the vehicle control system 1 being in state B. Since both the first control software 101 and the second control software 102 have a high processing load, the calculation unit 11 cannot execute them at the same time. It is possible to verify the operation of the second control software 102 without hindering automatic driving of the vehicle.
  • the vehicle control system 1 causes the calculation unit 11 to perform arithmetic processing on either the first control software 101 or the second control software 102 in accordance with the processing program change instruction from the processing program change unit 15 .
  • FIG. 1 shows how the computing unit 11 executes the second control software 102 .
  • the first control software 101 or the second control software 102 is used in the same sense as a program.
  • FIG. 2 is a diagram showing an example of state transition of the vehicle control system 1 according to the first embodiment.
  • An initial node indicated by a black circle in the upper left of FIG. 2 indicates that the vehicle is powered on by the driver and processing by the vehicle control system 1 is started.
  • the vehicle control system 1 has two states, state A and state B.
  • State A is a state in which the vehicle is automatically driving.
  • An overview of the operation of the vehicle control system 1 in state A is shown in the upper part of FIG.
  • the vehicle control system 1 receives sensor data 20 from the sensor 2 as an input to the vehicle control system 1 .
  • the calculation unit 11 then executes the first control software 101 and outputs the first control software output data 1010 to the actuator 3 .
  • the first control software 101 receives image data as the sensor data 20, the first control software 101 performs processing for recognizing an object reflected in the image, and generates control signals necessary for vehicle operation.
  • the first control software 101 uses the function of sensor fusion, and uses the sensor data 20 obtained from each sensor 2 to determine the lane of the road on which the vehicle is running, the positions of other vehicles in the surroundings, and the like. Upon recognition, it may generate a control signal to direct the actuator 3 to accelerate or brake the vehicle. Also, the first control software 101 may determine the lane in which the vehicle runs based on the result of image recognition, and generate an operation signal for operating the steering wheel. These signals are output to the actuator 3 as first control software output data 1010 .
  • the storage unit (comparison reference data storage unit 13) is input from the sensor (sensor 2) to the first control software (first control software 101) and the second control software (second control software 102). Saves input data and output data output by calculations executed by the first control software (first control software 101) and the second control software (second control software 102) using the input data as inputs.
  • the comparison reference data storage unit 13 stores sensor data 20 and first control software output data 1010 . Therefore, the input data and the output data used by the first control software 101 are stored as a set in the comparison reference data storage unit 13 .
  • the second control software 102 executes the same processing as the first control software 101, or the developer can retrieve the data and validate the data.
  • the state A transitions to the state B when the vehicle control system 1 becomes idle.
  • the idle time is determined, for example, at the timing when the vehicle control system 1 detects that the brake has been depressed, and the state changes from state A to state B when the vehicle stops.
  • the vehicle control system 1 operates in state A. It is assumed that it will transition to B and operate.
  • the vehicle control system 1 may operate in state B when the vehicle is parked in a parking lot and the on-board battery is being charged.
  • the outline of the operation of the vehicle control system 1 in the state B to which the vehicle control system 1 has transitioned from the state A is shown in the lower part of FIG.
  • state B the calculation unit 11 and comparison reference data storage unit 13 are used in common with state A. However, in state B, the performance/quality evaluation unit 17 operates.
  • the calculation unit 11 receives the sensor data 20 stored in the comparison reference data storage unit 13 and executes the second control software 102 .
  • the calculation unit 11 then outputs the second control software output data 1020 to the performance/quality evaluation unit 17 .
  • state B the second control software output data 1020 is not output to the actuator 3, so the actuator 3 is not operated by the second control software output data 1020.
  • FIG. the vehicle control system 1 transitions to state B when automatic driving is switched to manual driving. If the vehicle control system 1 is idle during manual driving, the data of the amount of brake depression when the driver depresses the brake is transmitted to the actuator 3, and the brake is applied.
  • the evaluation unit reads from the storage unit (comparison reference data storage unit 13) the first control software (first control software 101) and the second control software (second control The output data output by the software 102) are compared to evaluate the performance of the second control software (second control software 102).
  • the performance/quality evaluation unit 17 compares and evaluates the difference between the first control software output data 1010 stored in the comparison reference data storage unit 13 and the second control software output data 1020, thereby determining the shadow mode. Realize testing.
  • the first control software 101 and the second control software 102 that output data to be compared and evaluated by the performance/quality evaluation unit 17 are executed in different states A and B, respectively. Therefore, it is not necessary to operate multiple pieces of control software in parallel in the vehicle control system 1 . As a result, the vehicle control system 1 does not require a high-performance ECU capable of simultaneously processing multiple pieces of control software.
  • FIG. 3 is a diagram showing an example of data flow in state A of the vehicle control system 1 according to the first embodiment.
  • the vehicle control system 1 receives the sensor data 20 from the sensor 2 .
  • the calculation unit 11 uses the sensor data 20 output from the sensor 2 as input data, executes the first control software 101 , and outputs the first control software output data 1010 .
  • the selection unit selects input data and output data for the evaluation unit (performance/quality evaluation unit 17) to evaluate the second control software (second control software 102) from the first Selected input data and output data selected from input data input to the control software (first control software 101) and output data output by the first control software (first control software 101) is stored in the storage unit (comparison reference data storage unit 13). Therefore, the selection unit (comparison reference data selection unit 12) uses the storage unit (comparison The data to be stored in the reference data storage unit 13) is selected based on the output data output by the first control software (first control software 101).
  • the comparison reference data selection unit 12 receives the sensor data 20 and the first control software output data 1010, and selects necessary data as verification data for the second control software 102 to be verified. Then, the comparison reference data selection unit 12 outputs the selected sensor data 21 and the selected first control software output data 1011 to the comparison reference data storage unit 13 .
  • Data necessary for the verification data includes, for example, data to be input to the first control software 101 .
  • a huge storage capacity is required. Therefore, for example, data that is known to cause an erroneous determination by the first control software 101 when input to the first control software 101 is selected.
  • This data includes, for example, an image captured by the sensor 2 of a truck with a picture of a person drawn on the rear door of the van body. If the first control software 101 to which such an image is input as input data erroneously determines that the picture of a person is an actual person, how will the second control software 102 make the determination? is verified.
  • the first control software 101 processes an image captured by the sensor 2 in an environment such as rain or backlight, it may not be possible to correctly detect a person, vehicle, or the like appearing in the image. Also in this case, it is verified how the second control software 102 detects an image that the first control software 101 could not correctly detect.
  • the sensor data 20 only a part of the sensor data 21 selected from the sensor data 20 is used for the operation verification of the software group that the control software 10 has, so that the storage medium for storing the sensor data 20 can be used. It is possible to reduce the recording capacity.
  • the comparison reference data storage unit 13 internally stores the sensor data 21 after selection and the first control software output data 1011 after selection.
  • the sensor data 20 stored in the comparison reference data storage unit 13 shown in FIG. 2 and the data selected from the first control software output data 1010 are the sensor data 21 after selection described in FIG. is the first control software output data 1011.
  • FIG. 4 is a flow chart showing an example of the processing procedure of the comparison reference data selection unit 12 according to the first embodiment.
  • Each flowchart after FIG. 4 represents an example of the vehicle control method of the vehicle control system 1 .
  • the comparison reference data selection unit 12 receives the sensor data 20 that has been input to the first control software 101 and the first control software output data 1010 (S1).
  • the comparison reference data selection unit 12 determines whether or not the sensor data 20 received in step S1 and the first control software output data 1010 should be used in shadow mode testing (S2). .
  • the comparison reference data selection unit 12 determines in the shadow mode testing that these data should be used (YES in S2), the sensor data 20 and the first control software output data 1010 are saved. Since it is the data which should be obtained, the process proceeds to step S3.
  • the data stored here includes, for example, image data captured in bad weather, image data erroneously detected by the first control software 101, and the like.
  • step S3 the comparison reference data selection unit 12 instructs the comparison reference data storage unit 13 to save the sensor data 20 received in step S1 and the first control software output data 1010 (S3 ), the process ends. Therefore, the sensor data 20 and the first control software output data 1010 are stored in the comparison reference data storage unit 13 .
  • step S2 determines in step S2 that the data should not be used in shadow mode testing (NO in S2), this process ends without performing any particular process. In this case, the sensor data 20 received in step S1 and the first control software output data 1010 are not saved.
  • FIG. 5 is a diagram showing an example of data flow at the time of state transition determination of the vehicle control system 1 according to the first embodiment.
  • the state determination unit (state determination unit 14) determines whether the vehicle is in the first state or the second state based on the availability of computational resources in which the calculation unit (calculation unit 11) operates.
  • the state determination unit (state determination unit 14) determines whether or not there is a free computational resource for the operation of the operation unit (operation unit 11). It is determined based on at least one of the fact that the vehicle is stopped or the load information of the computer mounted on the vehicle, and the evaluation unit (performance/quality evaluation unit 17) uses the second control software ( Determine if evaluation of the second control software 102) can be performed.
  • the scope of provision of the automatic driving service is a scene in which the vehicle runs in automatic driving, for example, the vehicle is running on a highway.
  • the vehicle when the vehicle is in the charging mode, for example, the vehicle is in a state where a charger is connected to the stopped vehicle and an in-vehicle battery (not shown) is being charged. Further, the vehicle being stopped means, for example, that the vehicle is waiting for a signal or is temporarily stopped on the shoulder of the road. Further, the computer load information is, for example, information obtained by measuring the load of the computer 60 shown in FIG. 15, which will be described later. Since the state of the vehicle is determined in this manner, the second control software 102 is executed in a state that does not interfere with the automatic driving of the vehicle.
  • the change unit changes control software for the calculation unit (calculation unit 11) to execute calculation when the state determination unit (state determination unit 14) determines that there is no free computational resource.
  • the first control software (first control software 101) is defined as the control software in which the calculation unit (calculation unit 11) executes calculation when it is determined that there is an available computational resource, and the second control software (second control software 102).
  • the processing program changed by the processing program changing unit 15 is either the first control software 101 or the second control software 102 .
  • the processing program changing unit 15 changes the vehicle control system 1 from state A to state B, and vice versa, from state B to state A, based on whether the vehicle control system 1 has an idle time determined by the state determination unit 14 . Determines whether it is permissible to transition to Then, the state determination unit 14 generates the state determination result data 140 based on the determination result of the idle time.
  • the state determination result data 140 is data including the state determination result of the data calculated by the calculation unit 11 . Since the software to be executed by the calculation unit 11 is selected after the state of the vehicle is determined, the processing of the second control software 102 interrupts even though the state is A, and the automatic driving is not hindered.
  • FIG. 6 is a flow chart showing an example of the processing procedure of the state determination unit 14 according to the first embodiment.
  • the state determination unit 14 acquires computational resource usage information of the vehicle control system 1 (S11).
  • the computational resource usage information is, for example, information such as the load factor and memory usage of the computer 60 (see FIG. 15 described later) of the vehicle control system 1 .
  • the state determination unit 14 determines whether the computational resources of the vehicle control system 1 have sufficient free space (S12). When the state determination unit 14 determines that there is not enough free computing resources (NO in S12), the program to be processed by the calculation unit 11 of the vehicle control system 1 is set to the first control software 101 in the state A. The state determination result data 140 is output (S13), and this process is terminated.
  • the state determination unit 14 determines that there is sufficient free space in the computational resources (YES in S12)
  • the program to be processed by the calculation unit 11 of the vehicle control system 1 is changed to the second control software 102 in the state B.
  • the state determination result data 140 is output (S14), and the process ends.
  • the data after the selection is used in the processing of the second control software 102 that is executed when there are available computational resources. Therefore, the amount of data required for the processing of the second control software 102 is reduced, and the computational resources of the first control software 101 are not consumed.
  • the execution instruction unit uses the second control software (second control software 102) changed by the change unit (processing program change unit 15) to store the storage unit (comparison reference data storage
  • the input data stored as the important scenario in the unit 13) is input, and the calculation unit (calculation unit 11) is instructed to execute the calculation.
  • the calculation of the second control software 102 is not executed immediately after the vehicle is switched to the state B, but the execution of the calculation of the second control software 102 is started in response to an instruction from the evaluation software execution instructing section 16. be. Therefore, the processing of the second control software 102 is not started before the post-processing and the like in the state A are completed, and extra data used in the processing in the state A is mixed in the processing of the second control software 102. never
  • the state determination unit 14 determines whether the computational resource is available. is changed to the first control software 101. Then, the evaluation software execution instructing unit 16 instructs the first control software 101 to start executing the calculation in the state A.
  • FIG. 7 is a diagram showing an example of data flow in another state (state B) of the vehicle control system 1 according to the first embodiment.
  • the comparison reference data storage unit 13 outputs the first control software output data 1011 after selection and the sensor data 21 after selection, which have been internally stored as shown in FIG.
  • Second control software 102 Upon receiving the sensor data 21 after selection, the calculation unit 11 executes the second control software 102 . Second control software 102 then outputs second control software output data 1020 .
  • the performance/quality evaluation unit 17 receives the selected first control software output data 1011 and the second control software output data 1020, and evaluates both data and the performance and quality of each control software outputting both data. is evaluated, and evaluation result data 170 is output.
  • the performance/quality represents, for example, the functionality of the first control software 101 and the second control software 102 and the validity of the output results.
  • the functionality of the first control software 101 and the second control software 102 represents the function itself of each software, such as an object detection function and a trajectory generation function of an automatically driven vehicle. Then, the performance/quality evaluation unit 17 evaluates whether the function of each executed software satisfies the desired function.
  • performance evaluation For example, with the object detection function, it is evaluated whether objects such as people and signs can be detected correctly, and with the trajectory generation function, it is evaluated whether the trajectory was correctly generated so that the vehicle runs on the roadway instead of the sidewalk. . Also, the validity of the output result represents the result of evaluation by the performance/quality evaluation unit 17 as to whether or not the intended output result was obtained by executing the software.
  • the data performed by the performance/quality evaluation unit 17 and the performance and quality of the control software are collectively referred to as "performance evaluation".
  • the important scenario identification unit uses the evaluation results from the evaluation unit (performance/quality evaluation unit 17), the input data and output data selected by the selection unit (comparison reference data selection unit 12), and the It receives output data output by the second control software (second control software 102), and specifies data to be stored in the storage unit (comparison reference data storage unit 13) as important scenarios based on the evaluation results.
  • the important scenario identification unit 18 receives the selected sensor data 21 , the selected first control software output data 1011 , the second control software output data 1020 and the evaluation result data 170 . Then, the important scenario identification unit 18 determines whether or not each data is important based on the content of each received data.
  • a scenario represents a pattern of input data and output data input to each software.
  • An important scenario that the developer wants to keep for later verification is also called an "important scenario.” By specifying the important scenario, it is not necessary to store a huge amount of input and output data in the comparison reference data storage unit 13, and pressure on the storage capacity can be prevented.
  • the important scenario identification unit determines the output data of the first control software (first control software 101) for which the evaluation result is evaluated as inconsistent, and the output data of the second control software (second and the output data of the control software 102).
  • the important scenario identification unit 18 can easily compare what kind of difference has occurred between the output data of the first control software 101 and the second control software 102 .
  • the important scenario identification unit 18 checks whether the performance of the second control software 102 has improved compared to the first control software 101 . If the performance is not improved, the sensor data 21 after selection, the first control software output data 1011 after selection, and the second control software output data 1020 are discarded. In this case, newly developed second control software 102 is distributed to the vehicle, and the calculations of this second control software 102 are executed.
  • the important scenario identification unit 18 can also leave the input data to the second control software 102 used when the performance of the second control software 102 was evaluated by the performance/quality evaluation unit 17. .
  • FIG. 8 is a flow chart showing an example of the processing procedure of the performance/quality evaluation unit 17 according to the first embodiment.
  • the performance/quality evaluation unit 17 receives the first control software output data 1011 after selection (S21). Next, the performance/quality evaluation unit 17 receives the second control software output data 1020 (S22).
  • the performance/quality evaluation unit 17 compares the selected first control software output data 1011 and the second control software output data 1020, evaluates the comparison result, and generates evaluation result data 170. (S23). The performance/quality evaluation unit 17 then outputs the evaluation result data 170 (S24), and terminates this process.
  • the first control software 101 which has a function of detecting an object from an image
  • the second control software 102 receives the image used when the first control software 101 determines the vehicle, and recognizes the vehicle approaching from the front as a truck, similar to the first control software 101.
  • the performance/quality evaluation unit 17 can determine whether the evaluation of the object detection function of the second control software 102 is good, or that the performance of the object detection function has not deteriorated.
  • the first control software 101 and the second control software 102 may recognize the size of the vehicle differently from the image.
  • the performance/quality evaluation unit 17 determines that the second control software It can be evaluated that the performance of the object detection function of 102 has improved.
  • FIG. 9 is a flow chart showing an example of the processing procedure of the important scenario identification unit 18 according to the first embodiment.
  • the important scenario identification unit 18 receives the sensor data 21 after selection, the first control software output data 1011 after selection, and the second control software output data 1020 (S31).
  • the important scenario identification unit 18 receives the evaluation result data 170 (S32). Next, the important scenario identification unit 18 determines whether each received data is important based on the evaluation result data 170 (S33).
  • Each data stored in the vehicle control system 1 includes the sensor data 21 after selection, the first control software output data 1011 after selection, the second control software output data 1020, and evaluation result data 170. .
  • Each data stored in the vehicle control system 1 is copied to a portable storage medium such as a USB memory, and used by a developer to verify the contents of the data or to develop new software. be done.
  • the important scenario identification unit 18 determines that the received data is not important (NO in S33), it does not save each data in the vehicle control system 1 and ends this process.
  • the control software group of the control software 10 receives the same sensor data 21 after selection and processes them at different timings.
  • the comparison reference data storage unit 13 stores only specific data as the sensor data 20 instead of all input data input from the sensor 2 .
  • the data stored by the vehicle control system 1 is the timing at which the control software group to be compared in the performance/quality evaluation unit 17 calculates output data, or the timing at which the driver performs a specific operation. Then, the performance/quality evaluation unit 17 retrieves the sensor data 20 stored in the comparison reference data storage unit 13 at a timing different from the timing at which the output value was calculated or the timing at which the specific operation was performed.
  • the vehicle control system 1 does not require a high-performance ECU. Further, the vehicle control system 1 can perform shadow mode testing even with a high-load program.
  • the second control software 102 In addition to operating the second control software 102 when simulating the operation of the vehicle, the second control software 102 is operated in the background using input data obtained from the actual vehicle. Therefore, the second control software 102 can be verified without impairing the safety of the running actual vehicle.
  • the second control software 102 is assumed to be, for example, software with an AI learning model different from that of the first control software 101, or software capable of reducing the load factor of the CPU. Further, software that has improved errors included in the already running first control software 101 may be verified as the second control software 102 . Since such verification is performed by the vehicle control system 1 mounted on the actual vehicle where unexpected data can easily be input, the performance/quality evaluation unit 17 uses various variations of input data (sensor data 20). can be used to verify the quality of the second control software 102 . For example, if the CPU load factor of the first control software 101 is 80% and the CPU load factor of the second control software 102 is 70%, the developer uses the software can be considered to be used as the first control software 101 .
  • the second control software 102 having a lighter processing load than the first control software 101 used in the vehicle control system 1 is used, the second control software output data of the same quality as the first control software output data 1010 If the data 1020 can be obtained, it is also possible to replace the software used as the second control software 102 with the first control software 101 executed in automatic operation. By replacing the first control software 101 with software having a light processing load in this way, it is possible to suppress calculation processing during automatic operation in which a huge amount of calculation is performed, and consumption of calculation resources.
  • the important scenario identification unit determines that the first control software (first control software 101) is running and that the first control software (first control software 101) If it is determined that there is an error in the output result of , the data specified as the important scenario is stored in the storage unit (comparison reference data storage unit 13). For this reason, when the processing result of the first control software 101, which should normally be normal, is abnormal, the developer can use the data specified as the important scenario and the processing result of the first control software 101. Content can be verified.
  • the selection unit (comparison reference data selection unit 12) combines a result obtained by performing sensor fusion processing for synthesizing a plurality of input data input from a plurality of types of sensors (sensor 2) and the first control software ( When the first control software 101) executes an operation and finds a mismatch with the output data, it is determined that the output result of the first control software (first control software 101) has an error. For example, it may not be possible to determine whether or not the result of image recognition is an erroneous detection using only image recognition software.
  • Sensor fusion is a technique for determining the result of image recognition using information obtained from multiple different sensors.
  • LiDAR Light Detection and Ranging
  • group data can also be recognized.
  • the image data output from the camera but the point cloud data obtained from the LiDAR does not recognize that a person is standing, the image Either the data, or the point cloud data, or both are incorrectly recognized.
  • the second control software 102 can recognize that a person is standing in either image data or point cloud data, the second control software 102 can correctly recognize the person. ing.
  • the comparison reference data selection unit 12 acquires the evaluation result data 170 and the second control software output data 1020, An error in the output result of the first control software 101 can be determined.
  • the sensor fusion technique it is possible to judge whether the output result of the first control software 101 is correct or incorrect based on the recognition result of data obtained from a plurality of sensors.
  • the selection unit detects discrepancies between the vehicle travel log acquired by the vehicle and the output data output by the first control software (first control software 101) after executing the calculation. is found, it is determined that there is an error in the output result of the first control software (first control software 101).
  • the vehicle control system 1 constantly acquires the position of the vehicle using a GPS (Global Positioning System) navigation system, calculation from tire rotation speed, or the like, and stores a vehicle travel log.
  • the comparison reference data selection unit 12 selects the vehicle trajectory plan calculated by the first control software 101 and the actual vehicle trajectory plan. Compare with the driving log of If the trajectory plan of the vehicle deviates from the actual travel log, the comparison reference data selection unit 12 determines that the trajectory plan, that is, the output data of the first control software 101 has an error.
  • the selection unit found a mismatch between the map data possessed by the vehicle and the output data output by the first control software (first control software 101) after executing the calculation. case, it is determined that there is an error in the output result of the first control software (first control software 101).
  • the comparison reference data selection unit 12 determines that the vehicle position calculated by the first control software 101, that is, the output data of the first control software 101, has an error in the map data.
  • a vehicle control system according to the second embodiment differs from the first embodiment in that the vehicle control system 1 is connected to a cloud server via an external network.
  • functions, processes, and data storage, which were performed in the vehicle control system 1 in the first embodiment are replaced by the cloud server.
  • symbol is attached
  • FIG. 10 is a diagram showing an example of the overall configuration of the vehicle control system 1 according to the second embodiment.
  • the vehicle control system 1 is connected to the cloud server 4 via the network N outside the vehicle.
  • OTA Over The Air
  • the second control software 102 received by the vehicle control system 1 from the cloud server 4 is stored in the control software 10 .
  • the calculation unit (calculation unit 11) executes calculation of the second control software (second control software 102) received from the cloud server (cloud server 4) via the network (external network N), and identifies important scenarios. Evaluation results by the evaluation unit (performance/quality evaluation unit 17), which are identified as important scenarios by the unit (important scenario identification unit 18), and input data and output data selected by the selection unit (comparison reference data selection unit 12) and data output by the second control software (second control software 102) to the cloud server (cloud server 4).
  • the vehicle control system 1 may discard the second control software 102 whose operation has been verified. Therefore, by not holding the second control software 102 in the vehicle control system 1, the computational resources of the vehicle control system 1 can be reduced.
  • the cloud server 4 can provide new software to vehicles after shipment from the vehicle manufacturer, facilitating software upgrades and vehicle function improvements.
  • FIG. 11 is a diagram showing an example of communication data transmitted and received between the vehicle control system 1 and the cloud server 4 according to the second embodiment.
  • the second control software 102 is distributed from the cloud server 4 to the vehicle control system 1 as a program to be verified in shadow mode testing. Therefore, it differs from the first embodiment in that there is no need to store the program to be verified in advance in the vehicle control system 1 .
  • sensor data 21 after selection, first control software output data 1011 after selection, second control software output data 1020, and evaluation result data 170 are stored. sent. Therefore, performance/quality evaluation similar to that of the performance/quality evaluation unit 17 can be performed within the cloud server 4, for example. Further, it is also possible to compare the evaluation results processed by the cloud server 4 using the data received from the vehicle control system 1 and the evaluation result data 170 received from the vehicle control system 1 . In addition, it is possible to perform processing similar to that of the important scenario identification unit 18 within the cloud server 4 . As a result, the processing in the vehicle control system 1 can be simplified, unlike the first embodiment.
  • the vehicle control system 1 In the vehicle control system 1 according to the second embodiment described above, there is no need to store the second control software 102 in advance. is delivered. Therefore, the vehicle control system 1 can be verified using the latest second control software 102 .
  • each data used in the vehicle control system 1 is transmitted to the cloud server 4. Then, the cloud server 4 can execute processing such as performance/quality evaluation using the received data. Therefore, the vehicle control system 1 can be configured without the performance/quality evaluation unit 17 and the important scenario identification unit 18 .
  • the vehicle control system 1 stores the learned program downloaded from the cloud server 4 in the control software 10 as the second control software 102, and the performance of this second control software 102 can be evaluated.
  • This learned program is, for example, a program created by AI. Therefore, the cloud server 4 can verify the safety of learned programs in the vehicle control systems 1 installed in a large number of vehicles, and obtain verification results according to various driving scenes. Then, if the accuracy of the output result of the second control software 102 is low with respect to the output result of the first control software 101, the developer does not use the second control software 102 or modifies it. judgment becomes possible.
  • the cloud server 4 preferably collects the first control software output data 1010 and the evaluation result data 170 of the second control software 102 accompanying this output data from many vehicles.
  • the developer verifies each data accumulated in the cloud server 4, and distributes the control software that has improved the defect of the first control software 101 to the vehicle as the second control software 102, and renews the shadow mode test.
  • the performance of the second control software 102 can be verified with Sting.
  • the vehicle control system according to the third embodiment differs from the first embodiment in that the vehicle control system 1 is connected to the driver operation sensor 5 via a bus.
  • FIG. 12 is a diagram showing an example of the overall configuration of the vehicle control system 1 according to the third embodiment.
  • vehicle control system 1 is connected to driver operation sensor 5 .
  • the driver operation sensor 5 detects the operation of the driver driving the vehicle and outputs an operation signal to the vehicle control system 1 .
  • the driver's operation includes, for example, the steering wheel operation and brake depression by the driver, and the driver's operation amount includes the operation amount such as the steering wheel operation angle and the brake depression amount.
  • the first control software output data 1010 is used to operate the actuator 3 .
  • the amount of operation performed by the driver is obtained via the driver operation sensor 5 and transmitted to the actuator 3 .
  • the process for operating the actuator 3 by automatic operation according to the first embodiment is replaced by the process by the driver's operation according to the third embodiment, and the vehicle is controlled.
  • the evaluation unit inputs the driver's operation data input while the vehicle is running and the sensor (sensor 2) to the second control software (second control software 102).
  • the performance of the second control software is evaluated by comparing the output data output by the calculation executed using the input data.
  • the vehicle control system 1 uses the first control software output data selected by the performance/quality evaluation unit 17 of the first embodiment as comparison reference data for shadow mode testing.
  • the processing using 1011 and the second control software output data 1020 is replaced with the driver operation amount obtained via the driver operation sensor 5 and the second control software output data 1020 . It is not necessary to use the output data of the first control software 101 according to the first embodiment to operate the actuator 3, and the vehicle can be controlled based on the driver's steering wheel operation and brake depression amount, which are the output data of the driver operation sensor 5. Driving is controlled.
  • FIG. 13 is a diagram showing an example of state transition of the vehicle control system 1 according to the third embodiment. Here, it is assumed that the vehicle control system 1 has transitioned to state C.
  • FIG. 13 is a diagram showing an example of state transition of the vehicle control system 1 according to the third embodiment. Here, it is assumed that the vehicle control system 1 has transitioned to state C.
  • FIG. 13 is a diagram showing an example of state transition of the vehicle control system 1 according to the third embodiment. Here, it is assumed that the vehicle control system 1 has transitioned to state C.
  • the second control software 102 is calculated using the output value of the sensor 2.
  • the performance/quality evaluation unit 17 of the vehicle control system 1 directly receives the driver operation data 50 that is the output value of the driver operation sensor 5 .
  • the performance/quality evaluation unit 17 receives the second control software output data 1020 calculated by the calculation unit 11 using the second control software 102 .
  • This performance/quality evaluation unit 17 evaluates the performance/quality of the second control software 102 and is different from the first embodiment in that it can execute shadow mode testing.
  • FIG. 14 is a diagram showing an example of data flow in one state (state C) of the vehicle control system 1 according to the third embodiment.
  • the driver operation sensor 5 outputs the amount of operation by the driver, such as the driver's steering wheel operation amount and brake pedal depression amount, as the driver operation data 50 .
  • the sensor 2 outputs sensing results as sensor data 20 .
  • the calculation unit 11 performs calculation processing of the second control software 102 based on the received sensor data 20 and outputs second control software output data 1020 .
  • Performance/quality evaluation unit 17 receives driver operation data 50 and second control software output data 1020 . Then, the performance/quality evaluation unit 17 evaluates the performance and quality of the second control software 102 based on the comparison result of both data, and outputs evaluation result data 170 .
  • the important scenario identification unit 18 receives the driver operation data 50, the sensor data 20, the second control software output data 1020, and the evaluation result data 170, and identifies the important scenario based on the contents of the evaluation result data 170. .
  • the performance/quality evaluation unit 17 can evaluate the performance and quality of the second control software 102 by using the driver operation data 50 instead of the first control software 101. different from
  • the driver operation data 50 is used to generate the second control software 102 that performs calculations while the vehicle is running. Evaluate performance and quality.
  • the vehicle control system 1 can perform shadow mode testing while the vehicle is running (state C).
  • the vehicle control system 1 sets the vehicle state to state C and executes the second control software 102 in the background.
  • the performance/quality evaluation unit 17 compares and evaluates the driver operation data 50 obtained by the driver's driving and the second control software output data 1020 output by the second control software 102 in real time. For this reason, the performance/quality evaluation unit 17 recognizes, for example, the trajectory of the vehicle when the driver running the vehicle finds a falling object in front and coasts, and the second control software 102 recognizes the image.
  • the performance and quality of the second control software 102 can be evaluated by checking the degree of matching with the generated vehicle trajectory.
  • FIG. 15 is a block diagram showing a hardware configuration example of the computer 60.
  • Computer 60 is an example of hardware used as a computer operable as vehicle control system 1 according to the present embodiment.
  • the computer 60 includes a CPU (Central Processing Unit) 61, a ROM (Read Only Memory) 62, and a RAM (Random Access Memory) 63 connected to a bus 64 respectively.
  • Computer 60 further comprises non-volatile storage 65 and network interface 66 .
  • the CPU 61 reads the program code of the software that implements each function according to the present embodiment from the ROM 62, loads it into the RAM 63, and executes it. Variables, parameters, etc. generated during the arithmetic processing of the CPU 61 are temporarily written in the RAM 63 , and these variables, parameters, etc. are read by the CPU 61 as appropriate.
  • an MPU Micro Processing Unit
  • Functions such as the calculation unit 11 and the comparison reference data selection unit 12 shown in FIG.
  • nonvolatile storage 65 for example, HDD (Hard Disk Drive), SSD (Solid State Drive), flexible disk, optical disk, magneto-optical disk, CD-ROM, CD-R, magnetic tape, nonvolatile memory, or the like is used. be done.
  • the nonvolatile storage 65 stores an OS (Operating System), various parameters, and programs for making the computer 60 function.
  • the ROM 62 and the non-volatile storage 65 record programs and data necessary for the operation of the CPU 61, and are examples of computer-readable non-transitory storage media storing programs executed by the computer 60. Used.
  • the control software 10 and the comparison reference data storage unit 13 shown in FIG. 1 and the like are configured in the nonvolatile storage 65 .
  • a NIC Network Interface Card
  • various data can be transmitted and received between devices via a LAN (Local Area Network), a dedicated line, or the like connected to the terminal of the NIC.
  • LAN Local Area Network
  • a dedicated line or the like connected to the terminal of the NIC.
  • interfaces with the sensors 2 and actuators 3 and communication with the cloud server 4 are performed through the network interface 66 .
  • Communication between the vehicle control system 1 and the sensors 2 and actuators 3 is performed via CAN (Controller Area Network), for example.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Debugging And Monitoring (AREA)

Abstract

車両制御システムは、車両が第一の状態である場合に第一の制御ソフトウェアの演算を実行し、車両が第二の状態である場合に第二の制御ソフトウェアの演算を実行する演算部と、センサから第一及び第二の制御ソフトウェアにそれぞれ入力される入力データ、並びに第一及び第二の制御ソフトウェアの出力データと、を保存する比較基準データ保存部と、比較基準データ保存部から読み出した出力データの差分に基づいて、第二の制御ソフトウェアの性能を評価する評価部と、を備える。

Description

車両制御システム及び車両制御方法
 本発明は、車両制御システム及び車両制御方法に関する。
 車載電子制御装置(ECU:Electronic Control Unit)に搭載されたプログラムの性能や安全性を検証するには、車両走行中に検証対象のプログラムを動作させて出力値を確認するシャドウテスティング又はシャドウモードテスティングと呼ばれる検証技術が有効である。シャドウテスティング又はシャドウモードテスティングによる検証では、例えば検証済みのプログラムを通常動作させておき、同時に、バックグラウンドにて検証対象のプログラムを動作させておく、そして、検証済みのプログラムの出力値と、検証対象のプログラムの出力値とを比較することで、検証対象のプログラムの性能や安全性を確認することができる。
 この時、検証対象のプログラムの出力値をアクセルやブレーキといったアクチュエータ動作には使用しない。このため、検証対象のプログラムに不具合が生じたとしても走行中の車両動作に影響を与えない。この結果、ドライバーの安全性を保ちつつ、検証対象のプログラムの性能及び安全性評価が可能となる。また、近年では、多様な入力データを処理するため、AI(Artificial Intelligence)を用いた技術がECUに提供されるようになっている。AIでは、入力データと出力データとの対応が一意に決定されないような処理を行うことが可能である。そこで、開発者は、車両の走行中に行われたAIの処理によりどのような出力データが生成されたかを検証する必要がある。
 そこで、AI等を含むプログラムを検証するための特許文献1~3に記載された技術が知られている。
 特許文献1には、「現実の台上試験機又は現実のローラーテストスタンドでの/上での現実のテストからの出力変数と仮想の台上試験機又は仮想のローラーテストスタンドでの仮想のテストからの出力変数との間の偏差に基づいて、検査条件に反応する識別関数が存在するか否かが推定され得る。そして、当該自動車の制御及び/又は調整が、当該識別関数の存在の可否に応じて改竄されるか否かが推定され得る。」と記載されている。
 また、特許文献2には、「検査用装置は、車載装置の不具合(検査項目)を選択するだけで、その不具合を検証するための検査プログラムを含む検査用のシナリオを自動的に作成する。また、検査用装置は、作成した検査用のシナリオを記憶媒体に書き込むことができる。」と記載されている。
 また、特許文献3には、「プログラム実行制御部により駆動されるプログラムが環境情報に応じて順次呼び出す動作と行動検証シナリオで定義される動作の順序とを比較することにより、シミュレータや適応制御装置の実機を用いることなく、単体でプログラムの評価又は検証を行なうことができる。」と記載されている。
特開2018-190349号公報 特開2015-190956号公報 国際公開第2018/180143号
 特許文献1に記載された技術は、主に自動車の稼働をシミュレートするときに、自動車の制御装置のソフトウェアを検査するために用いられるが、走行する自動車の挙動をシミュレートする処理には、車載のECUと比べて高性能なコンピュータ装置が用いられる。
このため、車載のECUでは、特許文献1に記載されたソフトウェアを稼働することができない。
 また、特許文献2に記載された技術は、車載装置により検査プログラムが実行される。
車載装置の検査が終了すると、検査の結果が書き込まれた記憶媒体が車載装置から取り外され、検査用装置に接続されることで、車載装置の不具合に対応する対処方法を選択することができる。このため、実走行中の自動車に本技術を適用したとしても、車載装置の不具合への対処が遅れてしまう。
 また、特許文献3に記載された複数のアプリケーション・プログラムは、1又はそれ以上の定義動作と、1又はそれ以上の行動計画と、1又はそれ以上の行動検証シナリオを含んでおり、同一の自動走行車上で混在することが可能である。しかし、自動車等の組込み制御システム製品に搭載されているマルチコアプロセッサの計算処理能力は限られている。車載の計算資源には制約があるため、自動運転向けプログラムのような高負荷プログラムを、各プロセッサコアで同時に動作させることは困難であり、実行可能なプログラムは限定的となっていた。
 本発明はこのような状況に鑑みて成されたものであり、複数の制御ソフトウェアの出力値を比較するシャドウモードテスティングを可能とすることを目的とする。
 本発明に係る車両制御システムは、車両が第一の状態である場合に第一の制御ソフトウェアの演算を実行し、車両が第二の状態である場合に第二の制御ソフトウェアの演算を実行する演算部と、センサから第一の制御ソフトウェア及び第二の制御ソフトウェアにそれぞれ入力される入力データ、並びに第一の制御ソフトウェア及び第二の制御ソフトウェアが入力データを入力として実行した演算により出力する出力データと、を保存する保存部と、保存部から読み出した、第一の制御ソフトウェア及び第二の制御ソフトウェアがそれぞれ出力した出力データを比較して、第二の制御ソフトウェアの性能を評価する評価部と、を備える。
 本発明によれば、車両が第一の状態で第一の制御ソフトウェアの演算を実行して得られた出力データと、第二の状態で第二の制御ソフトウェアの演算を実行して得られた出力データとを比較して、第二の制御ソフトウェアの性能を評価するシャドウモードテスティングが可能となる。
 上記した以外の課題、構成及び効果は、以下の実施の形態の説明により明らかにされる。
本発明の第1の実施の形態に係る車両制御システムの全体構成例を示すブロック図である。 本発明の第1の実施の形態に係る車両制御システムの状態遷移の例を示した図である。 本発明の第1の実施の形態に係る車両制御システムの状態Aにおけるデータフローの例を示した図である。 本発明の第1の実施の形態に係る比較基準データ選定部の処理手順例を示したフローチャートである。 本発明の第1の実施の形態に係る車両制御システムの状態遷移判定時におけるデータフローの例を示した図である。 本発明の第1の実施の形態に係る状態判定部の処理手順例を示したフローチャートである。 本発明の第1の実施の形態に係る車両制御システムの状態Bにおけるデータフローの例を示した図である。 本発明の第1の実施の形態に係る性能・品質評価部の処理手順例を示したフローチャートである。 本発明の第1の実施の形態に係る重要シナリオ特定部の処理手順例を示したフローチャートである。 本発明の第2の実施の形態に係る車両制御システムの全体構成例を示した図である。 本発明の第2の実施の形態に係る車両制御システムとクラウドサーバ間で送受信される通信データの例を示した図である。 本発明の第3の実施の形態に係る車両制御システムの全体構成例を示した図である。 本発明の第3の実施の形態に係る車両制御システムの状態遷移の例を示した図である。 本発明の第3の実施の形態に係る車両制御システムの状態Cにおけるデータフローの例を示した図である。 本発明の各実施の形態に係る計算機のハードウェア構成例を示した図である。
 以下、本発明を実施するための形態について、添付図面を参照して説明する。本明細書及び図面において、実質的に同一の機能又は構成を有する構成要素については、同一の符号を付することにより重複する説明を省略する。
 本発明に係る車両制御システムは、センサとアクチュエータが接続された形態とする。
そして、車両制御システムにはセンサから入力値としてセンサデータが入力され、車両制御システムの出力値がアクチュエータへと出力される構成とする。ただし、本発明は、入力元及び出力先の構成によらず、制御ソフトウェアが搭載された車両制御システムに広く適用可能である点に注意されたい。
[第1の実施の形態]
 図1は、第1の実施の形態に係る車両制御システム1の全体構成例を示すブロック図である。この車両制御システム1は、自動運転可能な車両に搭載されるシステムであり、複数の電子制御装置(ECU)がネットワークにて接続されている。
 車両制御システム1は、センサ2及びアクチュエータ3とバス(BUS)で接続されている。車両制御システム1は、センサ2(例えば、撮像センサ)から車両制御システム1の入力となるセンサデータ(例えば、画像データ)を受け取り、アクチュエータ3には車両制御システム1の出力データ(例えば、制御データ)を送る役割を持つ。
 車両制御システム1は、制御ソフトウェア10、演算部11、比較基準データ選定部12、比較基準データ保存部13、状態判定部14、処理プログラム変更部15、評価ソフトウェア実行指示部16、性能・品質評価部17、及び重要シナリオ特定部18を有する。
 制御ソフトウェア10は、第一の制御ソフトウェア101、第二の制御ソフトウェア102を有する。第一の制御ソフトウェア101は、検証済みのソフトウェアであり、車両の動作時に実行される。第一の制御ソフトウェア101と第二の制御ソフトウェア102は、いずれも処理の負荷が高いため、演算部11では同時に実行することができない。このため、第二の制御ソフトウェア102は、検証対象のソフトウェアであり、車両制御システム1の空き時間に実行される。
 演算部(演算部11)は、車両が第一の状態である場合に第一の制御ソフトウェア(第一の制御ソフトウェア101)の演算を実行し、車両が第二の状態である場合に第二の制御ソフトウェア(第二の制御ソフトウェア102)の演算を実行する。以下の説明では、車両が第一の状態であることを車両制御システム1が状態Aであるとも呼び、車両が第二の状態であることを車両制御システム1が状態Bであるとも呼ぶ。第一の制御ソフトウェア101及び第二の制御ソフトウェア102はいずれも処理負荷が高いので演算部11が同時に実行できないが、車両の状態に合わせて演算部11が実行する制御ソフトウェアを変更することで、車両の自動運転に支障なく、第二の制御ソフトウェア102の動作検証が可能となる。そこで、車両制御システム1は、処理プログラム変更部15の処理プログラムの変更指示に従い、第一の制御ソフトウェア101又は第二の制御ソフトウェア102のどちらかを演算部11にて演算処理させる。図1では、演算部11が第二の制御ソフトウェア102を実行している様子が示される。なお、本明細書では、第一の制御ソフトウェア101又は第二の制御ソフトウェア102をプログラムと同様の意味で用いる。
 ここで、車両制御システム1の状態遷移の例について説明する。
 図2は、第1の実施形態に係る車両制御システム1の状態遷移の例を示した図である。
図2の左上にある黒丸の初期ノードは、ドライバーにより車両の電源が投入され、車両制御システム1による処理が開始したことを表す。
 車両制御システム1は、状態Aと状態Bの2つの状態を持つ。
 始めに、車両制御システム1が状態Aの時の内部処理の例を説明する。状態Aは、車両が自動運転を行っている状態である。そして、状態Aにおける車両制御システム1の動作の概要は、図2の上部に示される。
 状態Aにて車両制御システム1は、センサ2より車両制御システム1への入力となるセンサデータ20を受け取る。そして、演算部11は、第一の制御ソフトウェア101を実行し、第一の制御ソフトウェア出力データ1010をアクチュエータ3へと出力する。例えば、第一の制御ソフトウェア101は、センサデータ20として画像データを受け取ると、画像内に映り込む物体を認識する処理を行い、車両の動作に必要な制御信号を生成する。
 また、第一の制御ソフトウェア101は、例えば、センサフュージョンの機能を用いて、各センサ2から得たセンサデータ20を用いて車両が走っている道路の車線、周囲の他の車両の位置等を認識して、車両の加速又はブレーキをアクチュエータ3に指示するための制御信号を生成してもよい。また、第一の制御ソフトウェア101は、画像認識の結果に基づいて、車両が走行する車線を決定し、ステアリングを操作するための操作信号を生成してもよい。これらの信号が第一の制御ソフトウェア出力データ1010としてアクチュエータ3に出力される。
 保存部(比較基準データ保存部13)は、センサ(センサ2)から第一の制御ソフトウェア(第一の制御ソフトウェア101)及び第二の制御ソフトウェア(第二の制御ソフトウェア102)にそれぞれ入力される入力データ、並びに第一の制御ソフトウェア(第一の制御ソフトウェア101)及び第二の制御ソフトウェア(第二の制御ソフトウェア102)が入力データを入力として実行した演算により出力する出力データと、を保存する。
例えば、比較基準データ保存部13は、センサデータ20と第一の制御ソフトウェア出力データ1010を保存する。このため、比較基準データ保存部13には、第一の制御ソフトウェア101が使用した入力データ、及び出力データがセットで保存される。比較基準データ保存部13に各データが保存されることで、第一の制御ソフトウェア101の処理後に、第二の制御ソフトウェア102が第一の制御ソフトウェア101と同様の処理を実行したり、開発者がデータを取り出してデータを検証したりすることができる。
 次に、車両制御システム1が状態Bの時の内部処理の例を説明する。例えば、車両制御システム1が空き時間になった時、状態Aから状態Bに遷移する。空き時間の判定は、例えば、車両制御システム1がブレーキの踏み込みを検出したタイミングで行われ、車両が停止した時に状態Aから状態Bに遷移する。他にも高速道路を走行中の車両が自動運転で動作する場合、車両制御システム1は状態Aで稼働し、一般道路を走行する車両にドライバーの運転操作が必要になると車両制御システム1が状態Bに遷移して稼働することが想定される。また、車両が駐車場で停止し、車載バッテリが充電されている時には、車両制御システム1が状態Bで稼働してもよい。車両制御システム1が状態Aから遷移した状態Bにおける車両制御システム1の動作の概要は、図2の下部に示される。
 状態Bにおいて、演算部11、比較基準データ保存部13は、状態Aと共通して用いられる。ただし、状態Bでは、性能・品質評価部17が稼働する。
 演算部11は、比較基準データ保存部13に保存されたセンサデータ20を受け取り、第二の制御ソフトウェア102を実行する。そして、演算部11は、第二の制御ソフトウェア出力データ1020を性能・品質評価部17に出力する。なお、状態Bでは、第二の制御ソフトウェア出力データ1020がアクチュエータ3には出力されないので、第二の制御ソフトウェア出力データ1020によりアクチュエータ3が動作することはない。例えば、自動運転から手動運転に切り換わった時、車両制御システム1が状態Bに遷移する。手動運転中は車両制御システム1が空き時間となるのであれば、運転者がブレーキを踏み込んだ時のブレーキの踏み込み量のデータがアクチュエータ3に伝わり、ブレーキがかかる。
 評価部(性能・品質評価部17)は、保存部(比較基準データ保存部13)から読み出した、第一の制御ソフトウェア(第一の制御ソフトウェア101)及び第二の制御ソフトウェア(第二の制御ソフトウェア102)がそれぞれ出力した出力データを比較して、第二の制御ソフトウェア(第二の制御ソフトウェア102)の性能を評価する。例えば、性能・品質評価部17は、比較基準データ保存部13に保存された第一の制御ソフトウェア出力データ1010と、第二の制御ソフトウェア出力データ1020との差分を比較評価することで、シャドウモードテスティングを実現する。性能・品質評価部17が比較評価するデータを出力する第一の制御ソフトウェア101と第二の制御ソフトウェア102は、それぞれ状態Aと状態Bの異なる状態にて実行処理されている。このため、複数の制御ソフトウェアを車両制御システム1にて並列に動作させる必要が無い。この結果、複数の制御ソフトウェアの同時処理を可能とする高性能なECUを車両制御システム1は必要としない。
 次に、車両制御システム1で行われる処理の例について、図3~図9を参照して説明する。
 図3は、第1の実施形態に係る車両制御システム1の状態Aにおけるデータフローの例を示した図である。
 上述したように車両制御システム1には、センサ2からセンサデータ20が入力する。
 演算部11は、センサ2の出力であるセンサデータ20を入力データとし、第一の制御ソフトウェア101を実行し、第一の制御ソフトウェア出力データ1010を出力する。
 選定部(比較基準データ選定部12)は、評価部(性能・品質評価部17)が第二の制御ソフトウェア(第二の制御ソフトウェア102)を評価するための入力データ及び出力データを、第一の制御ソフトウェア(第一の制御ソフトウェア101)への入力とされた入力データ、及び第一の制御ソフトウェア(第一の制御ソフトウェア101)が出力した出力データから選定し、選定した入力データ及び出力データを保存部(比較基準データ保存部13)に保存する。そこで、選定部(比較基準データ選定部12)は、評価部(性能・品質評価部17)による第二の制御ソフトウェア(第二の制御ソフトウェア102)の評価のための重要シナリオとして保存部(比較基準データ保存部13)に保存すべきデータを、第一の制御ソフトウェア(第一の制御ソフトウェア101)が出力する出力データに基づいて選定する。
 例えば、比較基準データ選定部12は、センサデータ20と第一の制御ソフトウェア出力データ1010を受け取り、検証対象となる第二の制御ソフトウェア102の検証用データとして必要なデータを選定する。そして、比較基準データ選定部12は、選定後のセンサデータ21と、選定後の第一の制御ソフトウェア出力データ1011とを比較基準データ保存部13に出力する。検証用データに必要なデータとして、例えば、第一の制御ソフトウェア101に入力されるデータがある。ただし、センサ2から出力されるデータを全てセンサデータ20として保存するには膨大な記録容量が必要である。そこで、例えば、第一の制御ソフトウェア101に入力した時、第一の制御ソフトウェア101が誤判定すると分かっているデータが選定される。このデータは、例えば、バンボディの背面扉に人の絵が描かれたトラックをセンサ2が撮影した画像が挙げられる。このような画像が入力データとして入力された第一の制御ソフトウェア101が、人の絵を誤って実際の人であると誤判定するのであれば、第二の制御ソフトウェア102ではどのように判定されるのかが検証される。
 他にも第一の制御ソフトウェア101は、雨が降っていたり、逆光だったりする環境でセンサ2が撮影した画像を処理しても、画像に映る人、車両等を正しく検出できないことがある。この場合も、第一の制御ソフトウェア101が正しく検出できなかった画像を第二の制御ソフトウェア102はどのように検出するかが検証される。
 このようにセンサデータ20としては、センサデータ20から選定された一部のセンサデータ21だけを制御ソフトウェア10が有するソフトウェア群の動作検証に用いることで、センサデータ20を保存するための記録媒体の記録容量を削減することが可能となる。
 比較基準データ保存部13は、選定後のセンサデータ21と選定後の第一の制御ソフトウェア出力データ1011を内部に保存する。ここで、図2に示した比較基準データ保存部13が保存するセンサデータ20と第一の制御ソフトウェア出力データ1010から選定されたデータが、図3で説明した選定後のセンサデータ21と選定後の第一の制御ソフトウェア出力データ1011となる。
 次に、比較基準データ選定部12の処理の詳細について説明する。
 図4は、第1の実施形態に係る比較基準データ選定部12の処理手順例を示したフローチャートである。図4以降の各フローチャートは、車両制御システム1の車両制御方法の一例を表す。
 始めに、比較基準データ選定部12は、第一の制御ソフトウェア101の入力となったセンサデータ20と、第一の制御ソフトウェア出力データ1010とを受け取る(S1)。
 次に、比較基準データ選定部12は、ステップS1にて受け取ったセンサデータ20と、第一の制御ソフトウェア出力データ1010とを、シャドウモードテスティングにて利用すべきか否かを判断する(S2)。そして、比較基準データ選定部12がシャドウモードテスティングにて、これらのデータを利用すべきと判断した場合(S2のYES)、センサデータ20と、第一の制御ソフトウェア出力データ1010とが保存すべきデータであるので、ステップS3へと進む。ここで保存されるデータは、例えば、悪天候の時に撮影された画像データ、第一の制御ソフトウェア101で誤検知された画像データ等がある。
 ステップS3では、比較基準データ選定部12が比較基準データ保存部13に対して、ステップS1にて受け取ったセンサデータ20と、第一の制御ソフトウェア出力データ1010と、を保存するよう指示し(S3)、本処理を終了する。このため、センサデータ20と、第一の制御ソフトウェア出力データ1010とが、比較基準データ保存部13に保存される。
 一方、ステップS2にて比較基準データ選定部12がシャドウモードテスティングにて利用すべきデータでないと判断した場合(S2のNO)、特に処理は行わず本処理を終了する。この場合、ステップS1にて受け取ったセンサデータ20と、第一の制御ソフトウェア出力データ1010とは、保存されない。
 次に、車両制御システム1の状態遷移の判定時におけるデータの流れを説明する。
 図5は、第1の実施形態に係る車両制御システム1の状態遷移判定時におけるデータフローの例を示した図である。
 状態判定部(状態判定部14)は、演算部(演算部11)が動作する計算資源の空きに基づいて、車両が第一の状態又は第二の状態のいずれであるかを判定する。ここで、状態判定部(状態判定部14)は、演算部(演算部11)が動作する計算資源の空きの有無を、自動運転サービスの提供範囲、車両が充電モード中であること、車両が停車中であること、又は、車両に搭載された計算機の負荷情報、のうち、少なくともいずれか一つに基づいて判断し、かつ評価部(性能・品質評価部17)が第二の制御ソフトウェア(第二の制御ソフトウェア102)の評価を実行可能であるかを判定する。自動運転サービスの提供範囲とは、車両が自動運転で走行するシーンであり、例えば、車両が高速道路を走行中に該当する。また、車両が充電モード中であるとは、例えば、停車した車両に充電器が接続され、不図示の車載バッテリが充電されている状態である。また、車両が停車中であるとは、例えば、信号待ちであったり、路肩に一時停止していたりすることである。また、計算機の負荷情報とは、例えば、後述する図15に示す計算機60の負荷を計測した情報である。このように車両の状態が判定されるので、車両の自動運転に支障が生じない状態で第二の制御ソフトウェア102が実行される。
 そして、変更部(処理プログラム変更部15)は、状態判定部(状態判定部14)により計算資源の空きがないと判定された場合に演算部(演算部11)が演算を実行する制御ソフトウェアを第一の制御ソフトウェア(第一の制御ソフトウェア101)とし、計算資源の空きがあると判定された場合に演算部(演算部11)が演算を実行する制御ソフトウェアを第二の制御ソフトウェア(第二の制御ソフトウェア102)に変更する。処理プログラム変更部15が変更する処理プログラムとは、第一の制御ソフトウェア101、第二の制御ソフトウェア102のいずれかである。
 このように処理プログラム変更部15は、状態判定部14により判定された、車両制御システム1の空き時間の有無に基づいて、車両制御システム1を状態Aから状態B、逆に状態Bから状態Aに遷移させてもよいかを判定する。そして、状態判定部14は、空き時間の判定結果を状態判定結果データ140として生成する。状態判定結果データ140は、演算部11で演算するデータの状態判定結果を含むデータである。車両の状態が判定されてから演算部11で実行されるソフトウェアが選択されるので、状態Aであるにも関わらず、第二の制御ソフトウェア102の処理が割り込んで、自動運転に支障が生じることがない。また、車両制御システム1が状態Bで第二の制御ソフトウェア102の処理が行われていても、状態Aと判定された場合、速やかに第一の制御ソフトウェア101の処理が復帰し、車両の自動運転に支障がない。
 次に、状態判定部14の処理の詳細について説明する。
 図6は、第1の実施形態に係る状態判定部14の処理手順例を示したフローチャートである。
 始めに、状態判定部14は、車両制御システム1の計算資源使用率情報を取得する(S11)。計算資源使用率情報とは、例えば、車両制御システム1の計算機60(後述する図15を参照)の負荷率やメモリ使用率などの情報である。
 次に、状態判定部14は、計算資源使用率情報を元に、車両制御システム1の計算資源に十分な空きがあるか否かを判定する(S12)。状態判定部14は、計算資源に十分な空きがないと判定した場合(S12のNO)、車両制御システム1の演算部11にて処理するプログラムを状態Aでの第一の制御ソフトウェア101とする状態判定結果データ140を出力し(S13)、本処理を終了する。
 一方、状態判定部14は、計算資源に十分な空きがあると判定した場合(S12のYES)、車両制御システム1の演算部11にて処理するプログラムを状態Bでの第二の制御ソフトウェア102とする状態判定結果データ140を出力し(S14)、本処理を終了する。計算資源に空きがある時に実行される第二の制御ソフトウェア102の処理では、選定後のデータが使われる。このため、第二の制御ソフトウェア102の処理で必要とするデータ量が少なくなり、第一の制御ソフトウェア101より計算資源を消費せずに済む。
 その後、図5に示した処理プログラム変更部15は、状態判定部14にて生成された状態判定結果データ140の内容に応じて、車両制御システム1の演算部11にて処理するプログラムを第一の制御ソフトウェア101又は第二の制御ソフトウェア102のどちらかに変更する。
 実行指示部(評価ソフトウェア実行指示部16)は、変更部(処理プログラム変更部15)により変更された第二の制御ソフトウェア(第二の制御ソフトウェア102)を用いて、保存部(比較基準データ保存部13)に重要シナリオとして保存された入力データを入力として演算部(演算部11)に演算を実行する指示を行う。車両が状態Bに切り換わった直後に第二の制御ソフトウェア102の演算の実行が行われるのでなく、評価ソフトウェア実行指示部16の指示を受けて第二の制御ソフトウェア102の演算の実行が開始される。このため、状態Aにおける後処理等が完了する前に、第二の制御ソフトウェア102の処理は開始されず、状態Aにおける処理で使われた余計なデータが第二の制御ソフトウェア102の処理に混ざることがない。
 なお、車両制御システム1が状態Bから状態Aに遷移する際にも、状態判定部14が計算資源の空きを判定し、計算資源の空きがない場合に、処理プログラム変更部15が演算部11にて処理するプログラムを第一の制御ソフトウェア101に変更する。そして、評価ソフトウェア実行指示部16は、状態Aにおける第一の制御ソフトウェア101の演算の実行開始を指示する。
 次に、状態Bの車両制御システム1におけるデータの流れを説明する。
 図7は、第1の実施形態に係る車両制御システム1の別の一状態(状態B)におけるデータフローの例を示した図である。
 比較基準データ保存部13は、図2に示したように内部に保存していた選定後の第一の制御ソフトウェア出力データ1011と、選定後のセンサデータ21とを出力する。
 演算部11は、選定後のセンサデータ21を受け取ると、第二の制御ソフトウェア102を実行処理する。そして、第二の制御ソフトウェア102は、第二の制御ソフトウェア出力データ1020を出力する。
 性能・品質評価部17は、選定後の第一の制御ソフトウェア出力データ1011と、第二の制御ソフトウェア出力データ1020とを受け取り、両データと、両データを出力した各制御ソフトウェアの性能及び品質とを評価し、評価結果データ170を出力する。ここで性能・品質とは、例えば、第一の制御ソフトウェア101と第二の制御ソフトウェア102の機能性や、出力結果の妥当性を表す。第一の制御ソフトウェア101と第二の制御ソフトウェア102の機能性とは、各ソフトウェアの機能そのものを表し、例えば、物体検知機能、自動運転する車両の軌道生成機能等がある。そして、性能・品質評価部17は、実行された各ソフトウェアの機能は、求める機能を満たしているかを評価する。例えば、物体検知機能であれば、人や標識等の物体を正しく検知できたかが評価され、軌道生成機能であれば、車両が歩道でなく車道を走行するように軌道を正しく生成できたかが評価される。また、出力結果の妥当性とは、ソフトウェアの実行により意図した出力結果を得られたかが性能・品質評価部17により評価された結果を表す。性能・品質評価部17により行われるデータ、及び制御ソフトウェアの性能及び品質を「性能評価」と総称する。
 重要シナリオ特定部(重要シナリオ特定部18)は、評価部(性能・品質評価部17)による評価結果と、選定部(比較基準データ選定部12)により選定された入力データ及び出力データと、第二の制御ソフトウェア(第二の制御ソフトウェア102)が出力した出力データとを受け取り、評価結果に基づいて、保存部(比較基準データ保存部13)に保存すべきデータを重要シナリオとして特定する。例えば、重要シナリオ特定部18は、選定後のセンサデータ21と、選定後の第一の制御ソフトウェア出力データ1011と、第二の制御ソフトウェア出力データ1020と、評価結果データ170とを受け取る。そして、重要シナリオ特定部18は、受け取った各データの内容に基づき、各データが重要であるか否かを判定する。ここで、シナリオとは各ソフトウェアに入力される入力データと出力データのパターンを表す。開発者が後の検証に残しておきたい重要なシナリオを「重要シナリオ」とも呼ぶ。重要シナリオが特定されることで、膨大な入力及び出力データを比較基準データ保存部13に保存しなくてよく、記録容量の圧迫を防ぐことができる。
 そして、重要シナリオ特定部(重要シナリオ特定部18)は、評価結果が不一致と評価された、第一の制御ソフトウェア(第一の制御ソフトウェア101)の出力データと、第二の制御ソフトウェア(第二の制御ソフトウェア102)の出力データとを含む重要シナリオを特定する。重要シナリオ特定部18は、特定した重要シナリオを用いることで、第一の制御ソフトウェア101と第二の制御ソフトウェア102の出力データでどのような違いが生じたかを比較しやすくなる。例えば、重要シナリオ特定部18は、第一の制御ソフトウェア101と比べて第二の制御ソフトウェア102の性能が改善したかを確認する。そして、性能が改善しなければ選定後のセンサデータ21と、選定後の第一の制御ソフトウェア出力データ1011と、第二の制御ソフトウェア出力データ1020とを廃棄する。この場合、改めて開発された第二の制御ソフトウェア102が車両に配布され、この第二の制御ソフトウェア102の演算が実行される。
 また、車両制御システム1の開発者であれば、評価結果に関わらず、データの内容を直接確認したい場合もある。また、演算処理を行うAIの制御ソフトウェアによっては、入力された同じ入力データ(例えば、画像データ)に対して判断が異なることで、異なる出力データを出力することがある。このような入力データ及び出力データは、開発者にとって制御ソフトウェアの開発に生かしたいデータである。この場合、重要シナリオ特定部18は、性能・品質評価部17により第二の制御ソフトウェア102の性能が評価された時に用いられた第二の制御ソフトウェア102への入力データを残すことも可能である。
 次に、性能・品質評価部17の処理の詳細について説明する。
 図8は、第1の実施形態に係る性能・品質評価部17の処理手順例を示したフローチャートである。
 始めに、性能・品質評価部17は、選定後の第一の制御ソフトウェア出力データ1011を受け取る(S21)。次に、性能・品質評価部17は、第二の制御ソフトウェア出力データ1020を受け取る(S22)。
 次に、性能・品質評価部17は、選定後の第一の制御ソフトウェア出力データ1011と、第二の制御ソフトウェア出力データ1020とを比較し、比較結果を評価し、評価結果データ170を生成する(S23)。そして、性能・品質評価部17は、評価結果データ170を出力し(S24)、本処理を終了する。
 例えば、前方から自車両にトラックが近づく場合に、画像から物体を検知する機能を有する第一の制御ソフトウェア101であれば、センサ2が設置された位置及び画像からトラックを認識できると仮定する。また、第二の制御ソフトウェア102が、第一の制御ソフトウェア101が車両を判断した時に用いた画像を入力として、第一の制御ソフトウェア101と同様に、前方から近づく車両をトラックであると認識したのであれば、性能・品質評価部17は、第二の制御ソフトウェア102の物体検知機能の評価がよいか、物体検知機能の性能が悪化していないと判断できる。しかし、第一の制御ソフトウェア101と第二の制御ソフトウェア102とで画像から車両のサイズを異なって認識する可能性がある。この場合、第一の制御ソフトウェア101では車両をワゴンと誤って認識し、第二の制御ソフトウェア102では車両をトラックと正しく認識したのであれば、性能・品質評価部17は、第二の制御ソフトウェア102の物体検知機能の性能が高くなったと評価できる。
 次に、図1に示した重要シナリオ特定部18の処理の詳細について説明する。
 図9は、第1の実施形態に係る重要シナリオ特定部18の処理手順例を示したフローチャートである。
 始めに、重要シナリオ特定部18は、選定後のセンサデータ21と、選定後の第一の制御ソフトウェア出力データ1011と、第二の制御ソフトウェア出力データ1020とを受け取る(S31)。
 次に、重要シナリオ特定部18は、評価結果データ170を受け取る(S32)。
 次に、重要シナリオ特定部18は、評価結果データ170に基づき、受け取った各データが重要であるか否かを判定する(S33)。
 重要シナリオ特定部18は、受け取ったデータを重要データと判定した場合(S33のYES)、各データを車両制御システム1に保存し(S34)、本処理を終了する。車両制御システム1に保存される各データとは、選定後のセンサデータ21と選定後の第一の制御ソフトウェア出力データ1011と第二の制御ソフトウェア出力データ1020に加えて、評価結果データ170を含む。車両制御システム1に保存された各データは、例えば、USBメモリ等の可搬型の記憶媒体にコピーされて、開発者がデータの内容を検証したり、新たなソフトウェアを開発したりするために用いられる。
 一方、重要シナリオ特定部18は、受け取ったデータが重要でないと判定した場合(S33のNO)、各データを車両制御システム1に保存せず、本処理を終了する。
 以上説明した第1の実施形態に係る車両制御システム1では、制御ソフトウェア10の制御ソフトウェア群を、同一の選定後のセンサデータ21を入力として異なるタイミングで処理する。ここで、比較基準データ保存部13は、センサ2から入力した全ての入力データではなく、特定のデータだけをセンサデータ20として保存する。車両制御システム1が保存するデータは、性能・品質評価部17での比較対象となる制御ソフトウェア群が出力データを算出するタイミング、又はドライバーによる特定の操作が行われたタイミングとする。そして、性能・品質評価部17は、出力値が算出されたタイミング、又は特定の操作が行われたタイミングとは異なる時刻にて、比較基準データ保存部13に保存しておいたセンサデータ20を用いて、検証用の第二の制御ソフトウェア102を実行し、第二の制御ソフトウェア出力データ1020と、第一の制御ソフトウェア出力データ1010とを比較する。このため、車両制御システム1として高性能なECUを必要としない。
また、車両制御システム1は、高負荷なプログラムであってもシャドウモードテスティングを行うことが可能となる。
 また、車両の動作をシミュレーションする際に第二の制御ソフトウェア102を動作させるだけでなく、実車両から得た入力データを用いてバックグラウンドで第二の制御ソフトウェア102を動作させる。このため、走行している実車両の安全性を損なうことなく、第二の制御ソフトウェア102を検証できる。
 また、第二の制御ソフトウェア102は、例えば、第一の制御ソフトウェア101とはAIの学習モデルが異なるソフトウェアや、CPUの負荷率を下げることが可能なソフトウェアが想定される。また、既に稼働している第一の制御ソフトウェア101に内包されるエラーを改善したソフトウェアを第二の制御ソフトウェア102として検証してもよい。このような検証は、想定外のデータが入力しやすい実車両に搭載された車両制御システム1で行われるため、性能・品質評価部17は、様々なバリエーションの入力データ(センサデータ20)を用いて、第二の制御ソフトウェア102の品質を検証することができる。例えば、第一の制御ソフトウェア101のCPU負荷率が80%である場合、第二の制御ソフトウェア102のCPU負荷率が70%であれば、開発者は、第二の制御ソフトウェア102として用いたソフトウェアを第一の制御ソフトウェア101として用いることを検討できる。
 また、車両制御システム1で用いる第一の制御ソフトウェア101より処理の負荷が軽い第二の制御ソフトウェア102を使っても、第一の制御ソフトウェア出力データ1010と同様の品質の第二の制御ソフトウェア出力データ1020を得られるのであれば、第二の制御ソフトウェア102として用いたソフトウェアを、自動運転で実行される第一の制御ソフトウェア101に置き換えることも可能となる。このように第一の制御ソフトウェア101を処理の負荷が軽いソフトウェアに置き換えることで、膨大な計算を行う自動運転中の計算処理、及び計算資源の消費を抑制することができる。
[第1の実施形態の変形例]
 ここで、重要シナリオ特定部(重要シナリオ特定部18)は、第一の制御ソフトウェア(第一の制御ソフトウェア101)が動作中であって、かつ第一の制御ソフトウェア(第一の制御ソフトウェア101)の出力結果に誤りがあると判断された場合に、重要シナリオとして特定したデータを保存部(比較基準データ保存部13)に保存する。このため、通常は、処理結果が正常であるはずの第一の制御ソフトウェア101の処理結果が異常である場合に、開発者は、重要シナリオとして特定したデータと、第一の制御ソフトウェア101の処理内容を検証することができる。
 そこで、選定部(比較基準データ選定部12)は、複数種類のセンサ(センサ2)から入力される複数の入力データを合成するセンサフュージョン処理を行って得た結果と、第一の制御ソフトウェア(第一の制御ソフトウェア101)が演算を実行して出力した出力データとの不一致を発見した場合に、第一の制御ソフトウェア(第一の制御ソフトウェア101)の出力結果に誤りがあると判断する。
 例えば、画像認識の結果が誤検知であるか否かは、画像認識ソフトウェアだけで判定できないことがある。センサフュージョンは、複数の異なるセンサから得た情報を用いて画像認識の結果を判定するための技術である。例えば、LiDAR(Light Detection and Ranging)をセンサとして用いた場合、車両の前方に人が立っているか否かは、カメラが撮影して出力される画像データでも認識できるし、LiDARから出力される点群データでも認識できると想定される。ここで、カメラから出力される画像データに基づいて人が立っていることが認識されたにも関わらず、LiDARから得た点群データでは人が立っていることが認識できなかった場合、画像データ、又は点群データのいずれか又は両方の認識が誤っている。一方で、第二の制御ソフトウェア102は、画像データ、又は点群データのいずれであっても人が立っていることを認識できたのであれば、第二の制御ソフトウェア102は正しく人を認識できている。そこで、第一の制御ソフトウェア101がセンサフュージョンにより物体を検知する機能を持たない場合、比較基準データ選定部12は、評価結果データ170と、第二の制御ソフトウェア出力データ1020を取得することで、第一の制御ソフトウェア101の出力結果の誤りを判定できる。このようにセンサフュージョンの技術を用いることで、複数のセンサから得たデータの認識結果に基づいて、第一の制御ソフトウェア101の出力結果の正誤判定を行うことが可能である。
 なお、自動運転中のセンサフュージョンにより第一の制御ソフトウェア101の出力と、第二の制御ソフトウェア102の出力とで不一致が生じた場合、車両の前方には人がいるものとして安全側の動作(例えば、車両の停止)となるよう制御される。ただし、実際には人が立っていなかった場合、人が立っていると認識した第一の制御ソフトウェア101又は第二の制御ソフトウェア102について、改めてテストが必要となる。
 また、選定部(比較基準データ選定部12)は、車両が取得する車両の走行ログと、第一の制御ソフトウェア(第一の制御ソフトウェア101)が演算を実行して出力した出力データとの不一致を発見した場合に、第一の制御ソフトウェア(第一の制御ソフトウェア101)の出力結果に誤りがあると判断する。
 車両制御システム1は、GPS(Global Positioning System)ナビゲーションシステム、タイヤの回転数からの算出等により自車位置を常に取得し、車両の走行ログを保存している。ここで、第一の制御ソフトウェア101が車両の軌道計画を演算する機能を有していれば、比較基準データ選定部12は、第一の制御ソフトウェア101で演算された車両の軌道計画と、実際の走行ログとを比較する。そして、比較基準データ選定部12は、車両の軌道計画が実際の走行ログからずれていれば、軌道計画、すなわち第一の制御ソフトウェア101の出力データに誤りがあると判断する。
 また、選定部(比較基準データ選定部12)は、車両が持つ地図データと、第一の制御ソフトウェア(第一の制御ソフトウェア101)が演算を実行して出力した出力データとの不一致を発見した場合に、第一の制御ソフトウェア(第一の制御ソフトウェア101)の出力結果に誤りがあると判断する。
 上述したように車両制御システム1が取得する自車位置では道路上を車両が走行しているにも関わらず、第一の制御ソフトウェア101が演算した自車位置が道路以外の場所を車両が走行していることを表すことがある。この場合、比較基準データ選定部12は、地図データに対して、第一の制御ソフトウェア101が演算した自車位置、すなわち第一の制御ソフトウェア101の出力データに誤りがあると判断する。
[第2の実施形態]
 次に、本発明の第2の実施形態に係る車両制御システム及び方法について説明する。
 第2の実施形態に係る車両制御システムが第1の実施形態と異なる点は、車両制御システム1が車外ネットワークを介してクラウドサーバと接続されている点である。これにより、第1の実施形態では車両制御システム1内にて実施していた機能及びプロセス、データの保存をクラウドサーバにて代替処理する点である。なお、第1の実施形態と同様の構成については、同一の符号を付してその説明を省略する。
 図10は、第2の実施形態に係る車両制御システム1の全体構成例を示した図である。
 車両制御システム1は、車外ネットワークNを介してクラウドサーバ4に接続されている。このような構成により、例えば、クラウドサーバ4からOTA(Over The Air)機能を用いて検証対象となる第二の制御ソフトウェア102を車両制御システム1に配信することが可能になる。車両制御システム1がクラウドサーバ4から受信した第二の制御ソフトウェア102は、制御ソフトウェア10に格納される。
 演算部(演算部11)は、ネットワーク(車外ネットワークN)を介してクラウドサーバ(クラウドサーバ4)から受信した第二の制御ソフトウェア(第二の制御ソフトウェア102)の演算を実行し、重要シナリオ特定部(重要シナリオ特定部18)により重要シナリオと特定された、評価部(性能・品質評価部17)による評価結果と、選定部(比較基準データ選定部12)により選定された入力データ及び出力データと、第二の制御ソフトウェア(第二の制御ソフトウェア102)による出力データとをクラウドサーバ(クラウドサーバ4)に送信する。
 車両制御システム1は、動作検証が終わった第二の制御ソフトウェア102を破棄してよい。このため、第二の制御ソフトウェア102を車両制御システム1に保持しないことで、車両制御システム1の計算資源を削減することができる。また、クラウドサーバ4は、車両製造メーカーからの出荷後の車両に対して、新しいソフトウェアを提供することができ、ソフトウェアのアップグレード、車両の機能向上が容易となる。
 図11は、第2の実施形態に係る車両制御システム1とクラウドサーバ4間で送受信される通信データの例を示した図である。
 クラウドサーバ4から車両制御システム1には、シャドウモードテスティングにて検証したいプログラムとして第二の制御ソフトウェア102が配信される。このため、車両制御システム1内に予め検証対象のプログラムを保存する必要が無い点で、第1の実施形態と異なる。
 また、車両制御システム1からクラウドサーバ4には、選定後のセンサデータ21と、選定後の第一の制御ソフトウェア出力データ1011と、第二の制御ソフトウェア出力データ1020と、評価結果データ170とが送信される。このため、例えばクラウドサーバ4内にて性能・品質評価部17と同様の性能・品質評価が可能となる。また、クラウドサーバ4が車両制御システム1から受信したデータを用いて処理した評価結果と、車両制御システム1から受信した評価結果データ170とを比較することもできる。また、クラウドサーバ4内にて重要シナリオ特定部18と同様の処理を実施することが可能である。
この結果、車両制御システム1内での処理を簡略化することが可能となる点で、第1の実施形態と異なる。
 以上説明した第2の実施形態に係る車両制御システム1では、第二の制御ソフトウェア102を予め保存しておく必要がなく、また、検証を行いたいタイミングでクラウドサーバ4から第二の制御ソフトウェア102が配信される。このため、車両制御システム1は、最新の第二の制御ソフトウェア102を用いて検証することが可能となる。
 また、車両制御システム1で用いる各データはクラウドサーバ4に送信される。そして、クラウドサーバ4は、受信した各データを用いて、性能・品質評価等の処理を実行可能である。このため、車両制御システム1では、性能・品質評価部17、重要シナリオ特定部18を備えない構成とすることが可能となる。
 また、車両制御システム1は、クラウドサーバ4からダウンロードした学習済みプログラムを第二の制御ソフトウェア102として制御ソフトウェア10に格納し、この第二の制御ソフトウェア102の性能を評価できる。この学習済みプログラムは、例えば、AIで作成されたプログラムである。このため、クラウドサーバ4は、多数の車両に搭載された車両制御システム1で学習済みプログラムの安全性の検証を行い、様々な走行シーンに応じた検証結果を得ることができる。そして、開発者は、第一の制御ソフトウェア101の出力結果に対して、第二の制御ソフトウェア102の出力結果の精度が低ければ、第二の制御ソフトウェア102を用いないようにする、又は改修するといった判断が可能となる。
 なお、第一の制御ソフトウェア101の出力結果に誤りがあると判断された入力及び出力データであっても比較基準データ保存部13に保存されるとよい。このようなデータは、後に比較基準データ保存部13からクラウドサーバ4にアップロードされることで入力及び出力データを開発者が取得し、内容を検証することが可能となる。また、第一の制御ソフトウェア101の出力結果に誤りがあると判断されたのであれば、開発者にとって第一の制御ソフトウェア101の機能を向上したソフトウェアの開発に役立てることが可能となる。このため、クラウドサーバ4は、多数の車両から第一の制御ソフトウェア出力データ1010と、この出力データに付随する第二の制御ソフトウェア102の評価結果データ170とを収集するとよい。
 そして、クラウドサーバ4に蓄積された各データを開発者が検証することで、第一の制御ソフトウェア101の不具合を改善した制御ソフトウェアを第二の制御ソフトウェア102として車両に配信し、改めてシャドウモードテスティングで第二の制御ソフトウェア102の性能を検証することができる。
[第3の実施形態]
 次に、本発明の第3の実施形態に係る車両制御システム及び方法について説明する。
 第3の実施形態に係る車両制御システムが第1の実施形態と異なる点は、車両制御システム1がドライバー操作センサ5に対してバスで接続されている点である。
 図12は、第3の実施形態に係る車両制御システム1の全体構成例を示した図である。
 上述したように、車両制御システム1はドライバー操作センサ5に接続されている。
 ドライバー操作センサ5は、車両を運転するドライバーの操作を検出し、操作信号を車両制御システム1に出力する。ドライバーの操作として、例えば、ドライバーによるハンドル操作やブレーキ踏み込みが含まれ、ドライバーの操作量には、ハンドルの操作角やブレーキ踏み込み量といった操作量が含まれる。
 上述したように第1の実施形態に係る車両制御システム1では、第一の制御ソフトウェア出力データ1010を用いてアクチュエータ3を操作していた。一方、第3の実施形態に係る車両制御システム1の構成ではドライバーが行った操作の操作量をドライバー操作センサ5を介して入手し、アクチュエータ3へと伝達する。このように第1の実施形態に係る自動運転によるアクチュエータ3を動作させるためのプロセスが、第3の実施形態に係るドライバーの操作によるプロセスに代替されて、車両の制御が行われる。
 そこで、評価部(性能・品質評価部17)は、車両の走行中に入力されるドライバーの操作データと、センサ(センサ2)から第二の制御ソフトウェア(第二の制御ソフトウェア102)に入力される入力データを用いて実行した演算により出力する出力データとを比較して、第二の制御ソフトウェア(第二の制御ソフトウェア102)の性能を評価する。このため、第3の実施形態に係る車両制御システム1は、シャドウモードテスティングによる比較参照データとして、第1の実施形態の性能・品質評価部17にて選定後の第一の制御ソフトウェア出力データ1011と第二の制御ソフトウェア出力データ1020を用いた処理を、ドライバー操作センサ5を介して入手したドライバー操作量と第二の制御ソフトウェア出力データ1020とに代替する。アクチュエータ3の操作には第1の実施形態に係る第一の制御ソフトウェア101の出力データを用いる必要が無く、ドライバー操作センサ5の出力データであるドライバーによるハンドル操作やブレーキ踏み込み量を基に車両の運転が制御される。
 図13は、第3の実施形態に係る車両制御システム1の状態遷移の例を示した図である。ここでは、車両制御システム1が状態Cに遷移したものとする。
 車両制御システム1の演算部11では、センサ2の出力値を用いて第二の制御ソフトウェア102が演算処理されている。車両制御システム1の性能・品質評価部17は、状態Cに遷移すると、ドライバー操作センサ5の出力値であるドライバー操作データ50を直接受け取る。また、性能・品質評価部17は、演算部11が第二の制御ソフトウェア102を用いて演算した第二の制御ソフトウェア出力データ1020を受け取る。この性能・品質評価部17は、第二の制御ソフトウェア102の性能・品質を評価し、シャドウモードテスティングを実行可能としている点で第1の実施形態と異なる。
 図14は、第3の実施形態に係る車両制御システム1の一状態(状態C)におけるデータフローの例を示した図である。
 上述したように、ドライバー操作センサ5は、ドライバーのハンドル操作量やブレーキペダル踏み込み量といったドライバーによる操作量をドライバー操作データ50として出力する。一方、センサ2は、センシング結果をセンサデータ20として出力する。
 演算部11は、受け取ったセンサデータ20を基に第二の制御ソフトウェア102の演算処理を行い、第二の制御ソフトウェア出力データ1020を出力する。性能・品質評価部17は、ドライバー操作データ50と、第二の制御ソフトウェア出力データ1020とを受け取る。そして、性能・品質評価部17は、両データの比較結果に基づき、第二の制御ソフトウェア102の性能及び品質を評価し、評価結果データ170を出力する。
 重要シナリオ特定部18は、ドライバー操作データ50と、センサデータ20と、第二の制御ソフトウェア出力データ1020と、評価結果データ170とを受け取り、評価結果データ170の内容に基づき、重要シナリオを特定する。以上により、性能・品質評価部17は、第一の制御ソフトウェア101の代わりにドライバー操作データ50を用いることで、第二の制御ソフトウェア102の性能及び品質が評価できる点で、第1の実施形態と異なる。
 以上説明した第3の実施形態に係る車両制御システム1では、第一の制御ソフトウェア101の代わりにドライバー操作データ50を用いて、車両の走行中に演算が実行される第二の制御ソフトウェア102の性能及び品質を評価する。このように車両制御システム1は、車両の走行中(状態C)におけるシャドウモードテスティングを実行することが可能となる。
 例えば、車両のドライバーが運転操作を行っている間、車両制御システム1が車両の状態を状態Cとして、バックグラウンドで第二の制御ソフトウェア102を実行しておく。
そして、性能・品質評価部17は、ドライバーの運転により得られたドライバー操作データ50と、第二の制御ソフトウェア102が出力した第二の制御ソフトウェア出力データ1020とをリアルタイムで比較し、評価する。このため、性能・品質評価部17は、例えば、車両を走行中のドライバーが前方に落下物等を見つけて惰行操作した時の車両の軌道と、第二の制御ソフトウェア102が画像を認識して、生成した車両の軌道との一致度を確認することで、第二の制御ソフトウェア102の性能及び品質を評価することができる。
<計算機のハードウェア構成>
 次に、車両制御システム1を構成する計算機60のハードウェア構成を説明する。
 図15は、計算機60のハードウェア構成例を示すブロック図である。計算機60は、本実施の形態に係る車両制御システム1として動作可能なコンピューターとして用いられるハードウェアの一例である。
 計算機60は、バス64にそれぞれ接続されたCPU(Central Processing Unit)61、ROM(Read Only Memory)62、及びRAM(Random Access Memory)63を備える。さらに、計算機60は、不揮発性ストレージ65及びネットワークインターフェイス66を備える。
 CPU61は、本実施の形態に係る各機能を実現するソフトウェアのプログラムコードをROM62から読み出してRAM63にロードし、実行する。RAM63には、CPU61の演算処理の途中で発生した変数やパラメーター等が一時的に書き込まれ、これらの変数やパラメーター等がCPU61によって適宜読み出される。ただし、CPU61に代えてMPU(Micro Processing Unit)を用いてもよい。図1等に示した演算部11、比較基準データ選定部12等の機能は、CPU61により実現される。
 不揮発性ストレージ65としては、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フレキシブルディスク、光ディスク、光磁気ディスク、CD-ROM、CD-R、磁気テープ又は不揮発性のメモリ等が用いられる。この不揮発性ストレージ65には、OS(Operating System)、各種のパラメーターの他に、計算機60を機能させるためのプログラムが記録されている。ROM62及び不揮発性ストレージ65は、CPU61が動作するために必要なプログラムやデータ等を記録しており、計算機60によって実行されるプログラムを格納したコンピューター読取可能な非一過性の記憶媒体の一例として用いられる。図1等に示した制御ソフトウェア10、比較基準データ保存部13は、不揮発性ストレージ65に構成される。
 ネットワークインターフェイス66には、例えば、NIC(Network Interface Card)等が用いられ、NICの端子に接続されたLAN(Local Area Network)、専用線等を介して各種のデータを装置間で送受信することが可能である。例えば、センサ2、アクチュエータ3とのインターフェイス、クラウドサーバ4との通信がネットワークインターフェイス66を通じて行われる。また、車両制御システム1とセンサ2及びアクチュエータ3との間の通信は、例えば、CAN(Controller Area Network)を介して行われる。
 なお、本発明は上述した各実施の形態に限られるものではなく、請求の範囲に記載した要旨を逸脱しない限りその他種々の応用例、変形例を取り得ることは勿論である。
 例えば、上述した各実施の形態は本発明を分かりやすく説明するために装置及びシステムの構成を詳細かつ具体的に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されない。また、ここで説明した実施の形態の構成の一部を他の実施の形態の構成に置き換えることは可能であり、さらにはある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加、削除、置換をすることも可能である。
 また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
 1…車両制御システム、2…センサ、3…アクチュエータ、10…制御ソフトウェア、11…演算部、12…比較基準データ選定部、13…比較基準データ保存部、14…状態判定部、15…処理プログラム変更部、16…評価ソフトウェア実行指示部、17…性能・品質評価部、18…重要シナリオ特定部、20…センサデータ、21…選定後のセンサデータ、101…第一の制御ソフトウェア、102…第二の制御ソフトウェア、140…状態判定結果データ、170…評価結果データ、1010…第一の制御ソフトウェア出力データ、1011…選定後の第一の制御ソフトウェア出力データ、1020…第二の制御ソフトウェア出力データ

Claims (15)

  1.  車両が第一の状態である場合に第一の制御ソフトウェアの演算を実行し、前記車両が第二の状態である場合に第二の制御ソフトウェアの演算を実行する演算部と、
     センサから前記第一の制御ソフトウェア及び前記第二の制御ソフトウェアにそれぞれ入力される入力データ、並びに前記第一の制御ソフトウェア及び前記第二の制御ソフトウェアが前記入力データを入力として実行した演算により出力する出力データと、を保存する保存部と、
     前記保存部から読み出した、前記第一の制御ソフトウェア及び前記第二の制御ソフトウェアがそれぞれ出力した前記出力データを比較して、前記第二の制御ソフトウェアの性能を評価する評価部と、を備える
     車両制御システム。
  2.  前記評価部が前記第二の制御ソフトウェアを評価するための前記入力データ及び前記出力データを、前記第一の制御ソフトウェアへの入力とされた前記入力データ、及び前記第一の制御ソフトウェアが出力した前記出力データから選定し、選定した前記入力データ及び前記出力データを前記保存部に保存する選定部を備える
     請求項1に記載の車両制御システム。
  3.  前記選定部は、前記評価部による前記第二の制御ソフトウェアの評価のための重要シナリオとして前記保存部に保存すべきデータを、前記第一の制御ソフトウェアが出力する前記出力データに基づいて選定する
     請求項2に記載の車両制御システム。
  4.  前記演算部が動作する計算資源の空きに基づいて、前記車両が前記第一の状態又は前記第二の状態のいずれであるかを判定する状態判定部と、
     前記状態判定部により前記計算資源の空きがないと判定された場合に前記演算部が演算を実行する制御ソフトウェアを前記第一の制御ソフトウェアとし、前記計算資源の空きがあると判定された場合に前記演算部が演算を実行する前記制御ソフトウェアを前記第二の制御ソフトウェアに変更する変更部を備える
     請求項3に記載の車両制御システム。
  5.  前記変更部により変更された前記第二の制御ソフトウェアを用いて、前記保存部に前記重要シナリオとして保存された前記入力データを入力として前記演算部に演算を実行する指示を行う実行指示部を備える
     請求項4に記載の車両制御システム。
  6.  前記評価部による評価結果と、前記選定部により選定された前記入力データ及び前記出力データと、前記第二の制御ソフトウェアが出力した前記出力データとを受け取り、前記評価結果に基づいて、前記保存部に保存すべきデータを重要シナリオとして特定する重要シナリオ特定部を備える
     請求項4に記載の車両制御システム。
  7.  前記重要シナリオ特定部は、前記評価結果が不一致と評価された、前記第一の制御ソフトウェアの出力データと、前記第二の制御ソフトウェアの出力データとを含む前記重要シナリオを特定する
     請求項6に記載の車両制御システム。
  8.  前記重要シナリオ特定部は、前記第一の制御ソフトウェアが動作中であって、かつ前記第一の制御ソフトウェアの出力結果に誤りがあると判断された場合に、前記重要シナリオとして特定したデータを前記保存部に保存する
     請求項6に記載の車両制御システム。
  9.  前記選定部は、複数種類の前記センサから入力される複数の前記入力データを合成するセンサフュージョン処理を行って得た結果と、前記第一の制御ソフトウェアが演算を実行して出力した前記出力データとの不一致を発見した場合に、前記第一の制御ソフトウェアの出力結果に誤りがあると判断する
     請求項8に記載の車両制御システム。
  10.  前記選定部は、前記車両が取得する前記車両の走行ログと、前記第一の制御ソフトウェアが演算を実行して出力した前記出力データとの不一致を発見した場合に、前記第一の制御ソフトウェアの出力結果に誤りがあると判断する
     請求項8に記載の車両制御システム。
  11.  前記選定部は、前記車両が持つ地図データと、前記第一の制御ソフトウェアが演算を実行して出力した前記出力データとの不一致を発見した場合に、前記第一の制御ソフトウェアの出力結果に誤りがあると判断する
     請求項8に記載の車両制御システム。
  12.  前記状態判定部は、前記演算部が動作する計算資源の空きの有無を、自動運転サービスの提供範囲、前記車両が充電モード中であること、前記車両が停車中であること、又は、
    前記車両に搭載された計算機の負荷情報、のうち、少なくともいずれか一つに基づいて判断し、かつ前記評価部が前記第二の制御ソフトウェアの評価を実行可能であるかを判定する
     請求項4に記載の車両制御システム。
  13.  前記演算部は、ネットワークを介してクラウドサーバから受信した前記第二の制御ソフトウェアの演算を実行し、前記重要シナリオ特定部により前記重要シナリオと特定された、前記評価部による評価結果と、前記選定部により選定された前記入力データ及び前記出力データと、前記第二の制御ソフトウェアによる前記出力データとを前記クラウドサーバに送信する
     請求項6に記載の車両制御システム。
  14.  車両が第一の状態である場合に第一の制御ソフトウェアの演算を実行し、前記車両が第二の状態である場合に第二の制御ソフトウェアの演算を実行する処理と、
     センサから前記第一の制御ソフトウェア及び前記第二の制御ソフトウェアにそれぞれ入力される入力データ、並びに前記第一の制御ソフトウェア及び前記第二の制御ソフトウェアが前記入力データを入力として実行した演算により出力する出力データと、を保存部に保存する処理と、
     前記保存部から読み出した、前記第一の制御ソフトウェア及び前記第二の制御ソフトウェアがそれぞれ出力した前記出力データを比較して、前記第二の制御ソフトウェアの性能を評価する処理と、を含む
     車両制御方法。
  15.  第二の制御ソフトウェアの演算を実行する演算部と、
     車両の走行中に入力されるドライバーの操作データと、センサから前記第二の制御ソフトウェアに入力される入力データを用いて実行した演算により出力する出力データとを比較して、前記第二の制御ソフトウェアの性能を評価する評価部と、を備える
     車両制御システム。
     
PCT/JP2022/004834 2021-09-07 2022-02-08 車両制御システム及び車両制御方法 WO2023037576A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
DE112022002734.7T DE112022002734T5 (de) 2021-09-07 2022-02-08 Fahrzeugsteuersystem und fahrzeugsteuerverfahren
CN202280050203.4A CN117751067A (zh) 2021-09-07 2022-02-08 车辆控制系统及车辆控制方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021-145559 2021-09-07
JP2021145559A JP2023038697A (ja) 2021-09-07 2021-09-07 車両制御システム及び車両制御方法

Publications (1)

Publication Number Publication Date
WO2023037576A1 true WO2023037576A1 (ja) 2023-03-16

Family

ID=85507325

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/004834 WO2023037576A1 (ja) 2021-09-07 2022-02-08 車両制御システム及び車両制御方法

Country Status (4)

Country Link
JP (1) JP2023038697A (ja)
CN (1) CN117751067A (ja)
DE (1) DE112022002734T5 (ja)
WO (1) WO2023037576A1 (ja)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021166167A1 (ja) * 2020-02-20 2021-08-26 三菱電機株式会社 検証装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6486011B2 (ja) 2014-03-28 2019-03-20 株式会社デンソーテン 車載装置の検査システム、車載装置の検査用装置、車載装置、および、可搬型の記憶媒体
JPWO2018180143A1 (ja) 2017-03-31 2020-02-06 ソニー株式会社 情報処理装置及び情報処理方法、コンピュータ・プログラム、並びにプログラム製造方法
JP6959760B2 (ja) 2017-05-11 2021-11-05 イー・アー・フアウ・ゲゼルシヤフト・ミト・ベシュレンクテル・ハフツング・インゲニオールゲゼルシヤフト・アウト・ウント・フエルケール 自動車の制御装置のソフトウェアを検査するための方法及び装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021166167A1 (ja) * 2020-02-20 2021-08-26 三菱電機株式会社 検証装置

Also Published As

Publication number Publication date
JP2023038697A (ja) 2023-03-17
DE112022002734T5 (de) 2024-04-04
CN117751067A (zh) 2024-03-22

Similar Documents

Publication Publication Date Title
JP7428988B2 (ja) 自律自動車の制御ユニットを修正するための方法およびシステム
CN109032103B (zh) 无人驾驶车辆的测试方法、装置、设备及存储介质
US20210171050A1 (en) System for evaluating vehicle performance
US11198444B2 (en) Automated factory testflow of processing unit with sensor integration for driving platform
KR102263955B1 (ko) 적어도 부분 자율 자동차용 제어 시스템의 구성
CN111199088B (zh) 复现场景数据的方法和装置
US11360870B2 (en) Functional safety compliant self-testing
CN112311773A (zh) 用于智能汽车传感器接口系统的实现方法
US20200372583A1 (en) System for determining driver operating autonomous vehicle to calculate insurance fee and method therefor
US11142212B2 (en) Safety-aware comparator for redundant subsystems in autonomous vehicles
US20220254204A1 (en) Checkpoint-Based Tracing for Monitoring a Robotic System
CN116167237A (zh) 一种驾驶场景仿真方法、装置、电子设备及存储介质
US11580797B2 (en) Systems and methods for monitoring specifications over simulation and test data
JP2021024520A (ja) 運転行動評価装置、運転行動評価方法、及び運転行動評価プログラム
WO2023037576A1 (ja) 車両制御システム及び車両制御方法
CN117493160A (zh) 用于分析测试实施的方法和系统
US20230020415A1 (en) Vehicle control system, vehicle integrated control device, electronic control device, network communication device, vehicle control method and computer readable medium
US20230093126A1 (en) Snapshots for Evaluating Component Operation in Autonomous Vehicles
KR20180078697A (ko) 차량용 소프트웨어 테스트 방법
US20200174461A1 (en) Device and method for measuring, simulating, labeling and evaluating components and systems of vehicles
US20240062592A1 (en) Method and system for performing a virtual test
US20230192087A1 (en) System and method for generating and simulating vehicle events and data
CN116244932B (zh) 对车辆进行安全仿真的方法、电子设备及存储介质
US11971958B1 (en) Autonomous vehicle model training and validation using low-discrepancy sequences
KR102663343B1 (ko) 차량의 이미지 기반 객체 인식 알고리즘 평가 장치 및 방법

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22866911

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 202280050203.4

Country of ref document: CN

WWE Wipo information: entry into national phase

Ref document number: 18580980

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 112022002734

Country of ref document: DE

122 Ep: pct application non-entry in european phase

Ref document number: 22866911

Country of ref document: EP

Kind code of ref document: A1