The present invention relates to a device and a method for detecting a gap at a joint of a robot.
As an example of a robot having a link mechanism, a parallel link robot having a delta-type parallel link mechanism for positioning a movable part having an end effector in three-dimensions is well known. The delta-type parallel link robot has a base part, a movable part, and a drive link and a passive link for connecting the movable part to the base part. In many cases, three pairs of drive link and passive link are provided, and the movable part can move with three degrees-of-freedom (X, Y, Z) by individually controlling the motion of each pair.
Generally, the passive link and the drive link, and the passive link and the movable part are connected by ball joints having three degrees-of-freedom, and the ball joint can be classified into a separate type and an integrated type. As the prior art for detecting disconnection at the separate type ball joint, a parallel link robot having a sensor is well known, wherein the sensor detects inclination of an end plate which is a final output of the parallel link robot, and disconnection between links is detected at at least one of a plurality of connection points of the links, based on an output value of the sensor (e.g., see Patent Literature 1).
Further, a detection device is well known wherein an internal passage is formed so as to open on a surface of a spherical head of a ball joint, and whether or not disconnection of the ball joint occurs is determined based on a detection value of the pressure in the internal passage (e.g., see Patent Literature 2).
On the other hand, the integrated type ball joint has a link ball structure in which a ball and a housing are integrated so that the housing and the ball are not easily separated from each other, for example. As the prior art for detecting the gap between the housing and the ball in the integrated type ball joint, a device and a method are well known, wherein a motion trajectory of the robot where the ball and housing collide with each other in a target joint and the ball and housing slide in the other joints is generated, and the presence of an abnormal gap in the target joint is determined based on the magnitude of torque fluctuation when the robot is driven along the generated motion trajectory (e.g., see Patent Literature 3 and 4).
In the separate type ball joint, there is a risk that, when an unexpected high-speed motion or collision occurs, a restraining force to attract the ball to the housing may be reduced, with the result that the joint of the passive link may be disassembled.
On the other hand, in the integrated type ball joint, it is understood that the ball and the housing are not easily separated due to the mechanical connection, even when a collision, etc., occurs. However, in the case where the link ball structure is used, when the ball or the housing wears out due to use, a gap may be generated between the ball and the housing, which can lead to deterioration in the positioning accuracy of the movable part of the robot and/or an increase in vibration. Due to the deterioration of positioning accuracy and/or increase in vibration, it may be difficult for the robot to normally perform a handling operation and/or assembly operation, which may lead to serious problems such as reduction in production efficiency and stoppage of the production process. Therefore, when there is an abnormality in the gap between the link ball part, it is desirable to know of the abnormal state at an early stage.
In a conventional method for detecting disengagement in a ball joint, it is difficult to detect that a gap between the ball and the housing (socket) has increased in the ball joint which is not easily disengaged. This is because a gap of about 0.1 to 0.2 mm is generally considered abnormal, and it is extremely difficult to detect such a minute gap by a sensor, etc.
In addition, the robot motion performed to identify a joint having an abnormal gap may be special, different from normal production operations, etc., and it may be difficult to perform such a special robot motion due to interference between the robot and peripheral equipment and/or layout constraints including the robot. Therefore, a method capable of detecting an abnormal gap even in normal production operations is desired.
One aspect of the present disclosure is an armature of a gap detection device for a robot, the robot comprising: a drive link configured to be driven by a motor; a plurality of passive links configured to be driven by a motion of the drive link; and a plurality of pairs respectively connected to the plurality of passive links, wherein the gap detection device is configured to detect a first gap amount between pairing elements of a pair connected to the passive link, and the gap detection device comprises: a measurement unit configured to measure a drive torque or a current value of the motor when the robot is actually moved along an arbitrary motion trajectory; a simulation unit configured to set an arbitrary second gap amount between pairing elements of the plurality of pairs, execute a simulation in which the robot is moved along the same motion trajectory as the arbitrary motion trajectory, and estimate the drive torque or the current value of the motor; a feature amount calculation unit configured to calculate a first feature amount representing a variation in a value relating to the drive torque or the current value measured by the measurement unit and a second feature amount representing a variation in a value relating to the drive torque or the current value estimated by the simulation unit; and a gap calculation unit configured to calculate an index relating to the first gap amount based on the first feature amount, the second feature amount and the second gap amount.
Another aspect of the present disclosure is a gap detection method for a robot, the robot comprising: a drive link configured to be driven by a motor; a plurality of passive links configured to be driven by a motion of the drive link; and a plurality of pairs respectively connected to the plurality of passive links, wherein the gap detection method is to detect a first gap amount between pairing elements of a pair connected to the passive link, and the gap detection method comprises the steps of: measuring a drive torque or a current value of the motor when the robot is actually moved along an arbitrary motion trajectory; setting an arbitrary second gap amount between pairing elements of the plurality of pairs, executing a simulation in which the robot is moved along the same motion trajectory as the arbitrary motion trajectory, and estimating the drive torque or the current value of the motor; calculating a first feature amount representing a variation in a value relating to the measured drive torque or the measured current value and a second feature amount representing a variation in a value relating to the estimated drive torque or the estimated current value; and calculating an index relating to the first gap amount based on the first feature amount, the second feature amount and the second gap amount.
A further aspect of the present disclosure is a gap detection device for a robot, the robot comprising: a first link configured to be driven by a motor; a second link configured to the first link; and one or more pairs connected to the second link, wherein the gap detection device is configured to detect a first gap amount between pairing elements of a pair connected to the second link, and the gap detection device comprises: a measurement unit configured to measure a first output value of the motor when the robot is actually moved along an arbitrary motion trajectory; a simulation unit configured to set an arbitrary second gap amount between pairing elements of the pair, execute a simulation in which the robot is moved along the motion trajectory, and estimate a second output value of the motor; and a gap calculation unit configured to calculate the first gap amount based on a change in the first output value, a change in the second output value and the second gap amount.
According to the present disclosure, it is possible to easily and accurately identify a gap in each pair (joint) of a robot and determine whether the gap is abnormal. In addition, such identification and determination can be performed in an arbitrary motion of the robot, and are not subject to restrictions such as the layout of the robot.
The link part 16a is constituted by a drive link 20a connected to the base part 12 and a pair of (two) passive links (distal joint links) 22a which extend parallel to each other and connect the drive link 20a to the movable part 14. The drive link (first link) 20a and the passive links (second links) 22a are connected to each other by a pair of (two) first joints 24a. Further, the movable part 14 and the passive links 22a are connected to each other by a pair of (two) second joints 26a. In this embodiment, both the first and second joints (pairs) are formed as ball joints (or spherical joints).
The other link parts 16b and 16c may have the same configuration as the link part 16a. Therefore, the components of the link parts 16b and 16c corresponding to the components of the link part 16a are provided with respective reference numerals in which only the last character is different from the reference numeral of the link part 16a (e.g., the components of the link parts 16b and 16c corresponding to the passive link 22a are provided with reference numerals 22b and 22c, respectively), and a detailed explanation thereof will thus be omitted.
As schematically shown in
The robot controller 36 is configured to generate a motion command for operating the robot 10, and control each axis (or the motor thereof) of the robot 10 based on the motion command. In addition, the gap detection device 38 may have: a storage unit 50 such as a memory configured to store the measurement data and the feature amount, etc.; an output unit 52 configured to output results of the above simulation and the judgment so that the operator can recognize the results; and an input unit 53 such as a keyboard or touch panel by which the operator can input various setting or data. A specific example of the output unit 52 may include: a display for displaying the results of the simulation and the judgment, a speaker for outputting the results of the simulation and the judgment as sound; and a vibrator which can be carried by the operator and vibrates when an abrasion state of the joint is abnormal (or when there is an abnormal gap in the joint). The operator can receive the output from the output unit 52 and repair or replace the joint having the abnormality.
The gap detection device 38 can be realized as an arithmetic processing unit such as a personal computer (PC) having a processor and a memory, etc., connected to the robot controller 36. Although the gap detection device 38 is shown as a device separated from the robot controller 36 in
With reference to
Next, in step S2, the drive torque waveform of the motor which drives each axis of the robot 10 (specifically, the drive torque τmeas,m′ (t) of the motor during operation) is measured. In this regard, since the parallel link robot usually has three actuators, the torque waveform corresponds to a vector combining the waveforms of the three actuators. An example of the torque waveform at this time is shown in
Next, in step S3, the difference between the measured torque waveform and the torque waveform in the initial state is calculated. Specifically, the ideal waveform τmeas,ideal,m′ (t) of the driving torque is previously calculated using the same motion trajectory as the measurement and under the condition that the gaps in all pairs are normal, and then the waveform Δτmeas,m′ (t) corresponding to the difference between the ideal waveform τmeas,ideal,m′ (t) and the torque waveform τmeas,m′ (t) measured in step S2 is calculated using the following equation (1). An example of the torque waveform at this time is shown in
[Math 1]
Δτmeas,m′(t)=τmeas,m′(t)−τmeas,ideal,m′(t) (1)
On the other hand, using the same trajectory as the trajectory used in the actual machine measurement, a simulation (dynamic analysis), which will be described later, is performed (S5), and the drive torque waveform τsim,m′,n′ (t) is estimated (S6). A simulation result is stored in the storage unit 50, etc. In order to identify the pair gap by comparing the result of the dynamic analysis and the result of the actual machine measurement in the later process, the dynamic analysis is performed under various conditions csim,n′ of the pair gap. The condition of the pair gap is determined by a character n′. As for the result of the dynamic analysis, similarly to step S3, the waveform Δτsim,m′,n′ (t) corresponding to the difference relative to the ideal waveform is calculated using the following equation (2) (S7).
[Math 2]
Δτsim,m′,n′(t)=τsim,m′,n′(t)−τsim,ideal,m′(t) (2)
In this regard, since Δτmeas,m′ (t) and Δτsim,m′,n′ (t) in equations (1) and (2) are time series data and multi-dimensional data, the calculations using these values tend to be complex and time consuming. Therefore, in order to reduce the amount of calculation for gap estimation described below, the dimensions of time-series data are reduced by feature selection.
Specifically, when comparing the drive torque data obtained on the same trajectory and under different conditions of the pair gap, the difference (variation) in the waveforms thereof is considered to be due to changes in the conditions of the pair gap. Therefore, by setting new orthogonal coordinates in descending order of the degree of variation and extracting a first few coordinates as new variables, it is possible to reduce the number of dimensions of the data while extracting the effect of the pair gap. Here, feature selection based on principal component analysis is executed. The data dimensions are reduced by the feature selection, and feature amounts Δτmeas,FS (a first feature amount) and Δτsim,FS (a second feature amount) of a new drive torque are calculated (S4, S8).
In addition, although a method of feature selection using only the principal component analysis is described in this embodiment, it is expected to improve the accuracy of the mathematical model by combining, for example, signal processing methods such as Fourier transform and wavelet transform and various feature selection methods belonging to the field of machine learning. For example, by extracting only a specific frequency region which is likely to be affected by the pair gap by using Fourier transform or wavelet transform, it is possible to eliminate other error factors and improve the accuracy of the model. Also, the data dimensions are reduced by extracting the specific frequency region. The data dimensions are further reduced by applying the above principal component analysis to the extracted specific frequency data region.
Next, in step S9, a mathematical model which associates the characteristic quantity of the drive torque obtained by the dynamic analysis and the actual machine measurement with the size of the pair gap is constructed, as shown in the following equation (3).
[Math 3]
Δτmeas,FS,m′=X0,m′+X1,m′cest+ϵ1,m′+ϵ2
Δτsim,FS,m′,n′=X0,m′+X1,m′csim,n′+ϵ1,m′ (3)
Here, csim represents the size of the pair gap (second gap amount) for which the dynamic analysis is performed, and cest represents the actual size of the pair gap (first gap amount) to be identified as an unknown quantity. The mathematical model is represented by a probabilistic model. In equation (3), the first formula in equation (3) is a model relating to the actual machine measurement, and the second formula is a model relating to the simulation (the dynamic analysis). The error terms ϵ1,m′ and ϵ2 are random variables following a certain probability density function. Herein, based on the knowledge that torque fluctuation increases as the pair gap increases, we have adopted the simplest model that satisfies this condition, i.e., a model in which these variables are associated by a linear expression regarding the gap.
The term ϵ1,m′ is considered as an error due to modeling in the linear expression. Since the dynamics of the parallel link robot with pair gap is nonlinear dynamics, a nonlinear term exists. It is considered that the influence of the nonlinear term becomes larger, as the number of pairs for which gaps to be taken into account at the same time increases. In order to consider this influence, the error term ϵ1,m′ is set. The error term ϵ2 accounts for the difference between the mathematical model of the dynamics analysis and the actual machine measurement. The main reason for this difference is the modeling error in the dynamic analysis and/or the measurement error in the actual machine measurement. In this embodiment, the error terms ϵ1,m′ and ϵ2 are modeled by the following equation (4), assuming that these terms follow a (multivariate) normal distribution.
[Math 4]
ϵ1,m′˜N(0,Σm′)
ϵ2˜N(0,o2I) (4)
The character N (μ, Σ) represents a multivariate normal distribution with mean μ and variance-covariance matrix Σ. The character I is an identity matrix. The term ϵ1,m′ is modeled as following the multivariate normal distribution, considering the correlation between feature amounts in the same trajectory. Regarding the non-linear term described above, it is assumed that the value of the feature amount which appears due to the gap in a certain sphere pair will change under the influence of the gap in another sphere pair. The reason why the correlation between the feature amounts in the same trajectory is taken into consideration is that this change appears as a correlation of the error. On the other hand, the term ϵ2 is modeled as all elements following the same one-dimensional normal distribution.
Next, in step S10, the pair gap is identified by solving the constructed mathematical model, more specifically, calculating the maximum likelihood estimation solution of the constructed mathematical model (S10). Since the mathematical model constructed in this embodiment includes two kinds of error terms, it is difficult to calculate an exact solution as in the least squares matrix calculation. Therefore, as an example, it is considered that an approximate value of the maximum likelihood estimation solution is derived by Bayesian estimation using an MCMC method, which is a kind of Monte Carlo method. In Bayesian estimation, parameters of a probability model are estimated as random variables based on the concept of Bayesian statistics. By calculating a mode value of the probability distribution regarding the pair gap derived by the MCMC method, the maximum likelihood estimation solution regarding the pair gap can be calculated. In addition, since the gap amount can be calculated from the probability distribution, the likelihood of the estimated gap amount can be understood. In this embodiment, the maximum likelihood estimation solution obtained in this way is defined as an estimated value of the pair gap (the index relating to the first gap amount).
Finally, in step S11, an abnormal gap is detected from the estimated size of the gap. Specifically, the estimated value of the gap is compared with a predetermined reference value considered to be abnormal, and when the estimated value is equal to or greater than the reference value, the gap is determined to be abnormal. Thus, in this embodiment, in addition to being able to quantitatively estimate the gap amount of each pair, it is possible to automatically determine an abnormal pair (having an excessively large gap).
In the first example, the first and second expressions of equation (3) are simultaneously solved by Bayesian estimation. On the other hand, in the second example, the coefficients X0,m′ and X1,m are previously calculated from the result of the dynamic analysis. In other words, in the second example, the coefficients X0,m′ and X1,m′ are previously identified from the values of Δτsim,FS,m′,n′ and csim,n′ (S9″), and the pair gap cest of the actual robot is estimated based on the value of Δτmeas,FS,m′ obtained by the measurement and the identified values of X0,m′ and X1,m′ (S9′).
Both the first and second examples can be applied to the case where the motion trajectory of the robot used to estimate the gap changes, by following the processes (a) to (d) described below.
With reference to
First, as shown in
A specific example of the method of deriving the motion equation in step S53 will be described. First, the motion equation using the generalized coordinates ql is represented by equation (5) below.
[Math 5]
M
l,m
{umlaut over (q)}
m
+C
l,m,n
{dot over (q)}
m
{dot over (q)}
n
=F
l(l=1,2, . . . ,N) (5)
Equation (5) applies the Einstein convention. When a subscript appears twice in one term, the sum of the subscripts is calculated. The character ql represents the generalized coordinate, the character Fl represents the generalized force (known quantity) corresponding to the generalized coordinate, and the character (Ml,m) represents the mass matrix corresponding to the vector q=(ql) of collections of the generalized coordinate. Each of characters l, m, n represents the number of generalized coordinates, and a character N represents the number of generalized coordinates (dimension of the dynamical system). The character Cl,m,n is a Christoffel symbol of the first kind and is defined by following equation (6).
By substituting equation (6) into equation (5) and arranging it, following equation (7) is obtained. In this regard, following equation (8) is true.
Here, δnl is the Kronecker delta and is defined by following equation (9).
The item (Ml,m) is the inverse of the mass matrix MGC. According to equation (7), given the mass matrix and the partial differential of the mass matrix with respect to the generalized coordinates, it can be understood that the motion (generalized acceleration) caused by the acting force Fl can be calculated. In the forward dynamic analysis, the motion can be predicted by sequentially numerically integrating the obtained generalized acceleration. The degrees of freedom of the motion of the system are broadly divided into those derived from the degrees of freedom of the mechanism when the gaps in all of the pairs are zero, and those derived from the pair gaps. Therefore, it is considered that the generalized coordinates is set as expressed by following equation (10).
In equation (10), the character θi represent the displacements of the three rotating pairs (actuators). The character J′ is the total number of the sphere pairs each having the gap to be considered, and the character Sil′,jl′,kl′ is the l'-th sphere pair having the gap to be considered. As shown in
The mass matrix MGC is expressed by following equation (11) using a matrix Mlink which collects the mass of the link and the inertia tensor of the barycentric coordinate system of the link.
[Math 11]
M
GC=tAtJall(θ)−1MlinkJall(θ)−1A (11)
In this regard, Jall (=∂qall/∂qlink) the Jacobian matrix of the vector qall (θ, δall)) which collects the actuator displacement θ and the pair error δall of all passive pairs, relative to the center of gravity position and orientation (the local coordinates of the link) qlink of all links. Here, it is assumed that the pair error is sufficiently small compared to the mechanical constants such as the link length, and the Jacobian matrix Jall depends only on the actuator displacement θ. The character A is a matrix determined by the location where the gap is considered, and is defined by following equation (12).
The character I is the identity matrix, the character J′ represents the total number of pairs having gaps to be considered, and the character si represents the order number of the pair having the gap to be considered. The characters Mlink and A are matrices independent of the vector q. At this time, qall=Aq is true. By substituting equation (11) into equation (8), following equation (13) is obtained. In this regard, equation (14) is true, wherein the character t represents the transpose of the matrix.
Next, an equation for deriving Jall(θ) and ∂Jall(θ)/∂θ in the parallel link robot is determined. As shown in
In this regard, following equations (16) to (18) are true.
In equations (15) to (18), the character In represents an n-th order identity matrix, the character Om,n represents a matrix having m-row and n-column, and the character [*]x represents a skew-symmetric matrix generated by the vector *. The partial differential ∂Jall(θ)/∂θi′ of the Jacobian matrix is calculated by following equation (19) by partially differentiating equations (15) to (18). In this regard, equations (20) and (21) are true.
In view of the above, when the derivation equation of the external force Fl is determined, the motion equation of motion can be formulated, and the forward dynamic analysis can be executed. The external force Fl is given by following equation (22) in consideration of a contact force Fjoint of the pair element, a drive torque Factuator based on the control law of the actuator, and a gravitational force Fgravity acting on each link.
[Math 22]
(Fl)=Fjoint+Factuator+Fgravity (22)
In the present disclosure, Lankarani's model, which considers energy loss in Hertz's elastic contact theory, is used as a contact model for expressing the separation, collision, and sliding of the pair elements. It is desirable to use a contact model of the pair elements which is suitable for the state and material of the pair. The calculated torque method, which is frequently used in industrial robots, is used as the actuator control law.
In order to verify the validity of the identification of the pair gap according to the present disclosure, a drive torque measurement experiment was conducted using an actual robot. Here, actual machine measurement and dynamic analysis were previously performed under a condition in a plurality of pair gaps and trajectories, respectively, and the obtained data were used in combination.
In Table 1, for the sphere pair indicated as 0, the actual machine measurement was performed using an ideal sphere pair with a measured gap of 0.00 mm, and the numerical calculation was performed under the ideal sphere pair in the dynamic analysis. For the sphere pair indicated as 0.14 mm and 0.15 mm, the numerical calculation was performed using these values in the dynamic analysis. The trajectory used for the measurement and analysis was a straight trajectory along which the output node is moved by a constant distance l0 (in this case, l0=200 mm). A large number (in this study, one hundred) of linear trajectories were generated by randomly selecting start and end points of the trajectories from a working area.
In this way, the waveform data of the drive torque in the actual machine measurement and dynamic analysis were acquired under various conditions with respect to the pair gap and the trajectory. Hereinafter, the condition of the pair gap is discriminated by using the subscript n′, and the trajectory is discriminated by using the subscript m′. The present disclosure was verified by repeatedly identifying the pair gaps by combining the acquired data.
The result of feature selection when using the trajectory 1 (m′=1) in Table 2 is explained. First, the waveforms Δτsim,1,n′(t) and ΔΣmeas,1(t) of the difference in the drive torque in each actuator relative to the waveforms when the gaps in all sphere pairs are sufficiently small were calculated. Since the dynamic analysis results were obtained by executing the dynamic analysis under many gap conditions, principal component analysis was executed on these results Δτsim,1,n′(t).
Next, similar graphs were created for the actual machine measurement results. The magnitude of the orthogonal projection of the actual machine measurement results (the collection of the waveforms of difference for all actuators) onto each principal component vector obtained by the principal component analysis of the dynamic analysis results was the principal component score of the actual machine measurement result data.
Next, the validity of the present disclosure was verified by identifying the pair gap and comparing the obtained estimated value of the gap to the actual size of the gap.
First, a set of trajectories to be used for identifying the gap was determined. Here, ntraj trajectories were randomly selected from one hundred trajectories. As for the data for the dynamic analysis, all (forty-three) combinations of data shown in Table 1 were selected for the analysis results of the ntraj trajectories. As for the actual machine measurement results, one combination was randomly selected from the (forty-three) combinations shown in Table 1 as the data of the pair gap condition for identification. The obtained data set was subjected to the gap identification process shown in
Next, the result of one execution result among one hundred execution results of identifying the pair gap will be described. The numbers of selected trajectories (the numbers shown in Table 2) were (64, 60, 58, 80, 70, 55, 67, 44, 35, 61), and the number indicating the gap condition to be identified (the number shown in Table 1) was 15. The measured gaps were 0.14 mm for S1,1,2, 0.15 mm for S2,1,2, and 0 mm for the other sphere pairs.
In the embodiment as explained above, although the determination is made using the drive torque of the motor as the output value thereof, the time differential value of the drive torque may be used instead. Also, instead of using the value relating to the drive torque (here, the drive torque or its time differential value), a value relating to its current value (e.g., a current value or its time differential value) may be used as the output value of the motor. Since the drive torque is usually proportional to the current value, the same process as described above can be applied even when the value relating to the current value is used. Furthermore, in the above embodiment, the first gap amount is identified using the feature amount representing the variation in the output value of the motor, but the variation data itself can be used instead of the feature amount.
In the embodiment, although the parallel link robot is explained as a robot to which the gap detection device and the gap detection method of the present disclosure can be applied, the object to which the device and the method can be applied is not limited as such. As another preferable example to which the gap detection device and the gap detection method of the present disclosure can be applied, a six-axis multi-joint robot which does not have a closed-loop link mechanism, or a robot at least partially having a closed-loop link mechanism as schematically shown in
In the embodiment, although the sphere joint (or the ball joint) is explained as a pair (or a joint) to which the gap detection device and the gap detection method of the present disclosure can be applied, the object to which the device and the method can be applied is not limited as such. For example, the gap detection device and the gap detection method can be applied to a hinge structure (or a rotational joint) having one degree-of-freedom. In such a case, the rotating joint (or the hinge structure) has, as the pairing elements, a generally columnar member (or a convex portion) and a generally cylindrical member (or a concave portion) configured to fit with the columnar member. Also in such a hinge structure, an abnormal gap may occur between the columnar member and the cylindrical member in the radial direction thereof, due to temporal deterioration (e.g., frictional wear of at least one of the columnar member, the cylindrical member, and a liner between the members), etc., of the hinge structure. Therefore, the gap detection device and the gap detection method of the present disclosure can also be applied to the hinge structure, etc.
In the present disclosure, a program for causing the gap detection device to execute the above process can be stored in the storage unit of the device or another storage device. The program can also be provided as a non-transitory computer-readable recording medium (a CD-ROM, a USB memory, etc.) on which the program is recorded.
Number | Date | Country | Kind |
---|---|---|---|
2021-005871 | Jan 2021 | JP | national |
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/JP2022/000787 | 1/12/2022 | WO |