WO2019194312A1 - 電子制御装置、制御方法 - Google Patents

電子制御装置、制御方法 Download PDF

Info

Publication number
WO2019194312A1
WO2019194312A1 PCT/JP2019/015199 JP2019015199W WO2019194312A1 WO 2019194312 A1 WO2019194312 A1 WO 2019194312A1 JP 2019015199 W JP2019015199 W JP 2019015199W WO 2019194312 A1 WO2019194312 A1 WO 2019194312A1
Authority
WO
WIPO (PCT)
Prior art keywords
processing
hardware
information
logic circuit
control device
Prior art date
Application number
PCT/JP2019/015199
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 CN201980024056.1A priority Critical patent/CN111936366B/zh
Priority to US17/044,937 priority patent/US11878704B2/en
Publication of WO2019194312A1 publication Critical patent/WO2019194312A1/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/06Improving the dynamic response of the control system, e.g. improving the speed of regulation or avoiding hunting or overshoot
    • 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/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/035Bringing the control units into a predefined state, e.g. giving priority to particular actuators
    • 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/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • 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/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/023Avoiding failures by using redundant parts
    • 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
    • B60W60/00Drive control systems specially adapted for autonomous road vehicles
    • B60W60/001Planning or execution of driving tasks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3013Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07CTIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
    • G07C5/00Registering or indicating the working of vehicles
    • G07C5/08Registering or indicating performance data other than driving, working, idle, or waiting time, with or without registering driving, working, idle or waiting time
    • G07C5/0808Diagnosing performance data
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/16Anti-collision systems
    • 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/02Ensuring safety in case of control system failures, e.g. by diagnosing, circumventing or fixing failures
    • B60W50/0205Diagnosing or detecting failures; Failure detection models
    • B60W2050/0215Sensor drifts or sensor failures
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/0055Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots with safety arrangements
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/617Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Definitions

  • the present invention relates to an electronic control device and a control method.
  • An autonomous driving vehicle includes a plurality of sensors in a vehicle, and grasps an external environment such as a road and weather based on information acquired from each sensor.
  • Patent Document 1 discloses a vehicle traveling control system that realizes automatic traveling of a vehicle, wherein the vehicle includes a plurality of sensors that detect a situation outside the vehicle, and the vehicle traveling control system includes a processor and a memory.
  • the memory is a specification for fusing the detection results of the plurality of sensors, and stores a plurality of fusion specifications corresponding to an external environment of the vehicle, and the processor stores a plurality of specifications stored in the memory.
  • One fusion specification corresponding to the external environment of the vehicle is selected from the fusion specifications of the selected fusion specification, and a region where the sensor recognition accuracy decreases due to the external environment in the selected fusion specification is a weak point region of the selected fusion specification And presenting the detection results of the plurality of sensors based on the selected fusion specification. And Yujon recognizes the external situation of the vehicle, the vehicle traveling control system and controlling the automatic running of the vehicle is disclosed.
  • An electronic control device is an electronic control device mounted on a vehicle equipped with a plurality of operable hardware, and an information collection unit that collects information outside the vehicle; Processing to be executed by each of a plurality of hardware, a plurality of processing specifications for determining the external information used by the plurality of hardware for calculation, and the external information and the plurality for applying the plurality of processing specifications, respectively One of the plurality of processing specifications based on the suitability for the condition based on the storage unit for storing an application condition that is a condition related to the hardware state of the hardware, the collected external information, and the plurality of hardware states And a processing control unit that controls the plurality of hardware based on the determined processing specifications.
  • the control method is mounted on a vehicle having a plurality of operable hardware and stores a plurality of processing specifications and application conditions that are conditions for applying the plurality of processing specifications, respectively.
  • the processing specification is a control method executed by an electronic control device including a storage unit that performs processing executed by each of the plurality of hardware and information external to the vehicle used by the plurality of hardware for calculation.
  • the application condition is a condition relating to the external information and the state of the plurality of hardware, collecting the external information of the vehicle, the collected external information, and Based on the state of the plurality of hardware, determine one of the plurality of processing specifications from the relevance to the condition, and based on the determined processing specifications, the plurality of hardware specifications. And controlling the hardware.
  • System configuration diagram of in-vehicle system 1 Hardware configuration diagram of the autonomous traveling control device 2
  • Functional configuration diagram of the autonomous traveling control device 2 The figure which shows the structural example of the hardware 205 in case one logic circuit is comprised in the logic circuit 255.
  • FIG. The figure which shows the structural example of the hardware 205 in case two logic circuits are comprised in the logic circuit 255.
  • the figure which shows an example of process allocation DB3 The figure which shows an example of circuit management DB4
  • the figure which shows an example of transfer DB6 The sequence diagram which shows operation
  • the figure which shows matching with the information acquired in the specification A, and the hardware 205 The figure which shows matching with the information acquired in the specification B, and the hardware 205
  • the figure which shows matching with the information acquired in the specification D, and the hardware 205 The figure which shows matching with the information acquired in the specification E, and the hardware 205
  • FIG. 1 is a system configuration diagram of an in-vehicle system 1 including an autonomous traveling control device 2.
  • the in-vehicle system 1 is mounted on a vehicle 100, and includes a camera information acquisition unit 101, a radar information acquisition unit 102, a laser information acquisition unit 103, and a satellite navigation system mounted on the vehicle 100, such as a GPS (Global Positioning System). And a vehicle position information acquisition unit 104 that detects the position of the vehicle 100 using a receiver.
  • GPS Global Positioning System
  • the vehicle 100 includes a camera, a radar, and a laser (not shown), and the camera information acquisition unit 101 acquires information on the external environment of the vehicle 100, for example, information related to light reflection in the visible light region, using the above-described camera.
  • the radar information acquisition unit 102 acquires information on the external environment of the vehicle 100, for example, information on reflection of radio waves having a plurality of frequencies, using the above-described radar.
  • the laser information acquisition unit 103 acquires information on the external environment of the vehicle 100, for example, information related to reflection of infrared rays having a single frequency, using a laser.
  • the in-vehicle system 1 further includes an automatic driving setting unit 105 for setting automatic driving of the vehicle 100 and a wireless communication unit 106 for updating information of the in-vehicle system 1 by OTA (Over-The-Air).
  • OTA Over-The-Air
  • the in-vehicle system 1 further includes an autonomous traveling control device 2, an auxiliary control unit 107, a brake control unit 108, an engine control unit 109, and a power steering control unit 110.
  • the autonomous traveling control device 2, the auxiliary control unit 107, the brake control unit 108, the engine control unit 109, and the power steering control unit 110 are, for example, ECUs (Electronic Control Units).
  • Camera information acquisition unit 101, radar information acquisition unit 102, laser information acquisition unit 103, own vehicle position information acquisition unit 104, automatic driving setting unit 105, wireless communication unit 106, autonomous traveling control device 2, auxiliary control unit 107, brake control Unit 108, engine control unit 109, and power steering control unit 110 are connected to each other by a communication network provided in vehicle 100, such as CAN (Controller Area Network) (registered trademark).
  • CAN Controller Area Network
  • the camera information acquisition unit 101, the radar information acquisition unit 102, the laser information acquisition unit 103, and the own vehicle position information acquisition unit 104 each autonomously control information received from a sensor or the like (hereinafter referred to as “sensor information”). Transmit to device 2.
  • the camera information acquisition unit 101, the radar information acquisition unit 102, the laser information acquisition unit 103, and the own vehicle position information acquisition unit 104 detect an abnormality or a decrease in accuracy of each sensor, and a sensor abnormality or a decrease in accuracy. Information related to this (hereinafter referred to as “abnormality detection information”) is transmitted to the autonomous traveling control device 2.
  • the automatic driving setting unit 105 transmits setting information such as a destination, a route, and a traveling speed at the time of automatic driving to the autonomous traveling control device 2. However, some of the information transmitted by the automatic operation setting unit 105 may be received from the outside via the wireless communication unit 106.
  • the autonomous traveling control device 2 performs processing for automatic driving control and outputs a control command to the brake control unit 108, the engine control unit 109, and the power steering control unit 110 based on the processing result.
  • the auxiliary control unit 107 performs the same control as the autonomous traveling control device 2 as an auxiliary.
  • the brake control unit 108 controls the braking force of the vehicle 100.
  • the engine control unit 109 controls the driving force of the vehicle 100.
  • the power steering control unit 110 controls the steering of the vehicle 100.
  • the autonomous driving control device 2 When the autonomous driving control device 2 receives the automatic driving setting unit 105 from the automatic driving setting unit 105, the autonomous driving control device 2 receives the camera information acquisition unit 101, the radar information acquisition unit 102, the laser information acquisition unit 103, the own vehicle position information acquisition unit 104, and the like. The trajectory along which the vehicle 100 moves is calculated based on the information on the outside world. Then, the autonomous traveling control device 2 sends control commands such as braking force, driving force, and steering to the vehicle 100 in accordance with the calculated track, the brake control unit 108, the engine control unit 109, and the power steering control unit 110. Output to.
  • the brake control unit 108, the engine control unit 109, and the power steering control unit 110 receive a control command from the autonomous traveling control device 2, and each output an operation signal to an actuator that is a control target (not shown).
  • FIG. 2 is a hardware configuration diagram of the autonomous traveling control device 2.
  • the autonomous traveling control device 2 includes a CPU 251, a ROM 252, a RAM 253, a flash memory 254, a logic circuit 255, a GPU 256, and a communication interface 258.
  • the CPU 251 and the GPU 256 realize a function described later by developing a program stored in the ROM 252 in the RAM 253 and executing the program.
  • the flash memory 254 is a non-volatile storage area and includes a flash memory, a hard disk drive, and the like.
  • the logic circuit 255 is a reconfigurable logic circuit using a PLD (Programmable Logic Device) such as an FPGA (field-programmable gate array).
  • the logic circuit 255 is a so-called partially reconfigurable logic circuit that can reconfigure only a part thereof.
  • the communication interface 258 is an interface that communicates with a predetermined protocol such as CAN.
  • the hardware of the CPU 251, ROM 252, RAM 253, flash memory 254, logic circuit 255, and GPU 256 constituting the autonomous traveling control device 2 may be configured on the ECU as a single device, or the SoC (System On hardware, a plurality of hardware may be configured on the ECU as one device.
  • the autonomous traveling control device 2 may be composed of one ECU or a plurality of ECUs.
  • FIG. 3 is a functional configuration diagram of the autonomous traveling control device 2.
  • the autonomous traveling control device 2 includes a first communication interface 201-1, a second communication interface 201-2, an information collection unit 202, a processing control unit 203, a calculation unit 204, a monitoring unit 207, a processing allocation database (hereinafter referred to as a processing allocation DB). ) 3, a circuit management database (hereinafter referred to as circuit management DB) 4, a circuit database (hereinafter referred to as circuit DB) 5, and a transfer database (hereinafter referred to as transfer DB) 6.
  • the first communication interface 201-1 and the second communication interface 201-2 are collectively referred to as “communication interface 201”.
  • the CPU 251, the logic circuit 255, and the GPU 256 are collectively referred to as hardware 205.
  • the communication interface 201 is realized by the communication interface 258 of FIG.
  • the process allocation DB 3, circuit management DB 4, circuit DB 5, and transfer DB 6 are information stored in the RAM 253 or the flash memory 254.
  • the arithmetic unit 204 is realized by hardware 205.
  • the information collection unit 202 and the processing control unit 203 are configured by any one of the CPU 251, the logic circuit 255, and the GPU 256.
  • the autonomous traveling control device 2 is connected to the camera information acquisition unit 101, the radar information acquisition unit 102, the laser information acquisition unit 103, the own vehicle position information acquisition unit 104, and the automatic driving setting of FIG. 1 via the first communication interface 201-1.
  • Unit 105 and wireless communication unit 106 are connected.
  • the autonomous traveling control device 2 is connected to the auxiliary control unit 107, the brake control unit 108, the engine control unit 109, and the power steering control unit 110 via the second communication interface 201-2.
  • the autonomous traveling control device 2 includes two logical communication interfaces, the first communication interface 201-1 and the second communication interface 201-2, but one logical communication interface having both functions. May be provided.
  • the information collection unit 202 receives sensor information and abnormality from the camera information acquisition unit 101, the radar information acquisition unit 102, the laser information acquisition unit 103, and the own vehicle position information acquisition unit 104, which are input from the first communication interface 201-1.
  • the detection information and automatic driving setting information from the automatic driving setting unit 105 are collected.
  • the information collection unit 202 refers to the transfer DB 6 and determines the hardware 205 that transfers the collected sensor information. However, the information collection unit 202 may transmit the collected sensor information not only to the hardware 205 but also to the processing control unit 203.
  • the information collection unit 202 transfers the abnormality detection information and the automatic operation setting information to the process control unit 203.
  • the process control unit 203 repeatedly executes a process described later at a predetermined process cycle.
  • the processing control unit 203 receives sensor abnormality detection information from the information collection unit 202, receives information on malfunctions of the hardware 205 from the monitoring unit 207, and receives calculation results from the calculation unit 204.
  • the process control unit 203 determines a process to be performed by the hardware 205 based on the input abnormality detection information of the sensor, the defect information of the hardware 205, and the calculation result of the calculation unit 204.
  • the processing control unit 203 determines an effective processing specification according to the switching condition and switching priority described in the processing allocation DB 3 and causes the hardware 205 to execute processing corresponding to the determined processing specification.
  • the processing control unit 203 further refers to the circuit management DB 4 to determine the number of logic circuits and circuit data included in the logic circuit 255. The number of logic circuits and circuit data are uniquely determined by the determined effective processing specifications. Details will be described later.
  • the process executed by the logic circuit configured in the logic circuit 255 may be a process executed by other hardware, for example, the CPU 251 or the GPU 256.
  • Circuit data for configuring the logic circuit in the logic circuit 255 is stored in the circuit DB5.
  • the processing control unit 203 periodically instructs the information collecting unit 202 to transfer the sensor information to the hardware 205.
  • the processing control unit 203 acquires a processing result from the hardware 205, and outputs a control command such as a braking force and a driving force from the second communication interface 201-2 based on the acquired processing result.
  • the hardware 205 constituting the computing unit 204 performs processing determined by the processing control unit 203 with the sensor information acquired from the information collecting unit 202 as a processing target, and transmits the processing result to the processing control unit 203.
  • the hardware 205 analyzes external information collected by the sensor and determines an external situation, for example, a road type. For example, the hardware 205 determines that the vehicle 100 is traveling on a general road, or that the vehicle 100 is traveling on a highway.
  • the monitoring unit 207 monitors the state of the hardware 205, and when it detects a failure, transmits the failure information to the processing control unit 203. For example, the monitoring unit 207 notifies the processing control unit 203 that the CPU 251 has failed.
  • 4A and 4B are diagrams illustrating a configuration example of the hardware 205 in the arithmetic unit 204.
  • 4A is a diagram illustrating an example in which one logic circuit, that is, the entire area circuit 206A is configured in the logic circuit 255
  • FIG. 4B illustrates two logic circuits, that is, the first half-area circuit 206B-1 and the logic circuit 255. It is a figure which shows the example by which 2nd half area circuit 206B-2 is comprised. Note that the names of the whole area circuit 206A, the first half area circuit 206B-1, and the second half area circuit 206B-2 are for convenience, and the whole area circuit 206A does not use all areas of the logic circuit 255. May be.
  • first half-region circuit 206B-1 and the second half-region circuit 206B-2 may not use half of the logic circuit 255, and two logic circuits are formed in the logic circuit 255. It just shows that Hereinafter, the first half-region circuit 206B-1 and the second half-region circuit 206B-2 are collectively referred to as a half-region circuit 206B.
  • the entire circuit 206A is configured in the logic circuit 255, and the logic circuit 255 inputs the acquired sensor information to the entire circuit 206A.
  • the logic circuit 255 includes a first half area circuit 206B-1 and a second half area circuit 206B-2, and the logic circuit 255 performs the first half area circuit based on the type of acquired sensor information.
  • Sensor information is input to the area circuit 206B-1 or the second half area circuit 206B-2.
  • the first half area circuit 206B-1 and the second half area circuit 206B-2 process the input sensor information, and output the processed sensor information to the processing control unit 203.
  • FIG. 5 is a diagram illustrating an example of the process assignment DB 3.
  • the process assignment DB 3 is a database that stores the process contents that are referred to by the process control unit 203 and are assigned to the hardware 205 based on the process specifications.
  • the process allocation DB 3 includes fields for an application condition 300, a process specification 303, hardware used 304, and an allocation process 305. Only one of the plurality of process specifications 303 described in the process allocation DB 3 is validated.
  • Application condition 300 is a combination of switching condition 301 and switching priority 302.
  • the switching condition 301 stores effective process specification switching conditions determined based on the sensor information and abnormality detection information acquired by the autonomous traveling control device 2 and the state of the hardware 205.
  • the switching condition 301 includes, for example, the classification of the current position of the vehicle 100, the moving speed of the vehicle 100, the weather, the brightness, the remaining amount of fuel and battery, the malfunction of sensors such as cameras, the malfunction of the hardware 205, and the like.
  • effective process specification switching takes into account not only the switching condition 301 but also the next switching priority 302.
  • the field values of the switching condition 301 illustrated in FIG. 5 will be described.
  • “Ambient environment (general road)” shown in the first line indicates that the surrounding environment of the vehicle 100 is a general road, in other words, that the current position of the vehicle 100 is a general road.
  • “Ambient environment (highway)” shown in the second line indicates that the surrounding environment of the vehicle 100 is a general road, in other words, the current position of the vehicle 100 is a highway.
  • “Decrease in sensor accuracy” shown in the third line indicates that the detection accuracy of any sensor has decreased.
  • “CPU failure” shown in the fourth line indicates that the CPU 251 has some trouble.
  • “Camera failure” shown in the fifth line indicates that one of the cameras has become inoperable.
  • the switching priority 302 stores priority information for switching processing specifications.
  • the priority is represented by, for example, numbers or characters that can determine the permutation. For example, “middle” is given priority over “low”, and “high” is given priority over “middle”. For example, in the example shown in FIG. 5, when the switching conditions 301 of both the specification A and the specification C are satisfied, the specification C having a high priority in the field of the switching priority 302 is valid.
  • the processing specification 303 stores the name of each processing specification in the processing allocation DB 3. However, a combination method of values obtained from the sensors, that is, a sensor fusion specification may be determined based on the values stored in the processing specification 303. In other words, the information stored in the processing specification 303 may function only as a label for identifying the processing specification, or may have additional information.
  • the used hardware 304 stores information on the hardware 205 used in the processing specification 303. In the example shown in FIG. 5, “O” is entered in the column of hardware 205 to be used, and “-” is entered in the column of hardware 205 not to be used.
  • the allocation processing 305 stores information on processing allocated to each hardware 205, in other words, information on processing performed on each hardware.
  • the program executed by the CPU 251 and the GPU 256 is stored in the ROM 252 as described above, and the processing control unit 203 causes the CPU 251 and the GPU 256 to read an appropriate program from the ROM 252 in accordance with the process to be executed by the CPU 251 and the GPU 256.
  • the processing of the logic circuit 255 will be described later.
  • the field of the switching condition 301 is “sensor failure detection”, information indicating that the camera has failed is received from the camera information acquisition unit 101, the radar information acquisition unit 102, the laser information acquisition unit 103, or the own vehicle position information acquisition unit 104. This is shown as the switching condition of the hardware 205. Then, “high” is stored in the field of the switching priority 302, which indicates that the priority for changing the processing specification to “specification E” is high as shown in the field of the processing specification 303. In the field of used hardware 304, “O”, “ ⁇ ”, “O” are stored in order from the left, and it is shown that the CPU 251 and the logic circuit 255 are used and the GPU 256 is not used. The field of the assignment process 305 indicates that the CPU 251 performs “process P”, the GPU 256 does not perform process, and the logic circuit 255 performs “process R”.
  • the process assignment DB 3 shown in FIG. 5 is an example, and the number of information constituting the hardware used 304 and the information constituting the assignment process 305 may be other than three. That is, the hardware 304 to be used and the allocation process 305 may be composed of two or four or more pieces of information. Alternatively, the column of used hardware 304 may be omitted, and determination may be made based on whether or not information from difficulty is described in the column of allocation processing 305.
  • FIG. 6 is a diagram illustrating an example of the circuit management DB 4.
  • the circuit management DB 4 is a database that is referred to by the processing control unit 203 and stores the number of divisions of the logic circuit 255 and information on circuit data to be used.
  • FIGS. 4A and 4B an example in which a logic circuit is used for the logic circuit 255 as shown in FIGS. 4A and 4B is shown.
  • the circuit management DB 4 has fields for the division number 402 and circuit data 403 for each processing specification 401.
  • the processing specification 401 is the same as the processing specification 303 shown in FIG.
  • the number of divisions 402 stores the number of divisions of the logic circuit (full area circuit 206A or half area circuit 206B) constituting the logic circuit 255 according to the processing specification 401.
  • the circuit data 403 stores information for specifying the circuit data of the logic circuit included in the logic circuit 255 according to the processing specification 401. Specifically, the circuit data 403 stores address information of circuit data stored in the circuit DB5. When the division number 402 is “1”, it indicates that no division is performed, and one circuit data is stored in the circuit data 403. In this case, “ ⁇ ” indicating that the second circuit data does not exist is stored in the circuit data 403-2.
  • the processing specification 401 stores “specification A”
  • the division number 402 stores “1”
  • the circuit data 403-1 stores “0x00789”
  • the circuit data 403-2 stores “ ⁇ ”. Is done. That is, when the processing specification is specification A, only one logic circuit is configured in the logic circuit 255, and the circuit data is read from the address “0x00789” of the circuit DB5.
  • the number of divisions is 1 or 2, but the number of divisions may be 3 or more. In that case, a column of circuit data corresponding to the number of divisions is provided.
  • FIG. 7 is a diagram illustrating an example of the transfer DB 6.
  • the transfer DB 6 is referred to by the information collection unit 202, and is the hardware to which the sensor information collected from the camera information acquisition unit 101, the radar information acquisition unit 102, the laser information acquisition unit 103, the own vehicle position information acquisition unit 104, and the like is transferred.
  • This is a database storing 205 information.
  • the camera information, radar information, and laser information acquired from the camera information acquisition unit 101, radar information acquisition unit 102, and laser information acquisition unit 103 are transferred to the CPU 251, GPU 256, or logic circuit 255. Show.
  • the transfer DB 6 has a field of transfer information 602 for each processing specification 601.
  • the processing specification 601 is the same as the processing specification 303 shown in FIG.
  • the transfer information 602 includes the hardware 205 to which camera information, radar information, and laser information acquired from the camera information acquisition unit 101, the radar information acquisition unit 102, and the laser information acquisition unit 103 are transferred in accordance with the processing specification 601. Is stored. However, when no transfer is performed, information indicating that transfer is not required, for example, “-” is stored.
  • the processing specification 601 is the specification C
  • the camera information is transferred to the GPU 256
  • the radar information is not required to be transferred
  • the laser information is transferred to the logic circuit 255. .
  • FIG. 8 is a sequence diagram illustrating operations of the information collection unit 202, the processing control unit 203, and the hardware 205 of the autonomous traveling control device 2.
  • the monitoring unit 207 continues to operate, and when a failure of the hardware 205 is detected, information on the failure is transmitted to the processing control unit 203.
  • FIG. 8 shows a configuration example in which the hardware 205 on the calculation unit 204 is shown in FIG. 4 in the autonomous traveling control device 2, and includes a processing allocation DB 3 shown in FIG. 5, a circuit management DB 4 shown in FIG.
  • An operation outline and a transition diagram of the information collection unit 202, the processing control unit 203, the CPU 251, the GPU 256, and the logic circuit 255 are shown using the circuit DB 5 and the transfer DB 6 shown in FIG.
  • FIG. 8 shows the operation of the autonomous traveling control device 2 in the cycle L1, the processing cycle immediately before is the cycle L0, and the processing cycle immediately after is the cycle L2.
  • the effective processing specification is determined as the specification A. Therefore, in the cycle L0, as shown in the first row of FIG. 5, the CPU 251 executes the process P, the GPU 256 executes the process Q, and the logic circuit 255 executes the process R. That is, in the cycle L0, the logic circuit 255 has a logic circuit for processing R.
  • information indicating that the camera has failed is input from the camera information acquisition unit 101 to the information collection unit 202, and this information is transmitted from the information collection unit 202 to the processing control unit 203.
  • the process control unit 203 first reads the process allocation DB 3 and determines an effective process specification 303 based on the switching condition 301 and the switching priority 302 (S801). Since the processing control unit 203 has acquired information indicating that the camera has failed at the end of the cycle L0, the processing control unit 203 determines that the specification A switching condition is satisfied and the specification D switching condition is satisfied as in the cycle L0. . Since the specification D is “high” as the switching priority and the priority is higher than the specification A, the processing control unit 203 determines the effective processing specification as the specification D.
  • the processing control unit 203 transmits a specification change instruction to the CPU 251, the GPU 256, and the logic circuit 255 because the processing specification in the cycle L1 has been changed from the processing specification in the previous cycle L0 (S802). Specifically, the process control unit 203 instructs the CPU 251 to change from “process P” to “no process”, and since the GPU 256 does not change from process Q, the GPU 256 is not instructed to change the logic circuit. 255 is instructed to change from “Process R” to “Process P, R”.
  • the processing control unit 203 reads the circuit management DB 4 and the circuit DB 5 in order to reconfigure the logic circuit (S803). More specifically, the processing control unit 203 acquires circuit data from the addresses 0x00123 and 0x00789 of the circuit DB5 in accordance with the description in the row of the specification D of the circuit management DB 4 because the specification D is an effective processing specification.
  • the processing control unit 203 notifies the logic circuit 255 of a reconfiguration instruction including the two circuit data acquired in S803 (S804).
  • the logic circuit 255 notifies the process control unit 203 of a completion notification (S806).
  • the processing control unit 203 Upon receiving the reconfiguration completion notification from the logic circuit 255, the processing control unit 203 instructs the information collection unit 202 to start data transfer including the information “specification D” of the processing specification 303 determined in step S801 (S807). .
  • the information collection unit 202 reads the transfer DB 6 to determine the transfer destination hardware 205 (S808). Since the processing specification included in the data transfer start instruction is the specification D, the processing control unit 203 refers to the specification D line of the transfer processing DB 6 and the transfer destination of the camera information indicated by reference numeral 602-1 is “GPU256”. It is determined that the radar information transfer destination indicated by 602-2 is “logic circuit 255” and the laser information transfer destination indicated by reference numeral 602-3 is “logic circuit 255”.
  • the information collection unit 202 adjusts the transfer timing to each transfer destination hardware 205 (S809), and transfers the data (S810).
  • the information collection unit 202 considers processing performance and processing time that vary depending on the type of hardware, such as a processor such as a CPU and GPU, and a PLD logic circuit such as FPGA, and transfers data to the hardware 205 of each transfer destination. Adjust to. In the period L ⁇ b> 1 in FIG. 8, the information collection unit 202 transfers camera information to the GPU 256, radar information and laser information to the logic circuit 255, and does not transfer data to the CPU 251.
  • Each hardware 205 performs arithmetic processing as needed using the arrived data (S811), and notifies the processing control unit 203 of the processing result (S812).
  • the GPU 256 notifies the processing control unit 203 of the processing result of the camera information
  • the logic circuit 255 notifies the processing control unit 203 of the radar information and the laser information.
  • the processing control unit 203 that has received the processing result outputs a control command value based on the received processing result (S814), ends the operation in the cycle L1, and starts the processing in the cycle L2.
  • FIG. 8 illustrates an example in which the effective processing specification is changed
  • steps S803 to S806 may be omitted when the logic circuit is not used or when the logic circuit is not reconfigured. Further, when the effective processing specification is not changed, steps S802 to S806 may be omitted.
  • FIG. 9 is a conceptual diagram showing the correspondence between the acquired information in the in-vehicle system 1 and the hardware 205 of the autonomous traveling control device 2. Specifically, the camera information acquisition unit 101 and the radar information when the information collection unit 202, the processing control unit 203, the CPU 251, the GPU 256, and the logic circuit 255 perform the operations shown in FIG. It is a conceptual diagram which shows the change of matching with CPU251, GPU256, and the logic circuit 255 which process the camera information, radar information, and laser information which are each acquired from the acquisition part 102 and the laser information acquisition part 103, and those information.
  • FIGS. 9A to 9E respectively show the acquired information in the in-vehicle system 1 and the hardware 205 of the autonomous travel control device 2 when the process specification 303 of the process allocation DB 3 shown in FIG. 5 is “Specification A” to “Specification E”. Indicates the correspondence.
  • FIG. 9A shows a case where the processing specification 303 is “specification A”.
  • camera information is processed by the GPU 256
  • radar information is processed by the CPU 251
  • laser information is processed by the logic circuit 255.
  • FIG. 9B shows a case where the processing specification 303 is “specification B”, and when traveling on the highway, radar information is processed by the CPU 251, and camera information and laser information are processed by the logic circuit 255 in two logic circuits. Indicates processing. This indicates that, for example, the processing specifications for camera information and laser information are relaxed, and the power consumption is reduced without using the GPU 256.
  • FIG. 9C shows a case where the processing specification 303 is “specification C”, and when a decrease in sensor accuracy is detected from the radar information, the camera information is processed by the GPU 256, and the laser information is processed by the logic circuit 255. Indicates that radar information is not processed.
  • the CPU 251 indicates that, for example, the GPU 256 that processes camera information is assisted in order to compensate for the detection range of radar information whose detection accuracy has decreased.
  • FIG. 9D shows a case where the processing specification 303 is “specification D”. When a failure of the CPU 251 is detected, the camera information is processed by the GPU 256, and the radar information and the laser information are processed by the logic circuit 255 in two logic circuits. Indicates processing.
  • FIG. 9E shows a case where the processing specification 303 is “specification E”.
  • radar information is processed by the CPU 251
  • laser information is processed by the logic circuit 255
  • camera information is processed. Indicates not to.
  • the autonomous traveling control device 2 is mounted on a vehicle 100 that includes hardware 205 that can be calculated.
  • the autonomous traveling control device 2 includes an information collection unit 202 that collects information outside the vehicle 100, a process that is executed by each of the hardware 205, and a plurality of processing specifications that define external information that the hardware 205 uses for calculation, and
  • a flash memory 254 that stores a processing allocation DB 3 that describes external information for applying each of a plurality of processing specifications and a condition related to the state of the hardware 205, and the collected external information and hardware 205
  • a process control unit 203 that determines one of a plurality of processing specifications based on the state and suitability for the condition, and controls the plurality of hardware based on the determined processing specifications; Therefore, the autonomous traveling control device 2 can perform optimal control of the hardware 205 that can be calculated according to the external environment and the state of the hardware 205 that can be calculated. Further, by realizing optimal control of the hardware 205, power consumption can be reduced.
  • At least one of the hardware 205 is a logic circuit 255 that is a reconfigurable logic circuit.
  • the flash memory 254 further stores a circuit management DB 4 that determines processing to be executed by the logic circuit 255 for each processing specification.
  • the processing control unit 203 causes the logic circuit 255 to execute processing based on the determined processing specifications and the circuit management DB 4.
  • the processing executed by the logic circuit 255 in the specification B in the circuit management DB 4 includes processing executed by the hardware 205 other than the logic circuit 255 in the specification A, that is, the GPU 256. Therefore, the autonomous traveling control device 2 can use the logic circuit 255 to substitute the processing of the hardware 205 in which the failure has occurred when a failure occurs in the hardware 205 other than the logic circuit.
  • the application condition 300 includes an external situation that is a result of analyzing the collected external information. Therefore, the autonomous traveling control device 2 can control the hardware 205 in consideration of an external situation.
  • the application condition 300 includes recognition accuracy of external information that is a result of analyzing collected external information. Therefore, the autonomous traveling control device 2 can control the hardware 205 in consideration of recognition accuracy of external information.
  • the application condition 300 includes the occurrence of failures in a plurality of hardware. Therefore, the autonomous traveling control device 2 can control the hardware 205 in consideration of the failure state in the hardware 205 monitored by the monitoring unit 207.
  • Collection of external information is performed by a sensor such as a camera, laser, or radar.
  • the application condition 300 includes a sensor failure. Therefore, the autonomous traveling control device 2 can control the hardware 205 in consideration of sensor failure.
  • the application condition for each processing specification is a combination of a switching condition indicating the condition and a switching priority indicating the priority to be applied.
  • the processing control unit 203 determines a processing specification having a high switching priority when a plurality of switching conditions are met. Therefore, the autonomous traveling control device 2 can change the processing specification to be applied according to a predetermined priority.
  • the autonomous traveling control device 2 includes the CPU 251, the logic circuit 255, and the GPU 256 as operable hardware. However, the autonomous traveling control device 2 may further include other operable hardware such as a DSP (digital signal processor).
  • the autonomous traveling control device 2 may include a plurality of hardware of the same type.
  • the CPU 251 includes a plurality of physical cores, each may be handled as different hardware, or may be handled as one hardware in units of several physical cores.
  • the CPU 251 may treat one physical core as a plurality of logical cores using hardware multithreading technology, and treat each logical core as different hardware.
  • the functional configuration of the autonomous traveling control device 2 is merely an example, and another configuration may have a certain function, or a plurality of functional units may be integrated.
  • the information collection unit 202 and the processing control unit 203 may be integrated.
  • the processing control unit 203 executes data transmission to the hardware 205 that is a function that the information collecting unit 202 has been responsible for.
  • FIG. 10 is a sequence diagram when the processing control unit 203 executes data transmission to the hardware 205. That is, FIG. 10 corresponds to FIG. 8 in the above-described embodiment. FIG. 10 is different from FIG. 8 in that the information collection unit 202 transfers the data to the hardware 205 or the processing control unit 203. In FIG. 10, the processing control unit 203 transfers the data acquired from the information collection unit 202 to the hardware 205. Only data necessary as an accelerator of the process control unit 203 may be transferred by passing the data through the process control unit 203.
  • Steps S801 to S806 in FIG. 10 are the same as those in FIG.
  • the process control unit 203 instructs the information collection unit 202 to start transferring camera information, radar information, laser information, and the like (S837).
  • the information collection unit 202 transfers the data to the processing control unit 203 (S838). Since the processing specification 303 is the specification D, the processing control unit 203 refers to the transfer DB 6 shown in FIG. 7 and determines that the GPU 256 is the transfer destination of camera information and the logic circuit 255 is the transfer destination of radar information and laser information. To do.
  • the processing control unit 203 adjusts the transfer timing to each transfer destination hardware 205 (S839), and transfers the data (S840).
  • the processing control unit 203 considers processing performance and processing time that differ depending on the type of hardware, and adjusts the data to be transferred to the hardware 205 of each transfer destination.
  • the processing control unit 203 transfers the camera information to the GPU 256 realized by the GPU, the radar information and the laser information to the logic circuit 255 realized by the logic circuit, and transfers the information to the CPU 251 realized by the CPU. Indicates that no data is transferred.
  • each hardware 205 performs arithmetic processing as needed based on the arrived data (S841), and notifies the processing control unit 203 of the processing result (S842).
  • Subsequent steps S813 and S814 are the same as those in FIG. The above is the description of the transition diagram shown in FIG.
  • the autonomous traveling control device 2 includes the CPU 251, the logic circuit 255, and the GPU 256 as operable hardware.
  • the autonomous traveling control device 2 may include at least two pieces of hardware that can be operated.
  • the autonomous traveling control device 2 may not include one of the CPU 251, the logic circuit 255, and the GPU 256.
  • the autonomous traveling control device 2 may be configured to include any two pieces of hardware including a CPU 251, a logic circuit 255, and hardware that can be operated other than the GPU 256, for example, a DSP.
  • the autonomous traveling control device 2 includes a GPU 256 and a DSP, and based on the collected external information and the state of the GPU 256 and the DSP, one of a plurality of processing specifications is determined based on the appropriateness to the condition, and based on the determined processing specifications You may control GPU256 and DSP.
  • control lines and the information lines are those that are considered necessary for the explanation, and not all the control lines and the information lines that are necessary for the mounting are shown. In practice, it may be considered that almost all the components are connected to each other.
  • the program is stored in the ROM 252, but the program may be stored in the flash memory 254.
  • the autonomous traveling control device 2 includes an input / output interface (not shown), and when necessary, the program may be read from another device via a medium that can be used by the input / output interface and the autonomous traveling control device 2.
  • the medium refers to, for example, a storage medium that can be attached to and detached from the input / output interface, or a communication medium, that is, a wired, wireless, or optical network, or a carrier wave or digital signal that propagates through the network.
  • some or all of the functions realized by the program may be realized by a hardware circuit or FPGA.

