1 in this lecture, you will learn the following. 1. basics of real-time control engineering 2....

21
ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur Hasirci Clemson University, Electrical and Computer Engineering Department Spring 2013 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling rate on the control system performance. By using a simple system, we will demonstrate the effects of use of an real-time system and a nonreal-time system on the controller performance.

Upload: latrell-heselton

Post on 14-Dec-2015

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

1

In this lecture, you will learn the following.

1. Basics of real-time control engineering

2. Effects of fixed and unfixed (also probably unknown) sampling rate on the control system performance.

By using a simple system, we will demonstrate the effects of use of an real-time system and a nonreal-time system on the controller performance.

Page 2: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

2

1. Basics of Real-Time Control Engineering

Vast majority of the computer based systems operates in a way that some data produced by sensors or by something else are written to a file, which this may be a text (.txt) file or a data file (.dat), then the data are read by the computer, and the results produced by the algorithm embedded into the computer is written a file again.

A real-time system, on the other hand, must be able to keep up with external events. Writing to or reading from a file takes a while and this may cause loosing some events occurring during the reading and/or writing period.

Consider our famous motor control system again. It will be meaningless to write the speed and current information produced by speed and current sensors to a file, run the control algorithm by reading the data from the file, and finally write the resulting voltage information to a file again. During reading and writing period, a huge load may be suddenly loaded to the motor, and the control system will be failed to maintain the control objective in such a case.

This example reveals only the “fastness” aspect of the real time systems. Let us take a look the definition of real time systems made by IEEE:

Page 3: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

3

1. Basics of Real-Time Control Engineering

A real-time system is one in which the correctness of a result not only depends on the logical correctness of the calculation but also upon the time at which the result is made available. *

This definition emphasizes the notion that time is one of the most important entities of the system, and there are timing constraints associated with systems tasks. Such tasks have normally to control or react to events that take places in the outside world, which are happening in “real time”. Thus, a real-time task must be able to keep up with external events, with which it is concerned. **

*IEEE POSE Standard (Portable Operation System Interface for Computer Environments)

** Real-time Control Systems: A Tutorial, A. Gambier

Page 4: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

4

1. Basics of Real-Time Control EngineeringIn general, real-time implementation of an analog feedback control system involves the following components.

System to be controlled

State measurement sensors for feedback

Data acquisition system

PC-based system with a real-time softwareDrive system

Sensors measure the system states for feedback and produce a low amplitude electrical signal (voltage or current). A data acquisition system (generally a data acquisition card, or input ports of a microcontroller) receives this signal, converts it to a digital signal, and then sends to PC-based system that runs the control algorithm designed. Information produced by the control algorithm is sent by PC-based system (a host PC, or microprocessor unit of a microcontroller) to data acquisition system again. Data acquisition system converts this signal to an analog signal, and then sends it to drive system via its output ports. Main function of the drive system is to produce drive signals proper for the plant, that is, the system to be controlled. The drive system may be linear amplifier, or a power electronic system.

Page 5: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

5

Let us consider our control system for PMDC motor :

PMDC Motor Current sensor and encoder

Quanser Q4 DACA host PC and a target

PC with xPC Target real-time software

Linear amplifier

Remember that we have three state variables; current, velocity, and position. For a full-state feedback, we will use a hall-effect current sensor and an encoder. The incremental encoder can be used for both velocity and position feedback. Quanser Q4 card receives sensor outputs, converts the analog current information to a digital one, and then sends measured values to target PC. The target PC downloads the control algorithm from the Simulink file in host PC, runs this code, produce the control input signal (voltage) information, and finally sends this information back to the host PC. The host PC transmits this signal to the Quanser card. The low-amplitude voltage at the output of the card is amplified by a linear amplifier. This actual control input signal is then supplied to the motor.

Page 6: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

6

Real-time System

Soft Hard

Dynamic Static

SYSTEMS

Non-Real-time System

Speed and predictability are both critical.

Response to input has to come at a precise time.

System timing parameters are known before execution.

Emphasis will not be upon the theory of real-time systems in this class. Instead, we will introduce the hardware and software that we will use during the experiments. But, even so, some important points explained below should be considered.

In ECE 893, we use a Static, Hard Real-Time System.

Degraded operation in a rarely occurring peak load can be tolerated.

Timing parameters and the priority for tasks is modified at run-time.

http://www.ece.cmu.edu/~koopman/des_s99/real_time/

Page 7: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

7

HardReal-timeSystem

SoftReal-timeSystem

D/A

D/A

Error in output waveform

Error in execution time

Example: Produce a sinusoid output

Page 8: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

8

MATLAB/SIMULINK have a toolbox called xPC Target. This toolbox enables you to real-time control prototyping and testing. It provides a library of drivers, a real-time kernel, and a host-target interface for real-time monitoring, parameter tuning, and data logging. You create a real-time testing environment for Simulink models by connecting a host computer (a laptop), a target computer (a desktop), and your hardware under test (PMDC motor). You connect the host computer running xPC Target, Simulink, and a C compiler to the target computer via a single TCP/IP communications link (an ethernet cable). You then connect the target computer to your hardware under test and download code generated by Simulink Coder from a Simulink model to the target computer via the communication links.

Page 9: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

9

You create an xPC Target application using xPC Target with Simulink Coder to automatically generate and compile a C/C++ code representation of a Simulink model. You then download the target application via a LAN (Ethernet) connection from the host computer to the target computer.

