Manage the system configuration of the robot controller

By obtaining and partially restoring backup copies in the robot controller, the problem of multi-task alternating management is solved, precise management of system configuration and data integrity are achieved, and downtime and cost are reduced.

CN114981780BActive Publication Date: 2024-12-17ABB (SCHWEIZ) AG
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202080093321.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-01-20
Publication Date
2024-12-17
Estimated Expiration
2040-01-20

AI Technical Summary

Technical Problem

The prior art has difficulty in managing the system configuration of the robot controller alternately between multiple tasks, resulting in increased downtime and cost, and limited defect discovery and repair speeds.

Method used

By obtaining user-defined project data and backup copies of project-independent software in the robot controller, and performing partial restores based on user restore inputs, only partial data is loaded to manage system configuration, avoiding unnecessary restore operations , ensure data integrity.

Benefits of technology

Implement selective and precise system configuration management, avoid unnecessary restoration of functional parts, reduce the amount of read and write data, protect data integrity, and allow alternating different items without modifying memory contents run.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114981780B_ABST
    Figure CN114981780B_ABST
Patent Text Reader

Abstract

A robot controller (110) configured to control the operation of a robot (190) comprises: a memory (111) configured to store a system configuration including at least user-defined project data (P1, P2, P3) and project-independent software (S); and a processor (112) operable to execute the system configuration according to a currently selected project. The robot controller is configured to: obtain a backup copy (B1) including the user-defined project data and the project-independent software; obtain a restore input (R1) indicating a portion of the user-defined project data and the project-independent software in the backup copy; and perform a partial restore of the backup copy, wherein only the indicated portion is loaded into the memory of the robot controller.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the field of robot control, and more particularly to a method and apparatus for managing system configuration of a robot controller. Background Art

[0002] The robot controller controls the movements and other behaviors of the robot according to the system configuration. The system configuration may include user-defined project data and project-independent software. The provision and maintenance of such a system configuration are subject to different requirements than for a personal computer. Since conventional industrial robots cannot easily be replaced by one robot controller for another in the event of a malfunction, downtime is associated with significant costs and must be avoided by various technical measures. Another characteristic of robot software is that the user community is much smaller than, for example, general-purpose operating systems or office-related applications; this limits the speed of defect discovery and repair, and thus limits the frequency with which continuous updates are distributed.

[0003] As an example of such a measure to offset downtime, the applicant's publication WO2019120571A1 proposes a method in which a snapshot of a robot controller is captured, the snapshot containing the current system configuration of the robot controller, and the captured snapshot is stored in a backup archive. One or more snapshots stored in the backup archive are presented to the user in chronological order. Upon receiving a user input selecting one of the presented snapshots, the corresponding information is retrieved from the backup archive and provided as the restored system configuration.

[0004] In addition, WO 201017835 A1 discloses a system for offline programming of an industrial robot, the system comprising a robot controller for controlling the movement of the robot. The system also comprises an external computer having a programming and simulation tool, the programming and simulation tool having the ability to run one or more virtual robot controllers, wherein the real robot controller and the external computer are configured to communicate with each other. The system also comprises: a data transmission module, configured to automatically transmit configuration and program data between the real robot controller and the virtual robot controller running on the external computer according to a request; and a filter component, configured to filter the transmitted configuration and program data according to defined filtering rules. According to one embodiment, the data transmission module is configured to automatically create a backup file including the configuration and program data of the robot controller according to a request, instruct the filter component to process the backup file according to the filtering rules, and create a virtual robot controller on the external computer based on the filtered backup file.

[0005] None of the known methods addresses the need that arises in a robot controller for controlling a robot that alternates between multiple tasks. To this end, the robot controller can store project data related to multiple projects and control the robot according to a currently selected one of these projects. Summary of the invention

[0006] An object is to adapt a robot controller, a method and corresponding software to the above requirements. This object is solved by the invention as defined by the independent claims. Advantageous embodiments are defined by the dependent claims.

[0007] In a first aspect, a method of managing a system configuration of a robot controller is provided, the robot controller being configured to control operation of a robot, wherein the robot controller comprises a processor and a memory, the memory being configured to store the system configuration, the system configuration comprising at least user-defined project data and project-independent software. In an embodiment, the method comprises: obtaining a backup copy comprising the user-defined project data and the project-independent software; obtaining a restore input indicating a portion of the user-defined project data and the project-independent software in the backup copy; and performing a partial restore of the backup copy, wherein only the indicated portion is loaded into the memory of the robot controller.

