02.04.2014 Views

Sensorless Torque Estimation using Adaptive Kalman Filter and ...

Sensorless Torque Estimation using Adaptive Kalman Filter and ...

Sensorless Torque Estimation using Adaptive Kalman Filter and ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

B. AKF based disturbance observer<br />

In the extended system model (5-6), as the pair of the<br />

system matrix <strong>and</strong> the output matrix is observable, full<br />

order estimation is guaranteed by the DKF. Even the DKF<br />

guarantees the full order estimation, in order to yield the best<br />

result, the DKF needs an accurately selected measurement<br />

covariance matrix in advance. However, obtaining the<br />

accurate covariance matrix is not easy. Moreover, the<br />

measurement covariance matrix can be changed with time.<br />

To overcome the problems mentioned above, this paper<br />

suggests the AKF based disturbance observer. For an LTI<br />

system, the recursive algorithm of the AKF is described as<br />

follows [14], [16]:<br />

Time update<br />

1 ) Project the state ahead<br />

ˆx k|k+1 = F k−1ˆx k−1|k−1 + B k u k (7)<br />

2 ) Project the error covariance ahead<br />

Measurement update<br />

1) <strong>Kalman</strong> gain<br />

P k|k+1 = K k P k−1|k−1 F k T + Q ∗ k (8)<br />

K k = P k|k−1 H T k (H k P k|k−1 H T k + ˆR ∗ k) −1 (9)<br />

2) Update estimate with measurement Z k<br />

ˆx k|k = ˆx k|k−1 + K k (z k − H k ˆx k|k−1 ) (10)<br />

3) Update the error covariance<br />

P k|k = (I − K k H k )P k|k−1 (11)<br />

where F ∈ R n×n , B ∈ R n×n , K ∈ R n×m , <strong>and</strong> P ∈ R n×n<br />

represent the system matrix, the input matrix,the kalman<br />

gain, <strong>and</strong> the covariance state matrix, respectively. H ∈<br />

R m×n , Q ∈ R n , <strong>and</strong> z k ∈ R m denote the output vector,<br />

the covariance vector of system noise, <strong>and</strong> measurement,<br />

respectively. The AKF based disturbance observer is different<br />

to the DKF in terms of an adaptive covariance matrix<br />

ˆR<br />

k ∗ ∈ Rm×m in (9). The covariance matrix is updated by<br />

a covariance uncertainties online estimator represented as<br />

follows [16]:<br />

ˆR ∗ (k i ) = 1 i∑<br />

{[z j − H(k j )ˆx(k<br />

N<br />

j )][z j − H(k j )ˆx(k j )] T<br />

j=i−N+1<br />

+ H(k j )P (k j )H T (k j )}<br />

(12)<br />

The first term in the bracket represents a squared error<br />

matrix between the measurements <strong>and</strong> the estimated states,<br />

<strong>and</strong> diagonal elements of the second term are the covariances<br />

of state variables. In the first term, the noisy(clear) measurement<br />

makes the big(small) squared error term. Thus, ˆR∗ k<br />

is<br />

increased(decreased), <strong>and</strong> it decreases(increases) the <strong>Kalman</strong><br />

gain K k . Consequently, the dependence of the estimation<br />

result between previously estimated states <strong>and</strong> current measurement<br />

will be affected by the quality of measurement. As<br />

we can see in (12), the covariance uncertainties estimator<br />

needs N number of recent measurements. By an average of<br />

the recent N number of terms in the bracket, the AKF based<br />

disturbance observer updates the measurement covariance<br />

matrix ˆR k ∗ at each processing time. In addition, large number<br />

of the measurement will offer a more accurate measurement<br />

covariance matrix( ˆR k ∗) estimation.<br />

A. System model<br />

IV. DISTURBANCE ESTIMATOR<br />

This section proposes a signal processing based estimation<br />

method. For the estimation, the DC motor model is used (see<br />

Fig.2). In Fig.3, the upper part describes the system model,<br />

<strong>and</strong> the middle <strong>and</strong> lower part represent the disturbance<br />

estimator. In the system model, an input disturbance D input<br />

<strong>and</strong> an output disturbance D output are described. The input<br />

disturbance D input can be any kind of disturbance, e.g., load<br />

force(torque), gravitational torque, parametric fluctuation or<br />

any combinations of them. In order to validate the total<br />

disturbance estimation, D output is injected. We assume the<br />

disturbances are independent to the system <strong>and</strong> unbounded.<br />

Subscript n denotes the nominal value of parameters.<br />

B. Disturbance estimator<br />

The disturbance estimator consists of an extraction part<br />

<strong>and</strong> an estimation part. The two parts are cascade-connected.<br />

As a first step, the extraction part calculates the system<br />

output generated by the input <strong>and</strong> output disturbances. After<br />

that, the estimation part generates the final estimation result.<br />

Each process is described as follows:<br />

1) Extraction part:<br />

The composition of the extraction part is same to the<br />

system model, but it does not have any disturbances. The<br />

computation of the extraction part is described as follows:<br />

(<br />

K<br />

θ D = −<br />

s(Js + B) I + 1<br />

s(Js + B) D input + 1 )<br />

s D output<br />

(<br />

)<br />

K n<br />

+<br />

s(J n s + B n ) I<br />

(13)<br />

The term in the upper bracket represents the actual<br />

position result(θ I,D ) generated by the control input(I)<br />

<strong>and</strong> both the input disturbance(D input ) <strong>and</strong> the output<br />

disturbance(D output ). The term in the lower bracket<br />

shows the position result((θ I ) generated by the control<br />

input(I) only. Due to the subtraction, where the parameters<br />

K, J, <strong>and</strong>B are same with K n , J n , <strong>and</strong>B n , the output of<br />

the extraction part(θ D ) is the angular position generated<br />

by the disturbances only. Otherwise, the output contains<br />

contain the angular position generated by the parametric<br />

fluctuation(uncertainty) also. It implies all the dynamics<br />

not considered in extraction part are considered as the

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!