WO2023199395A1 - 車両ソフトウェア管理装置および車両ソフトウェア管理システム - Google Patents

車両ソフトウェア管理装置および車両ソフトウェア管理システム Download PDF

Info

Publication number
WO2023199395A1
WO2023199395A1 PCT/JP2022/017549 JP2022017549W WO2023199395A1 WO 2023199395 A1 WO2023199395 A1 WO 2023199395A1 JP 2022017549 W JP2022017549 W JP 2022017549W WO 2023199395 A1 WO2023199395 A1 WO 2023199395A1
Authority
WO
WIPO (PCT)
Prior art keywords
software
vehicle
control device
service
version
Prior art date
Application number
PCT/JP2022/017549
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/JP2022/017549 priority Critical patent/WO2023199395A1/ja
Priority to JP2024515205A priority patent/JP7486698B2/ja
Publication of WO2023199395A1 publication Critical patent/WO2023199395A1/ja

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Definitions

  • the present application relates to a vehicle software management device and a vehicle software management system.
  • OTA technology refers to sending and receiving data using wireless communication.
  • OTA is often used to refer to data communication for updating the OS (Operating System) of the wireless communication terminal itself or set application software.
  • a technology has been proposed to stably update the software of a vehicle control device using OTA technology.
  • a technique has been disclosed that determines whether or not software can be rewritten according to the environment in which each vehicle control device is placed when rewriting software (for example, Patent Document 1).
  • the environment in which the vehicle control device is placed is taken into consideration when updating the software of the vehicle control device. For example, whether the software can be rewritten is determined by considering the temperature, voltage, and elapsed time after the engine is turned off of the vehicle control device. By doing so, software can be updated using OTA technology in a stable environment.
  • Patent Document 1 does not take into consideration software management when multiple pieces of software work together to provide a service. Furthermore, there is no guarantee that the software will work properly in combination. Furthermore, no consideration is given to maintaining the provision of services in the event that the control device becomes abnormal. When the operation of a control device mounted on a vehicle exhibits an abnormality, it becomes difficult to provide services related to software executed by the control device that exhibits the abnormality.
  • An object of the present invention is to obtain a vehicle software management device and a vehicle software management system that are capable of updating software to a software version that can continue providing a stopped service even if the operation of a control device shows an abnormality. shall be.
  • the vehicle software management device is Control device status information indicating whether the operation of multiple control devices installed in the vehicle is normal or abnormal, function version information indicating the functions and versions of software executed by the control device, and services implemented using the software.
  • an information acquisition unit that acquires software service information indicating a relationship between software
  • a stopped service detection unit that detects a stopped service that is a service that cannot be performed due to an abnormally operating control device
  • a communication unit that transmits the control device state information acquired by the information acquisition unit and the stop service information from the stop service detection unit to an external server
  • a software update unit that instructs the control device to update the software
  • the communication unit receives a version of software from the off-vehicle server that executes the outage service by a normal control device when the outage service is detected by the outage service detection unit, and the software update unit updates the software received from the out-of-vehicle server. It instructs the control device to update.
  • the vehicle software management system is a storage unit that stores a plurality of functions and versions of software executed by a control device installed in the vehicle, and software service information indicating a relationship between the software and services performed using the software; an external server communication unit that transmits software in response to a request from the vehicle software management device and receives control device status information and stop service information from the vehicle software management device; a software search unit that searches the software service information in the storage unit for a software version for executing the stop service by a normal control device when the stop service information received by the external server communication unit indicates the presence of the stop service; an external server having a countermeasure software transmission unit that reads the version of software searched by the software search unit from the storage unit and transmits it from the external server communication unit to the vehicle software management device; A vehicle software management device.
  • the vehicle software management device receives a version of software that allows a normal control device to implement a stopped service from an external server. Thereby, even if the operation of the control device shows an abnormality, it is possible to update the software to a version that allows service provision to continue. This allows continued provision of necessary services and improves convenience.
  • FIG. 1 is a configuration diagram of a vehicle software management device according to Embodiment 1.
  • FIG. 1 is a hardware configuration diagram of a vehicle software management device according to Embodiment 1.
  • FIG. 3 is a diagram showing function version information of software according to the first embodiment.
  • FIG. 3 is a first diagram showing software service information according to the first embodiment.
  • FIG. 3 is a second diagram showing software service information according to the first embodiment.
  • FIG. 3 is a third diagram showing software service information according to the first embodiment.
  • FIG. 3 is a diagram showing control device status information according to the first embodiment.
  • FIG. 3 is a diagram showing suspended service information according to the first embodiment.
  • 5 is a flowchart of software update processing of the vehicle software management device according to the first embodiment.
  • FIG. 5 is a flowchart of suspension service handling processing of the vehicle software management device according to the first embodiment.
  • FIG. 2 is a configuration diagram of a vehicle software management system according to a second embodiment.
  • 12 is a first flowchart of communication processing of an external server according to Embodiment 2.
  • FIG. 12 is a second flowchart of communication processing of the external server according to Embodiment 2.
  • FIG. 12 is a second flowchart of communication processing of an external server according to Embodiment 3.
  • FIG. FIG. 7 is a diagram showing software service information according to Embodiment 3;
  • FIG. 1 is a configuration diagram of a vehicle software management device 100 according to the first embodiment.
  • the vehicle software management device 100 is installed in the vehicle 1 and includes a communication section 103, an information acquisition section 101, a stopped service detection section 102, and a software update section 104.
  • the vehicle software management device 100 and the external server 900 can communicate with each other via a wide area communication network such as a mobile network. Specifically, the two communicate via the communication unit 103 and the server communication unit 902.
  • the external server 900 can transmit updated software for improving vehicle functionality to the vehicle software management device 100.
  • FIG. 1 shows a case where the external server 900 is configured on a cloud, and this configuration is represented by a diagram on a cloud.
  • the out-of-vehicle server 900 is sometimes referred to as an OTA server.
  • a vehicle software management device 100 mounted on the vehicle 1 is connected to a first control device 200, a second control device 300, and a third control device 400.
  • the first control device 200 has software 201 of version 2.1.0 and software 202 of version 2.0.0, and executes these software (the software is SW, the version is Ver. ).
  • the second control device 300 has software 301 of version 1.1.0 and executes this software.
  • Third control device 400 has software 401 of version 2.1.3 and executes this software.
  • FIG. 1 shows an example in which the first control device 200, the second control device 300, and the third control device 400 are connected to the vehicle software management device 100, the number of control devices is not limited to this. .
  • the vehicle software management device 100 requests the latest version of updated software from the external server 900 via the communication unit 103.
  • Vehicle software management device 100 which has received updated software from external server 900 via communication unit 103, transfers the updated software to the control device that is to execute it, and software update unit 104 instructs the corresponding control device to rewrite.
  • the information acquisition unit 101 of the vehicle software management device 100 acquires control device status information, function version information, and software service information.
  • the control device status information is information indicating whether the operation of each control device is normal or abnormal.
  • the function version information is information indicating the function and version of software executed by each control device.
  • Software service information is information that indicates the relationship between services implemented using software and software.
  • FIG. 2 is a hardware configuration diagram of the vehicle software management device 100 according to the first embodiment.
  • the configuration diagram of FIG. 2 can also be applied to the first control device 200, the second control device 300, the third control device 400, and the external server 900.
  • the vehicle software management device 100 will be described below as a representative example.
  • Each function of the vehicle software management device 100 is realized by a processing circuit included in the vehicle software management device 100.
  • the vehicle software management device 100 includes, as a processing circuit, an arithmetic processing device 90 (computer) such as a CPU (Central Processing Unit), and a storage device that exchanges data with the arithmetic processing device 90.
  • arithmetic processing device 90 computer
  • CPU Central Processing Unit
  • interfaces such as an input circuit 92 that inputs external signals to the arithmetic processing device 90, an output circuit 93 that outputs signals from the arithmetic processing device 90 to the outside, and a communication section 99 that transmits and receives data via a communication path 98.
  • the arithmetic processing unit 90 includes an ASIC (Application Specific Integrated Circuit), an IC (Integrated Circuit), a DSP (Digital Signal Processor), an FPGA (Field Programmable Gate Array), various logic circuits, and various signal processing circuits. It's okay. SoC (System on a Chip) technology may be applied to the arithmetic processing device 90. Furthermore, a plurality of arithmetic processing units 90 of the same type or different types may be provided, and each process may be shared and executed.
  • ASIC Application Specific Integrated Circuit
  • IC Integrated Circuit
  • DSP Digital Signal Processor
  • FPGA Field Programmable Gate Array
  • SoC System on a Chip
  • the vehicle software management device 100 includes, as a storage device 91, a RAM (Random Access Memory) configured to be able to read and write data from the arithmetic processing device 90, and a ROM configured to be able to read data from the arithmetic processing device 90. (Read Only Memory), etc.
  • the storage device 91 may be built into the arithmetic processing device 90.
  • the input circuit 92 is connected to input signals, sensors, and switches, and includes an A/D converter and the like that inputs the signals of these input signals, sensors, and switches to the arithmetic processing device 90 .
  • the output circuit 93 is connected to electrical loads such as gate drive circuits that drive switching elements on and off, and includes a drive circuit that outputs control signals from the arithmetic processing device 90 to these electrical loads.
  • the communication unit 99 can exchange data with an external device such as an external control device via the communication path 98.
  • Each function of the vehicle software management device 100 is such that the arithmetic processing device 90 executes software (programs) stored in a storage device 91 such as a ROM, and controls the storage device 91, input circuit 92, output circuit 93, etc. This is realized by cooperating with other hardware of the software management device 100. Note that setting data such as threshold values and determination values used by the vehicle software management device 100 are stored in a storage device 91 such as a ROM as part of the software (program). Each function of the vehicle software management device 100 may be configured by a software module, or may be configured by a combination of software and hardware.
  • FIG. 3 is a diagram showing functional version information of the entire software of the vehicle 1 according to the first embodiment.
  • the names of the control devices are listed in the upper row of FIG. 3, and the names of the software installed in each control device are listed in the second row. Below that, the versions of each software according to the functional versions are listed. When multiple pieces of software work together, cooperation is guaranteed if the software versions have the same functional version.
  • automatic brake control software In FIG. 3, automatic brake control software, sudden start prevention control software, and corner sensor software are installed in the first control device.
  • the function version is 001
  • the automatic brake software version is 1.0.0
  • the sudden start prevention control software version is 1.0.0
  • the corner sensor software version is 1.0.0.
  • Laser radar control software is installed in the second control device.
  • the laser radar control software version is 1.0.0.
  • the third control device is equipped with front camera control software and rear camera control software.
  • the function version is 001 or 002, front camera control software and rear camera control software cannot be used.
  • the front camera control software is available with function version 003 or later. When the function version is 003, the front camera control software version is 1.0.0. Rear camera control software is available with function version 004 or later. When the function version is 004, the rear camera control software version is 1.0.0.
  • control device Software implemented for the fourth control device, fifth control device, and sixth control device is also described. A description of these software will be omitted here. Further, the number of control devices is not limited to six.
  • the software function version information in FIG. 3 shows an example in which the function version is upgraded from 001 to 004. For example, consider a case where the software held by the external server 900 is upgraded to the function version 004 when the function version is 003.
  • the vehicle software management device 100 installed in the vehicle 1 currently has the software function version 003, and the software held by the external server 900 has been updated to be able to provide the latest software with the function version 004. Know that.
  • the vehicle software management device 100 requests the external server 900 to transmit the latest version of the software.
  • the latest version of the software is received from the external server 900, and instructions are given to each control device to update the software.
  • Rollback prevents problems caused by software updates and maintains stable vehicle operation.
  • Rollbacks are also executed other than when updating software. Even when normal software is running, if it is found that there is an abnormality in the control device, it can be dealt with by returning the function version to the previous version.
  • FIG. 4 is a first diagram showing software service information according to the first embodiment.
  • a service is a functional convenience that can be provided to the driver of the vehicle 1. Services refer to functions that improve vehicle performance, comfort, stability, reliability, failure tolerance, etc.
  • a service is realized by a single piece of software or multiple pieces of software. Among the services provided by vehicles, there are large-scale services such as ADAS (Advanced Driving Assistant System) functions and automatic driving functions that require the cooperation of multiple control devices and multiple software.
  • Software service information is information regarding the relationship between a service and the software that implements the service.
  • automatic brake service is described as a service.
  • the automatic brake service is a service that detects objects and people around the vehicle 1 and automatically applies the brakes to prevent collisions.
  • the automatic brake service is a service realized by the cooperation of the automatic brake control software and corner sensor software installed in the first control device, and the laser radar control software installed in the second control device. It is. It has been shown that the automatic brake service will also be linked with the front camera control software installed in the third control device for function versions 003 and later.
  • FIG. 5 is a second diagram showing software service information according to the first embodiment.
  • the sudden start prevention service is described as a service.
  • the sudden start prevention service controls the transmission and engine when the vehicle 1 suddenly accelerates from a stopped state or a slow speed state, while referring to the surrounding situation and taking into account whether the brake pedal or accelerator pedal is pressed incorrectly. This service prevents sudden acceleration.
  • the sudden start prevention service is implemented in the sudden start prevention control software and corner sensor software installed in the first control device, the engine control software installed in the fourth control device, and the fifth control device. This service is realized in cooperation with the transmission control software that has been developed. It has been shown that the sudden start prevention service will also include cooperation with the front camera control software installed in the third control device for function versions 003 and later.
  • FIG. 6 is a third diagram showing software service information according to the first embodiment.
  • the idle speed control service is described as a service.
  • the idle speed control service is a service that adjusts the engine rotation speed in the idle state to optimize the balance of warm-up, air conditioner load, fuel efficiency, cabin noise, vibration, etc.
  • the idle speed control service is a service achieved by the engine control software installed in the fourth control device and the transmission control software installed in the fifth control device working together.
  • FIG. 7 is a diagram showing control device status information according to the first embodiment.
  • FIG. 8 is a diagram showing stopped service information according to the first embodiment. As shown in FIG. 7, an abnormality in the third control device is indicated in the control device status information. Then, as shown in FIG. 8, automatic brake service and sudden start prevention service are shown in the stop service information.
  • the function version will be 003.
  • a request is made to the external server 900 to transmit the software of function version 003, and the software is received, and the corresponding control device is instructed to update the software.
  • the software of the corresponding control device is written back to function version 003, the automatic brake service shown in FIG. 4 and the sudden start prevention service shown in FIG. 5 cannot be executed and the services remain in a stopped state.
  • the vehicle software management device 100 receives from the external server 900 a version of the software that allows a normal control device to implement the stopped service. Thereby, even if the operation of the control device shows an abnormality, it is possible to update the software to a version that allows service provision to continue. This allows continued provision of necessary services and improves convenience.
  • FIG. 9 is a flowchart of software update processing of vehicle software management device 100 according to the first embodiment. Processing details used for software update processing are written in the storage device 91 of the vehicle software management device 100. The arithmetic processing unit 90 of the vehicle software management device 100 executes this processing content.
  • the process in the flowchart of FIG. 9 is executed at predetermined time intervals (for example, every 10 ms).
  • the process of the flowchart in FIG. 9 may be executed not every predetermined time but every time the vehicle travels a predetermined distance or every time the vehicle software management device 100 receives data from the external server 900, or every other event. .
  • step S101 it is determined whether or not there is a stopped service detected by the stopped service detection unit 102. If there is a service to be stopped (determination is YES), the process ends. If there is no service to stop (determination is NO), the process advances to step S102.
  • step S102 it is determined whether the stop service backup flag SSBKUPf is set.
  • the stopped service backup flag SSBKUPf is a flag indicating that a stopped service has been detected and processing to deal with it is being executed. If the stop service backup flag SSBKUPf is set, the software of each control device is not updated to the latest version.
  • stop service backup flag SSBKUPf is set (determination is YES)
  • the process ends. If the stop service backup flag SSBKUPf is not set (determination is NO), the process advances to step S103.
  • step S103 the latest functional version of the software for the vehicle 1 that can be supplied by the external server 900 is inquired of the external server 900 via the communication unit 103.
  • step S104 the communication unit 103 receives the latest version of the software from the external server 900.
  • step S105 it is determined whether the functional version of the software being executed by each control device of the vehicle 1 is different from the latest version received from the external server 900. If the versions are the same (determination is NO), the process ends. If the versions are different (determination is YES), the process advances to step S106.
  • step S106 the communication unit 103 requests the external server 900 to send the latest version of the software. In this case, even if the functional version changes, the versions of each software may not change. In that case, the processing of sending/receiving and updating the software is not necessary and may be omitted for each software.
  • step S107 the communication unit 103 receives the latest functional version of the software from the external server 900.
  • step S108 the software update unit 104 of the vehicle software management device 100 instructs the corresponding control device to update the software.
  • step S109 it is determined whether the software update was successful. If all software updates are completed without problems, the update is deemed successful (determination is YES) and the process ends. If a problem occurs with the software update (determination is NO), callback processing is executed in step S110. Return all software to its original version to stabilize vehicle control.
  • FIG. 10 is a flowchart of the stop service handling process of the vehicle software management device 100 according to the first embodiment.
  • the storage device 91 of the vehicle software management device 100 has written therein processing details used for the stop service handling process.
  • the arithmetic processing unit 90 of the vehicle software management device 100 executes this processing content.
  • the process of the flowchart in FIG. 10 is executed at predetermined time intervals (for example, every 10 ms).
  • the process of the flowchart in FIG. 10 may be executed not every predetermined time but every time an event such as every time the vehicle travels a predetermined distance or every time the vehicle software management device 100 receives data from the external server 900. . Further, the flowchart in FIG. 10 may be executed in conjunction with the flowchart in FIG. 9.
  • step S201 the information acquisition unit 101 executes information acquisition. Specifically, control device status information, function version information, and software service information are acquired. Then, the stopped service detection unit 102 detects the stopped service and obtains stopped service information.
  • step S202 it is determined whether there is a stopped service detected by the stopped service detection unit 102. If there is no service to stop (determination is NO), the process ends. If there is a service to be stopped (determination is YES), the process advances to step S203.
  • step S203 the control device status information and stop service information are transmitted from the communication unit 103 to the external server.
  • step S204 the communication unit 103 receives a response from the external server.
  • step S205 it is determined whether the content received as a response from the server outside the vehicle is countermeasure software corresponding to the suspended service. If it is not countermeasure software (determination is NO), the stop service backup flag SSBKUPf is cleared in step S208, and the process ends.
  • step S205 if the content received as a response from the external server is countermeasure software corresponding to the suspended service (determination is YES), in step S206, the software update unit 104 instructs the corresponding control device to update the software. and update the software. Thereafter, in step S207, the stop service backup flag SSBKUPf is set and the process ends.
  • FIG. 11 is a configuration diagram of a vehicle software management system including a vehicle software management device 100 and an external server 900 according to the second embodiment.
  • FIG. 11 differs from FIG. 1 in that the configuration of the external server 900 is described.
  • the second embodiment differs only in the details of the external server 900, and the reference numerals are the same as in the first embodiment.
  • the external server 900 includes a storage section 901, a software search section 903, and a countermeasure software transmission section 904.
  • the external server 900 stores all versions of software for vehicles including the vehicle 1 in a storage unit 901.
  • the storage unit 901 also stores function version information indicating software functions and versions, and software service information indicating the relationship between services and software.
  • the external server 900 responds to requests from the vehicle software management device 100. Upon request, communicate the latest functional version of the Software and send you the latest version of the Software. The external server 900 knows the update status of the software of each vehicle, and centrally manages the software status of each vehicle.
  • the external server 900 receives the stop service information from the vehicle software management device 100. If the stop service exists, the software search unit 903 searches the storage unit 901 for a software version that allows the normal control device of the vehicle 1 to perform the stop service. If there is a software version that allows a normal control device to perform the stop service, the countermeasure software transmission unit 904 transmits this functional version of the software to the vehicle software management device 100. In this case, the server communication unit 902 transmits the countermeasure software.
  • FIG. 12 is a first flowchart of communication processing of the external server 900 according to the second embodiment.
  • FIG. 13 is a second flowchart of communication processing.
  • FIG. 13 shows a continuation of the flowchart of FIG. 12.
  • the process of the flowchart in FIG. 12 is executed every time the external server 900 receives data from the vehicle software management device 100.
  • the process in the flowchart of FIG. 12 may be executed at predetermined time intervals (for example, every 10 ms) instead of every time reception is received.
  • step S301 it is determined whether the received data from the vehicle software management device 100 is an inquiry about the latest functional version of the vehicle software. If the inquiry is about the latest function version of the vehicle's software (determination is YES), the process advances to step S302, where the latest function version of the vehicle's software is returned, and the process ends.
  • step S301 if the received data is not an inquiry about the latest function version of the software (determination is NO), the process advances to step S303. Then, it is determined whether the received data is a request to send the latest version of software. If the received data is a request to transmit the latest version of the software (determination is YES), the latest functional version of the software is transmitted in step S304, and the process ends.
  • step S303 if the received data is not a request to send the latest version of the software (determination is NO), the process advances to step S305 in FIG. 13.
  • step S305 it is determined whether the received data from the vehicle software management device 100 is control device status information and stop service information. If the received data is neither control device status information nor stop service information (determination is NO), the process ends. If the received data is control device status information and stop service information (determination is YES), the process advances to step S306.
  • step S306 it is determined whether the second stop service backup flag SSBKUPf2 is set. If the second stop service backup flag SSBKUPf2 is set (determination is YES), the process ends.
  • the second stopped service backup flag SSBKUPf2 is a flag indicating that a stopped service has been detected and countermeasure software for dealing with this has been sent. If the second stop service backup flag SSBKUPf2 is set, no new countermeasure software is transmitted.
  • step S306 if the second stop service backup flag SSBKUPf2 is not set (determination is NO), the process advances to step S307.
  • step S307 it is determined whether an abnormality control device exists. If there is no abnormality control device (determination is NO), the process advances to step S313, where the second stop service backup flag SSBKUPf2 is cleared and the process ends. This is to prepare for a case where an abnormality occurs in the control device.
  • step S307 if an abnormal control device exists (determination is YES), the process advances to step S308.
  • step S308 it is determined whether there is any stopped service. If there is no service to stop (determination is NO), the process ends. If there is a service to be stopped (determination is YES), the process advances to step S309.
  • step S309 a search is made for outage service countermeasure software. That is, the software search unit 903 searches the storage unit 901 for a software version that allows a normal control device to perform the stop service.
  • step S310 it is determined whether or not outage service countermeasure software is found as a result of the search. If there is no outage service countermeasure software (determination is NO), the second outage service backup flag SSBKUPf2 is cleared in step S314, and the process ends.
  • step S310 If the outage service countermeasure software is present in step S310 (determination is YES), the countermeasure software is sent to the vehicle software management device 100 in step S311. Thereafter, in step S312, the second stop service backup flag SSBKUPf2 is set and the process ends.
  • the vehicle software management device 100 can instruct the corresponding control device to update the received software, and can continue the service. Therefore, the vehicle software management system composed of the vehicle software management device 100 and the external server 900 can continue to provide necessary services, improving convenience.
  • Embodiment 3 ⁇ Abnormal control device countermeasure software>
  • the external server 900 searches for and discovers a software version that allows service to continue without using the control device, and the vehicle software management device 100 An example of transmitting information to
  • a case will be described in which a software version that requires the least number of software programs to be executed by the control device in which the abnormality has occurred is searched for and transmitted to the vehicle software management device 100.
  • the vehicle software management device 100 and the external server 900 according to the third embodiment can use the configurations used in the description of the second embodiment as they are. Since the external server 900 of the third embodiment can be configured only by changing the software of the external server 900, the reference numerals are the same as those of the first and second embodiments.
  • FIG. 14 is a second flowchart of communication processing of the external server 900 according to the third embodiment.
  • FIG. 12 is used as is. 14 differs only in that step S314 in FIG. 13 is replaced with step S315, and the process proceeds to step S311 after the processing in step S315.
  • step S314 in FIG. 13 is replaced with step S315, and the process proceeds to step S311 after the processing in step S315.
  • FIG. 15 is a diagram showing software service information according to the third embodiment.
  • FIG. 15 shows linked software for lane keeping services.
  • Lane keeping service is a service that assists a driver to maintain a position near the center of the lane in which the vehicle is traveling. It is possible to prevent the vehicle from becoming unstable during driving due to driver fatigue, drowsiness, distraction, etc.
  • step S310 it is determined whether or not outage service countermeasure software has been found as a result of the search. If there is no outage service countermeasure software (determination is NO), the process advances to step S315.
  • step S315 the software search unit 903 of the external server 900 searches for abnormality control device countermeasure software.
  • Abnormal control device countermeasure software refers to a software version that minimizes the number of software programs executed by a control device in which an abnormality has occurred.
  • Such software is searched and extracted, and the software is transmitted to the vehicle software management device 100. Thereby, the software of the relevant control device can be updated, and the influence of the control device in which the abnormality has occurred can be minimized.
  • the vehicle software management system composed of the vehicle software management device 100 and the external server 900 can support the running of the vehicle while continuing the service of the vehicle control device and minimizing the degree of degeneracy of degenerate operation. can. Therefore, the vehicle software management system improves convenience.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mechanical Engineering (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

制御装置(400)が異常の場合でも、停止されたサービスの提供を続行できるソフトウェアのバージョンへの更新を可能とする車両ソフトウェア管理装置(100)を得る。車両ソフトウェア管理装置(100)は、制御装置状態情報と、ソフトウェアの機能バージョン情報と、ソフトウェアサービス情報と、を取得する情報取得部(101)、動作が異常な制御装置(400)のために実施不可能となった停止サービスを検出する停止サービス検出部(102)、制御装置状態情報と、停止サービス情報を車外サーバ(900)へ伝達する通信部(103)、および、ソフトウェア更新部(104)、を備え、通信部(103)は、停止サービスを正常な制御装置(200)によって実施するバージョンのソフトウェアを車外サーバ(900)から受信しソフトウェア更新部(104)は、受信したソフトウェアへの更新を制御装置(200)へ指示する。

Description

車両ソフトウェア管理装置および車両ソフトウェア管理システム
 本願は、車両ソフトウェア管理装置および車両ソフトウェア管理システムに関するものである。
 近年、自動車業界ではOTA(Over The Air)技術を利用した車両用制御装置のソフトウェア更新が採用され始めている。OTA技術は、無線通信を利用してデータを送受信することを指す。特に、スマートフォンを代表とする無線通信端末において無線通信端末自身のOS(Operating System)または設定されたアプリケーションソフトウェアの更新のためのデータ通信のことを指してOTAと称する場合が多い。
 車両用制御装置のソフトウェア更新を、OTA技術を用いて安定的に実施する技術が提案されている。ソフトウェアの書き換えを実施する場合に各車両用制御装置が置かれた環境に応じてソフトウェアの書き換えの可否を判断する技術が開示されている(例えば特許文献1)。
特開2006-268554号公報
 特許文献1に記載の技術によれば、車両用制御装置のソフトウェアの更新に際して、車両用制御装置の置かれた環境を考慮している。例えば、車両用制御装置の温度、電圧、エンジンオフ後の経過時間などを考慮して、ソフトウェアの書き換えの可否を判断している。このようにすることで、安定した環境でOTA技術を用いたソフトウェアの更新を実行することができる。
 しかし、特許文献1に記載の技術では、複数のソフトウェアが連携してサービスの提供を実現する場合の、ソフトウェアの管理について考慮されていない。また、各ソフトウェアが正常に動作できる組み合わせであるかどうかについて、保証されていない。そして、制御装置が異常となった場合のサービスの提供の維持についても考慮されていない。車両に搭載された制御装置の動作が異常を示した場合に、異常を示した制御装置によって実行されるソフトウェアに関連するサービスの提供が困難となる。
 本願はかかる課題を解決するためになされたものである。制御装置の動作が異常を示した場合であっても、停止されたサービスの提供を続行できるソフトウェアのバージョンへのソフトウェアの更新が可能となる車両ソフトウェア管理装置および車両ソフトウェア管理システムを得ることを目的とする。
 本願に係る車両ソフトウェア管理装置は、
 車両に設けられた複数の制御装置の動作が正常か異常かを示す制御装置状態情報と、制御装置が実行するソフトウェアの機能とバージョンを示す機能バージョン情報と、ソフトウェアを用いて実施されるサービスとソフトウェアの関係を示すソフトウェアサービス情報と、を取得する情報取得部、
 動作が異常な制御装置のために実施不可能となったサービスである停止サービスを検出する停止サービス検出部、
 情報取得部によって取得された制御装置状態情報と、停止サービス検出部からの停止サービス情報を車外サーバへ伝達する通信部、および、
 ソフトウェアの更新を制御装置に指示するソフトウェア更新部、を備え、
 通信部は、停止サービス検出部によって停止サービスが検出された場合に、停止サービスを正常な制御装置によって実施するバージョンのソフトウェアを車外サーバから受信し
 ソフトウェア更新部は、車外サーバから受信したソフトウェアへの更新を制御装置へ指示するものである。
 本願に係る車両ソフトウェア管理システムは、
 車両に設けられた制御装置が実行する複数の機能とバージョンのソフトウェアと、ソフトウェアを用いて実施されるサービスとソフトウェアとの関係を示すソフトウェアサービス情報とを記憶する記憶部、
 車両ソフトウェア管理装置からの要求に応じてソフトウェアを送信するとともに、制御装置状態情報と停止サービス情報を車両ソフトウェア管理装置から受信する車外サーバ通信部、
 車外サーバ通信部によって受信された停止サービス情報が停止サービスの存在を示す場合に、停止サービスを正常な制御装置によって実施するソフトウェアのバージョンを記憶部のソフトウェアサービス情報から検索するソフトウェア検索部、および、
 ソフトウェア検索部によって検索されたバージョンのソフトウェアを記憶部から読み出し車外サーバ通信部から車両ソフトウェア管理装置へ送信させる対策ソフトウェア伝達部、を有した車外サーバと、
 車両ソフトウェア管理装置と、を備えたものである。
 本願に係る車両ソフトウェア管理装置および車両ソフトウェア管理システムでは、停止されたサービスを正常な制御装置によって実施するバージョンのソフトウェアを車両ソフトウェア管理装置が車外サーバから受信する。それにより、制御装置の動作が異常を示した場合であっても、サービスの提供を続行できるソフトウェアのバージョンへの更新が可能となる。これによって、必要なサービスの提供を続行することができ、利便性が向上する。
実施の形態1に係る車両ソフトウェア管理装置の構成図である。 実施の形態1に係る車両ソフトウェア管理装置のハードウェア構成図である。 実施の形態1に係るソフトウェアの機能バージョン情報を示す図である。 実施の形態1に係るソフトウェアサービス情報を示す第一の図である。 実施の形態1に係るソフトウェアサービス情報を示す第二の図である。 実施の形態1に係るソフトウェアサービス情報を示す第三の図である。 実施の形態1に係る制御装置状態情報を示す図である。 実施の形態1に係る停止サービス情報を示す図である。 実施の形態1に係る車両ソフトウェア管理装置のソフトウェア更新処理のフローチャートである。 実施の形態1に係る車両ソフトウェア管理装置の停止サービス対応処理のフローチャートである。 実施の形態2に係る車両ソフトウェア管理システムの構成図である。 実施の形態2に係る車外サーバの通信処理の第一のフローチャートである。 実施の形態2に係る車外サーバの通信処理の第二のフローチャートである。 実施の形態3に係る車外サーバの通信処理の第二のフローチャートである。 実施の形態3に係るソフトウェアサービス情報を示す図である。
 以下、本願の実施の形態に係る車両ソフトウェア管理装置について、図面を参照して説明する。
1.実施の形態1
<車両ソフトウェア管理装置の構成>
 図1は、実施の形態1に係る車両ソフトウェア管理装置100の構成図である。車両ソフトウェア管理装置100は車両1に搭載されており、通信部103、情報取得部101、停止サービス検出部102、ソフトウェア更新部104を備えている。
 車両ソフトウェア管理装置100と車外サーバ900は、モバイルネットワークなどの広域通信網を介して相互通信可能である。両者は具体的には、通信部103とサーバ通信部902を介して通信を行う。車外サーバ900は車両ソフトウェア管理装置100に対して車両機能向上のための更新ソフトウェアを送信することができる。図1では、車外サーバ900はクラウド上に構成されている場合を示し、雲に乗った図でこの構成を表現している。車外サーバ900は、OTAサーバと称されることもある。
 車両1に搭載された車両ソフトウェア管理装置100は、第一制御装置200、第二制御装置300、第三制御装置400と接続している。第一制御装置200は、バージョン2.1.0のソフトウェア201と、バージョン2.0.0のソフトウェア202を有しており、これらのソフトウェアを実行する(ソフトウェはSW、バージョンはVer.と表記している)。第二制御装置300は、バージョン1.1.0のソフトウェア301を有しており、このソフトウェアを実行する。第三制御装置400は、バージョン2.1.3のソフトウェア401を有しており、このソフトウェアを実行する。図1では第一制御装置200、第二制御装置300、第三制御装置400が車両ソフトウェア管理装置100に接続されている例を示したが、制御装置の数は、これに限られるものではない。
 車両ソフトウェア管理装置100は、通信部103を介して車外サーバ900に最新バージョンの更新ソフトウェアを要求する。車外サーバ900から通信部103を介して更新ソフトウェアを受信した車両ソフトウェア管理装置100は、更新ソフトウェアを実行すべき制御装置に転送し、ソフトウェア更新部104が該当する制御装置に書き換えを指示する。
 車両ソフトウェア管理装置100の情報取得部101は、制御装置状態情報、機能バージョン情報およびソフトウェアサービス情報を取得する。制御装置状態情報は、各制御装置の動作が正常か異常かを示す情報である。機能バージョン情報は、各制御装置が実行するソフトウェアの機能とバージョンを示す情報である。ソフトウェアサービス情報は、ソフトウェアを用いて実施されるサービスとソフトウェアの関係を示す情報である。
<車両ソフトウェア管理装置のハードウェア構成>
 図2は、実施の形態1に係る車両ソフトウェア管理装置100のハードウェア構成図である。図2の構成図は、第一制御装置200、第二制御装置300、第三制御装置400および車外サーバ900にも適用できる。以下、代表として車両ソフトウェア管理装置100について説明する。車両ソフトウェア管理装置100の各機能は、車両ソフトウェア管理装置100が備えた処理回路により実現される。具体的には、車両ソフトウェア管理装置100は、図2に示すように、処理回路として、CPU(Central Processing Unit)などの演算処理装置90(コンピュータ)、演算処理装置90とデータのやり取りする記憶装置91、演算処理装置90に外部の信号を入力する入力回路92、演算処理装置90から外部に信号を出力する出力回路93、及び通信路98を介してデータを送受信する通信部99などのインターフェースを備えている。
 演算処理装置90として、ASIC(Application Specific Integrated Circuit)、IC(Integrated Circuit)、DSP(Digital Signal Processor)、FPGA(Field Programmable Gate Array)、各種の論理回路、及び各種の信号処理回路などが備えられてもよい。演算処理装置90にはSoC(System on a Chip)技術が適用されてもよい。また、演算処理装置90として、同じ種類のものまたは異なる種類のものが複数備えられ、各処理が分担して実行されてもよい。車両ソフトウェア管理装置100には、記憶装置91として、演算処理装置90からデータを読み出し及び書き込みが可能に構成されたRAM(Random Access Memory)、演算処理装置90からデータを読み出し可能に構成されたROM(Read Only Memory)などが備えられている。記憶装置91は、演算処理装置90に内蔵されていてもよい。入力回路92は、入力信号、センサ、スイッチが接続され、これら入力信号、センサ、スイッチの信号を演算処理装置90に入力するA/D変換器などを備えている。出力回路93は、スイッチング素子をオンオフ駆動するゲート駆動回路などの電気負荷が接続され、これら電気負荷に演算処理装置90から制御信号を出力する駆動回路などを備えている。通信部99は通信路98を介して外部の制御装置などの外部装置とデータのやり取りを行うことができる。
 車両ソフトウェア管理装置100が備える各機能は、演算処理装置90が、ROMなどの記憶装置91に記憶されたソフトウェア(プログラム)を実行し、記憶装置91、入力回路92、及び出力回路93などの車両ソフトウェア管理装置100の他のハードウェアと協働することにより実現される。なお、車両ソフトウェア管理装置100が用いる閾値、判定値などの設定データは、ソフトウェア(プログラム)の一部として、ROMなどの記憶装置91に記憶されている。車両ソフトウェア管理装置100の有する各機能は、それぞれソフトウェアのモジュールで構成されるものであってもよいが、ソフトウェアとハードウェアの組み合わせによって構成されるものであってもよい。
<機能バージョン情報>
 図3は、実施の形態1に係る車両1の全体のソフトウェアの機能バージョン情報を示す図である。図3の上段には制御装置の名称が記載されており、二段目には各制御装置に実装されるソフトウェアの名称が記載されている。そしてその下方には、機能バージョンに応じた各ソフトウェアのバージョンが記載されている。複数のソフトウェアが連携して動作する場合、機能バージョンが同一のソフトウェアのバージョン同士であれば、連携動作が保証される。
 図3では、第一制御装置には、自動ブレーキ制御用ソフトウェア、急発進防止制御ソフトウェア、およびコーナセンサソフトウェアが実装されている。そして、機能バージョンが、001の場合、自動ブレーキソフトウェアのバージョンは1.0.0、急発進防止制御ソフトウェアのバージョンは1.0.0、コーナセンサソフトウェアのバージョンは1.0.0である。
 第二制御装置には、レーザレーダ制御ソフトウェアが実装されている。機能バージョンが、001の場合、レーザレーダ制御ソフトウェアのバージョンは1.0.0である。
 第三制御装置には、フロントカメラ制御ソフトウェアおよびリアカメラ制御ソフトウェアが実装されている。機能バージョンが、001、002の場合、フロントカメラ制御ソフトウェアおよびリアカメラ制御ソフトウェアは利用できない。
 フロントカメラ制御ソフトウェアは、機能バージョンが003以降で利用可能となる。機能バージョンが003の場合、フロントカメラ制御ソフトウェアのバージョンは1.0.0である。リアカメラ制御ソフトウェアは、機能バージョンが004以降で利用可能となる。機能バージョンが004の場合、リアカメラ制御ソフトウェアのバージョンは1.0.0である。
 第四制御装置、第五制御装置、第六制御装置についても実装されるソフトウェアが記載されている。ここではこれらのソフトウェアの説明を省略する。また、制御装置の数は6台に限定されるものではない。
<ソフトウェアの更新とロールバック>
 図3のソフトウェアの機能バージョン情報では、機能バージョンとして001から004までバージョンアップしている例が示されている。例えば、機能バージョンが003である場合に、車外サーバ900の保有するソフトウェアが機能バージョン004にバージョンアップされた場合を考える。
 車両1に搭載された車両ソフトウェア管理装置100は、現在保有しているソフトウェアの機能バージョンが003であり、車外サーバ900の保有するソフトウェアがアップデートされて機能バージョン004の最新ソフトウェアが提供可能となったことを知る。このとき車両ソフトウェア管理装置100は、車外サーバ900に最新バージョンのソフトウェアの送信を要求する。そして、車外サーバ900から最新バージョンのソフトウェアを受信して、各制御装置にソフトウェアの更新を指示する。
 ソフトウェアの更新を実行する場合に、更新対象の制御装置のうち、ソフトウェアの更新を正しく実行できない制御装置が存在する場合は、全ての制御装置のソフトウェアを更新前の状態に戻す処理が行われる。この処理をロールバックと称する。ロールバックによって、ソフトウェア更新による問題の発生を防ぎ、安定した車両の動作を保つことができる。
 ロールバックは、ソフトウェアの更新時以外にも実行される。通常のソフトウェアの実行中にも、制御装置に異常があることが判明した場合に、機能バージョンを一つ前に戻すことによって対処する。
<ソフトウェアサービス情報>
 図4は実施の形態1に係るソフトウェアサービス情報を示す第一の図である。サービスとは車両1の運転者に対して提供できる機能的利便性のことである。サービスは、車両の性能、快適性、安定性、信頼性、故障耐性などを向上させる機能を指す。サービスは単一または複数のソフトウェアによって実現される。車両が提供するサービスの中には、ADAS(Advanced Driving Assistant System)機能、自動運転機能のように複数の制御装置、複数のソフトウェアの連携が必要な大規模なサービスが存在する。ソフトウェアサービス情報は、サービスとこれを実現するソフトウェアの関係に関する情報である。
 図4では、サービスとして自動ブレーキサービスについて記載している。自動ブレーキサービスは、車両1の周囲の物体、人間を検知して自動的にブレーキをかけて衝突を防止するサービスである。
 自動ブレーキサービスは機能バージョン001、002については、第一制御装置に実装された自動ブレーキ制御ソフトウェアとコーナセンサソフトウェア、および第二制御装置に実装されたレーザレーダ制御ソフトウェアとが連携して実現するサービスである。自動ブレーキサービスは機能バージョン003以降については、第三制御装置に実装されたフロントカメラ制御ソフトウェアとの連携も加わることが示されている。
 図5は、実施の形態1に係るソフトウェアサービス情報を示す第二の図である。ここでは、サービスとして急発進防止サービスについて記載している。急発進防止サービスは、車両1が停止状態または微速状態から急加速された場合に、周囲の状況を参考としつつ、ブレーキペダルとアクセルペダルの踏み間違いを考慮して変速機、エンジンを制御して急加速を抑止するサービスである。
 急発進防止サービスは機能バージョン001、002については、第一制御装置に実装された急発進防止制御ソフトウェアとコーナセンサソフトウェア、第四制御装置に実装されたエンジン制御ソフトウェア、および第五制御装置に実装された変速機制御ソフトウェアとが連携して実現するサービスである。急発進防止サービスは機能バージョン003以降については、第三制御装置に実装されたフロントカメラ制御ソフトウェアとの連携も加わることが示されている。
 図6は、実施の形態1に係るソフトウェアサービス情報を示す第三の図である。ここでは、サービスとしてアイドル速度制御サービスについて記載している。アイドル速度制御サービスは、アイドル状態のエンジン回転速度を調整して暖機、エアコン負荷、燃費、車室内騒音、振動などのバランスを最適化するサービスである。アイドル速度制御サービスは、第四制御装置に実装されたエンジン制御ソフトウェア、および第五制御装置に実装された変速機制御ソフトウェアが連携して実現するサービスである。
<制御装置の異常とサービスの停止>
 車両1において、車両全体の機能バージョン004のソフトウェアを実行中に、第三制御装置の動作に異常が検出された場合を考える。この場合、第三制御装置の異常が検出される。そして、第三制御装置の異常によって図4に示された自動ブレーキサービスと図5に示された急発進防止サービスが実行できなくなり、停止サービスとして検出される。
 図7は、実施の形態1に係る制御装置状態情報を示す図である。図8は、実施の形態1に係る停止サービス情報を示す図である。図7に示すように、第三制御装置の異常が制御装置状態情報の中に示される。そして、図8に示すように自動ブレーキサービス、急発進防止サービスが停止サービス情報に示される。
 この場合にロールバック処理を行った場合、機能バージョンは003となる。車外サーバ900に機能バージョン003のソフトウェアの送信を要求して受信し、該当する制御装置にソフトウェアの更新を指示する。しかし、該当する制御装置のソフトウェアを機能バージョン003に書き戻した場合であっても、図4に示す自動ブレーキサービス、図5に示す急発進防止サービスは実行できずサービス停止状態のままとなる。
 このような場合、一つ前のバージョンへのロールバック処理は解決策とならない。よって、運転者はこれらのサービスの提供を受けることを諦めて運転を継続するか、修理工場で修理が完了するまで車両を使用できなくなる。
<異常な制御装置を使用しないバージョンのソフトウェア>
 第三制御装置に異常が発生した場合であっても、第三制御装置を使用せずにサービスを続行できるソフトウェアのバージョンを探す。図4では、自動ブレーキサービスは機能バージョンが002のバージョンであれば、第三制御装置なしで、サービスを続行することができる。図5では、急発進防止サービスは機能バージョンが002のバージョンであれば、第三制御装置なしで、サービスを続行することができる。
 そこで、全ての制御装置の機能バージョンを002に更新するために、車外サーバ900から機能バージョン002のソフトウェアを受信する。そして、該当する制御装置に機能バージョン002のソフトウェアを書き込ませる。
 車両ソフトウェア管理装置100は、停止されたサービスを正常な制御装置によって実施するバージョンのソフトウェアを車外サーバ900から受信する。それにより、制御装置の動作が異常を示した場合であっても、サービスの提供を続行できるソフトウェアのバージョンへの更新が可能となる。これによって、必要なサービスの提供を続行することができ、利便性が向上する。
<ソフトウェア更新処理>
 図9は、実施の形態1に係る車両ソフトウェア管理装置100のソフトウェア更新処理のフローチャートである。車両ソフトウェア管理装置100の記憶装置91には、ソフトウェア更新処理に使用する処理内容が書き込まれている。車両ソフトウェア管理装置100の演算処理装置90はこの処理内容を実行する。
 図9のフローチャートの処理は、所定時間ごとに実行される(例えば10msごと)。図9のフローチャートの処理は、所定時間ごとではなく、車両が所定距離走行するごと、または車両ソフトウェア管理装置100が車外サーバ900からデータを受信するたび、といったイベントごとに実行されることとしてもよい。
 処理が開始され、ステップS101で、停止サービス検出部102が検出した停止サービスがあるかどうかを判定する。停止サービスが有る場合(判定はYES)は、処理を終了する。停止サービスが無い場合(判定はNO)は、ステップS102へ進む。
 ステップS102では、停止サービスバックアップフラグSSBKUPfがセットされているかどうか判定する。停止サービスバックアップフラグSSBKUPfは、停止サービスが検出されて、これに対処するための処理が実行中であることを示すフラグである。停止サービスバックアップフラグSSBKUPfがセットされている場合は、各制御装置のソフトウェアの最新バージョンへの更新は行わない。
 停止サービスバックアップフラグSSBKUPfがセットされていれば(判定はYES)処理を終了する。 停止サービスバックアップフラグSSBKUPfがセットされていなければ(判定はNO)ステップS103へ進む。
 ステップS103では、車外サーバ900が供給できる車両1用のソフトウェアの最新機能バージョンを、通信部103を介して車外サーバ900へ照会する。ステップS104で、車外サーバ900からソフトウェアの最新バージョンを通信部103が受信する。
 ステップS105では、車両1の各制御装置が実行中のソフトウェアの機能バージョンが、車外サーバ900から受信した最新バージョンと異なるかどうか判定する。バージョンが同じ場合(判定はNO)は処理を終了する。バージョンが異なる場合(判定はYES)はステップS106へ進む。
 ステップS106では、車外サーバ900へ最新バージョンのソフトウェアの送信を通信部103から要求する。この場合、機能バージョンが変わっても、各ソフトウェアのバージョンは変更されていない場合も存在する。その場合は、ソフトウェアの送受信と更新の処理は不要なので、ソフトウェアごとに省略してもよい。ステップS107では、最新の機能バージョンのソフトウェアを車外サーバ900から通信部103が受信する。
 ステップS108では、車両ソフトウェア管理装置100のソフトウェア更新部104は、該当する制御装置へソフトウェアの更新を指示する。ステップS109では、ソフトウェアの更新が成功したかどうかを判定する。すべてのソフトウェアの更新が問題なく完了した場合は更新が成功した(判定はYES)として処理を終了する。ソフトウェアの更新に問題が生じた場合(判定はNO)はステップS110でコールバック処理を実行する。すべてのソフトウェアを元のバージョンに戻して、車両の制御を安定させる。
<停止サービス対応処理>
 図10は、実施の形態1に係る車両ソフトウェア管理装置100の停止サービス対応処理のフローチャートである。車両ソフトウェア管理装置100の記憶装置91には、停止サービス対応処理に使用する処理内容が書き込まれている。車両ソフトウェア管理装置100の演算処理装置90はこの処理内容を実行する。
 図10のフローチャートの処理は、所定時間ごとに実行される(例えば10msごと)。図10のフローチャートの処理は、所定時間ごとではなく、車両が所定距離走行するごと、または車両ソフトウェア管理装置100が車外サーバ900からデータを受信するたび、といったイベントごとに実行されることとしてもよい。また、図10のフローチャートは、図9のフローチャートと連動して実行することとしてもよい。
 処理が開始され、ステップS201で、情報取得部101によって情報取得を実行する。具体的には制御装置状態情報、機能バージョン情報、ソフトウェアサービス情報を取得する。そして、停止サービス検出部102によって停止サービスを検出し停止サービス情報を得る。
 ステップS202では、停止サービス検出部102が検出した停止サービスがあるかどうかを判定する。停止サービスが無い場合(判定はNO)は、処理を終了する。停止サービスが有る場合(判定はYES)は、ステップS203へ進む。
 ステップS203では、制御装置状態情報、停止サービス情報を通信部103から車外サーバへ伝達する。ステップS204では、車外サーバから通信部103が応答を受信する。
 ステップS205では、車外サーバから応答として受信した内容が、停止サービスに対応する対策ソフトウェアであるかどうか判定する。対策ソフトウェアで無ければ(判定はNO)、ステップS208で停止サービスバックアップフラグSSBKUPfをクリアして処理を終了する。
 ステップS205で、車外サーバから応答として受信した内容が、停止サービスに対応する対策ソフトウェアである場合(判定はYES)は、ステップS206で、該当する制御装置にソフトウェア更新部104がソフトウェア更新の指示を出し、ソフトウェア更新を実施する。その後、ステップS207で、停止サービスバックアップフラグSSBKUPfをセットして処理を終了する。
2.実施の形態2
<車外サーバの構成>
 図11は、実施の形態2に係る車両ソフトウェア管理装置100と車外サーバ900から構成される車両ソフトウェア管理システムの構成図である。図11は、車外サーバ900の構成について記載した点が、図1と異なる。実施の形態2では、車外サーバ900の細部について規定した点が異なるのみであり、符号は実施の形態1と同じである。
 車外サーバ900は、サーバ通信部902に加えて、記憶部901、ソフトウェア検索部903、対策ソフトウェア伝達部904を備える。車外サーバ900は、車両1をはじめとする車両のための全てのバージョンのソフトウェアを記憶部901に保管している。また、ソフトウェアの機能とバージョンを示す機能バージョン情報、サービスとソフトウェアとの関係を示すソフトウェアサービス情報を記憶部901に保管している。
 そして、ソフトウェアの最新バージョンが公開されるごとに、新たなバージョンのソフトウェアを記憶部901に蓄積し、各車両に提供を開始する。車外サーバ900は、車両ソフトウェア管理装置100からの要求に応える。要求に応じて、ソフトウェアの最新の機能バージョンを伝達し、最新のバージョンのソフトウェアを送信する。車外サーバ900は各車両のソフトウェアの更新状況を把握しており、各車両のソフトウェアの状態を一元管理する。
 車外サーバ900は、車両ソフトウェア管理装置100から停止サービス情報を受信する。停止サービスが存在する場合に、車両1の正常な制御装置によって停止サービスを実施するソフトウェアバージョンを、ソフトウェア検索部903が記憶部901から検索する。正常な制御装置によって停止サービスを実施するソフトウェアバージョンが存在する場合、この機能バージョンのソフトウェアを対策ソフトウェア伝達部904が車両ソフトウェア管理装置100に伝達する。この場合、サーバ通信部902から対策ソフトウェアとして送信する。
<車外サーバの通信処理>
 図12は、実施の形態2に係る車外サーバ900の通信処理の第一のフローチャートである。図13は、通信処理の第二のフローチャートである。図13は、図12のフローチャートの続きを示す。
 図12のフローチャートの処理は、車外サーバ900が車両ソフトウェア管理装置100からデータを受信するたびに実行される。図12のフローチャートの処理は、受信の都度ではなく、所定時間ごとに実行される(例えば10msごと)こととしてもよい。
 処理が開始され、ステップS301で、車両ソフトウェア管理装置100からの受信データが、車両のソフトウェアの最新機能バージョンの照会であるかどうかを判定する。車両のソフトウェアの最新機能バージョンの照会である場合(判定はYES)は、ステップS302へ進んで車両のソフトウェアの最新機能バージョンを返信して処理を終了する。
 ステップS301で、受信データがソフトウェアの最新機能バージョンの照会でない場合(判定はNO)は、ステップS303へ進む。そして、受信データが、最新バージョンのソフトウェアの送信要求であるかどうかを判定する。受信データが、最新バージョンのソフトウェアの送信要求である場合(判定はYES)は、ステップS304で最新の機能バージョンのソフトウェアを送信して処理を終了する。
 ステップS303において、受信データが、最新バージョンのソフトウェアの送信要求でない場合(判定はNO)は、図13のステップS305へ進む。ステップS305では、車両ソフトウェア管理装置100からの受信データが、制御装置状態情報と停止サービス情報であるかどうか判定する。受信データが、制御装置状態情報と停止サービス情報でない場合(判定はNO)は、処理を終了する。受信データが、制御装置状態情報と停止サービス情報である場合(判定はYES)は、ステップS306へ進む。
 ステップS306では、第二停止サービスバックアップフラグSSBKUPf2がセットされているかどうか判定する。第二停止サービスバックアップフラグSSBKUPf2がセットされている場合(判定はYES)は、処理を終了する。第二停止サービスバックアップフラグSSBKUPf2は、停止サービスが検出されて、これに対処するための対策ソフトウェアを送信済みであることを示すフラグである。第二停止サービスバックアップフラグSSBKUPf2がセットされている場合は、新たに対策ソフトウェアの送信は行わない。
 ステップS306において、第二停止サービスバックアップフラグSSBKUPf2がセットされていない場合(判定はNO)は、ステップS307へ進む。ステップS307では、異常制御装置が存在するかどうか判定する。異常制御装置が無ければ(判定はNO)ステップS313へ進み、第二停止サービスバックアップフラグSSBKUPf2をクリアして処理を終了する。制御装置に異常が発生した場合に備えるためである。
 ステップS307では、異常制御装置が存在する場合(判定はYES)は、ステップS308へ進む。ステップS308では、停止サービスがあるかどうか判定する。停止サービスが無ければ(判定はNO)処理を終了する。停止サービスが有れば(判定はYES)ステップS309へ進む。
 ステップS309では、停止サービス対策ソフトウェアを検索する。すなわち、正常な制御装置によって停止サービスを実施するソフトウェアバージョンを、ソフトウェア検索部903が記憶部901から検索する。ステップS310では、検索の結果、停止サービス対策ソフトウェアが見つかったかどうか判定する。停止サービス対策ソフトウェアがない場合(判定はNO)は、ステップS314で、第二停止サービスバックアップフラグSSBKUPf2をクリアして処理を終了する。
 ステップS310で、停止サービス対策ソフトウェアが有る場合(判定はYES)は、ステップS311で、対策ソフトウェアを車両ソフトウェア管理装置100へ送信する。その後、ステップS312で、第二停止サービスバックアップフラグSSBKUPf2をセットして処理を終了する。
 以上のように車外サーバ900を構成することで、車両1の制御装置に異常が発生してソフトウェアによるサービスが継続できなくなった場合に、正常な制御装置によりサービスを継続できるソフトウェアのバージョンを検索して送信することができる。これにより車両ソフトウェア管理装置100は、受信したソフトウェアを該当する制御装置に更新指示することができ、サービスを継続できる。よって、車両ソフトウェア管理装置100と車外サーバ900から構成される車両ソフトウェア管理システムによって、必要なサービスの提供を続行することができ、利便性が向上する。
3.実施の形態3
<異常制御装置対策ソフトウェア>
 実施の形態1、2では、制御装置に異常が発生した場合、当該制御装置を使用せずサービスを継続することができるソフトウェアのバージョンを車外サーバ900が検索して発見し、車両ソフトウェア管理装置100へ伝達する例について説明した。しかし、当該制御装置を使用せずサービスを継続することができるソフトウェアのバージョンが存在しない場合も考えられる。そのような場合に、異常が発生した制御装置によって実施されるソフトウェア数が最小となるソフトウェアのバージョンを検索し、車両ソフトウェア管理装置100へ伝達する場合について説明する。
 各種のサービスの中で、一部のセンサ、一部のアクチュエータ、一部の制御装置が異常を示した場合、サービスを継続できる場合がある。一部機能を縮退してサービスを継続しても、大きな問題が無い場合も存在する。また、問題はあっても、縮退運転によって自宅、修理工場、避難場所までたどり着くことを優先したリンプホーム運転も存在する。そこで、制御装置に異常が発生した場合に、異常が発生した制御装置によって実施されるソフトウェア数が最小となるソフトウェアのバージョンへのソフトウェア更新をする場合について説明する。
 実施の形態3に係る、車両ソフトウェア管理装置100、車外サーバ900は、実施の形態2の説明に使用した構成をそのまま流用できる。車外サーバ900のソフトウェアの変更のみで実施の形態3の車外サーバ900を構成できるので、符号は実施の形態1、2と同一とする。
 図14は、実施の形態3に係る車外サーバ900の通信処理の第二のフローチャートである。実施の形態3に係る車外サーバ900の通信処理の第一のフローチャートは、図12をそのまま流用することとする。図14は、図13のステップS314をステップS315に差し換えて、ステップS315の処理の後、ステップS311へ進むこととした部分のみが異なる。以下では、異なる部分について説明する。
 図15は、実施の形態3に係るソフトウェアサービス情報を示す図である。図15は、レーンキーピングサービスに関する連携したソフトウェアを示している。レーンキーピングサービスは、車両が走行中のレーンの中央付近の位置をキープして走行するよう、運転者を補助するサービスである。運転者の疲労、居眠り、注意散漫などにより、車両が走行中に進路不安定となり走行がふらつくのを防止することができる。
 実施の形態1、2では、第三制御装置に異常が発生した場合に、第三制御装置を使用せずに、サービスを継続して提供できるソフトウェアのバージョンを検索して見つけた。しかしながら、図15のようなサービスに対して、第三制御装置を使用せずに実行するソフトウェアのバージョンは存在しない。
 このような場合であっても、車外サーバによる最適なソフトウェアの提供をあきらめず、異常が発生した制御装置によって実施されるソフトウェア数が最小となるソフトウェアのバージョンを検索し、ソフトウェアを車両ソフトウェア管理装置100へ伝達することを考える。
 図14の車外サーバの通信処理の第二のフローチャートにおいて、ステップS310において、検索の結果、停止サービス対策ソフトウェアが見つかったかどうか判定する。停止サービス対策ソフトウェアがない場合(判定はNO)は、ステップS315へ進む。
 停止サービス対策ソフトウェアが存在しない場合には、ステップS315にて、車外サーバ900のソフトウェア検索部903は異常制御装置対策ソフトウェアを検索する。異常制御装置対策ソフトウェアとは、異常が発生した制御装置によって実施されるソフトウェア数が最小となるソフトウェアのバージョンのことを指す。
 このようなソフトウェアを検索して抽出し、ソフトウェアを車両ソフトウェア管理装置100へ伝達する。これによって、該当する制御装置のソフトウェアの更新を実施し、異常の発生した制御装置による影響を最小限に抑えることができる。
 異常が発生した制御装置では、ソフトウェアの実行が不可能となる。しかし、当該ソフトウェアが実行されない場合、これに伴い停止するサービスの数を最小限とすることができる。また、サービスによっては連携するソフトウェアの一部が実行不能となっても、機能を縮退してサービスを続行できるものも存在する。
 車両ソフトウェア管理装置100と車外サーバ900から構成される車両ソフトウェア管理システムによって、車両の制御装置のサービスの継続と、縮退運転の縮退程度を最小限に抑制しながら、車両の走行を支援することができる。よって、車両ソフトウェア管理システムによって、利便性が向上する。
 本願は、様々な例示的な実施の形態及び実施例が記載されているが、1つ、または複数の実施の形態に記載された様々な特徴、態様、及び機能は特定の実施の形態の適用に限られるのではなく、単独で、または様々な組み合わせで実施の形態に適用可能である。従って、例示されていない無数の変形例が、本願明細書に開示される技術の範囲内において想定される。例えば、少なくとも1つの構成要素を変形する場合、追加する場合または省略する場合、さらには、少なくとも1つの構成要素を抽出し、他の実施の形態の構成要素と組み合わせる場合が含まれるものとする。
1 車両、100 車両ソフトウェア管理装置、101 情報取得部、102 停止サービス検出部、103 通信部、104 ソフトウェア更新部、200 第一制御装置、201、202、301、401 ソフトウェア、300 第二制御装置、400 第三制御装置、900 車外サーバ、901 記憶部、902 サーバ通信部、903 ソフトウェア検索部、904 対策ソフトウェア伝達部

Claims (7)

  1.  車両に設けられた複数の制御装置の動作が正常か異常かを示す制御装置状態情報と、前記制御装置が実行するソフトウェアの機能とバージョンを示す機能バージョン情報と、前記ソフトウェアを用いて実施されるサービスと前記ソフトウェアの関係を示すソフトウェアサービス情報と、を取得する情報取得部、
     動作が異常な前記制御装置のために実施不可能となった前記サービスである停止サービスを検出する停止サービス検出部、
     前記情報取得部によって取得された前記制御装置状態情報と、前記停止サービス検出部からの停止サービス情報を車外サーバへ伝達する通信部、および、
     前記ソフトウェアの更新を前記制御装置に指示するソフトウェア更新部、を備え、
     前記通信部は、前記停止サービス検出部によって前記停止サービスが検出された場合に、前記停止サービスを正常な制御装置によって実施するバージョンの前記ソフトウェアを前記車外サーバから受信し
     前記ソフトウェア更新部は、車外サーバから受信した前記ソフトウェアへの更新を前記制御装置へ指示する車両ソフトウェア管理装置。
  2.  前記通信部は、前記制御装置の動作が正常な場合に前記車外サーバに最新バージョンのソフトウェアを要求して受信し、
     前記ソフトウェア更新部は、前記通信部によって受信された前記ソフトウェアへの更新を前記制御装置へ指示する請求項1に記載の車両ソフトウェア管理装置。
  3.  前記通信部は、動作が異常となった前記制御装置がある場合に、前記異常となった制御装置が実行するソフトウェア数が最小となるバージョンの前記ソフトウェアを前記車外サーバから受信し、
     前記ソフトウェア更新部は、前記車外サーバから受信した前記ソフトウェアへの更新を前記制御装置へ指示する請求項1または2に記載の車両ソフトウェア管理装置。
  4.  前記通信部は、前記停止サービス検出部によって前記停止サービスが検出された場合に、前記停止サービスを正常な前記制御装置によって実施するバージョンの前記ソフトウェアが存在する場合は前記ソフトウェアを前記車外サーバから受信し、前記停止サービスを正常な前記制御装置によって実施するバージョンの前記ソフトウェアが存在しない場合は異常となった前記制御装置が実行するソフトウェア数が最小となるバージョンの前記ソフトウェアを前記車外サーバから受信し、
     前記ソフトウェア更新部は、前記車外サーバから受信した前記ソフトウェアへの更新を前記制御装置へ指示する請求項1または2に記載の車両ソフトウェア管理装置。
  5.  前記車両に設けられた制御装置が実行する複数の機能とバージョンの前記ソフトウェアと、前記ソフトウェアを用いて実施される前記サービスと前記ソフトウェアとの関係を示すソフトウェアサービス情報とを記憶する記憶部、
     前記車両ソフトウェア管理装置からの要求に応じて前記ソフトウェアを送信するとともに、前記制御装置状態情報と前記停止サービス情報を前記車両ソフトウェア管理装置から受信する車外サーバ通信部、
     前記車外サーバ通信部によって受信された前記停止サービス情報が停止サービスの存在を示す場合に、前記停止サービスを正常な前記制御装置によって実施する前記ソフトウェアのバージョンを前記記憶部の前記ソフトウェアサービス情報から検索するソフトウェア検索部、および、
     前記ソフトウェア検索部によって検索されたバージョンの前記ソフトウェアを前記記憶部から読み出し前記車外サーバ通信部から前記車両ソフトウェア管理装置へ送信させる対策ソフトウェア伝達部、を有した前記車外サーバと、
     請求項1または2に記載の車両ソフトウェア管理装置と、を備えた車両ソフトウェア管理システム。
  6.  前記車両に設けられた制御装置が実行する複数の機能とバージョンの前記ソフトウェアと、前記ソフトウェアを用いて実施される前記サービスと前記ソフトウェアとの関係を示すソフトウェアサービス情報とを記憶する記憶部、
     前記車両ソフトウェア管理装置からの要求に応じて前記ソフトウェアを送信するとともに、前記制御装置状態情報と前記停止サービス情報を前記車両ソフトウェア管理装置から受信する車外サーバ通信部、
     前記車外サーバ通信部によって受信された前記制御装置状態情報が動作の異常な前記制御装置の存在を示す場合に、動作の異常な前記制御装置が実行するソフトウェア数が最小となるバージョンの前記ソフトウェアのバージョンを前記記憶部の前記ソフトウェアサービス情報から検索するソフトウェア検索部、および、
     前記ソフトウェア検索部によって検索されたバージョンの前記ソフトウェアを前記記憶部から読み出し前記車外サーバ通信部から前記車両ソフトウェア管理装置へ送信させる対策ソフトウェア伝達部、を有した前記車外サーバと、
     請求項3に記載の車両ソフトウェア管理装置と、を備えた車両ソフトウェア管理システム。
  7.  前記車両に設けられた制御装置が実行する複数の機能とバージョンの前記ソフトウェアと、前記ソフトウェアを用いて実施される前記サービスと前記ソフトウェアとの関係を示すソフトウェアサービス情報とを記憶する記憶部、
     前記車両ソフトウェア管理装置からの要求に応じて前記ソフトウェアを送信するとともに、前記制御装置状態情報と前記停止サービス情報を前記車両ソフトウェア管理装置から受信する車外サーバ通信部、
     前記車外サーバ通信部によって受信された前記停止サービス情報が停止サービスの存在を示す場合に、前記停止サービスを正常な前記制御装置によって実施する前記ソフトウェアのバージョンを前記記憶部の前記ソフトウェアサービス情報から検索し、前記停止サービスを正常な前記制御装置によって実施する前記ソフトウェアが存在しない場合は動作が異常な前記制御装置が実行するソフトウェア数が最小となるバージョンの前記ソフトウェアのバージョンを前記記憶部の前記ソフトウェアサービス情報から検索するソフトウェア検索部、および、
     前記ソフトウェア検索部によって検索されたバージョンの前記ソフトウェアを前記記憶部から読み出し前記車外サーバ通信部から前記車両ソフトウェア管理装置へ送信させる対策ソフトウェア伝達部、を有した前記車外サーバと、
     請求項4に記載の車両ソフトウェア管理装置と、を備えた車両ソフトウェア管理システム。
PCT/JP2022/017549 2022-04-12 2022-04-12 車両ソフトウェア管理装置および車両ソフトウェア管理システム WO2023199395A1 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/JP2022/017549 WO2023199395A1 (ja) 2022-04-12 2022-04-12 車両ソフトウェア管理装置および車両ソフトウェア管理システム
JP2024515205A JP7486698B2 (ja) 2022-04-12 2022-04-12 車両ソフトウェア管理装置および車両ソフトウェア管理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2022/017549 WO2023199395A1 (ja) 2022-04-12 2022-04-12 車両ソフトウェア管理装置および車両ソフトウェア管理システム

Publications (1)

Publication Number Publication Date
WO2023199395A1 true WO2023199395A1 (ja) 2023-10-19

Family

ID=88329298

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2022/017549 WO2023199395A1 (ja) 2022-04-12 2022-04-12 車両ソフトウェア管理装置および車両ソフトウェア管理システム

Country Status (2)

Country Link
JP (1) JP7486698B2 (ja)
WO (1) WO2023199395A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009043081A (ja) * 2007-08-09 2009-02-26 Kyocera Mita Corp 保守管理システム、データベースサーバ、保守管理プログラムおよび保守管理方法
JP2017059210A (ja) * 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、ファームウェア更新方法及び制御プログラム
JP2021026252A (ja) * 2019-07-31 2021-02-22 シャープ株式会社 ソフトウェア更新システムおよびソフトウェア更新方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009043081A (ja) * 2007-08-09 2009-02-26 Kyocera Mita Corp 保守管理システム、データベースサーバ、保守管理プログラムおよび保守管理方法
JP2017059210A (ja) * 2015-09-14 2017-03-23 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America ゲートウェイ装置、ファームウェア更新方法及び制御プログラム
JP2021026252A (ja) * 2019-07-31 2021-02-22 シャープ株式会社 ソフトウェア更新システムおよびソフトウェア更新方法

Also Published As

Publication number Publication date
JPWO2023199395A1 (ja) 2023-10-19
JP7486698B2 (ja) 2024-05-17

Similar Documents

Publication Publication Date Title
JP4091126B2 (ja) フォールト・レジリエント自動車制御システム
EP1784693B1 (en) Method for providing a rapid response to queries on a vehicle bus
US20210311724A1 (en) Updating system, electronic control unit, updating management device, and updating management method
US11604636B2 (en) Vehicle control system and method for confirming software consistency
JP6165243B2 (ja) コンピュータネットワークにおいて車両搭載可能コントローラを動作させるための方法、車両搭載可能コントローラおよびデバイス
CN112092824A (zh) 一种自动驾驶控制方法、系统、设备及存储介质
WO2021002164A1 (en) Method and control system for operating ecus of vehicles in fails-safe mode
JP2013246718A (ja) 制御システム及びプログラム更新方法
WO2015045507A1 (ja) 車両用制御装置
WO2023199395A1 (ja) 車両ソフトウェア管理装置および車両ソフトウェア管理システム
US6446201B1 (en) Method and system of sending reset signals only to slaves requiring reinitialization by a bus master
US11377056B2 (en) In-vehicle system
WO2021176047A1 (en) Power management on a vehicle
JP2023080242A (ja) マスタ、ネットワークシステム、方法、プログラム、センタ、および車両
US20220391192A1 (en) Ota master, center, system, method, non-transitory storage medium, and vehicle
JP2004220326A (ja) 制御ソフトウエア構造およびこの構造を用いた制御装置
CN113986259A (zh) 服务器、软件更新装置、车辆、软件更新系统、控制方法及非临时存储介质
EP3428799B1 (en) Data access device and access error notification method
JP2004291943A (ja) 車両用制御装置
WO2023084567A1 (ja) 車両用制御装置
CN107179980B (zh) 用于监视计算系统的方法和相应的计算系统
JP2019159369A (ja) 電子装置
JP2020021506A (ja) 電子制御装置及びセッション確立プログラム
US20220269525A1 (en) Method for operating a microcontroller
JP2013239116A (ja) ノード及び分散システム

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

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2024515205

Country of ref document: JP