[0008] Because the restore input allows independent restore operations of one, two or more projects or project-independent software or a combination thereof, the system configuration can be managed selectively and accurately. In particular, the present embodiment avoids unnecessary restore operations of well-functioning parts of the system configuration, which might otherwise jeopardize their integrity. Furthermore, the backup copy may include relatively old but still useful project data, which was stored together with an outdated version of the project-independent software that has been replaced by a software update, or may even contain errors; without the present invention, the restoration of the project data would occur at the expense of restoring to the outdated software.

[0009] In a second aspect, a robot controller configured to control operation of a robot is provided, comprising: a memory configured to store a system configuration, the system configuration comprising at least user-defined project data and project-independent software; a processor operable to execute the system configuration according to a currently selected project. In an embodiment, the robot controller is configured to: obtain a backup copy comprising user-defined project data and project-independent software; obtain a restore input indicating a portion of the user-defined project data and project-independent software in the backup copy; and perform a partial restore of the backup copy, wherein only the indicated portion is loaded into the memory of the robot controller.

[0010] The first and second aspects generally address corresponding requirements in the background art and have the same advantages.

[0011] Generally, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field, unless otherwise explicitly defined herein. All references to "elements, devices, parts, means, etc." are to be interpreted openly as referring to at least one instance of an element, device, part, means, step, etc., unless otherwise explicitly stated. Unless explicitly stated, the steps of any method disclosed herein do not have to be performed in the exact order disclosed. BRIEF DESCRIPTION OF THE DRAWINGS

[0012] Various aspects and embodiments will now be described by way of example with reference to the accompanying drawings, in which:

[0013] Figure 1 A robot controller connected to an industrial robot and a backup memory according to an embodiment of the present invention is shown; and

[0014] Figure 2 is a flow chart illustrating a method for managing a system configuration of a robot controller according to an embodiment of the present invention. DETAILED DESCRIPTION

[0015] Various aspects of the present invention will now be described more fully with reference to the accompanying drawings, in which certain embodiments of the present invention are shown. These embodiments should not be construed as limiting, but are provided by way of example so that this disclosure will be thorough and complete and the scope of all aspects of the present invention will be fully conveyed to those skilled in the art. Throughout the specification, the same reference numerals represent the same elements.

[0016] Figure 1 A robot controller 110 configured to control a robot 190 is shown. Although the robot 190 is shown as an industrial robot in the example, the teachings of the present invention are applicable to any controllable motion mechanical unit. The robot 190 includes a robot arm 191 to which a tool is typically attached during operation. The robot arm 191 includes one or more motion mechanisms suitable for controlling the motion of the robot arm. Each motion mechanism may include a motor unit and a brake unit. The robot controller 110 controls the operation of the robot 190 by controlling the speed and angle of the motion mechanism.

[0017] The robot 190 can also communicate with a Figure 1 The sensor 192 may be configured to acquire images, sounds, or measure physical and chemical conditions in the robot 190 or its working area. The sensor 192 may be connected in a wired or wireless manner.

[0018] The robot controller 110 includes a memory 111 and a processor 112 for executing instructions stored in the memory 111. The processor 112 may include a plurality of cooperating sub-processors, which may include distributed or networked processing resources. The processor 112 may include a central processing unit (CPU) or a microcontroller. The robot controller 110 may also be equipped with a user interface 113, which includes a visual display or other output device and a keyboard, pointing device or other input device.

[0019] The memory 111 may specifically include a fixed or removable non-volatile memory configured to store at least user-defined project data corresponding to the three projects P1, P2, P3 and project-independent software S. The project data may include the definition of the tasks to be performed by the robot, such as the operation of a product. The project data may be input or modified by an operator supervising the normal operation of the robot (e.g., through the user interface 113 of the robot controller 110 using a scripting language or by nudging the robot 190) or by a programmer working at a programming station (not shown), or may be obtained from the manufacturer of the robot 190 or from an external supplier according to the user's specifications. Different projects may correspond to different products or different processing stages of a product. The project-independent software may involve behaviors applicable to different projects, such as operating systems, routines for initialization, diagnosis or maintenance, generally valid kinematic definitions for converting requested motions into control signals to motion mechanisms, filters for motion tracking, etc.

[0020] The memory may also be configured to store process data or system data or both. In this sense, process data may include any of the following: measurement data recorded by the sensors 192, calibration data associated with the sensors (e.g., correction factors to be applied to sensor readings), and quality assurance data recorded during operation of the robot 190 (e.g., documentation of production batches, compliance-related notes).

