Software update system, software update method and software update server
By designing a software update system in the vehicle system, using server equipment to detect the vehicle's environment and operation information, and generating and sending update data, the problem of software error detection and update in complex interoperable systems is solved, fail-safe performance is improved, and the The safety and stability of the vehicle.
Patent Information
- Application Number
- CN201910204935.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2018-10-18
- Filing Date
- 2019-03-18
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2039-03-18
AI Technical Summary
In complex interoperable vehicle systems, it is difficult to effectively detect and update software errors between electrical or electronic devices, resulting in possible additional errors and failures, affecting the safety and stability of the vehicle.
Design a software update system, including server equipment and vehicles, receive the vehicle's environment and operation information through the input/output interface, use the simulation unit to detect errors and generate update data, and the software update unit sends the update data back to the vehicle to update the software, ensuring that Hardware and software integrity.
End-to-end error detection and update of the vehicle system is realized, fail-safe performance is significantly improved, and the safe and stable operation of the vehicle is ensured.
Smart Images

Figure CN111078243B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to a software update system, a software update method, and a software update server, and more particularly, to a software update system, a software update method, and a software update server capable of updating control software of a vehicle. Background Art
[0002] Generally, a vehicle refers to a mobile device or transportation equipment that is designed to travel on roads or railways using fossil fuels, electricity, etc. as a power source.
[0003] In recent years, vehicles are not only used to transport goods and passengers, but also have audio devices and video devices that allow drivers to listen to music and watch images while driving, and vehicles are also equipped with navigation devices that display routes to the driver's desired destination.
[0004] Vehicles are equipped with various electrical or electronic devices. Vehicles include not only convenience devices such as audio devices, video devices, navigation devices, etc., but also other electrical or electronic devices related to the driving of the vehicle (devices for driving), such as engine management system (EMS), transmission control unit (TCU), electronic stability control (ESC), motor driven power steering (MDPS), etc. Summary of the invention
[0005] Therefore, one aspect of the present disclosure is to provide a software update system that is capable of detecting an error in hardware or software throughout a vehicle and performing a software update in response to the detected error.
[0006] Another aspect of the present disclosure is to provide a software update system capable of updating software of a vehicle in association with a server device.
[0007] Additional aspects of the invention will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of the invention.
[0008] Therefore, one aspect of the present invention is to provide a software update system, comprising: a vehicle installed with a first software; a server device, storing a second software identical to the first software and configured to send update data for updating the first software to the vehicle, wherein the server device comprises: an input / output interface, configured to receive environmental information or operating information of the vehicle from the vehicle; and a software update unit, for generating update data of the first software based on the output of the second software according to the environmental information or operating information of the vehicle, wherein the input / output interface sends the update data of the first software to the vehicle.
[0009] The server device may include: a database storing the second software; and a simulation unit configured to input environmental information or operation information of the vehicle to the second software and determine an error of the first software based on an output of the second software.
[0010] The simulation unit may determine validity of environmental information or operation information of the vehicle, and determine an error of the first software based on a result of the determination of the validity of the environmental information or operation information of the vehicle.
[0011] The simulation unit may determine validity of an output of the second software according to input of environmental information or operation information of the vehicle, and determine an error of the first software based on a determination result of validity of the output of the second software.
[0012] The simulation unit may predict the operation of the vehicle based on the output of the second software, and determine an error of the first software based on the operation of the vehicle.
[0013] The software updating unit may update the second software based on the update data of the first software.
[0014] The software update system may further include another vehicle having the third software installed, wherein the server device generates update data of the third software based on environmental information or operation information of the vehicle, and the update data of the third software is transmitted to the another vehicle.
[0015] Another aspect of the present invention is to provide a software update method, comprising: storing second software that is identical to first software installed in a vehicle; receiving vehicle environmental information or operating information from the vehicle; generating update data for the first software based on output of the second software according to the vehicle environmental information or operating information; and sending the update data for the first software to the vehicle.
[0016] Generating update data for the first software may include: inputting environmental information or operation information of the vehicle into the second software; and determining an error of the first software based on an output of the second software.
[0017] Determining the error of the first software may include: determining validity of environmental information or operation information of the vehicle; and determining the error of the first software based on a result of the determination of validity of the environmental information or operation information of the vehicle.
[0018] Determining the error of the first software may include: determining validity of an output of the second software according to input of environmental information or operation information of the vehicle; and determining the error of the first software based on a determination result of validity of the output of the second software.
[0019] Determining the error of the first software may include: predicting operation of the vehicle based on output of the second software; and determining the error of the first software based on the operation of the vehicle.
[0020] The software updating method may further include updating the second software based on the update data of the first software.
[0021] The software update method may further include: generating update data of a third software installed in another vehicle based on environmental information or operation information of the vehicle; and transmitting the update data of the third software to the other vehicle.
[0022] Another aspect of the present invention is to provide a software update server, comprising: an input / output interface configured to receive environmental information or operating information of a vehicle installed with first software from the vehicle; a database, in which second software identical to the first software is stored; a simulation unit configured to input the environmental information or operating information of the vehicle into the second software, and determine an error of the first software based on an output of the second software; and a software update unit configured to generate update data for the first software based on the occurrence of an error in the first software, wherein the input / output interface sends the update data of the first software to the vehicle.
[0023] The simulation unit may determine validity of environmental information or operation information of the vehicle, and determine an error of the first software based on a result of the determination of the validity of the environmental information or operation information of the vehicle.
[0024] The simulation unit may determine validity of an output of the second software according to input of environmental information or operation information of the vehicle, and determine an error of the first software based on a determination result of validity of the output of the second software.
[0025] The simulation unit may predict the operation of the vehicle based on the output of the second software, and determine an error of the first software based on the operation of the vehicle.
[0026] The software updating unit may update the second software based on the update data of the first software.
[0027] The software updating unit may generate update data of third software installed in another vehicle based on occurrence of the error of the first software, and the update data of the third software is transmitted to the other vehicle. BRIEF DESCRIPTION OF THE DRAWINGS
[0028] These and / or other aspects of the present invention will become apparent and more easily understood from the following description of the embodiments in conjunction with the accompanying drawings, in which:
[0029] Figure 1 is a diagram showing a software update system according to one embodiment.
[0030] Figure 2 is a diagram showing an example of a vehicle according to an embodiment.
[0031] Figure 3 is a diagram showing a configuration of a vehicle according to an embodiment.
[0032] Figure 4 is a diagram showing an example of transmitting vehicle-related information to a server device according to an embodiment.
[0033] Figure 5 is a diagram showing a configuration of a server device according to an embodiment.
[0034] Figure 6 : is a diagram showing an example in which a server device according to an embodiment detects an error of a vehicle.
[0035] Figure 7 is a diagram showing an example in which a server device verifies sensing data of a vehicle according to an embodiment.
[0036] Figure 8 is a diagram showing an example of the operation of a software updating system according to one embodiment.
[0037] Fig. 9 is a diagram showing an example of the operation of a software updating system according to another embodiment. DETAILED DESCRIPTION
[0038] Hereinafter, the disclosed operating principles and embodiments will be described with reference to the accompanying drawings.
[0039] Various electrical devices or electronic devices in a vehicle are equipped with hardware and software for controlling the electrical devices or electronic devices. When there is an error in the hardware or software, the vehicle can compensate for the error in the hardware or correct the error in the software by updating the software.
[0040] The vehicle may use fail-safe logic installed in an electrical or electronic device to detect an error in hardware or software and, when an error is detected, update the entire software of the device.
[0041] However, in autonomous navigation vehicles, connected cars, electric vehicles, etc., the functions of various electrical or electronic devices interoperate with each other in a complex manner. Therefore, when an error is detected from a specific device and the electrical or electronic device undergoes a partial software update, additional errors may occur during the interoperation between the various electrical or electronic devices.
[0042] Figure 1 is a diagram showing a software updating system 1 according to one embodiment.
[0043] refer to Figure 1 , the software update system 1 includes a vehicle 10 and a server device 20 .
[0044] The vehicle 10 may travel on roads or railways using fossil fuels, electricity, or the like as a power source.
[0045] The vehicle 10 may be provided with a plurality of electrical or electronic devices that provide convenience and safety for the driver. For example, the vehicle 10 may be provided with convenience devices such as an audio / video / navigation (AVN) device, a heating, ventilation and air conditioning (HVAC) device, etc. In addition, the vehicle 10 may also be provided with other devices related to vehicle driving, such as an engine management system (EMS), a transmission control unit (TCU), an electronic stability control (ESC), a motor-driven power steering (MDPS), etc.
[0046] A plurality of electrical or electronic devices installed in the vehicle 10 may each include a sensor, an actuator, and an electronic control unit (ECU). The sensor may obtain environmental information and / or operation information of the vehicle 10, and the actuator may drive the vehicle 10. The ECU may control the actuator based on the output of the sensor.
[0047] The vehicle 10 is a device directly related to the safety and life of a driver and / or a passenger, and requires the integrity of the operations of devices (mechanical devices and electrical devices or electronic devices) included in the vehicle 10. Due to a small error in the electrical device or the electronic device, the safety and life of the driver and / or the passenger may be seriously threatened.
[0048] However, unexpected situations often occur during the driving of the vehicle 10, and situations that the vehicle designer did not anticipate in advance may occur. Thus, the mechanical devices and / or electrical devices or electronic devices of the vehicle 10 may fail in situations that were not anticipated in advance. In order to prevent, compensate for, or correct the failure of the mechanical devices and / or electrical devices or electronic devices of the vehicle 10, the vehicle 10 may be updated.
[0049] The electric or electronic devices of the vehicle 10 may be provided with hardware and software for controlling each part of the vehicle 10. The hardware may include sensors, actuators, processors, memories, etc. installed in each electric or electronic device, and the software may include programs and / or data stored or memorized in the processor and / or memory.
[0050] The update of the vehicle 10 may include the update of the software. For example, updating the software may include replacing the program and / or data installed in the ECU with a new program and / or new data.
[0051] Based on such software updates, the vehicle 10 may compensate for, correct, or prevent errors in the hardware and / or existing software.
[0052] The vehicle 10 may communicate with the server device 20 for software updates.
[0053] The vehicle 10 may transmit environmental information and / or operation information of the vehicle 10 to the server device 20 for software update. For example, the vehicle 10 may transmit sensing data sensed by various sensors and / or driving data for driving actuators to the server device 20.
[0054] The vehicle 10 may receive a program and data for software update from the server device 20. For example, the vehicle 10 may receive a program and data for updating software installed in each ECU.
[0055] The server device 20 may communicate with the vehicle 10. The server device 20 may receive environmental information and / or operation information of the vehicle 10 from the vehicle 10, and may transmit a program and data for software update of the vehicle 10 to the vehicle 10.
[0056] The server device 20 may store a vehicle model for simulating the operation and operation of the vehicle 10 and software that is the same as the software installed in the vehicle 10. For example, the server device 20 may store the same software as the software installed in the vehicle 10 and may include information of a mechanical model and / or an electric model of the vehicle 10 that is used to simulate the software installed in the vehicle 10.
[0057] The server device 20 may receive environmental information and / or operation information of the vehicle 10 from the vehicle 10, and may apply the received environmental information and / or operation information of the vehicle 10 to the same software as the software installed in the vehicle 10 to simulate the operation and operation of the vehicle 10. In addition, the server device 20 may apply the result processed by the same software as the software installed in the vehicle 10 to the vehicle model and predict the operation and / or operation of the vehicle 10.
[0058] In the simulation of the operation and operation of the vehicle 10, the server device 20 can detect: errors in the environmental information and / or operating information of the vehicle 1, errors in software that is the same as the software installed in the vehicle 10, and errors in the mechanical devices and / or electrical devices of the vehicle 10 based on the vehicle model.
[0059] When an error of the vehicle 10 is detected in the simulation of the running and operation of the vehicle 10 , the server apparatus 20 may generate update data of software to eliminate the error of the vehicle 10 .
[0060] In addition, the server device 20 may transmit software update data to the vehicle 10 .
[0061] The vehicle 10 may update the software of the vehicle 10 based on the software update data received from the server device 20 .
[0062] Hereinafter, the configuration and operation of the vehicle 10 and the server device 20 will be described below in detail.
[0063] Figure 2 is a diagram showing an example of a vehicle 10 according to an embodiment.
[0064] refer to Figure 2 The vehicle 10 includes an input device 11 , a display 12 , a detector 13 , an imager 14 , a global positioning system (GPS) 15 , a communicator 16 , a driver 17 , and a controller 18 .
[0065] The inputter 11 may receive one or more inputs from the driver related to operation and communication of the vehicle 10. The inputter 11 may receive a request to upgrade software of the vehicle 10 from the driver via Wi-Fi communication, or receive a request for traffic information via V2X communication.
[0066] The input device 11 may include a plurality of switches for receiving the input of the driver. In addition, the input device 11 may include a push switch and a membrane switch operated by being pressed by the user, or a touch switch operated by contacting a part of the user's body.
[0067] The display 12 may display information about the driving and communication of the vehicle 10 to the driver. The display 12 may display the progress of software upgrades through Wi-Fi communication, or display traffic information of surrounding roads received through V2X communication.
[0068] The display 12 may include various types of display panels for displaying information related to the operation and communication of the vehicle 10. For example, the display 12 may include a light emitting diode (LED) panel, an organic light emitting diode (OLED) panel, a liquid crystal display (LCD) panel, etc.
[0069] In addition, the display 12 may adopt a touch screen panel (TSP) that receives an input from a driver and displays operation information corresponding to the received control command.
[0070] The touch screen panel includes: a display for displaying operation information and / or control commands; a touch panel for detecting coordinates of contact with a part of a user's body; and a touch screen controller for determining a control command input by the user based on the contact coordinates detected by the touch panel. The touch screen controller may compare the coordinates of the user's touch detected by the touch panel with the coordinates of the control command displayed by the display, thereby identifying the control command input by the user.
[0071] The detector 13 detects status information of the vehicle 10 .
[0072] The detector 13 may include at least one of the following: an angular velocity detector for detecting the angular velocity of a steering wheel for detecting a steering angle of the vehicle 10; a speed detector for detecting a driving speed of the vehicle 10; a yaw rate detector for detecting a yaw moment of the vehicle 10; and an acceleration detector for detecting an acceleration of the vehicle 10.
[0073] The speed detector may refer to wheel speed sensors provided on the front wheels, the rear wheels, the right wheels, and the left wheels, or refer to an acceleration sensor for detecting acceleration of the vehicle 10 .
[0074] The detector 13 may include a distance detector that detects a distance from an object located outside the vehicle 10, for example, another vehicle traveling in front of the vehicle 10, a stationary object such as a structure installed near the road, and another vehicle approaching the vehicle in an opposite lane.
[0075] The distance detector outputs one or more signals corresponding to detection of objects existing in the front and left and right sides of the vehicle 10 at the current position of the vehicle 10 , and transmits a signal corresponding to the distance of the detected object to the controller 18 .
[0076] Such a distance detector may include a light detection and ranging (Lidar) sensor. The light detection and ranging sensor may be a non-contact distance detection sensor using the principle of Lidar.
[0077] The distance detector may include an ultrasonic sensor or a radar sensor.
[0078] The imager 14 obtains an image of the road and transmits the obtained image to the controller 18. Here, the image of the road may be an image of the road in the forward direction relative to the traveling direction of the vehicle 10.
[0079] In detail, the imager 14 is a device for detecting object information and converting the detected object information into an electric image signal. The imager 14 detects the environment outside the vehicle 10 at the current position of the vehicle 10, specifically, information about the road on which the vehicle 10 is traveling, and information about surrounding objects existing in the front side and on the left and right sides of the vehicle 10, and transmits the detected object information to the controller 18.
[0080] The imager 14 is a camera that may include a charge coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) image sensor.
[0081] The imager 14 may be provided on a window glass on the front side, in detail, may be provided on a window glass inside the vehicle 10 , may be provided on a rearview mirror inside the vehicle 10 , or may be provided on a roof panel exposed to the outside.
[0082] The imager 14 may be a rear camera or a camera for a black box, or may be a camera for an autonomous driving control device provided for autonomous driving.
[0083] The GPS 15 may receive position information provided from a plurality of satellites to obtain current position information of the vehicle 10. The GPS 15 may include: an antenna for receiving signals from a plurality of GPS satellites; software for obtaining the position of the vehicle 10 using distance and time information corresponding to position signals from a plurality of GPS satellites; and an outputter for outputting the obtained current position information of the vehicle 10.
[0084] The communicator 16 may perform communication with the server device 20. The communicator 16 may transmit a communication signal received from the server device 20 to the controller 18. The communicator 16 may transmit a communication signal corresponding to state information, detection information of the vehicle 10, and input information input by a user to the server device 20 based on a control command of the controller 18.
[0085] The communicator 16 can communicate with the server device 20 in various communication schemes.
[0086] For example, the communicator 16 may communicate with the server device 20 using time division multiple access (TDMA), code division multiple access (CDMA), wideband code division multiple access (WCDMA) (CDMA2000), wireless broadband (Wibro), world interoperability for microwave access (WiMAX), long term evolution (LTE), or wireless broadband evolution. In addition, the communicator 16 may communicate with the server device 20 using a dedicated short range communication (DSRC) communication scheme, a wireless access in a vehicular environment (WAVE) communication scheme, or a wireless fidelity (WiFi) communication scheme.
[0087] The driver 17 is a device for driving the vehicle 10 and may include a braking device, a suspension device, a power generation device, a power transmission device, and a steering device.
[0088] The controller 18 is provided in the vehicle 10, and controls various drivers 17 and additional devices provided in the vehicle 10. The controller 18 may be provided in an automatic driving control device for automatic driving.
[0089] The controller 18 controls the automatic driving of the vehicle 10 based on the user input information of the inputter 11 , the image information of the imager 14 , the detection information of the detector 13 , the position information of the GPS 15 , and the information received through the communicator 16 .
[0090] The controller 18 checks the current position received by the GPS 15 in response to receiving a selection signal of the navigation mode selected through the input 11, checks the destination selected through the input 11, checks the map information stored in the memory, searches for a route from the current position to the destination, matches the found route and the map, and allows the display 12 to display the map matching the route.
[0091] The controller 18 performs interoperation with the navigation mode in response to receiving a selection signal of the automatic driving mode, and controls the driving of the driver 17 based on navigation information, image information, distance information, speed information and external information so as to automatically run from the current position to the destination.
[0092] The controller 18 checks the positions of other vehicles traveling in the left and right lanes of the lane of the vehicle 10 based on information on the distance to the obstacle detected by the distance detector during the automatic driving mode, checks the distance of the other vehicle corresponding to the checked position of the other vehicle, and adjusts the speed of the vehicle 10 based on the checked distance of the other vehicle.
[0093] The controller 18 recognizes lane lines on the road by performing image processing in response to receiving image information of the road during the automatic driving mode, and recognizes the lane in which the vehicle 10 is traveling based on position information of the recognized lane lines.
[0094] The controller 18 may control the driving direction (ie, steering) of the vehicle 10 so that the lane is maintained or changed during the autonomous driving mode based on the distance to another vehicle, the current position, the identified lane lines, the identified lanes, and the searched routes.
[0095] The controller 8 may display front, rear, left, and right views of the vehicle 10 obtained by the imager 14 during the automatic driving mode, and may control the display 12 to display map information matching the route and road guidance information associated with the navigation mode.
[0096] Here, the navigation information may include destination information and map information, and may also include a road name in the map, location information of the road, a type of the road, and a route number of the road.
[0097] When the automatic driving mode is canceled, the controller 18 executes the manual driving mode. That is, the controller 18 controls the power device and the brake device based on the operation information of the brake pedal and the accelerator pedal manipulated by the driver during the manual driving mode so that the speed of the vehicle 10 is adjusted, and controls the steering device based on the steering information of the steering wheel manipulated by the driver so that the driving direction of the vehicle 10 is adjusted.
[0098] The controller 18 may control the display 12 to display forward traffic information transmitted from another vehicle, access information of other vehicles, and collision prediction information during operation.
[0099] The controller 18 may control the speaker to output forward traffic information, access information of other vehicles, and collision prediction information transmitted from another vehicle as sound during operation.
[0100] The controller 18 may transmit the environment information and / or operation information of the vehicle 10 to the server device 20 through the communicator 16, and receive the environment information and operation information of other vehicles through the communicator 16. The controller 18 may control the operation of at least one of the driving device and the additional device of the vehicle 10 based on the received information. Here, the environment information may include the traffic information ahead, the distance information relative to other vehicles, etc.
[0101] The controller 18 may communicate with the server device 20 through the communicator 16 for software update. The controller 18 may send environmental information and / or operation information of the vehicle 10 to the server device 20 through the communicator 16 for software update.
[0102] The controller 18 may receive a program and data for software update from the server device 20 through the communicator 16. In addition, the controller 18 may apply the program and data for software update received from the server device 20 to the software stored in the controller 18 and update the software.
[0103] It should be understood that Figure 2 At least one component shown in the drawings may be added or omitted according to its performance, and mutual positions of the components may be changed according to the performance or structure of the system.
[0104] Figure 2 Each component shown in the may refer to a software component and / or a hardware component, such as a field programmable gate array (FPGA) and an application specific integrated circuit (ASIC).
[0105] Figure 3 is a diagram showing a configuration of a vehicle according to an embodiment. Figure 4 is a diagram showing an example of transmitting vehicle-related information to a server device according to an embodiment.
[0106] The vehicle 10 includes a plurality of electrical devices. For example, the vehicle 10 may include a communication device 130 for communicating with the server device 20, such as Figure 3 and Figure 4In addition, the vehicle 10 may further include an electrical device 100, a first electrical device 110, and a second electrical device 120. The electrical device 100, the first electrical device 110, and the second electrical device 120 may each be a different electrical device. For example, the electrical device 100, the first electrical device 110, and the second electrical device 120 may represent an audio / video / navigation device, an air conditioner, an engine management system, a transmission control unit, an electronic stability control (ESC), and an electric power steering system.
[0107] The communication device 130, the electric device 100, the first electric device 110, and the second electric device 120 are connected through a vehicle communication network (network technology: NT). For example, the communication device 130, the electric device 100, the first electric device 110, and the second electric device 120 can communicate with each other via Ethernet, media oriented systems transport (MOST), Flexray, controller area network (CAN), local interconnect network (LIN), etc.
[0108] The electric device 100 may include a sensor 101 , an actuator 102 , and an electronic control unit (ECU) 103 .
[0109] The sensor 101 may collect environmental information and / or operation information of the vehicle 10. For example, the sensor 101 may be a temperature sensor, an illumination sensor, a timer, etc., and may collect environmental information such as ambient temperature, illumination, and time. In addition, the sensor 101 may collect traffic information such as information about the distance to other vehicles.
[0110] Sensor 101 may be an accelerator pedal sensor, a brake pedal sensor, a speed sensor, a steering angle sensor, an acceleration sensor, a yaw sensor, etc., and may collect information related to the driving of the vehicle 10 , such as the driver's acceleration intention and braking intention and the driving speed, steering angle, acceleration and yaw rate of the vehicle 10 .
[0111] The sensor 101 is electrically connected to the ECU 103 , and may transmit sensing data to the ECU 103 .
[0112] The actuator 102 is electrically connected to the ECU 103 and operates mechanically or electrically in response to a control command of the ECU 103 .
[0113] For example, the actuator 102 may be a valve, a motor, etc. The actuator 102 may close or open a flow path in response to a control command of the ECU 103 , and may also generate torque (rotation) in response to a control command of the ECU 103 .
[0114] The ECU 103 is connected to the sensor 101 and the actuator 102. The ECU 103 may process the sensing data of the sensor 101 and generate control data for controlling the actuator 102. For example, the ECU 103 may receive the displacement of the accelerator pedal from the accelerator pedal sensor and generate control data for controlling the opening of the throttle valve of the engine in response to the displacement of the accelerator pedal.
[0115] The ECU 103 can transmit the sensing data received from the sensor 101 to the communication device 130 via the vehicle communication network NT. Figure 4 In addition, the ECU 103 may transmit control data to be output to the actuator 102 to the communication device 130 through the vehicle communication network NT. The sensing data and the control data may correspond to environmental information and operation information of the vehicle 10, respectively.
[0116] In addition, the ECU 103 may store software for processing the sensing data and for generating the control data. The ECU 103 may receive data for updating the software from the communication device 130, and may update the software based on the software update data.
[0117] The first and second electric devices 110 and 120 include first and second sensors 111 and 121 , first and second actuators 112 and 122 , and first and second ECUs 113 and 123 .
[0118] Each of the first electrical device 110 and the second electrical device 120 may perform a function different from the function performed by the electrical device 100. The first electrical device 110 and the second electrical device 120 may transmit a plurality of sensing data sensed by the first sensor 111 and the second sensor 121 and a plurality of control data generated by the first ECU 113 and the second ECU 123 to the communication device 130 through the vehicle communication network NT.
[0119] The electric device 100 and the first and second electric devices 110 and 120 are merely examples of electric devices included in the vehicle 10, and the electric devices or electronic devices included in the vehicle 10 are not limited to Figure 3 .
[0120] The communication device 130 is connected to the electric device 100 and the first and second electric devices 110 and 120 through the vehicle communication network NT.
[0121] The communication device 130 includes a telematics unit 131 and an antenna 132 .
[0122] The telematics unit 131 may receive sensing data and control data from the electric device 100 and each of the first and second electric devices 110 and 120 through the vehicle's communication network NT and process the sensing data and control data. For example, the telematics unit 131 may modulate the sensing data and control data into a transmission signal.
[0123] The telematics unit 131 may output a transmission signal to the antenna 132 so that the transmission signal is transmitted to the server device 20 .
[0124] The telematics unit 131 may receive a reception signal from the antenna 132 and demodulate the received signal. The received signal may include, for example, software update data, and the telematics unit 131 may demodulate the received signal into the software update data.
[0125] In addition, the telematics unit 131 may transmit the software update data to the electric device 100 and the first and second electric devices 110 and 120 through the vehicle communication network NT.
[0126] The antenna 132 may transmit radio waves to a free space, and may receive radio waves from the free space.
[0127] The antenna 132 may receive a transmission signal from the telematics unit 131 and transmit a radio wave corresponding to the transmission signal to a free space. In addition, the antenna 132 may receive a radio wave from a free space and transmit a reception signal corresponding to the received radio wave to the telematics unit 131.
[0128] The communication device 130 receives sensing data and control data from the electrical device 100 and each of the first electrical device 110 and the second electrical device 120, such as Figure 4 As shown, the communication device 130 may wirelessly transmit a transmission signal corresponding to the received control data to the server device 20. In addition, the communication device 130 may wirelessly receive the reception signal from the server device 20, and may transmit the software update data included in the reception signal to the electrical device 100 and the first and second electrical devices 110 and 120.
[0129] In this way, the vehicle 10 may transmit environmental information and / or operation information (e.g., sensing data and / or control data) of the vehicle 10 to the server device 20, and receive software update data from the server device 20. In addition, the vehicle 10 may update the software of each electrical device in response to receiving the software update data.
[0130] Figure 5 is a diagram showing a configuration of a server device according to an embodiment. Figure 6: is a diagram showing an example in which a server device according to an embodiment detects an error of a vehicle. Figure 7 is a diagram showing an example in which a server device verifies sensing data of a vehicle according to an embodiment.
[0131] See also Figure 5 , Figure 6 and Figure 7 , the server device 20 includes an input / output interface 210 , a sensing data inputter 220 , a model database 230 , a vehicle simulation unit 240 , and a software update unit 250 .
[0132] The input / output interface 210 may receive sensing data of the sensor 101 and control data of the ECU 103 transmitted from the vehicle 10 , and may transmit software update data to the vehicle 10 .
[0133] For example, the server device 20 may be connected to the Internet as a wide area network, and the input / output interface 210 may receive sensing data of the sensor 101 and control data of the ECU 103 through the Internet (or from the Internet). In addition, the input / output interface 210 may send software update data through the Internet (or to the Internet).
[0134] The input / output interface 210 can transmit sensing data and control data to the sensing data inputter 220 via the Internet (or from the Internet). The input / output interface 210 is also electrically connected to the software update unit 250, receives software update data from the software update unit 250, and transmits the software update data to the vehicle 10.
[0135] The sensing data inputter 220 receives sensing data and control data from the input / output interface 210 and converts the received sensing data and control data into a form to be processed by the vehicle simulation unit 240. In addition, the sensing data inputter 220 may transmit the converted sensing data and control data to the vehicle simulation unit 240.
[0136] The model database 230 may store information of a vehicle model 231 of the vehicle 10 .
[0137] The vehicle model 231 may be used by the server device 20 to predict the operation of the vehicle 10. For example, the vehicle simulation unit 240 may apply the sensing data to the vehicle model 231 and predict the operation of the vehicle 10 based on the output of the vehicle model 231.
[0138] The vehicle model 231 may include various software installed in the electrical devices of the vehicle 10. For example, the vehicle model 231 may include software installed in the electrical device 100 of the vehicle 10, software installed in the first electrical device 110 of the vehicle 10, and software installed in the second electrical device 120 of the vehicle 10.
[0139] The vehicle model 231 may include operating parameters of various mechanical devices and electrical devices included in the vehicle 10. For example, the vehicle model 231 may include parameters of an engine installed in the vehicle 10, parameters of a steering device, parameters of a brake, parameters of a valve, parameters of a motor, and the like.
[0140] The model database 230 may store not only the vehicle model 231 of the vehicle 10 but also the vehicle models of other vehicles. The model database 230 may also store a vehicle A model 232 of the vehicle A and a vehicle B model 233 of the vehicle B.
[0141] The vehicle simulation unit 240 may verify the sensing data received from the vehicle 10 and predict the operation of the vehicle 10 .
[0142] The vehicle simulation unit 240 may receive the sensing data of the vehicle 10 from the sensing data inputter 220 ( 241 ), and may verify the sensing data of the vehicle 10 ( 242 ), such as Figure 6 shown.
[0143] The vehicle simulation unit 240 may determine whether the sensing data received from the vehicle 10 is within a predetermined normal range.
[0144] For example, the vehicle simulation unit 240 may receive camera sensing data of the vehicle 10 and may determine whether the camera sensing data is within a predetermined normal range. Figure 7 , the vehicle simulation unit 240 may determine that the camera sensing data is outside the normal range under the condition of rainy day-backlight / reflection. In addition, the vehicle simulation unit 240 may determine that the camera sensing data is outside the normal range under the condition of rainy night-normal light source.
[0145] When the sensing data is out of the normal range, the vehicle simulation unit 240 may determine that the sensor 101 provided in the vehicle 10 has an error or that software processing data of the sensor 101 has an error.
[0146] The vehicle simulation unit 240 may predict the operation of the vehicle 10 based on the vehicle model 231 of the model database 230 and the sensing data of the vehicle 10 (243), such as Figure 6 For example, the vehicle simulation unit 240 may input the sensing data of the vehicle 10 to the software of the ECU 103 included in the vehicle model 231, and generate control data for controlling the actuator 102 based on the output of the software (244).
[0147] The vehicle simulation unit 240 can verify the control data, such as Figure 6 As shown (245).
[0148] The vehicle simulation unit 240 may compare the control data received from the vehicle 10 with the control data generated from the vehicle model 231. The vehicle simulation unit 240 may determine an error of software installed in the vehicle 10 based on a comparison result between the control data received from the vehicle 10 and the control data generated from the vehicle model 231.
[0149] The vehicle simulation unit 240 may simulate the driving of the actuator 102 based on the verified control data, such as Figure 6 shown.
[0150] The vehicle simulation unit 240 may predict operations of components included in the vehicle 10, such as an engine, a steering device, a brake, a valve, and a motor, based on control data generated from the vehicle model 231. The vehicle simulation unit 240 may determine whether software installed in the vehicle 10 has an error and / or whether the actuator 102 has an error based on the predicted operation of the vehicle 10. For example, when the predicted operation of the vehicle 10 exceeds a predetermined normal range, the vehicle simulation unit 240 may determine that software installed in the corresponding ECU has an error and / or the actuator 102 connected to the corresponding ECU has an error.
[0151] The vehicle simulation unit 240 may transmit information about the detected error to the software update unit 250. For example, the vehicle simulation unit 240 may transmit information about an error in software and / or hardware installed in the electrical device of the vehicle 10 to the software update unit 250.
[0152] The software update unit 250 may receive information about errors of software and / or hardware of the vehicle 10 from the vehicle simulation unit 240 and generate software update data for eliminating errors of software of the vehicle 10 or compensating for errors of hardware of the vehicle 10 .
[0153] The software update unit 250 may transmit the software update data to the input / output interface 210 , and the input / output interface 210 may transmit the software update data to the vehicle 10 .
[0154] In addition, the software update unit 250 may transmit the software update data to the model database 230 , and the model database 230 may update the vehicle model 231 based on the software update data.
[0155] In this way, the server device 20 may receive the sensing data and the control data from the vehicle 10. The server device 20 may verify the sensing data and may predict the control data of the ECU 103 included in the vehicle 10 using the sensing data and the vehicle model. The server device 20 may verify the control data received from the vehicle 10 using the predicted control data, and predict the operation of the vehicle 10 using the control data and the vehicle model. The server device 20 may determine an error in the hardware and / or software installed in the vehicle 10 based on the verification of the sensing data, the verification of the control data, and the prediction of the operation of the vehicle 10.
[0156] Figure 8 is a diagram showing an example of the operation of a software updating system according to one embodiment.
[0157] Reference Figure 8 , the vehicle 10 senses environmental information and / or operational information ( 1010 ).
[0158] The vehicle 10 may sense environmental information and / or operational information via the sensor 101 .
[0159] The sensor 101 may collect environmental information, such as environmental temperature, illumination, time, etc. In addition, the sensor 101 may collect traffic information, such as information about the distance to other vehicles. In addition, the sensor 101 may collect information related to the travel of the vehicle 10, such as the driver's acceleration intention and braking intention, and the travel speed, steering angle, acceleration, and yaw rate of the vehicle 10.
[0160] The vehicle 10 transmits environmental information and / or operational information ( 1020 ).
[0161] The vehicle 10 may wirelessly transmit the environmental information and / or the operational information to the server device 20 via the communication device 130 .
[0162] The vehicle 10 operates based on the environmental information and / or the operational information ( 1030 ).
[0163] The vehicle 10 may process environmental information and / or operational information, and may control operation of actuators 102 included in the vehicle 10 based on the environmental information and / or operational information. For example, the vehicle 10 may control an engine, a steering device, a brake, etc. based on the environmental information and / or operational information.
[0164] The server device 20 processes the environmental information and / or operational information received from the vehicle 10 ( 1040 ).
[0165] The server device 20 may verify the environmental information and / or operational information received from the vehicle 10 .
[0166] For example, the server device 20 may determine whether the environmental information and / or operating information received from the vehicle 10 is within a predetermined normal range. When the environmental information and / or operating information is outside the normal range, the server device 20 may determine that the hardware and / or software of the vehicle 10 has an error.
[0167] The server device 20 predicts the operation of the vehicle 10 based on the environmental information and / or the operation information received from the vehicle 10 ( 1050 ).
[0168] The server device 20 may include a vehicle model for simulating the operation of the vehicle 10 , and the vehicle model may include the same software as that installed in the vehicle 10 .
[0169] The server device 20 may input environmental information and / or operation information to the software of the vehicle model, and obtain control data output from the software of the vehicle model.
[0170] The server device 20 may verify the control data.
[0171] For example, the server device 20 may determine whether the control data is within a predetermined normal range, and when the control data is outside the normal range, the server device 20 may determine that the hardware and / or software of the vehicle has an error. When the control data output from the vehicle model is different from the control data included in the environmental information and / or the operating information, the server device 20 may determine that the hardware and / or software of the vehicle 10 has an error.
[0172] The server device 20 may predict the operation of the vehicle 10 based on the control data of the vehicle model. For example, the server device 20 may predict the operation of components included in the vehicle 10, such as an engine, steering, brakes, valves, and motors, based on the control data of the vehicle model.
[0173] The server device 20 may determine whether software and / or hardware installed in the vehicle 10 has an error based on the predicted operation of the vehicle 10 .
[0174] The server device 20 requests the vehicle 10 to perform a fail-safe mode ( 1060 ).
[0175] When an error in the hardware and / or software of the vehicle 10 is detected, the server device 20 may request a fail-safe mode from the vehicle 10 to update the software of the vehicle 10 .
[0176] The vehicle 10 enters a fail-safe mode ( 1070 ).
[0177] The vehicle 10 may switch the ECU 103 to the fail-safe mode in response to the fail-safe mode request of the server device 20. The operation of the ECU 103 in the fail-safe mode may be limited.
[0178] The server device 20 generates software update data (1080).
[0179] The server device 20 may generate software update data for removing the error in the software of the vehicle 10 or for compensating for the error in the hardware based on information related to the error in the software and / or hardware of the vehicle 10 .
[0180] The server device 20 transmits the software update data to the vehicle 10 (1090).
[0181] The vehicle 10 updates the software of the ECU 103 ( 1100 ).
[0182] The vehicle 10 may update the software of the ECU 103 in response to receiving the software update data.
[0183] The server device 20 updates the vehicle model ( 1110 ).
[0184] The server device 20 may update the vehicle model included in the server device 20 based on the software update data.
[0185] As described above, the server device 20 simulates the same software as that of the vehicle 10 based on the environmental information and / or operation information of the vehicle 10 , and detects an error of the software of the vehicle 10 based on the result of the simulation.
[0186] Fig. 9 is a diagram showing an example of the operation of a software updating system according to another embodiment.
[0187] refer to Fig. 9 , the server device 20 receives environmental information and / or operation information from another vehicle 30 (1210). Operation 1210 may be performed with Figure 8 The operation 1020 shown in FIG.
[0188] The server device 20 processes the environmental information and / or operational information received from another vehicle 30 (1220). Operation 1220 may be performed in conjunction with Figure 8 The operation 1040 is the same as shown in FIG.
[0189] The server device 20 determines an error of the vehicle 10 based on the environmental information and / or the operation information received from the other vehicle 30 ( 1230 ).
[0190] The server device 20 may include a vehicle model for simulating the operation of the other vehicle 30 , and the vehicle model may include the same software as that installed in the other vehicle 30 .
[0191] The server device 20 may input the environment information and / or the operation information to the software of the vehicle model and obtain the control data output from the software of the vehicle model. In addition, the server device 20 may verify the control data.
[0192] The server device 20 may predict the operation of the other vehicle 30 based on the control data of the vehicle model. The server device 20 may determine whether software and / or hardware installed in the other vehicle 30 has an error based on the predicted operation of the other vehicle 30.
[0193] In addition, the server device 20 may also determine whether the vehicle 10 equipped with the same hardware and software as those of the other vehicle 30 has an error based on the environmental information and / or operation information of the other vehicle 30 .
[0194] The server device 20 requests the vehicle to operate in a fail-safe mode (1240). Operation 1240 may be performed with Figure 8 The operation 1060 shown in FIG.
[0195] The vehicle 10 enters a fail-safe mode (1250). Operation 1250 may be performed with Figure 8 The operation 1070 is the same as shown in .
[0196] Server device 20 generates software update data (1260). Operation 1260 may be performed in conjunction with Figure 8 The operation 1080 is the same as shown in .
[0197] The server device 20 sends the software update data to the vehicle 10 (1270). Operation 1270 may be performed with Figure 8 The operation 1090 shown in FIG.
[0198] The vehicle 10 updates the software of the ECU 103 (1280). Operation 1280 may be performed with Figure 8 The operation 1100 is the same as shown in FIG.
[0199] The server device 20 updates the vehicle model (1290). Operation 1290 may be performed with Figure 8 The operation 1110 shown in FIG.
[0200] As described above, the server device 20 simulates the same software as that of another vehicle 30 based on the environmental information and / or operation information of the other vehicle 30, and detects errors in the software of the vehicle 10 equipped with the same software as that of the other vehicle 30 based on the simulation results.
[0201] As is apparent from the above, one aspect of the present disclosure may provide a software update system capable of detecting an error in hardware or software throughout a vehicle and performing a software update in response to the detected error.
[0202] An aspect of the present disclosure may provide a software update system capable of updating software of a vehicle in association with a server device.
[0203] One aspect of the present disclosure may detect vehicle-level errors and selectively provide updates on desired software.
[0204] One aspect of the present disclosure can provide end-to-end error detection at the vehicle level by operating software having the same structure as the vehicle level in a server device. In a vehicle having functions of various electrical devices that interoperate with each other in a complex manner, such as an autonomous vehicle, a networked car, an electric vehicle, etc., software errors can be effectively detected.
[0205] One aspect of the present disclosure may use information about other vehicles to predict errors that have a likelihood of occurring, thereby providing a software update that eliminates the error.
[0206] One aspect of the present disclosure may significantly improve the fail-safe performance of the entire vehicle.
[0207] The logic blocks, modules or units described in conjunction with the embodiments disclosed herein may be implemented or executed by a computing device having at least one processor, at least one memory and at least one communication interface. The elements of the methods, processes or algorithms described in conjunction with the embodiments disclosed herein may be directly embodied in hardware, in software modules executed by at least one processor, or in a combination of the two. Computer executable instructions for implementing the methods, processes or algorithms described in conjunction with the embodiments disclosed herein may be stored in a non-transitory computer-readable storage medium.
[0208] Although the embodiments of the present invention have been described above, those skilled in the art will appreciate that the configurations of the various embodiments described above may be modified without departing from the spirit of the present invention. It should also be understood that these modifications fall within the scope of the present invention.
Claims
1. A server device, the server device being used to update software on a vehicle, the server device include: one or more processors; a communication interface connected to the one or more processors, wherein the communication interface is configured to communicate with a vehicle having the first software installed therein; and a memory configured to store second software identical to the first software, Wherein, the server device is configured as: receiving environmental information or operation information of the vehicle from the vehicle; generating update data for the first software based on the output of the second software according to the environment information or operation information of the vehicle, Update data of the first software is transmitted to the vehicle.
2. The server device according to claim 1, in, The server device is further configured to: executing the second software using environmental information or operation information of the vehicle, and An error of the first software is determined based on an output of the second software.
3. The server device according to claim 2, in, The server device is further configured to determine validity of environmental information or operation information of the vehicle, and determine an error of the first software based on a result of the determination of validity of the environmental information or operation information of the vehicle.
4. The server device according to claim 2, in, The server device is further configured to determine validity of an output of the second software according to input of environmental information or operation information of the vehicle, and determine an error of the first software based on a result of the determination of validity of the output of the second software.
5. The server device according to claim 2, in, The server device is further configured to predict an operation of the vehicle based on an output of the second software, and determine an error of the first software based on the operation of the vehicle.
6. The server device according to claim 1, in, The server device is further configured to update the second software based on update data of the first software.
7. The server device according to claim 1, in, The server device is configured to communicate with another vehicle installed with third software, The server device is configured to generate update data of the third software based on environmental information or operation information of the vehicle, and transmit the update data of the third software to the other vehicle.
8. A software updating method, The following steps are involved: receiving environmental information or operation information from a vehicle in which the first software is installed; executing second software using environmental information or operation information received from the vehicle, the second software being identical to the first software; generating update data of the first software based on output of the second software according to environmental information or operation information of the vehicle; as well as Update data of the first software is transmitted to the vehicle.
9. The software updating method according to claim 8, in, Generating update data of the first software includes: inputting environmental information or operation information of the vehicle into the second software; and An error of the first software is determined based on an output of the second software.
10. The software updating method according to claim 9, in, Determining the error of the first software includes: determining validity of environmental information or operating information of the vehicle; and An error of the first software is determined based on a determination result of validity of environmental information or operation information of the vehicle.
11. The software updating method according to claim 9, in, Determining the error of the first software includes: determining validity of an output of the second software according to input of environmental information or operation information of the vehicle; and An error of the first software is determined based on a result of the determination of the validity of the output of the second software.
12. The software updating method according to claim 9, in, Determining the error of the first software includes: predicting operation of the vehicle based on output of the second software; and An error of the first software is determined based on operation of the vehicle. 13 . The software updating method according to claim 8 , further comprising updating the second software based on the update data of the first software.
14. The software updating method according to claim 8, further comprising: include: generating update data of third software installed in another vehicle based on environmental information or operation information of the vehicle; as well as The update data of the third software is transmitted to the another vehicle.
15. A software update server, include: an input / output interface configured to receive environmental information or operation information of the vehicle from a vehicle, the vehicle having the first software installed therein; A database storing second software identical to the first software; a simulation unit configured to input environmental information or operation information of the vehicle into the second software, and determine an error of the first software based on an output of the second software; as well as a software updating unit configured to generate update data of the first software based on occurrence of an error of the first software, Wherein, the input / output interface is configured to send update data of the first software to the vehicle.
16. The software update server according to claim 15, in, The simulation unit is configured to determine validity of environmental information or operation information of the vehicle, and determine an error of the first software based on a result of the determination of the validity of the environmental information or operation information of the vehicle.
17. The software update server according to claim 15, in, The simulation unit is configured to determine validity of an output of the second software according to input of environmental information or operation information of the vehicle, and determine an error of the first software based on a result of the determination of validity of the output of the second software.
18. The software update server according to claim 15, in, The simulation unit is configured to predict an operation of the vehicle based on an output of the second software, and to determine an error of the first software based on the operation of the vehicle.
19. The software update server according to claim 15, in, The software updating unit is configured to update the second software based on update data of the first software.
20. The software update server according to claim 15, in, The software updating unit is configured to generate update data of third software installed in another vehicle based on occurrence of an error of the first software, and transmit the update data of the third software to the another vehicle.
