Controller Design using State Feedback and Observer [PDF]

Sep 22, 2014 - Model Based Development of Embedded Systems, 2014. Simulink and Timing. State-Space Feedback. ▫ Inverte

0 downloads 20 Views 376KB Size

Recommend Stories


Recursive Observer Design, Homogeneous Approximation, and Nonsmooth Output Feedback
Do not seek to follow in the footsteps of the wise. Seek what they sought. Matsuo Basho

Chapter 14 Controller Design using Root Locus
At the end of your life, you will never regret not having passed one more test, not winning one more

the pid controller design using genetic algorithm
This being human is a guest house. Every morning is a new arrival. A joy, a depression, a meanness,

State-of-Charge Observer using Generic lead-acid Battery Model
Ask yourself: What have you done in your life that you are most proud of? Next

california state university, northridge design and implementation of a parking gate controller using
Keep your face always toward the sunshine - and shadows will fall behind you. Walt Whitman

active steering controller design
We may have all come on different ships, but we're in the same boat now. M.L.King

design pro led controller
Don't ruin a good today by thinking about a bad yesterday. Let it go. Anonymous

traffic light controller using 8051 pdf download
Every block of stone has a statue inside it and it is the task of the sculptor to discover it. Mich

Multivariable Feedback Control: Analysis and Design
Make yourself a priority once in a while. It's not selfish. It's necessary. Anonymous

Integral action in state feedback
Never wish them pain. That's not who you are. If they caused you pain, they must have pain inside. Wish

Idea Transcript


Controller Design using State Feedback and Observer Model Based Development of Embedded Systems 2014

Simulink and Timing

Overview State-Space Feedback • • • •

Allows to control several state variables simultaneously Works if the system is controllable Popular method: LQ design Integral control can be added by simple ad hoc trick

Observer • • • •

Often, not all states of the system are observable We can design an observer If the system is observable Observer can be designed with prespecified poles Poles determine how fast the observer will converge to correct state estimate

State-Space Feedback with Observer • Obtained by combining the above methods

Model Based Development of Embedded Systems, 2014

2014-09-22 | #‹#›

Simulink and Timing

State-Space Feedback Inverted Pendulum Example: • We want to control both angle and speed • Check whether the system is controllable rank(ctrb(A_pend,B_pend)) should be 4. • gen_lqr.m Q = eye(4) ; Q(2,2) = 10; Q(3,3) = 500;

% Make an identity matrix % define penalties for, e.g., speed and angle

R = 1; K = lqr(A_pend,B_pend,Q,R)

% calculate feedback matrix

• Look at model in state_feedback.mdl

Model Based Development of Embedded Systems, 2014

2014-09-22 | #‹#›

Simulink and Timing

Adding Integral control In cases, where steady_state error is an issue Or just, to get smoother behavior Same setup for inverted pendulum • gen_lqr_int.m Aext = [A_pend , zeros(4,1) ; 1 0 0 0 0]; % add a component to the state Bext = [B_pend ; 0]; Cext = [C_pend , zeros(2,1)]; Dext = [D_pend]; Qext = zeros(5,5) ; % Make a zero matrix Qext(1,1) = 10; Qext(3,3) = 500; Qext(5,5) = 10; R = 1; Kext = lqr(Aext,Bext,Qext,R)

Model Based Development of Embedded Systems, 2014

2014-09-22 | #‹#›

Simulink and Timing

Observer In general not all states are observable E.g., assume only position and angular speed observable Same setup for inverted pendulum • Check whether the system is controllable rank(obsv(A_pend,C_pend)) should be 4. • See how fast the system is • Done by finding poles of the closed system: eig(A_pend - B_pend*K) • Define poles of the observer (should be faster than closed system) P = [-10 -12 -14 -16];

• Construct the observer gain L = place(A_pend',C_pend',P)';

Model Based Development of Embedded Systems, 2014

2014-09-22 | #‹#›

Simulink and Timing

Observer (ctd) Expressing the Observer: • Inputs (u,y) • xhatdot = (A – LC) xhat + Bu + Ly • Output = xhat

In MATLAB, letting input be [u;y] P = [-50 -51 -52 -53]; L = place(A_pend',C_alt',P)'; A_obs = (A_pend - L*C_alt); B_obs = [B_pend , L]; C_obs = eye(4); D_obs = zeros(4,3);

Model Based Development of Embedded Systems, 2014

2014-09-22 | #‹#›

Simulink and Timing

About LQ Inputs: Penalty matrix for the state variables. Typically is a diagonal matrix, with each entry giving a penalty for each variable Penalty matrix for the control input(s). Typically a diagonal matrix The lqr(A,B, , ) command in MATLAB computes the feedback matrix K so that the total penalty + is minimized

Model Based Development of Embedded Systems, 2014

2014-09-22 | #‹#›

Simulink and Timing

About Poles A system, whose dynamics is given by =

+

has in general a number of (complex) poles (number is dim of A), which say how fast the system converges of diverges. A pole p means that one component of explicit expression for dynamics evolves like Thus, a pole with positive real-part means divergence. Poles with large negative real-part means quick convergence. When designing observer, it is important that observer converges significantly faster than the observed system. • Poles can be 5-10 times larger (should all be negative)

Model Based Development of Embedded Systems, 2014

2014-09-22 | #‹#›

Smile Life

When life gives you a hundred reasons to cry, show life that you have a thousand reasons to smile

Get in touch

© Copyright 2015 - 2024 PDFFOX.COM - All rights reserved.