Automatic Control II Computer exercise 3. LQG Design

Similar documents
The purposes of this experiment are to test Faraday's Law qualitatively and to test Lenz's Law.

EDUMECH Mechatronic Instructional Systems. Ball on Beam System

Practical Guide to the Simplex Method of Linear Programming

19 LINEAR QUADRATIC REGULATOR

Understanding and Applying Kalman Filtering

Solving Linear Systems, Continued and The Inverse of a Matrix

3. KINEMATICS IN TWO DIMENSIONS; VECTORS.

Figure 1.1 Vector A and Vector F

General Framework for an Iterative Solution of Ax b. Jacobi s Method

POTENTIAL OF STATE-FEEDBACK CONTROL FOR MACHINE TOOLS DRIVES

Lecture 7: Finding Lyapunov Functions 1

Figure 1. The Ball and Beam System.

TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA

7 Gaussian Elimination and LU Factorization

FRICTION, WORK, AND THE INCLINED PLANE

Content. Professur für Steuerung, Regelung und Systemdynamik. Lecture: Vehicle Dynamics Tutor: T. Wey Date: , 20:11:52

Rotation: Moment of Inertia and Torque

Linear-Quadratic Optimal Controller 10.3 Optimal Linear Control Systems

TRIGONOMETRY Compound & Double angle formulae

Physics 235 Chapter 1. Chapter 1 Matrices, Vectors, and Vector Calculus

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

Mobile Robot FastSLAM with Xbox Kinect

Force on Moving Charges in a Magnetic Field

Parameter identification of a linear single track vehicle model

G(s) = Y (s)/u(s) In this representation, the output is always the Transfer function times the input. Y (s) = G(s)U(s).

Elasticity Theory Basics

Solving Systems of Linear Equations

Manufacturing Equipment Modeling

10 tips for servos and steppers a simple guide

Vector and Matrix Norms

If you put the same book on a tilted surface the normal force will be less. The magnitude of the normal force will equal: N = W cos θ

Overview of Violations of the Basic Assumptions in the Classical Normal Linear Regression Model

FREE FALL. Introduction. Reference Young and Freedman, University Physics, 12 th Edition: Chapter 2, section 2.5

Modeling and Simulation of a Three Degree of Freedom Longitudinal Aero plane System. Figure 1: Boeing 777 and example of a two engine business jet

Optimal linear-quadratic control

Electric Motors and Drives

Solving Simultaneous Equations and Matrices

The DC Motor. Physics 1051 Laboratory #5 The DC Motor

EE 402 RECITATION #13 REPORT

ELECTRICAL ENGINEERING

Section 1.1. Introduction to R n

Name Partners Date. Energy Diagrams I

Nonlinear Systems and Control Lecture # 15 Positive Real Transfer Functions & Connection with Lyapunov Stability. p. 1/?

The dynamic equation for the angular motion of the wheel is R w F t R w F w ]/ J w

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS

Lecture L22-2D Rigid Body Dynamics: Work and Energy

Least-Squares Intersection of Lines

Construction and Control of an Educational Lab Process The Gantry Crane

1 Solving LPs: The Simplex Algorithm of George Dantzig

7.6 Approximation Errors and Simpson's Rule

Drivetech, Inc. Innovations in Motor Control, Drives, and Power Electronics

Let s first see how precession works in quantitative detail. The system is illustrated below: ...

Problem Set 5 Work and Kinetic Energy Solutions

A linear combination is a sum of scalars times quantities. Such expressions arise quite frequently and have the form

Experiment 2 Free Fall and Projectile Motion

The accelerometer designed and realized so far is intended for an. aerospace application. Detailed testing and analysis needs to be

AP Physics C. Oscillations/SHM Review Packet

Section 1.1 Linear Equations: Slope and Equations of Lines

Matlab Based Interactive Simulation Program for 2D Multisegment Mechanical Systems

An Introduction to the Kalman Filter

Understanding Poles and Zeros

Lab 8: Ballistic Pendulum

CONTROLLABILITY. Chapter Reachable Set and Controllability. Suppose we have a linear system described by the state equation

1 Determinants and the Solvability of Linear Systems

ANALYTICAL METHODS FOR ENGINEERS

An Introduction to Applied Mathematics: An Iterative Process

Operation Count; Numerical Linear Algebra

Chapter 1. Vector autoregressions. 1.1 VARs and the identi cation problem

5.3 The Cross Product in R 3

