WO2023222208A1 - Reducing kinematic error - Google Patents

Reducing kinematic error Download PDF

Info

Publication number
WO2023222208A1
WO2023222208A1 PCT/EP2022/063355 EP2022063355W WO2023222208A1 WO 2023222208 A1 WO2023222208 A1 WO 2023222208A1 EP 2022063355 W EP2022063355 W EP 2022063355W WO 2023222208 A1 WO2023222208 A1 WO 2023222208A1
Authority
WO
WIPO (PCT)
Prior art keywords
vector
feedback
motor
frequency
joint
Prior art date
Application number
PCT/EP2022/063355
Other languages
French (fr)
Inventor
Arne WAHRBURG
Richard Roberts
Mikael NORRLÖF
Stig Moberg
Original Assignee
Abb Schweiz Ag
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Abb Schweiz Ag filed Critical Abb Schweiz Ag
Priority to PCT/EP2022/063355 priority Critical patent/WO2023222208A1/en
Publication of WO2023222208A1 publication Critical patent/WO2023222208A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1641Programme controls characterised by the control loop compensation for backlash, friction, compliance, elasticity in the joints
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1653Programme controls characterised by the control loop parameters identification, estimation, stiffness, accuracy, error analysis
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/39Robotics, robotics to robotics hand
    • G05B2219/39191Compensation for errors in mechanical components
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41122Mechanical vibrations in servo, antihunt also safety, stray pulses, jitter
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/41Servomotor, servo controller till figures
    • G05B2219/41396Estimate acceleration from three phase current values
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49197Gear
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05BCONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
    • G05B2219/00Program-control systems
    • G05B2219/30Nc systems
    • G05B2219/49Nc machine tool, till multiple
    • G05B2219/49292Harmonic gear, transmission, strain wave gear

