Controlling a robot
Patent Information
- Application Number
- DE102023207451
- Authority / Receiving Office
- DE · DE
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-08-03
- Publication Date
- 2025-02-06
Smart Images

Figure 00000011_0000 
Figure 00000011_0001 
Figure 00000011_0002
Abstract
Description
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 to one another in such a way that they can be adjusted relative to one another by a drive of the robot, to a system having 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 links are each connected to one another so as to be adjustable relative to one another by a joint drive, differences can occur between drive positions, which are simply available or often already available, and associated joint positions, in particular due to elasticities and the like, in particular due to transmission elasticities and the like. However, the sensor detection of such joint positions is problematic. On the other hand, known joint positions permit a particularly advantageous control of the robot.Joint loads, in particular joint torques, can also be used, if known, particularly advantageously for controlling robots. Very particularly advantageously, in the case of known joint loads, friction in the joints can be compensated for by control technology and the behavior of the robot can thereby be significantly improved. However, the sensor detection of such joint loads, in particular joint torques with the aid of joint torque sensors, is likewise problematic.It is an object of the present invention to improve.This object is achieved by a method having the features of claim 1. Claims 5, 8 and 9 protect a controller or a computer program or computer program product for carrying out a method described here or a system having a controller described here. The dependent claims relate to advantageous refinements.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 links of the robot are connected to one another in such a way that they are adjustable relative to one another, preferably rotatable, by (in each case) one 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 be adjustably connected to a further link at the same time in a further joint and can be adjustable relative to this further link by a further drive of the robot.The one or more of the drives has or have in one embodiment (in each case) an electric motor and in one development a transmission connected thereto for adjusting the two members connected to one another in the (respective) joint, wherein in one embodiment a base of the (respective) motor is fixedly connected to one of the two members connected to one another in the (respective) joint or is supported on, preferably in, this member ("drive-side member") and an output of the motor or preferably of the transmission driven by it is fixedly connected to or is supported on the other of the two members connected to one another in the (respective) joint ("output-side member").For such robots, the present invention is particularly advantageous, in particular due to the elasticity(s) of such drives or gears.According to an embodiment of the present invention, a method for controlling the robot comprises the steps of:detecting an acceleration of one of the two links (connected to one another in a joint) with the aid of at least one acceleration sensor, preferably for a plurality of, particularly preferably the or all, joints of the robot, in each case detecting an acceleration of one of the two links connected to one another in the respective joint with the aid of in each case at least one acceleration sensor;determining, in particular (Ab)Schätzen, a position of the (respective) joint on the basis of said or the respective detected acceleration; andcontrolling the robot on the basis of this determined joint position(s).This is based on the idea of ascertaining or (estimating) joint positions which are used for controlling the robot with the aid of one or more acceleration sensors. As a result, in one embodiment, these can be determined precisely(s), quickly(s), easily(s) and / or cost-effectively(s) and the control can be improved by using joint positions determined in this way for controlling the robot. This becomes clear, for example, with reference to the equation of motion (2a) explained below: if the joint positions q there are available by ascertaining according to the invention, the robot can be controlled advantageously in a model-supported manner, for example.In one embodiment, the or one or more of the acceleration sensor(s) (in each case) detects a Cartesian and / or translatory and / or at least one, in particular at least two, particularly preferably at least three-dimensional, acceleration of the corresponding link or is configured and / or arranged for this purpose, in particular for this purpose, on, in one embodiment on, on, or on one of the two links (connected to one another in the (respective) joint), preferably the one on or in which the electric motor is not arranged ("driven link" or "output-side link"). Since such acceleration sensors are inexpensive and / or easily available and / or are compact and / or measure precisely(s), they are particularly advantageous for the present invention.In one embodiment, the detected acceleration of one of the two links connected to one another in a joint i is a preferably Cartesian and / or translatory and / or at least one, in particular at least two, particularly preferably at least three-dimensional, absolute acceleration or acceleration with respect to a stationary base or environment of the robot and is designated in the present case as a Sensor,i.In one embodiment, a position of the or a joint in which (the) two links are connected to one another ("joint position") denotes (in each case) the position d(ies)of the two links (adjustable by the drive) relative to one another with respect to a joint axis, and in the case of rotary joints correspondingly an angle(s) position) of one of the two links relative to the other of the two links about the joint axis. It is designated here as q, wherein the joint positions of the joints of the robot can be combined in a vector q, the dimension of which corresponds to the number of joints or (movement) axes or degrees of freedom of the robot.The acceleration(s) detected with the aid of the acceleration sensor or the acceleration sensors are associated with the joint position(s) of the robot via the (respective) Jacobian matrices J i of the (respective) acceleration sensor: with the rotation matrix R i, which transforms the (respective) sensor coordinate system into the robot-based or environment-fixed coordinate system or specifies the orientation of the (respective) sensor coordinate system relative to the robot-based or environment-fixed coordinate system, and the gravitational or gravitational acceleration vector g. For a plurality of joints, in particular all joints of the robot, equation (1) can be generalized accordingly:The second time derivatives of the joint positions can be successively determined in one embodiment, since, for example, the detected acceleration a Sensor,1 of a link connected to a base of the robot in a next-base or proximal joint i=1 depends only on this joint position q 1 or its time derivatives dq 1 / dt, d 2 q 1 / dt 2 the detected acceleration a Sensor,2 of a link connected to this link in a next joint i=2 additionally still depends on the position of this next joint q 2 or its time derivatives, etc.In one embodiment, the Jacobian matrix and / or the rotation matrix is determined on the basis of the drive position(s) or on the basis of the setpoint joint position(s) q soll instead of the current joint positions q or joint positions q to be determined: optionally with the transmission ratios Ü between the engine position and the transmission output.In one embodiment, a position of the or a drive for adjusting the (respective) two members ("drive position") denotes (in each case) the position of the motor of this drive, preferably of a motor output, in particular of a motor shaft, relative to a motor base, in particular a motor housing. It is designated here as q m wherein the drive positions of the drives of the robot can be combined in a vector q m whose dimension corresponds to the number of joints or (movement) axes or degrees of freedom of the robot.If the robot is described in a manner known per se by the equations of motion with the friction-induced joint loads, in particular thus friction torques, τ r= [ τ r,1,..., τ r,n]T, the drive loads generated by the drives, in particular their motors, in particular thus motor torques, τ m= [ τ m, 1,..., τ m, n]T and the elasticity(s) or rigidity(smatrix) K and damping(smatrix) D between the drive or motor and the driven member or output, in particular of the respective transmission, The equations (1) and (1'), (2a), (2b) can be combined using the desired joint positions q ref for the joint positions q a to be determined to form the differential equation for the joint positions q a: to be determined with the estimated joint position(s) q a, determined on the basis of the detected acceleration(s), the input vector u=[q mT dq mT / dt d 2 q / dt 2]T with d 2 q / dt 2 according to equation (1'), the input matrix B=[(D -1 · K) T1 (- D -1 · M(q soll))T]T and the motion equation components NL=C(q soll, dq soll / dt)+h(q soll). In this case, the time derivatives of the drive or motor positions can advantageously be determined by numerical differentiation.By means of a corresponding estimation filter or a (time) integration with feedback, the joint positions q a can be estimated or determined from (3) on the basis of the accelerations detected with the aid of 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 for controlling the robot, for example by comparing it with desired joint positions and controlling the drive for reducing a drag error between desired and determined or (ab) 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 or the like.With very particular advantage, the inventive determination of joint positions can be used for determining or (Ab) application rates of joint loads, in particular joint torques, and / or for determining or (Ab) application rates of friction values, in particular friction torques, and particularly preferably for control-technology friction compensation.In particular for this purpose, in one embodiment, joint loads, in particular joint torques, can be estimated or determined by (ab), wherein the damping component or damping term can also be neglected or omitted or omitted in a development, just as in equation (2a) and / or (2b). The components of the elasticity or rigidity matrix K each form an elasticity parameter of the corresponding drive. In one embodiment, an elasticity parameter of a drive generally describes a relationship of a difference between the drive position and the joint position to a joint load.With the aid of the joint loads determined, for example according to equation (4), optionally with the attenuation portion or term omitted, it is possible, for example according to equation (2b), optionally with the attenuation portion or term omitted, to estimate or determine friction values, in particular friction torques τ r= [ τ r,1,..., τ r,n]T, ( ab), and the robot can be controlled particularly advantageously on the basis thereof or with the use of these friction values taken into account. For example, these friction values can be taken into account in a model-based control of the robot and / or, preferably, in this case, desired drive loads can be added in order to compensate friction in the joints. In a particularly advantageous development, a friction observer or a model- or friction observer-based controller can be used, particularly advantageously for example one as described in the article Luc Le Tien, Alin Albu-Scheffer, 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 incorporated in its entirety into the present disclosure, wherein, as already explained, in contrast to the joint loads detected there in a complicated and error-prone manner by sensors (in the article "τ am") according to a particularly advantageous embodiment of the present invention(first) estimating or ascertaining the joint position(s) on the basis of the acceleration(s) of the robot link / robot r(ab) detected with the aid of the acceleration sensor / s; andbased on this, the friction in the joint(s) is compensated for by control technology, preferably according to equations (2b), (4), optionally with the attenuation component or term omitted, or as described above. In particular, the invention is described with reference to FIG. 3 thereof.As is evident in particular from the above, in one embodiment a position of the (respective) drive is detected with the aid of at least one drive sensor, wherein in a developmentthe robot is controlled on the basis of this detected drive position(s), preferably on the basis of a difference between this / n detected drive position(s) and the / n determined joint position(s) and / or on the basis of at least one drive speed; and / orthe joint position(s) is / are determined on the basis of this detected drive position(s) as well, preferably on the basis of at least one speed of the drive(s) as well.In one embodiment, the drive speed corresponds to a change in the drive position already described per unit time, wherein the drive speed can likewise be detected by a drive sensor or determined by numerical differentiation of the detected drive position.Additionally or alternatively, as is likewise apparent in particular from the above, in one embodiment the robot is / are controlled on the basis of an elasticity parameter of the (respective) drive, which in one embodiment indicates a relationship of a difference between the drive position and the joint position to a joint load, and / or a joint load and / or a coefficient of friction of the (respective) joint is / are determined on the basis of the determined joint position(s), in a development on the basis of the determined drive position(s), in an 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 / -n drive speed(s), and the robot is / are controlled on the basis of this determined joint load(s) and / or this / -r determined coefficient of friction(s), In a further development, during the control of the robot, friction in the (respective) joint is compensated for by regulation technology on the basis of this determined joint load(s) and / or this / r determined friction value(s) and / or the friction values are determined on the basis of the determined joint load.The aforementioned features or embodiments or refinements can be realized particularly advantageously in accordance with the equations or relationships explained above; however, the invention is not restricted thereto. By way of example, additionally or alternatively determined joint loads can also be used for monitoring limit values for permissible loads, for collision monitoring or the like, determined friction values for detecting adverse effects on the robot, in particular wear, age or the like, for thermal monitoring or the like.As is likewise 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 article mentioned, in particular with reference to FIG. 3 thereof, wherein in a development a friction value of the (respective) joint is determined on the basis of the determined joint position(s), in an embodiment on the basis of the determined drive position(s), in a development on the basis of the elasticity parameter(s) as well, and the robot is controlled on the basis of this / r determined friction value(s).A controller and / or a means in the sense of the present invention can be designed using hardware and / or software, in particular can have at least one, in particular digital, processing, in particular microprocessor unit (CPU), graphics card (GPU) or the like, preferably data- or signal-connected to a memory and / or bus system, and / or one or more programs or program modules. The processing unit can be designed to process commands implemented as a program stored in a memory system, to acquire input signals from a data bus and / or to deliver output signals to a data bus. A storage system may include 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 can thus control the robot in particular.Controlling in the sense of the present invention can be, in particular, a regulation ("feedback control"). Controlling the robot can include, in particular be, controlling, in particular regulating, its drive(s). Compensating for regulation technology within the meaning of the present invention does not have to be a complete compensating; instead, this is understood to mean, in particular, taking into account friction in the joint or joints during control that is ascertained or (estimated) on the basis of the joint position(s) ascertained.In one embodiment, a computer program product may include, in particular be, a storage medium, in particular a computer-readable and / or nonvolatile storage medium, for storing a program or instructions or having a program stored thereon or having instructions stored thereon. In one embodiment, execution of this program or of these instructions by a system or a controller, in particular a computer or an arrangement of a plurality of computers, causes the system or the controller, in particular the computer or computers, to execute 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 completely or partially computer-implemented or one or more, in particular all, steps of the method are carried out completely or partially automatically, in particular by the controller or the system or its / its means.In one embodiment, the system has the controller and the robot, and in one 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 / ormeans for controlling the robot on the basis of this detected drive position(s) as well, in particular on the basis of a difference between this / n detected drive position(s) and the / n determined joint position(s); and / ormeans for determining the joint position(s) on the basis of the detected drive position(s) as well; and / ormeans for controlling the robot on the basis of an elasticity parameter of the (respective) drive as well; and / ormeans for determining a joint load and / or a coefficient of friction of the (respective) joint on the basis of the determined joint position(s), in particular on the basis of the determined drive position(s), in particular on the basis of the elasticity parameter of the (respective) drive as well, and means for controlling the robot on the basis of these determined joint load(s) and / or coefficients of friction(s) determined by this / r, in particular for determining the coefficient of friction on the basis of the determined joint load and / or for compensating friction in the joint(s) by regulation technology during the control of the robot on the basis of these determined joint load(s) and / or coefficients of friction(s) determined by this / r.Further advantages and features are evident from the dependent claims and the exemplary embodiments. This is partially schematic: FIG. 1 : shows a system with a robot and a controller for controlling the robot according to an embodiment of the present invention; FIG. 2 shows a part of the system; and FIG. 3 : shows a method of controlling the robot according to an embodiment of the present invention.FIG. 1 shows a system having a robot 1 and a controller 20 for controlling the robot 1 according to an embodiment of the present invention.FIG. 2 shows, by way of example, two links N i, N i+1, of the robot, which links are connected to one another in a joint i and are adjustable relative to one another by a drive 10 of the robot.The drive 10 has a motor 11, the motor position of which is indicated by q m which is detected by a drive sensor 13 and transmitted to the controller 20.The motor 11 is connected via a transmission 12 to the output-side member N i+1 whose position relative to the input-side member N i is indicated by q.On, preferably in or on, the output-side link N i+1 an acceleration sensor 30 is arranged, which detects an absolute Cartesian acceleration a sensor, i of this link N i+1 of the robot.In a step S 10 (cf. FIG. 3 ), accelerations of the movable links of the robot 1 or links connected to one another in joints as described above by way of example for a joint i and the corresponding motor positions (drive positions) are first detected and transmitted to the controller 20.In a step S20, the joint positions q a are determined or (ab) estimated from these by an estimation filter 21 indicated in FIG. 2 on the basis of the above-explained differential equation (3) from the motor positions and the motor speeds determined from these by numerical differentiation and the joint acceleration, which are determined or (ab) estimated on the basis of the above-explained equation (1') on the basis of the accelerations of the links detected with the aid of the acceleration sensors. In a modification, the engine speeds can also be directly detected by tacho sensors.In a step S 30, the joint loads, in the exemplary embodiment the torques τ a in the joints, are determined or (ab) estimated therefrom by a joint load estimator 22 indicated in FIG. 2 on the basis of the equation (4) explained above, optionally with the attenuation component or term omitted.In a step S 40, the drives 10 or (their) motors 11 are controlled by a controller 23 indicated in FIG. 2 on the basis of the joint loads τ a determined or (ab) estimated in this way, preferably in the manner explained in the article mentioned above, in particular with reference to the article 3 thereof, wherein, as already explained, the joint loads determined or (ab) estimated in step S 30 are used here instead of the measured joint loads (in the article "τ am ") in the friction observer or friction-compensating controller 23 based thereon. As also explained in the article, the friction observer can be defined in particular by s denoting the Laplace operator and q ma the estimated value of the observer for the drive and motor positions.In the present disclosure, "an X has" generally does not imply a exhaustive enumeration, but is a short form of "has at least one X" and also includes "has two or more X" and "has Y other than X". Although exemplary embodiments have been explained in the preceding description, it should be noted that a multiplicity of modifications are possible. It should also be noted that the exemplary embodiments are merely examples that are not intended to limit the scope, applications, and configuration in any way. Rather, the foregoing description provides those skilled in the art with a guide to the implementation of at least one exemplary embodiment, wherein various changes, in particular with regard to the function and arrangement of the described constituent parts, can be made without departing from the scope of protection as evident from the claims and combinations of features equivalent thereto.List of reference characters1 Robot (arm) 10 Drive 11 Motor 12 Gear 13 Drive sensor 20 Controller 21 Estimation filter 22 Joint load estimator 23 Controller 30 Acceleration sensor q Joint position q m Drive position N i Drive-side link of joint i N i+1 Driven-side link of joint iReferences included in the specificationThis list of documents cited by the applicant has been produced in an automated manner and is only included for the better information of the reader. The list is not part of the German patent application or utility model application. The DPMA does not take any adhesion for any faults or omissions.Cited Non-Patent LiteratureLuc 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
[0023]
Claims
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 to one another in such a way that they can be adjusted relative to one another by a drive (10) of the robot, the method having the steps of: - detecting (S10) an acceleration of one of the two links with the aid of at least one acceleration sensor (30); - determining (S20) a position of the joint on the basis of this detected acceleration; and - controlling (S40) the robot on the basis of this determined joint position.Method according to claim 1, characterised in that a position of the drive is detected with the aid of at least one drive sensor (13), and in that the robot is controlled on the basis of this detected drive position as well, in particular on the basis of a difference between this detected drive position and the determined joint position and / or on the basis of a speed of the drive as well, and / or the joint position is determined on the basis of this detected drive position as well.Method according to one of the preceding claims, characterized in that the robot is controlled on the basis of an elasticity parameter of the drive as well.Method according to one of the preceding claims, characterized in that a joint load and / or a coefficient of friction of the joint is determined on the basis of the determined joint position, in particular on the basis of the determined drive position as well, in particular on the basis of the elasticity parameter of the drive as well, and the robot is controlled on the basis of this determined joint load and / or this determined coefficient of friction, in particular a friction in the joint is compensated for by regulation technology on the basis of this determined joint load and / or this determined coefficient of friction and / or the coefficient of friction is determined on the basis of the determined joint load during the control of the robot.Controller 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 to one another in such a way that they can be adjusted 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 has: - means for determining a position of the joint on the basis of an acceleration of one of the two links which is detected with the aid of at least one acceleration sensor (30), and - means for controlling the robot on the basis of this determined joint position.Controller according to the preceding claim, characterized in that the means for controlling the robot is configured to control the robot on the basis of a drive position detected with the aid of at least one drive sensor (13), and / or in that the means for determining the joint position is configured to determine the position of the joint on the basis of a drive position detected with the aid 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 on the basis of the determined drive position as well, in particular on the basis of an elasticity parameter of the drive, and the means for controlling the robot is configured to control the robot on the basis of this determined joint load and / or this determined coefficient of friction, in particular to compensate, by control technology, a 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.A system comprising at least one robot (1) having at least one joint in which two links (N i, N i+1) of the robot are connected to each other adjustably relative to each other by a drive (10) of the robot, and a controller for controlling the robot according to any one of the preceding claims.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-transitory storage medium, which instructions, when executed by one or more computers or a system according to claim 8, cause the computer or the system to perform a method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Nonlinear vibration mechanism
DE102016226174B4
Calibration of a robot's joint load sensor
DE102017009278A1
Method for recognizing the intention of one partner in relation to a multi-part actuated kinematic system
DE102018109320A1
Method and system for controlling a robot
DE102018207354B3
Robot control
DE202022101008U1