WO2020235002A1 - 制御支援装置、制御支援方法、及び、制御支援プログラム - Google Patents

制御支援装置、制御支援方法、及び、制御支援プログラム Download PDF

Info

Publication number
WO2020235002A1
WO2020235002A1 PCT/JP2019/020120 JP2019020120W WO2020235002A1 WO 2020235002 A1 WO2020235002 A1 WO 2020235002A1 JP 2019020120 W JP2019020120 W JP 2019020120W WO 2020235002 A1 WO2020235002 A1 WO 2020235002A1
Authority
WO
WIPO (PCT)
Prior art keywords
unit
control
data
inference module
application
Prior art date
Application number
PCT/JP2019/020120
Other languages
English (en)
French (fr)
Inventor
健太郎 澤
Original Assignee
三菱電機株式会社
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 三菱電機株式会社 filed Critical 三菱電機株式会社
Priority to PCT/JP2019/020120 priority Critical patent/WO2020235002A1/ja
Priority to JP2019554432A priority patent/JPWO2020235002A1/ja
Publication of WO2020235002A1 publication Critical patent/WO2020235002A1/ja

Links

Images

Classifications

    • 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 control support device, a control support method, and a control support program.
  • a driving support technology that assists the driver's driving operation such as maintaining the distance between the vehicle in front and / or maintaining the driving lane has been proposed.
  • automatic driving in which the vehicle automatically travels has also been proposed as a driving support technology.
  • the application calculates the driving control target value of the vehicle from the information of surrounding obstacles, the information of other vehicles, the driving lane, and / or the road condition such as the road surface condition, and requests the control of the application.
  • a method of controlling the actuator by an electronic control device (hereinafter, ECU: Electronic Control Unit) is adopted.
  • ECU Electronic Control Unit
  • an application that maintains the inter-vehicle distance detects the speed and / or the inter-vehicle distance of the vehicle in front, and considers the frictional force of the road surface and / or the acceleration / deceleration performance of the vehicle so that the inter-vehicle distance becomes constant.
  • the control target value of the accelerator amount and / or the brake amount is calculated.
  • the application notifies the engine control ECU or the brake control ECU of the control target value.
  • the engine control ECU drives each actuator such as torque control and fuel supply control, and the brake ECU drives the actuator for brake control, so that the operation control of the vehicle according to the control target value becomes possible.
  • control target value calculated by the application is inferred from many conditions such as the behavior of other vehicles, road conditions, and / or climate, so the target value may not be correct. In addition, it is necessary to consider calculation errors due to software abnormalities.
  • Patent Document 1 there is a technique for determining whether or not to control the operation of a vehicle by comparing a control target value from an application, a maximum control amount of a controlled object, and a controllable range including a change amount of the control amount. It is disclosed.
  • the present technology includes a method of notifying the user when it is difficult to control the driving of the vehicle and notifying that the application is being executed with caution, and degeneracy control when the application is continuously out of range.
  • the control support device of the present invention A learning unit that generates an inference module for calculating the control target value of the control of the electronic control device, An application unit having an application that stores the inference module generated by the learning unit and calculates the control target value using the inference module. It is provided with a monitoring unit for determining whether or not the control target value calculated by the application is within the safety range. The learning unit generates a new inference module when the monitoring unit determines that the control target value is not within the safety range. When the learning unit generates the new inference module, the application unit updates the stored inference module with the new inference module.
  • the control target value calculated by the application of the application unit is abnormal, that is, the monitoring unit determines that the control target value is not within the safe range and notifies the determined determination result.
  • the learning unit generates a new inference module based on the data related to the judgment result,
  • the application in the application section uses a new inference module to calculate the control target value. Therefore, according to the control support device of the present invention, the application of the application unit does not output the abnormal control target value again in the driving environment which is the same as or similar to the driving environment in which the abnormality has occurred before.
  • FIG. The block diagram of the control support system provided with the control support device 30 which concerns on Embodiment 1.
  • FIG. The block diagram of the control support device 30 which concerns on Embodiment 1.
  • FIG. The hardware configuration diagram of the control support device 30 which concerns on Embodiment 1.
  • FIG. An example of a data management table according to the first embodiment.
  • the flowchart which shows the operation of the communication control unit 35 which concerns on Embodiment 1.
  • the flowchart which shows the operation of the data management processing of the data management unit 34 which concerns on Embodiment 1.
  • the flowchart which shows the operation of the data notification processing of the data management unit 34 which concerns on Embodiment 1.
  • An example of the notified list 36 according to the first embodiment.
  • the flowchart which shows the operation of the application part 31 which concerns on Embodiment 1.
  • FIG. 6 is a configuration diagram of a control support device 30 according to a modified example of the first embodiment.
  • Embodiment 1 can be applied to any device provided with an electronic control device (hereinafter, ECU: Electronic Control Unit). Further, it can be applied to a moving body including an ECU, that is, the ECU (electronic control device) may be an ECU (electronic control device) of the moving body. However, for convenience of explanation, a case where the present embodiment is applied to an automobile provided with an ECU will be described. Electronic control devices include those that can perform some control using electrical signals.
  • FIG. 1 is a diagram showing a configuration example of a control support system when the control support device 30 according to the first embodiment is applied to an automobile.
  • the control support is to support the control of the ECU, such as calculating the control target value of the ECU.
  • the control support device 30 is connected to the cognitive ECU 21, the electric power steering (hereinafter referred to as EPS: Electric Power Steering) 22, the brake control ECU 23, and the engine control ECU 24 via a communication line.
  • EPS Electric Power Steering
  • the recognition ECU 21 is connected to a sensor 28 that collects information on surrounding obstacles and / or information on other vehicles.
  • the sensor 28 is, as a specific example, a rider, a radar, a sonar, or a camera.
  • actuators 25 to 27 are connected to the EPS 22, the brake control ECU 23, and the engine control ECU 24, respectively.
  • FIG. 2 is a configuration example of the control support device 30.
  • the control support device 30 includes an application unit 31, a monitoring unit 32, an electronic control unit 33, a data management unit 34, a communication control unit 35, and a learning unit 41.
  • the arrow in the figure indicates that data can flow in the direction of the arrow while the control support device 30 is being executed.
  • the application possessed by the application unit 31 is called a registered application.
  • Part or all of the data contained in the data management table is also called table data.
  • Part or all of the data included in the notified list 36 is also referred to as list data.
  • the application unit 31 has an application that stores the inference module generated by the learning unit 41 and calculates the control target value using the inference module.
  • the application unit 31 updates the stored inference module with the new inference module.
  • the application unit 31 The control target value may be calculated based on the table data.
  • the control target value may be calculated when the table data is received from the data management unit 34.
  • the monitoring unit 32 Judge whether the control target value calculated by the application is within the safe range, The data management unit 34 may be notified of the determination result of determining whether or not it is within the safe range. The monitoring unit 32 may determine whether or not it is within the safe range based on the table data.
  • the electronic control unit 33 Control the ECU (electronic control unit) Control is determined based on the control target value calculated by the application.
  • the data management unit 34 The application has a data management table that stores data for calculating control target values as table data. Notify the application unit 31 of the table data.
  • the data management unit 34 manages the data management table for each application included in the application unit 31.
  • the data management table may store a data notification cycle, which is a cycle in which the application requests notification of table data.
  • the data management unit 34 may notify the application unit 31 of the table data according to the data notification cycle.
  • the data management unit 34 It may have a notified list 36 that stores the information of the table data and the determination result of the monitoring unit 32.
  • the information of the table data notified to the application unit 31 and the determination result received from the monitoring unit 32 may be stored in the notified list 36 as list data.
  • the list data may be notified to the learning unit 41.
  • the data management unit 34 may update the data management table based on the received message.
  • the communication control unit 35 Receive the message as a received message, When the received message is received, if the destination of the received message is the control support device 30, the data management unit 34 is notified of the received message. When the destination of the received message is the control support device 30, the case where the destination of the received message is a component of the control support device 30 is included.
  • the learning unit 41 generates an inference module for calculating a control target value for control of an ECU (electronic control device).
  • the learning unit 41 generates a new inference module when the monitoring unit 32 determines that the control target value is not within the safe range.
  • the learning unit 41 may use the list data received from the data management unit 34 as the control data for generating a new inference module.
  • FIG. 3 is an example of H / W (hardware) / S / W (software) configuration of the control support device 30 according to the present embodiment.
  • the control support device 30 is composed of the H / W 15 shown in this figure.
  • the processor 11 reads and executes the program stored in the memory 12 in the processing of the application unit 31, the monitoring unit 32, the electronic control unit 33, the data management unit 34, the communication control unit 35, and the learning unit 41. ..
  • the H / W 15 shows the hardware configuration of the first embodiment, and is composed of a processor 11, a memory 12, an auxiliary storage device 13, and a communication interface 14.
  • the processor 11 is a processing device that executes a control support program, an application of the application unit 31, an OS (Operating System), and the like.
  • the processing device may be referred to as an IC (Integrated Circuit), and the processor 11 is, for example, a CPU (Central Processing Unit), a DSP (Digital Signal Processor), and a GPU (Graphics Processing Unit).
  • the processor 11 is connected to the memory 12, temporarily stores data necessary for calculation and / or stores the data, and reads and executes a program stored in the memory 12.
  • the processor 11 is connected to the communication interface 14, and controls the communication interface 14 according to an instruction from the processor 11.
  • the control support device 30 in this figure includes only one processor 11, but the control support device 30 may include a plurality of processors that replace the processor 11. These plurality of processors share the execution of programs and the like.
  • the memory 12 is a storage device that temporarily stores data, and functions as a main memory used as a work area of the processor 11.
  • the memory 12 is a RAM (Random Access Memory) such as a SRAM (Static Random Access Memory) or a DRAM (Dynamic Random Access Memory).
  • the memory 12 holds the calculation result of the processor 11.
  • the auxiliary storage device 13 stores a data management table, a notified list 36, various programs executed by the processor 11, S / W 16, data used when executing each program, and the like.
  • the auxiliary storage device 13 is an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
  • the auxiliary storage device 13 includes a memory card, an SD (Secure Digital, registered trademark) memory card, a CF (Compact Flash), a NAND flash, a flexible disk, an optical disk, a compact disk, a Blu-ray (registered trademark) disk, or a DVD (registered trademark). It may be a portable recording medium such as Digital Versail Disc).
  • the S / W 16 shows the software configuration of the first embodiment, and includes an application unit 31, a monitoring unit 32, an electronic control unit 33, a data management unit 34, a communication control unit 35, a learning unit 41, and an OS 19. Consists of.
  • the OS 19 is loaded from the auxiliary storage device 13 by the processor 11, expanded into the memory 12, and executed on the processor 11.
  • the OS 19 may be any one compatible with the processor 11, such as Linux (registered trademark) or Windows (registered trademark).
  • the OS 19 and the S / W 16 may be stored in the memory 12.
  • the operation procedure of the control support device 30 corresponds to the control support method. Further, the program that realizes the operation of the control support device 30 corresponds to the control support program.
  • the application unit 31 stores the inference module before executing the operation shown below.
  • the inference module Functions used by registered applications to calculate control target values, etc. It may be generated by any method. Further, the inference module stored in the application unit 31 at this time may be one generated by the learning unit 41 or may be generated by another means.
  • the application unit 31 may store the inference module for each registered application.
  • the application unit 31 and the monitoring unit 32 notify the data management unit 34 of the data type and the data notification cycle before executing the operation shown below.
  • the data type is the type of data required when the registered application calculates the control target value.
  • the data notification cycle is a cycle in which the registration application requests notification of data.
  • the data management unit 34 generates a data management table for each registered application based on information from the application unit 31, the monitoring unit 32, and the like.
  • the data management unit 34 does not have to generate a data management table based on the information from the monitoring unit 32.
  • FIG. 4 is a specific example of the data management table.
  • the data management unit 34 registers the data notification cycle and the data type in the data management table for each registration application before executing the operation shown below. ..
  • the data management unit 34 updates the data in the data management table when the data is received from the communication control unit 35.
  • FIG. 5 is an example of a flowchart showing the operation of the communication control unit 35. The order of processing shown in this flowchart may be changed as appropriate.
  • Step S101 Destination determination process
  • the communication control unit 35 determines whether or not the destination of the received message is the control support device 30.
  • the received message is a message received by the communication control unit 35 from the sensor or the ECU.
  • the communication control unit 35 If the destination of the received message is the control support device 30, the process proceeds to step S102. In other cases, the process proceeds to step S103.
  • Step S102 Data notification process
  • the communication control unit 35 Get the data by removing the header etc. from the received message, Notify the data management unit 34 of the acquired data.
  • Step S103 Message discard processing
  • the communication control unit 35 discards the received message.
  • FIG. 6 is an example of a flowchart showing the operation of the data management process of the data management unit 34. The order of processing shown in this flowchart may be changed as appropriate.
  • Step S201 Received data analysis process
  • the data management unit 34 The received data received from the communication control unit 35 is analyzed and Analyze the data type of the received data.
  • Step S202 Match determination process
  • the data management unit 34 determines whether or not the data type of the received data matches any of the data types registered in any of the data management tables. The data management unit 34 If they match, the process proceeds to step S203. Otherwise, the process proceeds to step S204.
  • Step S203 Update process
  • the data management unit 34 updates the values corresponding to the data types of all the data management tables having the same data types as the data types of the received data.
  • the data management unit 34 records the latest data by overwriting the data.
  • Step S204 Data destruction process
  • the data management unit 34 discards the received data.
  • FIG. 7 is an example of a flowchart showing the operation of the data notification process of the data management unit 34 when the data management unit 34 registers the data type and the data notification cycle in the data management table. The order of processing shown in this flowchart may be changed as appropriate.
  • Step S301 Timer start processing
  • the data management unit 34 Prepare one data notification cycle timer for one data management table, Set the data notification cycle timers based on the data notification cycle of the data management table. Starts all data notification cycle timers.
  • Step S302 Timer determination process
  • the data management unit 34 determines whether or not any of the data notification cycle timers has expired.
  • the data management unit 34 When the data notification cycle timer has expired, the process proceeds to step S303. In other cases, the process of this step is repeated.
  • the data management table corresponding to the expired data notification cycle timer is referred to as a target data management table.
  • Step S303 Reset process
  • the data management unit 34 resets the expired data notification cycle timer.
  • Step S304 Update confirmation process
  • the data management unit 34 confirms whether or not all the values of the data types registered in the target data management table are updated to the latest information.
  • the data management unit 34 If all the data type values registered in the target data management table are updated to the latest information, the process proceeds to step S305. Otherwise, the process proceeds to step S307.
  • the data corresponding to all the data types of the target data management table and all the values corresponding to the data types is called the target table data.
  • the target table data may include information other than these.
  • Step S305 Identifier addition process
  • the data management unit 34 generates a data identifier and adds it to the target table data.
  • the data identifier may be any data that can identify the data, and as a specific example, it is a sequence number or information at a time when the data is notified to the application.
  • the target table data to which the data identifier is added may be referred to as the target table data.
  • Step S306 Data notification processing
  • the data management unit 34 notifies the application unit 31 of the target table data to which the data identifier is added.
  • the data management unit 34 notifies the application unit 31 so that the application corresponding to the target data management table can be identified.
  • Step S307 Data notification processing
  • the data management unit 34 notifies the monitoring unit 32 of the target table data to which the data identifier is added.
  • Step S308 Missing information notification processing
  • the data management unit 34 notifies the application unit 31 of the missing information indicating that the data is missing.
  • the data management unit 34 notifies the application unit 31 so that the application corresponding to the target data management table can be identified.
  • Step S309 Data storage process
  • the data management unit 34 stores the information notified to the application unit 31 in the notified list 36.
  • the information of the data may be the information itself notified to the application unit 31, or may be another information corresponding to the information notified to the application unit 31.
  • the term information may be synonymous with the term data.
  • FIG. 8 is a specific example of the notified list 36.
  • the notified list 36 is composed of an identifier and data.
  • the identifier of this example is information on the time when the data management unit 34 notifies the application of the data.
  • the data of this example is composed of the information notified by the data management unit 34 to the application unit 31, the control target value received from the application unit 31, and the determination result received from the monitoring unit 32.
  • FIG. 9 is an example of a flowchart showing the operation of the application unit 31 when the application unit 31 receives the target table data from the data management unit 34. The order of processing shown in this flowchart may be changed as appropriate.
  • Step S401 Data acquisition process
  • the application unit 31 Receive the target table data from the data management unit 34 Acquires the data identifier attached to the target table data.
  • Step S402 Inference processing
  • the application unit 31 executes inference by using the value of the target table data and the stored inference module. Calculate the control target value.
  • the control target value calculated here is called a target control target value.
  • Step S403 Identifier addition process
  • the application unit 31 adds the data identifier acquired in step S401 to the control target value generated in step S402.
  • the control target value to which the data identifier is added is sometimes called the control target value.
  • Step S404 Transmission process
  • the application unit 31 transmits the control target value to which the data identifier is added to the monitoring unit 32.
  • Step S405 Transmission process
  • the application unit 31 transmits the control target value to which the data identifier is added to the data management unit 34.
  • the data management unit 34 Receive the control target value from the application unit 31 and The control target value is stored in the notified list 36. At this time, the data management unit 34 stores the data in a location corresponding to the data identifier added to the control target value.
  • FIG. 10 is an example of a flowchart showing the operation of the monitoring unit 32 when the monitoring unit 32 receives the target table data from the data management unit 34.
  • the order of processing shown in this flowchart may be changed as appropriate.
  • the flowchart of this figure includes a process executed when the data management unit 34 receives data from the monitoring unit 32.
  • Step S5011 Data acquisition process
  • the monitoring unit 32 Receive the target table data from the data management unit 34 Acquires the data identifier attached to the target table data.
  • Step S502 Normal range calculation process
  • the monitoring unit 32 calculates the normal range of the control target value based on the value of the target table data.
  • the monitoring unit 32 may calculate the normal range of the control target value by any method.
  • the method of calculating the normal range of the control target value realizes safe driving from the speed limit based on the road traffic regulations, the vehicle speed based on the distance to other vehicles and / or obstacles, and the like. It is a method of calculating the range of the control target value of the accelerator amount and / or the brake amount to be used.
  • the monitoring unit 32 calculates a lateral acceleration that does not cause skidding from the steering angle of the steering wheel, the speed of the vehicle, the road surface condition, and the radius of the curve, and accelerates the accelerator.
  • the range of the amount, the amount of braking, and the steering angle may be defined as a normal range. Even when the monitoring unit 32 uses another method for calculating the normal range of the control target value, the effect of the present embodiment is not impaired.
  • Step S503 Standby process
  • the monitoring unit 32 waits for receiving the target control target value from the application unit 31.
  • the monitoring unit 32 When the target control target value is received from the application unit 31, the process proceeds to step S504. In other cases, the process of this step is repeated.
  • Step S504 Identifier acquisition process
  • the monitoring unit 32 acquires the data identifier added to the target control target value.
  • Step S505 Identifier determination process
  • the monitoring unit 32 determines whether the data identifier acquired in step S501 and the data identifier acquired in step S504 match. The monitoring unit 32 If the data identifiers match, the process proceeds to step S506. In other cases, the process shown in this flowchart is terminated.
  • Step S506 Control target value determination process
  • the monitoring unit 32 determines whether or not the target control target value received in step S503 is within the normal range of the target control target value calculated in step S502. The monitoring unit 32 If the target control target value is within the normal range, the process proceeds to step S507. Otherwise, the process proceeds to step S508.
  • Step S507 Control target value notification process
  • the monitoring unit 32 notifies the electronic control unit 33 of the target control target value.
  • Step S508 Identifier addition process
  • the monitoring unit 32 adds the data identifier acquired in step S501 to the determination result determined in step S506. This determination result is called a target determination result.
  • the target determination result to which the data identifier is added may be called the target determination result.
  • Step S509 Transmission process
  • the monitoring unit 32 notifies the data management unit 34 of the target determination result to which the data identifier is added.
  • the data management unit 34 stores the target determination result received from the monitoring unit 32 in the notified list 36. At this time, the data management unit 34 stores the target determination result in a place corresponding to the data identifier added to the target determination result.
  • FIG. 11 is an example of a flowchart showing the operation of the electronic control unit 33 when the electronic control unit 33 receives the target control target value from the monitoring unit 32.
  • the order of processing shown in this flowchart may be changed as appropriate.
  • Step S601 Control amount calculation process
  • the electronic control unit 33 calculates the control amount required for the control of the ECU based on the target control target value received from the monitoring unit 32.
  • Step S602 Control amount transmission process
  • the electronic control unit 33 transmits the control amount calculated in step S601 to the ECU.
  • the learning operation is an operation related to learning of the inference module by the learning unit 41.
  • Learning an inference module is to generate a new inference module.
  • the new inference module is typically an inference module different from the existing inference module, but may be the same inference module as the existing inference module.
  • the learning unit 41 generates a new inference module when the target determination result is not within the normal range.
  • FIG. 12 is an example of a flowchart showing the learning operation of the control support device 30.
  • Step S701 Transmission process
  • the data management unit 34 transmits the notified list 36 to the learning unit 41.
  • the data management unit 34 may transmit only the data corresponding to the target determination result to the learning unit 41.
  • the data management unit 34 holds the data identifier, the data input by the application unit 31, the control target value, and the determination result in the notified list 36.
  • Step S702 Inference module generation process
  • the learning unit 41 Based on the data included in the received notified list 36, a new inference module of the application unit 31 is generated. A new inference module is transmitted to the application unit 31.
  • the application unit 31 Receive the inference module and Update the memorized inference module with the new inference module that received it.
  • control support device 30 updates the inference module in a safe situation such as when the car is stopped.
  • the data management unit 34 feeds back the input / output of the application of the application unit 31 and the determination result for the output of the application to the learning unit 41.
  • the learning unit 41 generates a new inference module based on the feedback, and creates a new inference module.
  • the application of the application unit 31 calculates the control target value by using the new inference module.
  • the learning unit 41 when calculating the control target value in the irregular road environment that is not considered at the time of the first learning, The learning unit 41 additionally learns to generate a new inference module, When the application of the application unit 31 calculates the control target value using the new inference module, the control target value within the normal range can be output.
  • the application of the application unit 31 calculates the control target value of the accelerator amount in the road surface state having a low friction coefficient in the same manner as the road surface state having a high friction coefficient, which is a normal road surface state.
  • the monitoring unit 32 may determine that the calculation result of the application is out of the safe range.
  • the learning unit 41 learns using the data related to the determination result determined by the monitoring unit 32 to be out of the safe range, that is, generates a new inference module in consideration of the road surface condition having a low friction coefficient.
  • the application of the application unit 31 can calculate the control target value within the normal range in the road surface state where the friction coefficient is low by calculating the control target value using the new inference module.
  • the data management unit 34 temporarily buffers the received data and collectively transmits the received data according to the data notification cycle.
  • Each application of the application unit 31 does not need to confirm the data cycle of the sensor and / or the ECU and wait for data reception.
  • FIG. 13 is a configuration example of the control support device 30 in this modified example. As shown in this figure, the control support device 30 is connected to the learning device 40. The learning device 40 may be arranged outside the device provided with the control support device 30.
  • step S701 the data management unit 34 according to this modification transmits the notified list 36 to the learning unit 41 via the communication control unit 35.
  • step S702 the application unit 31 according to this modification receives the inference module from the learning unit 41 via the communication control unit 35.
  • the control support device 30 of this modification is A control support device 30 that communicates with a learning device 40 including a learning unit 41 that generates an inference module for calculating a control target value for control of an ECU (electronic control device).
  • An application unit 31 having an application that stores an inference module received from the learning unit 41 and calculates a control target value using the inference module.
  • a monitoring unit 32 that determines whether or not the control target value calculated by the application is within the safe range and notifies the determined determination result.
  • the monitoring unit 32 includes a data management unit 34 that transmits the determination result of the monitoring unit 32 and the control data corresponding to the control target value to the learning unit 41.
  • the application unit 31 receives a new inference module from the learning unit 41, the application unit 31 updates the stored inference module with the new inference module.
  • the control support device 30 does not have to include the electronic control unit 33.
  • the monitoring unit 32 notifies the external electronic control unit 33 of the target control target value.
  • the data management unit 34 may generate one data management table corresponding to a plurality of applications. As a specific example, the data management unit 34 generates one data management table corresponding to a plurality of applications having duplicate data types.
  • the data management unit 34 Without preparing one data notification cycle timer for one data management table, One timer corresponding to a plurality of data management tables may be prepared. As a specific example, the data management unit 34 prepares one timer for a plurality of data management tables having the same data notification cycle. The data management unit 34 may prepare one timer corresponding to a plurality of different data notification cycles.
  • step S308 the data management unit 34 may notify the target table data to which the data identifier is added. In this modification, the data management unit 34 executes step S305 before executing step S308.
  • each functional component is realized by software has been described.
  • each functional component may be realized by hardware.
  • control support device 30 When each functional component is realized by hardware, the control support device 30 includes an electronic circuit 17 instead of the processor 11. Alternatively, although not shown, the control support device 30 includes an electronic circuit 17 in place of the processor 11, the memory 12, and the auxiliary storage device 13.
  • the electronic circuit 17 is a dedicated electronic circuit that realizes the functions of each functional component (and the memory 12 and the auxiliary storage device 13). Electronic circuits are sometimes called processing circuits.
  • the electronic circuit 17 is assumed to be a single circuit, a composite circuit, a programmed processor, a parallel programmed processor, a logic IC, a GA (Gate Array), an ASIC (Application Specific Integrated Circuit), or an FPGA (Field-Programmable Gate Array). Will be done.
  • Each functional component may be realized by one electronic circuit 17, or each functional component may be distributed and realized by a plurality of electronic circuits 17.
  • the processor 11, the memory 12, the auxiliary storage device 13, and the electronic circuit 17 described above are collectively referred to as a "processing circuit Lee". That is, the function of each functional component is realized by the processing circuit.
  • the embodiment is not limited to the one shown in the first embodiment, and various changes can be made as needed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Human Computer Interaction (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)
  • Traffic Control Systems (AREA)