Definitions

  • the present invention relates to methods and apparatus for reducing kine- matic error when controlling the movement of a joint in a robot manipulator.
  • a robot manipulator 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 reduction gear. Play and in- accuracy 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 reduction gears in robots, since they are practically play-free, but 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 de- viate from what one would expect based knowing the position of the motor and the transmission ratio of the reduction gear. This deviation is commonly referred to as kinematic error or transmission error.
  • the object of the present invention is to provide simple and cost-efficient way of reducing kinematic error in a robot joint.
  • this object is achieved by a method for reducing kinematic error in a j-th joint between distal and proxi- mal portions of a manipulator, the joint having associated to it a motor mounted in one of said portions and coupled to the other one of said por- tions for driving rotation of the distal portion relative to the proximal portion by a reduction gear, the method comprising the steps of a.
  • a kinematic correction generator which is program- mable using a parameter vector and outputting, based on said parameter vector and a position input, a kinematic cor- rection which is a sum of at least one sinusoid having a frequency which is a frequency of rotation of the motor or of a periodic event in the reduction gear occurring at a higher frequency than the rotation of the distal portion, or an integer multiple thereof, and an amplitude and a phase defined by said parameter vector, b. outputting to the motor a first drive control signal specifying a motor speed which is a sum of a standard speed and a first kinematic correction output by the kinematic correction gen- erator based on the first parameter vector; c.
  • the above processing is simplified by choosing the first parameter vector to define an amplitude of the at least one sinusoid to be zero.
  • the sinusoid can be defined as a weighted sum of sine and co- sine functions; in that case weighting coefficients of both would have to be zero.
  • it can be defined as a sine or cosine function having an amplitude and a phase; when the amplitude is zero here, the phase has no physical significance and can be assigned any value.
  • the standard speed should be constant or, at least, substantially constant.
  • the standard speed can be regarded as substantially constant if effects of external forces acting on the distal portion on the evaluation signal, due e.g. to the weight of the distal portion driving or opposing the movement of the distal portion, can be suppressed by high-pass filtering the evaluation sig- nal. Due to the reduction gear, the speed of rotation of the motor will be much higher than that of the joint. Since the external forces are usually pro- portional to a sinusoid of the joint angle, these can be suppressed by set- ting a cutoff frequency lower than the motor frequency and higher than the motor frequency multiplied with the reduction ratio of the reduction gear.
  • the standard speed or a harmonic thereof should correspond to a reso- nance frequency of the manipulator, i.e. the motor frequency needed to drive the distal portion at the standard speed or a harmonic thereof, prefer- ably the second harmonic, should equal the resonance frequency.
  • This speed doesn’t have no be known in advance; rather, finding it can be a preparatory step of the method of the invention.
  • the distal portion can be controlled to rotate at various speeds, and the speed where vibration of the manipulator is strong- est can be chosen as the standard speed.
  • the distal portion can be controlled to as- sume a configuration in which its moment of inertia is maximized, and which should be maintained while the method is carried out.
  • the evaluation signal can represent any measurable quantity that is sus- ceptible to fluctuate due to an imperfection of the motor or the reduction gear. It could be the speed of rotation of the distal member itself, as meas- ured e.g. by a dedicated angle sensor built into the manipulator for measur- ing rotation of the joint on a downstream side of the reduction gear, a laser scanner or other optical sensing means for observing the manipulator from outside, or the like.
  • the evaluation signal is representative of motor torque, since suitable sensing circuitry ex- ists in many legacy manipulators, so that when the method of the invention makes use of this circuitry, it can be implemented in such manipulators by a control software update.
  • a harmonic drive gear When a harmonic drive gear is used as a reduction gear, its wave genera- tor will usually be connected to the motor output shaft, whereas its flexspline is connected to the output shaft of the reduction gear, and the cir- cular spline is fixed.
  • the number of teeth of the circular spline is i c
  • that of the flexspline is i f
  • the orientation of the wave generator relative to the flexspline becomes identical after every rotations of the wave generator ant the motor output shaft, causing contributions to the kinematic error at times the rotation frequency of the motor, where m is a small integer. Since is if is slightly smaller than i c , contributions of the flexspline and the circular spline to the kinematic error tend to have frequencies that differ slightly from those of the motor and the wave generator.
  • the kinematic correction will be a sum of two or more sinusoids.
  • the kinematic correction generator can best be provided by programming a processor to operate as such, in particular by updating a control processor of a legacy manipulator to enable it to operate as the kinematic correction generator, or by updating the third parameter vector whenever mainte- nance or repair work has been carried out at the corresponding joint.
  • a robotic system comprising a manipulator having a proximal portion, a distal portion, a joint con- necting said proximal and distal portions and a motor for driving rotation of the joint, and a controller connected to the motor and adapted to carry out at least steps b. to i. of the method described above.
  • the object is achieved by a computer soft- ware product comprising a plurality of instructions which, when executed by a processor, cause the processor to carry out at least steps b. to i. of the method described above.
  • Fig.1 is a block diagram of a robotic system implementing the inven- tion
  • Fig. 2 is a perspective view of the manipulator of the system of Fig. 1 ;
  • Fig. 3 is a cross section of a harmonic drive gear
  • Fig. 4 is a pose assumed by the manipulator while carrying out the method for one of its joints.
  • Fig. 5 is a pose assumed by the manipulator while carrying out the method for another of its joints.
  • Fig. 1 is a block diagram of a robot system comprising an articulated robot arm 1 and a controller 2, in which the method of the invention can be ap- plied.
  • the joint 5 5 connecting links 4 4 , 4 5 is concealed behind link 4 5 .
  • Each joint 5 j enables a rotation of the link 4j on its distal side by an axis 6 j .
  • Axis 6 1 is vertical, axes 6 2 and 6 3 are hori- zontal; the orientations of the other axes vary.
  • Each joint 5 j has a motor as- sociated to it for driving its rotation; the motor can be provided in a member on the proximal side of the joint and be connected to a member on the dis- tal side thereof, or vice versa.
  • joints 5 1 , 6 2 , 6 3 have their motors in members on their proximal side, i.e. in base 3 and links 4 1 , 4 5 , respectively; joints 5 3 , 5 4 and 5 5 have the motors on their distal side, in links 4 3 , 4 4 and 4 5 , respectively.
  • Motors 9 2 , 9 3 , 9 4 associated to joints 5 2 , 5 3 , 64 and reduction gears 10 2 , 10 3 , 10 4 connecting these motors to links 4 2 , 4 2 and 4 3 , respectively, are shown in Fig. 1 .
  • Each motor 9 j is provided with a current sensor 7 j for measuring its winding current. Since measurement data from sensor 7 j are representa- tive of a torque applied by the motor 9 j they will be referred to below as torque data .
  • a resolver 8 j is placed at each joint 5 j so as to measure its rotation angle
  • the reduction gear 10 j is a harmonic gear, shown in cross section in Fig. 3, in which a wave generator 16 is rigidly coupled to an output shaft 17 of motor 9 j , and is pressing teeth of a flexspline 18 into local engagement with a cir- cular spline 19 surrounding it.
  • a wave generator 16 is rigidly coupled to an output shaft 17 of motor 9 j , and is pressing teeth of a flexspline 18 into local engagement with a cir- cular spline 19 surrounding it.
  • Controller 2 comprises a trajectory generator 11 for outputting, with an ap- basementte timing, position and speed commands to joint controllers 12 j asso- ciated to a specific joint 5 j as would be required for having a reference point of link 4 6 or of the tool mounted to it follow a predetermined trajectory as- suming that the joints are free from kinematic error.
  • Each joint controller 12 j further has associated to it a kinematic error calculator 13 j for calculating a kinematic error correction and adders 14 j , 15 j for superimposing the kinematic error correction onto the commands output by the trajectory generator 11 , and providing corrected commands will be explained in detail below.
  • the method of the invention can be carried out for each joint 5 j at a time.
  • a counting index i is set to 1
  • a fluctuation reference Fo is set to 0, and a step width is initialized.
  • a rotation speed for motor 9 j is set (S2), and trajectory generator 11 controls a rotation around axis 6j at nominally constant speed by outputting angle commands q to motor 9 j that have a constant rate of change
  • step 3 while the joint 5 j is being rotated at the speed set in step S2, im- perfections of the motor 9 j and the reduction gear 10j cause the current de- tected by sensor 7 j to fluctuate.
  • a measure F i of this fluctuation e.g a standard deviation of currents measured while carrying out the rotation, is recorded (S4).
  • step S5 If in step S5, F i -F i - 1 is found to be positive, and is above a pre-de- termined threshold, i is incremented and is incremented by in step S6, and the method returns to step S3. If Fj-Fj.i is found to be negative, Aq is multiplied by a factor ⁇ between 0 and -1 (S7) before proceeding to step S6. When successive multiplications by ⁇ have caused to drop below the threshold, the amount F of fluctuation has reached a maximum, and it can be assumed that is the critical speed of joint 5 j .
  • step S3 a series of motor positions and associated torque data frorn sensor 7 j are recorded.
  • the last one of these series comprising N pairs of measurement values and motor or arm positions at which these were obtained is retained for evaluation.
  • the positions may be taken from commands of the tra- jectory generator, preferably they are derived from readings from re- solver 8j taken simultaneously with the torque measurement values.
  • a spectral analysis of this series may be carried out in order to find out the frequency components that provide the largest contribution to the fluctuation of the torque data.
  • com- ponents which have been found to provide an important contribution in other manipulators will do so here, too.
  • the parameter vector p contains a sine and cosine value
  • a S,i ,A c,i for each frequency component (which is equivalent to characteriz- ing the component by an amplitude and a phase) and a constant offset C to handle a constant bias.
  • step S8 a second parameter vector arbitrarily defined, and is transmitted to kinematic error calculator 13 j , thereby enabling it to output a kinematic error compensation motor angle output by trajectory generator 11.
  • step S11 another rotation around axis 6j is carried out, in which the motor receives commands to which compensations have been added in adders 14 j , 15 j .
  • Torque data resulting therefrom are collected, and are evaluated (S12) as described above in steps S8, S9 for torque data b, whereby a second feedback parameter vec- tor is obtained.
  • Fig. 6 is a series of diagrams showing components A S,i ,A c,i of an arbitrary frequency component k i of a parameter vector. It should be understood that this two- dimensional representation is chosen only because more than two dimen- sions are difficult to illustrate graphically; i.e. what the diagrams show are in fact two-dimensional projections of multi-dimensional vectors.
  • the left-hand part of each diagram shows in solid lines components of a parameter vec- tor used by kinematic error calculator 13j to calculate the kinematic error compensation according to eq. (2); the right-hand part shows components of the parameter vector extracted from the torque data using eq. (1).
  • Fig. 6 is a series of diagrams showing components A S,i ,A c,i of an arbitrary frequency component k i of a parameter vector. It should be understood that this two- dimensional representation is chosen only because more than two dimen- sions are difficult to illustrate graphically; i.e. what the diagrams show
  • This parameter vector p” is transmitted to kinematic error calculator 13j in step S13, so as to cause it, in the future, to calculate the kinematic error correction by inserting components of p" in eq. (2).

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

