EE480.3 Digital Control Systems. Part 7. Controller Design I. - Pole Assignment Method

Similar documents
EE480.3 Digital Control Systems. Part 7. Controller Design I. - Pole Assignment Method - State Estimation

EE C128 / ME C134 Fall 2014 HW 6.2 Solutions. HW 6.2 Solutions

Homework 7 - Solutions

Time Response Analysis (Part II)

Department of Electrical and Computer Engineering. EE461: Digital Control - Lab Manual

Transient response via gain adjustment. Consider a unity feedback system, where G(s) = 2. The closed loop transfer function is. s 2 + 2ζωs + ω 2 n

Review: transient and steady-state response; DC gain and the FVT Today s topic: system-modeling diagrams; prototype 2nd-order system


Systems Analysis and Control

Introduction to Feedback Control

Control Systems Lab - SC4070 Control techniques

Quanser NI-ELVIS Trainer (QNET) Series: QNET Experiment #02: DC Motor Position Control. DC Motor Control Trainer (DCMCT) Student Manual

Control System Design

Course roadmap. Step response for 2nd-order system. Step response for 2nd-order system

Chapter 5 HW Solution

Due Wednesday, February 6th EE/MFS 599 HW #5

Outline. Classical Control. Lecture 5

Discrete Systems. Step response and pole locations. Mark Cannon. Hilary Term Lecture

EE C128 / ME C134 Fall 2014 HW 8 - Solutions. HW 8 - Solutions

Systems Analysis and Control

Outline. Classical Control. Lecture 1

R10. IV B.Tech II Semester Regular Examinations, April/May DIGITAL CONTROL SYSTEMS JNTUK

Chapter 12. Feedback Control Characteristics of Feedback Systems

6.1 Sketch the z-domain root locus and find the critical gain for the following systems K., the closed-loop characteristic equation is K + z 0.

Course Summary. The course cannot be summarized in one lecture.

LABORATORY INSTRUCTION MANUAL CONTROL SYSTEM II LAB EE 693

APPLICATIONS FOR ROBOTICS

Dynamic Response. Assoc. Prof. Enver Tatlicioglu. Department of Electrical & Electronics Engineering Izmir Institute of Technology.

ME 375 Final Examination Thursday, May 7, 2015 SOLUTION

Chapter 6 Steady-State Analysis of Continuous-Time Systems

EE451/551: Digital Control. Chapter 3: Modeling of Digital Control Systems

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Mechanical Engineering Dynamics and Control II Fall 2007

EE480.3 Digital Control Systems. Part 2. z-transform

Chapter 7. Digital Control Systems

Chapter 3. State Feedback - Pole Placement. Motivation

1 x(k +1)=(Φ LH) x(k) = T 1 x 2 (k) x1 (0) 1 T x 2(0) T x 1 (0) x 2 (0) x(1) = x(2) = x(3) =

16.31 Homework 2 Solution

NPTEL Online Course: Control Engineering

Module 3F2: Systems and Control EXAMPLES PAPER 2 ROOT-LOCUS. Solutions

100 (s + 10) (s + 100) e 0.5s. s 100 (s + 10) (s + 100). G(s) =

Digital Control: Part 2. ENGI 7825: Control Systems II Andrew Vardy

Problem Set 3: Solution Due on Mon. 7 th Oct. in class. Fall 2013

Chapter 7: Time Domain Analysis

Homework Assignment 3

Lecture 11. Frequency Response in Discrete Time Control Systems

Methods for analysis and control of. Lecture 6: Introduction to digital control

Laboratory handouts, ME 340

MASSACHUSETTS INSTITUTE OF TECHNOLOGY Department of Mechanical Engineering Dynamics and Control II Fall K(s +1)(s +2) G(s) =.

Implementation Issues for the Virtual Spring

ME 375 EXAM #1 Friday, March 13, 2015 SOLUTION

Automatique. A. Hably 1. Commande d un robot mobile. Automatique. A.Hably. Digital implementation

GATE EE Topic wise Questions SIGNALS & SYSTEMS

CHAPTER 7 STEADY-STATE RESPONSE ANALYSES

R10 JNTUWORLD B 1 M 1 K 2 M 2. f(t) Figure 1

