# Active suspension with accelerometers and displacement observer/estimator problem

I faced a logical dilemma, while designing and simulating Active suspension system.

This is what I have planned:

1. My system will be controlling actuators of a vehicle, using PI.
2. It is 2nd order mechanical system with mass-spring-damper-actuator.
3. In Matlab and Simulink, I am using Transfer Functions for analysis (to manage overshoot, settling time, etc.) and State Space representation (to design observer/estimator).
4. Sensors used are ONLY accelerometers, that will produce acceleration of the suspension displacement. However, I require a displacement, which will be Observed/Estimated by designed estimator and fed back to compare with the reference point.
5. I cannot use double integration as drift occurs.
6. I have 2 states from 2nd order system. (x1 = displacement and x2 = velocity)
7. We are dealing with LTI SISO system.

My mechanical system matrices are as follows:

A = [0 1; (-ks/ms) (-bs/ms)];
B = [0; (1/ms)];
C = [1 0];
D = [0];


Problem:

How can I use an Observer/Estimator states to estimate the suspension displacement (in Simulink) from the acceleration that is provided from the accelerometer, if in my opinion, acceleration state does not exist?

Let me know, If you would like to see some of my code or derivations, but I think this is one of the Logical Understanding problems, so any clarification will help to get me back on track.

• This post feels a bit widespread. I am not familiar with control-theory, but surely there is a governing (system of) equation(s) that the matrices are used in relation with? Providing that might be helpful. There are many questions being posed (and several others that are implied but not asked directly). You might try breaking out your actual questions into separate SE questions. Then you could, as necessary, provide links to the others depending on if/how they are related. Finally, it isn't entirely clear which question is most important to you. Start by phrasing that one clearly. – wwarriner Apr 21 '16 at 21:58
• I will leave one of them only then. Thanks for pointing that out. – Aurimas Apr 21 '16 at 22:01
• Welcome to engineering.SE. Do you want to simulate the system or actuate the physical system? – Karlo Apr 22 '16 at 7:41
• I would say both :) I am actuating the car suspension in real life. So I believe that means actuating the physical system. Why both? Because I need to run Matlab/Simulink simulation to see some proof. My main problem is (for me to understand) how to connect two things together for simulation and real life case: I can Scope the suspension displacement in Simulation, but in Real Life I could only see the Acceleration from the accelerometer. (that is also why I want to use an observer/estimator - to estimate displacement of suspension) – Aurimas Apr 22 '16 at 22:29
• Could you help me with simulation of system actuation? And then I will deal with the physical actuation. – Aurimas May 1 '16 at 18:17

## 1 Answer

If you can apply a sinusoidal displacement to the suspension and measure the signal from the accelerometer, you can avoid some of the problems with drift in the accelerometer. You can filter the accelerometer signal to remove low frequencies, because the signal you want it the sinusoidal one. Then integrate twice to get displacement.

$$a=C\sin{\omega t}$$ $$v=-C \omega \cos{\omega t}$$ $$d=-C\omega^2 \sin{\omega t}$$

Then you have the magnitude of your displacement with the drift removed by filtering it out.

• This is decent answer and I will apply it for some drift rejection. I have obtained the transfer function of my accelerometer, so this is doable. However, I would like to have an estimator (in state space modelling) as well, to add extra assurance on data I get. Also, this estimator will allow me to expand later, since dealing in state space. Thanks for participating and improving my understanding in this matter. – Aurimas Apr 30 '16 at 23:03