# Control of Nonlinear Cascaded systems

For control of cascaded linearized system, my objective is to design a stabilizing controller. For stability and performance analysis of such structures, I have been trying to find a book where such problems, even at a much simplified level, are treated but failed to do so. I read through one of the questions already asked (Asymptotic stability of cascade control) but the approaches described are, let's say, not so relevant in my case, since for my linearized system, I do not need the Lyapunov approach to investigate stability. Although I would want to prove it for the complete nonlinear system rather than the linearized system. Any reference to a book that can give insights into the control of general cascaded systems (including nonlinear) would be appreciated.

I think it may help to find out what prompted me to ask this question. As discussed my objective is to stabilize a system for which I decided to adopt a cascaded approach i.e. I divide my system into two loops - inner and outer. Since the system pertains to a vehicle, the outer controller performs the path planning and generates set point for the inner controller which performs the steering control on the vehicle. Since its a linear system, I write the state-space of the entire cascaded system which is controllable and hence get a static state feedback ensuring asymptotic stability. The problem is this does not translate in simulation.

Note that the controllers are not individually designed. Using the property of controllability which both loops have, I assume a static state feedback for both loops and assign them values only based on the stability requirements of the complete cascaded system. Its hard to figure out what went wrong!

The image is a general overview to understand what I mean by a cascaded structure.

Note: The position of the block $E$ may vary!

• What is your question? From the sounds of it, you are describing a traditional guidance, navigation and control (GNC) loop, used in virtually every vehicle control system for decades. Are you just looking for a book on the topic? May 30 '16 at 16:43
• @CortAmmon Hope the image helps. I am talking about general cascaded control...where the ourter loop generates reference for the inner loop
– Zero
May 30 '16 at 17:28
• Yeah, that is pretty much a perfect image of the GNC loop. People literally spend their entire lives developing these =) The only difference is that there is usually a "Nav" part of the loop on the bottom that translates the data from the sensors into an estimate of the hidden state of the machine. May 30 '16 at 17:48
• @CortAmmon Could you upload an image or refer to it so that I can have a look...may be different systems but i can pick up some design points ;) Thanks!
– Zero
May 30 '16 at 18:16
• cbaerospace.com.au/wp-content/uploads/2014/02/gnac.png is an example of the pattern. May 30 '16 at 19:22

If by "cascaded control" you mean having one loop inside another (what I've always heard referred to as "sequential loop closure") the typical way to do this is to make the inner loops much faster than the outer loops so the outer loops see the inner loops as an essentially unity gain transfer function. The overall effect is then to decompose a MIMO control problem into a series of SISO control problems. This is a common approach used in aircraft autopilots all the time and my best examples from the literature would be the "applied examples" of Blakelock's "Automatic Control of Aircraft and Missiles" or Stevens & Lewis' "Aircraft Simulation and Control". This is sort of a result of my area of application though, I'm sure someone who works in a different area would have a different reference...

Regardless of the application here's how I would tackle the problem, step by step:

(1) Clearly define the state you are going to decompose, as well as the model for the state equations. If they are nonlinear, linearize them about a suitable point where the controller will operate.

(2) Define a control objective for the overall state. If this is not possible, define a control objective for what you think will be the outermost loop variables and work inward.

(3) Try to find an approximation, perhaps based on the region you want to operate in, which can be used to decouple the state variables. Looking at eigenvectors of the state space matrix $A$ can help a lot here. This way you can approximate the linearized plant as an effective plant with all of the TFs SISO (diagonal TF matrix).

(4) Based on the decoupling, write down the loop topology with the relevant control objectives and SISO TFs. Use SISO linear theory to decide on suitable forms for the compensators to achieve the control objectives.

(5) Design each loop (from the innermost outward) using the typical SISO linear control approach (e.g. as in Ogata, Astrom & Murray, any intro controls book) making sure that the time constant for each loop is 3-5 times faster than that of the loop immediately enclosing it.

(6) Test the controller design by running it with a full, nonlinear simulation of the plant model. If you have done everything well, the nonlinear system should be within the linear range, so you don't need to worry about proving nonlinear stability (no one actually does in the real world ;-) )

Some tips I have are to keep an eye on how the complex poles migrate as you close successive loops and to make sure there's as little ringing as possible in the inner loops--poles tend to migrate outward and ringing in the inner loops easily turns into instability in the outer loops. All the typical warnings about pole-zero cancellations, keeping an eye on actuator saturation limits, etc.

• Thank you for the response...I'll check the above mentioned points in my simulation. You also refer to something which I was curious about...I want to read more about the relation between the time constants for successive loops.
– Zero
May 30 '16 at 16:42
• I don't know if there's any formal literature on this. The idea is just to make the inner TFs unity-gain by the time the outer loop sees it--as an example take two 2nd-order TFs and connect them in this way. Look at the difference in responses as you vary the timeconstants for each. The 3-5 factor is a rule-of-thumb most aero people use. You can pump it up to 10 if you really want to be zealous.
– JMJ
May 30 '16 at 16:53
• This procedure is also known as "minor loop" design -- maybe the 'hot' application of this currently is in power electronic convertors. en.wikipedia.org/wiki/Minor_loop_feedback
– John
Jun 25 '16 at 3:26
• @john the technique is quite widespread. This is how aircraft autopilots are designed, for instance. Unfortunately most controls books sint cover it!
– JMJ
Jun 25 '16 at 3:34