Hello! Welcome back to our course on multivariable control.
In our last session, we established a crucial first step: analyzing whether a MIMO system can be decoupled using static state feedback. We learned to calculate the decoupling matrix and check if it's nonsingular. This answers the "if possible" part of today's learning outcome.
Now, we'll tackle the main event: Design a decoupling state feedback control law for a given system, if possible.
This lesson will equip you with the formulas and procedure to compute the state feedback matrices that not only decouple the system but also place the closed-loop poles at desired locations to meet performance specifications.
A Quick Recap and Notation Update
Remember the general form of the state feedback law we introduced for decoupling: . Today, we'll adopt a slightly different but equivalent notation that is common in literature, including in the resource we'll be using:
Here's how they map out:
- The state feedback matrix is now (instead of ).
- The command input vector is (for reference, instead of ).
- The input gain matrix is (instead of ).
This is purely a change in symbols, but it's important to be aware of it. The goal remains the same: choose and so that the transfer function from the new command input to the system output is diagonal.
We will also use the term order difference , which is identical to what we called the relative degree in the last lesson. It's the number of times we must differentiate output before an input appears.
The Decoupling Controller Design
The core of designing a decoupling controller involves finding the correct matrices and . The method we'll use is a powerful technique developed by Falb and Wolovich, which allows for simultaneous decoupling and pole placement.
This is highly relevant to your work with the rotary inverted pendulum, where you'll want to control, for instance, the arm's angle and the pendulum's angle independently, while also ensuring the system is stable and responds quickly without excessive overshoot.
The following paper provides a concise and practical guide to this design method, using a 2-DOF helicopter as an example—an excellent mechanical analogue for your project.
state feedback decoupling control of a 2dof helicopter ...
Let's study the core methodology from the paper 'State Feedback Decoupling Control of a 2DOF Helicopter'. This will give us the direct formulas we need.
Please read Section 3, 'Decoupling Controller Design'. Start from the beginning of the section and read up to (but not including) the displayed F and K matrices in equations (19) and (20). Focus on understanding: The difference between the simple decoupling in Theorem 1 and the pole placement method in Theorem 2. How the desired pole locations are incorporated via the coefficients q_iv. The definition of the new matrix C** and the final formulas for K and F given in (18).
Synthesizing the Falb-Wolovich Method
As you read, Theorem 1 presents a way to decouple the system into a series of pure integrators. While this achieves decoupling, it doesn't allow for pole placement, which is critical for performance. Theorem 2 provides the complete solution we need.
Let's break down the design procedure into clear steps.
Step 1: Choose Desired Pole Locations
For each of the input-output channels, you decide where you want to place the closed-loop poles to achieve the desired dynamic response (e.g., settling time, damping ratio).
- For output , you can place poles.
- From your chosen poles , you form the desired characteristic polynomial for that channel: The coefficients are now known values that define your desired dynamics.
Step 2: Construct the Necessary Matrices
You'll need three key matrices: , , and a diagonal gain matrix for the feedforward term.
-
The Decoupling Matrix, :
You already know this from our last lesson. Its -th row is . -
The Dynamic Matrix, :
This matrix, defined in equation (17) of the paper, incorporates your desired dynamics through the coefficients. Its -th row is:Essentially, for each output, you're creating a new composite row vector that combines the system's natural dynamics () with the desired ones (the weighted sum of ).
-
The Input Gain Matrix, :
This is a simple diagonal matrix constructed from the constant terms of your desired characteristic polynomials.
Step 3: Calculate the Controller Matrices and
With the preparatory work done, calculating the controller matrices is straightforward using the formulas from equation (18):
With these matrices, the control law will decouple the system, and the transfer function from to will be:
Notice that the steady-state gain (at ) is , ensuring that the output tracks the reference with no scaling error at steady state.
Worked Example: Designing the Controller
Let's use the same system from our previous lesson, for which we already confirmed decoupling is possible.
Last time, we found , , and , which means . This simplifies the math, letting us focus on the process.
Step 1: Choose Desired Poles
- Channel 1 (): We can place two poles. Let's aim for a critically damped response with poles at .
The characteristic polynomial is .
So, and . - Channel 2 (): We can place one pole. Let's place it at .
The characteristic polynomial is .
So, .
Step 2: Construct
-
Row 1 of :
We need the components:So, .
-
Row 2 of :
We need the components:So, .
Combining the rows gives:
Step 3: Calculate and
- Calculate :
- Calculate :
First, build .
We have successfully designed our decoupling controller.
Test your understanding!
Suppose for the same system, you wanted the first channel to be faster. You choose new poles at , while keeping the second channel's pole at . Which of the final controller matrices, or , would change? And what would its new value be?
Show answer
Both and would change because the coefficients for the first channel's polynomial have changed.
The new polynomial for channel 1 is .
This means and . The coefficients for channel 2 are unchanged.
The new first row of would be:
.
The second row remains .
So, the new matrix is:
The new matrix is .
So, the new matrix is:
Conclusion
Today we moved from theory to practice, learning a concrete method for designing a controller that achieves both decoupling and pole placement.
Key Takeaways:
- The Falb-Wolovich method provides a systematic way to design a decoupling state feedback controller of the form .
- The design process starts with choosing desired closed-loop poles for each independent channel, which defines the coefficients of your target characteristic polynomials ().
- These coefficients are used to construct the dynamic matrix .
- The final controller matrices are calculated with the formulas and .
- This method guarantees not only decoupling and pole placement but also unity steady-state gain for reference tracking.
Preview of the Next Lesson:
We've now covered a significant portion of MIMO control design, from modeling to pole placement and decoupling. We've designed controllers that can theoretically place poles anywhere we want. However, making a system respond very quickly can require enormous control effort (e.g., massive motor torques or voltages). How do we balance performance with practicality?
In our next lesson, we will begin exploring optimal control with the Linear Quadratic Regulator (LQR). LQR provides a powerful framework to design a state feedback controller that optimally balances state regulation (performance) against control effort (cost).