Abstract

制御支援装置(30)は、電子制御装置の制御の制御目標値を算出するための推論モジュールを生成する学習部(41)と、推論モジュールを記憶し、推論モジュールを使用して制御目標値を算出するアプリケーションを有するアプリケーション部(31)と、アプリケーションが算出した制御目標値が安全範囲内であるか否かを判定する監視部(32)とを備え、学習部(41)は、監視部(32)が制御目標値を安全範囲内でないと判定した場合に、新たな推論モジュールを生成し、アプリケーション部(31)は、学習部(41)が新たな推論モジュールを生成した場合に、記憶している推論モジュールを新たな推論モジュールに更新する。

Description

制御支援装置、制御支援方法、及び、制御支援プログラム
 この発明は、制御支援装置、制御支援方法、及び、制御支援プログラムに関する。
 安全な運転を実現するために、前方車両との車間距離維持、及び/又は、走行レーンの維持等の運転者の運転操作を補助する運転支援技術が提案されている。また、運転操作の補助に加えて、車両が自動で走行を行う自動運転も運転支援技術として提案されている。
 運転支援技術では、アプリケーションが、周囲の障害物の情報、他車両の情報、走行レーン、及び/又は、路面状態等の道路状況等から車両の運転制御目標値を算出し、アプリケーションの制御要求を受けて電子制御装置(以下、ECU:Electric Control Unit)によりアクチュエータを制御する方法が取られている。例えば、車間距離維持するアプリケーションは、前方車両の速度、及び/又は、車間距離を検出し、路面の摩擦力、及び/又は、車両の加減速性能を考慮して、車間距離が一定になるようにアクセル量、及び/又は、ブレーキ量の制御目標値を算出する。アプリケーションは、エンジン制御ECUもしくはブレーキ制御ECUに対して制御目標値を通知する。エンジン制御ECUは、トルク制御や燃料供給制御等の各アクチュエータを駆動し、ブレーキECUは、ブレーキ制御用のアクチュエータを駆動することにより、制御目標値に応じた車両の運転制御が可能となる。
 しかし、アプリケーションが算出する制御目標値は、他車の挙動、道路状況、及び/又は、気候等多数の条件から推論されるため、目標値が正しくない可能性がある。また、ソフトウェアの異常による演算誤り等も考慮する必要がある。
 特許文献1では、アプリケーションからの制御目標値と制御対象の最大制御量、及び、制御量の変化量を含む制御可能範囲を比較して、車両の運転制御を行うか否かを決定する技術が開示されている。本技術には、車両の運転制御が困難な場合に、ユーザに通知しアプリケーションの要注意実行中であることを伝える方法、並びに、連続して範囲外の場合の縮退制御が含まれる。