Landscapes

  • Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Transportation (AREA)
  • Mechanical Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Traffic Control Systems (AREA)
  • Control Of Driving Devices And Active Controlling Of Vehicle (AREA)

Abstract

電子制御装置は、演算可能な複数のハードウェアを搭載する車両に搭載され、車両の外部の情報を収集する情報収集部と、複数のハードウェアのそれぞれに実行させる処理および複数のハードウェアが演算に用いる外部の情報を定める複数の処理仕様、および複数の処理仕様をそれぞれ適用するための外部の情報および複数のハードウェアの状態に関する条件である適用条件を格納する記憶部と、収集した外部の情報および複数のハードウェアの状態に基づき、条件への該当性から複数の処理仕様のいずれかを決定し、決定した処理仕様に基づき複数のハードウェアを制御する処理制御部とを備える。

Description

電子制御装置、制御方法
 本発明は、電子制御装置、および制御方法に関する。
 車両の自動運転を目指した技術開発が進められている。自動運転は運転者に代わり周囲の認識、車両の制御を行う必要があり、高度な情報処理が求められる。自動運転車は、車両に複数のセンサを備え、各センサから取得した情報を基に道路や天気など、外部環境を把握する。特許文献1には、車両の自動走行を実現する車両走行制御システムであって、前記車両は、前記車両の外部の状況を検出するセンサを複数有し、前記車両走行制御システムは、プロセッサ及びメモリを有し、前記メモリは、前記複数のセンサの検出結果をフュージョンする仕様であって、前記車両の外部環境に対応する複数のフュージョン仕様を記憶し、前記プロセッサは、前記メモリに記憶された複数のフュージョン仕様から前記車両の外部環境に対応する一つのフュージョン仕様を選択し、前記選択したフュージョン仕様において前記外部環境が原因で前記センサの認識精度が低下する領域を前記選択したフュージョン仕様の弱点領域としてドライバに提示し、前記選択したフュージョン仕様に基づいて、前記複数のセンサの検出結果をフュージョンして、前記車両の外部の状況を認識して、前記車両の自動走行を制御することを特徴とする車両走行制御システムが開示されている。
