Robot software maintenance device

The robot software maintenance device addresses the challenge of incorrect software updates by simulating robot control devices to verify update compatibility, ensuring safe and efficient software updates.

WO2025224973A1PCT designated stage Publication Date: 2025-10-30FANUC LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
PCT/JP2024/016436
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-04-26
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

Existing robot systems face challenges in efficiently updating software for robot control devices without causing inconveniences due to incorrect selection of devices with specific specifications, leading to potential system failures.

Method used

A robot software maintenance device that checks software update suitability by generating a virtual control device to simulate the behavior of actual robot control devices, using configuration data to apply patches and test cases, ensuring compatibility before applying updates.

Benefits of technology

Prevents unexpected problems by verifying software updates on virtual devices, ensuring safe and efficient software updates without affecting operational robot systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure JP2024016436_30102025_PF_FP_ABST
    Figure JP2024016436_30102025_PF_FP_ABST
Patent Text Reader

Abstract

Provided is a robot software maintenance device for checking whether or not a software update for a robot control device connected via a network is appropriate, the software maintenance device comprising: a correction patch storage unit that stores a correction patch for updating software of the robot control device; a test case storage unit that stores a test case for determining success or failure of a software update; a configuration data acquisition unit that acquires, from the robot control device, configuration data for specifying a configuration of the robot control device; a virtual control device generation unit that generates, on the basis of the configuration data, a virtual control device that virtually imitates behavior of the robot control device; and an update determination unit that applies the correction patch to the virtual control device and determines success or failure of the software update according to the test case.
Need to check novelty before this filing date? Find Prior Art

Description

Robot software maintenance device

[0001] The present disclosure relates to a robot software maintenance device.

[0002] Conventionally, software updates for the operating system, application programs, etc. of a robot control device that controls a robot mechanical unit have been performed, for example, by connecting a terminal to the robot control device and rewriting data in the EPROM. To perform software updates in a robot system with multiple robots, it was necessary to repeatedly connect the terminal and rewrite the data. Therefore, a robot system has been proposed in which the software of multiple robot control devices that control each robot mechanical unit can be updated via a communication line (see, for example, Patent Document 1).

[0003] Japanese Patent Application Laid-Open No. 2022-116952

[0004] There are many robot systems that include robots with different specifications. For example, robots with different specifications may be selected depending on the tasks to be performed when the robot system is designed, or new types of robots may be added during system modifications. In such systems, it may be necessary to update the software of only the robot control device with a specific specification. If a system administrator mistakenly selects the robot control device whose software needs to be updated, this could result in inconveniences such as the inability to start the system. Therefore, a technology that can easily check whether a software update for a robot control device is appropriate is desired.

[0005] A robot software maintenance device according to one aspect of the present disclosure is a software maintenance device that checks the suitability of a software update for a robot control device connected via a network, and includes a patch storage unit that stores a patch for updating the software of the robot control device, a test case storage unit that stores test cases for determining the success or failure of the software update, a configuration data acquisition unit that acquires configuration data that identifies the configuration of the robot from the robot control device, a virtual control device generation unit that generates a virtual control device that virtually imitates the behavior of the robot control device based on the configuration data, and an update determination unit that applies the patch to the virtual control device and determines the success or failure of the software update according to the test cases.

[0006] FIG. 1 is a block diagram illustrating a configuration of a robot software maintenance device according to an embodiment of the present disclosure.

[0007] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment of the present disclosure will now be described with reference to the accompanying drawings. Fig. 1 is a block diagram illustrating a configuration of a robot software maintenance device 1 according to an embodiment of the present disclosure.

[0008] The robot software maintenance device 1 checks the appropriateness of software updates for the robot control device RC connected via a network. The robot control device RC controls the robot mechanical unit RM. The robot software maintenance device 1 can be realized by one or more computers that have a memory, a processor, an input / output interface, etc. and execute appropriate control programs.

[0009] 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 configuration data acquisition unit 15, a robot manual selection unit 16, an automatic robot 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. Note that these components categorize the functions of the robot software maintenance device 1, and do not necessarily have to be clearly distinguishable in terms of physical configuration and program configuration.