特開2012-096618号公報
 特許文献1の技術によれば、
 アプリケーションが算出した制御目標値が異常である場合に、ユーザへの通知や縮退制御によりその瞬間の安全な走行を実現することができるが、
 以前に異常が発生した走行環境と同一又は類似である走行環境において、アプリケーションが異常な制御目標値を再び出力するという課題がある。
 この発明の制御支援装置は、
 電子制御装置の制御の制御目標値を算出するための推論モジュールを生成する学習部と、
 前記学習部が生成した前記推論モジュールを記憶し、前記推論モジュールを使用して前記制御目標値を算出するアプリケーションを有するアプリケーション部と、
 前記アプリケーションが算出した前記制御目標値が安全範囲内であるか否かを判定する監視部と
を備え、
 前記学習部は、前記監視部が前記制御目標値を前記安全範囲内でないと判定した場合に、新たな推論モジュールを生成し、
 前記アプリケーション部は、前記学習部が前記新たな推論モジュールを生成した場合に、記憶している前記推論モジュールを前記新たな推論モジュールに更新する。
 本発明の制御支援装置によれば、アプリケーション部のアプリケーションが算出した制御目標値が異常である場合、即ち、監視部が制御目標値を安全範囲内でないと判定し、判定した判定結果を通知した場合に、
 学習部が、判定結果に関するデータに基づいて新たな推論モジュールを生成し、
 アプリケーション部のアプリケーションが、新たな推論モジュールを使用して制御目標値を算出する。
 従って、本発明の制御支援装置によれば、以前に異常が発生した走行環境と同一又は類似である走行環境において、アプリケーション部のアプリケーションが異常な制御目標値を再び出力することがなくなる。
