Robot firmware upgrading method and device and storage medium

By introducing a robot firmware upgrade method into the robot control system, the upper computer actively initiates the firmware upgrade process and the firmware nodes independently decide the upgrade time, the problem of firmware not being updated in time is solved, and the reliability and flexibility of the system are improved.

CN119806568APending Publication Date: 2025-04-11YOUDI ROBOT (WUXI) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411707818.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-26
Publication Date
2025-04-11

AI Technical Summary

Technical Problem

The firmware cannot be updated in time, affecting the normal operation of the robot or task execution.

Method used

By introducing a robot firmware upgrade method into the robot control system, the upper computer actively initiates the firmware upgrade process and allows the firmware node to independently decide when to upgrade to ensure timely update of the firmware version.

Benefits of technology

It improves the reliability and consistency of firmware upgrades, enhances the flexibility and response speed of the system, reduces the management burden of the host computer, and avoids operational problems caused by the inability to update the firmware in a timely manner.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119806568A_ABST
    Figure CN119806568A_ABST
Patent Text Reader

Abstract

The invention discloses a robot firmware upgrading method and device and a storage medium, and relates to the technical field of robotics.The robot firmware upgrading method comprises the steps that when it is detected that a new firmware version is released, whether the current firmware version of a firmware node is the latest version or not is determined; if the current firmware version is not the latest version, controlling the upper computer to trigger a robot firmware upgrading process; and when it is detected that the current firmware version does not meet the to-be-executed task, controlling the firmware node to trigger a robot firmware upgrading process. Two firmware upgrading modes are provided, the flexibility of the firmware upgrading process is improved, and the probability that normal operation or task execution of the robot is affected due to the fact that firmware upgrading cannot be carried out in time is reduced.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of robotics technology, and in particular to a robot firmware upgrade method, device, and storage medium. Background Art

[0002] Firmware upgrade is a process that involves updating the firmware of a device (such as a smartphone, robot, music player, digital product, etc.) to a new version. Through firmware upgrade, new features can be added or existing features can be improved, security vulnerabilities can be fixed, and thus the stability and reliability of the device can be improved.

[0003] At present, when performing a firmware upgrade, if it is detected that the version is incompatible or cannot meet the task requirements, the host computer sends the upgrade command and the files required for the firmware upgrade to the firmware node to perform the firmware upgrade. The host computer usually needs to handle multiple tasks such as firmware upgrade, fault diagnosis, data analysis, etc. at the same time, but the processing power of the host computer (such as CPU, memory, storage, etc.) is limited. When the host computer is processing other tasks, it may not be able to detect the upgrade requirements of the firmware node in time, resulting in the firmware not being updated in time, thereby affecting the normal operation of the robot or task execution.

[0004] The above contents are only used to assist in understanding the technical solution of the present application and do not constitute an admission that the above contents are prior art. Summary of the invention

[0005] The main purpose of this application is to provide a robot firmware upgrade method, device and storage medium, aiming to solve the technical problem of how to solve the problem that the firmware cannot be updated in time, thereby affecting the normal operation or task execution of the robot.

[0006] To achieve the above object, the present application proposes a robot firmware upgrade method, which is applied to a robot control system, wherein the control system includes a firmware node and a host computer, wherein the host computer and the firmware node are in communication connection, and the robot firmware upgrade method includes:

[0007] When a new firmware version is detected, confirm whether the current firmware version of the firmware node is the latest version;

[0008] If the current firmware version is not the latest version, control the host computer to trigger the robot firmware upgrade process;

[0009] When it is detected that the current firmware version does not meet the task to be executed, the firmware node is controlled to trigger the robot firmware upgrade process.

[0010] In one embodiment, after the step of controlling the host computer to trigger the robot firmware upgrade process, the following steps are included:

[0011] Controlling the host computer to obtain the first firmware information segment and determine the target firmware node;

[0012] Sending the first firmware information segment to the target firmware node;

[0013] After the target firmware node receives the first firmware information segment, it verifies the first firmware information segment, and after the verification passes, sends information segment confirmation information to the host computer.

[0014] In one embodiment, after the target firmware node receives the firmware information segment, the target firmware node verifies the firmware information segment, and after the verification is passed, the step of sending confirmation information to the host computer includes:

[0015] After the host computer receives the confirmation information, it obtains the first firmware image and sends the first firmware image to the target firmware node;

[0016] After the target firmware node receives the first firmware image, a firmware update operation is performed according to the first firmware image.

[0017] In one embodiment, before the step of sending the first firmware information segment to the target firmware node, the method includes:

[0018] Sending a first upgrade instruction to the target firmware node to control the target firmware node to perform status query;

[0019] When the target firmware node is in a non-upgrade state, an upgrade confirmation message is sent to the host computer.