EDEXCEL NATIONAL CERTIFICATE/DIPLOMA MECHANICAL PRINCIPLES AND APPLICATIONS NQF LEVEL 3 OUTCOME 1 - LOADING SYSTEMS

Lecture 1: Introduction to Dynamical Systems

Lecture L5 - Other Coordinate Systems

Mechanics 1: Conservation of Energy and Momentum

ASEN Structures. MDOF Dynamic Systems. ASEN 3112 Lecture 1 Slide 1

Course 8. An Introduction to the Kalman Filter

Centripetal Force. This result is independent of the size of r. A full circle has 2π rad, and 360 deg = 2π rad.

Adding vectors We can do arithmetic with vectors. We ll start with vector addition and related operations. Suppose you have two vectors

CHAPTER 5 PREDICTIVE MODELING STUDIES TO DETERMINE THE CONVEYING VELOCITY OF PARTS ON VIBRATORY FEEDER

Chapter 7 Newton s Laws of Motion

Differentiation of vectors

The elements used in commercial codes can be classified in two basic categories:

3.1 State Space Models

11. Rotation Translational Motion: Rotational Motion:

3. Reaction Diffusion Equations Consider the following ODE model for population growth

Example 4.1 (nonlinear pendulum dynamics with friction) Figure 4.1: Pendulum. asin. k, a, and b. We study stability of the origin x

Chapter 12 Modal Decomposition of State-Space Models 12.1 Introduction The solutions obtained in previous chapters, whether in time domain or transfor

Orbits of the Lennard-Jones Potential

Basic numerical skills: EQUATIONS AND HOW TO SOLVE THEM. x + 5 = = (2-2) = = 5. x = 7-5. x + 0 = 20.

Lab 2: Vector Analysis

13 MATH FACTS a = The elements of a vector have a graphical interpretation, which is particularly easy to see in two or three dimensions.

PRELAB: NEWTON S 3 RD LAW AND MOMENTUM CONSERVATION

Command-induced Tracking Jitter Study I D. Clark November 24, 2009

11.1. Objectives. Component Form of a Vector. Component Form of a Vector. Component Form of a Vector. Vectors and the Geometry of Space

COMPUTER SIMULATION OF REAL TIME IDENTIFICATION FOR INDUCTION MOTOR DRIVES

MATRIX ALGEBRA AND SYSTEMS OF EQUATIONS. + + x 2. x n. a 11 a 12 a 1n b 1 a 21 a 22 a 2n b 2 a 31 a 32 a 3n b 3. a m1 a m2 a mn b m

First, we show how to use known design specifications to determine filter order and 3dB cut-off

x = + x 2 + x

Tips For Selecting DC Motors For Your Mobile Robot

Frequency Response of Filters

dspace DSP DS-1104 based State Observer Design for Position Control of DC Servo Motor

Transcription:

Uppsala University Information Technology Systems and Control HN,FS,KN 2000-10 Last revised by OR September 2015 Automatic Control II Computer exercise 3 LQG Design Preparations: Read Chapters 5 and 9 in the textbook by Glad and Ljung. All preparation exercises in Section 3.

Contents 1 Introduction 1 2 LQG: Short theoretical background 1 3 Preparation exercises 2 4 Balancing a stick 4 5 The two wheeled inverted pendulum process 7 6 Simulation 9 6.1 State feedback: LQ design...................... 9 6.2 Optimal state estimation: The Kalman filter........... 11

1 Introduction In this computer exercise, controller synthesis with LQG design will be investigated. The synthesis will be performed on two variants of the inverted pendulum. In Section 4 the system is a stick balancing on a finger, and in Section 5 the system is a two wheeled inverted pendulum, which is actuated by DC motors. This is the same system that will be used in the process lab. To be well prepared for this computer exercise one should have read the Chapters 6, 8.5 and 9 in the course book by Glad-Ljung thoroughly. It may also be beneficial to have read the Chapters 5 and 7. For the computer exercise, access to Matlab and the Control System Toolbox is necessary. There are also a number of.m-files that are needed. 2 LQG: Short theoretical background The standard LQG problem is to minimize a quadratic criterion for a linear system. That is, to find the controller that, when applied to the system, minimizes the criterion. The standard model (as in Equation (9.4) in Glad-Ljung) of the system is ẋ = Ax + Bu + Nw (1) z = Mx (2) y = Cx + v (3) where z is the performance signal, y is the measured output signal, and w and v are the white noise-signals with covariance matrices Eww T = R 1, Evv T = R 2, Ewv T = R 12 (4) For simplicity, assume that w and v are independent, so that R 12 = 0. The control error, i.e., the discrepancy between the performance signal and the reference signal is denoted e = z r. It is of course desirable to keep e as small as possible. The standard formulation of LQG, though, treats the regulation problem, i.e., when r 0. This means that e = z. The criterion to be minimized then is 1 V = E lim T T T 0 ( z(t) T Q 1 z(t) + u(t) T Q 2 u(t) ) dt (5) where Q 1 and Q 2 are symmetric matrices. Q 2 is positive definite and Q 1 is positive semidefinite. When treating the servo problem, when r 0, the criterion should be appropriately modified. However, here r will be confined to be piece-wise constant, like set point changes. In this case LQG will give a feedback gain that is the same as for the regulation problem. 1