SAMPLE EXAMINATION PAPER (with numerical answers)

Systems Analysis and Control

Chapter 13 Digital Control

Root Locus Design Example #3

Digital Control Systems State Feedback Control

AN INTRODUCTION TO THE CONTROL THEORY

DIGITAL CONTROL OF POWER CONVERTERS. 2 Digital controller design

Control of Manufacturing Processes

INTRODUCTION TO DIGITAL CONTROL

EE C128 / ME C134 Fall 2014 HW 9 Solutions. HW 9 Solutions. 10(s + 3) s(s + 2)(s + 5) G(s) =

Raktim Bhattacharya. . AERO 422: Active Controls for Aerospace Vehicles. Basic Feedback Analysis & Design

CHAPTER 1 Basic Concepts of Control System. CHAPTER 6 Hydraulic Control System

Delhi Noida Bhopal Hyderabad Jaipur Lucknow Indore Pune Bhubaneswar Kolkata Patna Web: Ph:

EE/ME/AE324: Dynamical Systems. Chapter 8: Transfer Function Analysis

EE3CL4: Introduction to Linear Control Systems

Outline. Classical Control. Lecture 2

Control of Manufacturing Processes

Systems Analysis and Control

EE451/551: Digital Control. Chapter 8: Properties of State Space Models

Control Systems Design

Control Systems Design

VAAL UNIVERSITY OF TECHNOLOGY FACULTY OF ENGINEERING

CALIFORNIA INSTITUTE OF TECHNOLOGY Control and Dynamical Systems

UNIVERSITY OF BOLTON SCHOOL OF ENGINEERING BENG (HONS) IN BIOMEDICAL ENGINEERING SEMESTER 1 EXAMINATION 2017/2018 ADVANCED BIOMECHATRONIC SYSTEMS

(a) Find the transfer function of the amplifier. Ans.: G(s) =

EE 4343/ Control System Design Project LECTURE 10

Problem Weight Score Total 100

ECE317 : Feedback and Control

University of Alberta ENGM 541: Modeling and Simulation of Engineering Systems Laboratory #7. M.G. Lipsett & M. Mashkournia 2011

School of Mechanical Engineering Purdue University. DC Motor Position Control The block diagram for position control of the servo table is given by:

State Feedback Controller for Position Control of a Flexible Link

Recursive, Infinite Impulse Response (IIR) Digital Filters:

EE -213 BASIC CIRCUIT ANALYSIS LAB MANUAL

Laboratory handout 5 Mode shapes and resonance

Automatic Control 2. Loop shaping. Prof. Alberto Bemporad. University of Trento. Academic year

An Introduction to Control Systems

Professor Fearing EE C128 / ME C134 Problem Set 7 Solution Fall 2010 Jansen Sheng and Wenjie Chen, UC Berkeley

Answers to multiple choice questions

GATE : , Copyright reserved. Web:

MODERN CONTROL DESIGN

ROOT LOCUS. Consider the system. Root locus presents the poles of the closed-loop system when the gain K changes from 0 to. H(s) H ( s) = ( s)

Analysis of Stability &

Control System Design

MAS107 Control Theory Exam Solutions 2008

ECSE 4962 Control Systems Design. A Brief Tutorial on Control Design

Integral action in state feedback control

Transcription:

EE480.3 Digital Control Systems Part 7. Controller Design I. - Pole Assignment Method Kunio Takaya Electrical and Computer Engineering University of Saskatchewan March 3, 2008 ** Go to full-screen mode now by hitting CTRL-L 1

Contents 1 CONTROL SYSTEM DESIGN 1. 3 2 Ackermann s Formula 20 3 Example of Ackermann s Pole Assignment Method 26 2

1 CONTROL SYSTEM DESIGN 1. Pole Assignment Method Pole assignment method is a method to adjust the poles of a given system by adjusting the feeback gains from state variables. This method can be applied to such a system that is described by the state equations. 3

+ z -1 x 1 R + + Q + + z -1 z -1 x 2 x 3 c Y P state feed back K Discrete time state equation is x(k + 1) = Px(k) + qu(k) Since a linear combination of the state variables is fed back to the 4

