paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] Arduimu drift


From: Gautier Hattenberger
Subject: Re: [Paparazzi-devel] Arduimu drift
Date: Mon, 01 Aug 2011 12:21:30 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.17) Gecko/20110516 Thunderbird/3.1.10

Hi,

groundstart/airstart has little to do with the drift compensation, although if you don't use them correctly it will not work.
groundstart means that each time the arduimu is powered, it will make new neutrals for gyro and accelerometers (leds are flashing for a few seconds), and store them in the eeprom.
airstart means that when you power the board, you read the neutral in the eeprom. It is always possible to trigger the "groundstart" after by lowering one of the pin.
This behavior is the same for arduimu and arduimu_basic and is probably describe in the arduimu documentation.
The "correct" way to use this (especially if you don't connect the "groundstart_pin") is to flash the board with ENABLE_AIR_START set to 0, while the arduimu board is flat and steady on a desk. When the leds stop flashing (neutrals are stored), reflash the board with ENABLE_AIR_START set to 1, so that at the next start you will use the stored values. If you prefer to make the neutrals at each start, then leave the code with the flag set to 0.
The reason of the drift is probably that when you start, the neutrals are very far from the real value, and the drift estimation doesn't converge. It may also append when you start upside down.
This mechanism is coming from the original ardimu code, and it is not fitted to paparazzi. I will soon modify the arduimu_basic firmware and driver to remove this stupid air/ground start and a setting in paparazzi will allow you to trigger a new neutrals' calibration.

Gautier

On 01/08/2011 08:45, GARCIA ALVAREZ, ANA wrote:

Hi Reto,

About the drift combinations. I first tried the arduimu.pde with airstart 0 and it drifted. But some days after, I reloaded the code, and it suddenly worked. The arduimu_basic.pde with airstart 1 seemed not to work to me (maybe because it had no groundstart performed? I don’t know), but I changed airstart to 0 and now arduimu_basic also works without drifting.

I don’t know if you have solved your drift problems, but my advice is loading the code sometimes, testing it…(not an intelligent option, but it happens to work..).

The first test was performed at security high (manual take-off). Firstly it had great bad accuracy, but after about five minutes, it performed quite good circles and ovals. Then when it started to descend, it was 180º away from the carrot, but descending. Suddenly the airframe dived, don’t know if related to the imu of not. Next time I’ll test again.  

Ana

_______________________________________________ Paparazzi-devel mailing list address@hidden https://lists.nongnu.org/mailman/listinfo/paparazzi-devel

reply via email to

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