Robot controller

By configuring fingerprint recognition and locking functions in the robot controller, the problem of detecting system configuration modifications in the robot controller is solved, ensuring that it complies with the original manufacturer's standards and improving quality and safety.

CN115427196BActive Publication Date: 2025-09-19ABB (SCHWEIZ) AG
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202080100101.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2020-04-27
Publication Date
2025-09-19
Estimated Expiration
2040-04-27

AI Technical Summary

Technical Problem

Existing technologies make it difficult to effectively detect whether the system configuration of a robot controller has been modified, especially during the integration of hardware and software, making it difficult to ensure quality and safety.

Method used

By configuring the fingerprint recognition function in the robot controller, the fingerprint of the current system configuration is calculated and compared with the fingerprint set by the original manufacturer to determine whether the system configuration has been changed and prevent unauthorized modifications through the lock function.

Benefits of technology

This enables reliable detection and modification control of robot controller system configurations, ensuring compliance with original manufacturer standards and improving quality and safety.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115427196B_ABST
    Figure CN115427196B_ABST
Patent Text Reader

Abstract

A robot controller (110) is configured to control the operation of at least one industrial robot (120). The robot controller includes: a processor (111); a memory (112) configured to store a current system configuration (C1) of the robot controller; and an editing interface (113) configured to enable modification of the current system configuration. The robot controller also includes: a stored fingerprint (F0) corresponding to the system configuration (C0) set according to the original manufacturer; and a fingerprint recognition interface (114) configured to facilitate calculation of a fingerprint (F1) based on the current system configuration. The stored fingerprint (F0) and the calculated fingerprint (F1) can be compared to determine whether any modification has occurred.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

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

[0002] The robot controller controls the movement and other behaviors of the robot according to the system configuration. The system configuration can include:

[0003] -Original manufacturer contributions, such as operating systems, basic settings, robot software enabling movement, sensing, self-monitoring, and other general functions and services;

[0004] - Contributions from robotics system integrators, such as task- or role-specific configurations or configuration templates;

[0005] - End-user contributions, such as local settings and project-specific data; and

[0006] - Contributions from external maintenance agents, e.g., subsequent changes to the system configuration to overcome failures, improve interoperability, fix software bugs, etc.

[0007] These integrators are responsible for integrating specialized manufactured robots and / or robot controllers (partially completed machinery) to perform automated manufacturing or processing tasks. Integration may include programming the robot controller, equipping the robot with manipulators (end effectors) and other tools, and / or connecting it to other equipment, thus turning it into a complete machine. For efficiency reasons, integration is often outsourced, for example, to an organization that is neither the robot manufacturer nor the end user.

[0008] As mentioned earlier, the integrator may be the middleman in the value chain from the original manufacturer to the end user, in which case at least two business transactions are involved. In each transaction, when the robot controller is transferred from one party to the other, quality assurance is required. To this end, the robot controller delivered to the end user may bear physical or virtual labels, markings, or documentation corresponding to various quality, safety, or compatibility-related specifications, such as the European Community (CE) marking or the Federal Communications Commission (FCC) label. The act of marking the robot controller may constitute a declaration by the original manufacturer that the robot controller (as a semi-finished machine) complies with the applicable standards, or, if the declaration is made by the integrator, that the robot controller (as a finished machine) is compliant. Marking may also be associated with successful acceptance testing, such as passing the factory acceptance test (FAT), which may follow standardized or customer-defined protocols.

[0009] As long as the basic hardware and software of the robot controller remain unchanged in all relevant respects and no unauthorized components are added, the robot controller maintains conformance to the declared standard. While changes and damage to the hardware are relatively easy to detect, current methods for detecting post-declaration modifications to the system configuration appear to be immature. Summary of the Invention

[0010] One object of the present invention is to provide a robot controller that makes it easy to determine whether the system configuration set according to the original manufacturer has been modified. Another object is to provide a method for determining whether any modifications have occurred to the system configuration of the robot controller. These and other objects are solved by the present invention according to the independent claims. Advantageous embodiments are defined by the dependent claims.

[0011] In a first aspect of the present invention, a robot controller is provided, configured to control the operation of at least one industrial robot. The robot controller includes: a processor; a memory configured to store a current system configuration C1 of the robot controller; and an editing interface configured to enable modification of the current system configuration. In one embodiment, the robot controller stores a fingerprint F0 corresponding to the system configuration C0 set according to the original manufacturer. The robot controller also includes a fingerprint recognition interface configured to facilitate calculation of a fingerprint F1 based on the current system configuration.