[0020] In one embodiment, after the target firmware node receives the first firmware image, the step of performing a firmware update operation according to the first firmware image includes:

[0021] After the target firmware node receives the first firmware image, obtaining a verification code from the first firmware information segment, and verifying the first firmware image according to the verification code;

[0022] If the first firmware image passes the verification, a firmware update operation is performed according to the first firmware image.

[0023] In one embodiment, after the step of controlling the firmware node to trigger the robot firmware upgrade process when it is detected that the current firmware version does not meet the task to be performed, the following steps are included:

[0024] The firmware node sends a second upgrade instruction to the host computer, where the second upgrade instruction includes current firmware version information;

[0025] After the host computer receives the second upgrade instruction, it obtains a second firmware image according to the current firmware version information, and sends the second firmware image to the firmware node;

[0026] After the firmware node receives the second firmware image, a firmware update operation is performed according to the second firmware image.

[0027] In one embodiment, the robot firmware upgrade method further includes:

[0028] After the host computer receives the version rollback instruction, it determines the firmware node to be rolled back according to the version rollback instruction, and sends a firmware information query instruction to the firmware node to be rolled back;

[0029] After the firmware node to be rolled back receives the firmware information query instruction, it obtains and sends the firmware information to be rolled back to the host computer;

[0030] After the host computer receives the firmware information to be rolled back, the target rollback firmware information is acquired according to the firmware information to be rolled back;

[0031] According to the target rollback firmware information, a rollback request is generated and sent to the firmware node to be rolled back.

[0032] In one embodiment, after the step of generating and sending a rollback request to the node of the firmware to be rolled back according to the rollback firmware information, the following steps are included:

[0033] After the firmware node to be rolled back receives the rollback request, performing a version rollback operation;

[0034] After completing the version rollback operation, generate rollback completion information and send it to the host computer;

[0035] The host computer generates an upgrade log according to the rollback completion information.

[0036] In addition, to achieve the above-mentioned purpose, the present application also proposes a robot firmware upgrade device, which includes: a memory, a processor, and a computer program stored on the memory and executable on the processor, and the computer program is configured to implement the steps of the robot firmware upgrade method described above.

[0037] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by the processor, the steps of the robot firmware upgrade method described above are implemented.

[0038] The present application provides a robot firmware upgrade method. When a new firmware version is detected, the host computer actively initiates the firmware upgrade process. The host computer centrally manages the firmware upgrade, which can ensure that all firmware nodes use the latest firmware version, thereby improving the reliability and consistency of the upgrade. When it is detected that the firmware version of a firmware node cannot meet the task to be executed, the firmware node actively initiates the firmware upgrade process. The firmware node can independently decide when to upgrade, which improves the flexibility and response speed of the system. The burden of the host computer on actively managing and monitoring the firmware nodes is reduced. At the same time, it can avoid the host computer from failing to detect the upgrade requirements of the firmware nodes in time when processing other tasks, resulting in the firmware being unable to be updated in time, thereby affecting the normal operation of the robot or task execution. The two firmware upgrade modes improve the flexibility of the firmware upgrade process and reduce the probability of not being able to perform firmware upgrades in time, thereby affecting the normal operation of the robot or task execution. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0040] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.

[0041] Figure 1 A flowchart of the first embodiment of the robot firmware upgrade method of the present application is provided;

[0042] Figure 2 A flowchart of the second embodiment of the robot firmware upgrade method of the present application is provided;

[0043] Figure 3 A flowchart of the third embodiment of the robot firmware upgrade method of the present application is provided;

[0044] Figure 4 A flowchart of the fourth embodiment of the robot firmware upgrade method of the present application is provided;

[0045] Figure 5 This is a schematic diagram of the device structure of the hardware operating environment involved in the robot firmware upgrade method in the embodiment of the present application.

[0046] The purpose, features and advantages of this application will be further described in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION

[0047] It should be understood that the specific embodiments described herein are only used to explain the technical solutions of the present application and are not used to limit the present application.

[0048] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.

[0049] The main solution of the embodiment of the present application is: when a new firmware version is detected, confirm whether the current firmware version of the firmware node is the latest version; if the current firmware version is not the latest version, control the host computer to trigger the robot firmware upgrade process; when it is detected that the current firmware version does not meet the task to be executed, control the firmware node to trigger the robot firmware upgrade process.

[0050] Firmware upgrade is a process that involves updating the firmware of a device (such as a smartphone, robot, music player, digital product, etc.) to a new version. Through firmware upgrade, new features can be added or existing features can be improved, security vulnerabilities can be fixed, and thus the stability and reliability of the device can be improved.

