30.11.2014 Views

Model Predictive Control System Design and Implementation Using ...

Model Predictive Control System Design and Implementation Using ...

Model Predictive Control System Design and Implementation Using ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.8 Closed-form Solution of Constrained <strong>Control</strong> for SISO <strong>System</strong>s 135<br />

is replaced by the estimated state ˆx(k i ), which leads to the question of the<br />

effect of estimation error on the constraints.<br />

After ranking the constraints, assuming that the most important constraints<br />

are on the amplitude of the control, <strong>and</strong> the less important constraints<br />

are on the difference of the control <strong>and</strong> the least important constraints are on<br />

the output, the implementation is as follows:<br />

1. The least important constraints on y if they are violated, will be treated<br />

as an active constraint so as to obtain η that will satisfy this constraint<br />

on y.<br />

2. Check whether this η will lead to the satisfaction of the constraints on<br />

Δu. Ifnot,Δu will be modified to satisfy the constraints on Δu. With<br />

this new Δu, we need to check if the constraints on u are satisfied. If not,<br />

u will be modified to satisfy the constraints on u.<br />

3.8.1 MATLAB Tutorial: Constrained <strong>Control</strong> of DC Motor<br />

A DC motor has a continuous-time transfer function as<br />

K<br />

G(s) =<br />

s(Ts+1) , (3.70)<br />

where the control signal is input voltage to the motor <strong>and</strong> the output is the<br />

angular position. The discrete-time model with zero-order-hold is expressed<br />

as<br />

b 1 z + b 2<br />

G(z) =<br />

z 2 . (3.71)<br />

+ a 1 z + a 2<br />

Instead of using an observer in the implementation, we will choose the state<br />

variables according to the input <strong>and</strong> output signals so that the state variables<br />

are directly measurable. To do so, let us look at the difference equation that<br />

relates the input to the output:<br />

y(k +2)+a 1 y(k +1)+a 2 y(k) =b 1 u(k +1)+b 2 u(k). (3.72)<br />

Choosing the state variable vector as<br />

⎡<br />

⎣<br />

⎤ ⎡<br />

y(k +1)<br />

y(k) ⎦ =<br />

u(k)<br />

x m (k) = [ y(k) y(k − 1) u(k − 1) ] T<br />

⎣ −a ⎤ ⎡<br />

1 −a 2 b 2<br />

1 0 0 ⎦ ⎣<br />

y(k)<br />

⎤ ⎡<br />

y(k − 1) ⎦ + ⎣ b ⎤<br />

1<br />

0 ⎦ u(k)<br />

0 0 0 u(k − 1) 1<br />

y(k) = [ 100 ] x m (k). (3.73)<br />

The augmented state-space model is obtained by choosing the state variable<br />

vector as<br />

x(k) = [ Δy(k) Δy(k − 1) Δu(k − 1) y(k) ] T<br />

,

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

Saved successfully!

Ooh no, something went wrong!