[0012] By calculating the fingerprint F1 of the current system configuration and comparing it with the stored fingerprint F0, it can be determined whether the system configuration has changed (F1≠F0) or not (F1=F0). Therefore, by accessing the fingerprint, an informed decision can be made as to whether to continue operating the robot controller normally, deactivate the robot controller and / or robot to some extent, reinstall the original system configuration to ensure standard compliance, etc. The fingerprint recognition function implements change control in the robot controller.

[0013] As used herein, a "fingerprint" is a mapped image of the system configuration that is highly sensitive to small changes. The image is preferably of a manageable size, e.g., no more than a few dozen or a few hundred characters, i.e., typically several orders of magnitude smaller than the system configuration. A "fingerprint" in this sense may be referred to as a checksum, digest, or hash.

[0014] Furthermore, "original manufacturer settings" refers to the state required to detect modifications. One use case is to verify that the integrator has not modified the system configuration relative to the originally manufactured robot controller's standard certification. If attention is directed to post-integration modifications, the system configuration delivered by the integrator is effectively considered "according to the original manufacturer settings," all else being equal. In other words, a system configuration according to the original manufacturer settings may include information provided by the integrator.

[0015] Generally, unless otherwise expressly defined herein, all terms used in the claims are to be interpreted according to their ordinary meaning in the technical field. Unless expressly stated otherwise, all references to "an element, device, component, member, step, etc." are to be openly interpreted as referring to at least one instance of the element, device, component, member, step, etc.

[0016] In some embodiments, the fingerprinting capability of the robot controller also allows for detection of new or changed extensions in the robot controller and the robot. Thus, even if the system configuration itself is intact, deviations from the expected fingerprint may indicate that an inappropriate extension may have been connected.

[0017] In other embodiments, the robot controller includes a log file describing any modifications to the system configuration. This can be a useful resource when a modification is detected by a simple fingerprint-based test, as it allows the location and other details of the modification to be determined without requiring a direct comparison of the two system configurations.

[0018] In yet other embodiments, the robot controller includes a lockout feature for selectively preventing modifications to specified contents of the memory. The lockout feature can only be enabled and disabled by the original manufacturer and any representatives designated by the original manufacturer (e.g., an integrator). While fingerprint recognition provides a method for detecting unwanted modifications to the system configuration, the lockout feature may reduce the chances of such an occurrence entirely.

[0019] In a second aspect of the present invention, a method for managing a system configuration of a robot controller configured to control the operation of at least one industrial robot is provided. In one embodiment, the method includes: storing a fingerprint corresponding to the system configuration set according to the original manufacturer; enabling modification of the current system configuration; calculating a fingerprint of the current system configuration; and comparing the fingerprint of the current system configuration to the stored fingerprint corresponding to the system configuration set according to the original manufacturer to determine whether any modifications have occurred. This information can be used in a similar manner and with similar benefits as described above.

[0020] In a particular embodiment, a fingerprint corresponding to a system configuration according to the original manufacturer's settings may be stored in the robot controller, in a connected device, or in an external or portable memory.

[0021] The method can be performed automatically by a robot controller or by a device temporarily connected to the robot controller. The method can also be implemented as a computer program, which can be stored or distributed on a data carrier. As used herein, a "data carrier" can be a transient data carrier, such as a modulated electromagnetic or optical wave, or a non-transient data carrier. Non-transient data carriers include volatile and non-volatile memory, such as permanent and non-permanent storage devices of the magnetic, optical, or solid-state type. Still within the scope of "data carrier," such memory can be permanently mounted or portable. BRIEF DESCRIPTION OF THE DRAWINGS

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

[0023] Figure 1 An industrial processing system including an industrial robot and a robot controller according to an embodiment of the present invention is shown;

[0024] Figure 2 describes the system configuration versions of the robot controller obtained through successive modifications; and

[0025] Figure 3 is a flowchart of a method according to an embodiment of the present invention. DETAILED DESCRIPTION

[0026] Aspects of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which certain embodiments of the invention are shown. However, the invention may be embodied in many different forms and the described embodiments should not be considered limiting; rather, these embodiments are provided by way of example so that this disclosure will be thorough and complete and will convey the scope of all aspects of the invention to those skilled in the art.

[0027] Figure 1 1 is a schematic diagram of an industrial processing system 100 , which includes an industrial robot 120 , a robot controller 110 , and various extensions 131 , 132 , 133 , 134 integrated therewith.