日本国特開2017-132285号公報
 特許文献1に記載されている発明では、外部環境および演算可能なハードウェアの状態に応じた演算可能なハードウェアの最適な制御ができない。
 本発明の第1の態様による電子制御装置は、演算可能な複数のハードウェアを搭載する車両に搭載される電子制御装置であって、前記車両の外部の情報を収集する情報収集部と、前記複数のハードウェアのそれぞれに実行させる処理および前記複数のハードウェアが演算に用いる前記外部の情報を定める複数の処理仕様、および前記複数の処理仕様をそれぞれ適用するための前記外部の情報および前記複数のハードウェアの状態に関する条件である適用条件を格納する記憶部と、前記収集した外部の情報および前記複数のハードウェアの状態に基づき、前記条件への該当性から前記複数の処理仕様のいずれかを決定し、決定した前記処理仕様に基づき前記複数のハードウェアを制御する処理制御部とを備える。
 本発明の第2の態様による制御方法は、演算可能な複数のハードウェアを備える車両に搭載され、複数の処理仕様と前記複数の処理仕様をそれぞれ適用するための条件である適用条件とを格納する記憶部を備える電子制御装置が実行する制御方法であって、前記処理仕様とは、前記複数のハードウェアのそれぞれに実行させる処理と前記複数のハードウェアが演算に用いる前記車両の外部の情報とを定めるものであり、前記適用条件とは、前記外部の情報と前記複数のハードウェアの状態とに関する条件であり、前記車両の外部の情報を収集することと、前記収集した外部の情報および前記複数のハードウェアの状態に基づき、前記条件への該当性から前記複数の処理仕様のいずれかを決定し、決定した前記処理仕様に基づき前記複数のハードウェアを制御することとを含む。
 本発明によれば、外部環境および演算可能なハードウェアの状態に応じた演算可能なハードウェアの最適な制御ができる。
