Hi to all!!
Guys i have a problem. I have estimated the first derivative(called x_hat_d
ot) of position with a H infinity observer. Now i want obtain the second de

rivative, always with H observer. If connect "x_hat_dot" to another observe
r, this estimate the 2nd derivative (x_hat_dot_dot) ??
Thanks to all!

On Fri, 06 Jun 2014 09:14:05 -0700, stefano.cap91 wrote:

You need to tell us more.
If by observer you mean a filter that takes the plant dynamics and drive
into account, and if the velocity (1st derivative) is a state, then your
best estimate of the acceleration (2nd derivative) will probably come
from building one observer that coughs up both.
A better estimate would happen if you have a decent model of whatever
process causes the acceleration -- derivative operations inherently
amplify noise in your data, so you really want to filter them. But the
more you filter your derivatives, the more you're losing real information
along with the noise. Taking known influences on acceleration and
velocity (such as drive to a motor) into account improves your estimate,
as does taking the anticipated dynamic behavior of the signals in
question into account.

e
Then, i have a vector that contains 3602 values of position of a motor. The
se values are noisy. I must estimate velocity and acceleration with H obser
ver. This is unclear to me: the state is the velocity, not the position rig
ht?? Because, from simulation of matlab, the state follows the position and
i thought that it wasn't the first derivative. As you say, i need only one
observer, correctly.

On Fri, 06 Jun 2014 13:35:23 -0700, stefano.cap91 wrote:

I think you're a bit unclear on the meaning of the word "state" in a
dynamic systems context.
"State", here, means the output value of any integrator in the system
(speaking more realistically, in the system model). So if you use two
integrators to model your system, then your system model has two states;
if you use three integrators to model your system, then your system model
has three states, etc.
As an example, a common simplified model of a DC motor is one that has a
controlled torque that drives a motor armature and whatever is attached
to it. The resulting model has two states: position and velocity.
So to answer your question about what the state is -- it is the position
_and_ the velocity.
Note that if you stop at those two states, you cannot build an "observer"
in the traditional state-space sense for the acceleration, because an
observer estimates states, and acceleration isn't a state in your model.
If you want to use a formal observer to estimate acceleration, you need
to come up with a model that has acceleration as a state, and you need to
know how the acceleration evolves over time due to drive, external
forces, etc.
Knowing all that is quite a reach, unless you've really analyzed the hell
out of the mechanical system. So you can fudge it, and just assume that
the acceleration is the result of some simple 1st-order lowpass process
from the motor drive and external forces. This has the disadvantage of
being a wild-ass guess, but it has the advantage of giving you a
structure within which you can actually build your observer.

hese values are noisy. I must estimate velocity and acceleration with H obs
erver. This is unclear to me: the state is the velocity, not the position r
ight?? Because, from simulation of matlab, the state follows the position a
nd i thought that it wasn't the first derivative. As you say, i need only o
ne observer, correctly.
Is this a vector of position as a function of time? Do you also have the
control signal as a function of time?
From that you should be able to do a system identification to estimate mode
l parameters. This is the basic first steps of making an auto tuner. You
should be estimate a smooth acceleration from the data.
Below is a link to a very old example for a hydraulic system with coarse po
sition feed back. The positions are quantized so calculating the velocity
by the difference in position is noisy and calculating the acceleration fr
om the position feedback would be meaningless.
By estimating a model on can do a pretty good job of estimating the velocit
y and acceleration. On top of that you now have the parameters necessary f
or the transition matrix that is necessary for implementing an observer.
http://deltamotion.com/peter/Mathcad/Mathcad%20-%20Sysid%20T1P2%20ODE.pdf
I know I have a Luenberg Observer example around somewhere. The big challe
nge is doing the system identification for the transition matrix parameters
.
Peter Nachtwey

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here.
All logos and trade names are the property of their respective owners.