[0028] The robot controller 110 includes a processor 111, which can be provided as a single processor or as a processing circuit system comprising multiple connected sub-processors. The robot controller 110 also includes a memory 112, which is configured to store the current system configuration C1 and control the operation of the robot controller 110. The above examples illustrate the types of data included in the system configuration C1 and their corresponding contributions in typical cases. In addition to the system configuration C1, the memory 112 can also store more data.

[0029] The robot controller also includes an editing interface 113 through which the operator can modify the current system configuration C1. The editing interface 113 can optionally allow the operator to check or export the system configuration C1, or upload a prepared system configuration. The editing interface 113 can be configured to interact directly with the operator, for example through a graphical user interface, or to be connected to an intermediate device (not shown) constituting a human-machine interface in a wired, wireless, or network / remote manner. As an alternative or supplement to the embodiment in which the editing interface 113 modifies the current system configuration based on user input, the editing interface 113 can alternatively be configured to automatically modify the current system configuration. Such automatic modification can be based on automatic decision-making using data collected during operation of the robot controller 110, for example, through machine learning.

[0030] The robot controller 110 also includes a fingerprint recognition interface 114 that is configured to facilitate the calculation of a fingerprint F1 based on the current system configuration C1. To this end, the fingerprint recognition interface 114 has access to the stored system configuration C1, or is authorized to request a copy thereof; this is illustrated by the vertical arrow from the memory 112. According to some embodiments, the fingerprint recognition interface 114 allows a connected external processor 140 to calculate the fingerprint F1 based on the current system configuration C1. For example, the external processor 140 may form part of a portable computer or handheld device. In other embodiments, the fingerprint recognition interface is configured to calculate the fingerprint F1, for example, by evaluating a mapping of the type described above using the current system configuration C1 as input.

[0031] Regardless of whether the fingerprint F1 is calculated internally or externally, it can be compared with the stored fingerprint F0 corresponding to the system configuration C0 set according to the original manufacturer to determine whether the system configuration has been changed. As previously mentioned, the size of the fingerprint is preferably manageable, so the comparison requires much less computation than a full comparison of the system configurations C0 and C1. The situation where there is no change (F1=F0) can be considered to allow normal operation to continue. If it is found that the system configuration has been changed (F1≠F0), safety-related actions can be taken. Safety-related actions can be performed by internal and / or external entities, regardless of whether the fingerprint F1 is calculated internally or externally. Safety-related actions may affect the robot controller 110 and / or the robot 120, and may imply one or more of the following: a complete emergency stop, enabling restriction mode, enabling recording or monitoring mode, sending a safety alert, etc.

[0032] In various embodiments, the industrial robot 120 and the robot controller 110 may have one or more hardware and software extensions. Figure 11, manipulators 131, sensors 132, and communication interfaces 133 associated with the robot 120, as well as external software (plug-ins) 134 in the memory 112 of the robot controller 110, are illustrated. The external software 134 that may be included in the system configuration C1 may consist of executable software code and / or settings that are applied during execution. For example, a hardware extension may be accompanied by a software driver, such as a PLC program, that provides an interface for controlling the hardware extension. Hardware extensions may also include firmware. Some or all of these extensions do not form part of the original manufacturing equipment, but are subsequently added by an integrator, end user, maintenance agent, or another party. The extensions 131, 132, 133, 134 may in particular be separate from the robot 120 or the robot controller 110.

[0033] Because using inappropriate extensions can compromise the functionality, security, or interoperability of the robot controller 110, according to some embodiments, fingerprinting covers (or reflects) not only the current system configuration C1, but also the current set of extensions 131, 132, 133, and 134. Specifically, the fingerprint F1 to be calculated may depend on one or more of the following: the presence of an extension; the identity or device type of the extension; the current settings of the extension; the state of the extension (e.g., enabled, disabled, or faulty); the version of the extension (particularly for software extensions); and the total number of extensions. The choice of which of these options to use can be based on factors such as the sensitivity of the robot controller, aspects of the robot 120 and robot controller 110 related to previous safety certifications, and so on.

[0034] The robot controller 110 optionally includes protected memory 115. Protected memory 115 can be protected from unauthorized access through encryption and similar measures. Protected memory 115 is used to store at least a log file L describing any modifications to the system configuration. In some embodiments, access to protected memory 115 is limited to the original manufacturer and any designated representatives, such as integrators and / or components (not shown), who are responsible for incrementally extending log file L whenever new modifications are made. In other embodiments, write access is limited to the original manufacturer and its representatives, while read access is granted more liberally; for example, the end user of the robot controller 110 may be allowed to inspect log file L but not modify it. Thus, log file L provides reliable documentation of modifications made, which can be discovered by comparing fingerprints F0 and F1 in the manner described above. More specifically, log file L can be analyzed to efficiently locate modifications known to exist through fingerprint identification. This avoids the time-consuming option of directly comparing two or more system configurations.

[0035] The concept of "system configuration modification" can be understood to refer to modifications to the system configuration applied to previous versions. Equivalently, these "modifications" refer to those modifications that result in the current system configuration by being applied to the corresponding earlier versions. "Modifications" in the sense of the present invention are such as Figure 2 As shown, Figure 2 The original system configuration C0, which corresponds to the original manufacturer settings, the first modified system configuration C1, the second later modified system configuration C2, and the current system configuration C3 are shown. Under the same fingerprint identification mapping (represented by the horizontal broken line arrows), the four system configurations correspond to fingerprints F0, F1, F2, and F3. The curved arrows illustrate modifications associated with consecutive modifications. For example, by applying the modification m01 to the original system configuration C0, the first modified system configuration C1 can be obtained. Similarly, by applying the modification m12 to the first modified system configuration C1, the second modified system configuration C2 can be obtained. The third modification in the sequence is recorded as m23. The log file can be arranged in the order of the modifications, L = (m01, m12, m23). The modifications can be said to be associated, that is, the second modified system configuration C2 can be obtained by applying the modification m01 to the original system modification C0 and then modifying m12.

[0036] In general, log file L cannot replace fingerprinting because sequential modifications made during normal operation and maintenance may cancel each other out. Similarly, if, for implementation reasons, the log records cover all write calls to memory 112, including those that actually affect the system configuration, then log file L may contain redundant entries. Therefore, the growth of log file L does not unequivocally mean that the system configuration has been modified.

[0037] Back to Figure 1 , the robot controller 110 may include an optional lockout function 116 that only the original manufacturer and its representatives (see example above) have the authority to enable and disable. When the lockout function 116 is enabled, it prevents modification of specified contents in the memory 112. The contents may be defined in terms of information type (e.g., code that acts as an operating system, programs that form a basic software library) or memory location (e.g., the nth sector or segment of the memory 112). To illustrate this, it has been indicated that Figure 1 Section P of system configuration C1 in FIG. Section P may correspond to safety-, quality-, and / or interoperability-related components of system configuration C1. Such components may include components that formed the basis for prior standard certifications. However, to allow integrators and / or end users maximum freedom in configuring the robot controller 110, Section P may exclude system configuration components not relevant to certification.

[0038] The locking function 116 can be implemented by hardware or software or a combination thereof so that specified content cannot be modified; this may include changing access permissions in a pre-existing access management component of the operating system, operating a switch, disabling a critical root directory or allocation table of the memory 112, etc.

[0039] In one embodiment, the lock function 116 is configured to detect unused content in the memory 112. For example, the lock function 116 can look for services (e.g., APIs) or functions of the originally manufactured robot controller 110 that have not been used by the integrator's software, settings, or extensions. The lock function 116 can then ask the integrator whether they wish to keep these services or functions enabled, or whether they can be blocked by enabling the lock function 116. Thus, this embodiment provides a configuration assistance that supports the integrator's configuration of the lock function 116 because it suggests a suggested range of specified content to be blocked from modification. In a similar manner, the configuration assistance device may be serviced by another party that is authorized to enable the lock function 116.

[0040] Figure 3 is a flow chart of a method 300 for managing a system configuration of a robot controller configured to control the operation of an industrial robot, such as Figure 1 The method 300 may be performed by circuitry within the robotic controller 110 or by an external device that is at least temporarily in communication with the robotic controller 110. Alternatively, while still within the scope of the present invention, the method 300 may be performed jointly by the robotic controller 110 and the external device.

[0041] In a first step 310 , a fingerprint F0 corresponding to a system configuration C0 according to the original manufacturer's settings is stored in an external memory (not shown) accessible to the robot controller 110 or an entity performing the method 300 .

[0042] If the method 300 is performed by the robot controller 110 , then in an optional second step 312 , the robot controller 110 executes the current system configuration C1 , for example, by operating as specified in the current system configuration C1 .

