Robot software maintenance device

By generating a virtual control device through a robot software maintenance device and determining software updates, the problem of improper software updates in multi-robot systems is solved, ensuring the stability and accuracy of the system.

CN123056945APending Publication Date: 2026-11-06FANUC LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202480090526.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-04-26
Publication Date
2026-11-06

AI Technical Summary

Technical Problem

In multi-robot systems, existing technologies struggle to effectively identify and update the software of robot control devices of different specifications, which may lead to adverse situations such as system malfunctions.

Method used

The robot software maintenance device utilizes a patch storage unit, a test case storage unit, a structure data acquisition unit, and a virtual control device generation unit to generate a virtual control device and determine whether the software update is successful, ensuring appropriate updates.

Benefits of technology

This enables rapid and accurate verification of the appropriateness of robot control device software updates, avoiding system failures caused by erroneous updates and improving system stability.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123056945A_ABST
    Figure CN123056945A_ABST
Patent Text Reader

Abstract

A robot software maintenance device that confirms whether or not a software update of a robot control device connected via a network is appropriate, is provided with: a correction patch storage section that stores a correction patch that updates software of the robot control device; a test case storage section that stores a test case for determining whether or not a software update is successful; a configuration data acquisition section that acquires configuration data for determining a configuration of the robot control device from the robot control device; a virtual control device generation section that generates a virtual control device that virtually imitates behavior of the robot control device in accordance with the configuration data; and an update determination section that applies the correction patch to the virtual control device and determines whether or not a software update is successful in accordance with the test case.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to a robot software maintenance device. Background Technology

[0002] Conventionally, software updates for the operating system and applications of the robot control device controlling the robot mechanism are performed, for example, by connecting a terminal to the robot control device and rewriting the data in the EPROM. In robot systems with multiple robots, software updates require repeatedly connecting the terminal and rewriting the data. Therefore, a robot system capable of updating the software of multiple robot control devices that individually control the robot mechanism via a communication line has been proposed (see, for example, Patent Document 1).

[0003] Existing technical documents

[0004] Patent documents

[0005] Patent Document 1: Japanese Patent Application Publication No. 2022-116952 Summary of the Invention

[0006] The problem that the invention aims to solve

[0007] There are many robot systems that include robots of different specifications. For example, consider selecting different robot specifications based on the tasks to be performed during the design of the robot system, or adding new robot models through system modifications. In such systems, it may be necessary to update the software of only the robot control unit of a specific specification. If the system administrator incorrectly selects the robot control unit whose software should be updated, adverse situations such as the system failing to start may occur. Therefore, a technology that allows easy verification of whether the robot control unit's software update is appropriate is desired.

[0008] Methods for solving problems

[0009] One aspect of this disclosure relates to a robot software maintenance apparatus that determines whether a software update for a robot control device connected via a network is appropriate. The robot software maintenance apparatus includes: a patch storage unit that stores patch updates to the software of the robot control device; a test case storage unit that stores test cases for determining whether the software update is successful; a structure data acquisition unit that acquires structure data from the robot control device for determining the structure of the robot; a virtual control device generation unit that generates a virtual control device based on the structure data that virtually mimics the behavior of the robot control device; and an update determination unit that applies the patch to the virtual control device and determines whether the software update is successful according to the test cases. Attached Figure Description

[0010] Figure 1 This is a block diagram illustrating the structure of a robot software maintenance apparatus according to one embodiment of the present disclosure. Detailed Implementation

[0011] Hereinafter, embodiments of the present disclosure will be described with reference to the accompanying drawings. Figure 1 This is a block diagram illustrating the structure of a robot software maintenance device 1 according to an embodiment of the present disclosure.

[0012] The robot software maintenance device 1 verifies whether the software update of the robot control unit RC, connected via a network, is appropriate. The robot control unit RC controls the robot mechanism RM. The robot software maintenance device 1 has memory, a processor, input / output interfaces, etc., and can be implemented by one or more computer devices that execute appropriate control programs.