[0021] In operation, a user can view the available projects P1, P2, P3 corresponding to the project data stored in the memory 111 through the user interface 113. The user selects a desired one of the projects and instructs the robot controller 110 to control the robot 190 accordingly. The robot controller 110 can execute the software S according to the project data of the selected project, and optionally also take into account the process data and / or system data. At a later point in time, perhaps in order to start the next production batch, the user can select and execute a different project in the project. This alternation between different projects is possible without modifying the contents of the memory 111. However, depending on the design of the processor 112, it may be necessary to copy certain instructions or project data P1, P2, P3 within the software S into a volatile portion of the memory 111 or into a dedicated runtime memory (not shown) for rapid retrieval during execution. Likewise, the operation of the robot 190 may generate process data to be stored in the memory 111. None of these options is an essential requirement for the ability of the robot controller 110 to alternate between projects P1, P2, P3 at the request of the user.

[0022] The robot controller 110 is associated with a backup memory 180 for storing backup copies of past or current contents of the memory 111. The backup copy is generated for security purposes to allow for quick restoration from unwanted loss or erasure of the memory 111, which may be caused, for example, by hardware or software failure, unintentional user manipulation, attacks on the integrity of the robot controller 110, etc. The backup copy may be dated in the sense that it includes or is associated with data indicating the date on which it was generated. The date may be used to generate a timeline indication of the backup copy in the manner disclosed in WO 2019120571A1.

[0023] As with the backup memory 111, the backup memory 111 may include project data or software independent of the project or both, as may each backup copy. The backup memory 180 is preferably a backup memory in the robot controller that is logically, operationally or structurally independent of the memory 111; typical characteristics of backup memory include a lower expected failure rate (and thus higher reliability), but possibly a lower read / write speed or higher access latency. Alternatively, the backup memory 180 may be a removable memory that a user connects to the robot controller 110 to allow new backup copies to be generated or memory contents to be restored from a stored backup copy. Furthermore, the backup memory 180 may be located in a programming station of the type described above; the programming station may be configured to serve multiple robot controllers 110, which means managing backup copies from each of these robot controllers. Another option is to implement the backup memory 180 as a networked memory, such as an archive on a server to which the robot controller 110 is connected or an archive on a server that can be connected as needed.

[0024] Restoring the backup copy from the backup storage 180 may be complete or partial. A complete restore may be performed in a conventional manner, such as discussed in WO 2019120571A1. To implement a partial restore operation, the robot controller 110 may execute Figure 2 One or more of the actions shown.

[0025] More specifically, in a first step 210 of the illustrated method 200 , a backup copy B1 is obtained from a backup storage. The obtaining step 210 may include ensuring that the backup copy exists, locating the backup copy, and / or transmitting the backup copy to the robot controller 110 .

[0026] In a second step 220, the robot controller 110 obtains a restore input R1. The restore input R1 may be a manual or assisted input from a user received via the user interface 113; alternatively, it may be a signal or message received from an entity external to the robot controller 110. The restore input R1 indicates a portion of the data to be restored in the backup copy. In particular, the restore input R1 may indicate at least one project whose corresponding project data is to be restored; alternatively or additionally, it may indicate software or a portion thereof independent of the project, or, if applicable, process data or system data. The user may enter the restore input R1 by selecting from a graphical timeline of the backup copy, to which the project and / or software selection is added as another dimension.

[0027] In a third step 230, the robot controller 110 performs a partial restore of the backup copy. A partial restore means that only the portion of the backup copy indicated by the restore input R1 is loaded into the memory 111. The load may include necessary updates to the file system of the memory 111; depending on the architecture of the file system, such updates may affect information in the root directory, allocation tables, etc.

[0028] According to some embodiments, in order to protect data integrity or avoid the unintentional execution of obsolete instructions, the partial restoration step 230 may include at least one data maintenance step. As an example, when the restore input R1 indicates project data related to one or more projects, the partial restoration step 230 may include deleting such existing project data related to the same (multiple) projects indicated by the restore input R1 in the memory 111. Such project data may be outdated or even faulty. As an alternative to deleting or erasing the project data, the partial restoration step 230 may include marking the corresponding memory location as free to rewrite, or actually performing such rewriting. This avoids the unintentional use of obsolete project data and can also free up storage space. In contrast, when the restore input R1 only indicates user-defined project data, any software in the memory 111 that is independent of the project can remain unchanged through the partial restoration step 230. Advantageously, this embodiment can reduce the amount of data read and written during backup restoration. In addition, the location of the memory 111 storing the software is kept intact by the backup restoration, rather than being exposed to the risk of write errors.

[0029] In some embodiments, the robot controller 110 is configured with a partial backup function. In general, a partial backup is a partial backup in which a copy of a subset of the contents of the memory 111 is generated and stored as a backup copy. More precisely, again referring to Figure 2 , the method 200 may include an optional fourth step 240 of obtaining a backup selection input R2 indicating a portion of the user-defined project data and project-independent software in the memory 111. The backup selection input R2 may be provided by a user viewing the current contents of the memory 111. This step is followed by a partial backup step 250, in which a partial backup copy B2 including only the indicated portion is created. The partial backup copy B2 may be stored in the backup memory 180.

