The present disclosure generally relates to systems and methods for reducing kinematic error when controlling the movement of a joint in an articulated robot arm.
An articulated robot arm comprises a plurality of links, which are coupled to each other, to a base or to an end effector by rotatable joints. Rotation of such a joint is driven by a motor, typically via a transmission gear. Play and inaccuracy in the manufacture of the motors and gears affects the accuracy with which the position and the speed of an end effector at the distal end of the robot arm can be controlled. Harmonic drive gears are widely used as transmission gear in robots, since they are practically backlash-free and achieve high reduction ratios. However, inevitable inaccuracies, such as eccentricity of a gearwheel or spline, would still cause the rotation speed of a joint to fluctuate even if its motor could be driven at a perfectly constant speed, so that the position of the joint can deviate from what one would expect based on knowing the position of the motor and the reduction ratio of the gear. This deviation is commonly referred to as kinematic error or transmission error.
The present disclosure describes a simple and cost efficient way of assessing and compensating kinematic error in a robot joint. In one aspect, the disclosure describes a method for assessing kinematic error in a joint which rotatably connects a proximal portion and a distal portion of a robot arm, the robot joint having associated with it a motor mounted in one of said portions and coupled to the other one of said portions for driving rotation of the joint by a transmission gear, and a sensor for measuring the rotation of the joint, the method comprising the steps of:
By keeping the gravity-induced torque constant, it can be ensured that speed fluctuations are indeed due to imperfections of the gear, or, at least, are not biased by gravity-induced deformation of the robot arm.
Motors 9b, 9c, 9d associated with joints 5b, 5c, 5d and transmission gears 10b, 10c, 10d connecting these motors to links 4b, 4b and 4c, respectively, are shown in
Typically, the transmission gear 10j is a harmonic gear in which a wave generator is rigidly coupled to an output shaft of motor 9j, and pressing teeth of a flex-spline into local engagement with a circular spline surrounding it. When the number of teeth of the circular spline is ic and that of the flex spline is if, the reduction ratio of the gear 10j is
Since the flex-spline is rotating in a direction opposite to that of the wave generator, points of the two currently in contact will meet again after the wave generator has rotated by 2πi
Each position controller 12j is connected to a feedback line which conveys a signal representative of the current position or rotation speed of its associated joint 4j. The signal can originate from different sources. Conventionally, and as shown in
The position controller 12j produces an output signal which is a sum of terms proportional to the difference between a desired current position qmot j of the motor derived target from the joint target angle qarm jtarget specified by the trajectory generator 11 under the assumption that both are strictly proportional and the actual current motor position q*mot,j derived from the signal of feedback line 14b, 14c. The output signal might be used directly for controlling input power to the motor 9a, 9b; in the case of
If the reduction ratio Rj of the transmission gear 10j was independent of the motor angle, a current joint angle q*arm,j of joint 5j could be calculated from a measured value q*mot,j of the motor angle using q**armj=Rjq*mot,j+q0 (q0 being a constant phase angle) with higher precision than it could be measured directly at the joint 5j itself. In fact, imperfections of the reduction gear 10j cause the reduction ratio Rj to vary slightly as a function of qmot j.
Another angle sensor 18j is associated with an output shaft of the transmission gear 10j, so as to obtain measured values q*arm,j of the joint angle directly and without any transmission gear in between.
The variation of the reduction ratio ij is detected from outputs of the sensors 7j, 18j by forming the difference, also referred to as kinematic error, Δqj(qmot j)=q*armj−(Rjqmot j+q0) where q*arm,j is measured at the same time as qmot,j is output. Alternatively, the variation might be derived from a time shift between the instant in which the joint angle, calculated from the motor angle as qarm,j=Rjqmot,j+q0 reaches a given value and the instant in which this value is actually measured.
When motor 9c is controlled to rotate at a constant speed {dot over (q)}mot,c too, all spectral components of the kinematic error Δqc at frequencies higher than the fundamental frequency of rotation of the joints Sb, Sc can be regarded as due to speed variations resulting from imperfections of transmission gear 10c.
The kinematic error is approximated by a sum of harmonic functions
wherein k is either an integer or an integer multiple of if/ic.
While controller 2 moves the robot arm 1 as described above, it collects measurements of Δqc(qmot
The adjustable parameters thus obtained are written into a kinematic error (KE) calculator 17c, enabling it determine, for any target angle output by trajectory generator 11, the corresponding kinematic error and its time derivative. By superimposing these upon the commands from the trajectory generator, the kinematic error is largely compensated, and the precision with which the displacement of the robot arm 1 is controlled can be improved considerably.
As described above, while the robot arm 1 is moved along the trajectory, the controller collects kinematic error data Δqb(qmot,b) from sensors 7b, 18b in order to assess the kinematic error of joint 5b.
While in the trajectory of
It should be noted that the transmission gear 10b, 10c . . . associated with each joint 5a-f of the robot arm 1 has a transmission ratio high enough so that while in the course of a trajectory the joint rotates through an angle range in which the gravity-induced torque acting on it can be held constant, the motor which drives the joint can carry out several complete revolutions. Any imperfections of the motor or of an input side of the transmission gear will take effect on the kinematic error at least once per revolution. So, while the robot arm is moving along the trajectory, the effect of such an imperfection can be observed several times, so that its frequency, phase and amplitude can be determined precisely.
Further, axis 6d of joint 5d is vertically oriented, and the center of gravity 16a of a distal portion comprising links 4d-f is located on it, so that in analogy to joint 5a, joint 5d can be rotated and its kinematic error assessed in this pose.
In a general aspect, the present disclosure describes a method for assessing kinematic error in a joint which rotatably connects a proximal portion and a distal portion of a robot arm, the robot joint having associated with it a motor mounted in one of said portions and coupled to the other one of said portions for driving rotation of the joint by a transmission gear, and a sensor for measuring the rotation of the joint, the method comprising the steps of: (a) determining a movement of the robot arm in which the joint, while being rotated from a start angle to an end angle, is subject to a constant gravity-induced torque; (b) controlling execution of said movement, and, in said movement, controlling the joint to rotate from the start angle to the end angle at a constant speed, (c) detecting speed fluctuations of the joint while it is being rotated from the start angle to the end angle; and (d) estimating the kinematic error based on the speed fluctuations.
By keeping the gravity-induced torque constant, it can be ensured that speed fluctuations are indeed due to imperfections of the gear, or, at least, are not biased by gravity-induced deformation of the robot arm.
Fluctuations may be due to imperfections on the motor side of the transmission gear or on its arm side. When the reduction ratio of the transmission gear is high enough to require several revolutions of the motor for rotating the joint from the start angle to the end angle, the effect of a motor-side imperfection can be observed repeatedly while executing the movement, so that the influence of noise on the estimated kinematic error can be reduced.
While steps b) and c) are preferably carried out by a dedicated electronic controller, this doesn't have to be so for step a). In fact, in most practical cases an appropriate movement can be determined without elaborate optimization.
For example, when the joint in question can have its axis of rotation brought into a vertical orientation, the amount of the torque to which the joint is subjected by the weight of its associated distal portion will not vary during the rotation, provided that internal joints of the distal portion do not move.
The method may therefore comprise a step of bringing the axis of rotation into vertical orientation prior to step b).
Another important special case is where two joints have parallel axes of rotation (or where, in a preparatory step, the axes of two joints are aligned to be parallel). In the description of this special case, the joint referred to above will be called the first joint, and the other the second joint. In that case a rotation speed of the second joint can be matched to that of the first joint so that the gravity-induced torque to which the first joint is subjected is constant throughout the rotation.
Preferably, these axes of rotation are horizontal. When the second joint is in the proximal portion, the gravity-induced torque can be held constant by controlling the rotation of the second joint to be identical in speed but opposite in direction to the rotation of the first joint. When the second joint is in the distal portion, the gravity-induced torque can be held constant by rotating the first and second joints in opposite directions and controlling the speed of the second joint so as to keep constant a lateral displacement between the axis of the first joint and the center of gravity of the distal portion.
Since when the second joint is in the distal portion, the range of angles in which the first joint can be rotated while holding said lateral displacement constant is limited, it can be expedient to carry out step c) at least twice, under different lateral displacements and to base the estimation of step d) on data collected in said multiple steps c).
The speed of rotation should be low enough for torque induced by centrifugal and Coriolis forces to be small compared to gravity induced torque, preferably less than 10% or less than 5% of the gravity induced torque.
According to another aspect of the invention, the object is achieved by a robotic system comprising a robot arm having a proximal portion, a distal portion, a joint connecting said proximal and distal portions, a motor mounted in one of said portions, a transmission gear connecting the motor to the other one of said portions for driving rotation of the joint, a controller for controlling the robot arm to carry out a predetermined movement, wherein the controller is adapted to carry out at least steps b) and c) of the method described above.
Finally, the object is achieved by a computer software product comprising a plurality of instructions which, when executed by a processor, cause the processor to carry out at least steps b) and c) of the above method or to operate as the controller in the above robotic system.
Further features and advantages of the invention will become apparent from the subsequent description of embodiments, referring to the appended drawings.
All references, including publications, patent applications, and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and were set forth in its entirety herein.
The use of the terms “a” and “an” and “the” and “at least one” and similar referents in the context of describing the invention (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The use of the term “at least one” followed by a list of one or more items (for example, “at least one of A and B”) is to be construed to mean one item selected from the listed items (A or B) or any combination of two or more of the listed items (A and B), unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate the invention and does not pose a limitation on the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the invention.
Preferred embodiments of this invention are described herein, including the best mode known to the inventors for carrying out the invention. Variations of those preferred embodiments may become apparent to those of ordinary skill in the art upon reading the foregoing description. The inventors expect skilled artisans to employ such variations as appropriate, and the inventors intend for the invention to be practiced otherwise than as specifically described herein. Accordingly, this invention includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the invention unless otherwise indicated herein or otherwise clearly contradicted by context.
The instant application claims priority to International Patent Application No. PCT/EP2022/063354, filed May 17, 2022, which is incorporated herein in its entirety by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/EP2022/063354 | May 2022 | WO |
Child | 18948710 | US |