[0013] The robot software maintenance device 1 includes a patch storage unit 11, a patch input unit 12, a test case storage unit 13, a test case input unit 14, a structure data acquisition unit 15, a robot manual selection unit 16, a robot automatic selection unit 17, a patch manual selection unit 18, a patch automatic selection unit 19, a virtual control device generation unit 20, an update determination unit 21, and a software update unit 22. Furthermore, these structures are categorized according to the functions of the robot software maintenance device 1, and may not be clearly distinguishable in terms of physical and program structures.

[0014] The patch storage unit 11 stores patch files for updating the software of the robot control unit RC. A patch is a patch identified as having the potential to update the software of the robot control unit RC, and its applicability to the robot control unit RC is confirmed by the robot software maintenance device 1. That is, the patch files stored in the patch storage unit 11 do not necessarily need to be patches capable of updating all or part of the software of the robot control unit RC actually connected to the robot software maintenance device 1. Furthermore, the patch storage unit 11 may store multiple patch files.

[0015] The patch input unit 12 accepts input of patched patches stored in the patch storage unit 11. The patch input unit 12 can be configured to accept patch input via a storage medium, communication line, or the like. Furthermore, the patch input unit 12 can provide a user interface that allows the user to select patched patches stored in the patch storage unit 11, and can also have editing functions that allow the user to modify or create new patched patches.

[0016] The test case storage unit 13 stores test cases used to determine whether a software update resulting from the application of a patch is successful. Furthermore, a "test case" refers to data that summarizes the conditions, procedures, and criteria for determining the success of a software update. Examples of test cases include: testing system startup, and determining a successful software update if startup is successful; testing network communication, and determining a successful software update if communication is successful; register values ​​becoming appropriate after executing a specified verification procedure; and execution time within a specified timeframe when a specified verification procedure is executed.

[0017] The test case input unit 14 accepts input of test cases stored in the test case storage unit 13. The test case input unit 14 can be configured to accept test case input via storage medium, network, or the like. Furthermore, the test case input unit 14 may also provide a user interface that allows users to create new test cases by editing, for example, existing stored test cases.

[0018] The structural data acquisition unit 15 acquires structural data from the robot control unit RC via a network for determining the structure of the robot control unit RC. The structural data acquisition unit 15 may acquire structural data only from the robot control unit RC selected in the robot manual selection unit 16, or it may acquire structural data from all connected robot control unit RCs. The structural data acquisition unit 15 may also be configured to store multiple structural data sets acquired from multiple robot control unit RCs. The structural data preferably contains sufficient information to reproduce the structure of each robot control unit RC, such as the model of the robot control unit RC, the type of end effector (e.g., a work head), the version of the OS (operating system: basic software), the type and version of the application program used for the operation, and the setting values ​​of parameters used to adjust various actions. That is, the structural data preferably includes data on both the physical and software structure of the robot control unit RC, and may also serve as backup data for restoring the system in the event of a failure.

[0019] The robot manual selection unit 16 accepts the user's selection of a robot control device RC (the robot control device RC that generates the virtual control device, described later) that is the object of confirmation regarding the appropriateness of the software update applied using the virtual control device generation unit 20. By limiting the confirmation to the robot control device RC selected by the user, the user can quickly confirm whether the software update is appropriate for a specific robot control device RC. The robot manual selection unit 16 may also provide a user interface that displays a list of the serial numbers attached to the robot control device RC connected to the robot software maintenance device 1, the IP address of the robot control device RC determined on the network, etc., allowing the user to make a selection.

[0020] The robot automatic selection unit 17 selects robot control device RCs from multiple robot control device RCs based on the structural data acquired by the structural data acquisition unit 15, using virtual control devices to confirm the appropriateness of software updates. That is, the robot automatic selection unit 17 excludes robot control device RCs that clearly cannot apply the patch. Specifically, the patch header may specify the OS version of the robot control device RCs to which the patch can be applied, and the robot automatic selection unit 17 selects robot control device RCs with the potential to apply the patch based on the OS version information included in the structural data. The robot automatic selection unit 17 can further narrow down the selection of robot control device RCs selected by the robot manual selection unit 16, or it can disable the selection by the robot manual selection unit 16, selecting from all robot control device RCs connected to the robot software maintenance device 1 for software update appropriateness confirmation. By including the robot automatic selection unit 17, the robot software maintenance device 1 can quickly determine the appropriate combination of robot control device RCs and patch.