車載システム1のシステム構成図 自律走行制御装置2のハードウェア構成図 自律走行制御装置2の機能構成図 論理回路255に1つの論理回路が構成される場合のハードウェア205の構成例を示す図 論理回路255に2つの論理回路が構成される場合のハードウェア205の構成例を示す図 処理割当DB3の一例を示す図 回路管理DB4の一例を示す図 転送DB6の一例を示す図 実施の形態における自律走行制御装置2の動作を示すシーケンス図 仕様Aにおいて取得した情報とハードウェア205の対応付けを示す図 仕様Bにおいて取得した情報とハードウェア205の対応付けを示す図 仕様Cにおいて取得した情報とハードウェア205の対応付けを示す図 仕様Dにおいて取得した情報とハードウェア205の対応付けを示す図 仕様Eにおいて取得した情報とハードウェア205の対応付けを示す図 変形例2における自律走行制御装置2の動作を示すシーケンス図
―実施の形態―
 以下、図1~図9Eを参照して、本発明に係る自律走行制御装置の実施の形態を説明する。
 <システム構成>
 図1は、自律走行制御装置2を含む車載システム1のシステム構成図である。車載システム1は、車両100に搭載され、カメラ情報取得部101と、レーダ情報取得部102と、レーザ情報取得部103と、車両100に搭載される衛星航法システム、たとえばGPS(Global Positioning System)の受信機を用いて車両100の位置を検出する自車位置情報取得部104とを備える。車両100は不図示のカメラ、レーダ、およびレーザを備え、カメラ情報取得部101は、車両100の外界の情報、たとえば可視光領域における光の反射に関する情報を前述のカメラにより取得する。レーダ情報取得部102は、車両100の外界の情報、たとえば複数の周波数を有する電波の反射に関する情報を前述のレーダにより取得する。レーザ情報取得部103は、車両100の外界の情報、たとえば単一周波数を有する赤外線の反射に関する情報をレーザにより取得する。車載システム1はさらに、車両100の自動運転を設定するための自動運転設定部105と、OTA(Over-The-Air)により車載システム1の情報を更新するための無線通信部106とを備える。
 車載システム1はさらに、自律走行制御装置2と、補助制御部107と、ブレーキ制御部108と、エンジン制御部109と、パワーステアリング制御部110とを備える。自律走行制御装置2、補助制御部107、ブレーキ制御部108、エンジン制御部109、およびパワーステアリング制御部110は、たとえばECU(Electronic Control Unit)である。
 カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103、自車位置情報取得部104、自動運転設定部105、無線通信部106、自律走行制御装置2、補助制御部107、ブレーキ制御部108、エンジン制御部109、およびパワーステアリング制御部110は、車両100に備えられる通信ネットワーク、たとえばCAN(Controller Area Network)(登録商標)によって相互に通信可能に接続される。
 カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103、および自車位置情報取得部104は、それぞれがセンサなどから受信した情報(以下、「センサ情報」と呼ぶ)を自律走行制御装置2に送信する。また、カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103、および自車位置情報取得部104は、それぞれのセンサの異常や精度の低下を検出し、センサの異常や精度の低下に関する情報(以下、「異常検出情報」と呼ぶ)を自律走行制御装置2に送信する。
 自動運転設定部105は、自動運転時の目的地、ルート、走行速度等の設定情報を自律走行制御装置2に送信する。ただし自動運転設定部105が送信する情報の一部は、無線通信部106を介して外部から受信したものであってもよい。
 自律走行制御装置2は、自動運転制御のための処理を行い処理結果に基づいて制御指令を、ブレーキ制御部108、エンジン制御部109、およびパワーステアリング制御部110へ出力する。補助制御部107は、自律走行制御装置2と同様の制御を補助として行う。ブレーキ制御部108は、車両100の制動力を制御する。エンジン制御部109は、車両100の駆動力を制御する。パワーステアリング制御部110は、車両100のステアリングを制御する。
 自律走行制御装置2は、自動運転設定部105により自動運転の設定要求を受け付けると、カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103、および自車位置情報取得部104等からの外界の情報を基に車両100が移動する軌道を算出する。そして、自律走行制御装置2は、算出した軌道に従って車両100を移動させるように、制動力、駆動力、操舵などの制御指令を、ブレーキ制御部108、エンジン制御部109、およびパワーステアリング制御部110に出力する。ブレーキ制御部108、エンジン制御部109、およびパワーステアリング制御部110は、自律走行制御装置2から制御指令を受けて、それぞれ不図示の制御対象であるアクチュエータに操作信号を出力する。
 <自律走行制御部のハードウェア構成>
 図2は、自律走行制御装置2のハードウェア構成図である。自律走行制御装置2は、CPU251と、ROM252と、RAM253と、フラッシュメモリ254と、論理回路255と、GPU256と、通信インタフェース258とを備える。CPU251やGPU256は、ROM252に格納されたプログラムをRAM253に展開して実行することで後述する機能を実現する。フラッシュメモリ254は不揮発性の記憶領域であり、フラッシュメモリ、ハードディスクドライブなどから構成される。論理回路255は、FPGA(field-programmable gate array)などのPLD(Programmable Logic Device)を用いた再構成可能な論理回路である。論理回路255はその一部のみを再構成することが可能な、いわゆる部分再構成可能な論理回路である。通信インタフェース258は、CAN等の所定のプロトコルで通信するインタフェースである。
 なお、自律走行制御装置2を構成するCPU251、ROM252、RAM253、フラッシュメモリ254、論理回路255、およびGPU256のハードウェアは、それぞれが1つのデバイスとしてECU上に構成されても良いし、SoC(System on Chip)のように、複数のハードウェアが1つのデバイスとしてECU上に構成されてもよい。また、自律走行制御装置2は、1つのECUで構成しても良いし、複数のECUで構成してもよい。
 <自律走行制御装置の機能構成>
 図3は、自律走行制御装置2の機能構成図である。自律走行制御装置2は、第1通信インタフェース201-1、第2通信インタフェース201-2、情報収集部202、処理制御部203、演算部204、監視部207、処理割当データベース(以下、処理割当DB)3、回路管理データベース(以下、回路管理DB)4、回路データベース(以下、回路DB)5、および転送データベース(以下、転送DB)6を有する。以下では、第1通信インタフェース201-1、第2通信インタフェース201-2をまとめて、「通信インタフェース201」と呼ぶ。また、CPU251と、論理回路255と、GPU256とをまとめて、ハードウェア205と呼ぶ。
 通信インタフェース201は、図2の通信インタフェース258により実現される。処理割当DB3、回路管理DB4、回路DB5、および転送DB6は、RAM253またはフラッシュメモリ254に格納される情報である。演算部204はハードウェア205により実現される。情報収集部202、および処理制御部203は、CPU251、論理回路255、およびGPU256のいずれかにより構成される。
 自律走行制御装置2は、第1通信インタフェース201-1を介して、図1のカメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103、自車位置情報取得部104、自動運転設定部105、および無線通信部106と接続される。自律走行制御装置2は、第2通信インタフェース201-2を介して補助制御部107、ブレーキ制御部108、エンジン制御部109、およびパワーステアリング制御部110と接続される。なお図3では、自律走行制御装置2は第1通信インタフェース201-1および第2通信インタフェース201-2の論理的な2つの通信インタフェースを備えるが、両者の機能を併せ持つ1つの論理的な通信インタフェースのみを備えてもよい。
 情報収集部202は、第1通信インタフェース201-1から入力される、カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103、及び自車位置情報取得部104からのセンサ情報や異常検出情報、自動運転設定部105からの自動運転設定情報を収集する。情報収集部202は、転送DB6を参照し、収集したセンサ情報を転送するハードウェア205を判定する。ただし情報収集部202は、収集したセンサ情報をハードウェア205だけでなく処理制御部203にも送信してよい。情報収集部202は、異常検出情報および自動運転設定情報を処理制御部203に転送する。
 処理制御部203は、所定の処理周期で後述する処理を繰り返し実行する。処理制御部203は、情報収集部202からセンサの異常検出情報が入力され、監視部207からハードウェア205の不具合の情報が入力され、演算部204から演算結果が入力される。処理制御部203は、入力されるセンサの異常検出情報、ハードウェア205の不具合情報、および演算部204の演算結果に基づき、ハードウェア205に実施させる処理を決定する。
 具体的には処理制御部203は、処理割当DB3に記載された切替条件および切り替え優先度にしたがって有効な処理仕様を決定し、決定した処理仕様に対応する処理をハードウェア205に実行させる。処理制御部203は、論理回路255を使用する場合は、回路管理DB4をさらに参照して、論理回路255に構成する論理回路の数や回路データを決定する。論理回路の数や回路データは、決定した有効な処理仕様により一意に定まる。詳しくは後述する。
 論理回路255に構成される論理回路が実行する処理は、他のハードウェア、たとえばCPU251やGPU256が実行していた処理の場合もある。論理回路255に論理回路を構成するための回路データは、回路DB5に格納される。また処理制御部203は、情報収集部202にセンサ情報をハードウェア205に転送するよう周期的に指示を出す。処理制御部203は、ハードウェア205から処理結果を取得し、取得した処理結果を基に、制動力や駆動力などの制御指令を第2通信インタフェース201-2から出力する。
 演算部204を構成するハードウェア205は、情報収集部202より取得するセンサ情報を処理対象として処理制御部203によって決定された処理を行い、処理制御部203に処理結果を送信する。ハードウェア205は、センサが収集した外部の情報を解析して外部の状況、たとえば道路の種別を判断する。たとえばハードウェア205は、車両100が一般道路を走行している、または車両100が高速道路を走行している、などの判断を行う。監視部207は、ハードウェア205の状態を監視し、不具合を検出すると処理制御部203に不具合の情報を伝達する。たとえば監視部207は、CPU251が故障した旨を処理制御部203に伝達する。
 <演算部の構成例>
 図4Aおよび図4Bは、演算部204におけるハードウェア205の構成例を示す図である。図4Aは論理回路255に1つの論理回路、すなわち全領域回路206Aが構成される例を示す図であり、図4Bは論理回路255に2つの論理回路、すなわち第1半領域回路206B-1および第2半領域回路206B-2が構成される例を示す図である。なお全領域回路206A、第1半領域回路206B-1、および第2半領域回路206B-2の名称は便宜的なものであり、全領域回路206Aが論理回路255の全ての領域を使用しなくてもよい。これと同様に、第1半領域回路206B-1および第2半領域回路206B-2は論理回路255のそれぞれ半分ずつを使用していなくてもよく、論理回路255に2つの論理回路が構成されていることを示しているだけである。以下では、第1半領域回路206B-1および第2半領域回路206B-2をまとめて、半領域回路206Bと呼ぶ。
 図4Aに示す例では、論理回路255には全領域回路206Aが構成され、論理回路255は、取得したセンサ情報を全領域回路206Aに入力する。図4Bに示す例では、論理回路255には第1半領域回路206B-1および第2半領域回路206B-2が構成され、論理回路255は、取得したセンサ情報の種類に基づいて第1半領域回路206B-1または第2半領域回路206B-2にセンサ情報を入力する。第1半領域回路206B-1および第2半領域回路206B-2は、それぞれ入力されたセンサ情報を処理し、処理制御部203に出力する。
 <処理割当データベースの管理情報>
 図5は、処理割当DB3の一例を示す図である。処理割当DB3は、処理制御部203によって参照され、処理仕様に基づいてハードウェア205に割り当てる処理内容が格納されるデータベースである。処理割当DB3は、適用条件300、処理仕様303、使用ハードウェア304、および割当処理305のフィールドを有する。処理割当DB3に記載される複数の処理仕様303のうち、いずれか1つだけが有効化される。
 適用条件300は、切替条件301および切替優先度302の組み合わせである。切替条件301には、自律走行制御装置2が取得したセンサ情報や異常検出情報、およびハードウェア205の状態に基づいて判断される、有効な処理仕様の切替条件が格納される。切替条件301はたとえば、車両100の現在位置の分類、車両100の移動速度、天候、明るさ、燃料やバッテリーの残量、カメラ等のセンサの不具合、ハードウェア205の不具合などである。ただし有効な処理仕様の切り替えは、切替条件301だけでなく次の切替優先度302もあわせて考慮される。
 図5に例示されている切替条件301のフィールドの値を説明する。1行目に示されている「周囲環境(一般道路)」は、車両100の周囲環境が一般道路である、換言すると車両100の現在位置が一般道路であることを示している。2行目に示されている「周囲環境(高速道路)」は、車両100の周囲環境が一般道路である、換言すると車両100の現在位置が高速道路であることを示している。3行目に示されている「センサ精度低下」は、いずれかのセンサによる検出精度が低下したことを示している。4行目に示されている「CPU故障」は、CPU251に何らかの不具合があることを示している。5行目に示されている「カメラ故障」は、いずれかのカメラが動作不能になったことを示している。
 切替優先度302には、処理仕様を切替える優先度の情報が格納される。優先度はたとえば順列を判断可能な数字や文字で表され、たとえば「低」よりも「中」が優先され、「中」よりも「高」がさらに優先される。たとえば図5に示す例において、仕様Aと仕様Cの両方の切替条件301に該当する場合には、切替優先度302のフィールドの値が優先度の高い仕様Cが有効となる。
 処理仕様303には、処理割当DB3におけるそれぞれの処理仕様の名称が格納される。ただしこの処理仕様303に格納された値により、各センサから得られた値の組み合わせ方法、すなわちセンサフュージョンの仕様が決定されてもよい。換言すると、処理仕様303に格納される情報は、処理仕様を識別するための単なるラベルとしてのみ機能してもよいし、さらなる情報を有するものであってもよい。使用ハードウェア304には、処理仕様303において使用するハードウェア205の情報が格納される。図5に示す例では、使用するハードウェア205の欄には「〇」が、使用しないハードウェア205の欄には「-」が記入されている。
 割当処理305には、各ハードウェア205に割り当てられる処理の情報、換言すると各ハードウェアにおいて実施される処理の情報が格納される。なおCPU251およびGPU256が実行するプログラムは前述のとおりROM252に格納されており、処理制御部203がCPU251およびGPU256の実行すべき処理にあわせて適切なプログラムをROM252からCPU251およびGPU256に読み込ませる。論理回路255の処理については後述する。
 図5の最終行に示す例を具体的に説明する。切替条件301のフィールドは「センサ故障検出」なので、カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103、または自車位置情報取得部104からカメラが故障した旨の情報を受信することをハードウェア205の切替条件とすることが示されている。そして切替優先度302のフィールドに「高」が格納されており、処理仕様303のフィールドに示されているように処理仕様を「仕様E」に変更する優先度が高いことが示されている。使用ハードウェア304のフィールドには、左から順に「○」、「-」、「○」が格納されており、CPU251および論理回路255を使用し、GPU256を使用しないことが示されている。割当処理305のフィールドには、CPU251が「処理P」を行い、GPU256が処理を行わず、論理回路255が「処理R」を行うことが示されている。
 なお、図5に示す処理割当DB3は一例であり、使用ハードウェア304を構成する情報や割当処理305を構成する情報の数は、3以外でもよい。すなわち使用ハードウェア304や割当処理305が2、または4以上の情報から構成されてもよい。また使用ハードウェア304の欄を省き、割当処理305の欄に難からの情報が記載されているか否かで判断してもよい。
 <回路管理データベースの管理情報>
 図6は、回路管理DB4の一例を示す図である。回路管理DB4は、処理制御部203によって参照され、論理回路255の分割数や、使用する回路データの情報が格納されるデータベースである。ここでは、図4Aおよび図4Bで示したように論理回路255に論理回路が用いられている例を示す。
 回路管理DB4は、処理仕様401ごとに、分割数402、および回路データ403のフィールドを有する。処理仕様401は、図3に示した処理仕様303と同一である。分割数402には、処理仕様401に応じて、論理回路255を構成する論理回路(全領域回路206Aまたは半領域回路206B)を分割する数が格納される。回路データ403には、処理仕様401に応じて、論理回路255に構成する論理回路の回路データを特定する情報が格納される。具体的には回路データ403には、回路DB5に格納される回路データのアドレス情報が格納される。なお、分割数402が「1」の場合は分割しないことを示し、回路データ403には1つの回路データが格納される。その場合には2番目の回路データを示す回路データ403-2には存在しないことを示す「-」が格納される。
 たとえば図6に示す1行目の例では、処理仕様401は「仕様A」、分割数402は「1」、回路データ403-1は「0x00789」、回路データ403-2は「-」が格納される。すなわち処理仕様が仕様Aの場合には、論理回路255には1つの論理回路のみが構成され、その回路データは回路DB5のアドレス「0x00789」から読み込まれることが示されている。なお図6に示す回路管理DB4の例では分割数は1または2であるが、分割数は3以上であってもよい。その場合は分割数に対応する回路データの欄が設けられる。
 <転送データベースの管理情報>
 図7は、転送DB6の一例を示す図である。転送DB6は、情報収集部202によって参照され、カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103、自車位置情報取得部104などから収集したセンサ情報を転送する先のハードウェア205の情報が格納されるデータベースである。図7では、カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103からそれぞれ取得するカメラ情報、レーダ情報、レーザ情報を、CPU251、GPU256、および論理回路255のいずれに転送するかを示している。
 転送DB6は、処理仕様601ごとに、転送情報602のフィールドを有する。処理仕様601は、図3に示した処理仕様303と同一である。転送情報602には、処理仕様601に応じて、カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103からそれぞれ取得するカメラ情報、レーダ情報、レーザ情報を転送する先のハードウェア205の情報が格納される。ただし転送を行わない場合には転送不要を示す情報、たとえば「-」が格納される。
 図7に示す例では、たとえば処理仕様601が仕様Cの場合には、カメラ情報はGPU256に転送し、レーダ情報は転送不要であり、レーザ情報は論理回路255に転送する旨が示されている。