[0051] At present, when performing a firmware upgrade, if it is detected that the version is incompatible or cannot meet the task requirements, the host computer sends the upgrade command and the files required for the firmware upgrade to the firmware node to perform the firmware upgrade. The host computer usually needs to handle multiple tasks such as firmware upgrade, fault diagnosis, data analysis, etc. at the same time, but the processing power of the host computer (such as CPU, memory, storage, etc.) is limited. When the host computer is processing other tasks, it may not be able to detect the upgrade requirements of the firmware node in time, resulting in the firmware not being updated in time, thereby affecting the normal operation of the robot or task execution.

[0052] In order to solve the above problems, the present application provides a robot firmware upgrade method. When a new firmware version is detected, the host computer actively initiates the firmware upgrade process. The host computer centrally manages the firmware upgrade, which can ensure that all firmware nodes use the latest firmware version, thereby improving the reliability and consistency of the upgrade. When it is detected that the firmware version of a firmware node cannot meet the task to be executed, the firmware node actively initiates the firmware upgrade process. The firmware node can independently decide when to upgrade, which improves the flexibility and response speed of the system. The burden of the host computer on actively managing and monitoring the firmware nodes is reduced. At the same time, it can avoid that the host computer may not be able to detect the upgrade requirements of the firmware nodes in time when processing other tasks, resulting in the firmware being unable to be updated in time, thereby affecting the normal operation of the robot or task execution. The two firmware upgrade modes improve the flexibility of the firmware upgrade process and reduce the probability that the firmware upgrade cannot be performed in time, thereby affecting the normal operation of the robot or task execution.

[0053] It should be noted that the execution subject of this embodiment can be a computing service device with network communication and program running functions, such as a robot, an unmanned vehicle, a server, a server cluster, etc., or an electronic device or device capable of realizing the above functions. The following takes a robot firmware upgrade device as an example to illustrate this embodiment and the following embodiments.

[0054] Based on this, the present application embodiment provides a robot firmware upgrade method, referring to Figure 1 , Figure 1 This is a flowchart of the first embodiment of the robot firmware upgrade method of the present application.

[0055] In this embodiment, the robot firmware upgrade method is applied to a robot control system, the control system includes a firmware node and a host computer, the host computer and the firmware node are communicatively connected, and the method includes steps S100 to S300:

[0056] Step S100: when it is detected that a new firmware version is released, confirm whether the current firmware version of the firmware node is the latest version.

[0057] Step S200: If the current firmware version is not the latest version, control the host computer to trigger the robot firmware upgrade process.

[0058] It should be noted that firmware is software embedded in hardware that controls various functions and operations of the device. Firmware is usually burned into non-volatile memory such as read-only memory (ROM) or flash memory, and is automatically loaded when the device starts. Firmware directly controls and manages the operation of hardware devices. It is responsible for initializing hardware devices, providing basic functions of the devices, and interacting with the software layer of the operating system to ensure that the hardware devices can work as expected.

[0059] Firmware nodes refer to nodes that run firmware-related functions and are the smallest processor units running in a robot control system. Firmware nodes are responsible for communicating with the firmware of hardware devices to control the operation of hardware devices or obtain status information of hardware devices. For example, a firmware node may be responsible for controlling the motor speed of a robot. It receives instructions from the motion control node and adjusts the motor speed by communicating with the motor firmware.

[0060] The host computer is a computer device in the control system that is responsible for monitoring, controlling and managing the entire system. It can process data from the robot's vision system or other sensors, provide instructions and control commands to the robot, and can also perform task planning and control, as well as data processing and management.

[0061] Firmware upgrade refers to the process of updating or replacing the firmware in a hardware device.

[0062] In this embodiment, a check is performed according to a preset check strategy to check whether a new firmware version has been released. The check strategy can be a regular check, setting a fixed schedule, such as a specific time every day, week, or month, to check the firmware version update server. Ensure that the system can regularly obtain the latest firmware version information and keep it updated even without user intervention. The check strategy can also be triggered when a check condition is triggered, such as when the system starts, the user requests a firmware update, or when system performance degradation is detected. During the inspection process, the robot control system establishes a communication connection with the firmware version update server and sends a request containing its current firmware version information to the server to obtain the latest firmware version list or metadata. After receiving the latest firmware version information, the latest firmware version information is compared with the firmware version of the current firmware node. If it is found that the current firmware version is not the latest version, the host computer is controlled to actively initiate the firmware upgrade process.

[0063] In this embodiment, before entering the firmware upgrade process, it is also possible to evaluate whether the firmware upgrade can be performed immediately. The evaluation content may include: (1) whether the robot is performing a task. If the task that the robot is currently performing or about to perform is of high urgency or importance, the firmware upgrade is postponed to avoid interruptions or uncertainties that may occur during the upgrade process and have a negative impact on task execution. For non-urgent or deferred tasks, the firmware upgrade can be performed immediately to ensure that the robot can have the best performance and functionality when performing the task. (2) System stability. If the system is currently in a stable state and no potential faults or performance issues are detected, the firmware upgrade is performed to improve the overall performance and functionality of the robot. If the system currently has unstable factors or known performance issues, the upgrade is temporarily not performed to avoid further problems that may arise during the upgrade process. (3) Resource availability. Evaluate whether there are sufficient resources to complete the firmware upgrade process, whether the current network bandwidth is sufficient to support this operation, and whether there is sufficient storage space to store the new firmware file and any necessary backup files.

