Construction machinery

JP2026166755APending Publication Date: 2026-10-14HITACHI CONSTRUCTION MACHINERY CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025059907
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-03-31
Publication Date
2026-10-14

AI Technical Summary

Benefits of technology

【0010】 本発明によれば、建設機械の車載コントローラにおけるファームウェア更新コストや更新時間を適宜に抑制可能となる。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026166755000001_ABST
    Figure 2026166755000001_ABST
Patent Text Reader

Abstract

This allows for appropriate reduction of firmware update costs for on-board controllers in construction machinery. [Solution] In the construction machine 10, if the firmware version represented by the update information received from the external server 2 via the first communication device 150 is equal to the firmware version represented by the update information received from another construction machine 5 via the second communication device 160, and the current firmware version of the onboard controller 100 is older than the firmware version represented by the update information received from the external server 2, the onboard controller 100 receives an update file 115 from the other construction machine 5 via the second communication device 160, and uses the received update file 115 to perform a firmware update process for the onboard controller 100.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a construction machine.

Background Art

[0002] Amid the trend of digitalization at construction sites, the tendency to make advanced use of data communication and information processing technologies, such as autonomous driving, remote control, and remote monitoring of construction machines, is accelerating. On the other hand, when such technologies are adopted to actually operate construction machines, the role played by the on-board controller in the construction machine becomes significant. Examples of such roles include, in addition to various controls of the vehicle body and equipment, acquisition of information such as position and operating time.

[0003] In construction machines that are highly monitored and controlled as described above, it is important that the on-board controller is appropriately managed and operates stably. From such a perspective, opportunities to rewrite the firmware of the on-board controller occur at a certain frequency in order to enhance security and improve functions.

[0004] Note that as a conventional technique related to firmware update of on-board controllers in construction machines, for example, the one disclosed in Patent Document 1 has been proposed. In this Patent Document 1, even if an abnormality such as a communication error or hang-up occurs during the rewriting process, the function of the on-board controller can be maintained afterward to reliably perform normal operation processing, so as to prevent a decrease in work efficiency, and a technique is disclosed that avoids the communication path being occupied for a long time by the communication for the rewriting process to secure communication for normal operation processing.

Prior Art Documents

Patent Documents

[0005]

Patent Document 1

Summary of the Invention

Problem to be Solved by the Invention

[0006] As with the conventional technology described above, it is becoming increasingly common to update the firmware of in-vehicle controllers using so-called OTA (Over The Air) technology. Updating the firmware of an in-vehicle controller requires downloading the update file from a server operated by the distribution source (e.g., a construction machinery manufacturer or distributor) via a commercial network such as a mobile phone line, and then setting it up on the construction machinery's in-vehicle controller.

[0007] However, update files have a considerable data size, and performing over-the-air (OTA) firmware updates using commercial lines can easily result in excessive costs and time for data downloads. In particular, at construction sites where many construction machines are in operation, performing OTA firmware updates for each machine individually can consume a lot of time and money at once, potentially increasing the overall management and operational costs of the site.

[0008] Therefore, the present invention has been made in view of the above problems, and aims to provide a technology that can appropriately suppress the cost and time of firmware updates in onboard controllers of construction machinery. [Means for solving the problem]

[0009] A construction machine according to one aspect of the present invention includes an on-board controller, a first communication device capable of receiving a first update file provided by an external server for updating firmware executed by the on-board controller, and first update information representing the version of the firmware after it has been updated by the first update file, and a second communication device capable of receiving a second update file provided by another construction machine for updating firmware, and second update information representing the version of the firmware after it has been updated by the second update file, wherein the version of the firmware represented by the first update information received by the first communication device from the external server and the version of the firmware represented by the second update information received by the second communication device from the other construction machine are equal, and the current version of the firmware of the on-board controller is older than the version of the firmware represented by the first update information, the second communication device receives the second update file from the other construction machine, and uses the received second update file to perform an update process on the on-board controller. [Effects of the Invention]

[0010] According to the present invention, the cost and time required for firmware updates in on-board controllers of construction machinery can be appropriately reduced. [Brief explanation of the drawing]

[0011] [Figure 1] This figure shows an example of a network configuration including construction machinery in this embodiment. [Figure 2] This figure shows an example of the hardware configuration of the construction machine in this embodiment. [Figure 3] This diagram shows an example of the configuration of the functional part held by the construction machine of this embodiment. [Figure 4] This figure shows an example of condition information in this embodiment. [Figure 5]This figure shows an example of a flow chart of the construction machinery management method in this embodiment. [Figure 6] This is a sequence diagram of the construction machinery management method in this embodiment. [Figure 7] This is a sequence diagram of the construction machinery management method in this embodiment. [Figure 8] This is a sequence diagram of the construction machinery management method in this embodiment. [Modes for carrying out the invention]

[0012] In the following description, "processor" refers to an arithmetic unit and may be one or more processor devices. At least one processor device is typically a microprocessor device such as a CPU (Central Processing Unit), but may also be other types of processor devices such as a GPU (Graphics Processing Unit). At least one processor device may be single-core or multi-core. At least one processor device may be a processor core. At least one processor device may be a broad processor device such as a hardware circuit that performs some or all of the processing (e.g., an FPGA (Field-Programmable Gate Array), a CPLD (Complex Programmable Logic Device), or an ASIC (Application Specific Integrated Circuit)).

[0013] Furthermore, in the following explanation, "auxiliary storage device" may refer to one or more persistent storage devices, which are examples of one or more storage devices. Persistent storage devices are typically non-volatile storage devices, and specifically may be, for example, HDDs (Hard Disk Drives), SSDs (Solid State Drives), or NVMe (Non-Volatile Memory Express) drives.

