[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Paparazzi-devel] Quadrotor, Lia 1.1. + PWM actuators - adaptive thr

From: Michal Podhradsky
Subject: Re: [Paparazzi-devel] Quadrotor, Lia 1.1. + PWM actuators - adaptive thr
Date: Mon, 26 Nov 2012 16:34:16 -0700

Here are the figures:

On Mon, Nov 26, 2012 at 4:25 PM, Michal Podhradsky <address@hidden> wrote:
Hi Loïc,

I fixed the typo.

The main idea is to be able to tune VFF without a need to change the code, just the configuration file.
You're right, it depends on the quality of IMUyou are using, but also on the barometer as its measurements also propagate through the filter. Having high-grade GX3 IMU and MS5611 baro, we know that the measurements are more reliable than in the default case. So you lower the measurement noise covariance (in our case an order of magnitude). If you have a low-grade IMU, you would probably leave the default value or choose something between.
The process noise (ACCEL_NOISE) was set also too high, so we lowered it several orders of magnitude (means that our model is actually quite accurate).

Then you look at error covariance which converges if the filter is tuned properly. If it diverges (or converges very slowly) the process noise is too high. Covariance residual (in update_z_conf) has to converge too.

I currently don't have logs from actual flight yet, but even from ground testing you can see the difference:
Motors OFF - the quad sat on the ground and then was manually lifted. You can see smoother est_z in the "tuned" case.
Motors ON - quad sitting on the ground with motors on at around 14%. Even though the est_zdd has similar magnitude, you can see smoother est_z if the filter is tuned. Of course it is possible to tune it even further for smoother estimation.

Having a reliable est_z it is easier for the controller to maintain the desired altitude.

The adaptive estimator needs to be also tuned to the airframe. However, only parameters that need to be tuned here is the noise factor (lower for faster adaptation) and the initial estimation of the state (from our experience, more powerful airframe requires lower initial estimation). It might be also desirable to narrow the feedforward limits if it overshoots.

The adaptive thrust estimation works now.

For general Kalman filter theory see

On Sun, Nov 25, 2012 at 10:07 AM, Loic Drumettaz <address@hidden> wrote:

I just saw today's commits on the master branch concerning VFF and adaptative thrust calculation: GV_ADAPT_SYS_NOISE and VF_FLOAT_ACCEL_NOISE are now configurable. Could you explain how they can be tuned? I suppose they depend on z accelerometer noise?
Michal, does this setting solves the problem you had?

By the way, I think there is a little correction to make in vf_float.c, line 39: +#ifndef VF_FLOAT_VF_FLOAT_ACCEL_NOISE should be +#ifndef VF_FLOAT_ACCEL_NOISE.



Paparazzi-devel mailing list

Attachment: VFF-motorsOFF-default.png
Description: PNG image

Attachment: VFF-motorsOFF-tuned.png
Description: PNG image

Attachment: VFF-motorsON-default.png
Description: PNG image

Attachment: VFF-motorsON-tuned.png
Description: PNG image

reply via email to

[Prev in Thread] Current Thread [Next in Thread]