Linköping University Electronic Press
Report
A Simulation Study on the Arm Estimation of a Joint Flexible 2
DOF Robot Arm
Patrik Axelsson
Series: LiTH-ISY-R, ISSN 1400-3902, No. 2926
ISRN: LiTH-ISY-R-2926
‘
Technical report from Automatic Control at Linköpings universitet
A Simulation Study on the Arm
Estimation of a Joint Flexible 2 DOF
Robot Arm
Patrik Axelsson
Division of Automatic Control
E-mail: [email protected]
8th December 2009
Report no.: LiTH-ISY-R-2926
Address:
Department of Electrical Engineering Linköpings universitet
SE-581 83 Linköping, Sweden
WWW: http://www.control.isy.liu.se
AUTOMATIC CONTROL REGLERTEKNIK LINKÖPINGS UNIVERSITET
Technical reports from the Automatic Control group in Linköping are available from http://www.control.isy.liu.se/publications.
Abstract
The main task for an industrial robot is to move the tool into specic posi-tions. It is therefore necessary to have an accurate knowledge about the tool position. This report desrcibes a simulation study where an accelerometer attached to the robot tool is used. The acceleration and measured motor angles are used with an Extended Kalman Filter (EKF) to estimate the tool position. The work has been focused on a robot with two degrees of freedom. Simulations have been performed with dierent kind of errors and on dierent paths. The EKF uses covariance matrices of the process noise and measurement noise which are unknown. An optimization problem has therefore been proposed and solved to get covariance matrices that give good estimations.
A Simulation Study on the Arm Estimation of a
Joint Flexible 2 DOF Robot Arm
Patrik Axelsson
2009-12-08
Abstract
The main task for an industrial robot is to move the tool into spe-cic positions. It is therefore necessary to have an accurate knowledge about the tool position. This report desrcibes a simulation study where an accelerometer attached to the robot tool is used. The acceleration and measured motor angles are used with an Extended Kalman Filter (EKF) to estimate the tool position. The work has been focused on a robot with two degrees of freedom. Simulations have been performed with dif-ferent kind of errors and on dierent paths. The EKF uses covariance matrices of the process noise and measurement noise which are unknown. An optimization problem has therefore been proposed and solved to get covariance matrices that give good estimations.
1 Introduction
The problem is to estimate the tool position for a exible manipulator. The manipulator is a resonant system with uncertainties in the model parameters. There are also high demands on the accuracy of the estimation. In the past when the robots were more rigid than today it was enough to measure the motor angles and use kinematic models. Nowadays this is not enough due to exibilities in the structure. Earlier work, see [3] and [4], using experimental data have shown that the estimation is good for frequencies from 3 to 30 Hz but not so good for lower frequencies. The aim is therefore to improve the estimation in the low frequency range. The work is limited to a 2 DOF manipulator and uses only simulated data.
The report desribes the robot model and the accelerometer model in Sec-tion 2 and the observer in SecSec-tion 3. The simulaSec-tion setup is described in Section 4 and the result is presented in Section 5. Conclusions and future work is given in Sections 6 and 7.
2 Mathematical models
This section presents the mathematical models for the robot and the accelerom-eter. The equations for the observer are presented in Section 3.
2.1 Robot model
The robot model is a joint exible two-axes model from [5], see Figure 2.1, that includes both nonlinear stiness and friction in the joints. Let
q = qa qm , u = 0 um , (2.1)
where qa and qmare the arm and motor angles and umis the motor torque. A
dynamic equation can then be derived as
M (q)¨q + C(q, ˙q) + G(q) + τs(q) + D( ˙q) + κ( ˙q) = u. (2.2)
Here M(q) is the inertia matrix, C(q, ˙q) is the Coriolis- and centrifugal terms, G(q)is the gravitaional torque, τs(q) is the nonlinear stiness torque, D( ˙q) is
the damping torque and κ( ˙q) is the nonlinear friction torque. A state space model can be derived from (2.2) as
˙ x = x3 x4 M−1(x1)(u − C(x1, x3) − G(x1) − D(x3, x4) − τs(x1, x2) − κ(x4)) = f (x, u), (2.3) where x = x1 x2 x3 x4 = qa qm ˙ qa ˙ qm . (2.4)
The equations are expressed on the arm side. This means that qm = q˜ηm,
um = ˜umη where η is the gear ratio and ˜qm and ˜um are the motor angle and
motor torque expressed on the motor side of the gearbox. See [3] and [5] for more details.
2.2 Accelerometer model
The accelerometer measures the acceleration in a frame {s} xed to the sensor. The measured acceleration is
¨
ρMs = ¨ρs+ Rsw(qa)Gw+ δs+ es, (2.5)
where ¨ρsis the acceleration due to the motion, Gw= 0 0 −g
T models the gravitation in the world frame {w}, δsmodels the drift and esis the measurment
noise, both expressed in {s}. Rw
s(qa)is a rotation matrix that represents the
transformation from frame {w} to frame {s}.
Both the simulation model and the observer must have a mathematical ex-pression for ¨ρs. First a vector from the origin in frame {w} to the origin in
frame {s}, see Figure 2.2, is dened as ρw=
x(qa)
z(qa)
0 ˆx 0 ˆz 1 a q 2 a q P 1 1 1 1, ,j,l m ξ 2 2 2 2, ,j,l m ξ 1 1(),d s ⋅ τ 2 2(),d s ⋅ τ 1 1 1 1, m, m(⋅),η m q f j 1 m u 2 m u 2 2 2 2, m , m (⋅),η m q f j
Figure 2.1: Serial robot with two degrees of freedom. The kinematic and the dynamic equations are derived in [5].
where Γ is a system of nonlinear equations for the robot kinematics. The deriva-tive of (2.6) with respect to time gives
˙
ρw= ˙Γ(qa) = J (qa) ˙qa, (2.7a)
¨
ρw= ¨Γ(qa) = J (qa)¨qa+ ˙J (qa) ˙qa, (2.7b)
where J(qa) = ∂q∂Γa is the jacobian matrix. The vector ¨ρw is then transformed
from frame {w} to frame {s} according to ¨
ρs= Rws(qa) ¨ρw. (2.8)
It is now possible to calculate the acceleration caused by the motion of the robot in dierent positions. Insert (2.8) in (2.5) and the nal expression for the measured acceleration can be expressed as
¨
ρMs = Rws(qa)( ¨ρw+ Gw) + δs+ es. (2.9)
More about the accelerometer modeling can be found in [3].
3 Observer
An Extended Kalman Filter (EKF), see [1], is used as the observer. The EKF is a suboptimal lter that linearizes the system equation and the measurement equation around the estimated states at every time step before a Kalman lter is applied.
3.1 System and Measurement Equations
The continuous-time model f(x, u) in (2.3) is rst discretized before the EKF is used. By using a rst order Taylor approximation, we get
xk+1= F (xk, uk) + vk, (3.1a)
W xˆ W zˆ 1 a q 2 a q S xˆ S zˆ W ρ
Figure 2.2: The vector ρwis a vector from the origin of frame {w} to the origin
of frame {s}.
where Ts is the sample time and vk is process noise. This approximation can
introduce some errors but is used for its simplicity. Measurements are available of the motor angles and the acceleration of the sensor in frame {s}. This can be expressed as zk = h(xk, uk) + wk = x2k Rw s(x1k)( ¨ρw+ Gw) + wk, (3.2)
where wk is measurement noise. The drift is included in the accelerometer
model (2.8) but not in the measurement equation (3.2). This means that the EKF can not handle the drift and make a good estimation. Therefore, let
bk+1= bk+ vk, (3.3)
be a dynamic model for the drift where vk is noise. This model says that the
drift is a random walk that only changes with the noise. Augmenting the state space vector (2.4) with bk gives
x = x1 x2 x3 x4 x5 = qa qm ˙ qa ˙ qm b . (3.4)
A new model and measurement equation are now obtained as xk+1= F (xk, uk) x5k + vk, (3.5) zk= h(xk, uk) + wk= x2k Rw s(x1)( ¨ρw+ Gw) + x5k + wk. (3.6)
Here the new state for the drift is included in the measurement equation and the observer should then be able to handle the drift. It remains to Section 5 to see whether this new model description is better or not, but according to [2] this is a common way to handle bias in sensors. The EKF based on (3.5) and (3.6) is called AEKF in the rest of this report.
3.2 EKF algorithm
The EKF is a recursive algorithm based on a measurement update and a time update. Measurement update Kk= Pk|k−1HkT(HkPk|k−1HkT + Rk)−1 (3.7a) ˆ xk|k= ˆxk|k−1+ Kk(zk− h(ˆxk|k−1, uk)) (3.7b) Pk|k= Pk|k−1− KkHkPk|k−1 (3.7c) Time update ˆ xk+1|k= F (ˆxk|k, uk) (3.8a) Pk+1|k= AkPk|kATk + Qk (3.8b) Initial values ˆ x1|0= x0= qm1(0) qm2(0) qm1(0) qm2(0) 0 0 0 0 T (3.9a) P1|0= P0 (3.9b)
Here is P the covariance matrix for the estimation error and K is the lter gain. The matrices Ak and Hk are obtained from a linearization of (3.1a) and (3.2)
around the estimated states according to
xk+1= F (ˆxk|k, uk) + Ak(xk− ˆxk|k) + vk, (3.10a) zk = h(ˆxk|k−1, uk) + Hk(xk− ˆxk|k−1) + wk, (3.10b) where Ak= ∂F (x, uk) ∂x x=ˆx k|k , (3.11a) Hk= ∂h(x, uk) ∂x x=ˆx k|k−1 . (3.11b)
For the AEKF (3.5) and (3.6) are linearized instead. In (3.7a) and (3.8b) Rk
and Qk denote the measurement and process noise at time k. These matrices
are assumed to be constant over time in the rest of this report.
3.3 Tuning of covariance matrices
In order to use the EKF one must choose good estimates of the covariance ma-trices Q and R. This has been done in an automatic way in [3]. The same approach has been used in this work with some changes. Firstly, the optimiza-tion algorithm has been changed from Complex-RF to an Active Set method (fmincon in Matlab). Secondly, the path error is calculated in a dierent way. Here the path error is calculated as
ek= min i
q
2.5 2.55 2.6 2.65 2.7 2.75 2.8 2.85 2.9 0.42 0.44 0.46 0.48 0.5 0.52 0.54 0.56 0.58 0.6 0.62 x−direction z−direction a b c d True Estimated
Figure 3.1: Geometric interpretation of the path error. The stars and black squares indicate the original data points and the gray squares are interpolated data points.
where px,k, ˆpx,i, pz,k and ˆpz,i are the true and estimated position for the tool
in x- and z-direction at time k and time i, respectively. The path error is the shortest distance between the true path and the estimated path for every data point in the true path. Figure 3.1 shows how (3.12) should be interpreted, and it is easy to see that the shortest distance is b. The stars and the black squares in Figure 3.1 are the original data points in the true and estimated paths, respectively. Equation (3.12) eliminates the time dependence and only takes the geometrical properties into consideration. A qubic spline interpolation is performed to obtain the data points indicated with gray squares.
The problem is now to minimize the L2-norm of the path error (3.12) with respect to the covariance matrices and it can be formulated as
Minimize fobj(ˆpx, ˆpz) = q PN k=1|ek|2 subject to λj > 0 j = 1, . . . , 5 e Qλ= λ1I2×2 0 0 0 0 λ2I2×2 0 0 0 0 λ3I2×2 0 0 0 0 λ4I2×2 e Q e Rλ= λ5I2×2 0 0 I2×2 e R (ˆpx, ˆpz) =EKF(Qeλ, eRλ)
where λj are the optimization parameters. Qe and Re are diagonal matrices with the elements taken from the covariances of the process noise v and the measurement noise w. The noise is estimated as
ˆ
vk = xk+1− F (xk, uk), (3.13)
ˆ
wk = zk− h(xk, uk). (3.14)
It is possible to estimate the noise like this since this work is performed on simulated data were the true states are avilable. The process noise includes both discretization errors and measurement noise that has been ltered throught the controller. The EKF does not use the cross-correlation between the states and the cross-correlation between the measurements since only the diagonal elements are used.
The matrices Q and R in the optimization problem are restricted to the diagonal elements to simplify the optimization.
4 Simulation Setup
The simulations were performed on four dierent paths as can be seen i Fig-ure 4.1. The path starts at the star and goes clockwise. The circle indicates the tool position in the zero-position of the robot and the thick line indicates which part of the path that has been magnied in later gures. The reference signals for these four paths were created using a standard ABB controller. Figure 4.2 shows the location of the four paths relative the zero-position of the robot. Four simulations according to Table 4.1 were performed on all four paths to cover model errors, drift, and calibration errors. How realistic these errors are can be questioned. The calibration errors in the x- and z-direction may be a bit large, it would be possible to place the sensor more accurate. The error for the orientation is more dicult to say something about. An error of 2◦ is choosen
because it is small enough so that the sensor can look like being straight. The model errors can be seen as the worst case and are chosen based on suggestions from the authors of [5].
The true path for Sim2 is dierent compared to the other simulations due to model errors in the controller, compare Figures 5.2 to 5.4. Some of the simulations were then used to optimize the covariance matrices used in the EKF and the AEKF, which can be seen in Table 4.2. Dierent combinations of the simulations and the matrices were then used to estimate the tool position for all four paths.
5 Result
In this work the largest path errors for the estimations are less than 3 mm. In Figure 5.1 the whole path is shown. As can be seen it is impossible to distinguish the true path and the estimates. Figures 5.2 to 5.5 show therefore a fraction of the path. Figure 5.2 shows that the EKF for Cov1, Cov2 and Cov3 are very similar to the true paths which is not odd since Sim1 is without errors. Figures 5.3 to 5.5 where calibration errors, drift and model errors are present show instead that the estimations dier from the true paths. The estimations dier more from the true path in Figure 5.3 than Figures 5.4 and 5.5 due to
1.2 1.3 1.4 1.5 0.6 0.7 0.8 0.9 1 1.1 Path A x direction [m] z direction [m] 1.2 1.3 1.4 1.5 0.6 0.7 0.8 0.9 1 1.1 Path B x direction [m] z direction [m] 1.2 1.3 1.4 1.5 0.6 0.7 0.8 0.9 1 1.1 Path C x direction [m] z direction [m] 1.2 1.3 1.4 1.5 0.6 0.7 0.8 0.9 1 1.1 Path D x direction [m] z direction [m]
Figure 4.1: References for the four paths that has been simulated. The path starts at the star and the robot moves clockwise. The circle indicates the tool position for the zero-position. The thicker segment of the path shows which part that is magnied during the evaluation.
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 0 0.2 0.4 0.6 0.8 1 x direction [m] z direction [m]
Figure 4.2: The location of the four paths relative the zero-position of the robot. The dashed rectangle indicates the location of the four paths.
Name Description
Sim1 Without calibration errors, drift and model errors.
Sim2 With calibration errors (4 mm in x-direction, -5 mm in z-direction and 2◦ in orientation), drift (0.1 m/s2 in both directions) and
model errors (20% in stiness parameters and 50% in friction pa-rameters).
Sim3 With calibration errors (4 mm in x-direction, -5 mm in z-direction and 2◦in orientation), drift (0.1 m/s2in both directions) and
with-out model errors.
Sim4 With calibration errors (4 mm in x-direction, -5 mm in z-direction and 2◦in orientation), drift (0.2 m/s2in both directions) and
with-out model errors.
Table 4.1: Four dierent simulation scenarios used to evaluate the observers.
Name Description
Cov1 Covariance matrices for the EKF tuned on path A for Sim1 Cov2 Covarinace matrices for the EKF tuned on path A for Sim2 Cov3 Covarinace matrices for the EKF tuned on path A for Sim3 Cov4 Covarinace matrices for the AEKF tuned on path A for Sim2 Cov5 Covarinace matrices for the AEKF tuned on path A for Sim3 Table 4.2: Five dierent covariance matrices used to evaluate the observers. model errors. Model errors is thus a big problem which in practice is inevitable. The drift in Figure 5.5 is twice the drift in Figure 5.4 but the estimation is still very similar. It could imply that the estimation is robust for changes in the drift but a more detailed study must be performed to conclude it and is therefore left for future work.
It can also be seen that the EKF produces the same type of estimation error independent of which covariance matrices that are used. It is only the magnitude that changes. This can be seen better in Figure 5.6 where the path error is shown as a function of time for the AEKF on Sim2. It is easy to see that the path errors oscillate in the same way but with dierent magnitudes. The path error for the other simulations gives the same behavior both for the EKF and the AEKF and is therefore not included here.
Figure 5.7 shows how the bias parameter b in (3.4), (3.5) and (3.6) changes over time for Sim3. The parameters oscillate more for the covariance matrices optimized on Sim3 (Cov5) compared to the one optimized on Sim2 (Cov4). But the parameters converge to the same value in both cases. Since the drift is constant and known in the simulations, 0.1 m/s2or 0.2 m/s2, the bias parameters
should converge to that value but that is not the case here. The bias parameters for Sim2 and Sim4 show the same behavior and is therefore not included here.
Tables 5.1 to 5.4 show maximal and mean of the path error for the EKF and Tables 5.5 to 5.8 show the same for the AEKF. The smallest maximal error is indicated with bold numbers and the smallest mean error is indicated with italic numbers. We can see that the error is larger for path B, C and D. This could imply that the covariance matrices are dependent of the states. But it would require a more thorough study with motions in all possible areas of the
workspace to conclude this and is therefore left for future work. We can also see that the AEKF does not reduce the estimation error.
Another important conclusion, not seen in these tables, is that the estimation changes with the optimization of the covariance matrices. Table 5.1 show that Cov1 gives minimum values for Sim1, Cov2 gives minimum values for Sim2, and Cov3 gives minimum values for Sim3. This would be an obvious result since Cov1 is optimized for Sim1, Cov2 is optimized for Sim2, and Cov3 is optimized for Sim3 but this is not always correct. Cov3 gives sometimes the best estimation on Sim1 although Cov1 is optimized for Sim1 which would give a minimum. This concludes that the optimization gives a local minimum.
1.3 1.4 1.5 1.6 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 x direction [m] z direction [m] Path A 1.3 1.4 1.5 1.6 0.4 0.6 0.8 1 1.2 x direction [m] z direction [m] Path B 1.1 1.2 1.3 1.4 1.5 1.6 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 x direction [m] z direction [m] Path C 1.1 1.2 1.3 1.4 1.5 0.4 0.6 0.8 1 1.2 x direction [m] z direction [m] Path D
Figure 5.1: Estimation of path A, B, C and D on Sim1 with Cov1 (-), Cov2 (--) and Cov3 (-.). The grey line is the true path.
1.25 1.3 1.35 1.4 1.45 0.598 0.599 0.6 0.601 0.602 0.603 x direction [m] z direction [m] Path A 1.25 1.3 1.35 1.4 1.45 1.098 1.099 1.1 1.101 1.102 1.103 x direction [m] z direction [m] Path B 1.25 1.3 1.35 1.4 1.45 0.598 0.599 0.6 0.601 0.602 0.603 x direction [m] z direction [m] Path C 1.25 1.3 1.35 1.4 1.45 1.098 1.099 1.1 1.101 1.102 1.103 x direction [m] z direction [m] Path D
Figure 5.2: Magnied estimation of path A, B, C and D on Sim1 with Cov1 (-), Cov2 (--) and Cov3 (-.). The grey line is the true path.
1.25 1.3 1.35 1.4 1.45 0.598 0.599 0.6 0.601 0.602 0.603 x direction [m] z direction [m] Path A 1.25 1.3 1.35 1.4 1.45 1.098 1.099 1.1 1.101 1.102 1.103 x direction [m] z direction [m] Path B 1.25 1.3 1.35 1.4 1.45 0.598 0.599 0.6 0.601 0.602 0.603 x direction [m] z direction [m] Path C 1.25 1.3 1.35 1.4 1.45 1.098 1.099 1.1 1.101 1.102 1.103 x direction [m] z direction [m] Path D
(a) EKF. Cov1 (-), Cov2 (--) and Cov3 (-.).
1.25 1.3 1.35 1.4 1.45 0.598 0.599 0.6 0.601 0.602 0.603 x direction [m] z direction [m] Path A 1.25 1.3 1.35 1.4 1.45 1.098 1.099 1.1 1.101 1.102 1.103 x direction [m] z direction [m] Path B 1.25 1.3 1.35 1.4 1.45 0.598 0.599 0.6 0.601 0.602 0.603 x direction [m] z direction [m] Path C 1.25 1.3 1.35 1.4 1.45 1.098 1.099 1.1 1.101 1.102 1.103 x direction [m] z direction [m] Path D
(b) AEKF. Cov4 (-) and Cov5 (--).
Figure 5.3: Magnied estimation of path A, B, C and D on Sim2 for EKF (a) and AEKF (b). The grey line is the true path.
1.25 1.3 1.35 1.4 1.45 0.598 0.599 0.6 0.601 0.602 0.603 x direction [m] z direction [m] Path A 1.25 1.3 1.35 1.4 1.45 1.098 1.099 1.1 1.101 1.102 1.103 x direction [m] z direction [m] Path B 1.25 1.3 1.35 1.4 1.45 0.598 0.599 0.6 0.601 0.602 0.603 x direction [m] z direction [m] Path C 1.25 1.3 1.35 1.4 1.45 1.098 1.099 1.1 1.101 1.102 1.103 x direction [m] z direction [m] Path D
(a) EKF. Cov1 (-), Cov2 (--) and Cov3 (-.).
1.25 1.3 1.35 1.4 1.45 0.598 0.599 0.6 0.601 0.602 0.603 x direction [m] z direction [m] Path A 1.25 1.3 1.35 1.4 1.45 1.098 1.099 1.1 1.101 1.102 1.103 x direction [m] z direction [m] Path B 1.25 1.3 1.35 1.4 1.45 0.598 0.599 0.6 0.601 0.602 0.603 x direction [m] z direction [m] Path C 1.25 1.3 1.35 1.4 1.45 1.098 1.099 1.1 1.101 1.102 1.103 x direction [m] z direction [m] Path D
(b) AEKF. Cov4 (-) and Cov5 (--).
Figure 5.4: Magnied estimation of path A, B, C and D on Sim3 for EKF (a) and AEKF (b). The grey line is the true path.
1.25 1.3 1.35 1.4 1.45 0.598 0.599 0.6 0.601 0.602 0.603 x direction [m] z direction [m] Path A 1.25 1.3 1.35 1.4 1.45 1.098 1.099 1.1 1.101 1.102 1.103 x direction [m] z direction [m] Path B 1.25 1.3 1.35 1.4 1.45 0.598 0.599 0.6 0.601 0.602 0.603 x direction [m] z direction [m] Path C 1.25 1.3 1.35 1.4 1.45 1.098 1.099 1.1 1.101 1.102 1.103 x direction [m] z direction [m] Path D
Figure 5.5: Magnied estimation of path A, B, C and D on Sim4 with Cov4 (-) and Cov5 (--). The grey line is the true path.
0 0.2 0.4 0.6 0.8 1 0 0.5 1 1.5 2 Path A Time [s] Path error [mm] 0 0.2 0.4 0.6 0.8 1 0 0.5 1 1.5 2 Path B Time [s] Path error [mm] 0 0.2 0.4 0.6 0.8 1 0 0.5 1 1.5 2 2.5 Path C Time [s] Path error [mm] 0 0.2 0.4 0.6 0.8 1 0 0.5 1 1.5 2 Path D Time [s] Path error [mm]
Figure 5.6: Path error for the estimation of Sim2 for AEKF with Cov4 (-) and Cov5 (--).
0 0.2 0.4 0.6 0.8 1 −2 0 2 Path A b1 0 0.2 0.4 0.6 0.8 1 −2 0 2 b2 Time [s] 0 0.2 0.4 0.6 0.8 1 −2 0 2 Path B b1 0 0.2 0.4 0.6 0.8 1 −2 0 2 b2 Time [s] 0 0.2 0.4 0.6 0.8 1 −2 0 2 Path C b1 0 0.2 0.4 0.6 0.8 1 −2 0 2 b2 Time [s] 0 0.2 0.4 0.6 0.8 1 −5 0 5 Path D b1 0 0.2 0.4 0.6 0.8 1 −2 0 2 b2 Time [s]
Figure 5.7: Bias parameters for the estimation of Sim3 with Cov4 (-) and Cov5 (--).
Table 5.1: Max and mean error in mm for the EKF on path A.
Path A Cov1 EKFCov2 Cov3
Max Mean Max Mean Max Mean Sim1 0.078 0.025 0.080 0.025 0.080 0.026 Sim2 1.681 0.550 1.577 0.543 1.910 0.661 Sim3 0.400 0.113 0.903 0.172 0.079 0.027
Table 5.2: Max and mean error in mm for the EKF on path B.
Path B Cov1 Cov2EKF Cov3
Max Mean Max Mean Max Mean Sim1 0.124 0.035 0.126 0.035 0.112 0.035 Sim2 1.908 0.654 1.966 0.657 2.137 0.687 Sim3 0.419 0.082 0.842 0.120 0.111 0.035
Table 5.3: Max and mean error in mm for the EKF on path C.
Path C Cov1 Cov2EKF Cov3
Max Mean Max Mean Max Mean Sim1 0.085 0.027 0.085 0.028 0.105 0.030 Sim2 2.340 0.605 2.272 0.607 2.360 0.637 Sim3 0.329 0.081 0.457 0.117 0.103 0.030
Table 5.4: Max and mean error in mm for the EKF on path D.
Path D Cov1 Cov2EKF Cov3
Max Mean Max Mean Max Mean Sim1 0.152 0.035 0.169 0.034 0.134 0.035 Sim2 1.812 0.611 1.805 0.619 2.219 0.590 Sim3 0.394 0.093 0.907 0.124 0.142 0.035
Table 5.5: Max and mean error in mm for the AEKF on path A. Path A Cov4 AEKF Cov5
Max Mean Max Mean Sim2 1.594 0.520 1.453 0.568 Sim3 0.729 0.157 0.076 0.020 Sim4 0.728 0.155 0.076 0.020
Table 5.6: Max and mean error in mm for the AEKF on path B. Path B Cov4 AEKF Cov5
Max Mean Max Mean Sim2 1.831 0.643 1.925 0.587 Sim3 0.624 0.112 0.089 0.028 Sim4 0.629 0.111 0.089 0.028
Table 5.7: Max and mean error in mm for the AEKF on path C. Path C Cov4 AEKF Cov5
Max Mean Max Mean Sim2 2.297 0.578 2.240 0.582 Sim3 0.412 0.101 0.100 0.024 Sim4 0.419 0.099 0.100 0.024
Table 5.8: Max and mean error in mm for the AEKF on path D. Path D Cov4 AEKF Cov5
Max Mean Max Mean Sim2 1.827 0.591 1.720 0.560 Sim3 0.558 0.119 0.094 0.020 Sim4 0.565 0.119 0.094 0.020
6 Conclusions
The aim was to improve the estimation in the low frequency range. A rst look at the result would say that the aim is fullled. This is an incorrect conclusion since the oset in the low frequency range was not present in this simulation study at all. There are anyway a few things to point out. The optimization of the covariance matrices is a hard work. The optimzation problem in Section 3.3 works decent but a global solution is not guaranteed. Moreover, the estimation seems robust for changes in the drift, this requires however a more detailed study. The estimation seems also robust for the paths. A more detailed study is once more necessary to conclude this. Another important observation is that model errors aect the estimation negative. This is a big problem which in practice is inevitable.
7 Future Work
This work has introduced more questions than answers and most of the questions have been put to future work. It can be summerized as:
• Validate the result on experimental data.
• Choice of covariance matrices. Is there a better way to solve the opti-mization problem or is it possible to optimize the matrices in a better way than in Section 3.3.
• Are the covariance matrices depending of the states? That is, must the EKF use dierent matrices depending in which area of the workspace the robot operates. Moreover, the covariance matrices can change when the velocity, corner zones etc. changes for the path.
• Does Euler forward introduce errors during the discretization? Investigate how dierent methods to discretize the system aect the result.
• Investigate if the estimation changes with higher values on the calibration error, drift, and model errors.
Other types of observers that can be tested are: • Unscented Kalman Filter (UKF)
• Particle Filter (PF)
• Other type of nonlinear observer
References
[1] Fredrik Gustafsson. Adaptive Filtering and Change Detection. Wiley, Chich-ester, England, 1 edition, 2000.
[2] Fredrik Gustafsson, Lennart Ljung, and Mille Millnert. Signalbehandling. Studentlitteratur, Lund, Sweden, 2 edition, 2001.
[3] Robert Henriksson. Observatör för skattning av verktygspositionen hos en industrirobot. Master's thesis, Linköping University, 2009. ISRN LITH-ISY-EX--09/4271--SE.
[4] Robert Henriksson, Mikael Norrlöf, Stig Moberg, Erik Wernholt, and Thomas B. Schön. Experimental comparison of observers for tool position estimation of industrial robots. In Proceedings of 48th IEEE Conference on Decision and Control, Shanghai, China, December 2009.
[5] Stig Moberg, Jonas Öhr, and Svante Gunnarsson. A benchmark problem for robust control of a multivariable nonlinear exible manipulator. Technical report, Department of Electrical Enginering, Linköping University, 2008. URL: http://www.robustcontrol.org.
Avdelning, Institution Division, Department
Division of Automatic Control Department of Electrical Engineering
Datum Date 2009-12-08 Språk Language Svenska/Swedish Engelska/English Rapporttyp Report category Licentiatavhandling Examensarbete C-uppsats D-uppsats Övrig rapport
URL för elektronisk version http://www.control.isy.liu.se
ISBN ISRN
Serietitel och serienummer
Title of series, numbering ISSN1400-3902
LiTH-ISY-R-2926
Titel
Title A Simulation Study on the Arm Estimation of a Joint Flexible 2 DOF Robot Arm
Författare
Author Patrik Axelsson Sammanfattning
Abstract
The main task for an industrial robot is to move the tool into specic positions. It is therefore necessary to have an accurate knowledge about the tool position. This report desrcibes a simulation study where an accelerometer attached to the robot tool is used. The acceleration and measured motor angles are used with an Extended Kalman Filter (EKF) to estimate the tool position. The work has been focused on a robot with two degrees of freedom. Simulations have been performed with dierent kind of errors and on dierent paths. The EKF uses covariance matrices of the process noise and measurement noise which are unknown. An optimization problem has therefore been proposed and solved to get covariance matrices that give good estimations.