differential node, the input u(k) is replaced by u(k) = r(k) Kx(k). Where, K = [K 1, K 2, K n ], a row vector, assuming the system is of nth order. x(k) is a column vector of size n. Substituing u(k) in the state equation yields, x(k + 1) = Px(k) + q[r(k) Kx(k)] = [P qk]x(k) + qr(k) Writing the z-transform of this equation, we have zx(z) = [P qk]x(z) + qr(z) [zi P + qk]x(z) = qr(z) x(z) = [zi P + qk] 1 qr(z) Therefore, the poles of the closed loop system with the state 5

feedback is found from det [zi P + qk] = 0. The solutions of this equation, z = λ 1, z = λ 2,, z = λ n are obtained from the expanded form of the determinant, i.e. characteristic equation, (z λ 1 )(z λ 2 ) (z λ n ) = 0. Pole assignment method determines the state feedback gain vector K for a given set of poles at z = λ 1, z = λ 2,, z = λ n. 6

z-plane poles of 2nd order systems Referring to the standard 2nd order transfer function, G 2 (s) = the poles of this system are located at ω 2 n s 2 + 2ζω n s + ωn 2, s = ζω n ± jω n 1 ζ2. This equation defines damping ratio ζ and damped natural frequency ω d as ζ = cos θ and ω d = ω n 1 ζ2. In the z-plane, poles are (see textbook p.216): z = e st = e ζω nt ±ω n T 1 ζ 2 = r ±θ 7

ζω n T = ln r from e ζω nt = r ω n T 1 ζ 2 = θ Thus, damping ratio natural freq. time const. ζ = ln r 1 ζ 2 θ ζ = ω n = 1 T ln r ln 2 r + θ 2 ln 2 r + θ 2 τ = 1 ζω n = T ln r 8

Pole Assignment for 2nd Order Systems Consider the second order case of x(k + 1) = [P qk]x(k) + qr(k). Let P = p 11, p 12 p 21, p 22 q = q 1 q 2 qk = K = [K 1, K 2 ] q 1 q 2 [K 1, K 2 ] 9

P qk = = q 1K 1, q 1 K 2 q 2 K 1, q 2 K 2 p 11 q 1 K 1, p 12 q 1 K 2 p 21 q 2 K 1, p 22 q 2 K 2 Therefore, the characteristic equation is obtained as det [zi P + qk] = det z, 0 0, z p 11 q 1 K 1, p 12 q 1 K 2 p 21 q 2 K 1, p 22 q 2 K 2 = fz (p 11 q 1 K 1 )gfz (p 22 q 2 K 2 )g (p 12 q 1 K 2 )(p 21 q 2 K 1 ) = z 2 (p 11 q 1 K 1 + p 22 q 2 K 2 )z = 0 +(q 2 p 12 q 1 p 22 )K 1 + (q 1 p 21 q 2 p 11 )K 2 + (p 11 p 22 p 12 p 21 ) 10

The characteristic equation of the 2nd order system takes either of two real roots complex roots (z γ 1 )(z γ 2 ) = z 2 (γ 1 + γ 2 )z + γ 1 γ 2 = 0 (z α jβ)(z α + jβ) = z 2 + 2αz + α 2 + β 2 = 0 Equating the characteristic equation of unknown K and that defined by two desired poles, we have a set of simultaneous equations. For the case of real roots, p 11 q 1 K 1 + p 22 q 2 K 2 = γ 1 + γ 2 (q 2 p 12 q 1 p 22 )K 1 + (q 1 p 21 q 2 p 11 )K 2 + (p 11 p 22 p 12 p 21 ) = γ 1 γ 2 11

q 1 K 1 + q 2 K 2 = (γ 1 + γ 2 ) + p 11 + p 22 (q 2 p 12 q 1 p 22 )K 1 + (q 1 p 21 q 2 p 11 )K 2 = γ 1 γ 2 (p 11 p 22 p 12 p 21 ) q 1 q 2 q 2 p 12 q 1 p 22 (q 1 p 21 q 2 p 11 ) K 1 K 2 = 2(γ 1 + γ 2 ) + p 11 + p 22 γ 1 γ 2 (p 11 p 22 p 12 p 21 ) 12

