[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 488: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 112: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4789: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3916)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4791: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3916)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4792: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3916)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4793: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3916)
AutoQuad Forum • View topic - How does AQ know when it is absolutely leveled?

How does AQ know when it is absolutely leveled?

Static, Dynamic, Log File Analysis, Troubleshooting

How does AQ know when it is absolutely leveled?

Postby LordPikaChu » Fri Oct 18, 2013 11:51 pm

Hello everyone,

I have just finished calculations for my AQ board and even set PIDs and my hexa flies well (altitude hold is great, no oscillations after changing PIDs, good handling, RTH working great), but there's one thing that I cannot fix - the copter flies away when I leave the sticks centered in manual mode. I looks like the default level for my hexa is not leveled at all! When sticks are centered, the copter flies backwards pretty fast most of the time. Sometimes it'll fly backward and left, sometimes backward and right. I can't recall now if it tried to fly forward.

I am sure that it's not caused by shifted center of mass in my hexa - I've tried mounting battery packs a bit more to the front but this haven't changed anything. I have also tried every PID setting (step by step as well as drastic changes to every value), and apart from making the copter lazy or oscillating, it still tries to fly backwards.

It's hard to tell weather the copter thinks it's leveled when in fact it is not or weather there's something else going on. When I leave the sticks centered and look on the primary flight display in my QGC, it'll sometimes show the copter leveled and sometimes tilted back a bit. It's really hard to tell accurately because the QGC has a bit of lag and the copter flies backwards pretty fast after short while and I don't want to loose the copter from sight for too long when I'm in manual mode. What's interesting is that, although I haven't set the position hold PIDs yet, the copter can maintain it's position pretty well when in PH mode.

Now, my question is, how does the AQ determine the absolute level? I have flown MultiWii boards before and there was a function to accurately calibrate and trim the accelerometer. Basically the copter had to be placed on leveled surface and the 'calibrate ACC' function had to be engaged. I could then additionally trim the accelerometer. After that, the board knew where the level was. How does this work in AQ? Is the leveled position for accelerometer determined during gathering calibration data? If yes - when? Is it done during static data logging (when the board has to be leveled), or maybe during the dynamic part?
LordPikaChu
 
Posts: 93
Joined: Fri Aug 09, 2013 12:42 pm
Location: Poland, Lodz

Re: How does AQ know when it is absolutely leveled?

Postby LPR » Sat Oct 19, 2013 2:07 am

Lord

If you did a good job with the static, dynamic logs and calculation of the parameter file is done well and if the AQ board is mounted level in the frame, your copter should hover very close to level.
When I first flew my AQ octo I adjust a number of PIDs but after I had a good parameter file and was able to lower vibration it flew very well. All three of the AQ copters I built fly very well with default settings. I do lower tilt rate D if I want a AQ copter have a better GPS hold in wind.

Larry
LPR
 
Posts: 1323
Joined: Tue Jun 26, 2012 1:29 pm
Location: MN, USA

Re: How does AQ know when it is absolutely leveled?

Postby LordPikaChu » Sat Oct 19, 2013 1:17 pm

Hello Larry,

thanks for your reply, but unfortunately you haven't really answered my question. I know that something must have went wrong in one of the steps, but repeating all of calibration steps without knowing where was the error is counter productive.

What I want to know is during which step does AQ determine where should the level be relative to the earths gravity? Is it done during dynamic data logging where the craft should be plugged in and seat on leveled surface for 10 or so seconds before attempting calibso dance? Will the orientation in which it seats during that 10 seconds be set as leveled position?

I can post my data logging results if this would help in determining what's wrong. I'm fairly confident that my static data logs are as perfect as it gets. There are no spikes in gyro or accelerometer. Gyro logs have a constant noise of 0.005 magnitude, but I think this is to be expected. I have some noise in acc logs, but when comparing to the example logs from AQ wiki I can say that the results are better than examples. Magnetometer logs look great too. What I'm not sure about is the dynamic data, and that's why I'd like the question from previous paragraph answered. I'm sure that the craft was not perfectly leveled during the starting 10 seconds, it was close to level but not perfect.

