|
FAQ (Frequently Asked Questions)
Category:
CDS 101/110 Fall 2003
Identifiers: FN H0 H1 H2 H3 H4 H5 H6 H7 H8 L0.0 L1.1 L1.2 L10.1 L2.1 L2.2 L3.1 L3.2 L4.1 L4.2 L5.1 L5.2 L6.2 L8.1 L9.1 L9.2
- Can a TA enter a test FAQ?
- In Example #2 (cruise control), was "b" damping and "k" the gain?
- What is "control gain", and how is it used?
- What is actuation?
- Can you say more about feedforward control?
- In the cruise control example, what does 'des' stand for in vdes?
- Please define "dynamics" of a system.
- What about robustness to variations in the sensing or feedback itself?
- Robustness to uncertainty, this is to use feedback to lower the uncertainty, right?
- How useful is the recommended text in the bookstore? Is it worth $100?
- What is UTRC and what is their affiliation with Caltech and this class?
- Can you switch between CDS 101 and 110?
- Are the classes videotaped? How can I access the videos?
- What does 'audit' mean (on the sign up sheet)?
- Are control system designed to work under specific conditions (i.e. a Flyball Governor is designed to maintain a particular speed)? How flexible can they be?
- Why are the dimensions of A "n x n"?
- How do we express control laws?
- Is the size of the Jordan block Ji equal to the algebraic, or geometric multiplicity of (lambda)i?
- Can you explain the "(An+pn-1An-1+...+p0I)x=0, for all x" part again?
- You wrote rank(A) + nullity(A) = n for an nxm matrix. Is this right?
- In the lecture, a one-to-one relation was called an injection. Is this common? Doesn't a one-to-one relation define a bijection?
- Do you use "&sub" to mean a proper subset or a general subset, as in: {Au : u &isin &realm } &sub &realn
- What is the normal form for a linear system with complex eigenvalues? Is it the Jordan Form?
- How much detail do we need to provide in question #1 about the control law?
- Why do we need to learn all of these theorems?
- Where can I find out more about the Jordan canonical form?
- Help! I can't find the MATLAB files/ documentation for the homework.
- my hw1ballbeam.mdl is unstable at the default gains
- What is the advantage of having a model?
- In Problem #1, how do we describe the dynamics of these blocks?
- Where/when do we get graded homeworks back?
- Should dr be df in the predator-prey model?
- Can you define the variables in all of the equations from lecture 2.1?
- How can I go from a continuous linear ODE to a discrete representation?
- Why is it called infinite (finite) impulse response
- How do you know when your model is sufficiently complex?
- I did not understand the difference equation examples.
- What is a dashpot?
- In a difference equation, how is the state continuous even though the time is discrete?
- In Problem 4, should we write the system dynamics in state space form or as just sets of ODEs?
- In problem 4c, what if we don't get a diagonal matrix?
- Could you explain the matrix-within-a-matrix notation?
- Could you explain the A matrix and B vector in the mechanical model?
- How is the Jordan form related to the matrix exponential?
- Why are the two main principles of control presented in L1.1 called "principles"? Why are there only two of them?
- From the fly paper, what is quasi-steady model?
- What is the difference between a system's error and a system's uncertainty?
- You seem to use uncertainty and disturbance interchangeably...
- Can we get more information about state space formulation?
- Here are some clarifications regarding homework #2.
- Please elaborate on stability and performance.
- Sensing,computing, and actuation: which are central and which are peripheral?
- More clarifications on homework #2.
- What's the red circle on the phase plane portrait on slide 10 again?
- In stable ISL, why does the system have to go back to the circle with radius < δ?
- Where can I get the MATLAB function "phaseplot"?
- Is there a term for "stability" that stays a steady distance away from the equilibrium point?
- There were a couple of minor errors in todays lecture 3.2.
- What did you mean by "V(x) is an energy-like function"?
- A note on the alpha parameter in HW3.
- Will we get extra credit for the "Optional" homework questions?
- Can we use Matlab function "bode","initial","lsim","step","ss" for HW#3,Pb 1?
- Isn'nt Bell in dB named after the circuit theorist Bell, rather than Bell labs?
- What are the ways to look at a state-space model and identify whether it is linear or not?
- Are all systems linearizable?
- For LAST WEEK... we need some harder Lyapunov function examples.
- Are there tools for symbolic solving of systems, like MATLAB is for numerical solving?
- Homework #4 issues
- Please supply us with some numerical examples, for 1) convolution integral, 2) Jordan Form
- How does the impulse response set the initial condition to B since B is a matrix?
- Why does the convolution integral have to be surjectuve?
- Is there a MATLAB function for checking if a matrix is full-rank?
- I can't understand why the reachability matrix is "full rank ...
- If a second order LTI system with states x and x
- Did we suppose all along the lecture we know exactly the dynamics? What happens if we don't?
- What assumptions were made on A, B, C, D in derivations and proof in the lecture?
- (CT-1)(TAT-1) = CA ; What happened to the second T-1
- C = T1
CA = -a1T1 + T2 this will give the first 2 rows of the matrix P in the relation T = P(Observ_Mat), where do you get the other rows from? [Observ_Mat is the observability matrix]
- What about controllability for multiple inputs and observability for multiple outputs? Do the same results hold in those cases?
- In HW5, can we use SI units instead of those given?
- In problem 2 what is the reference input?
- What do you mean by "roll off" in problem 4? How do we calculate the frequency at which this occurs?
- In problem 2, part c how does the controller relate to the system dynamics?
- How do we deal with the hill force in problem 2 HW5?
- What is the value of Kp in problem 2, part b
- What are the subscripts in L(s) = n?(s)/d?(s)
- What does 20dB/decade mean?
- Please elaborate on time delay.
- What is Td in HW6, #3?
- Can you explain the Final Value Theorem again?
- On page 6 of the handout, what is the "dec" in "dB/dec"?
- On page 13 of the handout, how can I check "phase lead peaks at 10x of zero location"?
- On HW6, #3, the pade approximation listed doesn't match what MATLAB says. What gives?
- In question 1 a, the tracking error does not seem satisifed at DC, so what should I do?
- In HW7, problem 2(a), should we generate the Bode plot for the plant of the plant + controller?
- Hints, comments on number 3
- In problem 2, how do I come up with open loop constraints based on the third and fourth specifications?
- What happens if a or L are negative in Zeigler-Nichols PID tuning?
- Is there a good reference for special characters in HTML?
- Can the homework solutions be posted earlier?
- What is meant by "phase lag" for HW8, #2a?
- Is the log in Bode integral formula log10 or loge ?
- Suppose P(jw) = a + jb, and I compute phase as arctan(b/a) and get -30 deg, how do I know if this is a lag of 30 deg, or a lead of 330 deg?
- Is the closed loop transfer function the same as Hyr?
- What properties does L need to satisfy Bode's integral formula?
- Is the text by FPE allowed to be used on the final?
-
Can a TA enter a test FAQ?
Submitted by: lars
Submitted on: September 29, 2003
Identifier:
L0.0
Yes, he/she can... and can even identify the lecture using any string. An identifier within a search URL can parse the new database and return all of the FAQs with that given string.
One can edit any FAQ after submission, from the web page, and even include HTML formatting like color and Γreek Λetters.
[Back to Top]
-
In Example #2 (cruise control), was "b" damping and "k" the gain?
Submitted by: lars
Submitted on: September 29, 2003
Identifier:
L1.1
Yes, on both counts.
In this example the first equation represents a model of the dynamics of the vehicle. The constant "b" is a damping factor on the speed of the vehicle (with units of "force per velocity").
The second equation represents the control algorithm for the cruise control. The constant "k" represents a gain factor on the error in the velocity (the desired velocity minus the actual velocity). This determines how "aggressive" the cruise controller will be.
[Back to Top]
-
What is "control gain", and how is it used?
Submitted by: lars
Submitted on: September 29, 2003
Identifier:
L1.1
The term "control gain" refers to the constant multiplier that appears in any controller description. For example, in the cruise control example from lecture ("Example #2"), the equation that described the controller was
uengine = k*(vdes-v).
In this controller, the control gain is the constant k. In terms of how it is used, in this case there is a computer in the car that takes the desired and current velocities and computes the torque that is applied to the engine (uengine) according to the above equation.
[Back to Top]
-
What is actuation?
Submitted by: lars
Submitted on: September 29, 2003
Identifier:
L1.1
"Actuation" refers to the means of effecting control on a given system. For example, the throttle (or, alternatively, the engine) is considered an "actuator" for the car in the cruise control example (equivalently, the actuation).
In most of our examples, we will use the variable "u" as representing the control input to a system. For example, the throttle position (or the engine torque) is the control input in the cruise control example. The control input affects the system being controlled by means of its actuation.
[Back to Top]
-
Can you say more about feedforward control?
Submitted by: lars
Submitted on: September 29, 2003
Identifier:
L1.1
Feedforward control is a mechanism of control in which the control is affected by a priori known or predicted disturbances. The term "feedforward" is used since it describes the forward (left-to-right) flow of signals in a standard block diagram.
Feedforward control has its benefits and drawbacks. Here is a nice article on feedback versus feedforward control that includes discussion of a simple example.
Feedforward control can be used in conjunction with feedback control to improve the performance of the system. However, with both types of control their effectiveness relies on use of a sufficiently good model of the system being controlled.
[Back to Top]
-
In the cruise control example, what does 'des' stand for in vdes?
Submitted by: mreiser
Submitted on: September 29, 2003
Identifier:
L1.1
'des' is short for desired. So in the cruise control example vdes is the desired velocity for the vehicle. In a typical vehicle this would be the desired velocity that the driver would set for the cruise controller. In the case of Bob, the autonomous vehicle, yet another control system would actually set this desired velocity for the cruise control system.
On slide # 11, where the cruise control example is shown, there is also a block diagram (upper right corner). In this diagram the 'reference' input represents vdes. Calling the desired setpoint a 'reference input' is rather common terminology.
[Back to Top]
-
Please define "dynamics" of a system.
Submitted by: lars
Submitted on: September 29, 2003
Identifier:
L1.1
There are two important uses of the word dynamics. One is in
reference to the actual physical (biological, financial, etc) phenomenon,
and the way it evolves in time, and the second is in reference to
a MODEL of that process (i.e. a differential equation).
Regarding the former, we use the term informally to include
any kind of characteristics that evolve in time (e.g. the speed of a car,
what gear its in, etc.). In this usage, the "dynamics" is the process
of interest, the thing which is to be MODELED.
The latter usage will refer, almost exclusively, to a differential
equation (equivalently, a transfer function, if the Laplace transform is
utilized). This will typically be something of the form $dx/dt = f(x)$.
The variable $x$ is the state of the system, and we refer to the differential equation
as (a model of) the dynamics.
[Back to Top]
-
What about robustness to variations in the sensing or feedback itself?
Submitted by: lars
Submitted on: September 29, 2003
Identifier:
L1.1
It is definitely true that variation in sensing and feeback mechanisms
(say a miscalibrated sensor) will deteriorate the performance (and perhaps
stability) of a control system. The extent to which this falls outside the
scope of the original comment regarding robustness to variation in
dynamics depends on the model (i.e. to what extent sensors are assumed to
be perfect).
Assuming that feedback mechanisms are perfectly modeled at the analysis or
design stage can cause potentially serious detriment, since the
controller is designed to operate on perfect measurements. On the other
hand, the feedback framework (think block diagrams and arrows) naturally lends
itself to including sensor properties in the dynamics. Instead of a setup
like:
System Output --> Controller --> System Input
The model could be:
System Output --> Sensor Mechanism --> Controller --> System Input
Imperfections in getting the actual system output to the controller are a
serious problem in practical control design, and various tools (some of
which we will discuss in this course) exist to combat it.
[Back to Top]
-
Robustness to uncertainty, this is to use feedback to lower the uncertainty, right?
Submitted by: mreiser
Submitted on: September 29, 2003
Identifier:
L1.1
This is not exactly right. In general, we are unable to lower the uncertainty associated with the system we wish to control, that is precisely why we must use feedback. Robustness and uncertainty are terms that get used constantly when describing control systems and they occasionally mean different things. For example, in the amplifier circuit example discussed in class, the system we wish to control is uncertain (because the electronic components have significant variations among them). So we employ feedback (all the connections from the output of each amplifier back to its input) to ensure the performance we want.
Here is a definition of Robustness from a textbook [Slotine and Li, Applied Nonlinear Control]: "Robustness is the degree to which a system is insensitive to effects that are not considered in the design." In the circuit example we have not worried about the variations in the components, and yet through feedback we are robust to these details. This makes life easier for the Control Engineer, in many cases a well-designed control system will be robust to many nitty-gritty details one may not wish to model.
[Back to Top]
-
How useful is the recommended text in the bookstore? Is it worth $100?
Submitted by: murray
Submitted on: September 29, 2003
Identifier:
L1.1
If you are going to "major" in control (eg, take more than just CDS 110ab), then it would probably make sense to buy a good undergraduate textbook. However, everything you need for CDS 101/110a will be made available online.
[Back to Top]
-
What is UTRC and what is their affiliation with Caltech and this class?
Submitted by: murray
Submitted on: September 29, 2003
Identifier:
L1.1
UTRC is the United Technologies Research Center, in Hartford, CT. UTRC is the research arm for the United Technologies Corporation (UTC), which is better know for its operating units -- Pratt & Whitney aircraft engines, Otis elevators, Carrier air conditioners, and Sikorsky helicopters (and a few others). They have a number of collaborations with Caltech and Richard Murray spent two years on sabbatical there, hence the connection.
[Back to Top]
-
Can you switch between CDS 101 and 110?
Submitted by: murray
Submitted on: September 29, 2003
Identifier:
L1.1
Yes. It's easiest to switch from CDS 110 to 101, since you will be doing all of the CDS 101 homework for CDS 110. If you switch the other way, you will lose credit on the problems that you don't turn in (worth approximately 50% of each homework).
[Back to Top]
-
Are the classes videotaped? How can I access the videos?
Submitted by: murray
Submitted on: September 29, 2003
Identifier:
L1.1
CDS 101 and 110 will be videotaped and the videos made available in VHS format for checkout by the students. We will put the videos in the boxes outside of 102 Steele. Look in Box G for the CDS 101/110 tapes. It may take us a few days to get this set up, but eventually the tapes for each lecture should be available within a day or two of the lecture (we have to transfer them to VHS).
[Back to Top]
-
What does 'audit' mean (on the sign up sheet)?
Submitted by: murray
Submitted on: September 29, 2003
Identifier:
L1.1
Faculty, staff, and students are welcome to "audit" CDS 101 or 110, which means that you sit in the course but don't actually take it for a grade. You are welcome to do the homework (a good way to learn!), but we ask that if you are not taking the course that you grade your own homework sets (solutions will be posted on the web), since it takes the TAs time and effort to grade and we can only do this for students that are registered for the course.
[Back to Top]
-
Are control system designed to work under specific conditions (i.e. a Flyball Governor is designed to maintain a particular speed)? How flexible can they be?
Submitted by: mreiser
Submitted on: September 29, 2003
Identifier:
L1.1
Typically a control system is designed for a specific purpose, i.e. to control the rotation rate of a steam engine, control the velocity of a car, control the temperature of a room, etc. However, we try to design systems that operate under a broad set of conditions, as in the cruise control example, we design the control system (by choosing the gain, k) to ensure good performance of the system in many condition (full/empty tank, flat/hilly terrain, dry/wet weather, etc.).
Typically control systems are designed with at least one reference input. This input, e.g. the desired speed of the cruise controller or the desired temperature for a thermostat, determines the particular output we would like our system to achieve. In the case of the Flyball Governor the control input is not obvious, so it might seem that this controller can only maintain a particular speed. The Flyball Governor can be thought of as a mechanical circuit, with the linkage mechanism connecting the weights (Flyballs) to the valve, acting as a mechanical amplifier. The linkage mechanism can be adjusted, thus the reference speed for the steam engine can be set to any value. Incidently, here is a provocative little write-up about the Flyball Governor from Kevin Kelly's interesting book "Out of Control" which is available online.
As far as how flexible a control system can be...
In general control system are designed to meet certain performance specifications, i.e. a particular thermostat might be guaranteed to regulate temperatures in the range of 40-110 degree farenheit, for normal uses this seems perfectly 'flexible' though it might not be wise to install this controller on the space shuttle or in an research station in Antarctica. Although you can still find some mechanical control systems around, these days many commercial control systems are designed using very flexible electronic hardware. Microcontrollers are the little devices providing much of the computation for the control systems in cars, microwave ovens, soda machines, etc. Microcontrollers are popular because they usually combine several input and output channels with a programmable processor in a small, low-cost package. A Control Engineer might use the same exact microprocessor to implement a control system for many typical engineering control systems (I won't give any more examples, this is your job on HW 1), the only thing that needs to change is the software on the device. Recently, there are many research efforts to streamline the software development for these so-called "embedded" control systems so that the details of the control system need not be too strongly tied to the particular microcontroller.
[Back to Top]
-
Why are the dimensions of A "n x n"?
Submitted by: waydo
Submitted on: October 1, 2003
Identifier:
L1.2
The dimension of the state vector is n, and so the dimension of its derivative xdot is n as well. Because we multiply A by a size n vector, x, to get another size n vector, xdot, A must be an n x n square matrix.
[Back to Top]
-
How do we express control laws?
Submitted by: waydo
Submitted on: October 1, 2003
Identifier:
L1.2
, H1
...Is it an equation or more of a statement? What should we write on homework 1?
For example, for an elevator would we write
Ydot = k(Ydesired - Ycurrent)
or “If the elevator is below the desired floor go up, else if it is above go down?”
ANSWER:
Broadly speaking, a “control law” is anything that describes how to take control action, so either description could be a control law. In real life control laws take both forms depending on the system at hand. Note that the two alternatives expressed in the question really mean different things - the first says to move the elevator at a rate proportional to the error in location (proportional control), while the second says to simply move in the correct direction (assuming that the elevator moves up or down at a constant rate) (on-off control). Ignoring startup and slowdown transients, I would say that most elevators are better described by the second statement.
Something like a cruise control in a car, however, is probably better described by the first statement - no one would want to ride in a car that controlled its speed by using full throttle when going too slow and none when going too fast; a throttle level proportional to the error in speed would be more appropriate.
[Back to Top]
-
Is the size of the Jordan block Ji equal to the algebraic, or geometric multiplicity of (lambda)i?
Submitted by: lars
Submitted on: October 1, 2003
Identifier:
L1.2
Note: This answer has changed since the first (incorrect) posting.
Actually, the answer is neither.
The essential fact is that each of the Jordan blocks corresponds to a linearly independent eigenvector of the matrix A (taking the Jordan form J = T-1AT). A given eigenvalue can have multiple linearly independent eigenvectors, therefore in this case it will have multiple Jordan blocks.
If the algebraic multiplicity (am)i equals the geometric multiplicity (gm)i for a given eigenvalue (lambda)i, then there is a linearly independent eigenvector for each of the (am)i repeated eigenvalues, and there are (am)i blocks, each of size 1.
In the case where (gm)i < (am)i for a given eigenvalue (lambda)i, the difference will be compensated by an increase in the size of the Jordan blocks.
For a given eigenvalue, there will be (gm)i Jordan blocks, and the number of "1"s on the superdiagonal will equal (am)i-(gm)i.
For some MATLAB fun regarding this topic, try investigating the Jordan form of the 3x3 identity matrix:
eig(eye(3))
[V,J]=jordan(eye(3))
[Back to Top]
-
Can you explain the "(An+pn-1An-1+...+p0I)x=0, for all x" part again?
Submitted by: lars
Submitted on: October 1, 2003
Identifier:
L1.2
Sure. Professor Murray was trying to show that the quantity in parentheses above equals the zero matrix (i.e. the matrix with zeros in all entries) --- let's call this quantity X.
One way to show that X=0 (the matrix) is to show that if you multiply X by any vector, you get the zero vector.
Since you can write any vector in a linear space as a linear combination of the basis vectors (the eigenvectors, in this example), Prof. Murray checked the above condition by making sure that X v = 0 for all of the eigenvectors.
[Back to Top]
-
You wrote rank(A) + nullity(A) = n for an nxm matrix. Is this right?
Submitted by: demetri
Submitted on: October 1, 2003
Identifier:
L1.2
This statement is actually not true except for a square matrix. In general, the result is:
rank(A) + nullity(A') = n
where the apostrophe indicates transposition. For a square matrix, the nullity of the transpose equals the nullity of the original matrix, and the equation from class holds.
[Back to Top]
-
In the lecture, a one-to-one relation was called an injection. Is this common? Doesn't a one-to-one relation define a bijection?
Submitted by: mreiser
Submitted on: October 1, 2003
Identifier:
L1.2
The terminology used by Prof. Murray in the lecture is quite standard. But there is some confusion about this...from the excellent Mathworld web site, there is an entry pointing out that term 'A and B are in one-to-one correspondence' is used to mean that 'A and B are bijective.' This is less standard and is NOT the way we use the term in this and any future Controls class. The standard definitions can be found on the Mathworld web site, just keep in mind that these definitions apply to a general mapping, and for our purposes, the mapping we are concerend about are matrices, which map an element (a vector) of one vector space to another. Here are the links for the definitions: injection ,
surjection, and
bijection.
[Back to Top]
-
Do you use "&sub" to mean a proper subset or a general subset, as in: {Au : u &isin &realm } &sub &realn
Submitted by: mreiser
Submitted on: October 1, 2003
Identifier:
L1.2
Recall that a proper subset is any subset that does not contain the entire set. In the context used in class we need this to be a general subset. In the definition of the range of a matrix:
{Au : u ∈ ℜm } ⊂ ℜn, we need to allow for the possibility that the range is in fact the entire vector space (which the matrix A maps vectors onto, this is ℜn in our definition). When this occurs, the map is surjective (onto). We could never have this property if we used proper subsets in the definition of a range.
[Back to Top]
-
What is the normal form for a linear system with complex eigenvalues? Is it the Jordan Form?
Submitted by: demetri
Submitted on: October 1, 2003
Identifier:
L1.2
While normal form theory is not within the scope of this course, we will provide an informal answer to this question.
The answer depends on whether you are willing to accept complex-valued normal forms for real-valued ODEs. In this case, the Jordan form is indeed the normal form.
If one is after a "real" normal form, then there is the so-called "real" Jordan form. For this form, rather than treat a complex-conjugate pair as two independent eigenvalues, and writing a diagonal matrix for these values, we instead write a 2x2 "real Jordan block" for these eigenvalues. This matrix is precisely the prototypical matrix with a complex-conjugate pair of eigenvalues a +/- ib:
[a -b;b a]
Here we have used the MATLAB convention that a semicolon denotes the end of a row. This matrix is easily exponentiated, as follows:
expm([a -b;b a]) = exp(a)*[cos(b) -sin(b);sin(b) cos(b)]
The real part of the eigenvalue gives the exponential growth rate, and the imaginary part gives an oscillation frequency. The utility of the above formula is the primary motivation for using the "real Jordan form".
[Back to Top]
-
How much detail do we need to provide in question #1 about the control law?
Submitted by: murray
Submitted on: October 2, 2003
Identifier:
H1
A good answer for the cruise control system we studied in class would be:
Sensor: speedometer or wheel speed sensors
Control law: compare desired speed set by pushing button on cruise control level to the actual speed and increase the throttle setting if it is too slow, decrease if too fast
Actuator: motor that pulls on the gas pedal
[Back to Top]
-
Why do we need to learn all of these theorems?
Submitted by: murray
Submitted on: October 2, 2003
Identifier:
L1.2
Some of this will become more clear as the course goes on, but this is actually an important aspect of control. Because feedback systems can behave in counter-intuitive ways, the field has developed very systematic approaches to study the dynamics of feedback systems. The level of formalism in control is sometimes more abstract than it needs to be (and we are trying to change that), but some level of mathematical rigor is required to make sure that the control systems that we design really do behave correctly (according to a formal specification, not just our best guess).
[Back to Top]
-
Where can I find out more about the Jordan canonical form?
Submitted by: murray
Submitted on: October 2, 2003
Identifier:
L1.2
Stephen Boyd at Stanford has written a nice set of lecture notes on this:
http://www.stanford.edu/class/ee263/jcf.pdf
Another good reference is the book by Gilbert Strang on Linear Algebra and Its Applications (International Thomson Publishing, 1988).
[Back to Top]
-
Help! I can't find the MATLAB files/ documentation for the homework.
Submitted by: lars
Submitted on: October 3, 2003
Identifier:
H1
The link on the lectures page is only for the PDF. You can find the supporting files on the page for week 1 (click the "topic" link and scroll down).
Here is the direct URL: http://www.cds.caltech.edu/~murray/cds101/W1_intro.shtml
[Back to Top]
-
my hw1ballbeam.mdl is unstable at the default gains
Submitted by: waydo
Submitted on: October 5, 2003
Identifier:
H1
The original version of this file was posted with a bad set of gains. Go back and download it again and it should work. We apologize for any inconvenience.
[Back to Top]
-
What is the advantage of having a model?
Submitted by: waydo
Submitted on: October 6, 2003
Identifier:
L2.1
The exact question was, "Is the advantage of having a model that you can choose appropriate lengths/constants/gains before spending money and finding out that it doesn't work right? Why not just build it an watch the behavior (trial & error)?"
This is exactly right. We use models to study systems when it is easier, cheaper, safer, or faster than working with a real system. Careful modeling allows us to design and build systems that work well with a minimum of trial and error. Safety is often key here - a test pilot will be much happier getting into a new airplane that has been thoroughly modeled prior to first flight than one that was built just to see if it works!
A model can also allow us to study a system that is too large and complicated to build or that cannot be isolated. For example, the predator-prey model discussed in class lets us see the effects of things like a sudden increase in food supply, etc. very clearly, without having to account for the effects of other disturbances that might be present in nature. While we can observe this system in real life, the model may give us more information about specific input-output relationships than we can get from our observations.
It should be noted, however, that modeling is not the correct choice 100% of the time (although it very often is) - occasionally modeling a system may be extremely difficult and time consuming while building the system is relatively easy. In such a case trial and error may be a good alternative. The word of caution here, though, is that modeling often gives us a good understanding of the system in general (i.e. we can see how performance changes as a function of particular parameters), allowing us to make inferences about many systems, while trial & error teaches us only about the systems we actually build.
[Back to Top]
-
In Problem #1, how do we describe the dynamics of these blocks?
Submitted by: mreiser
Submitted on: October 6, 2003
Identifier:
H2
We are looking for concise but descriptive explanations of the dynamics. We don't want you to generate equations, because they are plainly listed in the paper. So a brief discussion of what the equations governing the dynamics are and where they came from, is adequate. It is important to be very clear about the states of each block, and then to discuss the role of the dynamics in updating these states.
For the blocks with no dynamics, there is still some mapping from inputs to outputs, though this occurs in a 'memory-less' way, that is no state variables are needed as 'memory' quantities, we can immediately determine the outputs of the block from the current inputs.
Please keep in mind that we are asking for the descriptions of the inputs, output, states, and dynamics of the model in the paper, and not of the real system (flying insect) that has been modeled.
[Back to Top]
-
Where/when do we get graded homeworks back?
Submitted by: murray
Submitted on: October 6, 2003
Identifier:
L2.1
, H0
, H1
, H2
Graded homework will be handed back one week after they are turned in. When possible, we will put them out on the table outside 74 Jorgensen before lecture. After that, they will be available outside 109 Steele.
[Back to Top]
-
Should dr be df in the predator-prey model?
Submitted by: demetri
Submitted on: October 6, 2003
Identifier:
L2.1
Yes. This parameter gives the number of foxes which die in one time unit as a fraction of the overall population.
[Back to Top]
-
Can you define the variables in all of the equations from lecture 2.1?
Submitted by: lars
Submitted on: October 7, 2003
Identifier:
L2.1
Many of the variables are defined in the slides, so I won't review them all. If there are specific ones you are unsure about, feel free to email me and I'll post another FAQ.
Here's something that I think may not have been clear from reviewing the slides: In much of the material we will see in this course, x will denote a state variable or vector, u will denote the input and y will denote the output. You may want to refer back to slide 7 for reference when encountering these variables on the other slides.
[Back to Top]
-
How can I go from a continuous linear ODE to a discrete representation?
Submitted by: lars
Submitted on: October 8, 2003
Identifier:
L2.2
MATLAB has functions built-in to the Control Systems Toolbox that handle conversion between continuous and discrete time using various methods. You can represent
your continuous time system (written in standard first order form) with the "sys" command
sysc = sys(A,B,C,D)
and convert it to discrete-time with the function "c2d":
sysd = c2d(sysc,Ts); % Ts = sampling period in seconds
There are a couple of good references for the mathematics behind these conversions. Franklin, Powell and Enami-Naeni has a section on this, and Mathworks has some excellent background on manipulating linear time-invariant (LTI) systems in their help files. They can be accessed at
http://www.mathworks.com/access/helpdesk/help/toolbox/control/manipmod/manipmod.shtml (look for "Continuous/Discrete Conversions of LTI Models" in the menu on the left).
[Back to Top]
-
Why is it called infinite (finite) impulse response
Submitted by: macmardg
Submitted on: October 8, 2003
Identifier:
L2.2
A system has "finite impulse response" if, for an input which is nonzero only at zero time (u_0=1, u_k=0 for k non-zero), the output is identically zero after some finite time. Otherwise, the system has "infinite impulse response". If the output depends only on a finite number of past inputs, then it will eventually be zero. If the output *also* depends on past values of the state, then it may decay towards zero, but is never identically equal to zero.
There were several related questions; the specific definition of IIR and FIR systems is not directly relevant to the course, but are useful as examples to understand the concept of state. For these systems, the output depends on prior inputs and/or prior values of the output. Since the "state" at time k+1 depends only on the state at time k and the input at time k, then these prior values must be considered as part of the state vector. There is some discussion of FIR and IIR systems in the context of filter design on the Mathworks web site (http://www.mathworks.com/access/helpdesk/help/toolbox/signal/signal.shmtl and look for "IIR filter design" and "FIR filter design" under "Filter Design and Implementation" in the menu at the left.)
[Back to Top]
-
How do you know when your model is sufficiently complex?
Submitted by: waydo
Submitted on: October 8, 2003
Identifier:
L2.2
Knowing when your model is sufficiently complex is often a somewhat subjective judgement call and one that requires some experience to be comfortable with. Some choices are clear, for example in the model of Bob's interaction with the terrain from class we certainly don't have to worry about the motion of a person riding within the vehicle. Others are less so, for example whether a one-wheel model of Bob is sufficient or if it would miss important features captured by the two-wheel model.
When we're really not sure what we end up doing is building models at multiple levels of complexity and comparing the results - if we weren't convinced that a single-wheel model of Bob was sufficient for the problem we discussed in class, the fact that the results were almost identical to those obtained from the more complex two-wheel model should convince us. Often a simple model will be used for most of the work and occasionally verified against a more complex model that would be more difficult to work with most of the time.
As was implied by the feedback loop in the design path put on the board in class, sometimes we discover our model was not sufficiently complex only when we build and test a system and it does not behave as expected. At that point we try to identify the neglected factors that were important and modify our model to include them.
[Back to Top]
-
I did not understand the difference equation examples.
Submitted by: waydo
Submitted on: October 8, 2003
Identifier:
L2.2
Check out the FAQ topic called "Why is it called infinite (finite) impulse response?" - hopefully that will help explain exactly what IIR and FIR systems are.
In general, it may be helpful to think of a difference equation as representing a sampling of a continuous system at discrete times, say by a digital sensor. To write an equation about how such a system changes in time, rather than using a derivative we talk about the difference between this state and the next one. If we then think about taking the sampling interval to zero, we get an ODE back out again.
[Back to Top]
-
What is a dashpot?
Submitted by: waydo
Submitted on: October 8, 2003
Identifier:
L2.2
webster.com defines a dashpot as "a device for cushioning or damping a movement (as of a mechanical part) to avoid shock" and generally refers to a device in which a plunger is pressed through a cylinder of fluid, as in a shock absorber in a car, which should explain the symbol we use to draw one.
The standard model of a dashpot is that it provides force proportional and opposite in direction to the velocity of the plunger, which corresponds to the viscous friction model we use with many systems. Because of this, we often draw a dashpot to represent any viscous friction, regardless of the actual cause.
[Back to Top]
-
In a difference equation, how is the state continuous even though the time is discrete?
Submitted by: mreiser
Submitted on: October 8, 2003
Identifier:
L2.1
, L2.2
This type of system model arises naturally in many problems. Consider for example the predator-prey from Monday's lecture. In this model the state vector (consisting of the number of rabbits and the number of foxes) is treated as real-valued (though of course thinking about non-integer animal quantities seems silly), and the rate at which we update the population occurs at a discrete time interval, one year or one months or similar.
Perhaps a better example is any sample-based system. Suppose our cruise controller uses some standard microprocessor system, that samples the instantaneous car velocity at some fixed rate. Here the sampling in our sensor generates the discreteness of the problem, but of course the quantity we sample can take on any value. We could try to write continuous time control laws for this system, but it seems foolish to do so, since we only get information about our system at discrete time steps. One simple thing we might want to do with these sampled values is smooth them so we are less likely to be effected by a sensor error. This can be done with a difference equation that implements a moving average, where the state vector keeps track of the last few measurements.
[Back to Top]
-
In Problem 4, should we write the system dynamics in state space form or as just sets of ODEs?
Submitted by: mreiser
Submitted on: October 8, 2003
Identifier:
H2
For this homework set, and all in thr future, you are heavily encouraged to convert all systems of ODEs into the convenient state space form. Many system properties we will care about are easily evaluated given the state space form, and it allows for easy implementation in Matlab.
[Back to Top]
-
In problem 4c, what if we don't get a diagonal matrix?
Submitted by: mreiser
Submitted on: October 8, 2003
Identifier:
H2
This is fine, you will in fact only get a matrix that is block diagonal in form. So if you're state space vector is [z1 z1dot z2 z2dot]', you should get a system of ODEs where the z1 terms are not dependent on the z2 terms. This is not as easy to solve as a diagonal marix, but you should still be able to solve these 2 ODEs.
[Back to Top]
-
Could you explain the matrix-within-a-matrix notation?
Submitted by: demetri
Submitted on: October 8, 2003
Identifier:
L2.2
This notation occurs commonly in control theory. It is a shorthand for matrix concatenation (cf. the matlab tutorial in which we created matrices as concatenations of other matrices).
The idea is simple: simply stack (row or column-wise) the matrices as indicated. This notation is only used when it is dimensionally consistent, i.e. all rows and columns should line up properly.
An example: let I be the 2x2 identity matrix and Z the 2x2 zero matrix. Then, consider the following matrix:
H = [Z I; -I Z]
H is precisely the following 4x4 matrix:
H = [0 0 1 0; 0 0 0 1; -1 0 0 0; 0 -1 0 0]
Again, the semicolon indicates the end of a row.
[Back to Top]
-
Could you explain the A matrix and B vector in the mechanical model?
Submitted by: demetri
Submitted on: October 8, 2003
Identifier:
L2.2
First, for a discussion of matrix-within-a-matrix notation, see the associated FAQ.
Now, recall that in control design we want to formulate the differential equation in first order form. The original equation is:
Mx'' + Cx' + Kx = F
Here M C and K are nxn, and F is nx1, where n is the number of degrees of freedom of the system (informally speaking, the number of masses).
Recall that for first-order form, we simply append the derivative vector to the state vector. Multiplying the orignal equation by the inverse mass-matrix, we obtain:
x'' +M-1Cx' + M-1Kx = M-1F
Denoting the (2nx1) state vector by q, we can write the above equation as:
[0 I]q' + [M-1K M-1C]q = M-1F
Now all we need is to append the fact that the state vector consists of the positions and their velocities:
[I 0]q' = [0 I]q
Assembling all the pieces, we have:
q' = [0 I; M-1K M-1C]q + [0;M-1F]
[Back to Top]
-
How is the Jordan form related to the matrix exponential?
Submitted by: demetri
Submitted on: October 8, 2003
Identifier:
L2.2
First, one should check the previous FAQ(s) on Jordan form. Second, we promise that all relevant material on Jordan forms will be presented as needed in class :-)
Having said that, the Jordan form of a matrix (say A) satisfies a "similarity" relation:
A = TJT-1
Here T is the matrix of (generalized) eigenvectors of A. Let's check out the square of A:
A2 = TJT-1TJT-1 = TJ2T-1
Thus, we can move power series (and by extension, exponentiation) "inside" the similarity transformation defined by T. This is very useful because exponentiating Jordan blocks is much easier than exponentiating general matrices (see the associated FAQs for these issues).
Hence, the Jordan form gives a convenient formula for exponentiation of a matrix.
[Back to Top]
-
Why are the two main principles of control presented in L1.1 called "principles"? Why are there only two of them?
Submitted by: lars
Submitted on: October 9, 2003
Identifier:
L1.1
[Continuation of question]: Was anything eliminated when making this choice? Later the same principles are called "principles of feedback". Why?
[Response]: The principles presented (Robustness to Uncertainty through Feedback and Design of Dynamics through Feedback, slide 10 of L1.1) are called principles because they are an essential characteristic of the effects of proper control design.
Listing two doesn't imply that there are only two essential characteristics of feedback control (alternatively "feedback", or "control"; these each usually refer to and mean feedback control), but these are perhaps the most central to a general understanding of why feedback control is important.
[Back to Top]
-
From the fly paper, what is quasi-steady model?
Submitted by: mreiser
Submitted on: October 9, 2003
Identifier:
H2
"quasi-steady" is a term that gets used frequently to describe a type of model (typically used to describe fluid mechanics problems), where steady-state measurements are applied to an un-steady system. For example, suppose force is related to the velocity of an object through the fluid. The force produced by the object moving through the fluid can be measured at difference velocities, and these measured (steady-state) forces can be fit with some parametric model. The quasi-steady assumption then applies this empirical model to the instantaneous velocities of the object to predict the forces. This ignores all transient effect, and is not always a successful approximation. But these techniques have been applied very successfully to insect flight aerodynamic models.
[Back to Top]
-
What is the difference between a system's error and a system's uncertainty?
Submitted by: mreiser
Submitted on: October 9, 2003
Identifier:
L1.1
The 'error' is what we typically call the quantity that is fed back into the controller, the difference between the desired system set-point and the current one. This would be the difference between the commanded and current speed in the cruise control system. When we refer to a system's 'uncertainty' we typically mean effects that have not been accounted for in our model of the system. These are things like changes in mass of a vehicle due to tread wear or fuel consumption, etc (for the cruise control example). Another example of system uncertainty is the electronic component inconsistencies in the example discussed in lecture 1.
[Back to Top]
-
You seem to use uncertainty and disturbance interchangeably...
Submitted by: waydo
Submitted on: October 9, 2003
Identifier:
L1.1
...are they the same? If not, what are the differences?
The word "uncertainty" refers very broadly to anything we don't know about the system, and can be expressed with questions like: Did we get the right values for parameters such as stiffness? Are the inputs from the actuators exactly what we desire? Are there inputs not under our control (such as wind loads or temperature variations, etc.)?
The word "disturbance" is a little more specific and usually refers to signals entering the system that are not under our control such as sensor and actuator noise and external forces, so a disturbance is really a type of uncertainty.
[Back to Top]
-
Can we get more information about state space formulation?
Submitted by: waydo
Submitted on: October 9, 2003
Identifier:
L2.1
Absolutely.
``State-space'' refers to modeling a system using some number of quantities, called the states, that are sufficient to fully charactarize its behavior. For example, the spring-mass-damper system we see so frequently can be fully described by two states: the position and velocity of the mass. We know this is true because when we solve the ODE if we know the position and velocity at a given instant that is all we need to fully charactarize the behavior - no information about past behavior or other quantities is needed. When we model a system using state-space methods, we always end up with a system of first order differential equations in the states,
dx/dt = f(x).
It is important to note that our choice of states is not unique, but the number of states needed to describe a given system is fixed. For example, for a coupled spring mass system where we have two masses and two springs we can use the position and velocity of each mass as our states (4 states), but we can just as well use the sum and difference of the positions of the two masses and their derivatives (also 4 states) and we will get the same answers.
I'm not 100% sure I gave you the answer you were looking for - please feel free to email me at waydo@cds.caltech.edu if you want more specific information.
[Back to Top]
-
Here are some clarifications regarding homework #2.
Submitted by: lars
Submitted on: October 10, 2003
Identifier:
H2
For HW#2, 2(d) wants the response of the closed loop system (like in (c),
but with the hill disturbance added).
In 4(a-b), it doesn't matter whether you write "u(t)" or "sin(wt)". You
should solve 4(c) with sin(wt) as input and solve explicitly for the
particular solution in terms of the initial conditions x_0 and dot{x_0}.
It's fine to let the initial conditions both be zero in 4(d).
[Back to Top]
-
Please elaborate on stability and performance.
Submitted by: demetri
Submitted on: October 11, 2003
Identifier:
L1.1
These two issues form the fundamental basis of control engineering, and often define the fundamental tradeoff decision that designers must make.
Loosely speaking, stability is the property of the system converging to its commanded point. There are various technical notions of stability which will be discussed later in the course, but a central idea to grasp is that this describes long-term or steady-state behavior.
On the other hand, performance is essentially a transient issue: how fast and with how much "wobble" do we get where we want to go? High-performance controllers will be "more aggressive" in seeking their equilibrium points. There should be an intuitive tradeoff between "aggressiveness" and stability. It is difficult to make a controller which is both very fast and also very stable.
[Back to Top]
-
Sensing,computing, and actuation: which are central and which are peripheral?
Submitted by: demetri
Submitted on: October 11, 2003
Identifier:
L1.1
First, the "official" answer: all three are central. In principle, one should be able to identify sensing, computing, and actuating elements in anything we would meaningfully call a control system (cf HW1).
The practical answer to this question is largely hardware or system dependent. For example, in the steam engine governor, you would have to take a fairly abstract view of "sensing" and "computing" to identify these elements. Many mechanical feedback mechanisms will pose similar problems, such as the gyroscopic stabilization of spinning bodies (think of a top).
Similarly, in more exotic application areas, such as network congestion control, it would probably be difficult to separate computation from actuation concretely; the same device which computes the control law also implements it. Although, abstractly speaking, it does two different things, it would certainly be hard to point to some fundamental physical separation between these phenomena.
Thus, we emphasize the original answer: abstractly speaking, they are all essential. Sometimes, nature or engineering will conspire to embed one within the other, but it is much more useful for us, as designers, to think of them as three separate phenomena.
[Back to Top]
-
More clarifications on homework #2.
Submitted by: lars
Submitted on: October 12, 2003
Identifier:
H2
Note that you need to make sure the units are consistent between the step input and the vehicle and engine models in problem #2. This may include converting the step input from [mph] to SI units [m/s].
In 2(c), the gains given are different than the default gains that were in the model from HW#1. Use the gains given in the problem set. (Though we won't take off points if you use the default ones, it's easier if everyone does the same thing).
What is a closed form expression? From Mathworld (http://mathworld.wolfram.com), an equation is said to be a closed-form solution if it solves a given problem in terms of functions and mathematical operations from a given generally accepted set. For this problem, we mean that the solution should be in terms of just the initial condition and the step number (k).
[Back to Top]
-
What's the red circle on the phase plane portrait on slide 10 again?
Submitted by: waydo
Submitted on: October 13, 2003
Identifier:
L3.1
The red circle is the (unstable) equilibrium point.
[Back to Top]
-
In stable ISL, why does the system have to go back to the circle with radius < δ?
Submitted by: waydo
Submitted on: October 15, 2003
Identifier:
L3.2
In fact it does not - the definition simply says that for any ε there is a δ such that if the system starts inside a disc of radius δ around the origin it never leaves a disc of radius ε. It doesn't matter if the system leaves the disc of radius δ and never returns (although you could find a still smaller δ' that would ensure the system would never leave the δ-disc).
[Back to Top]
-
Where can I get the MATLAB function "phaseplot"?
Submitted by: waydo
Submitted on: October 13, 2003
Identifier:
L3.1
This function is available on the website for today's lecture.
[Back to Top]
-
Is there a term for "stability" that stays a steady distance away from the equilibrium point?
Submitted by: atiwari
Submitted on: October 13, 2003
Identifier:
L3.1
I will reframe the question::
Is there a term for "stability" of a equilibrium point, where all the trajectories stay a steady distance away from the eq. pt.?
Answer::
Sometimes such an equilibrium points is called a "marginally" stable eq. pt. Please refer to the following links.
http://en.wikipedia.org/wiki/Mechanical_equilibrium
and
http://hebb.mit.edu/courses/9.641/2000/lectures/lecture10.pdf
[Back to Top]
-
There were a couple of minor errors in todays lecture 3.2.
Submitted by: lars
Submitted on: October 15, 2003
Identifier:
L3.2
Yes, in the cruise control example I think there was a missing coefficient in front of the yd term on the RHS of the second order equation in y, and also one (a 1/m) in front of the the x1 and x2 terms in the state
space formulation.
[Back to Top]
-
What did you mean by "V(x) is an energy-like function"?
Submitted by: demetri
Submitted on: October 15, 2003
Identifier:
L3.2
Our simple physical intuition suggests that stability of a system is in some way related to energy inputs and outputs. We would expect a system which perpetually loses energy to be asymptotically stable (as long as there are no energy inputs).
The Lyapunov stability theory is essentially a generalization of this idea. We would like have a function which measures how much "energy" there is in the system. This is why we require it to be locally positive definite: as the size of the x-vector increases, so should the "energy". This is also why we check to see if the Lyapunov function decreases (technically this is an abuse of terminology, since we do not call it a Lyapunov function unless it satisfies the decrease condition).
In physical systems, the total energy can be used as a Lyapunov function (certainly try this one before trying any others). However, you should take this with a grain of salt; using the physical energy as a Lyapunov function may not give the most straightforward analysis, and it is often possible to find Lyapunov functions which facilitate the manipulations better than the actual physical energy.
[Back to Top]
-
A note on the alpha parameter in HW3.
Submitted by: demetri
Submitted on: October 15, 2003
Identifier:
L3.2
, H3
There was some confusion regarding the parameter alpha involved in the suggested Lyapunov functions. This is NOT the bounding function discussed in class. It is just a scalar. We apologize for any possible confusion.
[Back to Top]
-
Will we get extra credit for the "Optional" homework questions?
Submitted by: lars
Submitted on: October 20, 2003
Identifier:
H0
, H3
, H4
Yes, extra credit will be granted for proper completion of the optional questions, and partial credit will be granted at the discretion of the grading TA. Your total score, however, will not exceed the total possible score from the required homework problems.
For example, if you get 32 out of a total possible 40 points from the required questions, and get 10 points from an optional question, your total score will be 40 out of 40.
[Back to Top]
-
Can we use Matlab function "bode","initial","lsim","step","ss" for HW#3,Pb 1?
Submitted by: atiwari
Submitted on: October 20, 2003
Identifier:
H3
All the matlab functions you have mentioned on your mud card are meant for linear time-invariant systems. In HW#3 Pb.1 all three parts are nonlinear systems. I recommend using ode45, phaseplot.m (from the course web page).
[Back to Top]
-
Isn'nt Bell in dB named after the circuit theorist Bell, rather than Bell labs?
Submitted by: mreiser
Submitted on: October 20, 2003
Identifier:
L4.1
The 'Bel' in dB is named in honor of Alexander Graham Bell, the "inventor" (since he filed his patent just a few hours ahead of the competition) of the telephone. Of course, the the deciBel is one-tenth of a Bel, a now forgotten unit. Bell labs is also named after A.G. Bell, since it was the name for the engineering labs at American Bell (later AT&T), a company established by Bell. Bell labs is still around as Lucent Technlogies. Bell labs has played a significant role in 20th century technology, here is a short history .
[Back to Top]
-
What are the ways to look at a state-space model and identify whether it is linear or not?
Submitted by: mreiser
Submitted on: October 20, 2003
Identifier:
L4.1
In general a state-space model is one where we write a system of first order ODEs in a specific form, where we can directly read off the state vector. So of course there can be nonlinear models in state space form - the inverted pendulum on a cart dynamics (from HW 4 and Lecture 4.1 slide # 16) have been put into this form. There are (at least) 2 ways to determine that the system is linear, and they turn out to be equivalent:
1) You've got a linear system if you can arrange the dynamics into the standard form: x_dot = Ax + Bu, y = Cx + Du, where A, B, C, D are matrices of the appropriate dimensions. In the general case, you might have a linear, time-varying system, in which A(t), B(t), etc. are matrices whose entries can depend on time, though we have yet to see a system like this in class.
2) You also have a linear system if you can convince yourself that the basic linearity properties hold (e.g. see slide #3 in Lecture 4.1). This is harder to do (directly) form the state-space form, since we care about linearity of the solutions of these systems.
[Back to Top]
-
Are all systems linearizable?
Submitted by: waydo
Submitted on: October 20, 2003
Identifier:
L4.1
The full question was: "Do we have to worry about whether a system is 'linearizable', or are all systems linearizable?
All systems are 'linearizable'(about an equilibrium point), though the linearization may or may not tell us anything interesting about the behavior of the actual system. For example, the system xdot = x^2 has the linearization xdot = 0 about the equilibrium at x = 0, which clearly doesn't tell us anything about the original system. Usually, however, linearization is a very useful tool to help us evaluate stability and approximate the behavior of a complex system.
[Back to Top]
-
For LAST WEEK... we need some harder Lyapunov function examples.
Submitted by: lars
Submitted on: October 21, 2003
Identifier:
L4.1
, L3.2
, H3
Noted. We acknowledge that the Lyapunov function homework problem requires more effort than that presented in class. We'll be more conscientious about teaching the class at a consistent level.
[Back to Top]
-
Are there tools for symbolic solving of systems, like MATLAB is for numerical solving?
Submitted by: lars
Submitted on: October 21, 2003
Identifier:
L4.1
If we specify "systems" as sets of algebraic equations or ODEs , then yes, there are a few tools available.
MATLAB has it's own symbolic toolbox (which you can investigate through MATLAB Help), but is somewhat limited in the classes of equations it can solve symbolically (MATLAB is generally limited to algebraic equations.
Mathematica and MAPLE are two other packages that have extensive symbolic math capabilities.
[Back to Top]
-
Homework #4 issues
Submitted by: mreiser
Submitted on: October 22, 2003
Identifier:
H4
On Problem #2 the inverted pendulum:
1) There is a mistake in the figure, which shows theta defined as zero in the up position, this is inconsistent with the equations of motion which have theta = pi defined as up. Please use theta = pi as the equilibrium point you need to stabilize.
2) Also in the problem statement, part (c) there is a correction for the non-zero equilibrium point listed as u = -K(x-x0), this should be x_e, the equilibrium point, and not x0, the initial condition. Since these simulations are initialized near the equilibrium point this does not actually prevent convergence, but it can be confusing.
3) The closed loop simulation will give an error about unsolvable algebraic loops if the simulation is started far away from the equilibrium point, which is the default on the model (all ic's are 0). To set initial condition, specify an i.c. value for each of the 4 integrators (one for each state).
If anyone has compatibility issues running the .mdl file on an older version of Simulink, please email me (mreiser@caltech), and I'll generate a model that is compatible with the older simulink.
Problem #3 - discrete time system:
You are supposed to solve for the general output of the system in part (c). Some of you have discovered that this equation was actually given in Lecture 2.2 (by D. MacMartin). For parts (a) & (b) do not use this equation , you should be able to answer these questions without using the general solutions. For part (c), please derive this formula.
Note that in (b) the initial condition should be z_0, not x_0. To solve for the transient response due to z_0, make sure you have zero input (u = 0).
[Back to Top]
-
Please supply us with some numerical examples, for 1) convolution integral, 2) Jordan Form
Submitted by: mreiser
Submitted on: October 22, 2003
Identifier:
L4.2
1) The convolution integral tends to confuse most people who are seeing it for the first time, therefore there are many useful internet resources. One that is especially fun (and useful if you have not seen the 'graphical' version of convolution) is the "Joy of convolution" . There is also a "Joy of convolution - discrete version" , though presumably only the signals are discretized--the joy is not.
Also let's not forget that Matlab easily performs convolutions for us, the command is 'conv'. Just make up any two functions and convolve them, e.g.:
x = sin(-pi:0.1:pi);
y = zeros(size(x)); y(40) = 1;
plot(conv(x,y));
2) As for the Jordan Form of a matrix, decent numerical examples show up in most Linear Algebra textbooks. Two that definitely have some are: Linear Algebra and Its Applications by Gilbert Strang, and Introduction to Linear Algebra and Differential Equations by John W. Dettman (Dover book). Most of the numerical examples can be very lengthy, spanning several pages of a book. The most detailed examples I've seen are in C. T. Chen's Linear System Theory and Design (older editions of the same book have even better examples. The older edition is called 'Introduction to Linear System Theory'). Without going to the library, the best way to see Jordan form examples is the use Matlab. Here is something to try:
A = sym([12,32,66,116;-25,-76,-164,-294; 21,66,143,256;-6,-19,-41,-73]); [V,J] = jordan(A);
this one should give a Jordan form with 2 jordan block of size 2 each. If you try this command on random matrices (e.g. A = rand(3)), you will find that you never see jordan blocks of size greater than 1. This is because the Jordan form is very sensitive to perturbations in the matrix entries (for fun, slightly perturb the A matrix above and see what happens).
[Back to Top]
-
How does the impulse response set the initial condition to B since B is a matrix?
Submitted by: demetri
Submitted on: October 22, 2003
Identifier:
L4.2
There is some confusion in terminology and in notation here. First, you are presumably asking about the impulse function (or Dirac Delta Distribution, more technically). The impulse function and impulse response are two different things. The impulse is the infinite peak with unit area we discussed in class; the impulse response is the response of a system to an impulse input.
Now, the impulse "function" has the effect of "setting the initial conditions" when used as an input. In the case where there is a single input, and hence the B matrix is a vector, it really does set the initial condition to B. When B is not just a vector, (i.e. a multi-input system) it is not clear which "impulse" you're referring to, since you need two inputs. If you put impulses in both input slots, you will get the initial condition corresponding to the sum across the columns of the B matrix.
[Back to Top]
-
Why does the convolution integral have to be surjectuve?
Submitted by: demetri
Submitted on: October 27, 2003
Identifier:
L5.1
A surjective mapping is one that reaches the entire range space; another word for this is "onto". Thus, if a map is surjective, we can always find a point in the domain that is mapped to a desired point in the range.
When the integral is surjective, viewed as a linear map from the control space to the state space, it means that we can always find an input function (i.e. a point in the domain) which maps to a desired state (i.e. a point in the range).
The reachability matrix discussed in class allows us to check whether the convolution term is surjective in terms of rank of a matrix, which is generally much easier than attempting a direct verification.
[Back to Top]
-
Is there a MATLAB function for checking if a matrix is full-rank?
Submitted by: demetri
Submitted on: October 27, 2003
Identifier:
L5.1
The function "rank()" will return the rank of an arbitrary rectangular matrix. If the rank is equal to the number of columns, it is said to be "full rank".
On a technical aside, this function is not particularly well conditioned numerically (i.e. it can be sensitive to small perturbations in the matrix). In this class we will always (attempt to) give well-conditioned problems, but in reality, you can get matrices which are "technically" full rank, but practically not so.
[Back to Top]
-
I can't understand why the reachability matrix is "full rank ...
Submitted by: demetri
Submitted on: October 27, 2003
question continued: "... as long as constants are such that the columns are not multiples of each other".
Answer: In this particular example, it sufficed to check that these two columns were not multiples of each other because this would imply that the columns of the matrix are linearly independent. In general, any two columns being related by a scalar multiple implies singularity of the matrix, and so this gives a quick way to identify matrices which are not full rank.
However, this analysis is in general only sufficient, not necessary. Do NOT be fooled into thinking that a matrix is full rank just because no column is a multiple of another.
[Back to Top]
-
If a second order LTI system with states x and x
Submitted by: atiwari
Submitted on: October 27, 2003
Identifier:
L5.1
The correct way of answering this question will be to remodel your system as a third order system with states x,x' and x''. Doing so, will help you write the dynamics of the system in the state space form X' = AX + BU : Y = CX, where the state vector X = [x x' x'']^T. The C matrix here is [0 0 1]. Now you can estimate the full state [x x' x''], if the matrix pair (A,C) is observable. Observability will be covered in the wednesday (10/29/03) lecture.
[Back to Top]
-
Did we suppose all along the lecture we know exactly the dynamics? What happens if we don't?
Submitted by: waydo
Submitted on: October 29, 2003
Identifier:
L5.2
There was another related question: "If our model is incomplete or wrong (i.e. the mass changes on the Segway), can an estimator compensate about that (since the estimator is based on that model). If yes, drawbacks?
The analysis we did in class does indeed assume we know the dynamics (that is, the A,B,C matrices) exactly. However, if you assume the dynamics are close to these you can follow through the same analysis with, for example, the dynamics matrix for the estimator being A + δA, where δA is small, and find that the errors in your estimate will be small.
In the case of the Segway, the controller rather than the estimator compensates for effects like the different masses of different riders - this is exactly the type of uncertainty that feedback is great at managing. When designing such a system, one would specify a range of expected rider masses and verify that the controller meets its specifications for any of them. If there were an estimator, its performance would be best for the particular dynamics it was designed around, but it could be designed such that the errors due to different riders would be small.
The drawback in having to design to a range of dynamics rather than an exact model is that the achievable performance may be limited - a controller that works adequately for a range of systems will be outperformed by a controller tailored exactly to a particular system when applied to that particular system. Performance and robustness to uncertainty must often be traded against one another when designing a controller.
[Back to Top]
-
What assumptions were made on A, B, C, D in derivations and proof in the lecture?
Submitted by: mreiser
Submitted on: October 29, 2003
Identifier:
L5.2
All of the derivations for the observable canonical form and the theorem stating that observability implies there is arbitrary assignment of the poles of the (A-LC) matrix (and vice versa), were done assuming a single-input single-output (SISO) system. Reachability and observability are well defined concepts for multi-input multi-output (MIMO) systems and the test is the same, just compute the reachability and observability matrices; but the specifics of the canonical forms and the spectral assignment theorems will not be necessary for this class. If you would like to see the SISO case again, the derivation is also carried out in the text by A. Lewis linked from the course home page. Intuitively it should seem reasonable that more inputs can only help your reachability and more outputs can only help observability. Since the test for e.g. reachability is the same for the MIMO and SISO case, then having a 3 state system with one input will give a 3x3 reachability matrix; the same system with 2 inputs will yield a 3x6 reachability matrix. Since we only need rank = 3 for reachability, more inputs can help reachability.
[Back to Top]
-
(CT-1)(TAT-1) = CA ; What happened to the second T-1
Submitted by: atiwari
Submitted on: October 29, 2003
Identifier:
L5.2
It was actually there but was moved to the RHS. The equation read as:
CA = [-a1 1 0 0 .... 0]T
[Back to Top]
-
C = T1
CA = -a1T1 + T2 this will give the first 2 rows of the matrix P in the relation T = P(Observ_Mat), where do you get the other rows from? [Observ_Mat is the observability matrix]
Submitted by: atiwari
Submitted on: October 29, 2003
Identifier:
L5.2
To get the third row of P you should do the following:
(CT-1) (TAT-1) (TAT-1) = [a12 - a2 -a1 1 ....... 0]
This implies that
T3 = CA2 - (a12 - a2) T1 + a1T2
substitute for T1 and T2 and you get a relation for T3. Again multiply TAT-1 on the LHS to get relations for T4 and higher rows.
[Back to Top]
-
What about controllability for multiple inputs and observability for multiple outputs? Do the same results hold in those cases?
Submitted by: atiwari
Submitted on: October 29, 2003
Identifier:
L5.2
Yes, all the results stated in the lecture about eigenvalue placement of L and K matrices, hold in the general case of multiple inputs and outputs.
That is to say
The eigen values of A + BK are freely assignable, by choosing K of appropriate dimensions, iff the pair (A,B) is controllable.
and similarly for A - LC and observability case.
However note that the proof for the multiple input and output case was not covered in the lecture. If you are interested, the proof is given in "A Course in Robust Control Theory - Paganini and Dullerud". I own a copy of the book which I am willing to lend it to you to look at the proofs. Email me at atiwari@caltech.edu if you need the book.
[Back to Top]
-
In HW5, can we use SI units instead of those given?
Submitted by: demetri
Submitted on: November 4, 2003
Identifier:
H5
Although you are welcome to work in whatever units you please (i.e. internal unit conversions in your models), your final answers should be in the units given (i.e. invert any conversions at the end).
[Back to Top]
-
In problem 2 what is the reference input?
Submitted by: demetri
Submitted on: November 4, 2003
Identifier:
H5
This is part of the modeling problem. Recall that a reference input is the quantity which we wish to track. For example, the desired temperature on your thermostat is the reference input. Hopefully this will make it more clear.
[Back to Top]
-
What do you mean by "roll off" in problem 4? How do we calculate the frequency at which this occurs?
Submitted by: waydo
Submitted on: November 6, 2003
Identifier:
H5
When drawing the Bode plot, virtually all systems will have a range of frequencies where the "interesting" stuff happens (resonant peaks, relatively high gain, etc) followed by a steady decrease in gain (linear when plotted on the log-log scale with a slope that depends on the number of poles and zeros of the system) for all higher frequencies. The point at where this begins to occur is sometimes called the rolloff frequency or break point. For an underdamped second order system, you should see a resonant peak followed by the steady decrease in gain; for such a system the resonant peak is where rolloff begins. For an overdamped system or a first order system, there will generally be a long stretch of fairly constant gain that begins to roll off fairly suddenly at a particular frequency. For a simple (first or second order) system this rolloff begins at about the frequency of the pole(s).
I would recommend picking some numbers for b_1 and b_2 that correspond to over- and underdamped and generating Bode plots using MATLAB to get a feel for this before doing your hand sketches. Also look at Franklin and Powell, Chapter 6 (I think - my copy is not the latest edition) for an excellent description of how to generate Bode plots by hand.
[Back to Top]
-
In problem 2, part c how does the controller relate to the system dynamics?
Submitted by: mreiser
Submitted on: November 7, 2003
Identifier:
H5
We should have been explicit about this, y_c, the output of the controller is simply the input, u_e, to our system.
[Back to Top]
-
How do we deal with the hill force in problem 2 HW5?
Submitted by: demetri
Submitted on: November 8, 2003
Identifier:
H5
This seems to have been a major source of confusion. The issue at hand is understanding transfer functions between particular _pairs_ of signals. For example, we ask you to calculate the transfer function from the command input to the system output. Such a calculation should be done assuming all other inputs (including disturbances) are zero.
Of course, you could also calculate a transfer function from the disturbance to the output, but this is a distinct quantity. Whenever we ask for a transfer function, we specify the two signals that it relates.
[Back to Top]
-
What is the value of Kp in problem 2, part b
Submitted by: atiwari
Submitted on: November 9, 2003
Identifier:
H5
Use the same value as given in problem 2, part d
Kp = 500
[Back to Top]
-
What are the subscripts in L(s) = n?(s)/d?(s)
Submitted by: atiwari
Submitted on: November 12, 2003
Identifier:
L6.2
All the subscripts are L.
L(s) = nL(s)/dL(s)
[Back to Top]
-
What does 20dB/decade mean?
Submitted by: demetri
Submitted on: November 13, 2003
Identifier:
L6.2
Recall that the magnitude part of the Bode plot is shown on a special logarithmic scale called the deciBel scale. Specifically, we plot 20 times the base-10 logarithm of the function of interest.
Now, on a base-10 logarithmic plot, each unit distance on the horizontal axis corresponds to a power of ten. I.e., the x-axis looks like 0.1, 1, 10, 100, etc. Each such unit is called a decade.
So, when we say that a plot has a slope of 20dB/decade, we mean that in each decade unit the plot drops (or increases, as the case may be) 20 dB.
[Back to Top]
-
Please elaborate on time delay.
Submitted by: demetri
Submitted on: November 13, 2003
Identifier:
L6.2
Time delay is a very common source of trouble in practical control engineering, and it is no small advantage that it can be incroporated directly into frequency-domain stability analysis. The stability implication of time-delay in a feedback system should be clear: attempting to use information from the past to control the present will certainly be harder than using current information.
Time delays can arise in models from two main sources. First, one can actually have signal propagation delays. A traditonal example in which this occurs is flow-rate control in chemical processing. Because of the long lengths of pipe, the control action of modulating a valve takes time to propagate to the reservoir into which the flow dumps (this delay is roughly inversely proportional to the flow rate, so it is also a nonlinear effect, making it particularly nasty). Of course, the new wave of control applications in networking and networked systems offers a slew of problems in which time delay is important.
A second, and perhaps more subtle source of time delay is in "fast unmodeled dynamics". Physical sensors and actuators are themselves dynamic elements, although high-quality devices will typically be designed so as to minimize their influence on overall system performance. Consider a simple DC motor: its inertia will cause some delay between the application of a voltage and the settling to the corresponding steady-state speed.
Now, as control engineers, we certainly have the option of modeling the actuator and sensor dynamics explicitly, but we pay a (perhaps) heavy price in adding additional states to our system (equivalently, obtaining higher-order polynomials in the transfer function). A very common practical alternative to this is to model the sensor/actuator dynamics as being first-order with a known time constant which is significantly smaller than the dominant time-scales in the control process (for example, a small DC motor will typically respond much faster than the robot arm which it manipulates). In this case, we simply assume that signals propagate through the motor perfectly, but with some fixed delay. This is a _MODELING_ choice that we make to trade simplicity against accuracy, but it is often a good trade. In particular, having simple transfer functions allows us to use Bode/Nyquist arguments with much greater ease.
[Back to Top]
-
What is Td in HW6, #3?
Submitted by: waydo
Submitted on: November 14, 2003
Identifier:
H6
Td is the same as τ (tau) in the earlier expression for time delay.
[Back to Top]
-
Can you explain the Final Value Theorem again?
Submitted by: waydo
Submitted on: November 17, 2003
Identifier:
L6.2
, H6
For a signal f(t) with Laplace transform F(s), the Final Value Theorem says that
lim(t->infinity) f(t) = lim(s->0) s F(s)
Note that this is only true if F(s) has no poles in the right-half-plane, which makes sense - this is when f(t) will have a well-defined asymptotic value. Be careful - if the system is unstable (or marginally stable), the Final Value Theorem will still give you an answer, but it will be incorrect.
With this in mind, if you have plant P(s) and controller C(s), then your closed-loop transfer function is P(s)C(s)/(1 + P(s)C(s)). The Laplace transform of a step input 1(t) is 1/s. Applying the Final Value Theorem (calling the output y(t)) we have
lim(t->infinity) y(t) = lim(s->0) s (1/s) P(s)C(s)/(1 + P(s)C(s)).
[Back to Top]
-
On page 6 of the handout, what is the "dec" in "dB/dec"?
Submitted by: waydo
Submitted on: November 17, 2003
Identifier:
L8.1
The "dec" stands for "decade" - a decade is a factor of 10 in frequency.
[Back to Top]
-
On page 13 of the handout, how can I check "phase lead peaks at 10x of zero location"?
Submitted by: waydo
Submitted on: November 17, 2003
Identifier:
L8.1
You should note that this is only true of this particular lead compensator, not of lead compensation in general. In general, for a lead compensator C(s) = (s+a)/(s+b), the maximum phase lead is at w = sqrt(a*b). You can see this by substituting s = j*w, calculating the phase of the resulting transfer function, and finding the maximum.
[Back to Top]
-
On HW6, #3, the pade approximation listed doesn't match what MATLAB says. What gives?
Submitted by: waydo
Submitted on: November 17, 2003
Identifier:
H6
MATLAB's pade function scales the numerator and denominator such that the coefficient of s^n is 1 for an nth order approximation, while on the HW it is scales so the coefficient of s^0 is 1. The only difference between MATLAB and the HW is then multiplying the numerator and the denominator by a constant factor, so the two transfer functions are equivalent.
[Back to Top]
-
In question 1 a, the tracking error does not seem satisifed at DC, so what should I do?
Submitted by: mreiser
Submitted on: November 21, 2003
Identifier:
H7
Instead of showing the maximum freqeuncy for which the closed loop system satisfies the tracking spec., please just show us the frequency range over which tracking occurs with less than 5% error.
[Back to Top]
-
In HW7, problem 2(a), should we generate the Bode plot for the plant of the plant + controller?
Submitted by: waydo
Submitted on: November 23, 2003
Identifier:
H7
For part (a) of this problem, you should generate the Bode plot for the plant P only and draw in the constraints on L (so they will be violated in some places). Then in part (b) you should design a compensator so that L meets the specifications.
[Back to Top]
-
Hints, comments on number 3
Submitted by: mreiser
Submitted on: November 23, 2003
Identifier:
H7
Do I need to use a lead compensator?
for part (a) many of you have been interpreting this problem to mean: keeping the lead compensator, how can I choose K, a, and b to get robust stability and as much performance as possible for the nominal plant. This interpretation is fine, and you will probably not be able to satisfy all 5, but do your best. Alternatively, if you choose to use a higher order controller, this is fine too. You should certainly try a higher order controller for part (b). Adding poles and zeros in sisotool is a nice way to do this.
For part (c), what do I do for the time delay?
Use Pade approxmation, second order is fine.
[Back to Top]
-
In problem 2, how do I come up with open loop constraints based on the third and fourth specifications?
Submitted by: mreiser
Submitted on: November 23, 2003
Identifier:
H7
This can be done, but we have not covered the necessary material in class. If you want to try it, approximate the system as second order and see if you can relate max overshoot and max gain to the phase margin. You should definitely verify that these two conditions are met, by plotting the step response and closed loop bode plot. Keep in mind that the max overshoot is related to relative stability, which is related to phase margin. Just make sure that your phase margin is not too small or else your overshoot will suffer.
[Back to Top]
-
What happens if a or L are negative in Zeigler-Nichols PID tuning?
Submitted by: waydo
Submitted on: November 26, 2003
Identifier:
L9.2
In this case some of the gains will turn out to be negative, which may correspond to your controller having RHP poles or zeros, which is bad. A system with negative a or L is an example of when Zeigler-Nichols tuning may not work.
[Back to Top]
-
Is there a good reference for special characters in HTML?
Submitted by: lars
Submitted on: November 29, 2003
Identifier:
L0.0
Yes, you can find it at www.htmlhelp.com.
[Back to Top]
-
Can the homework solutions be posted earlier?
Submitted by: lars
Submitted on: November 29, 2003
Identifier:
H0
[...so that we can refer to them while doing the next problem set].
This is a good idea. In the future, we'll try to post the homework solutions by the Friday after the Monday they're due.
[Back to Top]
-
What is meant by "phase lag" for HW8, #2a?
Submitted by: waydo
Submitted on: November 30, 2003
Identifier:
H8
The phase lag is simply the phase portion of the Bode plot. For this problem, you should be able to find a transfer function whose magnitude plot is the same as for the given transfer function but which has lower phase everywhere.
[Back to Top]
-
Is the log in Bode integral formula log10 or loge ?
Submitted by: atiwari
Submitted on: November 30, 2003
Identifier:
L9.1
, H8
It is loge (the natural log)
[Back to Top]
-
Suppose P(jw) = a + jb, and I compute phase as arctan(b/a) and get -30 deg, how do I know if this is a lag of 30 deg, or a lead of 330 deg?
Submitted by: mreiser
Submitted on: December 1, 2003
Identifier:
L10.1
We typically are interested in phase lag, because we expect the systems we are dealing with to be causal. Causality means that outputs of a system depend only on current and previous inputs (and states) of the system, and not on future inputs. Thus a phase lead would correspond to a system whose output leads the input, and thus is non-causal. If we think of one point on the Bode plot as the result of driving a system with a sinusoidal input at a fixed frequnecy, then the input is periodic (and so is the ouput for a linear system), and in this case we prefer to look at phase lead as a convention used because of the above reason.
[Back to Top]
-
Is the closed loop transfer function the same as Hyr?
Submitted by: lars
Submitted on: December 1, 2003
Identifier:
L10.1
Yes, we call Hyr the closed loop transfer function.
Consider the case where we have a feedback control system with a plant P, compensator C and some delay or sensor effect G.
The transfer function in this case (which we also call the closed loop TF) is Hyr = PC / (1 + PCG). This can be checked through careful block diagram algebra.
In general, for a single negative feedback loop, the closed loop (r to y) transfer function is F/(1+L), where F is the forward path transfer function, and L is the (open) loop transfer function, which includes any blocks on the feedback path.
NB: The initial response posted to this question was erroneous.
[Back to Top]
-
What properties does L need to satisfy Bode's integral formula?
Submitted by: lars
Submitted on: December 3, 2003
Identifier:
L10.1
L needs to be of relative degree (degree of the denominator minus degree of numerator) greater than or equal to 2.
[Back to Top]
-
Is the text by FPE allowed to be used on the final?
Submitted by: lars
Submitted on: December 8, 2003
Identifier:
FN
No, Franklin, Powell and Emami-Naeini was intentionally left off of the list of texts that you are allowed to use on the final, as not all students have access to it.
You are welcome to take handwritten notes from FPE for use on the final if you find them useful.
[Back to Top]
|