実施の形態1に係る制御支援装置30を備える制御支援システムの構成図。 実施の形態1に係る制御支援装置30の構成図。 実施の形態1に係る制御支援装置30のハードウェア構成図。 実施の形態1に係るデータ管理テーブルの例。 実施の形態1に係る通信制御部35の動作を示すフローチャート。 実施の形態1に係るデータ管理部34のデータ管理処理の動作を示すフローチャート。 実施の形態1に係るデータ管理部34のデータ通知処理の動作を示すフローチャート。 実施の形態1に係る通知済みリスト36の例。 実施の形態1に係るアプリケーション部31の動作を示すフローチャート。 実施の形態1に係る監視部32の動作を示すフローチャート。 実施の形態1に係る電子制御部33の動作を示すフローチャート。 実施の形態1に係る学習動作を示すフローチャート。 実施の形態1の変形例に係る制御支援装置30の構成図。
 実施の形態1.
 以下、本実施の形態について、図面を参照しながら詳細に説明する。
 本実施の形態は、電子制御装置(以下、ECU:Electric Control Unit)を備える任意の機器に適用することができる。また、ECUを備える移動体に適用することもできる、即ち、ECU(電子制御装置)は、移動体のECU(電子制御装置)であっても良い。しかし、説明の便宜上、ECUを備える自動車に本実施の形態を適用する場合について説明する。
 電子制御装置には、電気信号を利用して何らかの制御をすることができるものが含まれる。