[0021] The manual patch selection unit 18 selects the patch that should be applied to the robot control device RC from a plurality of patch storage units 11. The manual patch selection unit 18 may also provide a user interface that displays the patch file name, version information, header information, etc., allowing the user to select any one.

[0022] The automatic patch selection unit 19 selects the appropriate patch to apply to the robot control device RC from a plurality of patch storage units stored in the patch storage unit 11 based on the structure data of the robot control device RC. The automatic patch selection unit 19 can be configured to select a patch applicable to the robot control device RC based on matching the OS version included in the structure data with the header information of the patch. The manual patch selection unit 18 and the automatic patch selection unit 19 can also be configured to selectively activate one of them. Furthermore, the selection of patch by the automatic patch selection unit 19 is based on determining whether a software update is appropriate for the robot control device RC (including all RCs), therefore it can be configured not to activate simultaneously with the automatic patch selection unit 17. By including the automatic patch selection unit 19, the robot software maintenance device 1 can quickly determine the appropriate combination of the robot control device RC and the patch.

[0023] The virtual control device generation unit 20 generates a virtual control device that virtually mimics the behavior of the robot control device RC based on the structural data of the robot control device RC. That is, the virtual control device generation unit 20 constructs a simulator for mimicking the behavior of the robot control device RC. When there are multiple robot control device RCs for which software updates are deemed appropriate, the virtual control device generation unit 20 can generate a virtual control device for one robot control device RC. After the update determination unit 21 determines the appropriate robot control device RC, it sequentially generates a virtual control device for the next robot control device RC. When there are multiple combinations of robot control device RCs and patch combinations, it is preferable that the virtual control device generation unit 20 generates independent virtual control devices sequentially or in parallel for each combination.

[0024] The update determination unit 21 applies a patch to the virtual control device generated by the virtual control device generation unit 20 and determines whether the software update is successful according to test cases. Preferably, when there are multiple combinations of robot control device RC and selected patch, the update determination unit 21 determines whether the software update is successful independently for each combination. Furthermore, it is preferable to output the software update success information by, for example, displaying information on a screen indicating whether the software update was successful, or sending a signal to an external computer device.

[0025] If the update determination unit 21 determines that the software update is successful, the software update unit 22 sends a patch to the robot control unit RC to perform the software update. In this way, by automatically updating the software of the robot control unit RC that can be updated with the patch, the user is spared the trouble related to the maintenance of the robot control unit RC. Preferably, the software update unit 22 is configured to check the operating status of the robot control unit RC and only perform a patch-based software update when it is safe to update the software. Specifically, preferably, the software update unit 22 is configured not to perform software updates during the operation of the robot control unit RC or during program execution, and may also be configured not to perform software updates if the robot mechanism RM controlled by the robot control unit RC is not in the prescribed standby posture.

[0026] The robot software maintenance device 1, equipped with the above structure, does not apply correction patches to the actual robot control unit RC. Instead, it uses a virtual control unit to verify the application results of the correction patches, thereby easily confirming whether the software update of the robot control unit RC is appropriate. Therefore, by using the robot software maintenance device 1, unexpected malfunctions caused by applying correction patches to the wrong robot control unit RC can be prevented.

[0027] The following notes further disclose the above-described embodiments and variations.

[0028] (Note 1)

[0029] The robot software maintenance device (1) is a software maintenance device (1) that confirms whether the software update of the robot control device (RC) connected via a network is appropriate. It includes: a patch storage unit (11) that stores patch updates for the software of the robot control device (RC); a test case storage unit (13) that stores test cases for determining whether the software update is successful; a structure data acquisition unit (15) that acquires structure data from the robot (R) for determining the structure of the robot control device (RC); a virtual control device generation unit (20) that generates a virtual control device that virtually imitates the behavior of the robot control device (RC) based on the structure data; and an update determination unit (21) that applies patch updates to the virtual control device (R) and determines whether the software update is successful according to the test cases.

[0030] (Note 2)

[0031] The robot software maintenance device (1) described in Appendix 1 may also include a robot automatic selection unit (16) that selects a robot control device (RC) that generates a virtual control device based on user input.

[0032] (Note 3)

