This application is based upon and claims the benefit of priority from the prior Japanese Patent Applications No. 2004-53306, filed on Feb. 27, 2004, the entire contents of which are incorporated herein by reference.
1. Field of the Invention
The present invention relates to a robot controller and a robot controlling method.
2. Background Art
A multi-axis robot having a multi-link structure comprises a position feedback control system including an actuator (for example, an electric motor), which drives each axis, and an angular sensor (for example, a rotary encoder), which detects a rotation angle of each actuator. Many of position feedback control systems have used PID (proportional, integral and differential) control. Moreover, a semiclosed loop control, which controls the rotation angle of each link to indirectly control the angle of an actuator, has been used so far.
However, a torque transmission mechanism, which transmits torque of an actuator to a link, is not generally a rigid body, and is approximated by a reduction gear with a certain spring characteristic. Thereby, the multi-axis robot having a multi-link structure has caused a problem that the actuator and the link are vibrated each other, because the actuator and the link mechanically have a resonance characteristic.
In order to solve the above problem, there has been disclosed a state feedback control system for vibration control (refer to Japanese Patent Application Laid-open No. 63-251808), in which an angular sensor and an acceleration sensor are provided on a link for direct measurement of an angle and acceleration of the link.
However, in order to mount the angular sensor, a complex structure is required, for example, a projecting portion is required to be provided outside the axis of the link. Accordingly, the shape of the link is limited. Moreover, it is impossible to add the angular sensor to an existing multi-axis robot.
On the other hand, the acceleration sensor can be added on each link of the existing multi-axis robot (refer to “Introduction to Robot Control” published by CORONA PUBLISHING CO., LTD., pp. 238-239, 1989 (hereinafter, called Non-Patent Document 1)). However, it is general that the signal of the acceleration sensor has a small signal-to-noise (S/N) ratio, and is susceptible to gravity.
Furthermore, an advantage caused by feedback of the acceleration of the link is only change in the moment of inertia (refer to Institute of Electrical Engineers of Japan (IEEJ), Transactions on Industry Applications, Vol. 123, No. 2, pp. 149-155, 2003). Accordingly, in order to control the vibration of the link, feedback of the angular velocity and the angle of the link, in addition to that of the acceleration of the link, is indispensable. However, as the acceleration sensor, which can be obtained at a low price, can usually measure only a translational component, complex operations for coordinate transformation are required in order to obtain the angular acceleration of a link alone. For example, an operation, which has been disclosed as a formula A19b in the Non-Patent Document 1, is required, and, in this case, the angular velocity of a first link is separately required to be obtained in order to obtain the angular acceleration of a second link alone. Moreover, the angular acceleration is required to be integrated once to obtain the angular velocity of the links from the angular acceleration thereof, and the angular acceleration is required to be integrated twice to obtain the angle of the links from the angular acceleration thereof. As the angle, which is obtained after the angular acceleration is integrated twice, is susceptible to a drift, it is impossible to obtain an exact link angle.
In order to solve the above-described problems, an object of an aspect of the present invention is to provide a robot controller and a robot controlling method, by which the operation of a link is accurately controlled with no need to perform complex operations for coordinate transformation.
A robot controller according to an embodiment of the present invention comprises a base; a first link; a first actuator which drives to rotate the first link relative to the base; a first torque transmission mechanism which transmits the torque of the first actuator to the first link at a speed reducing ratio of N1; a first angular sensor which detects a rotating angle θM1 of the first actuator; a first angular velocity sensor which detects an angular velocity ωA1 of the first link rotating relative to the base; and a processor which calculates an angle of the first link relative to the base by using a high frequency content of an integrated value of ωA1 and a low frequency content of θM1*N1, the high frequency content being equal to or higher than a first frequency and the low frequency content being equal to or lower than a first frequency.
A robot controlling method according to an embodiment of the present invention, which controls a robot comprising a first link; a first actuator which drives to rotate the first link relative to the base; a first torque transmission mechanism which transmits the torque of the first actuator to the first link at a speed reducing ratio of N1; a first angular sensor provided on the first actuator; a first angular velocity sensor provided on the first link; and a processor calculating detected results of the first angular sensor and the first angular velocity sensor,
the robot controlling method comprises driving the first link by the first actuator; detecting the rotating angle θM1 of the first actuator by the first angular sensor; detecting the angular velocity ωA1 of the first link, which rotates relative to the base, by the first angular velocity sensor; and calculating an angle of the first link to the base, using a high frequency content, which is a first frequency or higher of an integrated value of ωA1 and a low frequency content, which is a first frequency or lower of θM1*N1, by the operating unit.
A robot controlling method according to another embodiment of the present invention, which controls a robot comprising a first link; a first actuator which drives to rotate the first link relative to the base; a first torque transmission mechanism which transmits the torque of the first actuator to the first link at a speed reducing ratio of N1; a first angular sensor provided on the first actuator; a first angular velocity sensor provided on the first link; and a processor calculating detected results of the first angular sensor and the first angular velocity sensor,
the robot controlling method comprises disposing the first angular velocity sensor on the first link; driving the first link by the first actuator; detecting the rotating angle θM1 of the first actuator by the first angular sensor; detecting the angular velocity ωA1 of the first link, which rotates relative to the base, by the first angular velocity sensor; calculating an angle of the first link to the base, using a high frequency content, which is a first frequency or higher of an integrated value of ωa1 and a low frequency content, which is a first frequency or lower of θM1*N1, by the operating unit; tuning a motion control of the robot on the basis of the angle of the first link calculated by the processor; and eliminating the first angular velocity sensor from the first link after the tuning.
Hereinafter, embodiments according to the present invention will be explained, referring to drawings. The present invention is not limited by the following embodiments.
In the following embodiments, the links of a multi-axis robot provided with a multi-link structure comprises an angular velocity sensor such as a rate giro. Thereby, the movement of the robot is accurately controlled with no need to perform complex operations.
One end of the link 3 is attached to the upper portion of the base 1, and the other end thereof is attached to the link 8. The link 3 can rotate around an axis 2 as a relative movement to the base 1, and the link 8 can rotate around an axis 7 as a relative movement to the link 3.
The motor 4 drives the link 3 through the reduction gear 5, and the motor 9 drives the link 8 through the reduction gear 11. The speed reducing ratio of the reduction gear 5 is assumed to be N1 and that of the reduction gear 11 is assumed to be N2. The angle sensor 6 is provided on the top of the motor 4, and measures a motor rotating angle θM1 around the axis 2. The angle sensor 10 is provided on the top of the motor 9, and measures a motor rotating angle θM2 around the axis 7.
The angular velocity sensor 12 is provided on the link 3, and the angular velocity sensor 13 is provided on the link 8. The angular velocity sensor 12 detects an angular velocity ωA1 of the link 3 to the base 1, and the angular velocity sensor 13 detects an angular velocity ωA2 of the link 8 to the link 3. The angular velocity sensors 12 and 13 may be, for example, a rate giro used for stabilization of the midair attitude of a missile object, and for guidance and control of a mobile unit. In the present embodiment, the angular velocity sensor 12 is arranged on the tip of the link 3, and the angular velocity sensor 13 is arranged on the tip of the link 8. However, as the angular velocity of the link 3 is constant on the link 3 and the angular velocity of the link 8 is constant on the link 8, the angular velocity sensor 12 may be arranged at an arbitrary position of the link 3, and the angular velocity sensor 13 may be arranged at an arbitrary position of the link 8. Moreover, the angular velocity ωA1 is an angular velocity component on the surface of revolution of the link 3, and the angular velocity ωA2 is an angular velocity component on the surface of revolution of the link 8.
In the first place, the angular velocity sensor 12 detects the angular velocity ω1 and the angular velocity sensor 13 detects the angular velocity ω2 (S10). Then, the angular velocity {dot over (θ)}A1 of the link 3, and the angular velocity {dot over (θ)}A2 of the link 8 are separately calculated. As the angular velocity ω1 is the angular velocity of the link 3 to the base 1, and the angular velocity ω2 is the angular velocity of the link 8 thereto, the angular velocities {dot over (θ)}A1 and {dot over (θ)}A2 can be represented by the following Formula 1:
{dot over (θ)}A1=ωA1=ω1, {dot over (θ)}A2=ωA2=ω2−ω1 (Formula 1)
Then, the angular velocities {dot over (θ)}A1 and {dot over (θ)}A2 are integrated (S30). Moreover, these integrated results pass through a high-pass filter FH (S40). Thereby, the high frequency content, which is a cutting off frequency 1/TF or higher, of the angles θA1 and θA2 is obtained. Here, the reason for removal of the low frequency content of the angles θA1 and θA2 is that the effect of a drift should be removed because the link angles θA1 and θA2 cannot be accurately obtained due to the above effect of the drift, which is caused when the angular velocity {dot over (θ)}A1 of the link 3 and the angular velocity {dot over (θ)}A2 of the link 8 are integrated.
On the other hand, the following Formula 2 holds true because the reduction gears 5 and 11 are hardly twisted when the robot 100 is stopped, or operated in an extremely low frequency band (the left portion in
θA1=nH1θM1,θA2=nH2θM2 (Formula 2)
Then, the angle sensor 6 detects a motor angle θM1, and the angle sensor 10 detects a motor angle θM2 (S60). Subsequently, the motor angle θM1 is multiplied by the speed reducing ratio n1 (n1<1) to calculate θm1*n1, and the motor angle θM2 is multiplied by the speed reducing ratio n2 (n2 <1) to calculate θM2*N2 (S70). Then, θM1*n1 and θM2*n2 pass through a low-pass filter FL (S80). Thereby, the low frequency contents, which are a cutting off frequency 1/TF or lower, of the angles θA1 and θA2 are obtained. Here, the reason for removal of the high frequency content of the angles θA1 and θA2 is that Formula 2 does not hold true because the reduction gears 5 and 11 are twisted in the case of the high frequency content.
When it is assumed that the filter coefficient of the high-pass filter FH is HF, and the filter coefficient of the low-pass filter FL is LF, a relation of HF=1−LF is obtained. For example, the filter coefficients HF and LF can be represented as shown in the following Formula 3:
Here, 1/TF represents a cutting off angular frequency of each filter. The accuracy of an extremely low frequency filter is decreases when TF is too large, and twisting by mechanical resonance is caused when TF is too small. Therefore, for example, TF is approximately from one to 10 inclusive.
Thus, the high frequency content of the angles θA1 and θA2, which have been obtained through steps S10 through S40, and the low frequency content of the angles θA1 and θA2, which have been obtained through steps S60 through S80, can be added by using the high-pass filter FH and the low-pass filter FL, both of which have the relation of HF=1−LF (S100). The angle θA1 of the link 3 to the base 1 and the angle θA2 of the link 8 to the link 3 can be calculated by the above operation.
Furthermore, the angular acceleration {umlaut over (θ)}A1 of the link 3 can be calculated by a configuration, in which approximate differential of the angular velocity {dot over (θ)}A1 that has been obtained at step S20 is operated once, and the angular acceleration {umlaut over (θ)}A2 of the link 8 can be calculated by a configuration, in which approximate differential of the angular velocity {dot over (θ)}A2 that has been obtained at step S20 is operated once (S50). Moreover, the motor angular velocity {dot over (θ)}M1 of the motor 6 can be calculated by a configuration, in which approximate differential of the motor angle θM1 that has been obtained at step S60 is operated once, and the motor angular velocity {dot over (θ)}M2 of the motor 10 can be calculated by a configuration, in which approximate differential of the motor angle θM2 that has been obtained at step S60 is operated once (S90).
According to the present embodiment using the above-described method, the state variables of the two-axis robot 100 can be obtained by the following Formula 4:
According to the present embodiment, a state observer, which estimates state variables such as the motor angle, the link angle, and the link angular velocity, is not required to be configured. Accordingly, state feedback control can be realized in a robuster and more accurate manner than that of a conventional one.
According to the present embodiment, complex operations for coordinate transformation like conventional ones are not required, and the angular velocity {dot over (θ)}A1 of the link 3, and the angular velocity {dot over (θ)}A2 of the link 8 can be separately obtained by simple operations for coordinate transformation as shown in Formula 1.
According to the present embodiment, the motor angles θM1 and θM2, the motor angular velocities {dot over (θ)}M1 and {dot over (θ)}M2, the link angles θA1 and θA2, the link angular velocities {dot over (θ)}A1 and {dot over (θ)}A2, and the link angular accelerations {umlaut over (θ)}A1 and {umlaut over (θ)}A2, which are represented in Formula 4, can be obtained by a configuration, in which integral is operated once, or another configuration, in which differential is operated once. That is, as the present embodiment does not require in a different manner from a conventional one, a configuration, in which integral is operated twice, or another configuration, in which differential is operated twice, the state variables represented in Formula 4 are more accurate than conventional ones.
In a second embodiment, a state feedback control is performed, further considering compensation for interference force between links 3 and 8 in the first embodiment. The present embodiment has a similar configuration to that of the first embodiment, and the difference is that a CPU in the second embodiment performs operations, by which the interference force is compensated. A robot 100 can be represented by the following Formula 5, considering the joint elasticity:
Here, θM=(θM1, θM2)T represents an motor angle; θA=(θA1, θA2)T does a link angle; MA (θA)εR2×2 does a link inertia matrix; CA ({dot over (θ)}A, θA)εR2×1 does a vector of Coriolis centrifugal force; MM=diag (mM1, mM2) does an addition of inertia of a motor rotor and that of the high-speed stage of a reduction gear; mM1 does an addition of inertia of a motor 6 and that of the high-speed stage of the reduction gear; mM2 does an addition of inertia of a motor 10 and that of the high-speed stage of the reduction gear; DM=diag (dM1, dM2) does a coefficient of viscous friction for a motor; DA=diag (dA1, dA2) does a coefficient of viscous friction for a link; dM1 does a coefficient of viscous friction for the motor 6; dM2 does a coefficient of viscous friction for the motor 10; dA1 does a coefficient of viscous friction for the link 3; dA2 does a coefficient of viscous friction for a link 8; KH=diag (kH1, kH2) does a spring constant; DH=diag (dH1, dH2) does a damping coefficient; NH=diag (nH1, nH2) does a speed reducing ratio (nH1, nH2≦1); fM=(fM1, fM2)T does a Coulomb's kinetic friction; fm1 does a Coulomb's kinetic friction of the motor 6; fM2 does a Coulomb's kinetic friction of the motor 10; τ=[τ1, τ2]T does an motor torque reference; τ1 does a motor torque reference of the motor 6; and τ2 does a motor torque reference of the motor 10.
Assuming that α, β, and γ are a base parameter, the link inertia matrix can be represented by the following Formula 6:
Moreover, the vector of Coriolis centrifugal force can be represented by the following Formula 7:
Then, assuming that the joints of the links 3 and 8 in the robot 100 are a rigid body in a low frequency band separated from a resonance frequency for the mechanism, θM=NH×θA holds true. When the θM=NH×θA is substituted into Formula 5, the following Formula 8 is derived. Here, the low frequency band separated from the resonance frequency for the mechanism with regard to the joints of the links 3 and 8 means frequency domains of 5 rad/s or less in frequency response characteristics shown in
M(θA){umlaut over (θ)}A+cA({dot over (θ)}A, θA)+D{dot over (θ)}A+fM sgn({dot over (θ)}M)/NH=τ/NH (Formula 8)
Here, M(θA).can be represented as a rigid-body model by an inertia matrix like the following Formula 9, and D can be represented as a rigid-body model by a matrix of the viscous friction coefficients like the following Formula 10:
Parameters used for M(θA), fM, and the like in Formula 8 can be identified by a method of least squares, which uses testing operation data based on random motor inputs (torque reference τ) into a two-axis robot. The above testing operation data means the following state variables, which are shown in Formula 4, and are measured or calculated in the first embodiment: {dot over (θ)}M1; {dot over (θ)}M2; θA1; θA2; {dot over (θ)}A1; {dot over (θ)}A2; {umlaut over (θ)}A1; and {umlaut over (θ)}A2. When the parameters β, γ, fM, which are identified as described above, are used, nonlinear compensation and decoupling control for a two-axis robot model represented by Formula 5 can be realized at the same time.
When, for example, a new reference torque u is defined to be (u1, u2)T, the following Formula 11 and Formula 12 hold true:
When Formula 11 and Formula 12 are substituted into Formula 5, the following Formula 13 and Formula 14 hold true:
As Formula 13 and Formula 14 are linear with regard to the new reference torque u, and the matrices are diagonalized, decoupling control of the operation of an axis 2 and that of an axis 7 is realized. That is, operations for the links 3 and 8 are independently performed as a link without any interference.
Thereby, when a transfer function between the new reference torque u and the motor angular velocity {dot over (θ)}M is defined to be GM(S), Formula 15 and Formula 16 can be obtained with regard to the transfer function GM(S):
In Formula 16, links, which have become non-interactive by the above-described operations, can be independently identified by a parameter identifying method for one link.
All physical parameters necessary for describing Formula 5 can be identified by the above-described steps. Here,
As described above, the links 3 and 8 can be treated as one independent link. Accordingly, a linear equation of state for one axis is derived as the next step in order to calculate constants of state feedback control for vibration suppressing control. In the first place, the following Formula 17 is defined, and is changed to the following Formula 18:
{umlaut over (θ)}i=Mi−1(eiui−Di{dot over (θ)}i−Kiθi) (Formula 18)
Then, the following Formula 19 is obtained as an equation of state:
As one specific example, all-state feedback control with integral control to make steady-state deviation 0 can be applied as shown in Formula 20:
Control constants ki, f1i, f2i, f3i, f4i in Formula 20 can be calculated by, for example, a Turn over design method effective for vibration control. However, a robust vibration suppressing control system can be obtained without use of the state observer according to the present embodiment.
According to the present embodiment, the nonlinear interference force of the links 3 and 8 is removed, and, at the same time, vibration caused by low rigidity of the axes 2 and 7 can be controlled by combination of state variables shown in Formula 4, and Formula 11, Formula 12, and Formula 20. Furthermore, the present embodiment has similar advantages to those of the first embodiment.
A third embodiment has a configuration, in which state feedback control is performed, considering a force from the outside (hereafter, called an external force), which is given to a link 3 or 8. The present embodiment has a similar configuration to that of the first embodiment, but the difference between the both embodiments is that feedback control is performed, considering the external force.
In the present embodiment, the link 8 is provided with an inner force sensor (not shown), by which a force applied on the tip of the link 8 is measured. The present embodiment can be applied to, for example, a case, in which a predetermined force is applied to a certain object by a robot 100. In this case, a joint is kept in a twisted state even when a link angular velocity {dot over (θ)}A becomes 0, because a stationary force is applied to the tip of the link 8. Accordingly, Formula 2 does not hold true. Then, in the present embodiment, a twisted angle of the joint is corrected to estimate a correct link angle.
Assuming that a force vector measured with the inner force sensor attached at the tip of the link 8 is f, a joint torque vector τ can be represented by the following Formula 21:
τ=JTf (Formula 21)
Here, JT is a transposed matrix of a Jacobian matrix (2 columns and 2 rows) like the following Formula 22:
This Jacobian matrix is a function of the link angle θA, which can not be measured in an ordinary manner. However, considering that the accuracy error of the inner force sensor and the twisted amount of the joint are very small, it presents no problem to obtain the Jacobian matrix with measurable motor angles θM1, and θM2. When the Jacobian matrix is obtained from the motor angles θM1 and θM2, the Jacobian matrix can be represented by the following Formula 23:
Accordingly, the twisted angle (Δ theta) can be represented by Formula 24, using a spring constant KH (the diagonal matrix in Formula 5) of the joint, which has already been identified:
Δθ=KH−1τ (Formula 24)
When the stationary force is applied to the tip of the link 8 and the link angular velocity {dot over (θ)}A is 0, the link angle θA can be obtained as Formula 25:
θA=NHθM−Δθ (Formula 25)
According to the present embodiment, the correct link angle can be estimated by correcting the twisted angle of the joint between the links even when the stationary force is applied to the tip of the link 8. Moreover, the present embodiment has similar advantages to those of the first and second embodiments by combination of the first and second embodiments.
A fourth embodiment has a configuration, in which the stationary force applied to the link 8 is gravity, wherein the stationary force has been described in the third embodiment. Though the links 3 and 8 of the robot 100 shown in
In this case, a gravity term gA (θA) represented by the gravitational acceleration g is added to Formula 11. Thereby, torque τ can be represented by the following Formula 26, and the gravity term gA (θA) can be represented by the following Formula 27:
Subsequently, a parameter r1 r2 in gA(θA) is identified. Here, it presents no problem to describe Formula 27 with measurable motor angles θM1 and θM2, based on a similar reason to that of Formula 23. Thereby, gravitational torque applied to the joints of the links 3 and 8 can be calculated. Moreover, a stationary twisted angle (Δθ) can be corrected by application of Formula 21 through Formula 25.
According to the present embodiment, the correct link angle can be estimated by correcting the twisted angle of the joints between the links even when the stationary force is applied to the links. Moreover, the present embodiment has similar advantages to those of the first through third embodiments by combination of the first through third embodiments.
Though the two-axis robot 100 has been used in the first through fourth embodiments, even a multi-axis robot with three or more axes can be controlled in a similar manner.
In the first through fourth embodiments, the angular velocity sensor (for example, a rate giro) may be arranged on all the links at any time. However, in order to reduce the cost, or when there is a restriction in the attaching positions of the links, the angular velocity sensor may be selectively arranged only on a part of the links. For example, the angular velocity sensor may be arranged only on links, for which vibration suppressing control performance is regarded as of major importance (variant 1). Moreover, there may be applied another configuration (variant 2), in which an angular velocity sensor is installed only when a robot model is identified, and, after the robot model is identified, the angular velocity sensor is eliminated from a robot when the robot according to the robot model is manufactured or used. Furthermore, there may be applied further another configuration (variant 3), in which a state estimation observer for a robot is made compliant with the signal of an angular velocity sensor once the angular velocity sensor is arranged on a link, and, thereafter, the angular velocity sensor is removed from the link.
In order to realize the above variants 1 through 3, the angular velocity sensors 12 and 13 may be disposed on the links 3 and 8 in a detachable manner. The angular velocity sensors 12 and 13 are configured to be disposed on the links 3 and 8 with, for example, a screwing or fitting mechanism. Moreover, a connector for signal lines from the angular velocity sensor 12 is preferably provided on the link 3, and a connector for signal lines from the angular velocity sensor 13 is preferably provided on the link 8.
Here, the angular velocity sensor such as a rate giro has been used for stabilization of the midair attitude of a missile object, and for guidance and control of a mobile unit. A small, light, highly accurate, and cheap rate giro has been available on the market along with recent development of a micro electromechanical system (MEMS) technology.
Additional advantages and modifications will readily occur to those skilled in the art. Therefore, the invention in its broader aspects is not limited to the specific details and representative embodiments shown and described herein. Accordingly, various modifications may be made without departing from the spirit or scope of the general inventive concept as defined by the appended claims and their equivalents.
Number | Date | Country | Kind |
---|---|---|---|
2004-053306 | Feb 2004 | JP | national |
Number | Name | Date | Kind |
---|---|---|---|
4989161 | Oaki | Jan 1991 | A |
5180956 | Oaki et al. | Jan 1993 | A |
5438647 | Nagamatsu et al. | Aug 1995 | A |
6216056 | Ito et al. | Apr 2001 | B1 |
6418629 | Oh | Jul 2002 | B1 |
Number | Date | Country |
---|---|---|
62-237505 | Oct 1987 | JP |
63-251808 | Oct 1988 | JP |
8-110225 | Apr 1996 | JP |
2772064 | Apr 1998 | JP |
3322892 | Jun 2002 | JP |
2004-53530 | Feb 2004 | JP |
Number | Date | Country | |
---|---|---|---|
20050246061 A1 | Nov 2005 | US |