xPC Target enables you to access the target application and control it directly from the host computer using either the xPC Target Explorer tool or the MATLAB command line. You can download your target application, start and stop real-time test execution, change the sample time and stop time, and modify other target application properties.

To monitor and acquire data, xPC Target includes scopes for both the host and target computers. Scopes support several trigger modes you can use to control the acquisition, timing, and duration of data collection. You can also display multiple signals in a single scope and attach multiple scopes to a single model.

Signal monitoring enables you to view signal values at the current sample rate. Signal tracing lets you capture, store, and display bursts of data, similar to the behavior of a digital oscilloscope. Signal logging lets you acquire and store signals during the entire test execution. You can then upload the logged data to the host computer for signal display, analysis, or archiving.

Page 10: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

Design a Simulink model on the host PC

Program is downloaded to target for real-time execution

Boot CD installs a real-time kernel on target

Build the Simulink model Host and target coordinate for downloading programs

Some parameters can be changed on host. This change is communicated to target.

Host Computer Target Computer

Page 12: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

• 4 x 14 bit Analog Inputs• 4 x 12 bit D/A Outputs• 4 Quadrature Encoder Inputs• 16 Programmable Digital IO

Channels• 2 x 32 bit dedicated Counter/ Timers• 2 External Interrupt sources• 32 bit, 33MHz PCI Bus Interface

Quanser Q4 card in the Target PC provides data acquisition for feedback. Output ports of the card is used to send the control signal calculated by the control algorithm implemented in Simulink to the linear amplifier.

Page 13: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

13

Analog Out (D/A)

Channels

Ext Interrupt and Signal Pins (PWM,Watchdog)

Analog In (A/D)

Channels

Encoder

Channels

Digital I/O Ports

From Q4 board

Q4 Terminal Board

Page 14: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

14

Finally, a linear amplifier is used to produce actual control signals to be applied the system.

Page 15: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

15

The Q4 cards being used for data acquisition and control are very useful… and very expensive. Read the manuals for voltage limitations and proper use.

Download a supplementary document that explains in detail xPC Target setup, laptop configuration, Q4 card, linear amplifier calibration and some additional important issues from http://www.duzce.edu.tr/~ugurhasirci/ece893/sup/sup2.pdf .

Page 16: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

16

The software and hardware introduced so far are not the only option to design and implement real time control systems. These are the things available in our labs.

Of course there are some other software/hardware combinations to achieve a good real time performance. For example dSPACE provides a very useful hardware (dSPACE data acquisition card) and software (Real Time Interface - RTI) to implement the control algorithms embedded in MATLAB/Simulink environment.

Page 17: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

17

2. Real Time vs. Non-Real Time

In this section, we will use a very simple system to compare the effects of use of a real time system and a non-real time system on the controller performance.

Consider the following first-order scalar system dynamics;

x x u where x is the state variable and u is the control input. The control objective is to drive x to a desired trajectory, xd. To observe the performance of the controller to be designed, an error signal can be defined as follows:

de x x Let’s use a simple PID controller to stabilize the system,

( ) ( ) ( ) ( )p d Iu t K e t K e t K e t dt

where Kp, Kd, and KI are control gains. Having a real time system means that the control system software uses the last two samples of e(t) to calculate its derivative and integral with a fixed sampling period. This does not necessarily mean that the sampling rate must be fixed. Most of solvers provide variable (but known) step solving algorithms. By using Simulink, we will compare the controller performances with (i) fixed and known sampling period (to mimic a real time system), (ii) unfixed and unknown sampling period (to mimic a non-real time system).

Page 18: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

18

First consider the following simulation. This blocks simulates the system with a fixed and known sampling rate. The desired trajectory is just a constant, 1, and the values of the control gains are Kp=8, Kd=3, and KI=0.01.

Scope

PID(s)

PID Controller

k y

fcn

MATLAB Function

1s

Integrator

1

Constant

Page 19: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

19

Time-variation of tracking error signal is shown in the following figure.

0 20 40 60 80 1000

0.02

0.04

0.06

0.08

0.1

0.12

Time

e(t)

After a very short transient, the error settles to a small constant and the system is stable.

Page 20: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

20

Now we will use the same system, same control rule, and the same values of the control gains, but, for this time, we will also use some additional blocks to make the system a non-real time system.

To

VariableTime Delay

Uniform RandomNumber

Scope

PID(s)

PID Controller

k1 y 1

fcn

MATLAB Function

1s

Integrator

1

Constant

Newly-added “Variable Time Delay” block holds the last 10 samples of the error signal and “Uniform Random Number” block generates an integer ranging from 1 to 10 at each time step. In this way, the derivative and integrator embedded in PID Controller block use the existing value of the error signal and any random one of the last 10 sampled values of the error signal to calculate the derivative and integral of e(t). This means that this system is not a real time system anymore. Indeed, such a system can be used to simulate a non-real time system.

Page 21: 1 In this lecture, you will learn the following. 1. Basics of real-time control engineering 2. Effects of fixed and unfixed (also probably unknown) sampling

ECE 893 Industrial Applications of Nonlinear Control Dr. Ugur HasirciClemson University, Electrical and Computer Engineering Department Spring 2013

21

Time-variation of tracking error signal for this non-real time system is shown in the following figure.

The tracking error goes to infinity as time goes to infinity.

This implies that use of a non-real time system to implement the controller may make the overall system unstable even if your control system stable. This is the key point.

0 20 40 60 80 100-5

0

5

10

15x 10

12

Time

e(t)