Controlling a robot

EP4753888A1Pending Publication Date: 2026-06-10KUKA DEUT GMBH

Patent Information

Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
KUKA DEUT GMBH
Filing Date
2024-07-08
Publication Date
2026-06-10

AI Technical Summary

Technical Problem

Robots with joints face challenges in accurately sensing joint positions and torque due to elasticities and friction, leading to suboptimal control and behavior.

Method used

The use of acceleration sensors to capture the acceleration of robot members connected by joints, allowing for precise determination of joint positions and control, and the implementation of a model-based control system to compensate for friction and improve robot behavior.

Benefits of technology

Enables precise, efficient, and cost-effective control of robots by accurately determining joint positions and compensating for friction, thereby enhancing movement control and reducing errors.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2024069203_06022025_PF_FP_ABST
    Figure EP2024069203_06022025_PF_FP_ABST
Patent Text Reader

Abstract

A method for controlling a robot (1) which has at least one joint, in which two limbs (Ni, Ni+1) of the robot are connected against one another movably relative to one another by a drive (10), has the steps: detecting (S10) an acceleration of one of the two limbs with the aid of at least one accelerometer (30); determining (S20) a position of the joint on the basis of this detected acceleration; and controlling (S40) the robot on the basis of the determined joint position. 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] 2023P00006 WO 1 / 18 Kuka Deutschland GmbH Description Controlling a robot The present invention relates to a method and a controller for controlling a robot which has at least one joint in which two members of the robot are connected in a manner adjustably relative to one another by a drive of the robot, to a system comprising the robot and the controller, and to a computer program or computer program product for carrying out a method described here. In robots with joints in which two robot members are connected in a manner adjustably relative to one another by a joint drive, differences can occur between drive positions - which are often available easily or anyway due to the drive control - and associated joint positions, in particular due to elasticities and the like, in particular due to gear elasticities and the like.However, the sensory detection of such joint positions is problematic. On the other hand, known joint positions allow particularly advantageous control of the robot. Joint loads, in particular joint torques, can also be used particularly advantageously to control robots, if known. With known joint loads, friction in the joints can be compensated for by control technology, thereby significantly improving the behavior of the robot. However, the sensory detection of such joint loads, in particular joint torques using joint torque sensors, is also problematic. The object of the present invention is to improve this. This object is achieved by a method having the features of claim 1. Claims 5, 8 and 9 represent a controller or a computer program or computer program product for carrying out a method ora system with a control system described here is protected. The subclaims relate to advantageous developments. 2023P00006 WO 2 / 18 Kuka Deutschland GmbH According to one embodiment of the present invention, a robot, preferably a robot arm, has one or more, preferably at least three, particularly preferably at least six, joints, preferably one or more, preferably at least three, particularly preferably at least six, rotary joints, in which (in each case) two members of the robot are connected to one another in such a way that they can be adjusted, preferably rotated, relative to one another by (in each case) a drive of the robot.In this case, a link which is adjustably connected to another link in one joint and is adjustable relative to this other link by a drive of the robot can at the same time be adjustably connected to another link in another joint and can be adjustable relative to this other link by a further drive of the robot. The or one or more of the drives has or have, in one embodiment (each) an electric motor and, in a further development, a gear connected thereto for adjusting the two links connected to one another in the (respective) joint, wherein in one embodiment a base of the (respective) motor is or is firmly connected to one of the two links connected to one another in the (respective) joint.is supported on, preferably in, this member (“drive-side member”) and an output of the motor or preferably of the gear driven by it is firmly connected to the other of the two members connected to one another in the (respective) joint (“output-side member”) or is supported on this. For such robots, the present invention is particularly advantageous, in particular due to the elasticity(ies) of such drives or gears. According to one embodiment of the present invention, a method for controlling the robot comprises the steps of: - detecting an acceleration of one of the two members (connected to one another in a joint) using at least one acceleration sensor, preferably for several, particularly preferably the one or moreall joints of the robot, each detecting an acceleration of one of the two links connected to each other in the respective joint using at least one acceleration sensor each; 2023P00006 WO 3 / 18 Kuka Deutschland GmbH - determining, in particular (estimating), a position of the (respective) joint on the basis of this or the respective detected acceleration; and - controlling the robot on the basis of these determined joint position(s). The idea behind this is to determine or (estimate) joint positions used to control the robot using one or more acceleration sensors. In this way, these can be determined more precisely, quickly, easily and / or cost-effectively in one embodiment, and control can be improved by using joint positions determined in this way to control the robot.This becomes clear, for example, with regard to the motion equation (2a) explained below: if the joint positions q there are available through determination according to the invention, the robot can, for example, advantageously be controlled in a model-based manner. The or one or more of the acceleration sensors detects, in one embodiment (each), a Cartesian and / or translational and / or at least one-, in particular at least two-, particularly preferably at least three-dimensional, acceleration of the corresponding member or is configured to do so and / or is, in particular for this purpose, arranged on, in one embodiment in or on, one of the two members (connected to one another in the (respective) joint), preferably the one on or in which the electric motor is not arranged ("driven member" or "output-side member").Since such acceleration sensors are inexpensive and / or easily available and / or have a more compact design and / or measure precisely, they are particularly advantageous for the present invention. The detected acceleration of one of the two links connected to one another in a joint i is, in one embodiment, a preferably Cartesian and / or translational and / or at least one-, in particular at least two-, and particularly preferably at least three-dimensional, absolute acceleration or acceleration relative to a stationary base or environment of the robot, and is denoted herein by a. Sensor, iA position of the or a joint in which two links are connected to each other ("joint position") refers, in one embodiment, to the position (adjustable by the drive) of these two links relative to each other with respect to a joint axis; in the case of rotary joints, this refers to an angular position of one of the two links relative to the other of the two links about the joint axis. It is denoted here by q, whereby the joint positions of the robot's joints can be summarized in a vector q, the dimension of which corresponds to the number of joints or (motion) axes or degrees of freedom of the robot. The acceleration(s) detected by the acceleration sensor(s) are related to the joint position(s) of the robot via the (respective) Jacobian matrices. of the (respective) acceleration sensor: d 2 q / dt2 = J -1 i(q) ^ [Ri(q) ^ aSensor, i - g - dJi(q) / dt ^ dq / dt] (1) with the rotation matrix R i , which transforms the (respective) sensor coordinate system into the robot base or environment-fixed coordinate system or specifies the orientation of the (respective) sensor coordinate system relative to the robot base or environment-fixed coordinate system, and the gravitational or gravity acceleration vector g. For several, in particular all, joints of the robot, equation (1) can be generalized accordingly: d 2 q / dt 2 = J -1 (q) ^ [R(q) ^ aSensor - G - dJ(q) / dt ^ dq / dt] (1') The second time derivatives of the joint positions can be determined successively in one embodiment, since, for example, the detected acceleration a Sensor, 1 of a link connected to a base of the robot in a proximal joint i = 1 only from this joint position q1 or its time derivatives dq1 / dt, d 2q1 / dt 2 depends, the detected acceleration aSensor, 2 of a link connected to this link in a next joint i = 2 additionally depends on the position of this next joint q2 or its time derivatives, etc. The Jacobian matrix and / or the rotation matrix is ​​determined in one embodiment on the basis of the drive position(s) or on the basis of the target joint position(s) qsoll instead of the current or to be determined joint positions q: 2023P00006 WO 5 / 18 Kuka Deutschland GmbH or J (-1) (i)(q); R(i)(q) ^ J (-1)(i)(qsoll); Ri(qsoll) if necessary with the ratios Ü between motor position and transmission output. A position of the or a drive for adjusting the (respective) two elements ("drive position") refers in one embodiment (respectively) to the position of the motor of this drive, preferably a motor output, in particular a motor shaft, relative to a motor base, in particular a motor housing. It is denoted here by q m where the drive positions of the robot's drives can be summarized in a vector qm, whose dimension corresponds to the number of joints or (motion) axes or degrees of freedom of the robot. If the robot is controlled in a known manner by the equations of motion M(q) ^ d 2 q / dt 2 + c(q, dq / dt) + h(q) = K(q m - q) + D(dq m / dt - dq / dt) (2a) J m ^d 2 q m / dt 2 = -K ^ (q m - q) - D ^ (dq m / dt - dq / dt) - ^r + ^ m (2b) with the friction-induced joint loads, in particular friction torques, ^r = [ ^r, 1 , …, ^r, n ] T , the drive loads generated by the drives, in particular their motors, in particular motor torques, ^m = [ ^m, 1, …, ^m, n] T and the elasticity (matrix) or stiffness (matrix) K and damping (matrix) D between the drive or motor and the driven member or output, in particular of the respective transmission, using the target joint positions qref for the joint positions qa to be determined, equations (1) or (1'), (2a), (2b) can be combined to form the differential equation for the joint positions q to be determined a : dqa / dt = [-D -1 ^ K] ^ qa + B ^ u - D -1 ^ NL (3) with the estimated joint position(s) q or those determined on the basis of the recorded acceleration(s) a , the input vector u = [q m Tdq m T / dt d 2 q / dt 2 ] T with d 2 q / dt 2 2023P00006 WO 6 / 18 Kuka Deutschland GmbH according to equation (1'), the input matrix B = [(D -1 ^ K) T 1 (-D -1 ^ M(qsoll)) T ] T and the motion equation components NL = c(qsoll, dqsoll / dt) + h(qsoll). The time derivatives of the drive or motor positions can be advantageously determined by numerical differentiation. Using an appropriate estimation filter or (time) integration with feedback, the joint positions q can be derived from (3). aon the basis of the accelerations detected by the acceleration sensors (cf. equation (1') and input vector u). The joint position determined according to the invention, preferably in the manner explained above, can advantageously be used to control the robot, for example by comparing it with target joint positions and controlling the drive to reduce a lag error between the target and the determined or estimated joint position by controlling the robot by means of model-based control on the basis of the equation of motion (2a) or the like. With particular advantage, the determination of joint positions according to the invention can be used to determine or estimate joint loads, in particular joint torques, and / or to determine or estimate friction values, in particular friction torques, and particularly preferably for control-related friction compensation.In particular, in one embodiment, joint loads, in particular joint torques, can be determined by ^ = K ^ (q. m - q a ) + D ^ (dq m / dt - dq a / dt) (4) can be estimated or determined, whereby the damping component or term can also be neglected or omitted or eliminated in a further development, just as in equations (2a) and / or (2b). The components of the elasticity or stiffness matrix K each form an elasticity parameter of the corresponding drive. An elasticity parameter of a drive generally describes a relationship between a difference between the drive and joint position and a joint load. Using the joint loads determined, for example, according to equation (4), optionally omitting the damping component or term, friction values, in particular friction torques ^r = [ ^r, 1, ..., ^r, n], can be determined, for example, according to equation (2b), optionally omitting the damping component or term. T, estimated or determined, and the robot can be controlled particularly advantageously based on this or by taking these friction values ​​into account or using them. For example, these friction values ​​can be taken into account in a model-based control of the robot and / or, preferably in the process, target drive loads can be added to compensate for friction in the joints. In a particularly advantageous development, a friction observer or a model- or friction observer-based control can be used, particularly advantageously, for example, one as described in the article by Luc Le Tien, Alin Albu-Schäffer, Alessandro De Luca, and Gerd Hirzinger: Friction Observer and Compensation for Control of Robots with Joint Torque Measurement; 2008 IEEE / RSJ International Conference on Intelligent Robots and Systems, Acropolis Convention Center, Nice, France, September 22-26, 2008, the content of which is fully incorporated into the present disclosure.Where, as already explained, in contrast to the complex and error-prone sensor-detected joint loads (in the article "^am"), according to a particularly advantageous embodiment of the present invention - (initially) the joint position(s) is / are estimated or determined based on the acceleration(s) of the robot link(s) detected by the acceleration sensor(s); and - based on this, the friction in the joint(s) is / are compensated by control technology, preferably according to equations (2b), (4), optionally eliminating the damping component or term, or as described in the above-mentioned article, in particular with reference to Fig. 3. As is particularly clear from the above, in one embodiment, a position of the (respective) drive is detected by means of at least one drive sensor,wherein in a further development 2023P00006 WO 8 / 18 Kuka Deutschland GmbH - the robot is controlled based on these detected drive position(s), preferably based on a difference between these detected drive position(s) and the determined joint position(s) and / or based on at least one drive speed; and / or - the joint position(s) is / are determined based on these detected drive position(s), preferably based on at least one speed of the drive(s). In one embodiment, the drive speed corresponds to a change in the already described drive position per unit of time, wherein in a further development the drive speed can also be detected by a drive sensor or determined by numerical differentiation of the detected drive position. Additionally or alternatively, as is also particularly clear from the above,In one embodiment, the robot is controlled on the basis of an elasticity parameter of the (respective) drive, which in one embodiment indicates a relationship between a difference between the drive and joint position and a joint load, and / or a joint load and / or a friction coefficient of the (respective) joint is / are determined on the basis of the determined joint position(s), in a further development on the basis of the determined drive position(s), in one embodiment on the basis of the elasticity parameter and / or a difference between the detected drive position and the determined joint position of the (respective) drive and / or the drive speed(s), and the robot is controlled on the basis of these determined joint load(s) and / or these determined friction coefficient(s),In a further development, when controlling the robot, friction in the (respective) joint is compensated for by control technology based on these determined joint load(s) and / or this determined friction value(s) and / or the friction value is determined based on the determined joint load. The aforementioned features, embodiments, or further developments can be particularly advantageously implemented according to the previously explained equations or relationships, but the invention is not limited thereto. By way of example, additionally or alternatively determined joint loads can also be used to monitor limit values ​​for permissible loads, for collision monitoring, or the like; determined friction values ​​can be used to detect impairments of the robot, in particular wear, age, or the like, for thermal monitoring, or the like. As is also clear from the above,In a particularly advantageous embodiment, friction in the joint(s) of the robot is compensated for by control technology, preferably with the aid of a friction observer, for example as described in the aforementioned article, in particular with reference to Fig. 3 thereof. In a further development, a friction coefficient of the (respective) joint is determined based on the determined joint position(s), in one embodiment also based on the determined drive position(s), in a further development also based on the elasticity parameter(s), and the robot is controlled based on this determined friction value(s). A controller and / or means within the meaning of the present invention can be implemented in hardware and / or software, in particular at least one, in particular digital, processing unit, in particular a microprocessor unit (CPU), graphics card (GPU) or the like, preferably connected to a memory and / or bus system for data or signals.and / or one or more programs or program modules. The processing unit can be configured to execute commands implemented as a program stored in a memory system, to acquire input signals from a data bus, and / or to output output signals to a data bus. A memory system can comprise 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 in such a way 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. Controlling within the meaning of the present invention can, in particular, be feedback control. Controlling the robot can, in particular, comprise controlling, in particular, its drive(s).in particular. Control-related compensation within the meaning of the present invention does not have to be complete compensation; instead, it is understood in particular to mean the consideration of friction in the joint(s) determined or estimated on the basis of the determined joint position(s) during control. A computer program product can, in one embodiment, have, in particular be, 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), toto carry out a method described here or one or more of its steps, or the program or 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 controller or the system or its means. In one embodiment, the system comprises the controller and the robot, and in a further development also the acceleration sensor(s). In one embodiment, the controller or its means or the system or its means comprises: - at least one drive sensor for detecting a position of the (respective) drive; and / or - means for controlling the robot based on these detected drive position(s),in particular based on a difference between this / these detected drive position(s) and the determined joint position(s); and / or - means for determining the joint position(s) based also on the detected drive position(s); and / or - means for controlling the robot based also on an elasticity parameter of the (respective) drive; and / or 2023P00006 WO 11 / 18 Kuka Deutschland GmbH - means for determining a joint load and / or a friction coefficient of the (respective) joint based on the determined joint position(s), in particular also based on the determined drive position(s), in particular also based on the elasticity parameter of the (respective) drive, and means for controlling the robot based on these determined joint load(s) and / or these determined friction coefficient(s),in particular for determining the coefficient of friction based on the determined joint load and / or for control-technically compensating for friction in the joint(s) when controlling the robot based on these determined joint load(s) and / or these determined coefficient(s). Further advantages and features emerge from the subclaims and the exemplary embodiments. In this regard, the following shows, partially schematically: Fig. 1: a system with a robot and a controller for controlling the robot according to an embodiment of the present invention; Fig. 2: a part of the system; and Fig. 3: a method for controlling the robot according to an embodiment of the present invention. Fig. 1 shows a system with a robot 1 and a controller 20 for controlling the robot 1 according to an embodiment of the present invention. Fig. 2 shows two exemplary members Ni, Ni+1,which are connected to each other in a joint i and are adjustable relative to each other by a drive 10 of the robot. The drive 10 has a motor 11, whose motor position is determined by q, m which is detected by a drive sensor 13 and transmitted to the controller 20. The motor 11 is connected via a gear 12 to the output-side member Ni+1, whose position relative to the drive-side member Ni is indicated by q. 2023P00006 WO 12 / 18 Kuka Deutschland GmbH An acceleration sensor 30 is arranged on, preferably in or on, the output-side member Ni+1, which measures an absolute Cartesian acceleration a Sensor, i this member N i+1of the robot. In a step S10 (cf. Fig. 3), accelerations of the movable links or those connected to one another in joints of the robot 1 as well as the corresponding motor positions (drive positions) are first recorded in a manner described above by way of example for a joint i and transmitted to the controller 20. In a step S20, the joint positions qa are determined or estimated from this by an estimation filter 21 indicated in Fig. 2 on the basis of the differential equation (3) explained above from the motor positions and the motor speeds determined therefrom by numerical differentiation as well as the joint accelerations, which are determined or estimated on the basis of the equation (1') explained above on the basis of the accelerations of the links recorded with the aid of the acceleration sensors. In a modification, the motor speeds can also be recorded directly by tachometer sensors.In a step S30, the joint loads, in the exemplary embodiment the torques ^a in the joints, are determined or estimated by a joint load estimator 22 indicated in Fig. 2 on the basis of the above-explained equation (4), optionally eliminating the damping component or term. In a step S40, a controller 23 indicated in Fig. 2 determines or estimates the joint loads ^ on the basis of the joint loads thus determined or estimated. a the drives 10 or (their) motors 11 are controlled, preferably in the manner explained in the above-mentioned article, in particular with reference to its Fig.3, wherein, as already explained, instead of the measured joint loads (in the article " ^ am") the joint loads determined or estimated in step S30 are used in the friction observer or the friction-compensating controller 23 based thereon. The friction observer can, as also explained in the article, be defined in particular by dqma / dt = ( ^m - ^a - ^ra) / (s ^ Jm) 2023P00006 WO 13 / 18 Kuka Deutschland GmbH ^ra = -L ^ Jm ^ (dqm / dt - dqma / dt), where s denotes the Laplace operator and qma the observer's estimate for the drive or motor positions. 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 Y in addition to X". Although exemplary embodiments have been explained in the preceding description, it should be noted that a large number of modifications are possible.Furthermore, it should be noted that the exemplary embodiments are merely examples and are not intended to limit the scope of protection, applications, or structure in any way. Rather, the preceding description provides the skilled person with a guide for implementing at least one exemplary embodiment. Various modifications, particularly with regard to the function and arrangement of the described components, may be made without departing from the scope of protection as defined by the claims and equivalent combinations of features.

[0002] 2023P00006 WO 14 / 18 Kuka Deutschland GmbH List of reference symbols 1 Robot (arm) 10 Drive 11 Motor 12 Gearbox 13 Drive sensor 20 Controller 21 Estimation filter 22 Joint load estimator 23 Controller 30 Acceleration sensor q Joint position qm Drive position N i drive-side link of the joint i N i+1 output-side member of the joint i

Claims

2023P00006 WO 15 / 18 Kuka Deutschland GmbH Patent claims 1. Method for controlling a robot (1) which has at least one joint in which two links (N i , N i+1) of the robot are connected relative to one another by a drive (10) of the robot so as to be adjustable relative to one another, the method comprising the steps of: - detecting (S10) an acceleration of one of the two links using at least one acceleration sensor (30); - determining (S20) a position of the joint based on this detected acceleration; and - controlling (S40) the robot based on this determined joint position.

2. The method according to claim 1, characterized in that a position of the drive is detected using at least one drive sensor (13), and that the robot is controlled based on this detected drive position, in particular based on a difference between this detected drive position and the determined joint position and / or based on a speed of the drive, and / or the joint position is determined based on this detected drive position. 3.Method according to one of the preceding claims, characterized in that the robot is controlled based on an elasticity parameter of the drive.

4. Method according to one of the preceding claims, characterized in that a joint load and / or a friction coefficient of the joint is determined on the basis of the determined joint position, in particular also on the basis of the determined drive position, in particular also on the basis of the elasticity parameter of the drive, and the robot is controlled on the basis of this determined joint load and / or this determined friction coefficient, in particular when controlling the robot, friction in the joint is compensated for by control technology on the basis of this determined joint load and / or this determined friction coefficient and / or the friction coefficient is determined on the basis of the determined joint load. 2023P00006 WO 16 / 18 Kuka Deutschland GmbH 5. A controller for controlling a robot (1) having at least one joint in which two links (Ni, Ni+1) of the robot are connected relative to one another by a drive (10) of the robot, wherein the controller is configured to carry out a method according to one of the preceding claims and / or comprises: - means for determining a position of the joint based on an acceleration of one of the two links detected by means of at least one acceleration sensor (30); and - means for controlling the robot based on this determined joint position. 6.Control according to the preceding claim, characterized in that the means for controlling the robot is configured to control the robot based on a drive position detected by means of at least one drive sensor (13) and / or that the means for determining the joint position is configured to determine the position of the joint based on a drive position detected by means of at least one drive sensor (13).Controller according to one of the preceding claims 5 - 6, characterized in that the controller has means for determining a joint load and / or a coefficient of friction of the joint on the basis of the determined joint position, in particular also on the basis of the determined drive position, in particular also on the basis of an elasticity parameter of the drive, and the means for controlling the robot is set up to control the robot on the basis of this determined joint load and / or this determined coefficient of friction, in particular when controlling the robot to compensate for friction in the joint on the basis of this determined joint load and / or this determined coefficient of friction and / or to determine the coefficient of friction on the basis of the determined joint load.

8. System with at least one robot (1) which has at least one joint in which two links (N. i , N i+1) of the robot are connected relative to each other by a drive (10) of the robot so as to be adjustable relative to each other, and a controller for controlling the robot according to one of the preceding claims. 2023P00006 WO 17 / 18 Kuka Deutschland GmbH 9. 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 8, cause the computer(s) or the system to carry out a method according to one of claims 1 to 7.