• No results found

Linköping University Electronic Press

N/A
N/A
Protected

Academic year: 2021

Share "Linköping University Electronic Press"

Copied!
23
0
0

Loading.... (view fulltext now)

Full text

(1)

  

  

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

 

 

‘ 

 

 

  

(2)

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: axelsson@isy.liu.se

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.

(3)

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.

(4)

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.

(5)

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)



(6)

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)

(7)

W W 1 a q 2 a q S S 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.

(8)

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

(9)

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λ)

(10)

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

(11)

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.

(12)

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

(13)

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.

(14)

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.

(15)

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.

(16)

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.

(17)

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 (--).

(18)

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 (--).

(19)

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

(20)

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

(21)

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.

(22)

[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.

(23)

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.

References

Related documents

variables in common, there is an interaction that is ignored by our algorithm. We illustrate the previous algorithm with an example of the cyclic_change constraint that was

Med tanke på ovanstående anser författarna att det kanske inte är förvånande att flickor har sämre adherence till kostrekommendationer jämfört med pojkar med lika lång

Intagsstopp torde inte kunna ses som godtagbart med hänsyn till de styrdokument och riktlinjer gällande god tillgänglighet och korta väntetider som finns (jfr. Det råder således

The Swedish Institute for Wood Technology Re- search serves the five branches of the industry: saw- mills, manufacturing (joinery, wooden houses, fur- niture and other

utseendet eller värderingarna. Språket, ordvalen och tolkningar blir centrala för talets analys. Den grafiska guiden lades ut på hemsidan kort efter valsegern 2006

Motion detection using multiple viewpoints This is a description of the algorithm used to detect moving objects in a sensor measurement, also refered to as a scan, using a set of

Simulations illustrate characteristic behavior of data transport through heterogeneous networks - a behavior different from that obtained with more simplistic models of either the

4D Flow MRI-based prediction of the irreversible pressure drop across a stenosis based on the total turbulence production agreed with ground-truth CFD solutions at 1 mm