<動作シーケンス>
 図8は、自律走行制御装置2の情報収集部202、処理制御部203、およびハードウェア205の動作を示すシーケンス図である。なお図8には示していないが監視部207も継続して動作しており、ハードウェア205の不具合を検出すると処理制御部203に不具合の情報を伝達する。図8は具体的には、自律走行制御装置2内において、演算部204上のハードウェア205が図4に示す構成例であり、図5に示す処理割当DB3、図6に示す回路管理DB4、回路DB5、および図7に示す転送DB6を用いて、情報収集部202、処理制御部203、CPU251、GPU256、および論理回路255の動作概要およびその遷移図を示すものである。
 図8では周期L1における自律走行制御装置2の動作が示されており、その直前の処理周期は周期L0であり、その直後の処理周期は周期L2である。周期L0では、有効な処理仕様は仕様Aと判断された。そのため周期L0では、図5の1行目に示すようにCPU251では処理Pが実行され、GPU256では処理Qが実行され、論理回路255では処理Rが実行された。すなわち周期L0では、論理回路255には処理R用の論理回路が構成された。周期L0の終盤において情報収集部202にカメラ情報取得部101からカメラが故障している旨の情報が入力され、この情報が情報収集部202から処理制御部203に伝達された。
 周期L1において、処理制御部203はまず、処理割当DB3を読み込み、切替条件301および切替優先度302に基づいて有効な処理仕様303を決定する(S801)。処理制御部203は、周期L0の終盤でカメラが故障した旨の情報を取得しているので、周期L0と同様に仕様Aの切替条件に該当し、さらに仕様Dの切替条件に該当すると判断する。そして切り替え優先度は仕様Dが「高」であり、仕様Aよりも優先度が高いことから、処理制御部203は有効な処理仕様を仕様Dと決定する。
 次に処理制御部203は、周期L1における処理仕様は直前の周期L0の処理仕様から変更されたので、CPU251、GPU256、および論理回路255に対して仕様変更指示を送信する(S802)。具体的には処理制御部203は、CPU251には「処理P」から「処理なし」への変更を指示し、GPU256は処理Qから変更がないのでGPU256へは変更の指示はせず、論理回路255には「処理R」から「処理P、R」への変更を指示する。
 次に処理制御部203は、論理回路を再構成するために、回路管理DB4および回路DB5を読み込む(S803)。詳述すると、処理制御部203は、仕様Dが有効な処理仕様なので、回路管理DB4の仕様Dの行に記載に従い、回路DB5の0x00123、および0x00789のアドレスから回路データを取得する。
 次に処理制御部203は、S803において取得した2つの回路データを含む再構成指示を論理回路255に通知する(S804)。論理回路255は、受信した2つの回路データの書き込み、すなわち論理回路255の再構成が完了すると(S805)、完了通知を処理制御部203に通知する(S806)。
 処理制御部203は、論理回路255から再構成の完了通知を受信すると、ステップS801において決定した処理仕様303の情報「仕様D」を含むデータ転送開始指示を情報収集部202に指示する(S807)。情報収集部202は、転送先のハードウェア205を判断するため、転送DB6を読み込む(S808)。処理制御部203は、データ転送開始指示に含まれる処理仕様が仕様Dなので、転送処理DB6の仕様Dの行を参照して、符号602-1で示すカメラ情報の転送先が「GPU256」、符号602-2で示すレーダ情報の転送先が「論理回路255」、符号602-3で示すレーザ情報の転送先が「論理回路255」であることを判断する。
 次に情報収集部202は、各転送先のハードウェア205への転送タイミングを調整し(S809)、データを転送する(S810)。情報収集部202は、CPU、GPUなどのプロセッサ、FPGAなどPLDの論理回路など、ハードウェアの種類によって異なる処理性能や処理時間などを考慮し、各転送先のハードウェア205へデータを転送するように調整する。図8の周期L1では、情報収集部202は、カメラ情報をGPU256に、レーダ情報およびレーザ情報を論理回路255に転送し、CPU251にはデータは転送しない。
 それぞれのハードウェア205は、到着したデータを用いて随時演算処理を実施し(S811)、処理結果を処理制御部203に通知する(S812)。具体的には、GPU256はカメラ情報の処理結果を処理制御部203に通知し、論理回路255はレーダ情報およびレーザ情報を処理制御部203に通知する。処理結果を受信した処理制御部203は、受信した処理結果を基に、制御指令値を出力し(S814)、周期L1における動作を終了して周期L2の処理を開始する。以上が図8に示した遷移図の説明である。
 なお図8では、有効な処理仕様が変更される例を説明したが、論理回路を使用しない場合や、論理回路の再構成が生じない場合は、ステップS803~S806を省略してもよい。さらに、有効な処理仕様が変更されない場合には、ステップS802~S806を省略してもよい。