[0064] In this embodiment, when the current firmware version is not the latest version, the host computer is controlled to trigger the firmware upgrade process. After the host computer detects a new firmware image, the host computer actively sends the latest firmware image to the firmware node. The host computer actively initiates the firmware upgrade process, and the host computer can centrally manage the firmware upgrade to ensure that all firmware nodes use the latest firmware version, thereby improving the reliability and consistency of the upgrade.

[0065] Step S300, when it is detected that the current firmware version does not meet the task to be executed, the firmware node is controlled to trigger the robot firmware upgrade process.

[0066] In this embodiment, when it is detected that the firmware node's own firmware version is too old to meet the task to be executed, the firmware node actively sends a firmware upgrade request to the host computer through communication. After receiving the request, the host computer verifies the identity of the firmware node and the legitimacy of the upgrade request. After the verification is passed, the host computer sends the new firmware image to the firmware node. The firmware node receives and stores the new firmware image, and upgrades or replaces the firmware program running in the firmware node.

[0067] In this embodiment, before receiving a new task, the firmware node will perform a series of checks to ensure that its current firmware version can meet the functional and performance requirements required to perform the task. First, after receiving the task description, the firmware node parses the task description to obtain the task's objectives, the operations to be performed, the expected output, and any specific functional or performance requirements to clarify the specific requirements of the task for the firmware. Secondly, the firmware node checks whether the current firmware version contains all the functions required to perform the task to confirm whether it supports the operations, algorithms, or communication protocols specified in the task. In addition to the functional requirements, the performance requirements of the task, such as processing speed, response time, resource occupancy, and energy consumption, can also be compared with the performance indicators of the current firmware version to determine whether there is a performance bottleneck or deficiency. If the current firmware version cannot meet the functional or performance requirements of the task, the firmware node is controlled to actively initiate a firmware upgrade process, and the firmware node sends an upgrade request to the host computer or management system, and waits for approval and the provision of the firmware upgrade package. After obtaining approval and downloading the upgrade package, the firmware node will perform firmware updates according to the predetermined upgrade process.

[0068] In this embodiment, the firmware node actively initiates the firmware upgrade process, and the firmware node can independently decide when to upgrade, which improves the flexibility and response speed of the system. It reduces the burden on the host computer to actively manage and monitor the firmware nodes. At the same time, it can avoid the host computer may not be able to detect the upgrade requirements of the firmware node in time when processing other tasks, resulting in the firmware not being updated in time, thereby affecting the normal operation or task execution of the robot.

[0069] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction, and will not be repeated in the following. Figure 2 , step S200, if the current firmware version is not the latest version, then controlling the host computer to trigger the robot firmware upgrade process may include steps A100 to A500:

[0070] Step A100, controlling the host computer to obtain the first firmware information segment and determine the target firmware node.

[0071] Step A200: sending the first firmware information segment to the target firmware node.

[0072] Step A300: After the target firmware node receives the first firmware information segment, the target firmware node verifies the first firmware information segment, and after the verification is passed, sends information segment confirmation information to the host computer.

[0073] It should be noted that the firmware information segment refers to a set of specific information contained in the firmware, which is used to describe the basic properties, functions, versions, configurations, etc. of the firmware.

[0074] In this embodiment, the firmware information segment is in TLVs (Type-Length-Value) format. The firmware information segment TLVs includes the following fields:

[0075] Version number: The version identifier of the firmware image, refer to the firmware image version specification.

[0076] Type: Definition of the firmware image function board, such as "AMU", "DCB", etc.

[0077] Board ID: Identifier of different function boards.

[0078] Image Size: The size of the firmware image file.

[0079] CRC checksum: CRC code used to check the integrity of the firmware image.

[0080] Self-embedded image description information: The present invention uses a compressed package in .EID format to encapsulate all files and information required for firmware upgrade. The compressed package contains: the application (APP) and bootloader files of each board of the specified model. A self-embedded image description information file with a suffix of xml, which contains the necessary description information of the firmware and is used to guide the IAP interaction process.