[0010] The patch storage unit 11 stores patches that update the software of the robot control device RC. Patches are recognized as having the potential to update the software of the robot control device RC, and the robot software maintenance device 1 checks whether or not they can actually be applied to the robot control device RC. In other words, the patches stored in the patch storage unit 11 do not necessarily have to be patches that can update all or part of the software of the robot control device RC that is actually connected to the robot software maintenance device 1. The patch storage unit 11 may also store multiple patches.

[0011] The patch input unit 12 accepts input of a patch to be stored in the patch storage unit 11. The patch input unit 12 may be configured to accept input of a patch via a storage medium, a communication line, etc. The patch input unit 12 may also provide a user interface that allows a user to select a patch to be stored in the patch storage unit 11, and may also have an editor function that allows a user to modify or create a new patch.

[0012] The test case storage unit 13 stores test cases for determining whether a software update resulting from the application of a correction patch has been successful. Note that a "test case" refers to data summarizing test conditions, procedures, and criteria for determining the results of a test for determining whether a software update has been successful. Examples of test cases include attempting to start a system and determining that the software update has been successful if the system has started up properly, attempting network communication and determining that the software update has been successful if the communication has been successful, ensuring that register values ​​are appropriate after a predetermined confirmation program is executed, and ensuring that the execution time of a predetermined confirmation program is within a predetermined time.

[0013] The test case input unit 14 accepts input of test cases to be stored in the test case storage unit 13. The test case input unit 14 may be configured to accept input of test cases via a storage medium, a network, etc. The test case input unit 14 may also provide a user interface that allows a user to create new test cases by, for example, editing already stored test cases.

[0014] The configuration data acquisition unit 15 acquires configuration data that identifies the configuration of a robot controller RC from the robot controller RC via the network. The configuration data acquisition unit 15 may acquire configuration data only from the robot controller RC selected by the robot manual selection unit 16, or may acquire configuration data from all connected robot controllers RC. The configuration data acquisition unit 15 may be configured to store multiple pieces of configuration data acquired from multiple robot controllers RC. The configuration data preferably includes sufficient information to reproduce the configuration of each robot controller RC, such as the model of the robot controller RC, the type of end effector, e.g., a work head, the version of the operating system (OS), the type and version of application programs used for the work, and parameter settings for adjusting various operations. In other words, the configuration data preferably covers the physical and software configuration of the robot controller RC and may also serve as backup data for system recovery in the event of a failure.

[0015] The robot manual selection unit 16 accepts user selection of the robot control device RC (the robot control device RC that generates the virtual control device described below) for which the virtual control device generation unit 20 is to check the appropriateness of a software update. By checking the appropriateness of a software update by applying a correction patch only for the robot control device RC selected by the user, the user can quickly check the appropriateness of a software update for a specific robot control device RC. The robot manual selection unit 16 may provide a user interface that displays a list of numbers assigned to robot control devices RC connected to the robot software maintenance device 1, IP addresses that identify the robot control devices RC on the network, etc., and allows the user to make a selection.

[0016] The automatic robot selection unit 17 selects a robot control device RC for which the software update suitability is to be checked using a virtual control device from among the multiple robot control devices RC based on the configuration data acquired by the configuration data acquisition unit 15. In other words, the automatic robot selection unit 17 excludes robot control devices RC for which it is clear that the patch cannot be applied. As a specific example, the header of a patch may describe the OS version of the robot control device RC to which the patch can be applied, and the automatic robot selection unit 17 may select a robot control device RC for which the patch can potentially be applied based on the OS version information included in the configuration data. The automatic robot selection unit 17 may further limit the robot control devices RC selected by the manual robot selection unit 16 for which the software update suitability is to be checked, or may override the selection by the manual robot selection unit 16 and select a robot control device RC for which the software update suitability is to be checked from among all robot control devices RC connected to the robot software maintenance device 1. The automatic robot selection unit 17 enables the robot software maintenance device 1 to quickly identify an appropriate combination of a robot control device RC and a patch.

