Laboratory of Embedded Control Systems Course Presentation

advertisement
Laboratory of
Embedded Control
Systems
Course Presentation
Teacher Luigi Palopoli
AA. 2011/2012
Aim of the course
 The aim of this course it to introduce the student (you :=)
) to model based design of embedded control systems
 This will be done with theoretical lectures (few) and lab
experiences (many)
 The course is a laboratory course.
 What we expect is that you deliver a complete working
project
 You will organise yourself in groups of two students
 Please start searching for your mate and let me know in the
next class
The project
 The project will be developed in different phases
 At the end of each phase, you will produce a different
artefact (e.g., a piece of code or a model), which has to
be documented by a report
 There is a specific date for each delivery
 Those of you who do not attend the class can deliver the
project all at once, but I warmly recommend not to (is possible)
 We will do most of the work together in the class, but you
may need to work on your own to complete the different
phase
What this course
is not...
 It is not a Signals and System course
 It is not a Real-Time Operating Systems course
 It is not an automatic control or a digital control
course.....
...but you will need a little bit
of all of this and we will help
you....
What this course
is...
 In this course you will be offered a comprehensive look
on the entire model based development methodology
 In detail, you will learn how to
1. Formulate
design specifications
4. Design a controller for the system that
fulfils your goals
2. Construct a model of the
system that you
want to control (plant)
5. Simulate the closed loop system and
asses its performance
3. Identify the physical
parameters of the system
6. Generate a Software implementation
for your controller
A plant
 The objective of this course is to control a system that
we define a plant
 A plant is a continuous time system described by a set
of differential equations
 Example (Spring + Damper)
Model of the Plant
 Very often we will use the transfer function (Laplace
Transform) to express the plant in a mathematically
tractable way
 In our example:
Model
 We can easily translate this equation into a scicos
model
•
Double-clicking on the transfer function block we can
insert the physical parameters and simulate the
system
Simulation
Step Response
Physical Parameters
 The behaviour of the system is obviously much different
if we change the physical parameters
 To make our modelNon-idealities
more realistic, we can refine our
model inserting blocks that model non-idealities
 For instance, actuators are not able to produce any input
value
 an utility car is different from a Formula 1 racing car
 we can model this by inserting in the model a “saturation”
block
 The system is no longer linear (why?) but we can consider its
behaviour as linear ad long as we do not exceed the bound of
the saturation
Non-idealities
Saturation
Performance
Specs
 Once we have a model for our system we can formulate
performance specification (e.g., related to the step
response)
Overshoot
Rise
time
Settling
time
Physical
Parameters
 Essential to our purpose is to determine the choice of
parameters whereby our model best fits the model
 To do this we can
 measure the physical quantities if easy/possible
 Carry out the identification procedure
 Identification:
 carry out a large set of experiments and collect data
 find the set of parameters that minimise the distance
between our system and the model
Control
Design
 At this point, we are in condition to design a feedback
controller that fulfils the specs.
 If we make a feedback connection of a plant P(s) with a
controller C(s), we get a new transfer function given by:
The presence
of the controller
at the denominator
moves the poles and
changes the dynamics
Feedback
Control
r
+
e
-
C(s)
u
P(s)
Digital
Implementation
 The controller we have designed in this way is a
continuous time system (a differential equation)
 If we want to implement it in a digital computer, we need
to transform it into a numeric algorithm
 Instrumental to this goal is the introduction of a sampling
mechanism for the sensors and of a Zero order Hold
(ZoH) for the actuators
Feedback
Control
r
+
Sampler
-
C(z)
ZoH
P(s)
What is the digital
implementation C(z)?
 Assume that our controller is given by
•
In terms of differential equations:
Digital
Implementation
 If we sample periodically, the derivative can be
approximated
by the backward difference (we will see better
approximations….)
Z-transform
notation
 It is useful to express the difference equation in terms of
the Z-transform
 It plays the same role in discrete—time as the Laplace
transform plays in continuous time
 The one—step forward operator in the time domain
corresponds to multiplication by z in the Z domain and
the one step delay operator to multiplication by 1/z
 The controller equation becomes:
Digital approximation
 We can account for the digital approximation in our
scheme
and simulate the system
…and finally….
 Once we are happy with the simulations, we can write a
real—time task (implemented in a RTOS) that translates
the algorithm into code
double e_1, u_1;
void task () {
double u, e;
e = get_from_sensor();
u = u_1 + kp (e-e_1)+ki*e;
output(u);
e_1 = e:
u_1 = u;
}
Schedule
 Lecture 1: Introduction
 Methodology
 Introduction to Scicoslab
 Lecture II: Scicoslab
 Matrix computation
 Scripts and functions
 Plotting data
 Modelling and simulating a CT system with Scicos
Schedule
 Lecture III: Interfacing ScicosLab and Lego
 Setup of the environment (step by step)
 Example 1: turn on a motor and read the encoder through
USB and dump on file
 Read the file with Scilab and plot it
 Lecture IV: Recap on Laplace transform
Schedule
 Lecture V: Modelling a second order system
 Lecture VI: Identification of a second order system
 Scicos-lab examples (identifying a second order system
using synthetic data)
 Filtering
Schedule
 Lecture VII: Identification of the Lego’s motors
 Collection of Data
 Lecture VIII: Identification of the Lego’s motors
 Filtering
 Identification
Schedule
 Lecture IX: Control of SISO system
 root locus
 [DELIVERY] Lecture X: Identification of the Lego’s motors
 Filtering
 Identification
Schedule
 Lecture XI: Control of SISO system
 root locus
 PID
 Lecture XII: Example of design using scicoslab
 Second order systems: from specs to control
 Assesment by simulation
Schedule
 Lecture XIII: Control of the motor
 root locus
 PID
 Lecture XIV: Control of the motor
Schedule
 Lecture XV: Digital Implementation of controllers
 theory
 practical application for the motor (SCICOSLAB)
 Lecture XVI: Getting acquainted with Lego
 Setup of the environment (step by step)
 Example 1: Hello world and buttons
 Example II: Read a sensor and print on display
 Example III: Periodic tasks, signal activation, interrupts
Schedule
 Lecture XVII: Modelling and simulation of the larger
system
 [Delivery] Lecture XVIII: Implementing the digital
controller
Schedule
 Lecture XIX: Control design based on State Space
Methods
 Lecture XX: Control design based on State Space
Methods
Schedule
 Lecture XXI: Design of the control in SCICOLAB
 Lecture XXII: Design of the control in SCICOLAB
Schedule
 Lecture XXIII: Design of the control in SCICOLAB
 Digital implementation
 Lecture XXIV: Design of the control in SCICOLAB
 Coding
 After 1 Week delivery
Download