[0081] In this embodiment, each firmware node has a unique identifier (such as an ID number, MAC address, etc.). When the host computer initiates the push process, the target node is specified according to the identifier of the firmware node to be upgraded. Optionally, each firmware node may also have a unique network address (such as an IP address). The host computer can locate and specify the firmware node to be upgraded through this network address. The host computer sends the first firmware information segment containing the detailed information required for the firmware upgrade to the target firmware node. After receiving the first firmware information segment, the firmware node parses it to obtain the detailed information required for the firmware upgrade. If any errors or inconsistencies are found during the parsing process, the upgrade is rejected and an error message is returned. The error message contains detailed information about the error type so that the sender can troubleshoot and repair it. After confirming that the received first firmware information segment is correct, the firmware node sends an information segment confirmation message of "Information Confirmation Ok" to the host computer, indicating that it is ready to receive the firmware image file.

[0082] In this embodiment, after the firmware node receives and parses the first firmware information segment, determining whether an error or inconsistency occurs generally involves checking data integrity, data consistency, semantics, and protocol version.

[0083] When performing a data integrity check, first check whether the length of each TLV item matches the declared length. If the actual length does not match the declared length, this may indicate that the data was truncated or damaged during transmission. Second, check whether the format of the TLV item meets the expected specifications. For example, whether the order and size of the type field, length field, and value field meet the protocol requirements.

[0084] When performing a data consistency check, verify that the type of each TLV item matches the expected type. For example, if a version number field is expected, but an incompatible field type is received, then this is an inconsistency. For certain types of TLV items (such as version numbers, checksums, etc.), it is also necessary to check whether their values ​​are within a reasonable range. For example, version numbers usually follow a specific incrementing rule. If the received version number does not comply with this rule, it may indicate an error.

[0085] When performing semantic checks, a deeper semantic check is performed on the received information based on the business logic. For example, checking whether the URL of the firmware image file is valid, whether the firmware version is compatible with the current hardware, etc.

[0086] If the firmware upgrade process involves multiple versions of the protocol, you can also check whether the received TLVs information complies with the currently supported protocol version. If it does not match, you may need to reject the upgrade or request the sender to use the correct protocol version.

[0087] Step A400: After the host computer receives the confirmation information, it obtains the first firmware image and sends the first firmware image to the target firmware node.

[0088] Step A500: After the target firmware node receives the first firmware image, a firmware update operation is performed according to the first firmware image.

[0089] It should be noted that firmware image refers to the process and result of copying and saving the complete contents of a physical device (such as a hard disk, optical disk, etc.), storage medium or file system as a single file in binary form. It contains all the information of the source device or file system, including files, directories, partitions, file system structure, and possible operating system and data.

[0090] In this embodiment, after receiving the information segment confirmation information, the host computer pushes the firmware image file to the target firmware node. The firmware image file contains necessary information such as firmware code and configuration files. After receiving the first firmware image, the firmware node starts to perform the firmware update operation. The new firmware program is written into the memory of the firmware node. After the update is completed, the firmware node will update its status information and send a confirmation message of the completion of the update to the host computer.

[0091] In a feasible implementation manner, step A500 may include the following steps:

[0092] After the target firmware node receives the first firmware image, obtaining a verification code from the first firmware information segment, and verifying the first firmware image according to the verification code;

[0093] If the first firmware image passes the verification, a firmware update operation is performed according to the first firmware image.

[0094] In this embodiment, after receiving the first firmware image, the firmware node performs a CRC (cyclic redundancy check) check on the first firmware image to ensure that the file is not damaged during the transmission process. The firmware node identifies and extracts the value of the CRC field from the first firmware information segment corresponding to the first firmware image. The value of the CRC field is calculated by the host computer before sending and is sent together as part of the first firmware information segment. After extracting the check code, the firmware node calculates the received data (excluding the check code itself) according to the same algorithm to obtain a new CRC value. The calculated CRC value is compared with the extracted check code. If the two match, it indicates that the received data has not been erroneous or tampered with during the transmission process, and the subsequent firmware upgrade process continues. If it does not match, it indicates that the data may have been damaged or tampered with, the firmware node rejects the upgrade request, and may send an error response to the host computer.

[0095] In a feasible implementation manner, the following steps may be included before step A200:

[0096] A first upgrade instruction is sent to the target firmware node to control the target firmware node to perform status query.

[0097] When the target firmware node is in a non-upgrade state, an upgrade confirmation message is sent to the host computer.

[0098] In this implementation, the host computer sends a first upgrade instruction to the firmware node, and the first upgrade instruction includes an instruction for querying the status of the firmware node. After receiving the first upgrade instruction, the firmware node checks whether it is currently in the "IAP (In-Application Programming)" state. If not, it replies with an "IAP confirmation" instruction and enters the IAP state, ready to receive subsequent firmware information or configuration data.

[0099] Based on the first embodiment of the present application, in the third embodiment of the present application, the same or similar contents as those in the above-mentioned embodiment 1 can be referred to the above introduction, and will not be repeated in the following. Figure 3 , after step S300, steps B100 to B300 may also be included:

[0100] Step B100: The firmware node sends a second upgrade instruction to the host computer, where the second upgrade instruction includes current firmware version information.