[0017] The patch manual selection unit 18 selects a patch to be applied to the robot control device RC from among the multiple patches stored in the patch storage unit 11. The patch manual selection unit 18 may provide a user interface that displays a list of patch file names, version information, header information, etc., and allows the user to select one of the patches.

[0018] The patch automatic selection unit 19 selects a patch to be applied to the robot control device RC from among multiple patches stored in the patch storage unit 11, based on the configuration data of the robot control device RC. The patch automatic selection unit 19 may be configured to select a patch applicable to the robot control device RC based on a match between the OS version included in the configuration data and the header information of the patch. The patch manual selection unit 18 and the patch automatic selection unit 19 may be configured to be selectively enabled. Furthermore, the patch selection by the patch automatic selection unit 19 is based on the premise that the robot control devices RC that will verify the suitability of the software update have been identified (including all of them), so the patch automatic selection unit 19 may be configured not to be enabled simultaneously with the robot automatic selection unit 17. By including the patch automatic selection unit 19, the robot software maintenance device 1 can quickly identify an appropriate combination of the robot control device RC and the patch.

[0019] The virtual controller generation unit 20 generates a virtual controller that virtually imitates the behavior of the robot controller RC based on the configuration data of the robot controller RC. In other words, the virtual controller generation unit 20 builds an emulator that imitates the behavior of the robot controller RC. When there are multiple robot controllers RC for which the appropriateness of a software update is to be confirmed, the virtual controller generation unit 20 may generate a virtual controller for one robot controller RC, and then generate a virtual controller for the next robot controller RC in sequence after the update determination unit 21 has completed determination for that robot controller RC. When there are multiple combinations of robot controllers RC and patch updates, it is preferable that the virtual controller generation unit 20 generate independent virtual controllers for each combination, sequentially or in parallel.

[0020] The update determination unit 21 applies a correction patch to the virtual control device generated by the virtual control device generation unit 20 and determines whether the software update has been successful or not according to the test case. When there are multiple combinations of the robot control device RC and the selected correction patch, the update determination unit 21 preferably determines whether the software update has been successful or not independently for each combination. Furthermore, it is preferable to output information on the success or failure of the software update by, for example, displaying it on a display or transmitting a signal to an external computer device or the like.

[0021] When the update determination unit 21 determines that the software update is successful, the software update unit 22 transfers a patch to the robot control device RC and performs the software update. Automatically updating the software of the robot control device RC to which a patch can be applied in this way reduces the user's effort in maintaining the robot control device RC. The software update unit 22 is preferably configured to check the operating status of the robot control device RC and perform a software update using a patch only if the software can be safely updated. Specifically, the software update unit 22 is preferably configured not to perform a software update while the robot control device RC is operating or a program is running, and may also be configured not to perform a software update when the robot mechanism unit RM controlled by the robot control device RC is not in a predetermined standby position.

[0022] The robot software maintenance device 1 having the above configuration can easily check the appropriateness of updating the software of the robot control device RC by checking the application result of the patch using a virtual control device without applying the patch to the actual robot control device RC. Therefore, by using the robot software maintenance device 1, it is possible to prevent unexpected problems from occurring when a patch is applied to the wrong robot control device RC.

[0023] The following supplementary note is further disclosed regarding the above embodiment and modified examples. (Supplementary Note 1) A robot software maintenance device (1) is a software maintenance device (1) that checks the appropriateness of a software update for a robot control device (RC) connected via a network, and includes a patch storage unit (11) that stores a patch for updating the software of the robot control device (RC), a test case storage unit (13) that stores test cases for determining the success or failure of the software update, a configuration data acquisition unit (15) that acquires configuration data that specifies the configuration of the robot control device (RC) from the robot (R), a virtual control device generation unit (20) that generates a virtual control device that virtually mimics the behavior of the robot control device (RC) based on the configuration data, and an update determination unit (21) that applies the patch to the virtual control device (R) and determines the success or failure of the software update in accordance with the test cases.

