I wanted to start a conversation around the roll and pitch of Arducopter drifting as you fly.
The reason is I just assembled new hardware and problems that weren't there before have now shown up in a bad way. Flying indoors in a 5ft space I was able to get up to 30° error in roll and around 10-15° in pitch. I was able to control it and it flew perfectly level the whole time, I just had to hold the stick into the corner of the radio. Lading and waiting corrects the issue.
What could cause this. I had been flying an older version of the IMU this whole time. This version has an analogue filter for the gyros where the new hardware has it as an option. You must solder the pads around the gyros to enable them. I was also flying with two slightly tweaked motors giving off a lot of vibration. This could affect the accels.
My question is: If you have a problem like this, what is the vibration level on your copter, and do you have the filter pads soldered?
And notice I didn't say "loss of control" or "it didn't fly stable". I had control, and it flew perfectly. It just lost it's reference to the ground and I had to compensate with the stick. Had it been worse than 45° I would have lost control.
There are three pairs of pads, each with a white outline. (look for GYRO-XY near the relay).
Jani Solders his to enable the filter. I have never flown this board until now. I will solder them to test the filters this week.
Replies
My fault for letting this discussion drift. The major noise induced drift issues have been addressed in software in the latest release and soldering the filter pads has been confirmed to help.
The DCM I term has been lowered to account for the faster loop speed.
The DCM p term has been raised to give faster recovery.
The accel cutoff has been reduced to limit the effect of accels in rapid accelerations.
If you have major drift issues, (not 1-2° slow drifts), please start a new thread.
There is a very interesting engineering centric thread going on now to analyze the effects of vibration and noise. It will probably inform future efforts, but the results are still unclear (and above my head). If you want to learn a lot about signals and noise, jump in.
Jason
Kári,
Here is 2 samples to play with. One is 1 motor running, the other one is 4 motors running at the same time.
My copter is standard arducopter from jdrones with custom legs (15 cm long).
Oilpan is Hotel 1.0, filter pads soldered.
Arducopter_oli.zip
The pretty cool gifs sparked my curiosity regarding the filters that are placed between the gryo outputs and the a/d inputs. Quick inspection shows them to be the usual single pole RC filter, the cutoff frequency (-3db point of the response) is of course fc=1/(2*PI*R*C). The gyro output impedance is stated as 200 ohm in the manufacturers datasheet. The output impedance is effectively in series with the filters resistors (R1, R3 and R6) yielding a total series resistance of about 950 ohms. The capacitance to ground is 0.1uF. Substituting these values shows the cutoff frequency of the filter network to be approximately 1675Hz. This cutoff frequency could probably be lowered to some value that would permit more significant filtering of the observed system noise without impacting operational performance.
1st order low pass filters completely pass their spectrum unchanged from 0Hz to about 1/10 the cutoff frequency. If we would like to allow rates of change of 500 degrees per second to pass through the filter unchanged, this would correspond to a 0.1fc frequency of about 1.39Hz, with a cutoff frequency 10 times this or 13.9Hz. Spinning the gyro a 1.39 revolutions per second would be read by the a/d converter as though this filter was not there. Spinning the gryo at 13.9hz would be read by the gyro at half of its actual rate..filtering has begun to be effective at this point (note 13.9hz represents rates of change of rotational rate of 5000 deg/second..a rate high enough that we probably wouldn't be interested in, in the real world). Low pass filters continue to decrease their output as the frequency increases at a rate of -20db/decade, meaning 1/10th the voltage passes for a 10 times frequency increase. The first order filter with a cutoff frequency of 14 hz would have its output at 1/10th amplitude in response to gryo signals at 140Hz, furthermore, the output would be 1/100th (-40db) at 1400hz. This represents a significant descrease in noise that has been induced into the frame by the motors in this frequency band.
A 14 Hz, 1st order filter, could be tried with an 11 KOhm resistor substituted for R1, R3 and R6, and a 1uF ceramic capacitor substituted for C1, C2 and C25.
I am just a community member and am not suggesting or encouraging anyone to ruin their board, voiding their warranty, or causing any other kind of controversy. But if someone, very skilled in the process of component substitution could try it and report on their results....
http://diydrones.com/forum/topics/arducopter-2024a-alpha?xg_source=...
Lots of changes and improvements. We need more alpha test feedback before we'll feel comfortable pushing it
Two things that are new in 2.0.24 that I have found really useful (1 day of testing to go before I release it):
If you hold the yaw to arm or disarm the quad, you can keep holding that to get the in-field level or the auto-trim mode.
Hold to disarm for > 10 seconds = level the quad – the LEDs will cycle quickly and stop.
Hold to arm for > 20 seconds = Auto-trim mode for only 45 or so seconds – just fly in a no-wind situation and you can trim your quad by flying it perfectly still at about 3-4 feet. The will work in any mode, but for obvious reasons, use stable or simple.
Both modes exit automatically and the LED will flash in a pattern when in each mode.
Jason
I took my quad from near my home out to the FAR site in the Mojave desert.
I tried to fly it and as soon as I took off it tiped about 30 degrees to one side and full control input
was insufficient to level it out. The controls made changes, but full control deflection was insufficent.
It flew directly toward the larges chunk of concrete within 50 ftt and crashed on it.
I'm now impatiently awaiting parts from jdrones so I can fly it again.
This makes me ask the question could these instability issues could be environmental?
This was very early in the morning so the temp was not that different, but the altitude, and humidity were very different.
solder.png
Found the explenation of ch7 ;-)
Reply by jasonshort on June 1, 2011 at 12:08pmI actually have that capability in the code. It's commented out right now but easy to enable. The idea is that you fly in a windless environment, a large indoor space, then hold Channel 7 high and fly it until it's perfectly level. Accels are trimmed in flight based on stick input. It works great but people were flying with ch 7 high all the time causing issues.
uncomment this line in control_modes.pde :
//trim_accel();
Hi all,
any more updates on the effect of the jumpers soldered???
Dani
-
1
-
2
-
3
-
4
of 4 Next