[0014] Further, in the following description, the main storage device is one or more memory devices, which is an example of one or more storage devices. At least one memory device in the memory may be a volatile memory device or a non-volatile memory device. Note that the volatile memory device described above is implied as an example of the main storage device (main storage device 102 in FIG. 2) shown in the present embodiment.

[0015] Further, in the following description, when elements of the same type are described without distinction, the common part of the reference signs is used, and when elements of the same type are described with distinction, the reference sign or the identifier of the element may be used.

[0016] <Overall Configuration of Network Including Construction Machine 10> FIG. 1 is a diagram showing an example of a network configuration including the construction machine 10 in the present embodiment. The construction machine 10 of the present embodiment is a construction machine that is equipped with an on-vehicle controller 100 (see FIG. 2) and can appropriately suppress the firmware update cost in the on-vehicle controller 100. Such a construction machine 10 is a construction machine that operates at a site 1 such as a construction site or a mine development site, for example, and is one of a plurality of construction machines present at the site 1. For convenience of explanation, among the plurality of construction machines operating at such a site 1, the construction machine that is the subject of the explanation of the firmware update processing for the on-vehicle controller according to the present embodiment is referred to as the construction machine 10 (or own machine 10), and the other construction machines are referred to as other construction machines 5 (or other machines). Further, a group of the other construction machines 5 is referred to as another construction machine group 6 (or other machine group).

[0017] The above construction machine 10 is communicably connected to each of the other construction machines 5 constituting the other construction machine group 6 via a short-range wireless network S. An example of this short-range wireless network S may be a wireless LAN, and networks of other communication standards may be appropriately adopted. Further, the construction machine 10 (and the other construction machines 5 as well) is communicably connected to the external server 2 via, for example, a base station of a mobile phone network N. A satellite communication network may be adopted instead of the mobile phone network N.

[0018] The external server 2 described above is a computer system configured physically on a single computer, or logically or physically on a plurality of configured computers, and serves as a server device operated by a business entity that manufactures and sells in-vehicle controllers. In this case, the external server 2 has at least a function of distributing update files required for firmware update of the in-vehicle controller.

[0019] <Example of Hardware Configuration of In-Vehicle System> Next, an example of the hardware configuration of the in-vehicle system for realizing the firmware update of the in-vehicle controller 100 in the construction machine 10 will be described based on FIG. 2. As shown in FIG. 2, the construction machine 10 according to the present embodiment includes an in-vehicle controller 100, a first communication device 150, and a second communication device 160. The in-vehicle controller 100 includes a processor 101, a main storage device 102, an auxiliary storage device 103, and a communication IF 104.

[0020] Among these, the processor 101 activates an OS (Operating System) 110 stored in the auxiliary storage device 103, then reads a program 111 into the main storage device 102 and executes it, thereby implementing each function of the in-vehicle controller 100. In the present embodiment, the OS 110 and the program 111 correspond to the firmware to be updated in the in-vehicle controller 100. However, only one of the OS 110 and the program 111 may be set as the update target, or other firmware may be set as the update target. Note that part of the processing performed by the processor 101 executing the program 111 may be executed by another arithmetic device (for example, hardware such as an ASIC or FPGA). Further, details of the functions implemented above will be described later in the description accompanying the flow.

[0021] Further, the program 111 executed by the processor 101 may be provided to the in-vehicle controller 100 directly via a removable medium (CD-ROM, flash memory, etc.), a mobile phone network N, or a short-range wireless network S, or via an appropriate terminal, and stored in the auxiliary storage device 103.

[0022] The main memory 102 is a semiconductor memory device such as RAM (Random Access Memory), and temporarily stores the program 111 that is loaded from the auxiliary memory 103 and executed by the processor 101, as well as necessary work data.

[0023] The auxiliary storage device 103 is, for example, a large-capacity magnetic storage device or semiconductor storage device such as an HDD (Hard Disk Drive) or SSD (Solid State Drive), and holds the program 111 executed by the processor 101 and the data used by the program 111. One of this data is the update file 115. The update file 115 is a data file used when updating the firmware (OS 110, program 111) of the in-vehicle controller 100.

[0024] The auxiliary storage device 103 stores the OS 110, the program 111, the update file 115, and condition information 1211. This condition information 1211 is information used by the information comparison unit 121, which will be described later in Figure 3 and subsequent figures.

[0025] The first communication device 150 and the second communication device 160 are controlled by the processor 101 of the in-vehicle controller 100 via the communication IF 104. The first communication device 150 is connected to the mobile phone network N and, as already mentioned, is responsible for communication processing with the external server 2. By communicating with the external server 2 via the mobile phone network N, the first communication device 150 can receive update files 115 held by the external server 2 and update information for said update files 115 (firmware version information after updating by said update file 115) from the external server 2. However, communication by the first communication device 150 incurs communication charges depending on the amount of data transmitted on the mobile phone network N, and the cost tends to increase when receiving large data files such as the update file 115.

[0026] As an example of the above-mentioned mobile phone network N, a general public network, whether wired or wireless, such as the fifth-generation mobile communication system, or so-called 5G (5th Generation), which enables "massive simultaneous connections" and "ultra-low latency," may be used. Of course, by taking advantage of the features of newer mobile phone systems beyond 5G, secondary effects such as faster processing and higher resolution rendering of output information in the construction machinery management method according to the present invention can also be expected.

[0027] Furthermore, the second communication device 160 is connected to a short-range wireless network S, such as a wireless LAN, and, as already mentioned, is responsible for communication processing with other construction machines 5. This short-range wireless network S is, for example, a wireless LAN built by the operator of the site 1 (e.g., a construction or mining development business operator). Therefore, communication using the second communication device 160 does not incur any significant costs other than the power consumption and maintenance costs of the communication equipment.