[0101] Step B200: After the host computer receives the second upgrade instruction, it obtains the second firmware image according to the current firmware version information, and sends the second firmware image to the firmware node.

[0102] Step B300: After the firmware node receives the second firmware image, a firmware update operation is performed according to the second firmware image.

[0103] In this embodiment, after the firmware node actively triggers the firmware upgrade process, the firmware node sends a second upgrade instruction to the host computer, and the second upgrade instruction includes information such as firmware version, device information, and upgrade requirements. The firmware version information includes the firmware version of the current firmware node and the target firmware version to which it is desired to upgrade. The device information includes unique identification information such as the type, model, and serial number of the device to which the firmware node belongs. It helps the host computer to identify the identity of the firmware node and provide it with the correct firmware image. The upgrade requirements include information such as whether it is necessary to upgrade specific functions, fix known vulnerabilities, or improve performance. When the host computer / IAD node monitors the second upgrade instruction, it checks whether there is a second firmware image that meets the requirements. If it exists, the firmware image is transmitted to the firmware node. The steps of the host computer transmitting the firmware image to the firmware node are the same as the steps in the host computer actively initiating the firmware upgrade process, which will not be repeated here.

[0104] Based on the first embodiment of the present application, in the fourth embodiment of the present application, the same or similar contents as those in the first embodiment can be referred to the above description, and will not be described in detail later. Figure 4 , the robot firmware upgrade method may further include steps C100 to C400:

[0105] Step C100, after the upper computer receives the version rollback instruction, it determines the firmware node to be rolled back according to the version rollback instruction, and sends a firmware information query instruction to the firmware node to be rolled back.

[0106] Step C200, after the firmware to be rolled back node receives the firmware information query instruction, obtains and sends the firmware to be rolled back information to the host computer.

[0107] Step C300, after the host computer receives the firmware information to be rolled back, the target rollback firmware information is obtained according to the firmware information to be rolled back.

[0108] Step C400: Generate and send a rollback request to the firmware node to be rolled back according to the target rollback firmware information.

[0109] In this embodiment, after the upper computer receives the version rollback instruction, the firmware node to be rolled back that needs to be rolled back is determined according to the version rollback instruction, and a firmware information query instruction is sent to the firmware node to be rolled back to query the firmware information of the current running area and the firmware information of the backup area of ​​the firmware node to be rolled back. The firmware information of the current running area includes the version number, checksum, date, etc. The backup area is used to store old versions of firmware or backup firmware. After the upper computer receives the firmware information of the running area and the backup area, it sends a rollback request to the firmware node to be rolled back, and the rollback request contains the target rollback firmware version information so that the firmware node can correctly perform the rollback operation.

[0110] In a feasible implementation manner, step C400 may further include steps C500 to C700:

[0111] Step C500, after the firmware node to be rolled back receives the rollback request, executes a version rollback operation;

[0112] Step C600, after completing the version rollback operation, generating rollback completion information and sending it to the host computer;

[0113] Step C700: the host computer generates an upgrade log according to the rollback completion information.

[0114] In this embodiment, after the rollback firmware node receives the request, the version rollback operation is performed. Verify the legitimacy of the rollback request, check the identity of the user or system that initiated the rollback request, and ensure that it has the authority to perform the rollback operation. Verify whether the source, format, and content of the rollback request are as expected. For example, you can check whether the request contains a valid signature, timestamp, etc. Ensure that the rollback request complies with the organization's security policies and operating specifications. For example, some systems may require that the rollback operation can only be performed within a specific time window. After passing the verification, modify the partition parameters and information table, switch the running area to the backup area, and set the firmware rollback flag to indicate that the current firmware has rolled back to the old version. After the rollback operation is completed, delete the configuration file before the rollback to ensure that the system will not fail due to inconsistent configuration files. Finally, send a rollback completion message to the host computer, indicating that the version rollback process has been completed.

[0115] In this implementation, before modifying the partition parameters and information tables, ensure that the system is in maintenance mode or locked state to prevent concurrent operations from causing data inconsistency. Back up the current partition parameters and information tables so that they can be restored when problems occur. Update partition parameters such as partition size, location, type, etc. based on the rollback request. Modify the metadata and information tables related to the partition to ensure that the system can correctly identify and use the new partition configuration. Switch the running area from the current active partition to the backup partition to verify the integrity and consistency of the backup area before rolling back. Ensure that the data in the backup area is valid and matches the rollback request. After the verification is passed, perform the switching operation. After the switch is completed, verify whether it has been correctly switched to the backup area, monitor the usage of resources such as CPU, memory, and disk space, ensure that system resources are not abnormally occupied, and whether the data after rollback is consistent with expectations.

