This application claims priority to Japanese Patent Application No. 2021-070809 filed on Apr. 20, 2021, which is incorporated herein by reference in its entirety including the specification, claims, drawings, and abstract.
The present disclosure relates to a software updating method and a vehicle operating system, in which data for updating software installed in a vehicle controller is transmitted via wireless communication to a vehicle to update the software in the vehicle controller.
Systems for updating software of vehicle controllers through wireless communication have been suggested (see, for example, JP 2018-132979 A).
In a system disclosed in JP 2018-132979 A (hereinafter referred to as the '979 application), a software updating device mounted on a vehicle communicates with a telematics center after an engine is started, to determine whether or not software in a control device requires updating, and, when it is determined that the software requires updating, requests a software program used for the update from the telematics center. Then, after downloading the software program, the software updating device updates the software in response to an installation start command from the telematics center.
Meanwhile, vehicle operating systems for self-driving vehicles have been utilized in recent years. Such a system is often configured to operate a plurality of self-driving vehicles. Because, with the software updating method described in the ′979 application, a plurality of self-driving vehicles may update their software at the same time, the result in some instances may be a situation where operation of a sufficient number of the self-driving vehicles becomes impossible. Further, because in the software updating method of the ′979 application the software is updated when the engine is started, in some instances the plurality of vehicles cannot be operated for a period of time after the start of the engine until the software updated has been completed, which may make it impossible to operate plural vehicles as desired.
Under these circumstances, the present disclosure is directed to preventing software in vehicle controllers from being updated concurrently in the vehicle controllers, to thereby secure operation of a plurality of vehicles.
A software updating method of this disclosure includes transmitting data for updating software in vehicle controllers (“update data”) via wireless communication from a server to a plurality of vehicles on which the vehicle controllers are respectively mounted, for causing each of the vehicle controllers to update the software, in which method the server groups the plurality of vehicles into a plurality of groups and varies timings of causing the vehicle controllers to update the software on a group-by-group basis.
In this way, concurrent updating of the software in the vehicle controllers can be prevented, to thereby secure operation of sufficient vehicles.
In the software updating method of this disclosure, the server may be configured to vary the timing of transmission of the update data to the vehicles on a group-by-group basis.
When the timing of transmission of the update data to the vehicles is varied from group to group, the communication load between an operation managing server and each of the vehicles can be reduced, while also preventing concurrent updating of the software in vehicle controllers, to accordingly secure operations of the vehicles.
In the software updating method of this disclosure, the server may be configured to set an update timing of causing the vehicle controllers mounted on the vehicles in each of the plurality of groups to update the software in such a manner that the update timing is varied on a group-by-group basis, and transmit both the update data and the update timing to the vehicles in each of the groups.
Because the update timing is transmitted together with the update data to each of the vehicles as described above, a transmission timing of transmitting the update data to the vehicle can be flexibly specified for each of the groups.
In the software updating method of this disclosure, the server may be an operation managing server which manages operations of the plurality of vehicles, and the operation managing server may be configured to acquire information on present locations from the plurality of vehicles, identify among the plurality of vehicles two or more vehicles parked in a parking space, and group the identified two or more vehicles in separate groups.
According to the above-described configuration, concurrent updating of the software of the two or more vehicles parked in the parking space can be prevented.
In another aspect of this disclosure, a software updating method includes transmitting update data for software in vehicle controllers via wireless communication from a software managing server to a plurality of vehicles on which the vehicle controllers are respectively mounted, for causing each of the vehicle controllers to update the software, in which method the software managing server is configured to transmit the update data to the plurality of vehicles, an operation managing server which manages operations of the plurality of vehicles is configured to acquire from the software managing server information indicating that the update data is transmitted, and the operation managing server is further configured to group, upon acquisition of the information, the plurality of vehicles into a plurality of groups, and vary timings of causing the vehicle controllers to update the software on a group-by-group basis.
In the software updating method of this disclosure, the operation managing server may be configured to set an update timing of updating the software in vehicle controllers mounted on vehicles in each of the groups, the update timing being varied on a group-by-group basis, and transmit the update timing to the vehicles, and each of the vehicle controllers may be configured to update the software upon receipt of the update timing.
In this way, concurrent updating of the software installed in the vehicle controllers can be prevented from occurring, to thereby secure operation of sufficient vehicles.
In the software updating method of this disclosure, the vehicles may be battery electric vehicles, and the operation managing server may be configured to acquire information about a present state of charge of a battery from each of the plurality of vehicles, and group the plurality of vehicles parked in a parking space into a plurality of groups in such a manner that vehicles having batteries whose state of charge differ from each other are contained in a same one group.
The above-described configuration can prevent a situation wherein, among the battery electric vehicles, all dispatchable battery electric vehicles having fully charged batteries are contained in the same one group and concurrently start updating the software, without leaving a single vehicle that is immediately dispatchable.
In the software updating method of this disclosure, the operation managing server may include a vehicle status database which stores maintenance statuses of the plurality of vehicles, and may be configured to group the plurality of vehicles parked in the parking space into a plurality of groups in such a manner that, among the plurality of vehicles, those having different time periods until a next scheduled maintenance are contained in a same one group.
This can prevent a situation wherein all vehicles having a relatively long time period until a next scheduled maintenance and are accordingly capable of a long distance driving, are grouped under the same one group, and thus concurrently start updating the software without leaving a single vehicle capable of a long distance driving.
In the software updating method of this disclosure, the plurality of vehicles may be a plurality of self-driving taxies, and the operation managing server may include a reservation information database which stores information about reservations of the plurality of self-driving taxies, and may be configured to group, among the plurality of self-driving taxies, those parked in a parking space into a plurality of groups based on the information about reservations.
In this way, it can be prevented that software updating is initiated immediately before a starting time of a reserved operation.
In the software updating method of this disclosure, the plurality of vehicles may be a plurality of shared vehicles, and the operation managing server may include a reservation information database which stores information about reservations of the shared vehicles, and may be configured to group, among the plurality of shared vehicles, shared vehicles parked in the parking space into a plurality of groups based on the information about reservations.
Also in this way, the update of the software can be prevented from being initiated immediately before the starting time of a reserved operation.
In the software updating method of this disclosure, the server may be an operation managing server which manages operations of a plurality of vehicles, and the operation managing server may be configured to acquire information on present locations from the plurality of vehicles, identify, among the plurality of vehicles, two or more vehicles parked in the parking space, group the identified two or more vehicles into a plurality of groups, transmit the update data for the software to a test vehicle in a first group which is, among the plurality of groups, initially subjected to an update of the software, so as to cause a vehicle controller mounted on the test vehicle to perform the update of the software at a first timing preceding by a predetermined length of time an update of the software in vehicle controllers mounted on other vehicles in the first group, transmit the update data to the other vehicles in the first group so as to cause the vehicle controllers of the other vehicles to perform the update of the software at a second timing after the predetermined length of time from the first timing, and transmit the update data to vehicles in each of second and subsequent groups in the plurality of groups so as to cause vehicle controllers of the vehicles in the second and subsequent groups to sequentially perform the update of the software at timings subsequent to the second timing, the timings being varied on a group-by-group basis, in which the predetermined length of time may be a sum of a length of time required to update the software in the vehicle controller mounted on the test vehicle and a length of time required to complete a test run of the test vehicle after the update of the software.
In the software updating method of this disclosure, the server may be an operation managing server which manages operations of a plurality of vehicles, the operation managing server may be configured to acquire information on present locations from the plurality of vehicles, identify, among the plurality of vehicles, two or more vehicles parked in a parking space, group the identified two or more vehicles into a plurality of groups, set an update timing of updating the software in a vehicle controller mounted on a test vehicle in a first group which is, among the plurality of groups, initially subjected to an update of the software, so as to cause the vehicle controller mounted on the test vehicle to perform the update of the software at a first timing preceding by a predetermined length of time an update of the software in vehicle controllers of other vehicles in the first group, set an update timing of updating the software in the vehicle controllers of the other vehicles, so as to cause the vehicle controllers of the other vehicles to perform the update of the software at a second timing after the predetermined length of time from the first timing, and set an update timing of updating the software in vehicle controllers mounted on vehicles in each of second and subsequent groups in the plurality of groups, so as to cause the vehicle controllers of the vehicles in the second and subsequent groups to sequentially update the software at timings subsequent to the second timing, the timings being varied on a group-by-group basis, in which the predetermined length of time is a sum of a length of time required to update the software in the vehicle controller of the test vehicle and a length of time required to perform a test run of the test vehicle after the update of the software.
In this way, because the software is updated in the vehicle controllers of the vehicles other than the test vehicle only after both the update of the software in the vehicle controller of the test vehicle and the test run of the test vehicle are completed, in the event that driving of the test vehicle is affected by an error in updated software, a situation where all of the vehicles are rendered undrivable by the error can be prevented.
In an aspect of this disclosure, a vehicle operating system is provided, in which the vehicle operating system includes a plurality of vehicles on which vehicle controllers are respectively mounted, and an operation managing server which manages operations of the plurality of vehicles, the system in which the operation managing server is configured to transmit update data for software in the vehicle controllers mounted on the plurality of vehicles via wireless communication to the plurality of vehicles, each of the vehicle controllers respectively mounted on the plurality of vehicles is configured to update the software upon receipt of the update data transmitted from the operation managing server, and the operation managing server is further configured to group the plurality of vehicles into a plurality of groups, and vary timings of causing the vehicle controllers to update the software on a group-by-group basis.
With the above-described configuration, operation of the vehicles can be secured by preventing concurrent updating of the software in the vehicle controllers.
In the vehicle operating system of this disclosure, the operation managing server may be configured to vary transmission timings of transmitting the update data to the vehicles on a group-by-group basis.
In the vehicle operating system of this disclosure, the operation managing server may be configured to set update timings of updating the software in such a manner that the software is updated in vehicle controllers mounted on vehicles in each of the plurality of groups at a different update timing that is varied on a group-by-group basis, and transmit both the update data and the update timing to the vehicles.
In the vehicle operating system of this disclosure, the operation managing server may be configured to acquire information on present locations from the plurality of vehicles, identify, among the plurality of vehicles, two or more vehicles parked in a parking space, and group the identified two or more vehicles into a plurality of groups.
In an aspect of this disclosure, a vehicle operating system includes a plurality of vehicles on which vehicle controllers are respectively mounted, an operation managing server which manages operations of the plurality of vehicles, and a software managing server which transmits update data for software in the vehicle controllers via wireless communication to the plurality of vehicles, in which vehicle operating system the operation managing server is configured to acquire from the software managing server information indicating that the update data is transmitted, the operation managing server is further configured to group, upon acquisition of the information, the plurality of vehicles into a plurality of groups, and vary timings of updating the software in the vehicle controllers on a group-by-group basis.
In the vehicle operating system of this disclosure, the operation managing server may be configured to set an update timing of updating the software in vehicle controllers mounted on vehicles contained in each of the groups, the update timing being varied on a group-by-group basis, and transmit the update timing to the vehicles, and each of the vehicle controllers may be configured to update the software upon receipt of the update timing. In addition, the operation managing server may be further configured to acquire information on present locations from the plurality of vehicles, identify, among the plurality of vehicles, two or more vehicles that are parked in a parking space, and group the identified two or more vehicles into a plurality of groups.
According to the present disclosure, concurrent updating the software in the vehicle controllers can be prevented, to thereby secure operation of the vehicles.
Embodiments of the present disclosure will be described based on the following figures, wherein:
Hereinafter, a vehicle operating system 100 according to an embodiment will be described with reference to the drawings. As shown in
As shown in
The vehicle controller 20 is a computer incorporating a CPU 28 which performs information processing and a memory 29 which stores software and other programs executed by the CPU 28 and data. As shown in
The motor 11, the battery 12, and the steering device 14 are connected to the vehicle controlling section 21 in the vehicle controller 20. A voltage sensor 15 and a current sensor 16 are disposed between the battery 12 and the motor 11 to respectively detect a voltage and a current of electric power supplied from the battery 12 to the motor 11. Further, a temperature sensor 17 is attached to the battery 12 to detect the temperature of the battery 12. Still further, a vehicle speed sensor 18 and a steering angle sensor 19 are disposed between the motor 11 and the wheel 13 to detect a vehicle speed and a steering angle of the wheel 13, respectively. The voltage sensor 15, the current sensor 16, the temperature sensor 17, the vehicle speed sensor 18, and the steering angle sensor 19 are connected to the vehicle controlling section 21 in the vehicle controller 20.
An acceleration sensor 31 and an angular velocity sensor 32 for detecting an acceleration and an angular velocity of the vehicle 10, respectively, are mounted on the vehicle 10. Both the acceleration sensor 31 and the angular velocity sensor 32 are connected to the navigation device 30. The navigation device 30 identifies the present location of the vehicle 10 based on a GPS signal acquired via the vehicle communication device 40 from a GPS satellite 90 and based on information of the acceleration and the angular velocity of the vehicle 10 respectively acquired from the acceleration sensor 31 and the angular velocity sensor 32, and outputs information on the present location of the vehicle 10 to the vehicle controlling section 21. In addition, the navigation device 30 outputs the information on the present location of the vehicle 10 to the operation managing center 50 via the wireless communication channel 45. It should be noted that the navigation device 30 outputs the information on the present location to the operation managing center 50 even though the vehicle 10 is shut down.
The vehicle controlling section 21 is configured by executing the software stored in the software storing section 22 with the CPU 28, to control the motor 11, the battery 12, and the steering device 14 based on an operation command input from the operation managing center 50, the information on the present location input from the navigation device 30, and data input from the variety of sensors 15 to 19 for causing the vehicle 10 to travel via automated self-driving. The vehicle controlling section 21 is further configured to acquire the voltage, current, and temperature of the battery 12 from the voltage sensor 15, the current sensor 16, and the temperature sensor 17, calculate, based on the acquired voltage, current, and temperature, a state of charge of the battery 12, and transmit information on the calculated state of charge of the battery 12 to the operation managing center 50.
The software updating section 23 stores data for updating software (“update data”) transmitted from the operation managing center 50 in the software storing section 22 and outputs a software update command to the vehicle controlling section 21.
As shown in
The operation commanding section 61 and the location information processing section 71, the grouping processing section 72, the update data transmission timing setting section 73, and the update data transmitting section 74 in the software update commanding section 70 are implemented by programs stored in the storage 69 when the CPU 68 executes the programs. Further, the vehicle status database 65, the reservation information database 66, and the update data storing section 67 are implemented by data having a predetermined data structure stored in the storage 69.
As shown in
As described above, the vehicles 10 are operated as automated self-driving taxies. The reservation information database 66 is, as shown in
The operation commanding section 61 outputs to each of the vehicles 10 an operation command based on information on a location and a state of charge of the battery 12 acquired from each of the vehicles 10 and based on reservation data stored in the reservation information database 66. The operation command includes information on the destination, a time of arrival, a route, and the like. Each of the vehicles 10 travels in an autonomous self-driving manner according to the received operation command, in order to accomplish its task as an autonomous self-driving taxi.
The location information processing section 71 in the software update commanding section 70 identifies, from among the vehicles 10, vehicles 10 parked in the parking space 82 shown in
Next, action of the operation managing server 60 in the thus-configured vehicle operating system 100 to perform an update of the software installed in the vehicle controller 20 of the vehicle 10 will be described with reference to
In
When the four vehicles 10a to 10d are parked in the parking space 82 as illustrated in
Then, the grouping processing section 72 groups the vehicles 10a to 10d parked in the parking space 82 into a plurality of groups in step S103 of
Subsequently, the update data transmission timing setting section 73 sets a transmission timing of transmitting the update data for the software to the vehicles 10 belonging to each of the groups in step S104 of
The update data transmission timing setting section 73 sets a value of 1 to N in a counter as shown in step S105 of
Upon completion of transmission, the update data transmission timing setting section 73 moves to step S108 of
Upon receipt of the update data for software from the operation managing server 60 in the operation managing center 50, the software updating section 23 in the vehicle controller 20 mounted on each of the vehicles 10a and 10b in Group 1 stores the received update data in the software storing section 22. After storing the update data, the software updating section 23 outputs the software update command to the vehicle controlling section 21.
The vehicle controlling section 21 terminates all currently active software applications, shuts down the vehicle controller 20, and subsequently reads the update data from the software storing section 22 to execute an update of the software.
The update data for the software is transmitted to the vehicles 10c and 10d in Group 2 is transmitted after a slight delay from transmission to the vehicles 10a and 10b in Group 1. Therefore, after the update of the software in the vehicle controller 20 is finished in each of the vehicles 10a and 10b in Group 1, each of the vehicles 10c and 10d in Group 2 receives the update data and updates the software in the vehicle controller 20.
As described above, in the vehicle operating system 100 according to this embodiment, the transmission timing of transmitting the update data to the vehicles 10 in each of the groups is varied on a group-by-group basis, which can prevent concurrent updates of the software in the vehicle controllers 20 from occurring in all of the vehicles 10. In addition, when the transmission timing of transmitting the update data to the vehicles 10 is varied on a group-by-group basis, the update data for the software can be transmitted while suppressing a load on communication between the operation managing server 60 and each of the vehicles 10.
In the above description, although the grouping processing section 72 is explained in connection with a process of grouping the vehicles 10a to 10d parked in the parking space 82 into two groups, the grouping processing section 72 is not limited to the process, and may be configured to group the four vehicles 10 into four groups on a one-by-one basis. Alternatively, the four vehicles 10 may be grouped into two groups of a first group containing one vehicle and a second group containing three vehicles, or into three groups of first and second groups respectively containing one vehicle and a third group containing two vehicles. In addition, the operation area 80 of the vehicles 10 may include, as the parking space 82, a plurality of parking spaces 82.
In cases wherein the plurality of parking spaces 82 are present, it is essential that vehicles 10 parked in a same one parking space 82 are grouped under different groups, while a same one group may include vehicles 10 parked in different parking spaces 82. For example, assuming that the vehicles 10a and 10b are parked in one of the parking spaces 82 and the vehicles 10c and 10d are parked in another one of the parking spaces 82, the vehicle 10a and 10c may be grouped under the first group, while the vehicles 10b and 10d may be grouped under the second group. As a result, the vehicles 10 parked in each of the parking spaces 82 are grouped into two groups of the first group and the second group. Conversely, each of the groups contains the vehicles 10 parked in the one of the parking spaces 82.
Referring next to
As shown in step S201 of
Then, as shown in step S203 of
In this way, including all vehicles 10 whose batteries 12 have been fully charged and are categorized under the full charge level of being dispatchable in the same one group, and thus concurrently starting action of updating the software without leaving a single vehicle 10 having a battery 12 at the full charge level and capable of being dispatched at any moment, can be prevented.
Next, a further grouping process performed in the software update commanding section 70 is described with reference to
As shown in step S301 of
In subsequent step S303 of
In this way, including all vehicles 10 having a long time period until the next scheduled maintenance and thus being capable of a long distance drive in the same one group, without leaving a single vehicle capable of driving a long distance, can be prevented.
Hereinafter, action of performing the update of the software in consideration of reservation statuses of the vehicles 10 is explained with reference to
The update data transmission timing setting section 73 sets the transmission timing of transmitting the update data for each of the groups in step S104 of
The above-described action can prevent the initiation of updating immediately before a reserved operation starting time.
The vehicles 10 have been explained as self-driving taxies to which reserved operations can be allocated, but the vehicles 10 are not limited to self-driving taxies, and may, for example, be shared vehicles used in a car sharing system for performing reservation based operations.
Next, action of updating the software in the vehicle controller 20 of each of the vehicles 10 is described with reference to
In
The update data transmission timing setting section 73 defines a group including the selected test vehicle as a first group which is, among the plurality of groups, initially subjected to software updating. Then, the update data transmission timing setting section 73 sets a transmission timing of transmitting the update data to the test vehicle so as to cause a vehicle controller 20 mounted on the test vehicle in the first group to initiate an update of software at a first timing t1 shown in
Then, for the vehicles 10 contained in the first group other than the test vehicle, the update data transmission timing setting section 73 sets a transmission timing of transmitting the update data so as to initiate the update of the software at a second timing t5 after the predetermined length of time from the first timing t1 as shown in
Subsequently, the update data transmission timing setting section 73 sets transmission timings of transmitting the update data to each of vehicles 10 contained in following second to fourth groups, which are sequentially subjected to the update of software after the first group, so as to initiate the update of the software at timings t6 to t8 after the second timing t5, the timings t6 to t8 being varied on a group-by-group basis.
When the timing of transmission to each of the vehicles 10 is set on a group-by-group basis as described above, the update of the software in each of the vehicle controllers 20 is initiated in the other vehicles 10 in the first group after the completion of both the update of the software in the vehicle controller 20 of the test vehicle and the test run of the test vehicle. Therefore, in case of an error in updated software, and driving of the test vehicle being disabled accordingly as a result of the error, a situation in which all of the vehicles 10 are rendered undrivable due to the error can be prevented.
Hereinafter, a configuration and action of an operation managing server 60a according to another embodiment will be described with reference to
As shown in
In each of the vehicles 10, when the specified update timing arrives, the software updating section 23 in the vehicle 10 outputs the software update command to the vehicle controlling section 21 for causing the vehicle controlling section 21 to update the software.
In the vehicle operating system 100 according to this embodiment, the timing of transmission of the update data to the vehicles 10 can be arbitrarily specified for each of the groups, which can improve flexibility in updating the software.
In the embodiments described above, it has been explained that the operation managing server 60 which manages the operations of the vehicles 10 transmits the update data for the software or the update timing to the vehicles 10, but the embodiment is not limited to such a configuration, and may be implemented with a server which does not manage the operations of the vehicles, but is instead configured to access the database in the operation managing server 60, and transmit the update data for the software or the update timing to the vehicles 10.
Hereinafter, a vehicle operating system 200 according to another embodiment will be described. The same components as those in the vehicle operating system 100 previously described with reference to
As shown in
The software managing server 160 is a computer incorporating a CPU 168 and a storage 169. The storage 169 stores update data for the software. The software managing server 160 determines whether an update of the software is necessary, and transmits, when determining the update of the software necessary, the update data for the software via the wireless communication channel 45 to the vehicles 10. Further, in addition to transmitting the update data, the software managing server 160 transmits to the operation managing server 60b an update data transmission signal being information indicating that the update data is transmitted to the operation managing server 60b.
As shown in
As shown in
Hereinafter, action of the operation managing server 60b and action of the vehicle 10 are described with reference to
As shown in step S601 of
The operation managing server 60b sets the update timing on a group-by-group basis in step S501 of
As shown in step S701 of
Hereinafter, another action of the operation managing server 60b is explained with reference to
In the action shown in
After receiving the update data from the software managing server 160, the vehicles 10 wait, as explained with reference to
In the above explanation, it is described that the software managing server 160 transmits the update data transmission signal being the information indicating that the update data is transmitted to the operation managing server 60b, and the operation managing server 60b performs, upon receipt of the update data transmission signal, the grouping process and setting of the update timings, while the software managing server 160 and the operation managing server 60b are not limited to the above-described configuration. For example, the operation managing server 60b may be configured to access the software managing server 160 at a predetermined time interval for acquiring information about whether the update data is transmitted, and after acquiring the information indicating that the update data is transmitted from the software managing server 160, perform the grouping process and the setting of the update timings. Here, the information may be a flag indicative of completion of transmission of the update data stored in the storage 169 of the software managing server 160.
As has been described above, the vehicle operating system 200 according to the above embodiment can prevent concurrent updating of the software installed in the vehicle controllers 20, to thereby secure the operations of the vehicles 10.
Number | Date | Country | Kind |
---|---|---|---|
2021-070809 | Apr 2021 | JP | national |