[0028] The second communication device 160 can communicate with other construction machinery 5 (other vehicles) that are within communication range via the short-range wireless network S, thereby receiving update files 115 held by the other construction machinery 5 (its onboard controller 100) and update information for the update files 115 (firmware version information after updating by the update files 115) from the other construction machinery 5. The second communication device 160 can also transmit update files 115 stored in the construction machinery 10 (its own vehicle) and update information for the update files 115 (current firmware version information in the onboard controller 100) to the other vehicle. However, the other vehicle is not necessarily within the communication range of the own vehicle. Therefore, the own vehicle can only send and receive update information and update files 115 with the other vehicle when the other vehicle is within communication range.

[0029] In the in-vehicle controller 100, the processor 101, main memory 102, auxiliary memory 103, and communication IF 104 are connected to each other by an internal bus.

[0030] <Functional section in the in-vehicle controller 100> Figure 3 shows an example of the functional configuration of the in-vehicle controller 100. As shown in Figure 3, the in-vehicle controller 100 implements the following functional units in conjunction with the execution of the program 111 by the processor 101: an information comparison unit 121, a counting unit 122, a transmission / reception instruction unit 123, an update information storage unit 124, and a rewrite processing unit 125.

[0031] Of these, the information comparison unit 121 outputs a timing command, a vehicle count command, and an update command based on the update information received from the external server 2 via the first communication device 150 (latest firmware version information), the update information received from other vehicles 5 via the second communication device 160 (firmware version information after updating with the update file 115 held by other vehicles 5), the elapsed time and the number of other vehicles communicating output by the count unit 122 (described later), and the update information of the own vehicle 10 stored in the update information storage unit 124 (current firmware version in the vehicle's onboard controller 100).

[0032] Furthermore, the counting unit 122 outputs the elapsed time and the number of other vehicles communicating, based on the timing command and other vehicle count command output by the information comparison unit 121. When the timing command changes from non-timing to timing, the counting unit 122 clears the timing timer and starts timing, outputting the elapsed time. Also, when the other vehicle count command changes from non-counting to counting, the counting unit 122 clears the number of other vehicles communicating, and if the other vehicle count command is counting, it counts the number of other vehicles that the second communication device 160 has communicated with 5.

[0033] Here, Figure 4 shows the condition information (an example of output for a given input) held by the information comparison unit 121. Note that in this condition information 1211, "*" indicates that the input is irrelevant. Also, if the second communication device 160 cannot communicate with the other vehicle 5, the update information for the other vehicle 5 is treated as unknown. Furthermore, in the "Update Information" column of "Input," the notation A>B means that the update file version of A is newer than that of B (meaning the firmware version is newer; the same applies below), and the notation A=B means that the update file versions of A and B are the same. In addition, the update file 115 held by the external server 2 is always assumed to be the latest version.

[0034] The following describes each condition of the condition information 1211. First, condition C1-1 is a condition in which, if the update information of external server 2 is newer than the update information of other vehicle 5, and the update information of other vehicle 5 is newer than the update information of own vehicle 10, and the elapsed time (the time measured by the timing timer when the counting unit 122 receives a timing command; the same applies hereinafter) is less than 3 days, and the number of other vehicles communicating (the value obtained by counting the number of other vehicles that the counting unit 122 has communicated with other vehicle 5 after receiving a other vehicle count command; the same applies hereinafter) is less than 3, then the timing command is "timing", the other vehicle count command is "count", and the update command is "not implemented".

[0035] Furthermore, condition C1-2 is a condition in which, if the update information from external server 2 is newer than the update information from other vehicle 5, and the update information from other vehicle 5 is newer than the update information from vehicle 10, and the elapsed time is less than 3 days, and the number of other vehicles communicating is 3 or more, then "Not timing" is output as the timing command, "Not counting" as the other vehicle count command, and "Server" as the update command.

[0036] Furthermore, condition C2-1 is a condition in which, if the update information from external server 2 is newer than the update information from other vehicle 5, the update information from other vehicle 5 is equal to the update information from vehicle 10, the elapsed time is less than 3 days, and the number of other vehicles communicating is less than 3, then "Timed" is output as the timing command, "Count" as the other vehicle count command, and "Not implemented" as the update command.

[0037] Furthermore, condition C2-2 is a condition in which, if the update information from external server 2 is newer than the update information from other vehicle 5, the update information from other vehicle 5 is equal to the update information from vehicle 10, the elapsed time is less than 3 days, and the number of other vehicles communicating is 3 or more, then "Not timing" is output as the timing command, "Not counting" as the other vehicle count command, and "Server" as the update command.

[0038] Furthermore, condition C3-1 is a condition in which, if the update information from external server 2 is newer than the update information from vehicle 10, the update information from vehicle 10 is newer than the update information from other vehicle 5, the elapsed time is less than 3 days, and the number of other vehicles communicating is less than 3, then "Timed" is output as the timing command, "Count" as the other vehicle count command, and "Not implemented" as the update command.

[0039] Furthermore, condition C3-2 is a condition in which, if the update information from external server 2 is newer than the update information from vehicle 10, the update information from vehicle 10 is newer than the update information from other vehicle 5, the elapsed time is less than 3 days, and the number of other vehicles communicating is 3 or more, then "Not timing" is output as the timing command, "Not counting" as the other vehicle count command, and "Server" as the update command.

[0040] Furthermore, condition C4 is a condition in which, if the update information from external server 2 is equal to the update information from other vehicle 5, and the update information from other vehicle 5 is newer than the update information from vehicle 10, then "Not timing" is output as the timing command, "Not counting" as the other vehicle count command, and "Other vehicle" as the update command.

[0041] Furthermore, condition C5 is a condition in which, if the update information from external server 2 is equal to the update information from vehicle 10, and the update information from vehicle 10 is newer than the update information from other vehicle 5, then "Not timing" is output as the timing command, "Not counting" as the other vehicle count command, and "Not implemented" as the update command.

[0042] Furthermore, condition C6 is a condition in which, if the update information from external server 2 and the update information from vehicle 10 are equal, and the update information from other vehicle 5 is equal to the update information from vehicle 10, then "Not timing" is output as the timing command, "Not counting" as the other vehicle count command, and "Not implemented" as the update command.

[0043] Furthermore, condition C7 is a condition in which, if update information from other vehicles 5 cannot be obtained for 3 days or more, the timing command will be "Not timing", the other vehicle count command will be "Not counting", and the update command will be "Server".

[0044] The above thresholds for elapsed time and the number of other vehicles communicating should be set appropriately according to the operating status of the construction machine 10. In this embodiment, as an example, the threshold for elapsed time is set to 3 days and the threshold for the number of other vehicles communicating is set to 3.

[0045] Now, let's return to the explanation of the functions of the in-vehicle controller 100. The transmission / reception instruction unit 123 issues commands to the rewrite processing unit 125, the first communication device 150, and the second communication device 160 based on the update command output from the information comparison unit 121, and also stores the update information received from the external server 2 or another vehicle 5 via the first communication device 150 or the second communication device 160 in the update information storage unit 124.

[0046] If the update command is for a "server," the transmission / reception instruction unit 123 receives the update file 115 from the external server 2 via the first communication device 150. In this case, the rewrite processing unit 125 updates the firmware of the in-vehicle controller 100 using the update file 115 and stores the update information from the external server 2 in the update information storage unit 124.

[0047] Furthermore, if the update command is for "another vehicle," the transmission / reception instruction unit 123 receives the update file 115 from the other vehicle 5 with the most recent update information via the second communication device 160. That is, it receives the update file 115 from the other vehicle 5 that possesses the update file 115 for updating to the latest version of the firmware. In this case, the rewriting processing unit 125 updates the firmware of the in-vehicle controller 100 using the update file 115 and stores the update information of the other vehicle 5 in the update information storage unit 124.

[0048] Furthermore, if the update command is "not performed," the rewrite processing unit 125 will not perform a firmware update on the in-vehicle controller 100. Also, the transmit / receive instruction unit 123 will not store (update) the update information in the update information storage unit 124.

[0049] Furthermore, the update information storage unit 124 stores the update information via the transmission / reception instruction unit 123 as described above. The rewrite processing unit 125 then uses the update file 115 obtained by the transmission / reception instruction unit 123 to perform firmware update processing on the vehicle's onboard controller 100.

[0050] <Construction Machinery Management Method: Main Flow> Next, the processing flow in the construction machinery management method of this embodiment will be described. Figure 5 shows an example of the flow of the construction machinery management method in this embodiment. Specifically, the onboard controller 100 of the construction machinery 10 (own machine) exchanges firmware version information (update information) and update files 115 for updating the firmware with the external server 2 and other construction machinery 5 (other machines) as appropriate based on condition information 1211.

[0051] In this case, the information comparison unit 121 in the vehicle's onboard controller 100 receives update information (latest firmware version information) for the update file 115 held by the external server 2 via the first communication device 150 (S1). In this case, the information comparison unit 121 compares the firmware version represented by the update information obtained in S1 with the firmware version in the vehicle's onboard controller 100 and determines if they are the same (S2).

[0052] If, as a result of the above determination, both versions are the same (S2: YES), then, for example, the transmit / receive instruction unit 123, in response to a request from the other vehicle 5 after the execution of S1 or S2, sends the update file 115 held by the onboard controller 100 of the own vehicle 10 to the other vehicle 5 (S3), and terminates this flow.

[0053] On the other hand, if the above determination shows that the firmware versions of the external server 2 and the vehicle 10 are different (S2: NO), the information comparison unit 121 receives update information (firmware version information after the update) of the update file 115 held by the other vehicle 5 from the other vehicle 5 via the second communication device 160 (S4).

[0054] Furthermore, the information comparison unit 121 determines, for example, whether there is a history of receiving update information from another vehicle 5 within the most recent predetermined period (e.g., the last 3 days), based on information held by the update information storage unit 124 (S5). For this reason, the update information storage unit 124 is assumed to hold update information obtained from the external server 2 or other vehicles 5 in the past.

[0055] If, as a result of the above determination, there is no record of receiving update information for other vehicle 5 (S5: NO), the information comparison unit 121 determines whether 3 days have passed since the start of acquiring update information for other vehicle 5 (when S4 was executed) (S6). If, as a result of this determination, 3 days have not yet passed (S6: NO), the information comparison unit 121 returns to processing S4.

[0056] On the other hand, if the above determination indicates that three days have passed since the start of acquiring update information from other vehicle 5 (when S4 is executed) (S6:YES), that is, if it has been more than three days since update information could not be received from other vehicle 5, the information comparison unit 121 transitions the process to S10 (described later). On the other hand, if there is a history of receiving update information from other vehicle 5 in step S5 (S5:YES), the information comparison unit 121 determines whether the firmware versions of other vehicle 5 and the external server 2 are the same (S7).

[0057] If, as a result of the above determination, the firmware versions of the other vehicle 5 and the external server 2 are the same (S7: YES), the transmit / receive instruction unit 123 requests the update file 115 from the other vehicle 5 and receives it (S8).

[0058] Furthermore, if the above determination shows that the firmware versions of other vehicles 5 and the external server 2 are different (S7: NO), the information comparison unit 121 determines whether the firmware version comparison between other vehicles 5 and the external server 2 (S7) has been performed three or more times (S9). If the result of this determination is that the firmware version comparison between other vehicles 5 and the external server 2 (S7) has not been performed three or more times (S9: NO), the information comparison unit 121 returns to processing S4. On the other hand, if the above determination shows that the firmware version comparison between other vehicles 5 and the external server 2 (S7) has been performed three or more times (S9: YES), that is, if update information has been received from three or more other vehicles 5, the transmission / reception instruction unit 123 requests the update file 115 from the external server 2 and receives it (S10).

[0059] Furthermore, the rewriting processing unit 125 uses the update file 115 obtained in S8 or S10 to perform a firmware update process on the vehicle's onboard controller 100 (S11), and then terminates this flow.

[0060] <Construction Machinery Management Method: Sequence Example> Next, Figures 6-8 show specific sequence diagrams corresponding to the firmware update management method for construction machinery in this embodiment. The firmware version represented by the update information is one of V3, V2, or V1, with a larger number attached to "V" indicating a newer version. Initially, the firmware version of the vehicle 10 is assumed to be V1.

[0061] In the sequence diagram of Figure 6, at time T1, the information comparison unit 121 of the vehicle 10 determines that a firmware update for the in-vehicle controller 10 is unnecessary because the firmware version "V1" of the vehicle 10 referenced by the update information storage unit 124 in S20 is the same as the firmware version "V1" represented by the update information obtained from the external server 2 via the first communication device 150 in S21.

[0062] In this case, the information comparison unit 121 determines that the condition corresponds to condition C5 or C6 in the condition information 1211, and outputs "Not performed" as an update command to the transmission / reception instruction unit 123 (S22). In this case, there are no other vehicles 5 around the vehicle 10, and the second communication device 160 is unable to communicate with the other vehicles 5.

[0063] Furthermore, since the update command is "not performed," the rewrite processing unit 125 does not update the firmware of the in-vehicle controller 100, nor does it update the update information storage unit 124. In this case, as described above, communication via the mobile phone network N (by the first communication device 150) is only for the purpose of obtaining update information, so communication costs are incurred only to a limited extent. Also, since the timing command is "not timing" and the other vehicle count command is "not counting," the counting unit 122 does not perform either timing or counting (S23).

[0064] Furthermore, at time T2, which is after time T1, the information comparison unit 121 of the vehicle 10 determines that the firmware version "V3" represented by the update information obtained from the external server 2 via the first communication device 150 in S24 is newer than the firmware version "V1" of the vehicle 10. In this case, it is necessary to update the firmware of the vehicle's onboard controller 100, but as explained above, there are no other vehicles 5 nearby, and it is not possible to obtain the update file 115 from those other vehicles 5. Therefore, the information comparison unit 121 determines that the firmware update of the onboard controller 100 should be postponed.

[0065] At this time, the information comparison unit 121 determines that the situation corresponds to conditions C1-1, C2-1, or C3-1 in the condition information 1211, and outputs "Not implemented" as an update command to the transmission / reception instruction unit 123 (S25). In this case, as with time T1, the second communication device 160 is assumed to be in a situation where it cannot communicate with the other vehicle 5.

[0066] Furthermore, because the update command is "not performed," the rewrite processing unit 125 does not update the firmware of the in-vehicle controller 100, nor does it update the update information storage unit 124. As a result, the firmware update of the in-vehicle controller 100 is put on hold. At this time, since communication via the mobile phone network N (by the first communication device 150) is only for the purpose of obtaining update information, communication costs are incurred only to a limited extent.

[0067] Furthermore, as the timing command changes from "not timing" to "timing," the count unit 122 clears the timing timer and starts timing (S26). Additionally, as the other vehicle count command changes from "not counting" to "counting," the count unit 122 clears the value of the number of other vehicles communicating (held, for example, in the main memory 102) and the second communication device 160 starts counting the number of other vehicles 5 that have communicated with other vehicles 5.

[0068] Furthermore, at time T3, which is after time T2, the information comparison unit 121 of the vehicle 10 determines that the firmware version "V2" represented by the update information obtained from the other vehicle 5 (referred to as other vehicle X for distinction between different vehicles) via the second communication device 160 in S27 is older than the firmware version "V3" represented by the update information from the external server 2, and therefore it is not possible to obtain the latest update file 115 from other vehicle 5 (other vehicle X) (obtaining an older version of the update file 115 would be meaningless). In other words, this situation is one in which the firmware update of the in-vehicle controller 100 should be postponed.

[0069] At this time, the information comparison unit 121 of the vehicle 10 determines that the situation corresponds to condition C1-1 in the condition information 1211 and outputs "Not performed" as an update command (S28). Furthermore, the rewrite processing unit 125 does not perform a firmware update of the in-vehicle controller 100 because the update command is "Not performed". The update information storage unit 124 also does not execute the firmware update process. As a result, the firmware update of the in-vehicle controller 100 is put on hold, no communication with the external server 2 via the mobile phone network N takes place, and only communication via the short-range wireless network S occurs, in which no communication charges are incurred.

[0070] Furthermore, since the timing command is "timing," the counting unit 122 continues timing (S29). Additionally, since the other vehicle counting command is "count," the counting unit 122 counts the number of other vehicles 5 that the second communication device 160 has communicated with, and outputs 1 as the number of other vehicles that have communicated (S30).

[0071] Furthermore, at time T4, which is some time after time T3, the information comparison unit 121 of the vehicle 10 determines that the firmware version "V3" represented by the update information obtained from the other vehicle 5 (referred to here as other vehicle Y) via the second communication device 160 in S31 is the same as the firmware version represented by the update information of the external server 2, and therefore it is meaningful to obtain the update file 115 from the other vehicle 5. In other words, it determines that it is time to obtain the update file 115 from the other vehicle 5 and perform a firmware update for the in-vehicle controller 100.

[0072] At this time, the information comparison unit 121 of the own vehicle 10 determines that the situation matches condition C4 in the condition information 1211 and outputs "other vehicle" as an update command (S32). Also, since the timing command is "not timing" and the other vehicle count command is "not counting", the count unit 122 stops timing and counting (S33). Furthermore, since the update command is "other vehicle", the transmission / reception instruction unit 123 requests the update file 115 of the other vehicle 5 (other vehicle Y) from the on-board controller 100 of the other vehicle 5 (other vehicle Y) via the second communication device 160 (S34).

[0073] The transmission / reception instruction unit 123 receives the update file 115 transmitted from the other vehicle 5 (other vehicle Y) via the second communication device 160 and stores it in the update information storage unit 124 (S35).

[0074] Furthermore, the rewriting processing unit 125 updates the firmware of the vehicle's onboard controller 100 using the update file 115 obtained from the other vehicle 5 (other vehicle Y) (S36). As a result, the firmware version of the updated onboard controller 100 becomes the latest "V3". The rewriting processing unit 125 stores the update information received from the other vehicle Y, i.e., the update information representing the updated firmware version "V3", in the update information storage unit 124.

[0075] As a result, the onboard controller 100 of vehicle 10 is updated to the latest firmware (version V3) using the update file 115 received from vehicle Y via the second communication device 160. The update information storage unit 124 also stores update information representing the updated firmware version (version V3).

[0076] As described above, if the update information on the external server 2 becomes newer than that of the vehicle 10, and the update file 115 can be obtained from the other vehicle 5, the second communication device 160 will obtain the update file 115 from the other vehicle 5 via the short-range wireless network S, which does not require communication charges, thereby updating the firmware of the vehicle's onboard controller 100.

[0077] Next, if the version of update file 115 in other vehicle 5 remains older than that of external server 2, and the number of other vehicles 5 or the elapsed time exceeds a threshold (e.g., 3 vehicles, 3 days elapsed), the system will abandon obtaining update file 115 from other vehicle 5 and instead obtain it from external server 2. The sequence for this process will be explained based on Figure 7. Note that in the sequence diagram of Figure 7, the process up to time T3' is the same as the process up to time T3 shown in Figure 6, so the explanation will be omitted.

[0078] At time T4', which is some time after time T3' (time T3), the information comparison unit 121 of vehicle 10 communicates with other vehicle 5 (in this case, other vehicle Y) via the second communication device 160 and receives information that the firmware version "V2" after being updated by the update file 115 held by other vehicle Y has been received as other vehicle update information (S51).

[0079] The update information on external server 2 is version "V3," but other vehicle 5 (other vehicle Y) is "V2," meaning that the update information for other vehicle 5 remains older than that on external server 2. Therefore, it is necessary to postpone the firmware update of the in-vehicle controller 100 without obtaining the update file 115 from other vehicle 5 (other vehicle Y).

[0080] At this time, the information comparison unit 121 determines that the situation corresponds to condition C1-1 in the condition information 1211 and outputs "Not performed" as the update command (S52). The rewrite processing unit 125 does not perform the firmware update of the in-vehicle controller 100 and does not update the update information storage unit 124 because the update command is "Not performed". As a result, the firmware update of the in-vehicle controller 100 is put on hold. Also, since the timing command is "Time timing" (S53), the count unit 122 continues timing. Furthermore, since the other vehicle count command is "Count", the count unit 122 counts the number of vehicles that have communicated and outputs 2 as the number of other vehicles that have communicated (S54).

[0081] Furthermore, at time T5', which is after time has elapsed from time T4, the information comparison unit 121 of the vehicle 10 communicates with the other vehicle 5 (in this case, other vehicle Z) via the second communication device 160 and receives V2 as other vehicle update information (S55).

[0082] The update information on external server 2 is version "V3," but other vehicle 5 (other vehicle Z) is "V2," meaning that the update information for other vehicle 5 remains older than the update information on external server 2. Therefore, the firmware update for the in-vehicle controller 100 should be postponed without obtaining the update file 115 from other vehicle 5 (other vehicle Z). At this point, the information comparison unit 121 determines that the situation still falls under condition C1-1 in the condition information 1211 and outputs "Not performed" as the update command (S56). The rewrite processing unit 125 does not perform the firmware update for the in-vehicle controller 100 because the update command is "Not performed," and does not update the update information storage unit 124 either. As a result, the firmware update for the in-vehicle controller 100 is postponed.

[0083] However, since it has already been discovered that the update information for three other vehicles 5 is older than the update information for external server 2, it is difficult to obtain the update file 115 from other vehicles 5. Therefore, it is necessary to receive the update file 115 from external server 2, even if it incurs communication charges on the mobile phone network N, and update the firmware of the in-vehicle controller 100.

[0084] At this time, since the timing command is "timing", the counting unit 122 continues timing (S57). Also, since the other vehicle count command is "count", the counting unit 122 counts the number of other vehicles 5 that have communicated and outputs "3" as the number of other vehicles communicating (S58). When the number of other vehicles communicating becomes "3", the information comparison unit 121 determines that the situation corresponds to condition C1-2 in the condition information 1211. Therefore, the information comparison unit 121 outputs "server" as an update command (S59). On the other hand, the information comparison unit 121 sets the timing command to "not timing" and the other vehicle count command to "not counting". Therefore, the counting unit 122 stops timing and counting (S60).

[0085] Furthermore, since the update command is from a "server," the transmission / reception instruction unit 123 requests the update file 115 (version V3) from the external server 2 via the first communication device 150 (S61). The update information storage unit 124 receives the update file 115 from the external server 2 and stores it in the update information storage unit 124 (S63).

[0086] Furthermore, the rewriting processing unit 125 of the vehicle 10 obtains the update file 115 from the update information storage unit 124 (S64), thereby updating the firmware of the vehicle controller 100 to "V3". As a result, the firmware of the vehicle controller 100 is updated to the latest V3, and the update information storage unit 124 stores the update information received from the external server 2 as information on the current firmware version of the vehicle controller 100. Note that since the timing command is "non-timing" and the other vehicle count command is "non-counting", the counting unit 122 does not perform timing or counting.

[0087] As described above, even if the update information for external server 2 becomes new, if the update file 115 for other vehicle 5 remains outdated and cannot be obtained, it is possible to update the firmware of the in-vehicle controller 100 at an appropriate time based on the update status of other vehicle 5.

[0088] Next, we will explain the sequence corresponding to the situation where the second communication device 160 has been unable to communicate with other vehicles 5 for three days, based on Figure 8. In this situation, it is necessary to receive the update file 115 from the external server 2, even if it incurs communication charges, and update the firmware of the in-vehicle controller 100. Note that in the sequence diagram of Figure 8, the sequence up to time T2'' is the same as the sequence up to time T2 in the sequence diagram of Figure 2, so the explanation will be omitted.

[0089] At time T3'', three days have passed without the second communication device 160 being able to communicate with the other vehicle 5. At this time, the counting unit 122 outputs "more than 3 days" as the elapsed time (S77). Upon receiving this, the information comparison unit 121 determines that the situation matches condition C7 in the condition information 1211. Therefore, the information comparison unit 121 outputs "server" as an update command (S78). Also, since the timing command is "not timing" and the other vehicle count command is "not counting", the counting unit 122 does neither timing nor counting (S79).

[0090] Furthermore, upon receiving that the update command is for a "server," the transmission / reception instruction unit 123 requests the update file 115 (version V3) from the external server 2 via the first communication device 150 (S80). The first communication device 150 receives the update file 115 from the external server 2 and stores it in the update information storage unit 124 (S81).

[0091] Furthermore, the rewriting processing unit 125 updates the firmware of the in-vehicle controller 100 to version V3 using the update file 115 (obtained from the external server 2, version V3) from the update information storage unit 124 (S82). As a result, the firmware of the in-vehicle controller 100 is updated to the latest version V3, and the update information received from the external server 2 is stored in the update information storage unit 124 as information about the current firmware version of the in-vehicle controller 100.

[0092] As described above, even if the update file 115 cannot be obtained from another vehicle 5 when the update information for the external server 2 becomes available, it is still possible to update the firmware of the in-vehicle controller 100 at an appropriate time after some time has passed.

[0093] According to this embodiment, when the update file 115 can be obtained from another vehicle 5, the communication costs when updating the firmware of the in-vehicle controller 100 can be appropriately suppressed. Furthermore, by obtaining the update file 115 from the external server 2 according to the elapsed time and the update status of the other vehicle 5, the firmware of the in-vehicle controller 100 can be updated at an appropriate time. In addition, even when the update file 115 cannot be downloaded from the other vehicle 5, the firmware of the in-vehicle controller 100 can be updated by downloading the update file 115 from the external server 2.

[0094] As described above, the construction machine according to this embodiment makes it possible to appropriately suppress the firmware update cost of the on-board controller of the construction machine.

[0095] It should be noted that the present invention is not limited to the embodiments described above, but includes various modifications and equivalent configurations within the spirit of the attached claims. For example, the embodiments described above are described in detail for the purpose of clearly illustrating the present invention, and the present invention is not necessarily limited to having all the described configurations. Furthermore, some of the configurations of one embodiment may be replaced with those of another embodiment. Furthermore, configurations of other embodiments may be added to the configuration of one embodiment. Furthermore, some of the configurations of each embodiment may be added, deleted, or replaced with those of other embodiments.

[0096] Furthermore, each of the aforementioned configurations, functions, processing units, and processing means may be implemented in hardware, for example, by designing them as integrated circuits, or they may be implemented in software by having a processor interpret and execute programs that realize each function.

[0097] Information such as programs, tables, and files that implement each function can be stored in memory, hard disks, SSDs (Solid State Drives), or other storage devices, or in recording media such as IC cards, SD cards, or DVDs. Furthermore, some or all of the above configurations, functions, processing units, and processing means may be implemented in hardware, for example, by designing them as integrated circuits. Alternatively, the above configurations and functions may be implemented in software by a processor interpreting and executing programs that implement each function. Information such as programs, tables, and files that implement each function can be stored in memory, hard disks, SSDs (Solid State Drives), or other storage devices, or in recording media such as IC cards, SD cards, or DVDs.

[0098] Furthermore, the control lines and information lines shown are those deemed necessary for explanation purposes and do not necessarily represent all control lines and information lines required for implementation. In reality, it can be assumed that almost all components are interconnected.

[0099] Furthermore, the various explanations above can be summarized as follows. The following summary may include supplementary explanations and explanations of variations of the above explanations.

[0100] The construction machine 10 of this embodiment includes an on-board controller 100, a first communication device 150, and a second communication device 160. The first communication device 150 communicates with an external server 2 and can receive an update file 115 provided by the external server 2 to update the firmware (OS 110, program 111) executed by the on-board controller 100, and update information representing the version of the firmware after the update by the update file 115. The second communication device 160 communicates with other construction machines 5 and can receive an update file 115 provided by other construction machines 5 to update the firmware of the on-board controller 100, and update information representing the version of the firmware after the update by the update file 115. If the firmware version represented by the update information received from the external server 2 via the first communication device 150 is equal to the firmware version represented by the update information received from the other construction machine 5 via the second communication device 160 (S7: YES), and the current firmware version of the onboard controller 100 is older than the firmware version represented by the update information of the external server 2 (S2: NO), then the update file 115 is received from the other construction machine 5 via the second communication device 160 (S8), and the firmware update process for the onboard controller 100 is executed using the received update file 115.

[0101] According to this, for example, it becomes possible to perform firmware updates for the on-board controller using the latest update files obtained from other construction machines in the vicinity via extremely low-cost communication paths such as short-range wireless networks. In turn, the cost of firmware updates for on-board controllers in construction machines can be more appropriately reduced.

[0102] Furthermore, in the construction machine of this embodiment, if the firmware version represented by the update information received from another construction machine 5 and the current firmware version of the on-board controller 100 are both older than the update information received from the external server 2, and predetermined update conditions are met, the first communication device 150 receives an update file 115 from the external server 2, and the received update file 115 is used to perform a firmware update process for the on-board controller 100.

[0103] This allows for control over obtaining update files from an external server only when it is not possible to obtain the latest update files from other construction machines in the vicinity. Consequently, the cost of firmware updates for onboard controllers of construction machines can be more effectively controlled.

[0104] Furthermore, in the construction machine of this embodiment, the above update conditions are based on the status of receiving update information by the second communication device 160. Specifically, if the second communication device 160 receives update information from a predetermined number (e.g., 3) or more other construction machines 5, and all of the received update information is older than the current firmware version of the onboard controller 100, or if the period during which update information cannot be received from other construction machines 5 exceeds a predetermined period (e.g., 3 days), it may be determined that the update conditions are met.

[0105] According to this, even if the update information (second update process) for a certain number of other construction machines located in the vicinity is checked, if any of the update information is older than the update information on the external server (presumably because it is unlikely that the latest update files can be obtained from the surrounding construction machines), or if the situation where update information (second update information) cannot be obtained from other construction machines continues for a certain period of time, and the update of the vehicle's onboard controller stagnates to an undesirable degree (other construction machines in the vicinity may have the latest update files, but in any case it is difficult to obtain update files from other construction machines), then a rational reason for obtaining update files for the onboard controller from an external server can be clearly defined, and the operation of obtaining update files can be made appropriate. In turn, the cost of program updates for the onboard controller of construction machines can be more appropriately controlled.

[0106] Furthermore, in the construction machine of this embodiment, if the firmware version indicated by the update information received from another construction machine 5 and the current firmware version of the on-board controller 100 are both older than the update information received from the external server 2, and the above update conditions are not met, the reception of the update file 115 from the external server 2 is withheld.

[0107] This allows for flexible operation, such as accurately avoiding the acquisition of update files when there is no or low justification for obtaining them from an external server, and waiting for the situation to change and the above justification to be guaranteed before acquiring the update files. In turn, it becomes possible to more appropriately control the program update costs for on-board controllers of construction machinery. [Explanation of Symbols]

[0108] N Mobile phone network S Short-range wireless network 1 On-site 2. External Server 5 Other construction machinery (other vehicles) 6. Other construction machinery 10. Construction machinery (own vehicle) 100 In-vehicle controllers 101 Processors 102 Main storage 103 Auxiliary storage device 104 Communication IF 110 OS (Operating System) 111 Programs 115 Update files 121 Information Comparison Department 1211 Condition Information 122 Count section 123 Transmit / Receive Instruction Unit 124 Update Information Storage Unit 125 Rewrite Processing Unit 150 First communication device 160 Second communication device

Claims

1. In-vehicle controller and A first communication device capable of communicating with an external server and receiving a first update file that updates the firmware provided by the external server and executed by the in-vehicle controller, and first update information representing the version of the firmware after the update by the first update file, The system includes a second communication device capable of communicating with other construction machinery and receiving a second update file provided by the other construction machinery to update the firmware, and second update information representing the version of the firmware after it has been updated by the second update file. If the firmware version represented by the first update information received from the external server via the first communication device is equal to the firmware version represented by the second update information received from the other construction machine via the second communication device, and the current firmware version of the on-board controller is older than the firmware version represented by the first update information, then the on-board controller receives the second update file from the other construction machine via the second communication device. Using the received second update file, the firmware update process is executed. A construction machine characterized by the following features.

2. If the firmware version represented by the second update information and the current firmware version of the in-vehicle controller are both older than the firmware version represented by the first update information, and predetermined update conditions are met, the in-vehicle controller receives the first update file from the external server via the first communication device. Using the received first update file, the firmware update process is executed. The construction machine according to feature 1.

3. The aforementioned update conditions are conditions based on the reception status of the second update information by the second communication device. The construction machine according to feature 2.

4. The on-board controller, via the second communication device, receives the second update information from a predetermined number of other construction machines, and if all of the received update information is outdated, or if the period during which the second update information cannot be received from the other construction machines exceeds a predetermined period, it determines that the update condition is met. The construction machine according to feature 3.

5. The in-vehicle controller will withhold receiving the first update file if the firmware version represented by the second update information and the current firmware version of the in-vehicle controller are both older than the firmware version represented by the first update information, and the update conditions are not met. The construction machine according to feature 2.

Citation Information

Patent Citations

  • Rewrite control system for onboard program

    JP2009110529A