[0116] In this implementation, when the version rollback operation is successfully completed, a detailed information including the rollback operation result is generated. This information usually includes the timestamp of the rollback operation, the version information before and after the rollback, the operation status (success / failure), possible error codes or error descriptions, etc. The generated rollback completion information is sent to the host computer. After the host computer receives the rollback completion information, it generates an upgrade log record based on the received rollback completion information. The upgrade log usually includes the time of the rollback operation, version information, operation results, possible error descriptions and other key information. So that the historical upgrade records can be viewed and analyzed at any time.

[0117] The present application provides a robot firmware upgrade device, comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the robot firmware upgrade method in the above-mentioned embodiment one.

[0118] Reference below Figure 5 , which shows a schematic diagram of the structure of a robot firmware upgrade device suitable for implementing the embodiment of the present application. The robot firmware upgrade device in the embodiment of the present application may include but is not limited to mobile terminals such as robots, unmanned vehicles, vehicle terminals (such as vehicle navigation terminals), etc., and fixed terminals such as digital TVs, desktop computers, servers, server clusters, etc. Figure 5 The robot firmware upgrade device shown is merely an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.

[0119] like Figure 5As shown, the robot firmware upgrade device may include a processing device 1001 (e.g., a central processing unit, a graphics processor, etc.), which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM: Read Only Memory) 1002 or a program loaded from a storage device 1003 to a random access memory (RAM: Random Access Memory) 1004. In RAM1004, various programs and data required for the operation of the robot firmware upgrade device are also stored. The processing device 1001, ROM1002, and RAM1004 are connected to each other through a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Generally, the following systems can be connected to the I / O interface 1006: an input device 1007 including, for example, a touch screen, a touch pad, a keyboard, a mouse, an image sensor, a microphone, an accelerometer, a gyroscope, etc.; an output device 1008 including, for example, a liquid crystal display (LCD: Liquid Crystal Display), a speaker, a vibrator, etc.; a storage device 1003 including, for example, a magnetic tape, a hard disk, etc.; and a communication device 1009. The communication device 1009 can allow the robot firmware upgrade device to communicate with other devices wirelessly or by wire to exchange data. Although the control device with various systems is shown in the figure, it should be understood that it is not required to implement or have all the systems shown. More or fewer systems can be implemented or have alternatively.

[0120] In particular, according to the embodiments disclosed in the present application, the process described above with reference to the flowchart can be implemented as a computer software program. For example, the embodiments disclosed in the present application include a computer program product, which includes a computer program carried on a computer-readable medium, and the computer program includes a program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network through a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.

[0121] The robot firmware upgrade device provided by the present application adopts the robot firmware upgrade method in the above embodiment, which can solve the technical problem of how to solve the problem that the firmware cannot be updated in time, thereby affecting the normal operation or task execution of the robot. Compared with the prior art, the beneficial effects of the robot firmware upgrade device provided by the present application are the same as the beneficial effects of the robot firmware upgrade method provided by the above embodiment, and the other technical features in the robot firmware upgrade device are the same as the features disclosed in the method of the previous embodiment, which will not be repeated here.

[0122] It should be understood that the various parts disclosed in this application can be implemented by hardware, software, firmware or a combination thereof. In the description of the above embodiments, specific features, structures, materials or characteristics can be combined in any one or more embodiments or examples in a suitable manner.

[0123] The above is only a specific implementation of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art who is familiar with the present technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.

[0124] The present application provides a computer-readable storage medium having computer-readable program instructions (ie, computer programs) stored thereon, and the computer-readable program instructions are used to execute the robot firmware upgrade method in the above-mentioned embodiment.

[0125] The computer-readable storage medium provided in the present application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, systems or devices, or any combination of the above. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above. In this embodiment, the computer-readable storage medium may be any tangible medium containing or storing a program that can be used by or in combination with an instruction execution system, system or device. The program code contained on the computer-readable storage medium may be transmitted using any appropriate medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination of the above.

[0126] The computer-readable storage medium may be included in the robot firmware upgrade device; or it may exist independently without being assembled into the robot firmware upgrade device. The computer-readable storage medium carries one or more programs. When the one or more programs are executed by the robot firmware upgrade device, the robot firmware upgrade device: when a new firmware version is detected, confirm whether the current firmware version of the firmware node is the latest version; if the current firmware version is not the latest version, control the host computer to trigger the robot firmware upgrade process; when it is detected that the current firmware version does not meet the task to be executed, control the firmware node to trigger the robot firmware upgrade process.

[0127] Computer program code for performing the operations of the present application may be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, C++, and conventional procedural programming languages ​​such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a separate software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0128] The flow chart and block diagram in the accompanying drawings illustrate the possible architecture, function and operation of the system, method and computer program product according to various embodiments of the present application. In this regard, each square box in the flow chart or block diagram can represent a module, a program segment or a part of a code, and the module, the program segment or a part of the code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two square boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be implemented with a dedicated hardware-based system that performs a specified function or operation, or can be implemented with a combination of dedicated hardware and computer instructions.