Here are the starting 10 or 20 secs from my dynamic calibration, as you can see the ACC X and ACC Y are not reading 0. Can this be the reason to my craft drifting backwards?
Attachments
Screen Shot 2013-10-19 at 2.14.36 PM.png
Starting 10 secs from dynamic data logging
LordPikaChu
 
Posts: 93
Joined: Fri Aug 09, 2013 12:42 pm
Location: Poland, Lodz

Re: How does AQ know when it is absolutely leveled?

Postby bn999 » Sat Oct 19, 2013 2:59 pm

When the board is actually level, you should have X & Y ACC values close to zero. If not, you have problems with your calibration parameters. The graph above would be unacceptable to me (if the board is actually level.)
bn999
 
Posts: 1559
Joined: Thu Jun 21, 2012 11:40 pm

Re: How does AQ know when it is absolutely leveled?

Postby LordPikaChu » Sat Oct 19, 2013 4:03 pm

LordPikaChu
 
Posts: 93
Joined: Fri Aug 09, 2013 12:42 pm
Location: Poland, Lodz

Re: How does AQ know when it is absolutely leveled?

Postby LPR » Sat Oct 19, 2013 5:33 pm

The first ten seconds does not set the board setting of the accelerometers.
A parameter file for an AQ board should make the board be able to know level. If you can level the board and then look at the dynamic logging data you be able to tell if your parameter file is good.
The static logs are for creating parameters for temperature of the AQ boards sensors.
The dynamic logs are also used as part of the total solution for the board to know level.

You don't need to have your multicopter leveled as you connect power.

Adjusting the PIDs instead of using the default settings can cause many problems.

You will be able to fly well with a good parameter file and default PIDs if vibration are low.

Pictures are valuable. If we can see your copter we might see something to help you with.

Larry
LPR
 
Posts: 1323
Joined: Tue Jun 26, 2012 1:29 pm
Location: MN, USA

Re: How does AQ know when it is absolutely leveled?

Postby Max » Sat Oct 19, 2013 6:11 pm

There is no single point in the calibration process that determines "level" orientation. The accells should be able to determine what level is when they are calibrated. Calibration accounts for imperfect mounting of components during assembly, variations in sensor manufacturing, and temperature variance. The AQ also "learns" what is level by using other sensor data during the flight, so for example it might start off flying with a slight drift in one direction, but after a few minutes the drift could go away.

Anyway, I'd try a new dance or two and see if you can improve the calibration, as Bill suggests.

Cheers,
-Max
Max
 
Posts: 2814
Joined: Mon Aug 13, 2012 9:45 pm
Location: Near Ithaca, NY, USA

Re: How does AQ know when it is absolutely leveled?

Postby LordPikaChu » Tue Oct 29, 2013 1:31 am

LordPikaChu
 
Posts: 93
Joined: Fri Aug 09, 2013 12:42 pm
Location: Poland, Lodz

Re: How does AQ know when it is absolutely leveled?

Postby LPR » Tue Oct 29, 2013 3:48 am

I have not seen anyone have the problem with level like your having.
It would be good if you could post a short log from your SD card so we could get an idea of that is wrong.
A photo of your hex might also help.

Larry
LPR
 
Posts: 1323
Joined: Tue Jun 26, 2012 1:29 pm
Location: MN, USA

Re: How does AQ know when it is absolutely leveled?

Postby LordPikaChu » Tue Oct 29, 2013 4:16 am

LordPikaChu
 
Posts: 93
Joined: Fri Aug 09, 2013 12:42 pm
Location: Poland, Lodz

Next

Return to Calibration

Who is online

Users browsing this forum: No registered users and 19 guests

cron