***構成の説明***
 図1は、実施の形態1に係る制御支援装置30を自動車に適用した場合における制御支援システムの構成例を示す図である。
 制御支援とは、ECUの制御目標値を算出する等、ECUの制御に関する支援をすることである。
 制御支援装置30は、通信線を介して、認知ECU21と、電動パワーステアリング(以下、EPS:Electric Power Steering)22と、ブレーキ制御ECU23と、エンジン制御ECU24と接続している。
 認知ECU21には、周囲の障害物情報、及び/又は、他車両の情報等を収集するセンサ28が接続されている。
 センサ28は、具体例としては、ライダー、レーダ、ソナー、又は、カメラである。
 また、EPS22と、ブレーキ制御ECU23と、エンジン制御ECU24とには、それぞれアクチュエータ25~27が接続される。
 図2は、制御支援装置30の構成例である。
 本図に示すように、制御支援装置30は、アプリケーション部31と、監視部32と、電子制御部33と、データ管理部34と、通信制御部35と、学習部41とから構成される。
 図中の矢印は、制御支援装置30の実行中に矢先の方向へデータが流れ得ることを表す。
 アプリケーション部31が有するアプリケーションを、登録アプリケーションと呼ぶ。
 データ管理テーブルに含まれるデータの一部又は全部を、テーブルデータとも呼ぶ。
 通知済みリスト36に含まれるデータの一部又は全部を、リストデータとも呼ぶ。
 アプリケーション部31は、学習部41が生成した推論モジュールを記憶し、推論モジュールを使用して制御目標値を算出するアプリケーションを有する。
 アプリケーション部31は、学習部41が新たな推論モジュールを生成した場合に、記憶している推論モジュールを新たな推論モジュールに更新する。
 アプリケーション部31は、
 テーブルデータに基づいて制御目標値を算出しても良く、
 データ管理部34からテーブルデータを受信した場合に制御目標値を算出しても良い。
 監視部32は、
 アプリケーションが算出した制御目標値が安全範囲内であるか否かを判定し、
 安全範囲内であるか否かを判定した判定結果をデータ管理部34に通知しても良い。
 監視部32は、テーブルデータに基づいて安全範囲内であるか否かを判定しても良い。
 電子制御部33は、
 ECU(電子制御装置)を制御し、
 アプリケーションが算出した制御目標値に基づいて制御を決定する。
 データ管理部34は、
 アプリケーションが制御目標値を算出するためのデータをテーブルデータとして記憶しているデータ管理テーブルを有し、
 テーブルデータをアプリケーション部31に通知する。
 データ管理部34は、データ管理テーブルをアプリケーション部31が有するアプリケーション毎に管理している。
 データ管理テーブルは、アプリケーションがテーブルデータの通知を要求する周期であるデータ通知周期を記憶していても良く、
 データ管理部34は、データ通知周期に応じてアプリケーション部31にテーブルデータを通知しても良い。
 データ管理部34は、
 テーブルデータの情報と、監視部32の判定結果とを記憶する通知済みリスト36を有しても良く、
 アプリケーション部31に通知したテーブルデータの情報と、監視部32から受信した判定結果とを、リストデータとして通知済みリスト36に記憶させても良く、
 リストデータを学習部41に通知しても良い。
 データ管理部34は、通信制御部35から受信メッセージを受信した場合に、受信メッセージに基づいてデータ管理テーブルを更新しても良い。
 通信制御部35は、
 メッセージを受信メッセージとして受信し、
 受信メッセージを受信したとき、受信メッセージの宛先が制御支援装置30である場合に、データ管理部34に受信メッセージを通知する。
 受信メッセージの宛先が制御支援装置30である場合には、受信メッセージの宛先が制御支援装置30の構成要素である場合が含まれる。
 学習部41は、ECU(電子制御装置)の制御の制御目標値を算出するための推論モジュールを生成する。
 学習部41は、監視部32が制御目標値を安全範囲内でないと判定した場合に、新たな推論モジュールを生成する。
 学習部41は、新たな推論モジュールを生成するための制御データとして、データ管理部34から受信したリストデータを使用しても良い。
 図3は、本実施の形態に係る制御支援装置30のH/W(ハードウェア)・S/W(ソフトウェア)構成例である。
 制御支援装置30は、本図に示すH/W15から構成される。
 アプリケーション部31と、監視部32と、電子制御部33と、データ管理部34と、通信制御部35と、学習部41との処理は、メモリ12に格納されたプログラムをプロセッサ11が読み出し実行する。
 H/W15は、実施の形態1のハードウェア構成を示し、プロセッサ11と、メモリ12と、補助記憶装置13と、通信インタフェース14とから構成される。
 プロセッサ11は、制御支援プログラムと、アプリケーション部31のアプリケーションと、OS(Operating System)と等を実行するプロセッシング装置である。プロセッシング装置は、IC(Integrated Circuit)と呼ぶこともあり、プロセッサ11は、具体例としては、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphics Processing Unit)である。
 プロセッサ11は、メモリ12と接続されており、演算に必要なデータの一時記憶、及び/又は、データの保存を行い、メモリ12に格納されたプログラムを読み出して実行する。
 プロセッサ11は、通信インタフェース14と接続され、プロセッサ11からの指示により、通信インタフェース14の制御を行う。
 本図の制御支援装置30は、プロセッサ11を1つだけ備えているが、制御支援装置30は、プロセッサ11を代替する複数のプロセッサを備えていても良い。これら複数のプロセッサは、プログラムの実行等を分担する。
 メモリ12は、データを一時的に記憶する記憶装置であり、プロセッサ11の作業領域として使用されるメインメモリとして機能する。メモリ12は、具体例としては、SRAM(Static Random Access Memory)、DRAM(Dynamic Random Access Memory)等のRAM(Random Access Memory)である。メモリ12は、プロセッサ11の演算結果を保持する。
 補助記憶装置13は、データ管理テーブルと、通知済みリスト36と、プロセッサ11によって実行される各種プログラムと、S/W16と、各プログラムの実行時に使用されるデータと等を記憶する。補助記憶装置13は、具体例としては、HDD(Hard Disk Drive)又は、SSD(Solid State Drive)である。また、補助記憶装置13は、メモリカード、SD(Secure Digital、登録商標)メモリカード、CF(Compact Flash)、NANDフラッシュ、フレキシブルディスク、光ディスク、コンパクトディスク、ブルーレイ(登録商標)ディスク、又は、DVD(Digital Versatile Disk)等の可搬記録媒体であってもよい。
 S/W16は、実施の形態1のソフトウェア構成を示し、アプリケーション部31と、監視部32と、電子制御部33と、データ管理部34と、通信制御部35と、学習部41と、OS19とから構成される。
 OS19は、プロセッサ11によって補助記憶装置13からロードされ、メモリ12に展開され、プロセッサ11上で実行される。OS19は、具体例としては、Linux(登録商標)又はWindows(登録商標)等、プロセッサ11に適合する任意のものでよい。なお、OS19、及び、S/W16は、メモリ12に記憶されていてもよい。
***動作の説明***
 制御支援装置30の動作手順は、制御支援方法に相当する。また、制御支援装置30の動作を実現するプログラムは、制御支援プログラムに相当する。
 制御支援装置30がデータを収集し、車両制御を行う場合について説明する。
 アプリケーション部31は、以下に示す動作を実行する前に、推論モジュールを記憶する。
 推論モジュールは、
 登録アプリケーションが制御目標値を算出するために使用する関数等であり、
 任意の方法によって生成されたものであって良い。
 また、この際アプリケーション部31が記憶する推論モジュールは、学習部41が生成したものであっても良く、別の手段によって生成されたものであっても良い。
 アプリケーション部31は、登録アプリケーション毎に、推論モジュールを記憶しても良い。
 アプリケーション部31と、監視部32とは、以下に示す動作を実行する前に、データ管理部34に対して、データ種別と、データ通知周期とを通知する。
 データ種別は、登録アプリケーションが制御目標値を算出する際に必要なデータの種別のことである。
 データ通知周期は、登録アプリケーションがデータの通知を要求する周期のことである。
 データ管理部34は、アプリケーション部31と、監視部32と等からの情報に基づいて、登録アプリケーション毎に、データ管理テーブルを生成する。
 データ管理部34は、監視部32からの情報に基づいてデータ管理テーブルを生成しなくても良い。
 図4は、データ管理テーブルの具体例である。データ管理部34は、データ管理テーブルとして本図に示すものを採用する場合、以下に示す動作を実行する前に、登録アプリケーション毎に、データ通知周期と、データ種別とをデータ管理テーブルに登録する。
 データ管理部34は、データ管理テーブルのデータを、通信制御部35からデータを受信した際に更新する。
***通信制御部35の動作の説明***
 図5は、通信制御部35の動作を示すフローチャートの例である。
 本フローチャートに示す処理の順序は、適宜変更しても良い。
(ステップS101:宛先判定処理)
 通信制御部35は、センサ又はECUから受信メッセージを受信した場合、受信メッセージの宛先が制御支援装置30であるか否かを判定する。
 受信メッセージは、通信制御部35がセンサ又はECUから受信したメッセージのことである。
 通信制御部35は、
 受信メッセージの宛先が制御支援装置30である場合、ステップS102に進み、
 それ以外の場合、ステップS103に進む。
(ステップS102:データ通知処理)
 通信制御部35は、
 受信メッセージからヘッダ等を取り除いてデータを取得し、
 取得したデータを、データ管理部34に通知する。
(ステップS103:メッセージ破棄処理)
 通信制御部35は、受信メッセージを破棄する。
***データ管理部34のデータ管理処理の動作の説明***
 図6は、データ管理部34のデータ管理処理の動作を示すフローチャートの例である。
 本フローチャートに示す処理の順序は、適宜変更しても良い。
(ステップS201:受信データ解析処理)
 データ管理部34は、
 通信制御部35から受信した受信データを解析し、
 受信データのデータ種別を解析する。
(ステップS202:一致判定処理)
 データ管理部34は、受信データのデータ種別が、いずれかのデータ管理テーブルに登録されたいずれかのデータ種別と一致するか否かを判定する。
 データ管理部34は、
 一致する場合、ステップS203に進み、
 それ以外の場合、ステップS204に進む。
(ステップS203:更新処理)
 データ管理部34は、受信データのデータ種別と同じデータ種別を有する全てのデータ管理テーブルの、前記データ種別に対応する値を更新する。
 データ管理部34は、既にデータ管理テーブルのデータ種別の値が入力されていた場合、データを上書きすることにより最新のデータを記録する。
