[Top][All Lists]

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

Re: [Paparazzi-devel] Rotorcraft stabilization

From: Felix Ruess
Subject: Re: [Paparazzi-devel] Rotorcraft stabilization
Date: Fri, 30 Mar 2012 20:58:03 +0200


Just some notes on calibration:
You should see no change in yaw if you just roll/pitch the quad.
If you do, your mag calibration is probably not good enough:
The most crucial part for the mag calibration is to really get the min/max on each axis, so align the mag axes along the local magnetic field vector and not just take the same orientations as when calibrating the accels... you can plot the values to see you get the maximum.

There are several ideas to make it easier to calibrate the mag online instead of from logs (or to estimate them in flight), and although that would not be hard, obviously nobody had/took the time to implement that so far.

AHRS_MAG_UPDATE_YAW_ONLY only refers to int_cmpl_quat.
And yes, in 4.0_beta and dev there is no AHRS_MAG_UPDATE_YAW_ONLY anymore, as this is the (more sensible) default now.
To use mag to stabilize all axes you explicitly need to define AHRS_MAG_UPDATE_ALL_AXES.

The default gyro sens and neutral calibration (in 4.0_beta) should be good enough. Gyro neutrals (bias) are estimated in the filter anyway.
But it is definitely beneficial to calibrate the accel neutrals.

Cheers, Felix

On Fri, Mar 30, 2012 at 8:33 PM, Simon Wilks <address@hidden> wrote:
One more thing, just in case yours is different, try using these subsystem settings:

<subsystem name="stabilization" type="euler"/>
<subsystem name="ahrs"            type="int_cmpl_quat"/>


On Fri, Mar 30, 2012 at 8:31 PM, Simon Wilks <address@hidden> wrote:
Hi Eduardo,

I am flying the same Lisa/M with Aspirin 1.5 on two different quadcopters (Flame Wheel F450 and XAircraft X650) with PWM controllers. 4.0_beta branch. They are flying reasonably stable though I still have some tuning to do. Have not tried anything other than AP_MODE_ATTITUDE_DIRECT so far.

I still have some problems with it yawing, got a bit better once I calibrated the IMU but maybe I still haven't done it just the right way yet. When the quadcopter rolls or pitches I am getting up to about 2 deg drift in for the yaw estimate. Should I be expecting near zero drift?

I didn't set AHRS_MAG_UPDATE_YAW_ONLY as it seems to be the default behavior in the 4.0_beta branch as well as the dev branch.

Some other things to check:
- Is your Lisa/M well aligned with the airframe? Could there be an offset you didn't specify in the config?
- Is your Lisa/M setup so that the servo pins are pointing to the left side of the quadcopter? Then you would have BODY_TO_IMU_PSI = 0 if it is perfectly aligned.
- I assume you are using the IMU calibration file you received with the Lisa/M if you didn't recalibrate everything yourself?

That's all I can think of at the moment.

Good luck testing.


On Fri, Mar 30, 2012 at 2:43 PM, Felix Ruess <address@hidden> wrote:
Hi Eduardo,

first a general note: when posting something like this, please write what branch/revision and configuration you are using!
This is important information and as there are different stabilization algorithms, options, ... (also good feedback for us to know what is being used)
It's always hard to give proper answers without knowing the tested configuration that makes problems....

Felix, what hardware are you and other friends using on rotor craft.
Anyone using lisa/m with aspirin ?

Yes, I have a quad with Lisa/M + aspirin1.5
Yesterday i do 8 flight with my new quadrocopter.
result: 9 props broken.

I fly with all propeller very well balanced and the quad never stay horizontal.
Some times bank to left ... some times pitch up ... some times turn yaw.
BTW, the yaw have much jitter.
MAgnetometer need extra configuration to lock YAW ?

Sorry to hear that...
While my quad is not flying perfectly, it is working surprisingly well considering my motors/props are not balanced (even have slight damage) and that I haven't dampened the Lisa/IMU so far... but I clearly have a lot of vibration that is heavily affecting the accelerometer when the motors are running. But as this highly depends on your frame and whether or not you get some aliasing issues, I might just be lucky that it still works pretty well even with vibration induced "noise" on the accel in the order of one g and more.
So when I have some time, I'll definitely mount the Lisa differently and balance the props.

Regarding the mag, have you calibrated it? Did you check that your yaw estimate doesn't change if you are roll/pitch the quad?
What stabilization are you using? If you are using int_cmpl_quat on master, did you set AHRS_MAG_UPDATE_YAW_ONLY as per wiki ahrs int_cmpl_quat
Otherwise a bad mag calibration will affect roll and pitch as well...

for a test i put LOW-PASS filter in ACCelerometer.
The attitude work much better but continue with same issue (bank, pith randomly).

Before putting a low-pass filter (which should be added to the imu interface in a general way anyway...) on the accel values I would suggest to set a different output rate  of the ADXL345 in the aspirin driver and hence reduce the bandwidth. With the adxl345 the bandwidth is always half of the data rate. It is currently set to 800Hz data rate with 400Hz bandwidth.
In dev I just added a small change so that you can set a different rate/bandwidth from the airframe file, e.g to set it to 200Hz with 100Hz bandwidth:
<define name="ASPIRIN_ACCEL_RATE" value="ADXL345_RATE_200"/>
For possible values see adxl345.h
For complere de test, i put me mikrokopter controller in the same frame and the quad fly perfect. Completly horizontal and without any disturb.

Another test i do tomorrow is put my other IMU on lisa/m.
I am trying to connect IMU on i2c1 but i am havving some strange issue.

What issue?

Its possible ?

Sure. I don't see why not...

for now its my problem.
i never do a good flight with PPZ rotorcraft.
i fly rotorcrafts and helis for 4 year.

But then we need your help in making it better :-)

Cheers, Felix

Paparazzi-devel mailing list

Paparazzi-devel mailing list

reply via email to

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