The optimal control law has the familiar observer based state feedback structure (see Theorems 9.1 and 9.2 in Glad Ljung) u(t) = Lˆx(t) + L r r(t) (6) where ˆx(t) is the optimal estimate of x(t), obtained by the Kalman filter for the system (1) (3). The gain L depends only on Q 1 and Q 2, while the Kalman filter depends only on R 1 and R 2 (and R 12 if nonzero). Note that the LQG-controller is optimal only for the idealized situation, that is, when the system is exactly described by (1) (3) and when w and v are white Gaussian noises. This is a very idealized situation. In practical cases one or more of the conditions for the LQG framework may not be fulfilled. In this case study the system is not even a linear model. Hence, it can not be expected that the obtained controller will be optimal. Still, for many systems the LQG approach is useful due to its simplicity and to its ability to generate controllers that behave rather well also in nonidealized situations. In practice R 1 and R 2 are unknown and may, together with Q 1 and Q 2, be regarded as design variables. There are some guidelines in how to choose these design matrices. For simplicity the discussion is confined to diagonal choices of Q 1 and Q 2. Each element in these matrices can be interpretated as a penalty of the corresponding signal component. The rule of thumb then is that this signal component will be small in the closed loop simulation if it is penalized considerably. That is, if the corresponding diagonal entry in the diagonal matrices are chosen large. Still, it is stressed that this is only a rule of thumb and that the design procedure should be regarded as an iterative procedure supported by closed loop simulations. 3 Preparation exercises Consider a system given in the standard state space form: The system is controlled with the LQG-controller ẋ = Ax + Bu + Nw (7) z = Cx (8) y = z + v (9) ˆx = Aˆx + Bu + K(y C ˆx) (10) u = Lˆx + L r r (11) where (10) is the Kalman filter and (11) is the control law. r is the reference signal. 2

Exercise 3.1: The state estimation error is x = x ˆx. What is the dynamics for x? Exercise [ ] 3.2: Give the state space description for the closed loop system. Use x as state vector. x For the next exercise the following identity regarding block triangular matrices is useful: [ ] 1 [ Γ Φ Γ 1 Γ = 1 ΦΨ 1 ] 0 Ψ 0 Ψ 1 Γ and Ψ are square nonsingular matrices, and Φ is a matrix of compatible dimension. 3

Exercise 3.3: The Kalman filter does not affect the dynamics from reference signal to output signal. Show this by computing the transfer function from reference to output. Use the state space description obtained in the previous task. 4 Balancing a stick Example 7.1 in Glad-Ljung concerns the problem of balancing a stick on the finger. For simplicity the situation is idealized to the case where all motion is confined to a vertical plane. Also, the finger is confined to move along a horizontal line, in the ξ-direction. The input signal is the acceleration in this direction, i.e., u = ξ. The output signal is the angle of the stick with respect to a vertical line (see Figure 7.7 in Glad-Ljung). The second order differential equation (7.32) in Glad-Ljung describes the relation between the input and the output signals. Introducing the state variables x 1 = y and x 2 = ẏ yields the nonlinear state space description x 1 = x 2 x 2 = 2g sin x 1 2 l l u cos x 1 y = x 1 If the system is linearized around x = 0 and u = 0, the linear (and hence approximative) state space model is [ ] 0 1 ẋ = y = [ 1 2g l 0 0 ] x The corresponding transfer function is G(s) = [ ] 0 x + 2 u l 2/l s 2 2g l 4