(ステップS204:データ破棄処理)
 データ管理部34は、受信データを破棄する。
***データ管理部34のデータ通知処理の動作の説明***
 図7は、データ管理部34がデータ種別と、データ通知周期とをデータ管理テーブルに登録した場合における、データ管理部34のデータ通知処理の動作を示すフローチャートの例である。
 本フローチャートに示す処理の順序は、適宜変更しても良い。
(ステップS301:タイマ開始処理)
 データ管理部34は、
 1のデータ管理テーブルにつき1のデータ通知周期タイマを用意し、
 データ管理テーブルのデータ通知周期に基づいてデータ通知周期タイマをそれぞれ設定し、
 全てのデータ通知周期タイマを開始する。
(ステップS302:タイマ判定処理)
 データ管理部34は、いずれかのデータ通知周期タイマが満了したか否かを判定する。
 データ管理部34は、
 データ通知周期タイマが満了した場合、ステップS303に進み、
 それ以外の場合、本ステップの処理を繰り返す。
 本フローチャートの説明において、満了したデータ通知周期タイマに対応するデータ管理テーブルを、対象データ管理テーブルと呼ぶ。
(ステップS303:リセット処理)
 データ管理部34は、満了したデータ通知周期タイマをリセットする。
(ステップS304:更新確認処理)
 データ管理部34は、対象データ管理テーブルに登録されているデータ種別の値全てが最新の情報に更新されているか否かを確認する。
 データ管理部34は、
 対象データ管理テーブルに登録されているデータ種別の値全てが最新の情報に更新されている場合、ステップS305に進み、
 それ以外の場合、ステップS307に進む。
 対象データ管理テーブルの全てのデータ種別と、データ種別に対応する値全てとに対応するデータを、対象テーブルデータと呼ぶ。なお、対象テーブルデータには、これら以外の情報が含まれていても良い。
(ステップS305:識別子付加処理)
 データ管理部34は、データ識別子を生成し、対象テーブルデータに付加する。
 データ識別子は、データを識別できる任意のものであって良く、具体例としては、シーケンス番号又はアプリケーションにデータを通知した時刻の情報である。
 データ識別子を付加された対象テーブルデータを、対象テーブルデータと呼ぶ場合もある。
(ステップS306:データ通知処理)
 データ管理部34は、アプリケーション部31に、データ識別子を付加された対象テーブルデータを通知する。
 データ管理部34は、アプリケーション部31が対象データ管理テーブルに対応するアプリケーションを識別できるように通知する。
(ステップS307:データ通知処理)
 データ管理部34は、監視部32に、データ識別子を付加された対象テーブルデータを通知する。
(ステップS308:欠損情報通知処理)
 データ管理部34は、アプリケーション部31にデータが欠損していることを示す欠損情報を通知する。
 データ管理部34は、アプリケーション部31が対象データ管理テーブルに対応するアプリケーションを識別できるように通知する。
(ステップS309:データ格納処理)
 データ管理部34は、アプリケーション部31に通知した情報を、通知済みリスト36に格納する。
 データの情報は、アプリケーション部31に通知した情報そのものであっても良く、アプリケーション部31に通知した情報に対応する別の情報であっても良い。なお、情報という用語はデータという用語と同義である場合もある。
 データ管理部34は、本ステップの実行後、ステップS302に進む。
 図8は、通知済みリスト36の具体例である。
 本例において、通知済みリスト36は、識別子と、データとから構成されている。
 本例の識別子は、データ管理部34がアプリケーションにデータを通知した時刻の情報である。
 本例のデータは、データ管理部34が、アプリケーション部31に通知した情報と、アプリケーション部31から受信した制御目標値と、監視部32から受信した判定結果とから構成されている。
***アプリケーション部31の動作の説明***
 図9は、アプリケーション部31がデータ管理部34から対象テーブルデータを受信する場合における、アプリケーション部31の動作を示すフローチャートの例である。
 本フローチャートに示す処理の順序は、適宜変更しても良い。
(ステップS401:データ取得処理)
 アプリケーション部31は、
 データ管理部34から対象テーブルデータを受信し、
 対象テーブルデータに付加されているデータ識別子を取得する。
(ステップS402:推論処理)
 アプリケーション部31は、対象テーブルデータの値と、記憶している推論モジュールとを使用して推論を実行し、
 制御目標値を算出する。
 ここで算出した制御目標値を、対象制御目標値と呼ぶ。
(ステップS403:識別子付加処理)
 アプリケーション部31は、ステップS401において取得したデータ識別子を、ステップS402において生成した制御目標値に付加する。
 データ識別子を付加された制御目標値を、制御目標値と呼ぶこともある。
(ステップS404:送信処理)
 アプリケーション部31は、データ識別子を付加された制御目標値を、監視部32に送信する。
(ステップS405:送信処理)
 アプリケーション部31は、データ識別子を付加された制御目標値を、データ管理部34に送信する。
 なお、データ管理部34は、
 アプリケーション部31から制御目標値を受信し、
 制御目標値を通知済みリスト36に格納する。
 この際、データ管理部34は、制御目標値に付加されたデータ識別子に対応する場所に格納する。
***監視部32の動作の説明***
 図10は、監視部32がデータ管理部34から対象テーブルデータを受信する場合における、監視部32の動作を示すフローチャートの例である。
 本フローチャートに示す処理の順序は、適宜変更しても良い。
 なお、本図のフローチャートは、データ管理部34が監視部32からデータを受信した際に実行する処理を含む。
(ステップS501:データ取得処理)
 監視部32は、
 データ管理部34から対象テーブルデータを受信し、
 対象テーブルデータに付加されているデータ識別子を取得する。
(ステップS502:正常範囲算出処理)
 監視部32は、対象テーブルデータの値に基づいて、制御目標値の正常範囲を算出する。
 監視部32は、任意の方法によって制御目標値の正常範囲を算出して良い。
 制御目標値の正常範囲の算出方法は、具体例としては、道路交通法規に基づいた制限速度、他車両、及び/又は、障害物との距離に基づいた車両速度等から、安全な走行を実現するためのアクセル量、及び/又は、ブレーキ量の制御目標値の範囲を算出する方法である。
 また、監視部32は、カーブでの安全走行を実現するために、ハンドルの操舵角と、車両の速度と、路面状態と、カーブの半径とから、横滑りの発生しない横加速度を算出し、アクセル量と、ブレーキ量と、操舵角との範囲を正常範囲と規定してもよい。
 監視部32が制御目標値の正常範囲の算出にその他の方法を用いた場合であっても、本実施の形態の効果は損なわれない。
(ステップS503:待機処理)
 監視部32は、アプリケーション部31から対象制御目標値を受信することを待つ。
 監視部32は、
 アプリケーション部31から対象制御目標値を受信した場合、ステップS504に進み、
 それ以外の場合、本ステップの処理を繰り返す。
(ステップS504:識別子取得処理)
 監視部32は、対象制御目標値に付加されたデータ識別子を取得する。
(ステップS505:識別子判定処理)
 監視部32は、ステップS501において取得したデータ識別子と、ステップS504において取得したデータ識別子とが一致しているかを判定する。
 監視部32は、
 データ識別子が一致している場合、ステップS506に進み、
 それ以外の場合、本フローチャートに示す処理を終了する。
(ステップS506:制御目標値判定処理)
 監視部32は、ステップS503において受信した対象制御目標値が、ステップS502において算出した対象制御目標値の正常範囲内であるか否かを判定する。
 監視部32は、
 対象制御目標値が正常範囲内である場合、ステップS507に進み、
 それ以外の場合、ステップS508に進む。
(ステップS507:制御目標値通知処理)
 監視部32は、電子制御部33に対象制御目標値を通知する。
(ステップS508:識別子付加処理)
 監視部32は、ステップS506において判定した判定結果に、ステップS501において取得したデータ識別子を付加する。この判定結果を、対象判定結果と呼ぶ。データ識別子を付加された対象判定結果を対象判定結果と呼ぶこともある。
(ステップS509:送信処理)
 監視部32は、データ管理部34に、データ識別子を付加された対象判定結果を通知する。
 なお、データ管理部34は、監視部32から受信した対象判定結果を、通知済みリスト36に格納する。
 この際、データ管理部34は、対象判定結果に付加されたデータ識別子に対応する場所に対象判定結果を格納する。
***電子制御部33の動作の説明***
 図11は、電子制御部33が監視部32から対象制御目標値を受信する場合における、電子制御部33の動作を示すフローチャートの例である。
 本フローチャートに示す処理の順序は、適宜変更しても良い。