<取得情報とハードウェア対応付けの概念図>
 図9は、車載システム1における取得情報と自律走行制御装置2のハードウェア205の対応付けを示す概念図である。具体的には、自律走行制御装置2内において、情報収集部202、処理制御部203、CPU251、GPU256、および論理回路255が図8に示す動作を行う場合の、カメラ情報取得部101、レーダ情報取得部102、レーザ情報取得部103からそれぞれ取得するカメラ情報、レーダ情報、レーザ情報と、それらの情報を処理するCPU251、GPU256、および論理回路255との対応付けの変化を示す概念図である。
 図9A~から図9Eはそれぞれ、図5に示す処理割当DB3の処理仕様303が「仕様A」から「仕様E」の場合の車載システム1における取得情報と自律走行制御装置2のハードウェア205の対応付けを示す。
 図9Aは、処理仕様303が「仕様A」の場合であり、一般道路を走行中の場合には、カメラ情報はGPU256で処理し、レーダ情報はCPU251で処理し、レーザ情報は論理回路255で処理することを示す。図9Bは、処理仕様303が「仕様B」の場合であり、高速道路を走行中の場合には、レーダ情報はCPU251で処理し、カメラ情報およびレーザ情報は論理回路255で2つの論理回路で処理することを示す。これはたとえばカメラ情報やレーザ情報の処理仕様を緩和し、GPU256を使用せず消費電力を低減するということを示す。
 図9Cは、処理仕様303が「仕様C」の場合であり、レーダ情報からのセンサ精度の低下を検出した場合には、カメラ情報はGPU256で処理し、レーザ情報は論理回路255で処理し、レーダ情報は処理しないことを示す。CPU251は、検出精度が低下したレーダ情報の検出範囲を補うため、たとえばカメラ情報を処理するGPU256を補助することを示す。図9Dは、処理仕様303が「仕様D」の場合であり、CPU251の故障を検出した場合には、カメラ情報はGPU256で処理し、レーダ情報およびレーザ情報は論理回路255で2つの論理回路で処理することを示す。これはたとえば不足する処理リソースを補うため、レーダ情報およびレーザ情報の処理仕様を緩和し、論理回路255上に縮約して処理することを示す。図9Eは、処理仕様303が「仕様E」の場合であり、カメラ情報の故障を検出した場合には、レーダ情報はCPU251で処理し、レーザ情報は論理回路255で処理し、カメラ情報は処理しないことを示す。
 上述した実施の形態によれば、次の作用効果が得られる。
