Method for estimating a wrench
11279027 · 2022-03-22
Assignee
Inventors
- Debora Clever (Zwingenberg, DE)
- Fan Dai (Zwingenberg, DE)
- Hao Ding (Heidelberg, DE)
- Tomas Groth (Vaesteras, SE)
- Bjoern Matthias (Bad Schoenborn, DE)
- Arne Wahrburg (Darmstadt, DE)
Cpc classification
B25J9/1633
PERFORMING OPERATIONS; TRANSPORTING
G05B2219/39264
PHYSICS
G05B2219/39261
PHYSICS
International classification
Abstract
A method for estimating a wrench acting on a reference point of a robot includes the steps of: a) measuring at least one component, but not all components, of the wrench; and b) estimating non-measured components of the wrench based on a dynamical model of the robot while taking into account the measured components.
Claims
1. A method for estimating a wrench acting on a reference point of a robot, comprising the steps of: a) measuring at least one component, but not all components, of the wrench; and b) estimating non-measured components of the wrench based on a dynamical model of the robot while taking into account the measured components, wherein step b) comprises a maximum-likelihood estimation of the non-measured components.
2. The method of claim 1, wherein a number of measured components is 1.
3. The method of claim 1, wherein the measured component is parallel to a surface normal of a surface of the robot which extends through the reference point or to a direction in which the reference point advances when processing a workpiece.
4. A method for estimating a wrench acting on a reference point of a robot, comprising the steps of: a) measuring at least one component, but not all components, of the wrench; and b) estimating non-measured components of the wrench based on a dynamical model of the robot while taking into account the measured components, wherein step b) comprises calculating a first estimate of the wrench based on the dynamical model alone, and refining the first estimate using a maximum-a-posteriori estimation.
5. The method of claim 4, wherein a number of measured components is 1.
6. The method of claim 4, wherein the measured component is parallel to a surface normal of a surface of the robot which extends through the reference point or to a direction in which the reference point advances when processing a workpiece.
7. A method for estimating a wrench acting on a reference point of a robot, comprising the steps of: a) measuring at least one component, but not all components, of the wrench; and b) estimating non-measured components of the wrench based on a dynamical model of the robot while taking into account the measured components, wherein the wrench is predicted by a Kalman filter and the at least one measured component is input as a state measurement into the Kalman filter.
8. The method of claim 7, wherein a number of measured components is 1.
9. The method of claim 7, wherein the measured component is parallel to a surface normal of a surface of the robot which extends through the reference point or to a direction in which the reference point advances when processing a workpiece.
10. A method for estimating a wrench acting on a reference point of a robot, comprising the steps of: a) measuring at least one component, but not all components, of the wrench; and b) estimating non-measured components of the wrench based on a dynamical model of the robot while taking into account the measured components, wherein among the measured components of the wrench there is at least one force component and/or among the non-measured components there is at least one torque component.
11. The method of claim 10, wherein a number of measured components is 1.
12. The method of claim 10, wherein the measured component is parallel to a surface normal of a surface of the robot which extends through the reference point or to a direction in which the reference point advances when processing a workpiece.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The present invention will be described in even greater detail below based on the exemplary figures. The invention is not limited to the exemplary embodiments. Other features and advantages of various embodiments of the present invention will become apparent by reading the following detailed description with reference to the attached drawings which illustrate the following:
(2)
DETAILED DESCRIPTION
(3) In an embodiment, the present invention provides a method for estimating a wrench which can achieve a high precision at low cost.
(4) In an embodiment, the present invention provides a method comprising the steps of a) measuring at least one, but not all components of the wrench, typically using a built-in sensor of the robot, and b) estimating non-measured components of the wrench based on a dynamical model of the robot while taking the measured components into account.
(5) The cost of implementing the method can be kept low not only because the overall number of sensors can be reduced in comparison with the 6 DOF F/T measurement approach, but also because the component(s) of the wrench that are chosen to be measured can be the one (s) which offer the best ratio of cost to efficiency.
(6) For example, measuring a force may be preferable over measuring a torque since a precise torque measurement may require a certain distance between a force-sensitive element and an axis relative to which the torque is measured, while a force measurement does not, so that a force sensor can fit into a smaller space.
(7) From the viewpoint of cost and efficiency, no additional sensor can improve the precision of the wrench estimation more than the first sensor does. Therefore, in a preferred embodiment, the number of measured components is 1.
(8) Further, it is preferred that the measured component is parallel to a surface normal of a surface of the robot which extends through the reference point. In that way, a contact force between the robot and an outside object touching the surface can be measured precisely, and there is no risk of the measurement being distorted by the object slipping along the surface. Alternatively, it can be parallel to a direction in which the reference point advances when processing a workpiece, so that during processing, pressure exercised on the workpiece can be measured precisely.
(9) There are various approaches by which the measured component(s) can be taken account of.
(10) One of these is to estimate the non-measured components by a maximum-likelihood estimation, i.e. by finding those values of the non-measured components for which the likelihood of measuring the values of the measured components that actually were measured is highest.
(11) Another is based on the principle of the Kalman filter. A Kalman filter can be set up having the coordinates and speeds of the robot in the various degrees of freedom as its state. The at least one measured component is input as a state measurement into said Kalman filter, so that it will be taken into account when a future state is predicted based on the measured state of the Kalman filter.
(12) Still another approach comprises, as substeps of step b), steps of calculating a first estimate of the wrench based on the dynamical model alone, and of refining the first estimate using a maximum-aposteriori estimation.
(13) Further features and advantages of the invention will become apparent from the following description of embodiments thereof, referring to the appended drawing.
(14) The robot system of
(15) Each such joint 6j comprises a motor to drive its rotation and a rotational encoder for feeding back the rotation angle of the joint 6j to controller 2.
(16) The end effector 4 is a tool of any desired type, such as a gripper, a welding or soldering tool, a machining tool, a grinding tool etc., or, in the example of
(17) As is well known, external forces and torques at a tool center point (TCP) 11 such as the tip of drilling head 8 induce joint load torques according to
τ.sub.ext=J.sup.T.Math.f (1)
where J∈.sup.6×N.sup.
.sup.6 into f=f.sub.m+f.sub.nm, where f.sub.m contains the components that can directly be measured by available low-dimensional sensors of the robot, i.e. by sensor 10 in the case of FIG. 1, and f.sub.nm contains components which cannot be measured because the robot arm 1 lacks appropriate sensors. Assuming that the direction of axis 7 is the z direction, f.sub.m and f.sub.nm can be written
(18)
(19) Replacing f by f.sub.m+f.sub.nm in eq. (1), we can write τ.sub.ext=J.sup.T (f.sub.n+f.sub.nm), and we define
τ′.sub.ext=τ.sub.ext−J.sup.T.Math.f.sub.n=J.sup.T.Math.f.sub.nm (3)
(20) Since f.sub.nm has at least one component which is zero (corresponding to the measured component of f.sub.m), eq. (3) can be rewritten
τ′.sub.ext=J.sup.T.Math.f.sub.nm=J.sup.T.sub.red.Math.f.sub.nm,red (4)
(21) where f.sub.nm,red ∈.sup.6−N.sub.meas is a vector that contains all non-zero elements of f.sub.nm (N.sub.meas being the number of measured wrench components) and J.sup.T.sub.red is a reduced version of the Jacobian transpose in which all columns corresponding to the measured components of wrench have been removed. Note that with N.sub.DoF being the number of manipulator degrees of freedom (DoF), J.sup.T.sub.red∈
.sup.N.sup.
(22) To this end, we assume that joint load estimates {circumflex over (t)}.sub.ext are available. They can e.g. be obtained from
{circumflex over (t)}.sub.ext=τ.sub.mot−G(q)−τ.sub.ffw−{circumflex over (t)}.sub.fric (5)
(23) where τ.sub.mot are motor torques, G(q) are gravity induced torques, τ.sub.ffw represents dynamic feedforward and {circumflex over (t)}.sub.fric are friction torques obtained from a friction model. Furthermore, we assume
{circumflex over (t)}.sub.ext=τ.sub.ext+e.sub.j,e.sub.j˜N(0,Σ.sub.j) (6)
(24) i.e. the error in joint load torque estimates is normally distributed with zero mean. Assuming that motor torques and gravity compensation are known very accurately, the covariance matrix Σ.sub.j can be obtained by determining the standard deviation in the friction model error for each joint (e.g. by gathering joint load torque estimates during a validation motion with no external load and a defined tool).
(25) Considering (4) with the joint level uncertainty e.sub.j and an additional uncertainty e.sub.fm˜N(0, Σ.sub.fm) in the low-dimensional F/T measurements from built-in sensors such as 10, we obtain
{circumflex over (t)}.sub.ext−J.sub.fmfm.sup.T+e.sub.j−J.sup.Te.sub.fm={circumflex over (τ)}′.sub.ext+e.sub.j−J.sup.Te.sub.fm=J.sup.T.sub.redf.sub.nm,red (7)
(26) With this prior information in joint space, the remaining components of wrench can be estimated by maximum likelihood estimation as
(27) This expression can be simplified under certain conditions, e.g. if the uncertainty of the measured components is neglected, Σ.sub.fm=0, equation (8) reduces to
{circumflex over (f)}.sub.nm,red=(J.sub.red.Math.Σ.sub.j.sup.−1.Math.J.sub.red.sup.T).sup.−1.Math.J.sub.red.Math.Σ.sub.j.sup.−1{circumflex over (τ)}.sub.ext (9)
(28) If no data on the covariance matrix Σ are available, it can be necessary to replace it by an identity matrix I.sub.N.sub.
{circumflex over (f)}.sub.nm,red=(J.sub.red.Math.J.sup.T.sub.red).sup.−1.Math.J.sub.red{circumflex over (τ)}.sub.ext (10)
which corresponds to the standard pseudo-inverse of the Jacobian transpose.
(29) Alternatively, qualitative information with respect to the quality of the friction model can be used. To do so, the diagonal elements corresponding to main joints can be set to larger values than the elements corresponding to wrist joints (only the ratio of the elements matters for estimation).
(30) According to a second approach for combining measured and calculated wrench component, a first estimate of wrench is calculated without regard to measurements, using the expression
{tilde over (f)}=(J.Math.Σ.sub.j.sup.−1.Math.J.sub.red.sup.T).sup.−1.Math.J.sub.red.Math.Σ.sub.j.sup.−1{circumflex over (τ)}.sub.ext (11)
(31) In a next step, a second estimate of wrench is calculated. In this step, all forces and torques that can directly be measured are replaced by the corresponding measurements. For non-measured directions, the original estimates are kept. This is formalized as
(32)
(33) A covariance matrix in Cartesian space is constructed as, Σ.sub.f=diag(σ.sup.2.sub.fx, σ.sup.2.sub.fy, σ.sup.2.sub.fz, σ.sup.2.sub.τx, σ.sup.2.sub.τy, σ.sup.2.sub.τz), its diagonal elements being defined as
(34)
(35) wherein σ.sup.2.sub.sens,i, is the variance of the sensor 10 and f.sub.max,i is the maximum expected magnitude of the force or torque in direction i.
(36) A refined estimate of the wrench is then obtained based on the first estimate of eq. (11) by a maximum a-posteriori estimation:
{circumflex over (f)}=(J.Math.Σ.sub.j.sup.−1.Math.J.sup.T+Σ.sub.f.sup.−1).sup.−1.Math.(J.sub.red.Math.Σ.sub.j.sup.−1{circumflex over (τ)}.sub.ext+Σ.sub.f.sup.−1{tilde over (f)}′) (14)
(37) According to a third approach, joint level load torque information τ.sub.exe and the measurements gathered from a low-dimensional F/T sensor such as sensor 10 are combined into an augmented measurement vector y. This vector y has N.sub.DoF.sup.+N.sub.meas components, N.sub.DoF being the number of degrees of freedom of the robot, and N.sub.meas being the number of measured components of the wrench. Movement of the robot is modelled by
(38)
where p=M{dot over (q)} is the generalized momentum and
(39) {circumflex over (τ)}=τ.sub.mot−G(q)−τ.sub.ffw−{circumflex over (τ)}.sub.fric. The vector y is related to
(40)
by
(41)
where C.sub.sens is a vector specifying which components of wrench directly be measured. For example, if force in z-direction can be measured, the vector is C.sub.sens=[0 0 1 0 0 0].
(42) A Kalman filter is implemented that has
(43)
as its state vector. As usual in the art, the Kalman filter predicts a future state vector x.sup.k+1 based on the current one x.sup.k using eq. 15. The prediction yields changes of both generalized momenta q and of wrench f. A discrepancies are calculated between the predicted and the measured values of the generalized momenta and of the at least one measured component f.sub.m,1 of the wrench. These discrepancies are used for updating the status vector, as is common in the art, but as the amount of data is higher than in case of conventional prediction of forces and torques based on a dynamic model of the robot alone, without having recourse to force or torque measurements, precision is improved.
(44) According to a fourth approach, in analogy to τ.sub.ext=J.sup.Tf+e.sub.i, e.sub.j=N(0, Σ.sub.j) we define an augmented Jacobian so that
(45)
where e.sub.s is the sensor measurement noise with covariance matrix Σ.sub.s and the matrix c.sub.sens describes the Cartesian directions (or linear combinations thereof) that are directly measured by a sensor such as 10. As in case of the first approach, a solution for eq. 17 is obtained by a maximum likelihood estimation, yielding
(46)
(47) Eq. 18 provides estimates for all components of the wrench {dot over (f)}, including those that are directly measured using sensor 10 or the like, so that by comparing the estimated values to the measured ones, reliability of the underlying model can be judged.
(48) While the invention has been illustrated and described in detail in the drawings and foregoing description, such illustration and description are to be considered illustrative or exemplary and not restrictive. It will be understood that changes and modifications may be made by those of ordinary skill within the scope of the following claims. In particular, the present invention covers further embodiments with any combination of features from different embodiments described above and below. Additionally, statements made herein characterizing the invention refer to an embodiment of the invention and not necessarily all embodiments.
(49) The terms used in the claims should be construed to have the broadest reasonable interpretation consistent with the foregoing description. For example, the use of the article “a” or “the” in introducing an element should not be interpreted as being exclusive of a plurality of elements. Likewise, the recitation of “or” should be interpreted as being inclusive, such that the recitation of “A or B” is not exclusive of “A and B,” unless it is clear from the context or the foregoing description that only one of A and B is intended. Further, the recitation of “at least one of A, B and C” should be interpreted as one or more of a group of elements consisting of A, B and C, and should not be interpreted as requiring at least one of each of the listed elements A, B and C, regardless of whether A, B and C are related as categories or otherwise. Moreover, the recitation of “A, B and/or C” or “at least one of A, B or C” should be interpreted as including any singular entity from the listed elements, e.g., A, any subset from the listed elements, e.g., A and B, or the entire list of elements A, B and C.
REFERENCE NUMERALS
(50) 1 robot arm 2 controller 3 base 4 end effector 5 link 6 joint 7 axis 8 drilling head 9 socket 10 sensor 11 TCP