(ステップS601:制御量算出処理)
 電子制御部33は、監視部32から受信した対象制御目標値に基づいて、ECUの制御に必要な制御量を算出する。
(ステップS602:制御量送信処理)
 電子制御部33は、ECUに、ステップS601において算出した制御量を送信する。
***学習動作の説明***
 学習動作は、学習部41による推論モジュールの学習に関する動作である。
 推論モジュールの学習は、新たな推論モジュールを生成することである。
 新たな推論モジュールは、典型的には、既存の推論モジュールと異なる推論モジュールであるが、既存の推論モジュールと同一の推論モジュールであっても良い。
 学習部41は、対象判定結果が正常範囲内ではない場合、新たな推論モジュールを生成する。
 図12は、制御支援装置30の学習動作を示すフローチャートの例である。
(ステップS701:送信処理)
 データ管理部34は、対象判定結果が正常範囲内ではない場合、学習部41に通知済みリスト36を送信する。
 データ管理部34は、対象判定結果に対応するデータのみを学習部41に送信しても良い。
 データ管理部34は、データを収集し、車両制御をする動作において、通知済みリスト36に、データ識別子と、アプリケーション部31の入力となるデータと、制御目標値と、判定結果とを保持する。
(ステップS702:推論モジュール生成処理)
 学習部41は、
 受信した通知済みリスト36に含まれるデータに基づいて、アプリケーション部31の新たな推論モジュールを生成し、
 新たな推論モジュールをアプリケーション部31に送信する。
 アプリケーション部31は、
 推論モジュールを受信し、
 記憶している推論モジュールを受信した新たな推論モジュールに更新する。
 制御支援装置30は、具体例としては、推論モジュールの更新を、車が停車中である等、安全な状況で実施する。
***実施の形態1の効果の説明***
 以上のように、本実施の形態によれば、
 データ管理部34は、アプリケーション部31のアプリケーションの入出力と、アプリケーションの出力に対する判定結果とを、学習部41にフィードバックし、
 学習部41は、フィードバックに基づいて新たな推論モジュールを生成し、
 アプリケーション部31のアプリケーションは、新たな推論モジュールを使用して制御目標値を算出する。
 従って、本実施の形態によれば、最初の学習時に考慮されていない変則的な道路環境における制御目標値を算出する場合、
 学習部41が追加的に学習して新たな推論モジュールを生成し、
 アプリケーション部31のアプリケーションが新たな推論モジュールを使用して制御目標値を算出することにより、正常範囲内の制御目標値を出力することができる。
 具体例としては、学習部41が、最初の学習時に、凍結時の路面状態等、摩擦係数が低い路面状態を考慮して学習していない場合、
 アプリケーション部31のアプリケーションは、摩擦係数が低い路面状態において、アクセル量の制御目標値を通常の路面状態である摩擦係数の高い路面状態と同様に算出し、
 監視部32は、アプリケーションの算出結果を安全範囲外と判定する可能性がある。
 しかし、学習部41は、監視部32が安全範囲外と判定した判定結果に関するデータを用いて学習し、即ち、摩擦係数が低い路面状態を考慮して新たな推論モジュールを生成し、
 アプリケーション部31のアプリケーションは、新たな推論モジュールを使用して制御目標値を算出することにより、摩擦係数が低い路面状態において、正常範囲内の制御目標値を算出することができる。
 また、本実施の形態によれば、
 データ管理部34が、受信したデータを一時的にバッファリングし、データ通知周期に応じてまとめて送信することにより、
 アプリケーション部31の各アプリケーションは、センサ及び/又はECUのデータ周期を確認することと、データの受信待ちをすることとをする必要がなくなる。
<変形例1>
 制御支援装置30は、学習部41を備えなくても良い。
 本変形例において、外部の学習装置40の学習部41が推論モジュールを生成する。
 図13は、本変形例における制御支援装置30の構成例である。
 本図に示すように、制御支援装置30は、学習装置40と接続している。
 なお、学習装置40は、制御支援装置30を備える機器の外部に配置されていても良い。
 本変形例に係るデータ管理部34は、ステップS701において、通信制御部35を経由して、通知済みリスト36を学習部41に送信する。
 本変形例に係るアプリケーション部31は、ステップS702において、通信制御部35を経由して、学習部41から推論モジュールを受信する。
***変形例1の特徴***
 本変形例の制御支援装置30は、
 ECU(電子制御装置)の制御の制御目標値を算出するための推論モジュールを生成する学習部41を備える学習装置40と通信する制御支援装置30であって、
 学習部41から受信した推論モジュールを記憶し、推論モジュールを使用して制御目標値を算出するアプリケーションを有するアプリケーション部31と、
 アプリケーションが算出した制御目標値が安全範囲内であるか否かを判定し、判定した判定結果を通知する監視部32と、
 監視部32が制御目標値を安全範囲内でないと判定した場合に、監視部32の判定結果と、制御目標値に対応する制御データとを学習部41に送信するデータ管理部34と
を備え、
 アプリケーション部31は、学習部41から新たな推論モジュールを受信した場合に、記憶している推論モジュールを新たな推論モジュールに更新する。
<変形例2>
 制御支援装置30は、電子制御部33を備えなくても良い。
 本変形例において、監視部32は、外部の電子制御部33に対して対象制御目標値を通知する。
<変形例3>
 データ管理部34は、複数のアプリケーションに対応する1のデータ管理テーブルを生成しても良い。
 データ管理部34は、具体例としては、データ種別に重複がある複数のアプリケーションに対応する1のデータ管理テーブルを生成する。
<変形例4>
 データ管理部34は、
 1のデータ管理テーブルにつき1のデータ通知周期タイマを用意せず、
 複数のデータ管理テーブルに対応する、1のタイマを用意しても良い。
 データ管理部34は、具体例としては、データ通知周期が同じである複数のデータ管理テーブルに対して、1のタイマを用意する。データ管理部34は、複数の異なるデータ通知周期に対応する1のタイマを用意しても良い。
<変形例5>
 データ管理部34は、ステップS308において、データ識別子を付加された対象テーブルデータを通知しても良い。
 本変形例において、データ管理部34は、ステップS308を実行する前にステップS305を実行する。
<変形例6>
 本実施の形態では、各機能構成要素をソフトウェアで実現する場合を説明した。しかし、変形例として、各機能構成要素はハードウェアで実現されても良い。
 各機能構成要素がハードウェアで実現される場合には、制御支援装置30は、プロセッサ11に代えて、電子回路17を備える。あるいは、図示しないが、制御支援装置30は、プロセッサ11、メモリ12、及び補助記憶装置13に代えて、電子回路17を備える。電子回路17は、各機能構成要素(及びメモリ12と補助記憶装置13)の機能を実現する専用の電子回路である。電子回路を、処理回路と呼ぶこともある。
 電子回路17は、単一回路、複合回路、プログラム化したプロセッサ、並列プログラム化したプロセッサ、ロジックIC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)が想定される。
 各機能構成要素を1つの電子回路17で実現してもよいし、各機能構成要素を複数の電子回路17に分散させて実現してもよい。
 あるいは、一部の各機能構成要素がハードウェアで実現され、他の各機能構成要素がソフトウェアで実現されてもよい。
 前述したプロセッサ11とメモリ12と補助記憶装置13と電子回路17とを、総称して「プロセッシングサーキットリー」という。つまり、各機能構成要素の機能は、プロセッシングサーキットリーにより実現される。
***他の実施の形態***
 前述した実施の形態の任意の構成要素の変形、もしくは実施の形態において任意の構成要素の省略が可能である。
 また、実施の形態は、実施の形態1で示したものに限定されるものではなく、必要に応じて種々の変更が可能である。
 11 プロセッサ、12 メモリ、13 補助記憶装置、14 通信インタフェース、15 H/W、16 S/W、17 電子回路、19 OS、21 認知ECU、22 EPS、23 ブレーキ制御ECU、24 エンジン制御ECU、25 アクチュエータ、26 アクチュエータ、27 アクチュエータ、28 センサ、30 制御支援装置、31 アプリケーション部、32 監視部、33 電子制御部、34 データ管理部、35 通信制御部、36 通知済みリスト、40 学習装置、41 学習部。