A method is proposed for reducing kinematic error in a joint (5j) between a distal portion and a proximal portion of a manipulator (1), the joint (5j) having associated to it a motor (9j) mounted in one of said portions and coupled to the other one of said portions for driving rotation of the distal portion relative to the proximal portion by a reduction gear (10j). The method comprising the steps of: a. providing a kinematic correction generator (13j) which is programmable using a parameter vector (0, p'p") and outputting, based on said parameter vector and a position (q mot,j ) input, a kinematic correction (8qke, 8qke) which is a sum of at least one sinusoid having a frequency (k i) which is a frequency of rotation of the motor (9j) or of a periodic event in the reduction gear (10j) occurring at a higher frequency than the rotation of the distal portion, or an integer multiple thereof, and an amplitude and a phase defined by said parameter vector (0, p', p"), b. outputting to the motor a first drive control signal specifying a motor speed which is a sum of a standard speed (qmot,j) and a first kinematic correction (Eqke) output by the kinematic correction generator (13j) based on a first parameter vector (0); c. extracting, from an evaluation signal (T) received from the joint (5j) in response to the first drive control signal, at least one frequency component having the frequency of the at least one sinusoid, and determining a first feedback vector (p) defining a first feedback amplitude (Ai,j) and a first feedback phase (i9ii7) of said frequency component, d. outputting to the motor (9j) a second drive control signal specifying a motor speed (qmot,j + Eqke) which is a sum of the standard speed (qmot,j) and a second kinematic correction (Eqfke) output by the kinematic correction generator (13j) based on a second parameter vector (p'); e. extracting, from an evaluation signal (T) received from the joint (5j) in response to the second drive control signal, a frequency component having the frequency of the at least one sinusoid, and determining a second feedback vector (p) defining a second feedback amplitude (Ai,j) and a second feedback phase (Oi,j) of said frequency component, f. subtracting said first feedback vector (p) from said second feedback vector (p) to obtain a feedback difference vector (p); g. finding a transformation which transforms said feedback difference vector (p) into a difference (p'- 0) between second and first parameter vectors, h. applying the transformation to the second feedback vector (p) to obtain a third parameter vector (p"), programming the kinematic correction generator (13j) using the third parameter vector (p").

Description

Reducing kinematic error
The present invention relates to methods and apparatus for reducing kine- matic error when controlling the movement of a joint in a robot manipulator.
A robot manipulator 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 reduction gear. Play and in- accuracy 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 reduction gears in robots, since they are practically play-free, but 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 de- viate from what one would expect based knowing the position of the motor and the transmission ratio of the reduction gear. This deviation is commonly referred to as kinematic error or transmission error.
The object of the present invention is to provide simple and cost-efficient way of reducing kinematic error in a robot joint.
According to an aspect of the present invention, this object is achieved by a method for reducing kinematic error in a j-th joint between distal and proxi- mal portions of a manipulator, the joint having associated to it a motor mounted in one of said portions and coupled to the other one of said por- tions for driving rotation of the distal portion relative to the proximal portion by a reduction gear, the method comprising the steps of a. providing a kinematic correction generator which is program- mable using a parameter vector and outputting, based on said parameter vector and a position input, a kinematic cor- rection which is a sum of at least one sinusoid having a frequency which is a frequency of rotation of the motor or of a periodic event in the reduction gear occurring at a higher frequency than the rotation of the distal portion, or an integer multiple thereof, and an amplitude and a phase defined by said parameter vector, b. outputting to the motor a first drive control signal specifying a motor speed which is a sum of a standard speed and a first kinematic correction output by the kinematic correction gen- erator based on the first parameter vector; c. extracting, from an evaluation signal received from the joint in response to the first drive control signal, at least one fre- quency component having the frequency of the at least one sinusoid, and determining a first feedback vector defining a first feedback amplitude and a first feedback phase of said frequency component, d. outputting to the motor a second drive control signal specify- ing a motor speed which is a sum of the standard speed and a second kinematic correction output by the kinematic cor- rection generator based on the second parameter vector; e. extracting, from an evaluation signal received from the joint in response to the second drive control signal, a frequency component having the frequency of the at least one sinus- oid, and determining a second feedback vector defining a second feedback amplitude and a second feedback phase of said frequency component, f. subtracting said first feedback vector from said second feed- back vector to obtain a feedback difference vector; g. finding
Figure imgf000005_0001
transformation which transforms said feed- back difference vector into a difference between second and first parameter vectors, h. applying the transformation to the first feedback vector
Figure imgf000005_0002
to obtain a third parameter vector, i. programming the kinematic correction generator using the third parameter vector.
In a preferred embodiment, the above processing is simplified by choosing the first parameter vector to define an amplitude of the at least one sinusoid to be zero. The sinusoid can be defined as a weighted sum of sine and co- sine functions; in that case weighting coefficients of both would have to be zero. Alternatively it can be defined as a sine or cosine function having an amplitude and a phase; when the amplitude is zero here, the phase has no physical significance and can be assigned any value.
In order to facilitate processing of the evaluation signal, the standard speed should be constant or, at least, substantially constant.
The standard speed can be regarded as substantially constant if effects of external forces acting on the distal portion on the evaluation signal, due e.g. to the weight of the distal portion driving or opposing the movement of the distal portion, can be suppressed by high-pass filtering the evaluation sig- nal. Due to the reduction gear, the speed of rotation of the motor will be much higher than that of the joint. Since the external forces are usually pro- portional to a sinusoid of the joint angle, these can be suppressed by set- ting a cutoff frequency lower than the motor frequency and higher than the motor frequency multiplied with the reduction ratio of the reduction gear. The standard speed or a harmonic thereof should correspond to a reso- nance frequency of the manipulator, i.e. the motor frequency needed to drive the distal portion at the standard speed or a harmonic thereof, prefer- ably the second harmonic, should equal the resonance frequency.
This speed doesn’t have no be known in advance; rather, finding it can be a preparatory step of the method of the invention. Specifically, in a prepara- tory stage of the method, the distal portion can be controlled to rotate at various speeds, and the speed where vibration of the manipulator is strong- est can be chosen as the standard speed.
It can be assumed that a robot controller is trying to find the critical speed when a same movement of the distal portion is carried out repeatedly at dif- ferent speeds, the speed changing from one iteration to the next, and the speed difference between successive iterations occasionally changing its sign, and/or the amount of the speed difference decreasing on each change of sign.
Since the moment of inertia of the manipulator or of parts of it is variable depending on configuration, and for the method of the invention it is desira- ble to have a low critical speed, the distal portion can be controlled to as- sume a configuration in which its moment of inertia is maximized, and which should be maintained while the method is carried out.
The evaluation signal can represent any measurable quantity that is sus- ceptible to fluctuate due to an imperfection of the motor or the reduction gear. It could be the speed of rotation of the distal member itself, as meas- ured e.g. by a dedicated angle sensor built into the manipulator for measur- ing rotation of the joint on a downstream side of the reduction gear, a laser scanner or other optical sensing means for observing the manipulator from outside, or the like. According to a preferred embodiment, the evaluation signal is representative of motor torque, since suitable sensing circuitry ex- ists in many legacy manipulators, so that when the method of the invention makes use of this circuitry, it can be implemented in such manipulators by a control software update.
When a harmonic drive gear is used as a reduction gear, its wave genera- tor will usually be connected to the motor output shaft, whereas its flexspline is connected to the output shaft of the reduction gear, and the cir- cular spline is fixed. When the number of teeth of the circular spline is ic , and that of the flexspline is if, the orientation of the wave generator relative to the flexspline becomes identical after every rotations of the wave
Figure imgf000007_0001
generator ant the motor output shaft, causing contributions to the kinematic error at times the rotation frequency of the motor, where m is a small
Figure imgf000007_0003
integer. Since is if is slightly smaller than ic, contributions of the flexspline and the circular spline to the kinematic error tend to have frequencies that differ slightly from those of the motor and the wave generator.
Experiments have shown that for most harmonic drive gears the most im- portant contribution of the flexspline and the circular spline is at is 2
Figure imgf000007_0002
times the rotation frequency.
In order to take account of various sources contributing to the kinematic er- ror, in most practical cases the kinematic correction will be a sum of two or more sinusoids.
The kinematic correction generator can best be provided by programming a processor to operate as such, in particular by updating a control processor of a legacy manipulator to enable it to operate as the kinematic correction generator, or by updating the third parameter vector whenever mainte- nance or repair work has been carried out at the corresponding joint. According to another aspect of the present invention, the object is achieved by a robotic system comprising a manipulator having a proximal portion, a distal portion, a joint con- necting said proximal and distal portions and a motor for driving rotation of the joint, and a controller connected to the motor and adapted to carry out at least steps b. to i. of the method described above.
According to a further aspect, the object is achieved by a computer soft- ware product comprising a plurality of instructions which, when executed by a processor, cause the processor to carry out at least steps b. to i. of the method described above.
Further features and advantages of the invention will become apparent from the subsequent description of embodiments, referring to the appended drawings.
Fig.1 is a block diagram of a robotic system implementing the inven- tion;
Fig. 2 is a perspective view of the manipulator of the system of Fig. 1 ;
Fig. 3 is a cross section of a harmonic drive gear;
Fig. 4 is a pose assumed by the manipulator while carrying out the method for one of its joints; and
Fig. 5 is a pose assumed by the manipulator while carrying out the method for another of its joints. Fig. 1 is a block diagram of a robot system comprising an articulated robot arm 1 and a controller 2, in which the method of the invention can be ap- plied. The robot arm 1 , shown in more detail in Fig. 2, has a stationary base 3 fixed to a support, and a plurality of links 4j, j=1 , 6 rotatably connected to each other and to the base 3 by joints 5j. The joint 55 connecting links 44, 45 is concealed behind link 45. Each joint 5j enables a rotation of the link 4j on its distal side by an axis 6j. Axis 61 is vertical, axes 62 and 63 are hori- zontal; the orientations of the other axes vary. Each joint 5j has a motor as- sociated to it for driving its rotation; the motor can be provided in a member on the proximal side of the joint and be connected to a member on the dis- tal side thereof, or vice versa. In the robot arm of Fig. 2, joints 51 , 62, 63 have their motors in members on their proximal side, i.e. in base 3 and links 41 , 45, respectively; joints 53, 54 and 55 have the motors on their distal side, in links 43, 44 and 45, respectively.
Motors 92, 93, 94 associated to joints 52, 53, 64 and reduction gears 102, 103, 104 connecting these motors to links 42, 42 and 43, respectively, are shown in Fig. 1 . Each motor 9j is provided with a current sensor 7j for measuring its winding current. Since measurement data from sensor 7j are representa- tive of a torque applied by the motor 9j they will be referred to below as torque data
Figure imgf000009_0002
. A resolver 8j is placed at each joint 5j so as to measure its rotation angle
Figure imgf000009_0003
The reduction gear 10j is a harmonic gear, shown in cross section in Fig. 3, in which a wave generator 16 is rigidly coupled to an output shaft 17 of motor 9j, and is pressing teeth of a flexspline 18 into local engagement with a cir- cular spline 19 surrounding it. When the number of teeth of the circular spline 19 is ic and that of the flexspline 18 is if, the transmission ratio of the gear Since the flexspline is 18 rotating in a direction opposite to
Figure imgf000009_0001
e generator 16, points of the two currently in contact will meet again after the wave generator 16 has rotated slightly less than
Figure imgf000010_0001
a complete turn.
Controller 2 comprises a trajectory generator 11 for outputting, with an ap- propriate timing, position and speed commands to joint controllers 12j asso- ciated to a specific joint 5j as would be required for having a reference point of link 46 or of the tool mounted to it follow a predetermined trajectory as- suming that the joints are free from kinematic error. Each joint controller 12j further has associated to it a kinematic error calculator 13j for calculating a kinematic error correction
Figure imgf000010_0006
and adders 14j, 15j for superimposing the kinematic error correction onto the commands
Figure imgf000010_0004
output by the trajectory generator 11 , and providing corrected commands
Figure imgf000010_0005
Figure imgf000010_0002
will be explained in detail below.
Figure imgf000010_0003
The method of the invention can be carried out for each joint 5j at a time.
In a first step of the method of the invention (S1 , see Fig. 5), the manipula- tor 1 is brought into a configuration where a resonance frequency of it com- ponents on the distal side of joint 5j is maximized by moving the centres of gravity of links 4j-46 as far away from axis 6j as possible, as shown in Fig. 4 for j=2. A counting index i is set to 1 , a fluctuation reference Fo is set to 0, and a step width
Figure imgf000010_0007
is initialized.
A rotation speed for motor 9j is set (S2), and trajectory generator 11
Figure imgf000010_0008
controls a rotation around axis 6j at nominally constant speed by outputting angle commands q to motor 9j that have a constant rate of change
Figure imgf000010_0009
Figure imgf000010_0010
In step 3, while the joint 5j is being rotated at the speed set in step S2, im- perfections of the motor 9j and the reduction gear 10j cause the current de- tected by sensor 7j to fluctuate. A measure Fi of this fluctuation, e.g a standard deviation of currents measured while carrying out the rotation, is recorded (S4).
If in step S5, Fi-Fi - 1is found to be positive, and is above a pre-de-
Figure imgf000011_0003
termined threshold, i is incremented and
Figure imgf000011_0004
is incremented by
Figure imgf000011_0005
in step S6, and the method returns to step S3. If Fj-Fj.i is found to be negative, Aq is multiplied by a factor ε between 0 and -1 (S7) before proceeding to step S6. When successive multiplications by ε have caused
Figure imgf000011_0012
to drop below the threshold, the amount F of fluctuation has reached a maximum, and it can be assumed that is the critical speed of joint 5j.
Figure imgf000011_0011
Each time step S3 is executed, a series of motor positions and associated torque data frorn sensor 7j are recorded. The last one of these series,
Figure imgf000011_0006
comprising N pairs of measurement values
Figure imgf000011_0007
and motor or arm positions at which these were obtained is retained for evaluation. The positions may be taken from commands
Figure imgf000011_0008
of the tra- jectory generator, preferably they are derived from readings
Figure imgf000011_0009
from re- solver 8j taken simultaneously with the torque measurement values.
Optionally, a spectral analysis of this series may be carried out in order to find out the frequency components that provide the largest contribution to the fluctuation of the torque data. Else it may simply be assumed that com- ponents which have been found to provide an important contribution in other manipulators will do so here, too.
Figure imgf000011_0001
of M harmonics is fitted to the N collected data points with solving for the parame-
Figure imgf000011_0010
ter vector p with
Figure imgf000011_0002
Figure imgf000012_0001
wherein kb i =
Figure imgf000012_0002
refers to the important frequency components men- tioned above. If it is known that the most important frequency components are e.g. at twice the rotation frequency of the motor 9j and at times
Figure imgf000012_0004
the rotation frequency of the motor 9j, we may set M = 2, k2 = 2 for the second harmonic of the motor rotation and for a nearby contri-
Figure imgf000012_0003
bution of the harmonic gear. The parameter vector p, referred to below as the feedback parameter vector, contains a sine and cosine value
AS,i,Ac,i for each frequency component (which is equivalent to characteriz- ing the component by an amplitude and a phase) and a constant offset C to handle a constant bias.
If the joint is subject to position-dependent gravity load (as is the case for joint 52 in Fig. 4), the torque data can be subjected to high-pass filtering (S8) prior to their evaluation in step S9. The transmission ratio of gear 10j being Rj, the filtering threshold frequency should be between the rotation frequency of motor 9j and Rj times this frequency. In step S10, a second parameter vector arbitrarily defined,
Figure imgf000013_0001
and is transmitted to kinematic error calculator 13j, thereby enabling it to output a kinematic error compensation
Figure imgf000013_0002
motor angle output by trajectory generator 11. In step S11 , another rotation around axis 6j is carried out, in which the motor receives commands to which compensations
Figure imgf000013_0003
have been
Figure imgf000013_0005
added in adders 14j, 15j. Torque data resulting
Figure imgf000013_0004
therefrom are collected, and are evaluated (S12) as described above in steps S8, S9 for torque data b, whereby a second feedback parameter vec- tor is obtained.
Figure imgf000013_0006
Processing of these data (S12) is described referring to Fig. 6. Fig. 6 is a series of diagrams showing components AS,i,Ac,i of an arbitrary frequency component ki of a parameter vector. It should be understood that this two- dimensional representation is chosen only because more than two dimen- sions are difficult to illustrate graphically; i.e. what the diagrams show are in fact two-dimensional projections of multi-dimensional vectors. The left-hand part of each diagram shows in solid lines components of a parameter vec- tor used by kinematic error calculator 13j to calculate the kinematic error compensation according to eq. (2); the right-hand part shows components of the parameter vector extracted from the torque data using eq. (1). Fig. 6A illustrates the case of step S3 where the parameter vector used by the kinematic error calculator 13j is 0, but a vector p #= 0 (of which compo- nents pi are shown) is derived from the torque data in step S9.
Fig. 6B illustrates components
Figure imgf000014_0003
of the second parameter vector of the second feedback vector p resulting from
Figure imgf000014_0002
it. If there wasn’t the underlying imperfection that yields the first feedback vector p #= 0 for a parameter vector 0, the second parameter vector
Figure imgf000014_0005
could be expected to produce an ideal feedback vector
Figure imgf000014_0004
where
Figure imgf000014_0006
is related to
Figure imgf000014_0007
by an angle βi between the two and a gain factor
Figure imgf000014_0001
are parameters of a transformation that would transform components p'i of Fig. 6B into com- ponents
Figure imgf000014_0008
With these parameters known, it is possible to find a parameter vector p" which, by the same transformation, is transformed into -p (Fig. 6C).
This parameter vector p” is transmitted to kinematic error calculator 13j in step S13, so as to cause it, in the future, to calculate the kinematic error correction by inserting components of p" in eq. (2).
This process is carried out for one joint after the other. When afterwards (S14) the controller 2 enters production mode with all kinematic error calcu- lator 13j, applying the correction of eq. 2, speed fluctuations of the reference point due to imperfections of the reduction gears 10j are substantially can- celled. Reference numerals
1 manipulator
2 controller
3 base
4 link
5 joint
6 axis
7 acceleration sensor
8 resolver
9 motor
10 harmonic drive gear
11 trajectory generator
12 joint controller
13 kinematic error calculator
14 adder
15 adder
16 wave generator
17 output shaft
18 flexspline
19 circular spline

Claims

Claims
1 . A method for reducing kinematic error in a joint (5j) between a distal portion and a proximal portion of a manipulator (1), the joint (5j) having associated to it a motor (9j) mounted in one of said portions and coupled to the other one of said portions for driving rotation of the distal portion relative to the proximal por- tion by a reduction gear (10j), the method comprising the steps of: a. providing a kinematic correction generator (13j) which is pro- grammable using a parameter vector (0, p’, p") and output- ting, based on said parameter vector and a position (qmot,j) input, a kinematic correction which is a sum of at
Figure imgf000016_0003
least one sinusoid having a frequency (ki) which is a frequency of rotation of the motor (9j) or of a periodic event in the reduction gear (10j) occurring at a higher frequency than the rotation of the distal portion, or an integer multiple thereof, and an amplitude and a phase defined by said parameter vector (0, p’, p”), b. outputting to the motor a first drive control signal specifying a motor speed which is a sum of a standard speed
Figure imgf000016_0002
and a first kinematic correction
Figure imgf000016_0004
output by the kinematic correction generator (13j) based on a first parameter vector (0); c. extracting, from an evaluation signal
Figure imgf000016_0005
received from the joint (5j) in response to the first drive control signal, at least one frequency component having the frequency (ki) of the at least one sinusoid, and determining a first feedback vector (p) defining a first feedback amplitude
Figure imgf000016_0001
and a first feed- back phase of said frequency component, d. outputting to the motor (9j) a second drive control signal specifying a motor speed which is a sum of
Figure imgf000017_0001
the standard speed and a second kinematic correc
Figure imgf000017_0002
- tion output by the kinematic correction generator (13j)
Figure imgf000017_0003
based on a second parameter vector (p’); e. extracting, from an evaluation signal
Figure imgf000017_0004
received from the joint (5j) in response to the second drive control signal, a fre- quency component having the frequency (ki ) of the at least one sinusoid, and determining a second feedback vector (p) defining a second feedback amplitude and a second
Figure imgf000017_0005
feedback phase of said frequency component,
Figure imgf000017_0006
f. subtracting said first feedback vector (p) from said second feedback vector
Figure imgf000017_0007
to obtain a feedback difference vector
Figure imgf000017_0008
g. finding a transformation which transforms said feedback dif- ference vector (p) into a difference (p’ - 0) between second and first parameter vectors, h. applying the transformation to the second feedback vector (p) to obtain a third parameter vector (p”), i. programming the kinematic correction generator (13j) using the third parameter vector (p”). The method of claim 1 , wherein the amplitude defined by said first parameter vector (0) is zero. The method of claim 1 or 2, wherein the standard speed
Figure imgf000017_0009
is a constant speed. The method of any of the preceding claims, wherein the step of extracting the frequency component having the frequency of the at least one sinusoid comprises high-pass filtering (S8) the eval- uation signal , a cutoff frequency optionally being lower than
Figure imgf000017_0010
the motor frequency and higher than the motor frequency multi- plied with the reduction ratio (Rj) of the reduction gear. The method of any of the preceding claims, wherein the stand- ard speed
Figure imgf000018_0001
or a harmonic thereof corresponds to a reso- nance frequency of the manipulator (1). The method of claim 5, further comprising at least one of the fol- lowing steps:
- controlling the distal portion to rotate at various speeds (S3) and choosing (S5) as the standard speed the one of
Figure imgf000018_0002
those various speeds where vibration of the manipulator (1) is strongest;
- controlling (S1) the distal portion to assume a configuration where its moment of inertia is maximized. The method of any of the preceding claims, wherein the evalua- tion signal is representative of motor torque.
Figure imgf000018_0006
The method of any of the preceding claims, wherein the reduc- tion gear (10j) is a harmonic gear having a circular spline (19) with ic teeth and a flexspline (18) with if teeth, and the fre- quency of the at least one sinusoid is times the rotation fre-
Figure imgf000018_0003
quency of the motor (9j) or an integer multiple thereof. The method of claim 8, wherein the integer multiple is
Figure imgf000018_0004
times the rotation frequency. The method of any of the preceding claims, wherein the kine- matic correction is a sum of two or more sinusoids.
Figure imgf000018_0005
The method of any of the preceding claims, wherein the step of providing the kinematic correction generator (13j) comprises pro- gramming a processor to operate as the kinematic correction generator. A robotic system comprising
- a manipulator (1) having a proximal portion, a distal portion, a joint connecting (5j) said proximal and distal portions and a motor (9j) for driving rotation of the joint (5j) , - a controller (12j) connected to the motor (9j) and adapted to carry out at least steps b. to i. of the method according to one of claims 1 to 11. A computer software product comprising a plurality of machine- readable instructions which, when executed by a processor (13), cause the processor to carry out at least steps b.to i. of the method according to any of claims 1 to 11 .
PCT/EP2022/063355 2022-05-17 2022-05-17 Reducing kinematic error WO2023222208A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/EP2022/063355 WO2023222208A1 (en) 2022-05-17 2022-05-17 Reducing kinematic error

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2022/063355 WO2023222208A1 (en) 2022-05-17 2022-05-17 Reducing kinematic error

Publications (1)

Publication Number Publication Date
WO2023222208A1 true WO2023222208A1 (en) 2023-11-23

Family

ID=82115619

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2022/063355 WO2023222208A1 (en) 2022-05-17 2022-05-17 Reducing kinematic error

Country Status (1)

Country Link
WO (1) WO2023222208A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011224662A (en) * 2010-04-15 2011-11-10 Yaskawa Electric Corp Correction parameter identification device of robot control device
JP2014136260A (en) * 2013-01-15 2014-07-28 Daihen Corp Control device
US20200180153A1 (en) * 2017-05-18 2020-06-11 Kawasaki Jukogyo Kabushiki Kaisha Speed reducer angular transmission error identification system and speed reducer angular transmission error identification method

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011224662A (en) * 2010-04-15 2011-11-10 Yaskawa Electric Corp Correction parameter identification device of robot control device
JP2014136260A (en) * 2013-01-15 2014-07-28 Daihen Corp Control device
US20200180153A1 (en) * 2017-05-18 2020-06-11 Kawasaki Jukogyo Kabushiki Kaisha Speed reducer angular transmission error identification system and speed reducer angular transmission error identification method

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
SHI XIAOLI ET AL: "An FFT-based Method for Analysis, Modeling and Identification of Kinematic Error in Harmonic Drives", 6 August 2019, ADVANCES IN DATABASES AND INFORMATION SYSTEMS; [LECTURE NOTES IN COMPUTER SCIENCE; LECT.NOTES COMPUTER], SPRINGER INTERNATIONAL PUBLISHING, CHAM, PAGE(S) 191 - 202, ISBN: 978-3-319-10403-4, XP047516147 *

Similar Documents

Publication Publication Date Title
US8527092B2 (en) Movement controller for elastic robot structures
KR102516007B1 (en) Controlling apparatus and speed reducer system
EP2752274B1 (en) Control method and control device
US20240075614A1 (en) System and/or method for error compensation in mechanical transmissions
JP6860417B2 (en) Reducer angle transmission error identification system and reducer angle transmission error identification method
JP6359210B1 (en) Control parameter adjustment device
JP2016221615A (en) Robot device diagnosis method and robot system
KR102405096B1 (en) Method for commanding an automated work cell
JP7338960B2 (en) Servo control device and servo control method
EP3489782B1 (en) Control system, machine learning apparatus, maintenance assistance apparatus, data generating method, and maintenance assisting method
WO2023222208A1 (en) Reducing kinematic error
CN108075703B (en) Method for reducing synchronous ripple of a permanently excited electric motor
JP7034383B2 (en) Servo controller
JP3558179B2 (en) Servo control device and servo control method, and robot control device and robot control method using the same
KR101053205B1 (en) Motor control unit with backlash compensation
WO2023222207A1 (en) Reducing kinematic error
WO2023222206A1 (en) Reducing kinematic error
JPH0760667A (en) Weaving control device for robot
CN114833866B (en) Angle transfer error correction method of speed reducer and robot system
JP7121599B2 (en) ROBOT SYSTEM AND ROBOT SYSTEM CONTROL METHOD
JP7245994B2 (en) Abnormal diagnosis device and robot control device equipped with the same
JP5343725B2 (en) Robot controller
WO2020009237A1 (en) Robot system and robot system control method
Schiffer et al. Cascaded LQ and Field-Oriented Control of a Mobile Inverse Pendulum (Segway) with Permanent Magnet Synchronous Machines
Ferretti et al. LQG control of elastic servomechanisms based on motor position measurements

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22731490

Country of ref document: EP

Kind code of ref document: A1