Method for updating control units or sensors of a mobile machine
A method using a single communication unit with a data structure over an Internet connection enables efficient and flexible updates of control units and sensors in mobile machines, addressing the complexity and cost issues of existing update methods, ensuring seamless integration and error handling.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- ROBERT BOSCH GMBH
- Filing Date
- 2026-01-08
- Publication Date
- 2026-07-23
AI Technical Summary
Updating control units and sensors in mobile machines, such as wheel loaders and excavators, is cumbersome due to manufacturer-specific solutions, requiring multiple communication units and manual installation, which is costly and space-consuming, and existing remote updates are complex and impractical due to incompatibilities among servers, communication units, and control units from different manufacturers.
A method using a single communication unit connected via an Internet connection to update multiple control units or sensors, employing a data structure in CUE or XML format to control the update process, utilizing the UDS protocol, and enabling simultaneous updates across different components, including automatic execution for fleets of machines.
Facilitates fast, cost-effective, and flexible updates of various components without the need for costly modifications, allowing new components to be integrated seamlessly and responding to errors during the update process, thus optimizing maintenance and reducing operational complexity.
Smart Images

Figure EP2026050233_23072026_PF_FP_ABST
Abstract
Description
[0001] R. 417687
[0002] Robert Bosch GmbH
[0003] 417687 - Mumcu
[0004] Method for updating control units or sensors of a mobile machine
[0005] TECHNICAL AREA
[0006] The present invention relates to a method for updating control units or sensors of a mobile machine.
[0007] STATE OF THE ART
[0008] Mobile machines, such as wheel loaders or excavators, often incorporate multiple control units from different manufacturers. Updating the computer programs of these control units, which may be necessary to fix errors or security vulnerabilities, or to add new functions, typically requires manufacturer-specific solutions. For example, such updates can be performed via a wired CAN bus connection using a mobile computer and manufacturer-specific service software. These updates are time-consuming because they must be performed manually for each mobile machine, and the appropriate service software must be installed on the mobile computer for each control unit.
[0009] Alternatively, such updates can also be performed remotely. This remote connection is typically established using a special processing unit within the mobile machine, referred to below as the communication unit. An updated computer program can be transmitted from a server to the communication unit via this remote connection. The communication unit then establishes a connection to the control unit and performs the update. However, servers, communication units, and control units from different manufacturers are usually incompatible in such an update process. Therefore, a mobile machine manufacturer would typically need to install multiple communication units to enable remote updates for all control units within the mobile machine.Such an approach is complex and impractical, as each communication unit incurs acquisition costs, occupies installation space in the mobile machine, and also requires regular maintenance. The above statements apply not only to updating computer programs.
[0010] Page 1 of 12R. 417687
[0011] Control units, but also for updating computer programs of sensors.
[0012] The present invention is based on the objective of finding a method for updating control units or sensors that enables the updating of several different control units or sensors in a mobile machine using a single communication unit, in particular via an Internet connection.
[0013] SUMMARY
[0014] According to one embodiment of the present invention, a method for updating a component of a mobile machine is provided, for example for a wheel loader, an excavator, a truck or a passenger car, wherein said component is a control unit or a sensor, wherein the mobile machine comprises, in addition to said component, a communication unit connected to the component via a network, for example via a CAN bus connection or via an Ethernet connection, characterized in that the method comprises the following steps:
[0015] a) Providing an updated computer program for the component, for example in HEX format;
[0016] b) Providing a data structure, for example in the form of a text file in the CUE or XML language, which serves to control the communication unit when updating the component, wherein the data structure contains functional data in a specific structure;
[0017] c) Transmitting the updated computer program provided in step a) from the communication unit to the component;
[0018] d) Updating the component by the communication unit taking into account the data structure provided in step b), for example via a CAN bus connection using the UDS protocol.
[0019] The described procedure is advantageous because the data structure provided in step b) allows flexibility regarding the components that can be updated by the communication unit. Even new components subsequently installed in a mobile machine, for example during a repair, can be updated by the communication unit if a suitable data structure is provided. This eliminates the need for any costly modifications to the communication unit.
[0020] According to one embodiment of the present invention, a method is provided wherein steps c) and d) take place at least partially simultaneously, for example
[0021] Page 2 of 12R. 417687
[0022] This is achieved by writing the updated computer program to the component's flash memory during transmission, where it is permanently stored. This embodiment is advantageous because no intermediate storage for the updated computer program is required in the component.
[0023] According to one embodiment of the present invention, a method is provided wherein the mobile machine comprises at least one additional, different component, and wherein said communication unit is configured to update the at least one additional component using the same structure of the data structure provided in step b), so that the communication unit offers the possibility of updating several different components of the mobile machine using the same method. This embodiment is advantageous because it provides a cost-effective solution for updating multiple components in the mobile machine.
[0024] According to one embodiment of the present invention, a method is provided wherein the data structure provided in step b) comprises at least one of the following features:
[0025] i. A description of the steps to be performed by the communication unit during a component update, which may include, for example, the following steps: enabling safety-critical functions of the component required for the update; transmitting the updated computer program by block-wise data transfer; resetting the component;
[0026] ii. Possible outcomes for a step, and information on which step to continue with depending on the respective outcome, so that the communication unit reacts appropriately to the outcome of a step.
[0027] The described data structure is advantageous because multiple possible outcomes can be provided for each step. This makes it possible, for example, to respond appropriately to errors that may occur during the update process. According to one embodiment of the present invention, a method is provided in which the communication unit is configured to connect to a computer via a network connection, for example, an internet connection. The computer's user interface allows at least one of steps a), b), c), and d) to be triggered, thus enabling a remote update of a component of a mobile machine. This embodiment is advantageous because it allows for fast and cost-effective updates.
[0028] Page 3 of 12R. 417687
[0029] According to one embodiment of the present invention, a method is provided wherein, in step c) and / or in step d), communication between the communication unit and the component is based on the widely used Unified Diagnostic Services (UDS) communication protocol. This embodiment is advantageous because it allows broad compatibility with respect to the components that can be updated in this way.
[0030] According to one embodiment of the present invention, a method is provided wherein in step a) the updated computer program for the component and / or in step b) the data structure for controlling the communication unit is provided via an Internet connection, so that an update of the component can be carried out quickly and cost-effectively remotely.
[0031] According to one embodiment of the present invention, a method is provided, wherein the method comprises the automatic execution of steps a), b), c), and d) for several mobile machines, for example, controlled by a server connected to the communication units of the mobile machines via an internet connection, so that the method enables automatic updates of components for a fleet and / or a vehicle fleet of mobile machines. This embodiment is advantageous because it enables fast and cost-effective updates.
[0032] According to one embodiment of the present invention, a communication unit is provided which is configured to perform steps c) and d) of a method according to the invention.
[0033] According to one embodiment of the present invention, a mobile machine is provided which includes a component and a communication unit according to the invention.
[0034] According to one embodiment of the present invention, a computer program is provided which causes a communication unit to perform steps c) and d) of a method according to the invention when it is executed on the communication unit.
[0035] According to one embodiment of the present invention, a computer-readable medium is provided on which a computer program according to the invention is stored. According to one embodiment of the present invention, a data structure for controlling a communication unit is provided in step d) of a method according to the invention.
[0036] According to one embodiment of the present invention, a computer-readable medium is provided on which a data structure according to the invention is stored.
[0037] Page 4 of 12R. 417687
[0038] BRIEF DESCRIPTION OF THE FIGURES
[0039] The present invention is described with reference to the accompanying figures, where identical reference numerals refer to identical parts and / or to similar parts and / or to corresponding parts of the system. Regarding the figures:
[0040] Fig. 1 schematically describes, for an embodiment of the invention, a system that enables the updating of two different control units.
[0041] Fig. 2 schematically describes the content of a data structure which, in one embodiment of the invention, is used to control a communication unit during the updating of a control unit.
[0042] DETAILED DESCRIPTION
[0043] The present invention is described below with reference to certain embodiments as shown in the accompanying figures. However, the present invention is not limited to the specific embodiments described in the following detailed description and shown in the figures; rather, the described embodiments merely illustrate some aspects of the present invention, the scope of which is defined by the claims.
[0044] Further modifications and variations of the present invention are obvious to a person skilled in the art. The present description therefore encompasses all modifications and / or variations of the present invention whose scope of protection is defined by the claims.
[0045] Fig. 1 schematically describes a system for an embodiment of the invention that enables the updating of two different components of a mobile machine: a control unit 7 and an additional control unit 8. However, in this embodiment, two sensors, or a control unit and a sensor, could just as easily be used as the components to be updated. The communication unit 4 is connected to the control unit 7 and the additional control unit 8 via CAN bus connections 10, using the widely adopted Unified Diagnostic Services (UDS) protocol for communication over this connection. The two control units differ with regard to the precise update procedure. It should be noted that the use of CAN bus connections and UDS is not necessary for one embodiment of the invention.
[0046] The update for control unit 7 is described below. During this update, communication unit 4 is controlled by a control file 1, which represents a data structure whose content is described in more detail in Fig. 2. The control file 1 and the updated computer program 2 for control unit 7
[0047] Page 5 of 12R. 417687
[0048] Together, they form a flash bundle 3 for the control unit 7, which is provided to the communication unit 4, as described below. An update of the additional control unit 8 can be performed in the same way using the communication unit 4, but with the use of an additional flash bundle 13 containing an additional updated computer program 12 and an additional control file 11 suitable for the additional control unit 8. The contents of the control file 1 generally differ from the contents of the additional control file 11, as the exact update procedure depends on the type of control unit.
[0049] In this embodiment, the communication unit 4 automatically connects to a server (not shown) via an internet connection 9 during operation and registers the associated mobile machine there. This server allows a client to log in and select a registered mobile machine for a control unit update via a user interface. The user interface also allows sending the flash bundle 3 to the communication unit 4 of the selected mobile machine and initiating the update of the control unit 7. Similarly, the user interface allows sending an additional flash bundle 13 to the communication unit 4 of the selected mobile machine and initiating the update of the additional control unit 8.The user interface also includes an indicator that signals whether a started update process was completed successfully, or whether an error occurred during it.
[0050] The described connection between the communication unit 4 and a server is not necessary for an implementation of the invention. Alternatively, the flash bundle 3 can, for example, be transmitted from a mobile computer to the communication unit 4 via a local Ethernet network connection, and the update of the control unit 7 can be started from this mobile computer.
[0051] The update process of the control unit 7 is performed by the Universal Flasher Runtime 6 software module using the control file 1 and the updated computer program 2. The Universal Flasher Runtime 6 software module is configured to process the control file 1 and, according to the steps described therein, execute corresponding instructions on the communication unit 4, enabling communication and data transmission with the control unit 7. The Security Access Plugin 5 software module serves to enable security-critical UDS services of the control unit 7 that are used during the update (see description of Fig. 2). An update of the additional control unit 8 can be performed by the same Universal Flasher Runtime 6 software module, using the additional Flash bundle 13.The Universal Flasher Runtime 6 software module may be expandable, for example with regard to page 6 of 12R. 417687.
[0052] supported UDS services to support the updating of additional control units.
[0053] Figure 2 illustrates the contents of control file 1, which can be written, for example, in the text-based data validation language CUE (http: / / cuelang.org / ), and is used to control communication unit 4 during an update of control unit 7. Figure 2 uses an activity diagram, which provides a simpler understanding of the contents of control file 1 than a text-based representation. The actions in this diagram represent the steps to be performed by communication unit 4 when control unit 7 is updated. The decision nodes determine which step is to be executed next, depending on the result of a completed step. The start node 20 indicates the start of the activity, and the end node 40 indicates the end of the activity. For completeness, an excerpt from a text-based representation of a control file follows below.
[0054] Decision nodes 22, 24, 26, 28, 30, 32, 34, 36, and 38 evaluate the result of the previous action. If an error occurred during the respective action, action 42 is reached via one or more merge nodes 41 in the right branch of the diagram. Otherwise, the process continues with the next action in the left branch of the diagram.
[0055] In action 21, the UDS service "Diagnostic session control" is executed, which brings the control unit 7 into an operating state suitable for updating the control unit 7.
[0056] In action 23, using the UDS service "Security access" and the Security Access Plugin, 5 security-critical UDS services of control unit 7 are unlocked, which are required for the update.
[0057] In action 25, the UDS service "Read data by identifier" reads a parameter from control unit 7 and compares it to a predefined value. This verifies whether control unit 7 is compatible with the given flash bundle 3. In action 27, the UDS service "Routine control" executes a device-specific service of control unit 7, which erases the flash memory of control unit 7 to prepare for the update.
[0058] In action 29, the transmission of the updated computer program 2 to the control unit 7 is initiated using the UDS service "Request download".
[0059] In action 31, the updated computer program 2 is transmitted to the control unit 7 using the UDS service "Transfer data".
[0060] In action 33, the transmission of the first computer program 2 to the control unit 7 is completed using the UDS service "Request transfer exit".
[0061] Page 7 of 12R. 417687
[0062] In action 35, a device-specific service of control unit 7 is executed using the UDS service "Routine control," which performs a check of the control unit 7's flash memory. This allows for the detection of errors that occurred during the flash memory write operation during the update process.
[0063] In action 37, the control unit 7 is restarted using the UDS service "ECU Reset", so that the control unit 7 then executes the updated computer program.
[0064] In action 39, the update of the control unit 7 is completed, signaling to a server or mobile computer connected to the communication unit 4 that the update was successful.
[0065] If an error occurred during the update, action 42 is executed. This action signals to a server or mobile computer connected to communication unit 4 that an error occurred during the update.
[0066] In addition to the above explanations, an example of a concrete implementation of a text-based control file 1 in the CUE language, corresponding to the diagram in Fig. 2, is given below in excerpt form. For the sake of simplicity, however, this excerpt only includes actions 21, 23, 39 and 42 and decision nodes 22 and 24 (the part after "response") in text form.
[0067] steps: {
[0068] start: #DiagnosticSessionControlStep & {
[0069] message: "(0x10) Diagnostic Session Control. Diag Session 0x02."
[0070] args: {
[0071] diagnosticSessionType: 0x02
[0072] }
[0073] response: {
[0074] DSCPR: "sa"
[0075] NRC: "err"
[0076] }
[0077] }
[0078] sa: #SecurityAccessStep & {
[0079] message: "(0x27) Security Access. Checking Seed & Key Algorithm."
[0080] args: {
[0081] securityAccessType: 0x01
[0082] securityAccessDataRecord: "
[0083] security Key:
[0084] }
[0085] response: {
[0086] Seite 8 von 12R. 417687
[0087] SAPR: "rdbi 1
[0088] NRC: "err"
[0089] }
[0090] }
[0091] err: #FinishStep & {
[0092] message: "error"
[0093] args: {
[0094] success: false
[0095] }
[0096] }
[0097] fin: #FinishStep & {
[0098] message: "Flashing Success!"
[0099] args: {
[0100] success: true
[0101] }
[0102] }
[0103] }
[0104] While the present invention has been described with reference to the embodiments described above, it is clear to the person skilled in the art that it is possible to implement various modifications, variations and improvements of the present invention in light of the teaching described above and within the scope of the attached claims without deviating from the scope of protection of the invention.
[0105] Furthermore, the areas in which experts are likely to be knowledgeable have not been described here in order to avoid unnecessarily obscuring the described invention.
[0106] Accordingly, the invention should not be limited by the specific illustrative embodiments, but only by the scope of protection of the attached claims.
[0107] Page 9 of 12
Claims
R. 417687 PATENT CLAIMS 1. Method for updating a component (7) of a mobile machine, wherein the component (7) is a control unit or a sensor, wherein the mobile machine comprises, in addition to the said component (7), a communication unit (4) connected to the component (7) via a network, characterized in that the method comprises the following steps: a) Providing an updated computer program (2) for the component (7); b) Providing a data structure (1) for controlling the communication unit (4) during the update of the component (7), wherein the data structure (1) contains functional data in a structure; c) Transmitting the updated computer program (2) provided in step a) from the communication unit (4) to the component (7); d) Updating the component (7) by the communication unit (4) taking into account the data structure (1) provided in step b).
2. The method of claim 1, wherein steps c) and d) take place at least partially simultaneously.
3. Method according to one of claims 1 or 2, wherein the mobile machine comprises at least one additional component (8), and wherein said communication unit (4) is configured to update the at least one additional component (8) using the same structure (1, 11) as the data structure (11) provided in step b).
4. Method according to any one of claims 1 to 3, wherein the data structure (1) provided in step b) comprises at least one of the following features: i. A description of the steps to be performed by the communication unit (4) during an update of the component (7); ii. Possible results for a step, and information on which step to continue with depending on the respective result.
5. Method according to any one of claims 1 to 4, wherein the communication unit (4) is configured to be connected via a network connection (9) to a computer whose user interface enables at least one of steps a), b), c), and d). Page 10 of 12R. 417687 6. Method according to any one of claims 1 to 5, wherein in step c) and / or in step d) communication between the communication unit (4) and the component (7) is based on the Unified Diagnostic Services (UDS) communication protocol.
7. Method according to any one of claims 1 to 6, wherein in step a) the updated computer program (2) for the component (7) and / or in step b) the data structure (1) for controlling the communication unit (4) is provided via an Internet connection (9).
8. The method of claim 7, wherein the method comprises an automatic execution of steps a), b), c) and d) for several mobile machines, such that the method enables an automatic update of components (7) for a fleet and / or a vehicle fleet of mobile machines.
9. Communication unit (4) configured to perform steps c) and d) of a method according to any one of claims 1 to 8.
10. Mobile machine comprising a component (7) and a communication unit (4) according to claim 9.
11. Computer program that causes a communication unit (4) to perform steps c) and d) of a method according to any one of claims 1 to 8 when executed on the communication unit (4).
12. Computer-readable medium on which a computer program according to claim 11 is stored.
13. Data structure (1) for controlling a communication unit (4) in step d) of a method of claims 1 to 8.
14. Computer-readable medium on which a data structure (1) according to claim 13 is stored. Page 11 of 12