2g The system has two poles, in ± l, and is thus unstable. Consider the case when the stick is hit on its top. This can be modeled as an impulse disturbance (remember the analogy between impulses and white noise) on the angle acceleration. Hence it enters the system like the input signal, but with opposite sign. The standard model of the system then is [ ] [ 0 1 0 ẋ = x + z = [ 1 y = [ 1 2g l 0 0 ] x 0 ] x + v 2 l ] [ ] 0 u + 2 w l where w is the process noise, representing the disturbance, and v is the measurement noise. LQG is applied to design controllers for the system. Set Q 1 1 and R 1 1 (this is no restriction, since it is only the ratios, Q 1 /Q 2 and R 1 /R 2, that affects the controllers for SISO systems). Before you proceed with the labs, execute the initpend.m file to add the required files to the path. First set R 2 = 10 6. For Q 2 = 10 2, 10 3 and 10 4, generate controllers with lqgstick. To use this command, type reg1=lqgstick(q1,q2,r1,r2); and so on. Use tfstick to study the transfer functions. Type tfstick(reg1,reg2,reg3). Exercise 4.1: How does the magnitude of Q 2 affect (a) the bandwidth of G ry (s)? (b) the bandwidth of S(s) (where S(s) is the sensitivity function of the system)? (See Section 6.6 in Glad-Ljung for definitions on bandwidth.) Simulate the system with simstick for the different controllers. This is done by writing simstick(reg1,reg2,reg3). This will simulate a unit step on the reference signal, and a unit impulse disturbance (a hit on the top of the stick). The responses on the output and input signals are shown. It is the linear model that is simulated. 5

Exercise 4.2: How does the magnitude of Q 2 affect (a) the output signal? (b) the input signal? Now let Q 2 = 10 3. For R 2 = 10 5, 10 6 and 10 7, generate controllers with lqgstick. Exercise 4.3: How does the magnitude of R 2 affect (a) the bandwidth of G ry (s)? (b) the bandwidth of S(s)? Simulate the system for the different controllers. 6

ψ Left wheel ϕ 0 ξ. θ r ϕ ξ (a) Model from the side (b) Model from above. Right wheel Figure 1: Model of the two wheeled inverted pendulum process. In subfigure 1a ψ, ξ and θ r denotes the pitch angle, traveled distance and the rotated shaft angle for the right wheel respectively. In subfigure 1b φ denotes the yaw angle relative some reference angle φ 0 and ξ denotes the translational speed. Exercise 4.4: How does the magnitude of R 2 affect (a) the output signal? (b) the input signal? 5 The two wheeled inverted pendulum process In this part LQG control of a two wheel inverted pendulum system (the same system that will be used in the process lab) will be studied. The system is a robot balancing on two wheels, as shown in Fig. 1. To be able to control the system with an LQ-controller, the dynamics are linearized around the origin (an equilibrium point). The origin is defined as x 0 = [ 0 0 0 0 0 0 ] T. That is, the robot is standing still at a vertical position. The state space model is of the form: 7

ẋ = Ax + Bu + Nw, z = Mx, y = Cx + v, with the state vector x, measurement vector y, performance signal z and the controllable input signal u given by x = [ ξ φ ψ ξ φ ψ ] T, y = [ θ l θ r ψ ] T, z = [ φ ξ ] T, u = [ u l ] T u r, where ξ - traveled distance φ - yaw angle ψ - pitch angle u l - voltage applied to left motor u r - voltage applied to right motor θ l - left shaft angle (measured by a tachometer in the motor assembly) θ r - right shaft angle (measured by a tachometer in the motor assembly) The process noise is modeled as a disturbance on the input signal, which means that N = B. Numerically the matrices are given by 0 0 0 1 0 0 0 0 0 0 1 0 A = 0 0 0 0 0 1 0 0 1.9 28.1 0 1.1, 0 0 0 0 30.5 0 0 0 88.1 295.4 0 11.8 and B = 0 0 0 0 0 0 1.1 1.1 15.5 15.5 11.9 11.9, 8

25 2 1 0 0 0 C = 25 2 1 0 0 0, 0 0 0 0 0 1 As the performance signal is given by z = [ φ ξ ] T, it follows that M = [ ] 0 1 0 0 0 0. 0 0 0 1 0 0 The poles of the linearized system are given by p = [ 0 40.9 7.4 6.4 0 30.5 ]. 6 Simulation In the simulations the nonlinear model will be used. The simulations are performed under circumstances that should be as similar to the situation in a real experiment as possible. For instance, the controller is implemented as a sampling controller, the measurements are quantized, and so on. Most important here, though, is that the input signal is bounded; u must lie within the interval [ 6, 6] Volts. This must be taken into account when the controller is designed. Notice that the controller design is based on the linear model. Also, the transfer functions reflects the effects on the linear model. However, the goal is to get a controller that works on the nonlinear model in the simulations. To perform a simulation, first create a controller by using the controller generating command for the specific task, e.g. reg = lq twip lab(q1,q2) to simulate this controller use the to wheeled inverted pendulum GUI: twip gui. Open it by typing twip gui in matlabs command prompt and hit enter. To simulate, enter the name of the controller in the text box under Controller selection in the upper right corner, i.e. reg in the example give here, and press the simulate button to perform the simulation. In the simulation a step of 45 in the yaw reference at time t = 0 s is applied and a step in the velocity reference of 0.1 m/s will be applied at time t = 0.5 s. 6.1 State feedback: LQ design One method to design the controller is to first find a state feedback gain L that would work well if pure state feedback was applicable. Then, once such L is 9