For the case of complex poles, p 11 q 1 K 1 + p 22 q 2 K 2 = 2α (q 2 p 12 q 1 p 22 )K 1 + (q 1 p 21 q 2 p 11 )K 2 + (p 11 p 22 p 12 p 21 ) = α 2 + β 2 q 1 q 2 K 1 q 2 p 12 q 1 p 22 (q 1 p 21 q 2 p 11 ) K 2 = 2α + p 11 + p 22 α 2 + β 2 (p 11 p 22 p 12 p 21 ) 13

Example 9.1 textbook p.338 1 The continuous time transfer function, G(s) = s(s + 1) described by the continuous time state equation, ẋ(t) = 0 1 x(t) + 0 u(t) 0 1 1 y(t) = [1, 0]x(t) can be The discrete time model sampled at T = 0.1 is obtained as x(k + 1) = Px(k) + qu(k) 14

= 1 0.0952 0 0.905 x(k) + 0.00484 0.0952 u(k) y(k) = [1, 0]x(k). The state feedback equation is u(k) = K 1 x 1 (k) K 2 x 2 (k). x(k + 1) = Px(k) + qu(k) = 1 0.0952 x(k) 0.00484 0 0.905 0.0952 = 1 0.00484K 1 0.0952 0.00484K 2 0.0952K 1 0.905 0.0952K 2 [K 1 x 1 (k) + K 2 x 2 (k)] x(k). 15

The characteristic equation jzi A c j = 0 becomes, z 2 +(0.00480K 1 +0.0952K 2 1.905)z+0.00468K 1 0.0952K 2 +0.905 = 0 When the desired characteristic equation is, α c (z) = (z λ 1 )(z λ 2 ) = z 2 (λ 1 + λ 2 )z + λ 1 λ 2 = 0 K 1 = 105[λ 1 λ 2 (λ 1 + λ 2 ) + 1.0] K 2 = 14.67 5.34λ 1 λ 2 5.17(λ 1 + λ 2 ) 16

The unity gain feedback K = [K 1, K 2 ] = [1, 0] has its characteristic equation, z 2 1.9z + 0.91 = 0. The roots are z = 0.964 ±0.091 = r ±θ. ζ = ln r ln 2 r + θ 2 = 0.46 1 τ = = T ζω n ln r = 2.12sec. ω n = 1 ln 2 r + θ T 2 17

The unity gain feedback gives satisfactory ζ but the time constant 2.12 sec. is too large. Try to reduce the time constant to 1 sec. ln r = T τ = 0.1/1 = 0.1 = r = 0.905 θ 2 = ln2 r ζ 2 ln 2 r = (0.193) 2 From the characteristic equation, the desired poles are at z = r ±θ. Thus, (z 0.888 j0.173)(z 0.888 + j0.173) = z 2 1.776z + 0.819 = 0. This yields the pole assignment solution, [K 1, K 2 ] = [4.52, 1.12] The initial-condition response with x 1 (0) = 1.0 and x 2 (0) = 0.0 is shown below. 18

19

2 Ackermann s Formula Since it is difficult to extend the approach demonstrated in the second order case to a higher order system, the pole assignment must rely on a more practical procedure called Ackermann s formula. When we know the desired poles, z = λ 1, z = λ 2, z = λ n for a n-th order system, write the characteristic equation, α c (z) = (z λ 1 )(z λ 2 ) (z λ n ) = z n + α n 1 z n 1 + α n 2 z n 2 α 1 z + α 0 = 0 Since the charcteristic equation of state feedback systems is det [zi P + qk] = 0, det [zi P + qk] = α c (z). 20

