Controlling a robot based on several data processing operations which are at least partially based on machine learning

The described system improves robot control by using machine learning to determine and prioritize target movements for complex robotic systems, enhancing efficiency and reliability in executing precise movements.

WO2025087580A1PCT designated stage expired Publication Date: 2025-05-01KUKA DEUT GMBH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2024/073315
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-10-25
Filing Date
2024-08-20
Publication Date
2025-05-01

AI Technical Summary

Technical Problem

Existing robot control systems lack efficiency and reliability in specifying and executing precise target movements, especially for complex robotic systems with multiple axes of movement.

Method used

A procedure and system for controlling robots that utilize machine learning-based data processing to determine target movements for multiple robot-resistant references, prioritizing certain movements over others to enhance efficiency and reliability.

Benefits of technology

Enables robots to execute desired target movements quickly, precisely, and reliably, even by inexperienced users, by leveraging machine learning to prioritize and combine movements from multiple references.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024073315_01052025_PF_FP_ABST
    Figure EP2024073315_01052025_PF_FP_ABST
Patent Text Reader

Abstract

The invention relates to a method for controlling robot, having the steps of: providing (S10) a first data processing operation, which is at least partially based on machine learning, for determining a target movement of a first reference fixed on the robot; providing (S10) a second data processing operation, which is at least partially based on machine learning, for determining a target movement of a second reference fixed on the robot; determining (S20) a target axis movement of the robot based on a target movement of the first reference determined by means of the first data processing operation and a target movement of the second reference determined by means of the second data processing operation, wherein during said determining of the target axis movement, the determined target movement of the first reference is prioritised over the determined target movement of the second reference; and controlling (S30) the robot based on the determined target axis movement. The invention also relates to a system and to a computer program (product).
Need to check novelty before this filing date? Find Prior Art

Description

