This application is a national stage entry of PCT Application No. PCT/DK2020/050101, which was filed on Apr. 17, 2020. PCT Application No. PCT/DK2020/050101 claims priority to Denmark Patent Application No. PA201900470 which was filed on Apr. 17, 2019. This application claims priority to PCT Application No. PCT/DK2020/050101 and to Denmark Patent Application No. PA201900470. The contents of PCT/DK2020/050101 and Denmark Patent Application No. PA201900470 are incorporated herein by reference.
The present invention relates to methods of controlling a robot arm comprising a plurality of robot joints connecting a robot base and a robot tool flange, where at least one of the robot joints is a rotational robot joint comprising a joint motor having a motor axle, where the motor axle is configured to rotate an output axle of the rotational robot joint via a robot joint transmission.
Robot arms comprising a plurality of robot joints and links where motors can rotate the joints in relation to each other are known in the field of robotics. Typically, the robot arm comprises a robot base which serves as a mounting base for the robot arm and a robot tool flange where to various tools can be attached. A robot controller is configured to control the robot joints to move the robot tool flange in relation to the base. For instance, in order to instruct the robot arm to carry out a number of working instructions.
Typically, the robot controller is configured to control the robot joints based on a dynamic model of the robot arm, where the dynamic model defines a relationship between the forces acting on the robot arm and the resulting accelerations of the robot arm. Often, the dynamic model comprises a kinematic model of the robot arm, knowledge about inertia of the robot arm and other parameters influencing the movements of the robot arm. The kinematic model defines a geometric relationship between the different parts of the robot arm and may comprise information of the robot arm such as, length, size of the joints and links and can for instance be described by Denavit-Hartenberg parameters or the like. The dynamic model makes it possible for the controller to determine which torques the joint motors shall provide in order to move the robot joints for instance at specified positions, velocities, and accelerations.
On many robot arms it is possible to attach various end effectors to the robot tool flange, such as grippers, vacuum grippers, magnetic grippers, screwing machines, welding equipment, dispensing systems, visual systems etc.
In some robots the robot joint comprises a joint motor having a motor axle configured to rotate an output axle, for instance via a transmission system. The robot joint transmission system is configured to transmit torque provided by the motor axle to the output axle. Typically, the output axle is connected to and configured to rotate parts of the robot arm in relation to each other. The robot joint transmission system can for instance comprise a robot joint gear or a direct drive mechanism. The robot joint gear can for instance be provided as a spur gears, planetary gears, bevel gears, worm gears, strain wave gears or other kind of transmission systems.
Commonly flexibility and friction exist in the various types of transmissions. Taking into account the friction of the transmission in the dynamic model makes the dynamic model more accurately resemble the dynamics of the real robot arm because the robot joint friction originating from the transmission system can be known and thereby compensated in the robot controller. The art of compensating the effects of friction in the controller is well known in the field of motor control {1}. A more accurate dynamic model can for instance allow the robot controller to control the robot arm with greater accuracy and precision. A more accurate dynamic model can also allow the robot controller to more accurately identify external disturbances, for instance human interference which is of great concern in terms of safety.
One issue when taking into account the robot joint friction in the robot controller design is that the friction changes in a manner that is difficult to predict accurately. For instance, friction is known to change with quantities such as temperature and wear that are hardly measurable on most industrial robots. The friction's temperature dependency is caused for instance by the thermal expansion of mechanical parts in contact and/or temperature-dependent lubricant properties. The friction's wear dependency is caused for instance by material being worn off at contacting surfaces such as for instance at the gear meshing in a robot joint gear.
Due to the variation of the robot joint friction it is desired to estimate the friction on-line, such that the friction can be compensated more accurately in the robot controller. The art of adaptive friction compensation is well known within the field of motor control. Adaptive friction compensation has been accomplished through various strategies by several researchers {2}, {3}, {4}.
There are several robot control strategies that utilizes the knowledge on the dynamic model of the industrial robot to compute the control action. The control strategy Joint Torque Feed-back (JTF) has been widely used to improve the performance of robot motion and force control {5}, {6}, {7}. Implementation of JTF control requires to know the joint torque transmitted to the output axle from the transmission system. The joint transmission torque is most often obtained by measuring the deformation of an elastic member inside the transmission. If for instance strain wave transmissions are used as robot joint gears the joint transmission torque can be obtained for instance by mounting strain gauges on the flex spline {8}, {9}, {10}. Another option is to measure the angular position of both the input axle and the output axle in the robot joint. The difference between these position measurements defines the deformation of the transmission system. This deformation combined with an accurate mathematical model of the transmission system can yield an estimate of the robot joint transmission torque as shown in {11}, {12}, {13}. However, while these works demonstrate sufficient accuracy in the experimental test systems during a maximum period of 80 seconds, the methods are deemed to fail if applied to industrial robots where changes in ambient conditions or changes in the temperature or wear level of the robot joint transmission system occurs and influences the industrial robot's friction characteristics.
EP165264A1 discloses a method and device of controlling a robot arm driven by a motor, a technique of compliance servo control of controlling a robot arm, and a method and device of controlling a stoppage of a robot arm conducted after a collision of the robot arm against an object has been detected. A frictional torque of the robot joint is calculated based on the motor angular velocity, which is obtained based on the largest one of a feed-back motor angular velocity or a desired motor angular velocity.
The objective of the present invention is to address the above described limitations with the prior art or other problems of the prior art. This is achieved by a method of controlling a robot arm with robot joints, where the joint motors of the joints are controlled based on a signal generated based on the friction torque {circumflex over (F)} of the input side and/or output side of the robot joint transmission and the robot joint transmission torque {circumflex over (τ)}j between the input side and the output side of the transmission. The friction torque is determined based on: at least two of the angular position of the motor axle; the angular position of the output axle and/or the motor torque provided to the motor axle by the joint motor. The robot joint transmission torque is determined based on: at least one of the angular positions of the output axle; the angular position of the output axle and/or the angular position of the motor axle; the angular position of the motor axle and the motor torque provided to the motor axle by the joint motor. This makes it possible to provide a more accurate control of a robot arm as the friction torque of the joint transmissions can be adaptively obtained and used to generate the controls signals of the robot joint motors. Further the objective of the present invention is addressed by a robot arm comprising a plurality of robot joints and a robot controller where the robot controller is configured to control the robot arm based on an adaptively obtained friction torque of the robot joint transmission. The dependent claims describe possible embodiments of the method according to the present invention. The advantages and benefits of the present invention are described in the detailed description of the invention
The present invention is described in view of exemplary embodiments only intended to illustrate the principles of the present invention. The skilled person will be able to provide several embodiments within the scope of the claims. Throughout the description, the reference numbers of similar elements providing similar effects have the same last two digits. Further it is to be understood that in the case that an embodiment comprises a plurality of the same features then only some of the features may be labeled by a reference number.
The invention can be embodied into a robot arm and is described in view of the robot arm illustrated in
The robot arm comprises at least one robot controller 115 configured to control the robot joints by controlling the motor torque provided to the joint motors based on a dynamic model of the robot. The robot controller 115 can be provided as a computer comprising an interface device 117 enabling a user to control and program the robot arm. The controller can be provided as an external device as illustrated in
The joint motor 209 is configured to rotate the motor axle by applying a motor torque to the motor axle as known in the art of motor control, for instance based on a motor control signal 233 indicating the torque, Tcontrol applied by the motor axle, for instance by driving the joint motor with a motor current imotor proportional with a motor torque. The robot transmission 229 is configured to transmit the torque provided by the motor axle to the output axle for instance to provide a gear ratio between the motor axle and the output axle. The robot joint comprises at least one joint sensor providing a sensor signal indicative of at least the angular position, q, of the output axle and an angular position, Θ, of the motor axle. For instance, the angular position of the output axle can be indicated by an output encoder 235, which provide an output encoder signal 236 indicating the angular position of the output axle in relation to the robot joint. Similar, the angular position of the motor axle can be provided by an input encoder 237 providing an input encoder signal 238 indicating the angular position of the motor axle in relation to the robot joint. The output encoder 235 and the input encoder 237 can be any encoder capable of indicating the angular position, velocity and/or acceleration of respectively the output axle and the motor axle. The output/input encoders can for instance be configured to obtain the position of the respective axle based on the position of an encoder wheel 239 arrange on the respective axle. The encoder wheels can for instance be optical or magnetic encoder wheels as known in the art of rotary encoders. The output encoder indicating the angular position of the output axle and the input encoder indicating the angular position of the motor axle makes it possible to determine a relationship between the input side (motor axle) and the output side (output axle) of the robot joint gear.
The robot joints may optionally comprise one or more motor torque sensors 241 providing a motor torque signal 242 indicating the torque provided by the motor axle. For instance, the motor torque sensor can be provided as current sensors obtaining the current imotor through the coils of the joint motor whereby the motor torque can be determined as known in the art of motor control. For instance, in connection with a multiphase motor, a plurality of current sensors can be provided in order to obtain the current through each of the phases of the multiphase motor and the motor torque can then be obtained based on the obtained currents. For instance, in a three-phase motor the motor torque may be obtained based on quadrature current obtained from the phase currents through a Park Transformation. Alternatively, the motor torque can be obtained using other kind of sensors for instance force-torque sensors, strain gauges etc.
The robot controller is configured to control the robot arm based on a dynamic model of the robot arm Drobot. The dynamic model of the robot arm can be defined and pre-stored in the memory 445 of the controller and the user can in some embodiment be allowed to modify the dynamic model op the robot arm, for instance by providing payload information of a payload attached to the robot arm or defining the orientation of the robot arm in relation to gravity.
The configuration of the robot arm can be characterized by the generalized coordinates (q Θ)∈R2N where q is a vector comprising the angular positions of the output axles of the robot joint transmissions and Θ is a vector comprising the angular positions of the motor axles as seen in the output side of the robot joint transmission. Consequently:
where Θ′ is the actual angular position of the motor axle, which can for instance be measured by a rotary encoder, and r the gear ratio of the robot joint transmission. This is the notation used throughout this application.
Alternatively, it is noted that q can be indicated in the input side of the robot joint gear:
q=q′r eq. 2
where q′ is the actual angular position of the output axle, which can for instance be measured by a rotary encoder.
The transmission flexibility of the robot joint results in a deflection between the input side and the output side of the robot joint transmission when a torque is applied to the robot joint transmission. The deflection of the robot joint transmission can be indicated by a joint transmission deformation variable ϕjoint indicating the differences between the angular position Θ of the motor axle and the angular position q of the output axle, thus the joint transmission deformation for robot joint i is defined as:
Φjoint,i=Θi−qi eq. 3
The joint transmission torque τjoint,i defines the torque that is transferred from the motor axle to the output axle via the robot joint transmission and can be modeled as a function of the joint transmission deformation Φjoint and its time-derivative:
τjoint,i(ϕjoint,i,{dot over (ϕ)}joint,i)=τE,i(ϕjoint,i)+τD,i({dot over (ϕ)}joint,i) eq. 4
where τE,i (ϕjoint,i) is a flexibility torque depending on the robot joint transmission stiffness Ki and the joint transmission deformation of the robot joint transmission and τD,i (ϕjoint,i) is a damping torque depending on the damping Di and the first time derivative of the joint transmission deformation of the robot joint transmission.
The transmission stiffness Ki of the robot joint transmission can be characterized by how much the flexibility torque τE,i (ϕjoint,i) causing the joint transmission deformation changes as a function of the joint transmission deformation. The transmission stiffness can thus be expressed as:
The flexibility torque τE.i (ϕjoint,i) of the robot joint transmission can be obtained experimentally, for instance by following these steps:
Based on the experimental results a mathematical model of the relationship between the joint transmission deformation and the flexibility torque for joint i can be constructed, for instance a polynomial of odd powers in ϕjoint,i can be used to describe the relationship between the joint transmission deformation and the flexibility torque for joint i, thus
where kj,i is jth polynomial coefficient and P is the total number of polynomial coefficients.
The τD,i (ϕjoint,i) damping torque of the robot joint transmission can, if assumed linear in the time-derivative of joint transmission deformation, for instance be obtained by following the steps:
The output-side friction torque Fq of the transmissions of robot joints can be obtained experimentally, for instance by following these steps for each of the robot joints independently:
The input-side friction torque Fo of the robot joint transmission can be obtained experimentally, for instance by following these steps for each of the robot joints independently:
Facing
As described in connection with
The controller can for instance be configured to carry out the method of controlling the robot arm as illustrated in
Step of initializing 550 comprises a step of obtaining the dynamic model Drobot of the robot arm and can be based on prior knowledge of the robot arm and robot joints, KoR [Knowledge of Robot], such as the dimensions and weight of robot joints and robot links; joint motor properties; information relating to an eventual payload attached to the robot arm, orientation of the robot arm in relation to gravity and frictional properties of the robot arm and robot joints. The dynamic model of the robot arm can be defined and pre-stored in the memory of the controller and the user can in some embodiment be allowed to modify the dynamic model of the robot arm, for instance by providing payload information of a payload attached to the robot arm or defining the orientation of the robot arm in relation to gravity. The dynamic model of the robot arm can be obtained by considering the robot arm as an open kinematic chain having a plurality of (n+1) rigid robot links and a plurality of n revolute robot joints, comprising a joint motor configured to rotate at least one robot link.
For instance, the dynamic model as seen from the output side of the robot joint transmissions of the robot arm can be characterized by {14}:
τjoint=M(q){umlaut over (q)}+C(q,{dot over (q)})q+g(q)+Fq+τext eq. 10
where τjoint is a vector comprising the transmission torques τjoint,i . . . τjoint,n of each of the robot joint transmissions; q is a vector comprising the angular position of the output axles of the robot joint transmissions; {dot over (q)} is a vector comprising the first time derivative of the angular position of the output axles of the robot joint transmissions and thus relates to the angular velocity of the output axles; {umlaut over (q)} is a vector comprising the second time derivative of the angular position of the output axles of the robot joint transmissions and thus relates to the angular acceleration of the output axles. M(q) is the inertia matrix of the robot arm and indicates the mass moments of inertia of the robot arm as a function of the angular position of the output axles of the robot joint transmissions. C(q,{dot over (q)}){dot over (q)} is the Coriolis and centripetal torques of the robot arm as a function of the angular position and angular velocity of the output axle of the robot joint transmissions. g(q) is the gravity torques acting on the robot arm as a function of the angular position of the output axles of the robot joint transmissions.
Fq is a vector comprising the friction torques acting on the output axles of the robot joint transmissions. The Fq can be obtained during calibration of the robot joints for instance as described in the paragraph above containing equation 8. τext is a vector indicating the external torques acting on the output axles of the robot joint transmissions. The external torques can for instance be provided by external forces and/or torques acting on parts of the robot arm. For instance, if the tool flange of the robot is subject to external forces and/or torques described by Fext, the resulting torques at the output axles of the robot joints becomes:
τext=JT(q)Fext eq. 11
where JT(q) is the transposed manipulator Jacobian of the robot arm and where Fext is a vector describing the direction and magnitude of the external forces and torques in relation to the tool flange of the robot arm.
Secondly, the dynamic model as seen from the input side of the robot joint transmissions becomes {14}:
τmotor=B{umlaut over (Θ)}+Fθ+τjoint eq. 12
where τjoint is a vector comprising transmission torque τjoint,i . . . τjoint,n of each of the robot joint transmissions; {umlaut over (Θ)} is a vector comprising the second time derivative of the angular position of the motor axle of the joint motor and thus relates to the angular acceleration of the motor axle. B is the positive-definite diagonal matrix indicating the mass moments of inertia of the joint motors' rotors. FΘ is a vector comprising the friction torques acting on the motor axles and τmotor is a vector indicating the torque generated by the joint motors. FΘ can be obtained for each robot joint as described in the paragraph above containing equation 9.
Step 552 of obtaining the angular position of the motor axles of the joint motors can be obtained by measuring the angular position of the motor axle for instance by using an encoder such as optical/magnetic encoders as known in the art of robotics. The angular position of the motor axles Θ can be stored in a memory for later usage for instance in order to store a number of angular positions of the motor axles obtained at different times.
Step 554 of obtaining the angular position of the output axle of the robot joint transmission can be obtained by measuring the angular position of the output axle for instance by using encoders such as optical/magnetic encoders as known in the art of robotics. The angular position of the output axles q can be stored in a memory for later usage, for instance a number of angular positions of the output axles obtained at different times can be stored in a memory. Alternatively, the angular position of the output axles of the robot joint transmissions can be obtained as the desired angular position of the output axles upon which the controller is generating the motor torques. This makes it possible to estimate the angle of the output axles in robot joints that does not comprise encoders for measuring the angular position of the output axles or the One could also estimate the output axle angular position based on the motor axle angular position for instance by estimating the output axle based on the gear ratio of the robot joint transmission.
The step 556 of obtaining the actual motor torque τmotor provided by the joint motors can for instance be obtained by obtaining the current imotor through the joint motors whereby the actual motor torque can be obtained as known in the art of motor control. For instance, if the joint motors are provided as three-phase Permanent Mdgnet Synchronous Mdchines (PMSM) with dynamics much faster than that of the manipulator and if the joint motors are operated under their current saturation limit, the motor axle torque can be obtained by:
τmotor=Kτimotor eq. 13
where τmotor is a vector comprising, the actual torque provided by the motor axles of the joint motors (seen in the output space of the robot joint gear), Kτ is the positive-definite diagonal matrix of torque constants and imotor is a vector comprising the torque-generating (quadrature) current obtained from the phase currents of the joint motors using the Park Transformation.
The actual motor torque can also be obtained by using force/torque sensors such as strain gauges indicating the actual torque of the motor axle, as in many cases it can be assumed the motor torque is transferred to the motor axle.
Step 558 of obtaining the friction torque F of the input side and/or the output side of the robot joint transmission can be obtained based on at least two of:
And the observer methods include for instance;
For instance, adaptive friction torque estimation can be conducted to obtain an estimate of the input-side and/or output-side friction torque(s) of the robot transmissions based on the position of the motor axles of the robot joints, and/or the position of the output axles of the robot joints, and the motor torques, for instance by describing the friction torque by the linearly parametrizable model
where ω is the angular velocity of the motor axle and/or output axle, {circumflex over (F)}C is the vector of estimated Coulomb friction coefficients, and {circumflex over (F)}V is the vector of estimated viscous friction coefficients. Due to the linear parametrization it is possible to estimate the unknown and assumed slowly changing coefficients by Recursive Least Squares (RLS) methods with some forgetting scheme discounting past data.
Assuming that data for each robot joint is sampled at times tk=k TS, where TS is the sampling time and k an incrementing integer denoting the specific sample, and that the dynamic friction residual Fi(k)=τmotor,i(k)−Bi{umlaut over (θ)}i(k)−τj,i(ϕi(k), {dot over (ϕ)}i(k)), the RLS method works by estimating the unknown filter coefficients {circumflex over (α)}=[{circumflex over (F)}C,i {circumflex over (F)}V,i] T through the following procedure for each sample as
Estimating for instance the input-side friction torque through the use of an observer can be obtained using for instance the observer structure shown in
In another embodiment the adaptive friction module 674 can also be configured to provide an estimate of the input-side and/or output-side friction torque(s) of the robot transmissions based on the position of the motor axles of the robot joints, and/or the position of the output axles of the robot joints, and the motor torques. The adaptive friction module can for instance be obtained by describing the friction torque by the linearly parametrizable model
where ω is the angular velocity of the motor axle and/or the output axle, {circumflex over (F)}C is the vector of estimated Coulomb friction coefficients, and FV is the vector of estimated viscous friction coefficients. Due to the linear parametrization it is possible to estimate the unknown and assumed slowly changing coefficients by Recursive Least Squares (RLS) procedures as known in the art of adaptive control.
Step 560 of obtaining the transmission torque {circumflex over (τ)}j between the input side and the output side of the joint transmissions can be obtained based on at least one of:
Step 562 of generating motor control signal indicative of a desired motor torque τcontrol for at least one of the joint motors is based on at least:
The robot controller system 615 comprises a motion planner module 670, an adaptive friction module 674, a transmission torque module 676, a motor controller module 680 and optional a motor torque obtaining module 678.
The motion planner module 670 is configured to provide the desired motions of the robot arm, for instance by generating trajectories of parts of the robot arm. The trajectories can for instance be generated based on a robot program instructing the robot arm to perform various tasks. In the illustrated embodiment the motion planner module provides a desired motion Md of parts of the robot arm. The desired motion of parts of the robot arm can for instance be indicated as motions properties of the robot joints, such as angular position qd of output axles of the joint transmissions, a desired angular velocity {dot over (q)}d of output axles of the joint transmissions, a desired angular acceleration {umlaut over (q)}d of the robot transmission. It is noted that the desired motion of parts of the robot arm also can be indicated as a position of various parts of the robot arm in relation to a reference point, for instance the desired motion may be indicated as a position, velocity and/or acceleration of the robot tool flange in relation to the robot base.
The desired motion Md is provided to the motor controller module 680. The motor controller module 680 is configured to generate at least one motor control signal 633 to the joint motors, for instance in form of a signal indicating the motor torque τcontrol that each joint motor shall provide to the motor axles or a current signal indicating the current icontrol, that each joint motor shall provide. The motor controller module 680 is configured to generate the motor control signal 633 based on:
The optional motor torque obtaining module 678 is configured to obtain the motor torque provided by the joint motors based on the current imotor as known in the art and to provide the motor torque τmotor to the adaptive friction module 674 and optionally to the transmission torque module and the motor controller module 680. However, it is noted that the motor torque obtaining module 678 also can be provided as a part of the adaptive friction module 674, the transmission torque module and/or the motor controller module whereby the current imotor is provided directly to the various modules. Further the motor torque obtaining module may also be provided as an external module to the robot controller system 615.
The adaptive friction module 674 is configured to provide the friction torque {circumflex over (F)} at the input side of the robot joint transmission and/or the output side of the robot joint transmission based on at least two of:
The transmission torque module 676 is configured to provide the transmission torque {circumflex over (τ)}j between input side and the output side of the joint transmissions and can be obtained based on at least one of:
The robot system 600 illustrated in
In this embodiment step 760 of obtaining the transmission torque {circumflex over (τ)}j between the input side and output side of the robot joint transmission is further obtained based on the friction torque {circumflex over (F)}. Consequently, the transmission torque is obtained based on the adaptive friction torque whereby the transmission torque {circumflex over (τ)}j({circumflex over (F)}) can be obtained and adapted according to the adaptive friction torque. For instance, the transmission torque {circumflex over (τ)}j({circumflex over (F)}) can be obtained by using eq. 10, where Fq have been obtained according to step 558. Additionally or alternatively the transmission torque {circumflex over (τ)}j({circumflex over (F)}) can be obtained by using eq. 12, where FΘ each robot have been obtained in step 558.
In this embodiment step 762 of generating control signals for the joint motors is based on the joint transmission torque {circumflex over (τ)}j({circumflex over (F)}) obtained in step 760 and since the joint transmission torque {circumflex over (τ)}j({circumflex over (F)}) in step 760 is obtained based on the friction torque {circumflex over (F)} of at the input side of the robot joint transmission and/or the output side of the robot joint transmission the control signals of for the joint motor will in step 762 indirectly also be obtained based on the friction torque {circumflex over (F)}. In addition, as described the desired motor torque are also obtained based on a desired motion Md of at least a part of the robot arm and a dynamic model of the robot arm Drobot.
In this embodiment the transmission torque module 876 is configured to provide the transmission torque {circumflex over (τ)}j between the input side and output side of the robot joint transmission based on the friction torque {circumflex over (F)}. Consequently, the transmission torque is obtained based on the adaptive friction whereby the transmission torque {circumflex over (τ)}j({circumflex over (F)}) can be obtained and adapted according to the adaptive friction. For instance, the transmission torque {circumflex over (τ)}j({circumflex over (F)}) can be obtained by using eq. 10, where Fq have been obtained as described in step 558. Additionally or alternatively the transmission torque {circumflex over (τ)}j({circumflex over (F)}) can be obtained by using eq. 12, where FΘ have been obtained as described in step 558.
The motor controller module 880 is configured to generate control signals for the joint motors based on the joint transmission torque {circumflex over (τ)}j({circumflex over (F)}) provided by transmission torque module 876, where the transmission torque module 876 for instance is configured to carry out step 760 described above. Since the joint transmission torque {circumflex over (τ)}j({circumflex over (F)}) provided by the transmission torque module 876 is obtained based on the friction torque {circumflex over (F)} of the input side of the robot joint transmission and/or the output side of the robot joint transmission the control signals for the robot joint motor generated by the motor controller module 880 will indirectly also be obtained based on the friction torque {circumflex over (F)}. In addition, as described the desired motor torque are also obtained based on a desired motion Md of at least a part of the robot arm and a dynamic model of the robot arm Drobot.
In this embodiment step 962 of generating motor control signals comprises:
Step 963 of determining a desired transmission torque TJ,d indicative of desired transmission torque of the robot joint transmission can be based on:
This makes it possible to obtain a more accurate desired transmission torque τJ,d as the friction term adaptively can be determined and therefore more correctly be incorporate into the dynamic model of the robot arm. For instance the desired transmission torque τJ,d may be obtained by using eq. 10 and the desired transmission torque τJ,d may in step 965 be used to obtain a transmission torque error correction motor torque τm,torque-err.
Step 965 of determining the transmission torque error correction motor torque τm,torque-err indicating a motor torque minimizing differences between the desired transmission torque τJ,d and the robot joint transmission torque {circumflex over (τ)}j can be based on desired transmission torque τJ,d; and the robot joint transmission torque {circumflex over (τ)}j. This makes it possible to compare the actual transmission torque {circumflex over (τ)}j obtained in step 560 with the desired transmission torque τJ,d and provide a determine a transmission torque error correction motor torque which can correct eventual differences as known in the art of feed-back control systems.
Step 964 of determining a desired feed-forward motor torque τm,FF indicating a desired motor torque of the joint motor can be based on:
This makes it possible to obtain a more accurate desired feed-forward motor torque τm,FF as the friction term adaptively can be determined and thus be more correctly incorporated into the dynamic model of the robot. For instance the desired feed-forward motor torque τm,FF may be obtained by using eq. 10 and eq. 12 and desired feed-forward motor torque τm,FF may then be used to generate the motor control signal as known in the art of feed-forward control mechanisms.
Step 966 of determining error correction motor torque τm,err indicating a motor torque minimizing errors between at least one of:
This makes it possible to compare the parameters of the robot arm with corresponding desired parameters of the robot arm and determine a correction parameters which can be used to correct eventual errors between desired parameters and actual parameters as known in the art of feed-back control systems for instance as described in {15}
Step 967 of determining a resulting motor torque τr indicative of the resulting motor torque to be applied by the joint motor can be based on at least one of:
The motion planner module 1070 is configured to provide the desired motions of the robot arm, for instance by generating trajectories of parts of the robot arm. The trajectories can for instance be generated based on a robot program instructing the robot arm to perform various tasks. In the illustrated embodiment the desired motions Md provided to the motor controller module 1080 are a desired angular position qd of the output axles of the joint transmissions, a desired angular velocity {dot over (q)}d of the output axles of the joint transmissions and a desired angular acceleration {umlaut over (q)}d of output axles of the robot transmission.
The motor controller module comprises a feed-forward controller module 1082, a torque Feed-back module 1084, a motor current controller 1086 and an optional a feed-back controller module 1080.
The feed-forward controller module 1082 is configured to determine a desired transmission torque τJ,d indicative of desired transmission torque of the robot joint transmission based on:
The feed-forward controller module 1082 can also be configured to determine a desired feed-forward motor torque τm,FF indicating a desired motor torque of the joint motor based on:
The torque Feed-back controller module 1084 is configured to determine a transmission torque error correction motor torque τm,torque-err indicating a motor torque minimizing differences between the desired transmission torque τJ,d and the robot joint transmission torque ({circumflex over (τ)}j), where the transmission torque error correction motor torque τm,torque-err is determined based on:
The robot controller comprises a feed-back controller module 1088 configured to determine an error correction motor torque τm,err indicating a motor torque minimizing errors between at least one of:
The motor current controller module 1086 is configured to generate a motor control signal indicating a motor current icontrol for the robot joint based on a resulting motor torque τr indicative of a resulting motor torque to be applied by the joint motor where the resulting motor torque τr is determined based on at least one of:
The motor current controller may be provided as any motor control driver driving and controlling motors base on a desired torque. Typically, such motor control drivers generate signal indicative of the current to be provided to the motor coil. In some embodiment the motor control driver generates the currents directly. It is to be understood that an adaptive or non-adaptive system can be configured to provide smoothed estimates of the position of the motor axles and/or output axles of the robot joints based on noisy measurements.
The invention comprises an adaptive control system having an adaptive feed-forward control command and a computation of the torque through the robot joint transmission in at least one of the robot joints. The present invention can for instance be provided at a robot arm comprising a robot control system which monitors and controls the robot joint, whereby the position error is reduced when the robot is subject to changes in ambient conditions, wear, etc. This is achieved by providing control of robot joint torque based on an adaptive observer estimating the robot joint friction torque adaptively and the robot joint torque.
Number | Date | Country | Kind |
---|---|---|---|
2019 00470 | Apr 2019 | DK | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/DK2020/050101 | 4/17/2020 | WO |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2020/211914 | 10/22/2020 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
4763531 | Dietrich et al. | Aug 1988 | A |
6212433 | Behl | Apr 2001 | B1 |
6212443 | Nagata et al. | Apr 2001 | B1 |
7102315 | Nakata et al. | Sep 2006 | B2 |
10331107 | Moberg | Jun 2019 | B2 |
10399232 | Oestergaard et al. | Sep 2019 | B2 |
10631941 | Hashimoto et al. | Apr 2020 | B2 |
10850393 | Oestergaard et al. | Dec 2020 | B2 |
11260543 | Johansen | Mar 2022 | B2 |
11474510 | Oestergaard et al. | Oct 2022 | B2 |
11796045 | Johansen | Oct 2023 | B2 |
11839979 | Rosenlund et al. | Dec 2023 | B2 |
11964389 | Johansen | Apr 2024 | B2 |
12011824 | Vraa et al. | Jun 2024 | B2 |
20060071625 | Nakata | Apr 2006 | A1 |
20100234999 | Nakajima | Sep 2010 | A1 |
20110224826 | Maehara et al. | Sep 2011 | A1 |
20120116582 | Negishi | May 2012 | A1 |
20120130541 | Szalek | May 2012 | A1 |
20130073084 | Ooga et al. | Mar 2013 | A1 |
20130073085 | Oaki et al. | Mar 2013 | A1 |
20130079928 | Østergaard et al. | Mar 2013 | A1 |
20130231778 | Østergaard | Sep 2013 | A1 |
20130255426 | Kassow et al. | Oct 2013 | A1 |
20150204742 | Draisey | Jul 2015 | A1 |
20160067865 | Osada et al. | Mar 2016 | A1 |
20170080562 | Tsuzaki | Mar 2017 | A1 |
20170128136 | Post | May 2017 | A1 |
20170190049 | Wada | Jul 2017 | A1 |
20180079090 | Koenig | Mar 2018 | A1 |
20180200886 | Wang | Jul 2018 | A1 |
20180207798 | Tsuzaki | Jul 2018 | A1 |
20190091861 | Kasai et al. | Mar 2019 | A1 |
20200171657 | Baier | Jun 2020 | A1 |
20200171658 | Kielsholm Thomsen | Jun 2020 | A1 |
20200189102 | Sasajima | Jun 2020 | A1 |
20210086374 | Brandt et al. | Mar 2021 | A1 |
20210315652 | Henrywood | Oct 2021 | A1 |
20220161433 | Brandt et al. | May 2022 | A1 |
20220184810 | Brandt et al. | Jun 2022 | A1 |
20220379463 | Hansen | Dec 2022 | A1 |
20220379468 | Hansen | Dec 2022 | A1 |
20220388156 | Hansen | Dec 2022 | A1 |
20230035296 | Søe-Knudsen et al. | Feb 2023 | A1 |
20230052996 | Thomsen | Feb 2023 | A1 |
20230191603 | Thomsen et al. | Jun 2023 | A1 |
20230405819 | Kravchenko et al. | Dec 2023 | A1 |
20230405822 | Kravchenko et al. | Dec 2023 | A1 |
20230418258 | Mirth | Dec 2023 | A1 |
20240351209 | A/S | Oct 2024 | A1 |
Number | Date | Country |
---|---|---|
106233214 | Dec 2016 | CN |
107921625 | Apr 2018 | CN |
108698223 | Oct 2018 | CN |
108883534 | Nov 2018 | CN |
109108954 | Jan 2019 | CN |
1173801 | Jan 2002 | EP |
1652834 | May 2006 | EP |
2014110682 | Jul 2014 | WO |
2017144310 | Aug 2017 | WO |
2019238940 | Dec 2019 | WO |
Entry |
---|
Written Opinion for International Patent Application No. PCT/DK2020/050101, issued Oct. 22, 2020, (7 pages). |
International Search Report for International Patent Application No. PCT/DK2020/050101, issued Oct. 22, 2020, (4 pages). |
International Preliminary Report on Patentability for International Patent Application No. PCT/DK2020/050101, issued Oct. 19, 2021, (8 pages). |
Ruderman M et al: “Modeling and Identification of Elastic Robot Joints With Hysteresis and Backlash”, IEEE Transactions on Industrial Electronics, IEEE Service Center, Piscataway, NJ, USA, vol. 56, No. 10, Oct. 1, 2009 (Oct. 1, 2009), pp. 3840-3847, XP011267652, ISSN: 0278-0046, DOI: 10.1109/TIE.2009.2015752. |
Lee Chan et al: “A two-staged residual for resilient external torque estimation with series elastic actuators”, 2017 IEEE-RAS 17th International Conference on Humanoid Robotics (Humanoids), IEEE, Nov. 15, 2017 (Nov. 15, 2017), pp. 817-823, XP033291678, DOI: 10.1109/HUMANOIDS.2017.8246966 [retrieved on Jan. 4, 2018]. |
Lightcap C et al: “Dynamic identification of a Mitsubishi pa10-6ce robot using motion capture”, Intelligent Robots and Systems, 2007. IROS 2007. IEEE/ RSJ International Conference on, IEEE, Piscataway, NJ, USA, Oct. 29, 2007 (Oct. 29, 2007), pp. 3860-3865, XP031222424, ISBN: 978-1-4244-0911-2. |
First Office Action in Chinese Application No. 202080028536.8 dated Sep. 26, 2023 (with English Summary), 12pages. |
Albu-Schaffer et al., The DLR Lightweight Robot—Design and Control Concepts for Robots in Human Environments. |
Bona et al., Friction Compensation in Robotics: an Overview. Proc 44th IEEE Conf Dec Cont ECC 2005. Spain. Dec. 12-15, 2005: 4360-7. |
Canudas-de-Wit et al., Adaptive Friction Compensation in DC-Motor Drives. IEEE J Robot Automat. Dec. 1987. RA-3 (6): 681-5. |
Kawakami et al., High-Fidelity Joint Drive System by Torque Feedback Control Using High Precision Linear Encoder. 2010 IEEE Int Conf Robot Automat. Alaska, USA. May 3-8, 2010; 3904-9. |
Le Tien et al., Friction Observer and Compensation for Control of Robots with Joint Torque Measurement. 2008 IEEE/ Rsj Int Conf Intel Robot Syst. France. Sep. 22, 2008-6; 3789-95. |
Spong, Modeling and Control of Elastic Joint Robots. Trans ASME. Dec. 1987; 109: 310-9. |
Susanto et al. Proc 17th World Congress: Int Fed Automat Cont. Korea. 2008; Jul. 6-11; 2020-4. |
Aghili et al., “Motion control systems with/spl Hscr//sup/spl infin//positive joint torque feedback”, IEEE Transactions on Control Systems Technology, vol. 9, No. 5, 2001, pp. 685-695. |
Canudas et al., “Adaptive Friction Compensation in Robot Manipulators: Low Velocities”, The International Journal of Robotics Research, vol. 10, No. 3, 1991, pp. 189-199. |
File History received for European Patent Application No. 20743583.5, downloaded on Jan. 6, 2025, 317 pages. |
Hashimoto et al., “A torque sensing technique for robots with harmonic drives”, IEEE Transactions on Robotics and Automation, vol. 9, No. 1, 1993, pp. 108-116. |
Search Report and search opinion received for Danish Patent Application No. PA 201900470 mailed on Nov. 8, 2019, 10 pages. |
Sensinger et al., “Improved torque fidelity in harmonic drive sensors through the union of two existing strategies”, IEEE/ASME Transactions on Mechatronics, vol. 11, No. 4, Aug. 2006, pp. 457-461. |
Universal Robots., “User Manual UR3/CB3”, Version 3.1, 2009, 181 pages. |
Zhang et al., “Torque estimation for robotic joint with harmonic drive transmission based on position measurements”, IEEE Transactions on Robotics, vol. 31, No. 2, 2015, pp. 322-330. |
Zhang et al., “Torque estimation technique of robotic joint with harmonic drive transmission”, IEEE International Conference on Robotics and Automation. IEEE, 2013, 6 pages. |
Zhu et al., “Adaptive control of harmonic drives”, vol. 129, 2007, pp. 182-193. |
Franklin et al., “Feedback Control of Dynamic Systems”, Eighth edition, Pearson, 2019. |
Number | Date | Country | |
---|---|---|---|
20220226993 A1 | Jul 2022 | US |