(1)自律走行制御装置2は、演算可能なハードウェア205を搭載する車両100に搭載される。自律走行制御装置2は、車両100の外部の情報を収集する情報収集部202と、ハードウェア205のそれぞれに実行させる処理およびハードウェア205が演算に用いる外部の情報を定める複数の処理仕様、および複数の処理仕様をそれぞれ適用するための外部の情報およびハードウェア205の状態に関する条件である適用条件が記載された処理割当DB3を格納するフラッシュメモリ254と、収集した外部の情報およびハードウェア205の状態に基づき、条件への該当性から複数の処理仕様のいずれかを決定し、決定した処理仕様に基づき複数のハードウェアを制御する処理制御部203とを備える。そのため自律走行制御装置2は、外部環境および演算可能なハードウェア205の状態に応じた演算可能なハードウェア205の最適な制御ができる。また最適なハードウェア205の制御を実現することにより、消費電力を低減することもできる。
(2)ハードウェア205のうち少なくとも一つは再構成可能な論理回路である論理回路255である。フラッシュメモリ254には、処理仕様ごとに論理回路255に実行させる処理を定める回路管理DB4がさらに格納される。処理制御部203は、決定した処理仕様および回路管理DB4に基づき論理回路255に処理を実行させる。回路管理DB4におけるある処理仕様、たとえば仕様Bにおいて論理回路255に実行させる処理は、仕様AにおいてGPU256が実行する処理を含む。そのため自律走行制御装置2は、あるハードウェアに不具合が生じた場合に、論理回路255が不具合の生じたハードウェアが実行していた処理を代理できる。
(3)回路管理DB4における仕様Bにおいて論理回路255に実行させる処理は、仕様Aにおいて論理回路255以外のハードウェア205、すなわちGPU256が実行する処理を含む。そのため自律走行制御装置2は、論理回路以外のハードウェア205に不具合が生じた場合に、論理回路255を用いて不具合が生じたハードウェア205の処理を代理できる。
(4)図5の仕様Aおよび仕様Bの切替条件301の欄に示すように、適用条件300には、収集した外部の情報を解析した結果である外部の状況が含まれる。そのため自律走行制御装置2は、外部の状況を考慮してハードウェア205を制御できる。
(5)図5の仕様Cの切替条件301の欄に示すように、適用条件300には、収集した外部の情報を解析した結果である外部の情報の認識精度が含まれる。そのため自律走行制御装置2は、外部の情報の認識精度を考慮してハードウェア205を制御できる。
(6)図5の仕様Dの切替条件301の欄に示すように、適用条件300には、複数のハードウェアにおける障害の発生が含まれる。そのため自律走行制御装置2は、監視部207が監視するハードウェア205における故障の状況を考慮してハードウェア205を制御できる。
(7)外部の情報の収集はカメラ、レーザ、レーダなどのセンサによって行われる。図5の仕様Eの切替条件301の欄に示すように、適用条件300には、センサの故障が含まれる。そのため自律走行制御装置2は、センサの故障を考慮してハードウェア205を制御できる。
(8)処理仕様ごとの適用条件は、条件を示す切替条件および適用する優先度を示す切替優先度の組み合わせである。処理制御部203は、複数の切替条件が適合する場合には切替優先度が高い処理仕様に決定する。そのため自律走行制御装置2は、あらかじめ定められた優先度にしたがって適用する処理仕様を変更できる。
(変形例1)
 上述した実施の形態では、自律走行制御装置2は演算可能なハードウェアとしてCPU251と、論理回路255と、GPU256とを備えた。しかし自律走行制御装置2は、さらに他の演算可能なハードウェア、たとえばDSP(digital signal processor)を備えてもよい。また自律走行制御装置2は同一種類のハードウェアを複数備えてもよい。CPU251が複数の物理コアを備える場合はそれぞれを異なるハードウェアとして扱ってもよいし、いくつかの物理コアの単位で1つのハードウェアとして扱ってもよい。さらにCPU251はハードウェアマルチスレッディング技術を用いて、1つの物理コアを複数の論理コアとして扱い、それぞれの論理コアを異なるハードウェアとして扱ってもよい。
(変形例2)
 上述した実施の形態において、自律走行制御装置2の機能構成は一例を示したにすぎず、ある機能を他の構成が備えてもよいし、複数の機能部を統合してもよい。たとえば情報収集部202と処理制御部203とを統合してもよい。上述した実施の形態における機能分担を変更する例として、情報収集部202が担っていた機能であるハードウェア205へのデータ伝送を処理制御部203が実行する場合を説明する。
 図10は、ハードウェア205へのデータ伝送を処理制御部203が実行する場合のシーケンス図である。すなわち図10は上述した実施の形態における図8に対応する。図10では、図8と比較し、情報収集部202がデータを転送する先がハードウェア205か処理制御部203かという点が異なる。図10では、処理制御部203が情報収集部202から取得したデータをハードウェア205に転送する。データの転送に処理制御部203を経由することで、処理制御部203のアクセラレータとして必要なデータのみを転送してもよい。
 図10のステップS801~ステップS806は図8と同じである。ステップS806の後、処理制御部203は、カメラ情報、レーダ情報、レーザ情報等の転送開始を情報収集部202に指示する(S837)。情報収集部202は、処理制御部203にデータを転送する(S838)。処理制御部203は、処理仕様303が仕様Dなので、図7に示す転送DB6を参照して、GPU256がカメラ情報の転送先、論理回路255がレーダ情報およびレーザ情報の転送先であることを判断する。
 次に処理制御部203は、各転送先のハードウェア205への転送タイミングを調整し(S839)、データを転送する(S840)。処理制御部203は、ハードウェアの種類によって異なる処理性能や処理時間などを考慮し、各転送先のハードウェア205へデータを転送するように調整する。図10の周期L1では、処理制御部203は、カメラ情報をGPUで実現されるGPU256に、レーダ情報およびレーザ情報を論理回路で実現される論理回路255に転送し、CPUで実現されるCPU251にはデータは転送しないことを示す。次に、各ハードウェア205は、到着したデータを基に随時演算処理を実施し(S841)、処理結果を処理制御部203に通知する(S842)。以降のステップであるS813およびS814は図8と同じである。以上が図10に示した遷移図の説明である。
(変形例3)
 上述した実施の形態では、自律走行制御装置2は演算可能なハードウェアとしてCPU251と、論理回路255と、GPU256とを備えた。しかし自律走行制御装置2は演算可能なハードウェアとして少なくとも2つのハードウエアを備えればよい。たとえば自律走行制御装置2はCPU251、論理回路255、およびGPU256のうち1つを備えなくてもよい。また自律走行制御装置2は、CPU251、論理回路255、およびGPU256以外の演算可能なハードウエア、たとえばDSPを含めて、いずれか2つのハードウエアを備える構成としてもよい。たとえば自律走行制御装置2がGPU256とDSPを備え、収集した外部の情報およびGPU256とDSPの状態に基づき、条件への該当性から複数の処理仕様のいずれかを決定し、決定した処理仕様に基づきGPU256とDSPを制御してもよい。
 なお、本発明は前述した実施例に限定されるものではなく、添付した特許請求の範囲の趣旨内における様々な変形例及び同等の構成が含まれる。たとえば、前述した実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに本発明は限定されるものではない。また、制御線や情報線は説明上必要と考えられるものを示しており、実装上必要な全ての制御線や情報線を示しているとは限らない。実際には、ほとんど全ての構成が相互に接続されていると考えてもよい。
 上述した各実施の形態および変形例において、プログラムはROM252に格納されるとしたが、プログラムはフラッシュメモリ254に格納されていてもよい。また、自律走行制御装置2が不図示の入出力インタフェースを備え、必要なときに入出力インタフェースと自律走行制御装置2が利用可能な媒体を介して、他の装置からプログラムが読み込まれてもよい。ここで媒体とは、たとえば入出力インタフェースに着脱可能な記憶媒体、または通信媒体、すなわち有線、無線、光などのネットワーク、または当該ネットワークを伝搬する搬送波やディジタル信号、を指す。また、プログラムにより実現される機能の一部または全部がハードウェア回路やFPGAにより実現されてもよい。
 上述した各実施の形態および変形例は、それぞれ組み合わせてもよい。上記では、種々の実施の形態および変形例を説明したが、本発明はこれらの内容に限定されるものではない。本発明の技術的思想の範囲内で考えられるその他の態様も本発明の範囲内に含まれる。
 次の優先権基礎出願の開示内容は引用文としてここに組み込まれる。
 日本国特許出願2018-73248(2018年4月5日出願)
