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 are closed for this discussion.
it has been implemented partially.
when the copter moves during calibration the calibaration result sucks.
i agree that is is difficult to define a strategie which handles calibration.
but - is has to be done.
for me it would be important to have a few external led's which indicates what is going on.
externally means not looking inside ...
a simple lcd would be able to tell in plain english, excuse me for not having a real english tong, what the firmware does ... an lcd is not that heavy ...
but it helps.
Sounds excellent. Just to be clear, you arm the quad, hold the arm postion for > 20 sec until the the LEDs flash in a pattern. Then immediately take off and hover as steady as you can for 45 sec, until the LEDs stop?
we don t know..
nobody know which is the problem with yaw...it s a big problem
Spent some time on properly analyse the data sampled from the gyros. I tuned the ADC library to allow 2000 Khz sampling and wrote a simple program to collect the data for various motor speeds.
As we can see from this data then there is considerable amount of disturbances above 500Hz.
The strongest peaks around 800Hz. Granted this is on my own quadcopter so disturbances could manifest them in different frequencies for different designs of quadcopters.
The main point is that _ALL_ of these disturbances will manifest them selves at lower frequencies due to aliasing when the data is only sampled at 200Hz like the standard ADC library does. (I know the code says 400Hz but it will never release a sample unless it has collected at least 2 samples with a very simple averaging filter, hence the 200Hz sampling rate). But even at 400Hz with this particular data we would have bad aliasing.
I would be very interested to see similar data from other quadcopters, both good and badly behaving.
Anyways I believe this is the main reason for bad behaving quadcopters. And the only real solution is to get rid of the high frequency disturbances before the data is sampled.
I attach my test programs and if any of you guys are interesting in supplying me with some data I can analyse it in a similar way. Please note though to only run this program with your quad on the workbench with NO propellers attached. The program will spin the motor with MAX throttle!
When looking on the graphs the two magenta lines are the approximate speed of the motor in Hz.
Please click on the image to see the animation.
The problem is that at this stage you allready have aliased data.
No matter how clever you are in the filtering you will not get rid of the aliased data.
It has to be gotten rid of before the sampling stage.
There are two options to do that: