Method And Apparatus For Planning And/Or Control Of A Robot Application

20180043534 ยท 2018-02-15

    Inventors

    Cpc classification

    International classification

    Abstract

    A method for planning and/or controlling a robot application on the basis of system and/or process parameters includes storing parameter values and managing the parameter values using a graph structure that includes one or more nodes and injective, surjective, or bijective relations between the nodes. Managing the parameter values in the graph structure includes managing the values in clusters whereby two or more parameters are combined into a node.

    Claims

    1. A method for planning or controlling a robot application based on system or process parameters, the method comprising: storing values of the parameters in a memory; managing the parameter values with a controller during at least one of planning or control of the robot application using a graph structure that comprises one or more nodes and injective, surjective, or bijective relations between the nodes; wherein each node is assigned one or more of the parameters; and wherein managing the parameter values in the graph structure comprises managing the values in clusters whereby two or more parameters are combined into a node.

    2. The method of claim 1, wherein managing the parameter values in the graph structure comprises managing the values centrally.

    3. The method of claim 1, further comprising: adjusting at least one of the parameter values or the graph structure individually to the application or application components.

    4. The method of claim 1, wherein using the graph structure to manage the parameter values comprises selecting relevant parameters from the parameters stored in the graph structure for at least one of planning or controlling the application.

    5. The method of claim 1, wherein the parameter values are preset to nominal values.

    6. The method of claim 1, wherein the parameter values are selectively changeable by a user.

    7. The method of claim 1, further comprising: saving a parameter value in a memory before changing the parameter value.

    8. The method of claim 1, further comprising: automatically adjusting parameter values associated with a component when the component is exchanged, modified, added, or removed from the robot application.

    9. An apparatus for automated planning or control of a robot application based on system or process parameters, the apparatus comprising: a control for implementing the robot application; the control having a memory for storing parameter values; and the control using a graph structure to manage the parameter values during at least one of planning or control of the robot application, the graph structure comprising one or more nodes and injective, surjective, or bijective relations between the nodes; wherein each node is assigned one or more of the parameters; and wherein managing the parameter values in the graph structure comprises managing the values in clusters whereby two or more parameters are combined into a node.

    10. The apparatus of claim 9, wherein: the parameter values are selectively changeable by a user; and selected users can change some of the parameter values within predefined limits, while other users are excluded from changing the parameter values.

    11. A computer program product for planning or controlling a robot application based on system or process parameters, the computer program product comprising: a non-transitory machine-readable medium; and program code stored on the machine-readable medium and configured to run in a device to store values of the parameters in a memory and manage the parameter values using a graph structure during at least one of planning or control of the robot application; wherein the graph structure comprises one or more nodes and injective, surjective, or bijective relations between the nodes; wherein each node is assigned one or more of the parameters; and wherein managing the parameter values in the graph structure comprises managing the values in clusters whereby two or more parameters are combined into a node.

    12. The computer program product of claim 11, wherein: the parameter values are selectively changeable by a user; and selected users can change some of the parameter values within predefined limits, while other users are excluded from changing the parameter values.

    Description

    [0022] Additional advantages and features result from the subordinate claims and the exemplary embodiments. To this end the drawing shows the following, partially in schematic form:

    [0023] FIG. 1: a robot having a controller according to one version of the present invention, and

    [0024] FIG. 2: a graph structure according to one embodiment of the present invention in the controller of FIG. 1.

    [0025] FIG. 1 shows a six-axis articulated-arm robot 1 having a robot controller 2 connected to it, according to one embodiment of the present invention. The drives A1 through A6 of robot 1 and A7 of a gripper W are indicated by solid rectangles, the movement possibilities of the robot by arrows.

    [0026] Robot 1 has a base B, a carousel K, a motion link S, an arm Ar and a central hand ZH.

    [0027] In controller 2 a dynamic model is implemented, which illustrates for example rigid-body and/or elastic movements of the robot and drive moments acting on it successively, and thus makes model-based control or path optimization possible. This model includes system parameters, in particular current-torque or voltage-torque conversion factors M1, . . . M7 and transmission friction coefficients and transmission ratios G1, . . . G7 of the seven drives A1, . . . A7, geometric inertia and rigidity values of the base, the carousel, the motion link, the hand including the arm Ar and central hand ZH, and of the tool B1, K1, S1, H1 or W1, control parameter R1 of the robot controller and parameter S1 of a force sensor (not shown), for example calibration coefficients, as well as process parameters, for example an environment rigidity U1 for modeling a contact between tool W and a workpiece.

    [0028] These parameters are managed in controller 2 by means of the graph structure sketched in FIG. 2. The latter is matched to the kinematics of the robot application and accordingly has a tree structure, in that for example the motor parameters M1, . . . M7 are linked to the parameters G1, . . . G7 of the transmissions connected to the corresponding motors and those in turn are linked to the parameters B1, K1, S1 or H1 of the corresponding robot component B, K, S, Ar+ZH or W. Thus for example the parameters G2 of the transmission of drive A2, and through them also the parameters M2 of the associated motor, are linked to the parameters K1 of the carousel, on which drive A2 is situated.

    [0029] As an example, the motor and transmission parameters M1, G1 of drive A1 are clustered into a subsystem A, as indicated by the dashed line in FIG. 2, since for example only the frictional resistance of the entire drive A1 can be measured. Subsystem A is managed accordingly as a node of the graph structure, and thus represents the physical interface. If only the motor of drive A1 is exchanged, for example, the parameters of the entire subsystem A must be newly identified accordingly.

    [0030] All parameters M1, . . . U1 have nominal values preassigned by the manufacturer. To this end, the robot may for example be calibrated in advance, or parameters may be identified. Individual values for the concrete robot are thereby assigned to all parameters.

    [0031] Various groups of users can change some of these parameters within predefined limits. For example, start-up personnel can set the proportional, integral and differential amplifications P, I and D of a PID controller; these must be greater than 0. This is indicated by the dashed-dotted arrow in FIG. 2. As indicated by the dashed-dotted arrow in FIG. 2, ordinary operators can for example set a stiffness value c, which describes the contact rigidity of the environment and is taken into account for example in force-regulated joining of the robot.

    [0032] In both cases, before the new values P, I, D and c specified by the user are stored in the parameters R1 and U1, the previous values are backed up, for example in a copy of the value-confirmed graph structure, in order to make change tracking and restoration possible.

    [0033] The relevant parameters for the particular application are selected from the parameters managed in the graph structure, and an observer model for example for estimating non-observable condition values, such as the elastic deformations of the robot components, is constructed successively from these, corresponding to the graph structure illustrating the kinematics. For example, for modeling quick robot movements, parameters in M1, . . . M7, which describe a moment ripple or cogging, are ignored, for example by setting them to zero.

    [0034] Control parameters R1 are normally optimized for the case that the robot is working essentially with its nominal load. If the robot is to be operated with smaller loads, these can be specified for example as environmental parameters U1. Then on the one hand the control parameters R9 can be optimized for this in the process or path plan. On the other hand, during operation, controller 2 can access these changed parameters, which are managed centrally in the graph structure of FIG. 2, and thus control the application optimally.

    [0035] The central management can be implemented in particular in a computing device, for example a process server or control PC, in order to reduce access times and data transfer. Likewise, it can also be implemented in a distributed configuration, for example by storing the structure in one computing device, while storing parameter values themselves which are managed by the latter in one or more other computing devices.

    REFERENCE LABELS

    [0036] 1 robot [0037] 2 controller [0038] A, A1, . . . A7 drive (parameters) [0039] M1, . . . M7 motor parameters [0040] G1, G7 transmission parameters [0041] B(1) base (parameters) [0042] K(1) carousel (parameters) [0043] S(1) motion link (parameters) [0044] H(1) hand (parameters) [0045] W(1) tool (parameters) [0046] U1 environmental parameters [0047] R1 control parameters [0048] F1 force sensor parameters