[0001] 2023P00013 WO 1 / 23 KUKA Deutschland GmbH Description Controlling a robot The present invention relates to a method and a system for controlling a robot as well as a computer program or computer program product for carrying out the method. The object of the present invention is to improve the control of a robot. This object is achieved by a method having the features of claim 1. Claims 9, 10 protect a system or computer program or computer program product for carrying out a method described here. The subclaims relate to advantageous developments. According to one embodiment of the present invention, a robot has at least one robot arm and / or two or more robot legs and / or a movable base; in particular, it can consist of these and / or be a mobile and / or humanoid robot.In one embodiment, the robot, in a further development its robot arm and / or its movable base, in particular each or together, has at least three, preferably at least six, in a further development at least seven, axes of movement or degrees of freedom of movement or joints, which are referred to here as axes of the robot. In one embodiment, one or more of these axes are rotational axes of movement or degrees of freedom or rotary joints and / or one or more of these axes are translational axes of movement or degrees of freedom or linear joints. The movable base can in particular be guided by a link, in particular one or more rails, and can thus be moved along one or more axes, which then represent corresponding (translational movement) axes of the robot or its base. Likewise, the base can be freely orbe freely movable, in which case horizontal movements and a rotation about a vertical yaw axis 2023P00013 WO 2 / 23 KUKA Deutschland GmbH represent corresponding (movement) axes of the robot or its base. In one embodiment, one or more of the axes of the robot are moved or adjusted by drives, preferably electric motor drives, of the robot. A movement of the robot in one or more of its axes or an adjustment of one or more of the axes of the robot or a movement of the robot by or as a result of an adjustment (in) one or more of its axes is referred to here as the axis movement of the robot and is usually denoted by dq / dt (q ^ ^. fwith the number f of axes of the robot). Accordingly, an axis movement of the robot in the sense of the present invention is in particular a change in its axis or joint coordinates. According to one embodiment of the present invention, a method for controlling the robot comprises the steps of: - Providing a first data processing based at least partially on machine learning for determining a desired movement of a first robot-fixed reference, in one embodiment dx1 / dt (with x1 ^ ^ n1 ; n1 ^ {1, 2, …,6}); - Providing a second data processing based at least partially on machine learning for determining a desired movement of a second robot-fixed reference, in one embodiment dx2 / dt (with x2 ^ ^ n2; n2 ^ {1, 2, …, 6}); - determining a target axis movement of the robot based on a target movement of the first reference determined by means of the first data processing and a target movement of the second reference determined by means of the second data processing, in one embodiment dqs / dt = dqs / dt(dx1 / dt, dx2 / dt); wherein during this determination of the target axis movement, the determined target movement of the first reference is given (higher) priority over the determined target movement of the second reference; and - controlling the robot on the basis of the target axis movement (determined in this way). 2023P00013 WO 3 / 23 KUKA Deutschland GmbH By determining target movements of robot-fixed references by means of data processing based at least partially on machine learning, desired target movements can be specified very easily, quickly, precisely and / or reliably, in particular even by less experienced users. By dividing into orBy specifying individual target movements of at least two robot-fixed references in combination with a (higher) prioritization of one of these target movements compared to the other target movements, redundancies can be advantageously used or resolved and / or machine learning can be used particularly advantageously, in particular the target axis movement can be determined particularly efficiently and / or reliably. In one embodiment, the method comprises the step or two or more of the following: - Providing (in each case) a further data processing based at least partially on machine learning for determining a target movement (in each case) of a further robot-fixed reference, in one embodiment dxi / dt (with xi ^ ^. ni; ni ^ {1, 2, …, 6}); wherein the target axis movement is also determined based on a target movement(s) of these further reference(s) determined by means of this further data processing(s), in one embodiment dqs / dt = dqs / dt(dx1 / dt, dx2 / dt, dx3 / dt (, …)); wherein in this determination of the target axis movement, the determined target movements of the first and second reference are given (higher) priority over this determined target movement of this at least one further reference, in one embodiment, with determined target movements of two or more further references, the target movements of the first and second reference are given (higher) priority over these determined target movements of these further references and additionally for a predetermined, in a further development fixed or varying, sequence or ranking of the further references, the determined target movement of the respective highest ranking or front or bottom in the sequencetop additional reference is given (higher) priority than the determined target movement of the remaining additional references. 2023P00013 WO 4 / 23 KUKA Deutschland GmbH By dividing up or specifying individual target movements of more than two robot-fixed references in combination with a corresponding, in particular hierarchical or weighted, prioritization of these target movements, redundancies can be used or resolved particularly advantageously and / or machine learning can be used particularly advantageously, in particular the target axis movement can be determined particularly efficiently and / or reliably. In a preferred embodiment, the first robot-fixed reference is a robot end flange-fixed reference, preferably a tool center point (TCP) of the robot. This allows desired TCP movements to be carried out particularly advantageously with the robot.The second robot-fixed reference can, for example, be an elbow-fixed reference of a robot arm, a base-fixed reference of a movable base of the robot, or the like. A determined target movement of one or more of the references, preferably the first and / or the second and / or the one or more of the further reference(s), describes or specifies, in one embodiment, a one-, two-, or three-dimensional translational movement or, in particular, a temporal change in a one-, two-, or three-dimensional position and / or a one-, two-, or three-dimensional rotational movement or, in particular, a temporal change in a one-, two-, or three-dimensional orientation of the (respective) reference, preferably in the Cartesian or visual or work space of the robot. This allows redundancies to be used or implemented in a particularly advantageous manner.resolved and / or machine learning is used particularly advantageously, in particular the target axis movement can be determined particularly efficiently and / or reliably. If a target movement of a reference k is determined in the usual way with dx. k / dt, then according to an embodiment of the present invention, a target axis movement dqs / dt of the robot is determined based on the target movements of the references dx determined by means of the data processing. k / dt, k = 1, 2(, 3, …) determined (dq s / dt = dqs / dt(dx1 / dt, dx2 / dt(, dx3 / dt(, …))), whereby these target movements of the references are each determined by means of one of the data processing operations and are prioritized (higher) in a predetermined sequence or ranking compared to the respective lower-ranking or subsequent reference(s). 2023P00013 WO 5 / 23 KUKA Deutschland GmbH In one embodiment, a determined target movement of a reference, compared to which the determined target movement(s) of the other reference(s) are (higher) prioritized, describes or specifies a, in particular temporal,Change of the axis or joint coordinates of the robot (an) (dqlast / dt). This allows, in particular, desired target configurations to be approached as far as possible. In a further development, the corresponding data processing then determines this target movement based on the current axis or joint coordinates and / or a current value of at least one path parameter and / or a current value of at least one environmental parameter and / or a current value of at least one process parameter. For a more compact representation of this embodiment, in which a most subordinate target movement is also defined directly in the axis or joint coordinate space or determined by the corresponding data processing, the robot as a whole or the entirety of its axes is thus also generally referred to as a robot-fixed reference within the meaning of the present invention, wherein preferably one or more of the robot-fixed references mentioned here,In one embodiment, at least the first and, in a further development, also the second robot-fixed reference and / or the or one or more of the further robot-fixed reference(s), (each) comprises a reference that is stationary with respect to a specific member of the robot, in particular a (reference) point, a coordinate system or the like. In one embodiment, at least one of the data processing units determines the target movement of the corresponding reference, in particular the first data processing unit determines the target movement of the first reference and / or the second data processing unit determines the target movement of the second reference and / or the (respective) further data processing unit determines the target movement of the (respective) further reference, (each) - based on a current pose of this reference,in particular, the first data processing determines the target movement of the first reference on the basis of a current pose of the first reference and / or the second data processing determines the target movement of the second reference on the basis of a current pose of the second reference and / or the (respective) further data processing determines the target movement of the (respective) further reference on the basis of a current pose of the (respective) further reference; and / or - on the basis of a current value of at least one path parameter; and / or - on the basis of a current value of at least one environmental parameter; and / or - on the basis of a current value of at least one process parameter, wherein in a further development, this or at least one of these path parameters (respectively) comprises a process time, in particular a (current) time stamp, and / or distance traveled and / or this or at least one of these environmental parameters (respectively) is determined by a,in particular one-, two-, or multi-dimensional and / or variable, pose of one or more obstacles, in particular relative to the robot, depends on, can in particular indicate this pose, and / or this or at least one of these process parameters (in each case) depends on a state of a process carried out with the aid of the robot, can in particular indicate this state. In one embodiment, the value of the or at least one of the environmental parameters and / or the value of the or at least one of the process parameters is recorded by sensors, preferably using at least one camera and / or at least one ultrasonic sensor and / or at least one radar sensor and / or at least one lidar sensor and / or at least one force and / or torque sensor or the like. A pose within the meaning of the present invention comprises, in one embodiment, a one-, two-, or three-dimensional position and / or a one-, two-, or three-dimensional orientation,preferably in the Cartesian or visual or workspace of the robot. If ^ denotes a (current value of a) path parameter(s), in particular a process time and / or traveled distance, and y denotes a (current value of an) environmental parameter(s) and / or process parameter(s), in particular a pose of one or more obstacles, then in one embodiment, by means of the data processing i based at least partially on machine learning, the target movement of the respective reference i is determined accordingly according to dxi / dt = fi(xi, ^, y) or dxi / dt = fi(xi, ^) or dx, i / dt = f i (x i , y) or dx i / dt = f i (x i ) or dx i / dt = f i ( ^, y) or dx i / dt = f i( ^) or dxi / dt = fi(y). Of course, the target movement of one or more of the 2023P00013 WO 7 / 23 KUKA Deutschland GmbH references can also depend on further parameters. In this case, two or more of the data processing operations can each determine everything based on the (current value of the) same path parameter and / or the (current value of the) same environmental or process parameter and / or different data processing operations can use different types of input parameters. Thus, purely as an example, it can be advantageous to take the pose of an obstacle into account when determining the target movement(s) of the second and possibly further reference(s), but not when determining the target movement of the first reference, so that avoiding this obstacle is only realized by the target movement of the corresponding reference(s), while determining the target movement of the first reference can be carried out more quickly and / or easily.In one embodiment, the method comprises determining a current pose of the respective reference and / or a current value of the (respective) path parameter and / or a current value of the (respective) environmental or process parameter, in particular by means of one or more robot-side sensors and / or one or more sensors spaced from the robot or on the environment side. In one embodiment, one or more of the (higher) prioritized determined target movements of robot-fixed references are prioritized over one or more other of the determined target movements of robot-fixed references (each) by means of a projection of the (respective) other target movement(s) into a null space of the (respective) one (higher) prioritized target movement, in one embodiment in the form dqs / dt = J1. # ^dx1 / dt + (1 - J1 # ^J1) ^J2 # ^dx2 / dt or dqs / dt = J1 # ^dx1 / dt + (1 - J1 # ^J1) ^J2 #^[dx2 / dt + (1 - J2 # ^J2) ^J3 # ^dx3 / dt] etc. with the respective pseudoinverse Ji # the respective Jacobian matrix Ji = ^(dxi / dt) / ^(dq / dt) and the respective null space operator Ni = (1 - Ji # ^Ji). If the lowest-ranking target movement is a target movement in the axis or joint coordinate space, the corresponding Jacobian matrix or pseudoinverse can be the identity matrix. In one embodiment, the prioritization, or one or more prioritizations, are performed via weighting, for example, in the form: dqs / dt = w1 ^J1 # ^dx1 / dt + w2 ^J2 # ^dx2 / dt (+ w3 ^J3 #^dx3 / dt (+...)) The prioritization weights w1, w2, ... can be constant or can also be varied over time. If the most subordinate target movement is a target movement in the axis or joint coordinate space, the corresponding Jacobian matrix or pseudoinverse can be the identity matrix (...+ wast ^dqlast / dt). In one embodiment, one or more of the (higher) prioritized determined target movements of robot-fixed references are prioritized over one or more other of the determined target movements of robot-fixed references (each) by means of a cascade of quadratic programs, in a further development taking into account movement restrictions, in particular hardware limits and / or virtual limits, in particular for safety spaces or the like. In one embodiment, one or more of the (higher) prioritized determined target movements of robot-fixed references are prioritized over one or more other of the determinedTarget movements of robot-fixed references (each) are prioritized using a saturation-in-the-nullspace algorithm (“SNS algorithm”), in a further development taking into account movement restrictions, in particular hardware limits and / or virtual limits, in particular for safety spaces or the like. Through the aforementioned prioritizations, the target axis movement can be determined in a particularly advantageous manner, in particular simply, quickly and / or robustly, without the present invention being limited thereto. 2023P00013 WO 9 / 23 KUKA Deutschland GmbH In one embodiment, the provision of the data processing based at least partially on machine learning comprises training the data processing, in a further development a demonstration of training movements of the robot by a human user and machine learning based on these training movements of the robot, in particular machine learning of a determinationa target movement of the respective reference and / or training the respective data processing based on these training movements of the robot. In one further development, the demonstration of training movements of the robot by a human user comprises the exertion of forces on the compliantly controlled robot by the user ("hand guiding") and / or the movement of a tracked demonstrator by the user and / or the remote control of the robot by the user. Additionally or alternatively, in one further development, the demonstration is carried out using a virtual reality application or augmented reality application. This allows training movements of the robot to be specified very easily, quickly, precisely and / or reliably, especially even by inexperienced users. In one embodiment, when demonstrating training movements of the robot, current values ​​of one or more input parameters of the (respective)Data processing(s), for example, current poses of one or more of the references and / or current values ​​of at least one path parameter and / or current values ​​of at least one environmental parameter and / or current values ​​of at least one process parameter; and - current movements of the (respective) robot-fixed reference(s) are determined, and the (respective) target movement(s) of the (respective) robot-fixed reference(s) are determined by machine learning using the (respective) data processing(s) in such a way that these input parameters are mapped as well as possible to these movements of the (respective) robot-fixed reference(s). When demonstrating training movements, in one embodiment, data is first acquired in the axis or joint coordinate space and projected into the workspace or one or more task spaces using forward kinematics. In one embodiment, an algorithm automatically or a user decides,preferably by means of input, how many and / or which target movements or robot-fixed references or task spaces with which prioritization are relevant or are used. Additionally or alternatively, in one embodiment, the provision of the data processing based at least partially on machine learning comprises in particular training the data processing, specifying training movements of the robot by an automatic movement planner, in a further development path planner, and machine learning based on these training movements of the robot. In this way, particularly advantageous training movements of the robot can be specified. In one embodiment, for these specified training movements of the robot - values ​​of one or more input parameters of the (respective) data processing(s), for example poses of one or more of the references and / or values ​​of at least one path parameter and / or values ​​of at least oneenvironmental parameter and / or values ​​of at least one process parameter; and - movements of the (respective) robot-fixed reference(s) are determined and a determination of the (respective) target movement(s) of the (respective) robot-fixed reference(s) is machine-learned by means of the (respective) data processing(s) in such a way that these input parameters are mapped as well as possible to these movements of the (respective) robot-fixed reference(s). 2023P00013 WO 11 / 23 KUKA Deutschland GmbH Thus, in one embodiment, one or more of the mappings or models dxi / dt = fi(xi, ^, y) or dxi / dt = fi(xi, ^) or dxi / dt = fi(xi, y) or dxi / dt = fi(xi) or dxi / dt = fi( ^, y) or dxi / dt = fi( ^) or dxi / dt = fi(y) are machine-learned by demonstrating training movements of the robot by a human user and / or specifying training movements of the robot by an automatic motion planner. In one embodiment, the robot isData processing operations are redundant, or different axis movements of the robot can cause the same target movement of the first reference. Additionally or alternatively, in one embodiment, the robot is redundant with respect to the target movement of the second reference determined by means of the second data processing operations, or different axis movements of the robot can cause the same target movement of the second reference. Additionally or alternatively, in one embodiment, the robot is (respectively) redundant with respect to the target movement of the (respective) further reference determined by means of the or one of the further data processing operations, or different axis movements of the robot can cause the same target movement of the (respective) further reference. Such redundancies can be used or resolved particularly advantageously by the inventive prioritization when determining the target axis movement. In one embodiment, one orseveral of the prioritizations mentioned here are specified by a user or automatically by an algorithm and / or varied over time, in particular time-dependent priorities are set by the user or automatically by an algorithm. Accordingly, in one embodiment, the method comprises the step of - varying the or one or more of the prioritizations (over time or during control of the robot); and / or - specifying the or one or more of the prioritizations, in a further development of the time-dependent priorities; 2023P00013 WO 12 / 23 KUKA Deutschland GmbH. This advantageously allows for a reaction to changing boundary conditions. In one embodiment, the machine learning of one or more of the data processing operations is limited such that the resulting, preferably non-linear, dynamic system in the task space dxu / dt = f(X) has a, preferably global or local, attractor X*.in particular such that, starting from any state X (with global stability or attractor) or starting from a state in the local vicinity of X* (with local stability or attractor), the learned system is always guaranteed to converge to the attractor state X*. Such restrictions for learning a stable dynamic system dxu / dt = f(X) can be based in particular on the Lyapunov stability theory. According to one embodiment of the present invention, a system for controlling a robot, in particular hardware and / or software, in particular program-related, is configured to carry out a method described here and / or comprises: - means for providing a first data processing, at least partially based on machine learning, for determining a desired movement of a first robot-fixed reference, wherein in a further development the means can comprise, in particular be, the first data processing; - means for providinga second data processing unit based at least partially on machine learning for determining a target movement of a second robot-fixed reference, wherein the means in a further development can comprise, in particular be, the second data processing unit; - means for determining a target axis movement of the robot based on a target movement of the first reference determined by means of the first data processing unit and a target movement of the second reference determined by means of the second data processing unit; wherein, in this determination of the target axis movement, the determined target movement of the first reference is prioritized over the determined target movement of the second reference; and 2023P00013 WO 13 / 23 KUKA Deutschland GmbH - means for controlling the robot based on the determined target axis movement. In one embodiment, the system has means for providing at least one further data processing unit based at least partially on machine learning forDetermination of a target movement of a further robot-fixed reference, which in a further development can comprise, in particular be, further data processing, wherein the means for determining a target axis movement is configured to determine the target axis movement based also on a target movement of this further reference determined by means of this further data processing, wherein in this determination of the target axis movement, the determined target movements of the first and second references are prioritized over this determined target movement of this further reference. A means within the meaning of the present invention can be designed in hardware and / or software, in particular at least one, preferably data- or signal-connected, in particular digital, processing unit, in particular microprocessor unit (CPU), graphics card (GPU) or the like, and / or one or more programs or program modulesThe processing unit can be designed to process commands implemented as a program stored in a memory system, to detect input signals from a data bus, and / or to output output signals to a data bus. A memory system can have one or more, in particular different, storage media, in particular optical, magnetic, solid-state, and / or other non-volatile media. The program can be designed such that it embodies or is capable of executing the methods described here, so that the processing unit can execute the steps of such methods and thus, in particular, can control the robot. In one embodiment, a computer program product can comprise a storage medium, in particular a computer-readable and / or non-volatile one, for storing a program or instructions, or with a program or instructions stored thereon.In one embodiment, execution of this program or these instructions by a system or a controller, in particular a computer or an arrangement of several computers, causes the system or the controller, in particular the computer(s), to carry out a method described here or one or more of its steps, or the program or the instructions are configured for this purpose. In one embodiment, one or more, in particular all, steps of the method are fully or partially computer-implemented or one or more, in particular all, steps of the method are fully or partially automated, in particular by the system or its means. In one embodiment, the system comprises the robot. Further advantages and features emerge from the subclaims and the exemplary embodiments. In this regard, the following shows, partly schematically: Fig. 1: a method according to aEmbodiment of the present invention; and Fig. 2: a system according to an embodiment of the present invention. Fig. 2 shows a system according to an embodiment of the present invention with a controller 20 for controlling a robot 10. Fig. 1 shows a method according to an embodiment of the present invention for controlling the robot 10 by means of the controller 20. In a step S10, several machine learning-based data processing operations 21, 22 of the controller 20 are trained. For this purpose, a human user (not shown) demonstrates desired movements of the robot 10, for example, by exerting forces on the compliantly controlled robot and thereby moving it. Likewise, the human user can also remotely control the robot 10 using a remote control, for example, a joystick, a 3D space mouse, a tablet or the like (not shown), or use a tracked demonstrator (not shown) instead of the robot 10.shown). During these target movements, current poses of a first robot-fixed reference in the form of the TCP 11 and a second robot-fixed reference in the form of the elbow 12 are determined and saved. Additionally or alternatively, an assigned value of a path parameter, for example a process time or traveled distance, and / or an assigned value of an environmental parameter, for example a current pose of one or more obstacles 30, can be determined and saved. The data processing units 21, 22 mechanically learn to determine a target movement of the TCPs 11 or elbow 12 based on the saved poses of the TCPs 11 or elbow 12, the saved values ​​of the path parameter and / or the saved poses of the obstacles 30, for example in the form: 21: dx11 / dt = f1(x11, ^, y30); 22: dx12 / dt = f2(x12, ^, y30). Preferably, several (only) slightly different orsimilar target movements are demonstrated, wherein, particularly advantageously, in demonstrations of similar or identical target movements of the robot, the obstacles 30 preferably have different poses or execute different movements. In a step S20, based on a target movement dx11 / dt of the first reference determined by means of the first data processing 21 and a target movement dx12 / dt of the second reference determined by means of the second data processing 22, a target axis movement of the robot 10 is determined, for example in the form: 2023P00013 WO 16 / 23 KUKA Deutschland GmbH By projecting the target motion dx12 / dt into the zero space of the target motion dx11 / dt during this determination of the target axis motion dqs / dt, the determined target motion of the first reference is prioritized over the determined target motion of the second reference. In a step S30, the controller 20 controls the robot to execute this determined target axis motion dqs / dt. This results in new poses of the TCPs 11 or elbow 12, a new value of the path parameter and, if applicable, new poses of the obstacles 30, on the basis of which, as described above, the data processing units 21, 22 again determine a target movement dx11 / dt or dx12 / dt of the respective robot-fixed reference 11 or 12, and the controller 20, based thereon, again determines a target axis movement dqs / dt (cf. step S20) and controls the robot 10 to execute this newly determined target axis movement (cf. step S30).In the present disclosure, "has an X" generally does not imply an exhaustive list, but is a shortened form of "has at least one X" and also includes "has two or more Xs" and "has Ys in addition to X." Although exemplary embodiments have been explained in the preceding description, it should be noted that a multitude of modifications are possible. In particular, in addition to or as an alternative to a demonstration of desired movements of the robot by a human user, desired movements of the robot can be specified by an automatic motion planner of the controller and used to train the data processing units 21, 22. Furthermore, it should be noted that the exemplary embodiments are merely examples that are not intended to limit the scope of protection, the applications, and the structure in any way.Rather, the preceding description provides the person skilled in the art with a guide for the implementation of at least one exemplary embodiment, whereby 2023P00013 WO 17 / 23 KUKA Deutschland GmbH various changes can be made, in particular with regard to the function and arrangement of the described components, without departing from the scope of protection as it results from the claims and combinations of features equivalent to these.

[0002] 2023P00013 WO 18 / 23 KUKA Deutschland GmbH List of reference symbols 10 Robot (arm) 11 First robot-fixed reference 12 Second robot-fixed reference 20 Controller 21 First data processing 22 Second data processing 30 Obstacle q1,…, q7 Joint angle

Claims

2023P00013 WO 19 / 23 KUKA Deutschland GmbH Patent claims 1.A method for controlling a robot, comprising the steps of: - providing (S10) a first data processing operation based at least partially on machine learning for determining a target movement of a first robot-fixed reference; - providing (S10) a second data processing operation based at least partially on machine learning for determining a target movement of a second robot-fixed reference; - determining (S20) a target axis movement of the robot based on a target movement of the first reference determined by means of the first data processing operation and a target movement of the second reference determined by means of the second data processing operation; wherein, during this determination of the target axis movement, the determined target movement of the first reference is prioritized over the determined target movement of the second reference; and - controlling (S30) the robot based on the determined target axis movement.Method according to claim 1, characterized by the step: - providing at least one further data processing operation based at least partially on machine learning for determining a target movement of a further robot-fixed reference; wherein the target axis movement is also determined based on a target movement of this further reference determined by means of this further data processing operation; wherein, during this determination of the target axis movement, the determined target movements of the first and second reference are prioritized over this determined target movement of this further reference.

3. Method according to one of the preceding claims, characterized in that at least one of the data processing operations determines the target movement of the corresponding reference based on a current pose of this reference and / or a current value of at least one path parameter. 2023P00013 WO 20 / 23 KUKA Deutschland GmbH and / or a current value of at least one environmental parameter and / or a current value of at least one process parameter.

4. Method according to the preceding claim, characterized in that at least one path parameter comprises a process time and / or traveled distance and / or at least one environmental parameter depends on a pose of at least one obstacle and / or a value of at least one environmental parameter and / or at least one process parameter is detected by sensors. 5.Method according to one of the preceding claims, characterized in that at least one of the determined target movements of a robot-fixed reference is prioritized over at least one other of the determined target movements of a robot-fixed reference by means of a projection of the other target movement into a null space of the one target movement, or a weighting, or a cascade of quadratic programs, or a saturation-in-the-nullspace algorithm.

6. Method according to one of the preceding claims, characterized in that the provision of the data processing based at least partially on machine learning comprises - a demonstration of training movements of the robot by a human user and / or - a specification of training movements of the robot by an automatic motion planner and comprises machine learning based on the training movements of the robot. 7.Method according to the preceding claim, characterized in that a demonstration of desired movements of the robot by a human user comprises an exertion of forces on the compliantly controlled robot by the user and / or a movement of a. 2023P00013 WO 21 / 23 KUKA Deutschland GmbH tracked demonstrator by the user and / or remote control of the robot by the user and / or is carried out with the aid of a virtual reality application or augmented reality application.

8. Method according to one of the preceding claims, characterized in that the robot is redundant with regard to the target movement of the first reference determined by means of the first data processing and / or with regard to the target movement of the second reference determined by means of the second data processing.

9. System for controlling a robot, which is set up to carry out a method according to one of the preceding claims and / or comprises: - means for providing a first data processing method based at least partially on machine learning for determining a target movement of a first robot-fixed reference;- Means for providing a second data processing operation based at least partially on machine learning for determining a target movement of a second robot-fixed reference; - Means for determining a target axis movement of the robot based on a target movement of the first reference determined by means of the first data processing operation and a target movement of the second reference determined by means of the second data processing operation, wherein, in this determination of the target axis movement, the determined target movement of the first reference is prioritized over the determined target movement of the second reference;and - means for controlling the robot based on the determined target axis movement.

10. A computer program or computer program product, wherein the computer program or computer program product contains instructions, in particular stored on a computer-readable and / or non-volatile storage medium, which, when executed by one or more computers or a system according to claim 9, control the computer(s) or the; 2023P00013 WO 22 / 23 KUKA Deutschland GmbH System to carry out a method according to one of claims 1 to 8.