[0129] The modules involved in the embodiments described in this application may be implemented by software or hardware, wherein the name of the module does not constitute a limitation on the unit itself in some cases.

[0130] The readable storage medium provided by the present application is a computer-readable storage medium, which stores computer-readable program instructions (i.e., computer programs) for executing the above-mentioned robot firmware upgrade method, and can solve the technical problem of how to solve the problem that the firmware cannot be updated in time, thereby affecting the normal operation or task execution of the robot. Compared with the prior art, the beneficial effects of the computer-readable storage medium provided by the present application are the same as the beneficial effects of the robot firmware upgrade method provided by the above-mentioned embodiment, and will not be repeated here.

[0131] The above descriptions are only some embodiments of the present application, and are not intended to limit the patent scope of the present application. All equivalent structural changes made using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect applications in other related technical fields are included in the patent protection scope of the present application.

Claims

1. A robot firmware upgrade method, characterized in that: Applied to a robot control system, the control system includes a firmware node and a host computer, the host computer and the firmware node are in communication connection, and the method includes: When a new firmware version is detected, confirm whether the current firmware version of the firmware node is the latest version; If the current firmware version is not the latest version, control the host computer to trigger the robot firmware upgrade process; When it is detected that the current firmware version does not meet the task to be executed, the firmware node is controlled to trigger the robot firmware upgrade process.

2. The robot firmware upgrade method according to claim 1, characterized in that: After the step of controlling the host computer to trigger the robot firmware upgrade process, the following steps are included: Controlling the host computer to obtain the first firmware information segment and determine the target firmware node; Sending the first firmware information segment to the target firmware node; After the target firmware node receives the first firmware information segment, it verifies the first firmware information segment, and after the verification passes, sends information segment confirmation information to the host computer.

3. The robot firmware upgrade method according to claim 2, characterized in that: After the target firmware node receives the firmware information segment, the target firmware node verifies the firmware information segment, and after the verification is passed, the step of sending confirmation information to the host computer includes: After the host computer receives the confirmation information, it obtains the first firmware image and sends the first firmware image to the target firmware node; After the target firmware node receives the first firmware image, a firmware update operation is performed according to the first firmware image.

4. The robot firmware upgrade method according to claim 2, characterized in that: Before the step of sending the first firmware information segment to the target firmware node, the method includes: Sending a first upgrade instruction to the target firmware node to control the target firmware node to perform status query; When the target firmware node is in a non-upgrade state, an upgrade confirmation message is sent to the host computer.

5. The robot firmware upgrade method according to claim 3, characterized in that: After the target firmware node receives the first firmware image, the step of performing a firmware update operation according to the first firmware image includes: After the target firmware node receives the first firmware image, obtaining a verification code from the first firmware information segment, and verifying the first firmware image according to the verification code; If the first firmware image passes the verification, a firmware update operation is performed according to the first firmware image.

6. The robot firmware upgrade method according to claim 1, characterized in that: After the step of controlling the firmware node to trigger the robot firmware upgrade process when it is detected that the current firmware version does not meet the task to be performed, the following steps are included: The firmware node sends a second upgrade instruction to the host computer, where the second upgrade instruction includes current firmware version information; After the host computer receives the second upgrade instruction, it obtains a second firmware image according to the current firmware version information, and sends the second firmware image to the firmware node; After the firmware node receives the second firmware image, a firmware update operation is performed according to the second firmware image.

7. The robot firmware upgrade method according to claim 1, characterized in that: The robot firmware upgrade method also includes: After the host computer receives the version rollback instruction, it determines the firmware node to be rolled back according to the version rollback instruction, and sends a firmware information query instruction to the firmware node to be rolled back; After the firmware node to be rolled back receives the firmware information query instruction, it obtains and sends the firmware information to be rolled back to the host computer; After the host computer receives the firmware information to be rolled back, the target rollback firmware information is acquired according to the firmware information to be rolled back; According to the target rollback firmware information, a rollback request is generated and sent to the firmware node to be rolled back.

8. The robot firmware upgrade method according to claim 7, characterized in that: After the step of generating and sending a rollback request to the firmware node to be rolled back according to the rollback firmware information, the following steps are included: After the firmware node to be rolled back receives the rollback request, performing a version rollback operation; After completing the version rollback operation, generate rollback completion information and send it to the host computer; The host computer generates an upgrade log according to the rollback completion information.

9. A robot firmware upgrade device, characterized in that: The device comprises: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the robot firmware upgrade method according to any one of claims 1 to 8.

10. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the computer-readable storage medium. When the computer program is executed by a processor, the steps of the robot firmware upgrade method according to any one of claims 1 to 8 are implemented.