Difference between revisions of "ControlTheory"

From PaparazziUAV
Jump to navigation Jump to search
Line 27: Line 27:
[[Image:se_ex2.png|1024px]]
[[Image:se_ex2.png|1024px]]


Yeah !  We reduced noise on our vertical speed estimate to 0.15m/s  
Yeah !  We reduced noise on our vertical speed estimate to 6cm/s. Did we achieve something interesting when doing so ? sadly no. As shown on the next plot






--[[User:Poine|Poine]] 14:43, 13 November 2009 (CET)
--[[User:Poine|Poine]] 14:43, 13 November 2009 (CET)

Revision as of 08:32, 13 November 2009

Dynamic Systems

State Estimation

In order to be able to control a vehicle, ie to steer it along a trajectory, a first prerequisite is to know its state. Typically, sensors are used to obtain this information. Sadly, sensors won't give you a straightforward knowledge of the state of the vehicle. The information is likely to be partial ( we have an altitude sensor, but nothing to measure vertical speed) and will also likely contain "errors" (bias, noise, latency, etc... ). You can always get more sensors and/or better sensors, but there's no such thing as a perfect sensor. The process of reconstructing the state of a dynamic system using a number of incomplete and erroneous measurements is called state estimation or state observation.

Let's start with an example :

We are interested in controlling the altitude of a vehicle. We measure this altitude using for example a barometer. As we will see later, the vertical speed of the vehicle is a mandatory information in order to be able to achieve a satisfactory control. So, how do we obtain the vertical speed information ?

  • Direct Differentiation

A first idea would be to take the difference between two consecutive altitude measurements and divide that quantity by the duration between the two measurements. This is indeed a bad idea. Let's see one of the reasons why.

Our barometer being a real world instrument, it will output noisy measurements ( think electrical noise, etc...). Let's use a little simulation to see what happens when you differentiate noisy measurements:

Se ex1.png

The noise gets amplified by the division by the sampling interval ( and we did not even introduce inaccuracy in that sampling interval ). In the above simulation, starting with a very good sensor having 1cm noise standard deviation and sampling at 100Hz, we obtain an estimate for the vertical speed having 1.4m of standard deviation. Pretty unusable...

  • Let's filter that noise out

A second idea would be to attempt and filter that noise. Let's run for example our estimate through a first order low pass filter. Here is the result of the [[media:se_ex2.sce|simulation]

Se ex2.png

Yeah ! We reduced noise on our vertical speed estimate to 6cm/s. Did we achieve something interesting when doing so ? sadly no. As shown on the next plot


--Poine 14:43, 13 November 2009 (CET)