[0033] In the robot software maintenance device (1) of Appendix 1 to Appendix 2, it may also include: a robot automatic selection unit (17) that selects a robot control device (RC) for generating a virtual control device based on structural data.

[0034] (Note 4)

[0035] In the robot software maintenance device (1) of Appendix 1 to Appendix 3, there may also be a patch automatic selection unit (18) that selects a patch that should be applied to the robot control device (RC) from a plurality of patch storage units (11) based on the structure data of the robot control device (RC).

[0036] (Note 5)

[0037] In the robot software maintenance device (1) of Appendix 1 to Appendix 4, it may also include: a test case input unit (14) that accepts test case input.

[0038] (Note 6)

[0039] In the robot software maintenance device (1) of Appendix 1 to Appendix 5, it may also include: a software update unit (21) that, when the update determination unit determines that the software update is successful, sends a patch to the robot control unit (RC) to perform the software update.

[0040] The present disclosure has been described in detail above, but it is not limited to the various embodiments described above. Various additions, substitutions, modifications, and partial deletions can be made to these embodiments without departing from the spirit of the present disclosure, or from the spirit of the present disclosure derived from the claims and their equivalents. Furthermore, these embodiments can also be implemented in combination. For example, in the embodiments described above, the order of each action and the order of each process are shown as examples and are not limited thereto. The same applies to the use of numerical values ​​or mathematical formulas in the description of the embodiments described above.

[0041] As an example, in the robot software maintenance apparatus disclosed herein, all connected robots can be used as the object for confirming whether the software update is appropriate, and the robot manual selection unit and the robot automatic selection unit can have arbitrary structures. Furthermore, the robot software maintenance apparatus disclosed herein may not have a patch input unit, but instead implement each patch through a dedicated control program; it may also not have a test case input unit, but instead implement each test case through a dedicated control program. Additionally, the robot software maintenance apparatus disclosed herein may not have a software update unit.

[0042] Explanation of reference numerals in the attached figures

[0043] 1. Robot software maintenance device

[0044] 11 Patch Storage Department

[0045] 12-point patch input section

[0046] 13 Test Case Storage Department

[0047] 14 Test Case Input Section

[0048] 15. Structural Data Acquisition Department

[0049] 16 Robot Manual Selection Department

[0050] 17 Robot Automatic Selection Department

[0051] 18-point fix manual selection section

[0052] 19 Fix Patch Automatic Selection

[0053] 20 Virtual Control Device Generation Department

[0054] 21 Updated Judgment Department

[0055] 22 Software Update Department

[0056] RC robot control device

[0057] RM Robotics Department.

Claims

1. A robot software maintenance device, which determines whether a software update of a robot control device connected via a network is appropriate, characterized in that, The robot software maintenance device includes: A patch storage unit stores patch updates for the software of the robot control device. The test case storage department stores test cases used to determine whether a software update is successful. The structural data acquisition unit acquires structural data from the robot control device for determining the structure of the robot control device; The virtual control device generation unit generates a virtual control device that virtually mimics the behavior of the robot control device based on the structure data. as well as The update determination unit applies the patch to the virtual control device and determines whether the software update is successful based on the test cases.

2. The robot software maintenance device according to claim 1, characterized in that, The robot software maintenance device also includes: a robot automatic selection unit, which selects the robot control device for generating the virtual control device based on user input.

3. The robot software maintenance device according to claim 1 or 2, characterized in that, The robot software maintenance device further includes: a robot automatic selection unit, which selects the robot control device for generating the virtual control device based on the structural data.

4. The robot software maintenance device according to any one of claims 1 to 3, characterized in that, The robot software maintenance device further includes: an automatic patch selection unit, which selects, based on the structure data of the robot control device, a patch that should be applied to the robot control device from a plurality of patches stored in the patch storage unit.

5. The robot software maintenance device according to any one of claims 1 to 4, characterized in that, The robot software maintenance device also includes a test case input unit, which accepts the input of the test cases.

6. The robot software maintenance device according to any one of claims 1 to 5, characterized in that, The robot software maintenance device further includes a software update unit, which, when the update determination unit determines that the software update is successful, transmits the patch to the robot control device to perform the software update.

Citation Information

Patent Citations

  • Program generation device, program generation program, and program generation method

    JP2022116952A