# Delay in a state-space system...

• Mar 11th 2011, 03:33 AM
Guffmeister
Delay in a state-space system...
Apologies if this is in the incorrect forum, it seemed the most appropriate from the choices given.

I have a state-space equation of the form

$\displaystyle \dot{x} = Ax + Bu + Ew$

where $\displaystyle x \in \mathbb{R}^n$ are my states, $\displaystyle u \in \mathbb{R}^m$ are my user-defined controls, and $\displaystyle w \in \mathbb{R}^p$ are disturbances to the system, and $\displaystyle A$, $\displaystyle B$, and $\displaystyle C$ are appropriately sized matrices.

The problem I have is that certain entries of $\displaystyle w$ are sort of related to others, in that, some terms in the $\displaystyle w$ vector are the same as other terms, but at some time later...so essentially I have a delay in the system, but only on certain elements of $\displaystyle w$. I can essentially split the $\displaystyle w$ vector into two groups; one group being the disturbance itself, and the other being the same disturbance at some time later.

Is there a way I can include this delay into the system, so that it's of the same form as the first equation I wrote? I can obviously enforce this delay when solving the equation numerically, but I ideally need the matrices to be of this form so that I can use it later for control synthesis.

Any ideas would be welcome.
• Mar 11th 2011, 12:09 PM
Phugoid
I'm not sure what you have would be called a 'delay', would it? What you are saying is that elements of $\displaystyle w$ are predictions of what the disturbance will be in future time points, and so the derivatives of the system are affected by what's going to be happening in the future.

Unless, of course, I have wildly misunderstood.
• Mar 11th 2011, 02:15 PM
Guffmeister
I'm not sure. I may not have described it properly.

One example would be is if you imagine a car driving over a bump. The disturbances would be the bump acting on the wheels. However, the bumps on the wheels are related. Wherever hits the front wheel will hit the back wheel at some time later.

Ideally I wanted to include this additional piece of information, rather than just keep the disturbance inputs separate, to design a better controller. However, the very nature of what I'm suggesting appears to be nonlinear, and unsuitable for the linear control methods I'm proposing. I was just wondering if there was a trick to include it.
• Mar 11th 2011, 03:44 PM
Phugoid
Quote:

Originally Posted by Guffmeister
I'm not sure. I may not have described it properly.

One example would be is if you imagine a car driving over a bump. The disturbances would be the bump acting on the wheels. However, the bumps on the wheels are related. Wherever hits the front wheel will hit the back wheel at some time later.

Ideally I wanted to include this additional piece of information, rather than just keep the disturbance inputs separate, to design a better controller. However, the very nature of what I'm suggesting appears to be nonlinear, and unsuitable for the linear control methods I'm proposing. I was just wondering if there was a trick to include it.

Yes, but with the car, the vehicle's dynamics will not feel the effect of the back wheel hitting the bump until this event has happened.

The time derivative of your system is being affected by an event which is yet to occur, which for all intents and purposes isn't applicable to any real-world systems.

Sometimes linear control methods apply very well to systems with non-linear behaviour. I myself have certainly used simple PID controllers to adequately autopilot the controls of nonlinear models of aircraft.

Out of interest, what is the physical system you are trying to model/control?
• Mar 11th 2011, 11:22 PM
Guffmeister
I'm sure you're right, but I'm not sure I understand.

I agree that the back wheel won't feel the effects of the bump until it hits it, which is why I want to include the delay. Going back to the car example, I'd have 4 disturbances (one for each wheel). What I want to do is reduce that to two (just the front wheels) but formulate the $\displaystyle E$ matrix above so that it delivers the inputs that hit the front wheel into the system dynamics some time later. I don't believe what I've proposed violates any problems with hitting something in the future, but rather, you've provided the problem with additional information about the system, and the way the disturbances act on it. Imagine you were driving a car, and drove into a huge bump in the road...if you had the time to react, and your objective was to drive as carefully as possible, surely your brain would tell you to slow the car down so that the back wheel doesn't hit the same bump so hard. Essentially you're adding feedforward control to the problem. I wanted to have this as an additional bit of information, so a control scheme could do a similar thought process when controlling the system, rather than just having all the disturbances independent.

I meant to comment on your name in my last post! I should have guessed you were somehow involved in aeronautics! In fact, the system above is looking at planes through gusts.
• Mar 12th 2011, 03:00 AM
Opalg
Quote:

Originally Posted by Guffmeister
Apologies if this is in the incorrect forum, it seemed the most appropriate from the choices given.

I have a state-space equation of the form

$\displaystyle \dot{x} = Ax + Bu + Ew$

where $\displaystyle x \in \mathbb{R}^n$ are my states, $\displaystyle u \in \mathbb{R}^m$ are my user-defined controls, and $\displaystyle w \in \mathbb{R}^p$ are disturbances to the system, and $\displaystyle A$, $\displaystyle B$, and $\displaystyle C$ are appropriately sized matrices.