found, the Kalman filter is chosen so that the true but unknown state vector can be replaced with its best estimate in order to compute the control signal 1. Before the experiments begin you should note that the model consists of two independent subsystems. The system for the yaw angle (the turning angle) is independent of the velocity-pitch system. The control synthesis could thus actually be performed on each subsystem independently of each other. It is however convenient to treat the whole system as one single system and apply the LQ framework to it. This decoupling of the two subsystems occurs in the linearized model only, in the nonlinear state space model for the system the subsystems are actually not independent. To begin with we will focus on the velocity-pitch subsystem. Since this subsystem is unstable it is more crucial to be able to control this than to control the yaw angle. Design an LQ controller with [ ] qφ 0 Q 1 = 0 q ξ [ ] 1 0 Q2 = 0 1 (12) (13) where q φ = 10 10. By selecting this small value on q φ the controller will basically ignore controlling the yaw angle. Note though that it can not be put to zero since the LQ methodology can then not find a positive definite solution to the Riccati equation. To create the controller use the function reg = lq twip lab(q1,q2) and simulate using the twip gui. Note that the simulation should be performed without noise!. Exercise 6.1: Try some different values of q ξ to se how the step response of the velocity changes. 1 It is of course possible to do it the other way around as well, i.e., to first determine the Kalman filter, and then L, or one could try to determine both simultanously. 10

After some trials you will notice that the step response is very little affected by the choice of q ξ. The reason for this is that the system have a zero in the r.h.s. of the complex plane, which puts an upper bound on the performance, and the system also have a pole in the l.h.s. of the plane which puts a lower bound of the performance of the control. The performance then gets trapped in between this lower and upper bound and is little affected by the choice of q ξ. This is a fundamental limitation posed by the system, and could not be resolved by using a better linear controller. The key to understand here is that even though the system is controllable it is not always possible to control it arbitrarily. These fundamental limitations are explored in the course Automatic control III. In the next step you will try to control the yaw angle. This subsystem does not posses the fundamental limitations present in the velocity-pitch system, and hence you should be able to affect the step response more significantly in this case. Try some different values on q φ Exercise 6.2: Comment on the step response on the yaw angle in terms of fastness (fast/slow) and also in terms of input signal magnitude (large/small). What is your choice for Q 2? 6.2 Optimal state estimation: The Kalman filter Stick to Q 1 and the Q 2 obtained above. As for the state feedback control problem discussed above, the Kalman filter depends only on the process and measurement noise intensities, R 1 and R 2. In practice these are unknown and may be regarded as design parameters. A priori knowledge about the noise intensities can be useful in the tuning procedure. Once again it is sufficient to consider only one parameter. It is rather natural to compare the intensities of the process noise R 1 and the measurement noise R 2. Set R 1 = I and R 2 = ri, where r > 0 is varied. Note that both R 1 and R 2 are 2 2 symmetric positive definite matrices. Choosing r small means that the measurement noise is considered small compared to the process noise. The corresponding Kalman filter will then become fast, since it will put more trust in the measurements than in the system dynamics. And, vice versa, a large 11

r will give a slower Kalman filter. In this system the measurement noise is probably small (primarily caused by quantization in the sensors). It is harder to judge the size of the process noise. It includes the disturbances in the system as well as model uncertainties. Particulary in this case where the real system is nonlinear, while the model is linear, this should be taken into account. The system is unstable as well, which invokes the controller to be fast enough (and particulary the state estimator). All together this suggest that r should be chosen quite small. Try some different values on r. To see any essential effect in the behavior of the system, r should be changed by a factor of ten or hundred. Generate a controller using reg = lqg twip(q1,q2,r1,r2) and use the twip gui to simulate the system. Note that the simulation should be performed with noise!. Exercise 6.3: What r have you chosen? 12