[0030] In a variation of this embodiment, a backup selection input R2 is obtained in a condition where the memory 111 stores data relating to two or more user defined projects. The backup selection input R2 indicates a subset of projects to which the project data relates. The partial backup then comprises creating a partial backup copy comprising data relating only to the indicated subset of projects. This enables dedicated backup of a particular project, which may be appropriate when a project has been configured or improved and is to be executed for the first time. A dedicated backup is performed without the need to copy project data (which may already be protected by an earlier backup copy) or software (which may also be unmodified) relating to an existing project.

[0031] The steps of the illustrated method 200 may be implemented as instructions in a computer program, which, when executed by one or more processors (e.g., the processor 112 of the robot controller 110), causes the robot controller 110 to perform the method 200. The computer program may be distributed or stored on a computer-readable medium, such as the memory 111 of the robot controller 110, a fixed or removable memory, a networked memory, or a non-transitory computer-readable medium such as a modulated carrier wave.

[0032] Aspects of the invention have mainly been described above with reference to a few embodiments. However, as is readily appreciated by a person skilled in the art, other embodiments than the ones disclosed above are equally possible within the scope of the invention, as defined by the appended patent claims.

Claims

1. A method (200) for managing a system configuration of a robot controller (110), the robot controller (110) being configured to control the operation of a robot (190), wherein the robot controller comprises a processor (112) and a memory (111), the memory (111) being configured to store the system configuration, the system configuration comprising at least user-defined project data (P1, P2, P3) and project-independent software (S), the method comprising: obtaining (210) a backup copy (B1), the backup copy including user-defined project data and project-independent software; obtaining (220) a restore input (R1), said restore input (R1) indicating a portion of said user-defined project data and project-independent software in said backup copy; as well as performing (230) a partial restore of the backup copy, wherein only the indicated portion is loaded into the memory of the robot controller, in: The restore input indicates user defined project data; and The partial restoration includes deleting or rewriting any project data in the memory related to the same project as the indicated project data.

2. The method according to claim 1, wherein: The restore input indicates only user defined project data; and The partial restoration includes keeping any project-independent software in the memory unchanged.

3. The method according to any one of claims 1 to 2, wherein: The backup copy also includes process data, the process data including one or more of: measurement data recorded by sensors (192) associated with the robot, calibration data associated with the sensors, quality assurance data recorded during operation of the robot; and The reduction input indicates a portion of the process data.

4. The method according to any one of claims 1 to 2, wherein: The backup copy also includes system data, the system data including one or more of the following: execution logs, failure logs, hardware diagnostic data, software diagnostic data, operating system data; and The restore input indicates a portion of the system data.

5. The method according to any one of claims 1 to 2, further comprising: obtaining (240) a backup selection input (R2), said backup selection input (R2) indicating a portion of said user-defined project data and project-independent software in said memory; A partial backup (250) of the memory is performed, wherein a partial backup copy (B2) comprising only the indicated portion is created.

6. The method according to claim 5, wherein: When the memory (111) stores data relating to two or more user defined items, a backup selection input (R2) indicates a subset of the items associated with the item data; as well as The partial backup includes creating a partial backup copy including data related only to the indicated subset of the items.

7. The method according to any of claims 1-2, wherein the backup copy is obtained by retrieving from a backup storage (180), the backup storage (180) being one of: An independent backup storage device in the robot controller; Removable storage; a memory in a programming station configured to service a plurality of robotic controllers; Networked backup storage.

8. A robot controller (110) configured to control the operation of a robot (190), comprising: a memory (111) configured to store a system configuration, the system configuration comprising at least user-defined project data (P1, P2, P3) and project-independent software (S); and a processor (112) operable to execute the system configuration according to a currently selected item, The robot controller is configured to: obtaining a backup copy (B1), said backup copy including user-defined project data and project-independent software; obtaining a restore input (R1) indicating a portion of the user-defined project data and project-independent software in the backup copy; as well as performing a partial restore of the backup copy, wherein only the indicated portion is loaded into the memory of the robot controller, in: The restore input indicates user defined project data; and The partial restoration includes deleting or rewriting any project data in the memory related to the same project as the indicated project data.

9. The robot controller of claim 8, further comprising a user interface (113) configured to receive the restore input and / or the backup selection input.

10. A computer program product comprising instructions to cause the robot controller according to claim 8 to perform the method according to any one of claims 1 to 7.

11. A computer readable medium having stored thereon a computer program product according to claim 10.