The problem I have is that certain entries of $\displaystyle w$ are sort of related to others, in that, some terms in the $\displaystyle w$ vector are the same as other terms, but at some time later...so essentially I have a delay in the system, but only on certain elements of $\displaystyle w$. I can essentially split the $\displaystyle w$ vector into two groups; one group being the disturbance itself, and the other being the same disturbance at some time later.

Is there a way I can include this delay into the system, so that it's of the same form as the first equation I wrote? I can obviously enforce this delay when solving the equation numerically, but I ideally need the matrices to be of this form so that I can use it later for control synthesis.

Any ideas would be welcome.

If I understand this correctly, some of the coordinates of $\displaystyle w$ at time t are the same as other coordinates at some earlier time, so that for example the j-coordinate at time $\displaystyle t$ is the same as the i-coordinate at time $\displaystyle t-t_0$, where $\displaystyle t_0$ is fixed.

One way to handle this would be to remove all such earlier-time-dependent coordinates from w (so that w acts on a smaller dimensional space). Then use two different matrices to describe the instantaneous effect of w and the delayed effect of w. You would then get the equation in the form

$\displaystyle \dot{x}(t) = Ax(t) + Bu(t) + E_1w(t) + E_2w(t-t_0)$.

This is a subject I have never studied, but I believe there is a substantial literature on these delay-differential equations.
• Mar 12th 2011, 08:03 AM
Phugoid
Quote:

Originally Posted by Guffmeister
I meant to comment on your name in my last post! I should have guessed you were somehow involved in aeronautics! In fact, the system above is looking at planes through gusts.

Okay I think I understand what you mean now. Allow me to use an example and you can confirm if I'm right here.

So yo have $\displaystyle \dot{x} = Ax+Bu+Ew$.

Let's take a very simple case of the states being only the surge and heave of the vehicle, so $\displaystyle x = (u,v)^T$.

Then, you say we have four disturbances, so we can formulate the state space as so...

$\displaystyle \left( \begin{array}{ccc} \dot{u}(t) \\ \dot{v}(t) \end{array} \right) = \left( \begin{array}{ccc} A_{11} & A_{12} \\ A_{21} & A_{22} \end{array} \right) \left( \begin{array}{ccc} u(t) \\ v(t) \end{array} \right) + \left( \begin{array}{ccc} B_{11} & B_{12} \\ B_{21} & B_{22} \end{array} \right) \left( \begin{array}{ccc} \delta_r(t) \\ \delta_a(t) \end{array} \right) + \left( \begin{array}{cccc} E_{11} & E_{12} & E_{13} & E_{14} \\ E_{21} & E_{22} & E_{23} & E_{24} \end{array} \right)\left( \begin{array}{ccc} w_{1}(t) & \\ w_{2}(t) & \\ w_{3}(t) & \\ w_{4}(t) & \end{array} \right)$

But, you're saying that, for example $\displaystyle w_{3}(t) = w_{1}(t-\tau)$, $\displaystyle w_{4}(t) = w_{2}(t-\tau)$

Given that 2 disturbances are dependent on each other, you want to reformulate the matrix $\displaystyle E$ such that it extracts the same information, but from only two variables, i.e.

$\displaystyle \left( \begin{array}{cccc} E_{11} & E_{12} & E_{13} & E_{14} \\ E_{21} & E_{22} & E_{23} & E_{24} \end{array} \right)\left( \begin{array}{ccc} w_{1}(t) & \\ w_{2}(t) & \\ w_{3}(t) & \\ w_{4}(t) & \end{array} \right) = \left( \begin{array}{ccc} N_{11} & N_{12} \\ N_{21} & N_{22} \end{array} \right)\left( \begin{array}{ccc} w_{1}(t) & \\ w_{2}(t) & \end{array} \right)$

Am I right?

If this is indeed the case, it should be sufficient to solve the linear system that I have just presented, so long as you are able to write the delayed variables as functions of the original variable.

For example, expanding the first row....

$\displaystyle E_{11}w_1(t) + E_{12}w_2(t) + E_{13} w_3(t) + E_{14}w_4(t) = N_{11}w_1(t) + N_{12}w_2(t)$

$\displaystyle \therefore E_{11}w_1(t) + E_{12}w_2(t) + E_{13} w_1(t-\tau) + E_{14}w_2(t-\tau) = N_{11}w_1(t) + N_{12}w_2(t)$

From here, you will have to write $\displaystyle w_1(t-\tau) = f(w_1(t))$, and $\displaystyle w_2(t-\tau) = f(w_2(t))$. Then take $\displaystyle w_1(t)$ and $\displaystyle w_2(t)$ out as factors on the LHS and coefficients you get there are going to be equal to $\displaystyle N_{11}$ and $\displaystyle N_{12}$.

This should be straight forward if, for example, there is a pattern between the varios disturbances. But if they are random, as disturbances tend to be, then you'll have a bit more trouble writing the delayed variables as functis of the originals.
Does this help?

And indeed, aeronautics is my forte.
• Mar 15th 2011, 02:35 PM
Guffmeister