In order to solve for the unknown gain vector K, form a matrix, α c (P) = P n + α n 1 P n 1 + α n 2 P n 2 α 1 P + α 0 I. Then, Ackermann s formula for the gain matrix K is given by K = [0, 0, 0,, 1][q, Pq P n 2 q, P n 1 q] 1 α }{{}}{{} c (P). }{{} n n n n n As defined earlier, K is a row vector of n elements. 21

Example 1 The continuous time transfer function, G(s) = s(s + 1) described by the continuous time state equation, ẋ(t) = 0 1 x(t) + 0 u(t) 0 1 1 y(t) = [1, 0]x(t) can be The discrete time model sampled at T = 0.1 is obtained as x(k + 1) = Px(k) + qu(k) = 1 0.0952 x(kt) + 0 0.905 y(k) = [1, 0]x(k). 0.00484 0.0952 u(k) 22

The desired poles are z = 0.8880 ± j0.1745. This determines α c (z) = (z 0.8880+j0.1745)(z 0.8880 j0.1745) = z 2 1.776z+0.819 Hence, α c (P) = 2 1 0.0952 1.776 0 0.905 0.043 0.01228 = 0 0.03075 1 0.0952 0 0.905 + 0.819 1 0 0 1 Also, Pq = 1 0.0952 0 0.905 0.00484 0.0952 = 0.0139 0.0862 23

Thus, [q, Pq] 1 = = 0.00484 0.0139 0.0952 0.0862 95.13 15.34 105.1 5.342 1 Then, the gain vector is given as 95.13 15.34 K = [0, 1] 105.1 5.342 0.043 0.01228 0 0.03075 = [4.52, 1.12] 24

MATLAB Solution This matrix calculations can be done with MATLAB by the following script. % % Ackermann s formula example % order=2; P=[1 0.0952 0 0.905]; q=[0.00484 0.0952]; alphac=[1-1.776 0.819]; disp( Desired roots in z-plane are: ) disp( ) roots(alphac) AMB=q; AMBT=q; for n=2:order AMBT=P*AMBT; 25

for nn=1:order AMB(nn,n)=AMBT(nn,1); end end AMBI=inv(AMB); CC=polyvalm(alphac,P); CCC=AMBI*CC; disp( The gain matrix K is: ) disp( ) K=CCC(order,:) ------------------------------ Desired roots in z-plane are: ans = 0.8880 + 0.1745i 0.8880-0.1745i The gain matrix K is: K = 4.5155 1.1255 26

3 Example of Ackermann s Pole Assignment Method There is a DC servo motor system G(s) = 1 s(s 2 + s + 1). This DC servo motor is subjected to digital control perhaps by some kind of digital compensator. --> sampler --> ZOH --> 1/(s(s^2+s+1)) --> sampler --> Problem here is to tune up the DC servo motor to become critical damping by state feedback. So, we attempt to move the two poles located at s = 0.5000 ± j0.8660 to a location on the real axis. Since 1 i.e. a pole at the origin of s-plance is integration to change s angular velocity to angular position (rotational angle), do not attempt to move this pole. The pole at s = 0 corresponds to z = 1 27

in z-plane. The following MATLAB program uses Ackermann s method to move the poles of this system to an assigned location. This program has four preassigned pole locations: 1. Case (1) [1, 0.97+j*0.05, 0.97-j*0.05] under damped 2. Case (2) [1, 0.98+j*0.05, 0.98-j*0.05] under damped 3. Case (3) [1, 0.97, 0.97] critical damping 4. Case (4) [1, 0.95, 0.95] critical damping Pay attention to the gain (final position) for a pulse input that drive the motor to turn for a limited time duration. If the real part of the two poles are moved away from z = 1, more damping slows the motor and the number of turns (rotational angle) gets less. 28

1.5 Open loop response to pulse 1 0.5 0 0 5 10 15 20 25 Response without state feedback 29

1.4 State Feedback by Pole Assignment 1.2 1 0.8 0.6 0.4 0.2 0 0 5 10 15 20 25 Response for Case 1 30

1.4 State Feedback by Pole Assignment 1.2 1 0.8 0.6 0.4 0.2 0 0 5 10 15 20 25 Response for Case 2 31

3.5 State Feedback by Pole Assignment 3 2.5 2 1.5 1 0.5 0 0 5 10 15 20 25 Response for Case 3 32

1.4 State Feedback by Pole Assignment 1.2 1 0.8 0.6 0.4 0.2 0 0 5 10 15 20 25 Response for Case 4 33

%----------------------------------------------------------- % Example of Ackerman s State Feedback, Pole Assignment Method % K. Takaya, 2004 %----------------------------------------------------------- % find the state space model of a transfer function in continuous time domain % --> sampler --> ZOH --> 1/(s(s^2+s+1)) --> sampler --> % This system is a DC motor that has two poles. % 1/s means that output is in rotational angle. % Do not attempt to move the pole at s=0 (or z=1 in z-plane) % just model analog part only: 1/(s(s^2+s+1)) numa=[1] dena=[1, 1, 1, 0] [A, b, c, d]=tf2ss(numa,dena) T=0.05; % calculate discrete time (digital) state equation [P, q]=c2d(a, b, T) % find poles of this system disp( Poles of the discrete time model ); poles=eig(p) % simulate system response with a pulse input N=500; pulse=zeros(1,n); pulse(n/20+1:n/20+n/20)=ones(1,n/20); 34

timebase=[0: T: (N-1)*T]; % use dlsim for simulation [y,x]=dlsim(p, q, c, d, pulse); % plot input and output figure(1); plot(timebase, pulse, timebase, y); title( Open loop response to pulse ); %verify the final DC level stf=tf(numa,dena) dft=c2d(stf,t, zoh ) [zz,pp,kk]=zpkdata(dft, v ) %Response to 25 impulses (to make a rectangular pulse) disp( ****DC level at the steady state is: ); Gdc=25*kk*sum(poly(zz))/sum(poly(pp(2:3))) %----------------------------------------------------------- % apply Ackermann s pole assignment method to do state feedback %----------------------------------------------------------- cs=input( Enter case number 1 or 2 or 3 or 4 =, s ); switch cs case 1 newpoles=[1, 0.97+j*0.05, 0.97-j*0.05] case 2 35

newpoles=[1, 0.98+j*0.05, 0.98-j*0.05] case 3 newpoles=[1, 0.97, 0.97] case 4 newpoles=[1, 0.95, 0.95] end alphac=poly(newpoles) K=ackermann(P, q, alphac) % state feedback compensated matix of Pc Pc=P-q*K disp( new poles by state feed back K ); newpoles=eig(pc) % use dlsim for simulation of compensated system [y1,x1]=dlsim(pc, q, c, d, pulse); % plot input and output figure(2); plot(timebase, pulse, timebase, y1); title( State feedback system by pole assignment ); %plot(timebase, y1); title( State Feedback by Pole Assignment ); % Convert discrete time system back to transfer function to find DC gain [num1, den1] = ss2tf(pc, q, c, d, 1) 36

% check DC gain %++++ Write your code to calculate the steady state DC level %++++ of the pole assigned feedback system with K % check if poles are the same disp( check if poles of the transfer ftn are the same ); check_poles=roots(den1) 37

Subroutine for Ackermann s method is given below. function K=ackermann(A, B, alphac) % Ackermann s formula discrete time version %order=2; %A=[1, 0.095; 0, 0.905]; %B=[0.00484; 0.0952]; %alphac=[1, -1.776, 0.819]; order=size(a,1); AMB=B; AMBT=B; for n=2:order AMBT=A*AMBT; for nn=1:order AMB(nn,n)=AMBT(nn,1); end end AMBI=inv(AMB); CC=polyvalm(alphac,A); CCC=AMBI*CC; %disp( The gain matrix K is: ) %disp( ) K=CCC(order,:); 38

Assignment No. 6 1. Design a state feedback control system that makes the following 3rd order underdamped system to be critically damped by the pole assignment method. (this system is similar to Figure 9-1 in page 338 in textbook, but 3rd order instead of 2nd order) --> sampler --> ZOH --> 1/(s(s^2+s+1)) --> sampler --> First convert this given transfer function to a state equation by tf2ss in analog domain, then use c2d to convert the obtained continuous time state equation into a discrete time state equation. Then, apply Ackermann s design formula. Use T=0.05 second. MATLAB program for this problem is provided by the name PoleAssignment2008.m The specific assignment is, therefore, to run this program and interpret the 39

results. In particular, calculate the steady state DC value for the rectangular pulse of 25 ones for each case of the 4 state feedback systems resulted from the pole assignment method. 2. Do Problem 9-11 in page 378. Try both manual calculations and MATLAB solution. 40