2…自律走行制御装置
3…処理割当データベース
4…回路管理データベース
5…回路データベース
6…転送データベース
100…車両
202…情報収集部
203…処理制御部
204…演算部
205…ハードウェア
207…監視部
251…CPU
254…フラッシュメモリ
255…論理回路
256…GPU

Claims (11)

  1.  演算可能な複数のハードウェアを搭載する車両に搭載される電子制御装置であって、
     前記車両の外部の情報を収集する情報収集部と、
     前記複数のハードウェアのそれぞれに実行させる処理および前記複数のハードウェアが演算に用いる前記外部の情報を定める複数の処理仕様、および前記複数の処理仕様をそれぞれ適用するための前記外部の情報および前記複数のハードウェアの状態に関する条件である適用条件を格納する記憶部と、
     前記収集した外部の情報および前記複数のハードウェアの状態に基づき、前記条件への該当性から前記複数の処理仕様のいずれかを決定し、決定した前記処理仕様に基づき前記複数のハードウェアを制御する処理制御部とを備える電子制御装置。
  2.  請求項1に記載の電子制御装置において、
     前記複数のハードウェアのうち少なくとも一つは再構成可能な論理回路である第1論理回路であって、
     前記記憶部には、前記処理仕様ごとに前記第1論理回路に実行させる処理を定める回路管理情報がさらに格納され、
     前記処理制御部は、決定した前記処理仕様および前記回路管理情報に基づき前記第1論理回路に処理を実行させ、
     前記回路管理情報における第1の前記処理仕様において前記第1論理回路に実行させる処理は、前記第1の前記処理仕様とは異なる第2の前記処理仕様において前記複数のハードウェアのうち前記第1論理回路以外のハードウェアが実行する処理を含む電子制御装置。
  3.  請求項2に記載の電子制御装置において、
     前記回路管理情報における前記第1の処理仕様において前記第1論理回路に実行させる処理は、前記第2の処理仕様において論理回路以外のハードウェアが実行する処理を含む電子制御装置。
  4.  請求項1または請求項2に記載の電子制御装置において、
     前記適用条件には、前記収集した外部の情報を解析した結果である前記外部の状況が含まれる電子制御装置。
  5.  請求項1または請求項2に記載の電子制御装置において、
     前記適用条件には、前記収集した外部の情報を解析した結果である前記外部の情報の認識精度が含まれる電子制御装置。
  6.  請求項1または請求項2に記載の電子制御装置において、
     前記適用条件には、前記複数のハードウェアにおける障害の発生が含まれる電子制御装置。
  7.  請求項1または請求項2に記載の電子制御装置において、
     前記外部の情報の収集はセンサによって行われ、
     前記適用条件には、前記センサの故障が含まれる電子制御装置。
  8.  請求項1または請求項2に記載の電子制御装置において、
     前記処理仕様ごとの前記適用条件は、条件を示す切替条件および適用する優先度を示す切替優先度の組み合わせであり、
     前記処理制御部は、複数の前記切替条件が適合する場合には前記切替優先度が高い前記処理仕様に決定する電子制御装置。
  9.  演算可能な複数のハードウェアを備える車両に搭載され、複数の処理仕様と前記複数の処理仕様をそれぞれ適用するための条件である適用条件とを格納する記憶部を備える電子制御装置が実行する制御方法であって、
     前記処理仕様とは、前記複数のハードウェアのそれぞれに実行させる処理と前記複数のハードウェアが演算に用いる前記車両の外部の情報とを定めるものであり、
     前記適用条件とは、前記外部の情報と前記複数のハードウェアの状態とに関する条件であり、
     前記車両の外部の情報を収集することと、
     前記収集した外部の情報および前記複数のハードウェアの状態に基づき、前記条件への該当性から前記複数の処理仕様のいずれかを決定し、決定した前記処理仕様に基づき前記複数のハードウェアを制御することとを含む制御方法。
  10.  請求項9に記載の制御方法において、
     前記複数のハードウェアのうち少なくとも一つは再構成可能な論理回路である第1論理回路であって、
     前記記憶部には、前記処理仕様ごとに前記第1論理回路に実行させる処理を定める回路管理情報がさらに格納され、
     決定した前記処理仕様および前記回路管理情報に基づき前記第1論理回路に処理を実行させることと、
     前記回路管理情報における第1の前記処理仕様において前記第1論理回路に実行させる処理は、前記第1の前記処理仕様とは異なる第2の前記処理仕様において前記複数のハードウェアのうち前記第1論理回路以外のハードウェアが実行する処理を含む制御方法。
  11.  請求項10に記載の制御方法において、
     前記回路管理情報における前記第1の処理仕様において前記第1論理回路に実行させる処理は、前記第2の処理仕様において論理回路以外のハードウェアが実行する処理を含む制御方法。
     
PCT/JP2019/015199 2018-04-05 2019-04-05 電子制御装置、制御方法 WO2019194312A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201980024056.1A CN111936366B (zh) 2018-04-05 2019-04-05 电子控制装置、控制方法
US17/044,937 US11878704B2 (en) 2018-04-05 2019-04-05 Electronic control device and control method

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2018073248A JP7007226B2 (ja) 2018-04-05 2018-04-05 電子制御装置、制御方法
JP2018-073248 2018-04-05

Publications (1)

Publication Number Publication Date
WO2019194312A1 true WO2019194312A1 (ja) 2019-10-10

Family

ID=68100387

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2019/015199 WO2019194312A1 (ja) 2018-04-05 2019-04-05 電子制御装置、制御方法

Country Status (4)

Country Link
US (1) US11878704B2 (ja)
JP (1) JP7007226B2 (ja)
CN (1) CN111936366B (ja)
WO (1) WO2019194312A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7351321B2 (ja) * 2021-04-13 2023-09-27 トヨタ自動車株式会社 センサ異常推定装置
JP7449907B2 (ja) * 2021-09-22 2024-03-14 ダイハツ工業株式会社 車両用制御装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001260924A (ja) * 2000-03-21 2001-09-26 Honda Motor Co Ltd 可変舵角比操舵装置
JP2002221075A (ja) * 2001-01-25 2002-08-09 Denso Corp 車両統合制御におけるフェイルセーフシステム
JP2006282072A (ja) * 2005-04-01 2006-10-19 Sumitomo Electric Ind Ltd 車載装置及び車載システム
WO2008062512A1 (fr) * 2006-11-21 2008-05-29 Fujitsu Limited Système multiprocesseur
JP2011100338A (ja) * 2009-11-06 2011-05-19 Hitachi Automotive Systems Ltd 車載用マルチアプリ実行装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8260487B2 (en) * 2008-01-08 2012-09-04 General Electric Company Methods and systems for vital bus architecture
JP2010191536A (ja) * 2009-02-16 2010-09-02 Autonetworks Technologies Ltd 情報処理装置、情報処理方法及び情報処理システム
JP2014002566A (ja) * 2012-06-19 2014-01-09 Nec Corp 情報提供のための条件設定装置、情報提供システム、条件設定方法、及びプログラム
JP6690952B2 (ja) * 2016-01-25 2020-04-28 日立オートモティブシステムズ株式会社 車両走行制御システム、及び車両走行制御方法
US9915947B1 (en) * 2016-02-26 2018-03-13 Waymo Llc System and method for determining pose data for a vehicle
US10479376B2 (en) * 2017-03-23 2019-11-19 Uatc, Llc Dynamic sensor selection for self-driving vehicles
US10514990B2 (en) * 2017-11-27 2019-12-24 Intel Corporation Mission-critical computing architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001260924A (ja) * 2000-03-21 2001-09-26 Honda Motor Co Ltd 可変舵角比操舵装置
JP2002221075A (ja) * 2001-01-25 2002-08-09 Denso Corp 車両統合制御におけるフェイルセーフシステム
JP2006282072A (ja) * 2005-04-01 2006-10-19 Sumitomo Electric Ind Ltd 車載装置及び車載システム
WO2008062512A1 (fr) * 2006-11-21 2008-05-29 Fujitsu Limited Système multiprocesseur
JP2011100338A (ja) * 2009-11-06 2011-05-19 Hitachi Automotive Systems Ltd 車載用マルチアプリ実行装置

Also Published As

Publication number Publication date
US11878704B2 (en) 2024-01-23
JP2019182095A (ja) 2019-10-24
JP7007226B2 (ja) 2022-01-24
US20210163027A1 (en) 2021-06-03
CN111936366B (zh) 2023-10-13
CN111936366A (zh) 2020-11-13

Similar Documents

Publication Publication Date Title
JP7034987B2 (ja) 自動車アプリケーションのための電力およびデータセンタ(PDC:power and data center)
WO2020207504A1 (zh) 分布集中式自动驾驶系统
WO2019194312A1 (ja) 電子制御装置、制御方法
US20200114905A1 (en) Electronic Control Apparatus, Electronic Control System, and Electronic Control Method
JP2018060268A (ja) 認識装置および学習システム
US11981348B2 (en) Automated driving control system and automated driving control apparatus
US20240152380A1 (en) Service-oriented data architecture for a vehicle
US11789730B2 (en) Electronic control device and control method
CN111696374A (zh) 信息处理装置和包括信息处理装置的自动行驶控制系统
WO2021039315A1 (ja) 電子制御装置、データ送信方法
US11342917B2 (en) Electronic control device and circuit reconfiguration method
CN113165662B (zh) 车辆控制装置
WO2018179677A1 (ja) 電子制御装置、電子制御システム、電子制御装置の制御方法
US11132329B2 (en) Electronic control device and method of controlling logic circuit
US11845452B2 (en) Electronic control device and parallel processing method
KR20210057243A (ko) 자율주행시스템
US11987266B2 (en) Distributed processing of vehicle sensor data
US20230342138A1 (en) Control system, update control method, and non-transitory storage medium
CN118618398A (zh) 用于处理动态地和/或情况选择性地提供的数据的计算机实现的方法和系统

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: 19781269

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: 19781269

Country of ref document: EP

Kind code of ref document: A1