[0024] (Supplementary Note 2) The robot software maintenance device (1) of Supplementary Note 1 may further include an automatic robot selection unit (16) that selects a robot control device (RC) that generates a virtual control device based on a user's input.

[0025] (Supplementary Note 3) The robot software maintenance device (1) of Supplementary Notes 1 and 2 may further include an automatic robot selection unit (17) that selects a robot control device (RC) that generates a virtual control device based on the configuration data.

[0026] (Appendix 4) The robot software maintenance device (1) of Appendices 1 to 3 may further include an automatic patch selection unit (18) that selects a patch to be applied to the robot control device (RC) from among a plurality of patches stored in the patch storage unit (11) based on configuration data of the robot control device (RC).

[0027] (Supplementary Note 5) The robot software maintenance device (1) of Supplementary Notes 1 to 4 may further include a test case input unit (14) that accepts input of a test case.

[0028] (Appendix 6) The robot software maintenance device (1) of Appendices 1 to 5 may further include a software update unit (21) that transfers a correction patch to the robot control device (RC) and executes the software update when the update determination unit determines that the software update is successful.

[0029] Although the present disclosure has been described in detail above, the present disclosure is not limited to the individual embodiments described above. Various additions, substitutions, modifications, partial deletions, etc. are possible in these embodiments without departing from the gist of the present disclosure or the spirit of the present disclosure derived from the content of the claims and their equivalents. These embodiments can also be implemented in combination. For example, in the above-described embodiments, the order of each operation and the order of each process are shown as examples and are not limited to these. The same applies when numerical values ​​or mathematical expressions are used in the description of the above-described embodiments.

[0030] For example, in the robot software maintenance device according to the present disclosure, all connected robots may be subject to software update suitability check, and the robot manual selection unit and the robot automatic selection unit may have any configuration. Furthermore, the robot software maintenance device according to the present disclosure may not have a patch input unit, but may be realized by a dedicated control program for each patch, or may not have a test case input unit, but may be realized by a dedicated control program for each test case. Furthermore, the robot software maintenance device according to the present disclosure may not have a software update unit.

[0031] REFERENCE SIGNS LIST 1 Robot software maintenance device 11 Correction patch storage unit 12 Correction patch input unit 13 Test case storage unit 14 Test case input unit 15 Configuration data acquisition unit 16 Robot manual selection unit 17 Robot automatic selection unit 18 Correction patch manual selection unit 19 Correction patch automatic selection unit 20 Virtual control device generation unit 21 Update determination unit 22 Software update unit RC Robot control device RM Robot mechanism unit

Claims

1. A software maintenance device that checks the suitability of a software update for a robot control device connected via a network, comprising: a patch storage unit that stores a patch for updating the software of the robot control device; a test case storage unit that stores test cases for determining the success or failure of the software update; a configuration data acquisition unit that acquires configuration data that identifies the configuration of the robot control device from the robot control device; a virtual control device generation unit that generates a virtual control device that virtually imitates the behavior of the robot control device based on the configuration data; and an update determination unit that applies the patch to the virtual control device and determines the success or failure of the software update in accordance with the test cases.

2. The robot software maintenance device according to claim 1, further comprising an automatic robot selection unit that selects the robot controller for generating the virtual controller based on a user's input.

3. A robot software maintenance device according to claim 1 or 2, further comprising an automatic robot selection unit that selects the robot control device that generates the virtual control device based on the configuration data.

4. A robot software maintenance device as described in any one of claims 1 to 3, further comprising an automatic patch selection unit that selects the patch to be applied to the robot control device from among the multiple patches stored in the patch storage unit based on the configuration data of the robot control device.

5. The robot software maintenance device according to any one of claims 1 to 4, further comprising a test case input unit that accepts input of the test cases.

6. A robot software maintenance device as described in any one of claims 1 to 5, further comprising a software update unit that transfers the correction patch to the robot control device and performs the software update when the update determination unit determines that the software update is successful.

Citation Information

Patent Citations

  • Patch program extraction apparatus, patch program extraction program, and patch program extraction method

    JP2017004201A

  • Reliable real-time deployment of robot safety updates

    US20220111516A1