[0043] In a third step 314, which may overlap in time with at least the first step 310 and the second step 312, the system configuration may be modified. More specifically, the robot controller 110 accepts modifications based on user input, uploaded alternative configuration files, automatically determined modifications, etc. It is precisely such modifications that may cause the modified system configuration to deviate from the original manufacturer's settings that meet specifications, such that the robot controller 110 no longer meets specifications.

[0044] In a fourth step 316 , a fingerprint F1 of the current system configuration C1 is calculated.

[0045] In a fifth step 318, the calculated fingerprint F1 of the current system configuration C1 is compared with the stored fingerprint F0 corresponding to the system configuration C0 according to the original manufacturer settings. The comparison result allows conclusions to be drawn as to whether any modifications have occurred.

[0046] Various 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 robot controller (110) configured to control the operation of at least one industrial robot (120), wherein the robot controller comprises: Processor (111); a memory (112) configured to store a current system configuration C1 of the robot controller; an editing interface (113), configured to enable modification of the current system configuration, a stored fingerprint F0 corresponding to said system configuration C0 according to the original manufacturer's settings; a fingerprint recognition interface (114) configured to facilitate calculation of a fingerprint F1 based on the current system configuration; as well as It is characterized in that If the fingerprint F1 is the same as the stored fingerprint F0, the process is allowed to continue. If the fingerprint F1 is different from the stored fingerprint F0, security-related actions are taken.

2. The robot controller according to claim 1, wherein the fingerprint to be calculated is further based on an extension (131, 132, 133, 134) currently associated with the robot controller or the industrial robot, wherein the extension is a hardware device and / or software code.

3. The robot controller according to claim 2, wherein the fingerprint to be calculated depends on at least one of the following: the existence of the extension; the identification of the extension; the setting of the extension; the status of the extension; the version of the extension; the total number of extensions.

4. The robot controller according to any one of the preceding claims, further comprising: protected memory (115) accessible only by the original manufacturer and any designated representatives; as well as A log file L, stored in the protected memory, describes any modifications to the system configuration.

5. The robot controller according to any one of claims 1 to 3, further comprising: A lockout feature (116) that can only be enabled and disabled by the original manufacturer and any designated representatives. Wherein, when the locking function (116) is enabled, modification of the specified content in the memory is prevented.

6. The robotic controller of claim 5, wherein the lock function when enabled prevents modification of a specified portion P of the system configuration. 7 . The robot controller according to claim 5 , wherein the locking function is configured to detect unused content in the memory and use the unused content as designated content to be prevented from being modified.

8. The robotic controller of claim 4, wherein the designated representative comprises an integrator. 9 . The robot controller according to claim 1 , wherein the system configuration C0 set according to an original manufacturer includes information provided by an integrator.

10. The robot controller according to any one of claims 1 to 3, wherein the fingerprint recognition interface allows a connected external processor (140) to calculate the fingerprint F1.

11. The robot controller according to any one of claims 1 to 3, wherein the fingerprint recognition interface is configured to calculate the fingerprint F1.

12. The robotic controller according to any one of claims 1 to 3, wherein the editing interface is configured to automatically modify the current system configuration based on data collected during operation of the robotic controller.

13. The robot controller according to any one of claims 1 to 3, wherein the editing interface is configured to modify the current system configuration according to user input.

14. An industrial processing system (100) comprising the robot controller (110) according to any one of the preceding claims and the at least one industrial robot (120).

15. A method (300) of managing a system configuration of a robot controller configured to control operation of at least one industrial robot, the method comprising: storing (310) a fingerprint corresponding to the system configuration set according to the original manufacturer; enabling (314) modification of said current system configuration; Calculating (316) a fingerprint of the current system configuration; as well as comparing (318) the fingerprint of the current system configuration with a stored fingerprint corresponding to the system configuration as set by the original manufacturer to determine whether any modifications have occurred; It is characterized in that allowing continued operation if the fingerprint of the current system configuration is identical to a stored fingerprint corresponding to the system configuration set according to the original manufacturer; If the fingerprint of the current system configuration is different from a stored fingerprint corresponding to the system configuration according to an original manufacturer setup, a security-related action is taken.

Citation Information

Patent Citations

  • Method and System for Detecting Device Configuration Changes

    US20080109568A1

  • Techniques to control system updates and configuration changes via the cloud

    US20180026835A1

  • Golden data for industrial robots

    US20200078937A1