Claims (10)

  1.  電子制御装置の制御の制御目標値を算出するための推論モジュールを生成する学習部と、
     前記学習部が生成した前記推論モジュールを記憶し、前記推論モジュールを使用して前記制御目標値を算出するアプリケーションを有するアプリケーション部と、
     前記アプリケーションが算出した前記制御目標値が安全範囲内であるか否かを判定する監視部と
    を備え、
     前記学習部は、前記監視部が前記制御目標値を前記安全範囲内でないと判定した場合に、新たな推論モジュールを生成し、
     前記アプリケーション部は、前記学習部が前記新たな推論モジュールを生成した場合に、記憶している前記推論モジュールを前記新たな推論モジュールに更新する制御支援装置。
  2.  前記アプリケーションが前記制御目標値を算出するためのデータをテーブルデータとして記憶しているデータ管理テーブルを有し、前記テーブルデータを前記アプリケーション部に通知するデータ管理部を備え、
     前記監視部は、前記テーブルデータに基づいて前記安全範囲内であるか否かを判定し、
     前記アプリケーション部は、前記テーブルデータに基づいて前記制御目標値を算出する請求項1に記載の制御支援装置。
  3.  前記データ管理テーブルは、前記アプリケーションが前記テーブルデータの通知を要求する周期であるデータ通知周期を記憶しており、
     前記データ管理部は、前記データ通知周期に応じて前記アプリケーション部に前記テーブルデータを通知し、
     前記アプリケーション部は、前記データ管理部から前記テーブルデータを受信した場合に前記制御目標値を算出する請求項2に記載の制御支援装置。
  4.  前記監視部は、前記安全範囲内であるか否かを判定した判定結果を前記データ管理部に通知し、
     前記データ管理部は、
     前記テーブルデータの情報と、前記監視部の前記判定結果とを記憶する通知済みリストを有し、
     前記アプリケーション部に通知した前記テーブルデータの情報と、前記監視部から受信した前記判定結果とを、リストデータとして前記通知済みリストに記憶させ、
     前記リストデータを前記学習部に通知し、
     前記学習部は、前記新たな推論モジュールを生成するための制御データとして、前記データ管理部から受信した前記リストデータを使用する請求項3に記載の制御支援装置。
  5.  メッセージを受信メッセージとして受信する通信制御部を備え、
     前記通信制御部は、前記受信メッセージを受信したとき、前記受信メッセージの宛先が前記制御支援装置である場合に、前記データ管理部に前記受信メッセージを通知し、
     前記データ管理部は、前記通信制御部から前記受信メッセージを受信した場合に、前記受信メッセージに基づいて前記データ管理テーブルを更新する請求項2から4のいずれか1項に記載の制御支援装置。
  6.  前記電子制御装置を制御する電子制御部を備え、
     前記電子制御部は、前記アプリケーションが算出した前記制御目標値に基づいて制御を決定する請求項1から5のいずれか1項に記載の制御支援装置。
  7.  電子制御装置の制御の制御目標値を算出するための推論モジュールを生成する学習部を備える学習装置と通信する制御支援装置であって、
     前記学習部から受信した前記推論モジュールを記憶し、前記推論モジュールを使用して前記制御目標値を算出するアプリケーションを有するアプリケーション部と、
     前記アプリケーションが算出した前記制御目標値が安全範囲内であるか否かを判定し、判定した判定結果を通知する監視部と、
     前記監視部が前記制御目標値を前記安全範囲内でないと判定した場合に、前記監視部の前記判定結果と、前記制御目標値に対応する制御データとを前記学習部に送信するデータ管理部と
    を備え、
     前記アプリケーション部は、前記学習部から新たな推論モジュールを受信した場合に、記憶している前記推論モジュールを前記新たな推論モジュールに更新する制御支援装置。
  8.  前記電子制御装置は、移動体が有する電子制御装置である請求項1から7のいずれか1項に記載の制御支援装置。
  9.  学習部が、電子制御装置の制御の制御目標値を算出するための推論モジュールを生成し、
     アプリケーション部が、前記学習部が生成した前記推論モジュールを記憶し、前記推論モジュールを使用して前記制御目標値を算出するアプリケーションを有し、
     監視部が、前記アプリケーションが算出した前記制御目標値が安全範囲内であるか否かを判定し、
    を備え、
     前記学習部は、前記監視部が前記制御目標値を前記安全範囲内でないと判定した場合に、新たな推論モジュールを生成し、
     前記アプリケーション部は、前記学習部が前記新たな推論モジュールを生成した場合に、記憶している前記推論モジュールを前記新たな推論モジュールに更新する制御支援方法。
  10.  電子制御装置の制御の制御目標値を推論モジュールを使用して算出するアプリケーションを有するコンピュータに、
     前記推論モジュールを生成させ、
     生成させた前記推論モジュールを記憶させ、前記アプリケーションに前記推論モジュールを使用して前記制御目標値を算出させ、
     前記アプリケーションが算出した前記制御目標値が安全範囲内であるか否かを判定させ、
     前記制御目標値を前記安全範囲内でないと判定した場合に、新たな推論モジュールを生成させ、
     前記新たな推論モジュールを生成させた場合に、記憶させている前記推論モジュールを前記新たな推論モジュールに更新させる制御支援プログラム。
PCT/JP2019/020120 2019-05-21 2019-05-21 制御支援装置、制御支援方法、及び、制御支援プログラム WO2020235002A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2019/020120 WO2020235002A1 (ja) 2019-05-21 2019-05-21 制御支援装置、制御支援方法、及び、制御支援プログラム
JP2019554432A JPWO2020235002A1 (ja) 2019-05-21 2019-05-21 制御支援装置、制御支援方法、及び、制御支援プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/020120 WO2020235002A1 (ja) 2019-05-21 2019-05-21 制御支援装置、制御支援方法、及び、制御支援プログラム

Publications (1)

Publication Number Publication Date
WO2020235002A1 true WO2020235002A1 (ja) 2020-11-26

Family

ID=73458145

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/020120 WO2020235002A1 (ja) 2019-05-21 2019-05-21 制御支援装置、制御支援方法、及び、制御支援プログラム

Country Status (2)

Country Link
JP (1) JPWO2020235002A1 (ja)
WO (1) WO2020235002A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012096618A (ja) * 2010-10-29 2012-05-24 Denso Corp 車両運動制御システム
JP2013178827A (ja) * 2013-06-03 2013-09-09 Denso Corp 運転状況推定装置,運転支援装置
JP2017094869A (ja) * 2015-11-20 2017-06-01 本田技研工業株式会社 通信システム、及び制御装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6897170B2 (ja) * 2017-03-07 2021-06-30 株式会社デンソー 走行制御装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012096618A (ja) * 2010-10-29 2012-05-24 Denso Corp 車両運動制御システム
JP2013178827A (ja) * 2013-06-03 2013-09-09 Denso Corp 運転状況推定装置,運転支援装置
JP2017094869A (ja) * 2015-11-20 2017-06-01 本田技研工業株式会社 通信システム、及び制御装置

Also Published As

Publication number Publication date
JPWO2020235002A1 (ja) 2021-06-10

Similar Documents

Publication Publication Date Title
US11492011B2 (en) Autonomous driving control device and method for autonomous driving control of vehicles
US11148665B2 (en) Vehicular motion control device and method
JP2020032894A (ja) 情報処理装置
US11398944B2 (en) Vehicle fault handling method, apparatus, device and storage medium
US11609567B2 (en) Apparatus and method for controlling vehicle based on redundant architecture
US11312387B2 (en) Integrated control apparatus and method for vehicle
JP2016523201A (ja) 自動車のための回避・ブレーキアシスト
KR101802858B1 (ko) 자동차용 통합데이터 처리 제어 시스템 및 방법
CN110887677A (zh) 悬架系统劣化检测
US11472406B2 (en) Vehicle control apparatus, vehicle, and vehicle control method
JP2021091269A (ja) 制御装置
US20200005553A1 (en) Deviation assessment for steering system
WO2020235002A1 (ja) 制御支援装置、制御支援方法、及び、制御支援プログラム
US10259496B2 (en) Steering-wheel feedback mechanism
CN112550313A (zh) 通过云计算的容错嵌入式汽车应用程序
JP7213935B1 (ja) 自動運転制御装置、及び、自動運転制御方法
WO2021234947A1 (ja) 車両制御システム、車両統合制御装置、電子制御装置、ネットワーク通信装置、車両制御方法、および、車両制御プログラム
US20150175224A1 (en) Device and method for exerting a torque on an object
JP6926324B2 (ja) 電子制御装置
WO2020158556A1 (ja) サーバ装置、情報処理方法、情報処理プログラム、及び記憶媒体
JP2019001218A (ja) 車両の走行制御システム
JP2020188407A (ja) 電子制御装置および移動体制御システム
US11884260B2 (en) Vehicle control device
US11994855B2 (en) Method for controlling a motor vehicle remotely
JP7276122B2 (ja) 運転制御システム

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2019554432

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 19929477

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19929477

Country of ref document: EP

Kind code of ref document: A1