[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/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 - what's technolog used for AQ ?

what's technolog used for AQ ?

News, Setup, Compiling, Flashing, Development

what's technolog used for AQ ?

Postby fly_guy » Thu Aug 30, 2012 10:59 am

Hello, I am new guy for AQ ,the video I saw is amazing. Is there someone could tell us how does AQ work ? is the GPS/SINS technolog used for AQ ?
fly_guy
 
Posts: 8
Joined: Thu Aug 30, 2012 10:49 am

Re: what's technolog used for AQ ?

Postby Wingspinner » Thu Aug 30, 2012 4:21 pm

It uses commonly available sensors and a 32bit processor with advanced software to determine it's position in space and navigate from point to point. These sensors include commonly available inertial sensors, a magnetometer, barometric sensor (pressure altitude) and low-cost GPS technology.

Out of curiosity who is "we".

Cheeers,
Ron
"WingSpinner"
Wingspinner
 
Posts: 145
Joined: Wed Jul 04, 2012 6:51 am
Location: California

Re: what's technolog used for AQ ?

Postby fly_guy » Fri Aug 31, 2012 3:01 am

Hi Ron,
Thanks for your reply ! , "we" --- there are some people who take interest in AQ just like me . :D

In nav_ukf.c file .....
******************************************************************
void navUkfGpsPosUpate(uint32_t gpsMicros, double lat, double lon, float alt, float hAcc, float vAcc) {
float y[3];
float noise[3];
float posDelta[3];
int histIndex;

if (/*(supervisorData.state & STATE_FLYING) &&*/ hAcc < 20.0f && gpsData.tDOP != 0.0f) {
if (navUkfData.holdLat == 0.0) {
navUkfData.holdLat = lat;
navUkfData.holdLon = lon;
navUkfCalcEarthRadius(lat);
navUkfSetGlobalPositionTarget(lat, lon);
navUkfResetPosition(-UKF_POSN, -UKF_POSE, alt - UKF_POSD);
}
else {
navUkfCalcDistance(lat, lon, &y[0], &y[1]);
y[2] = alt;

...............

// calculate delta from current position
posDelta[0] = UKF_POSN - navUkfData.posN[histIndex];
posDelta[1] = UKF_POSE - navUkfData.posE[histIndex];
posDelta[2] = UKF_POSD - navUkfData.posD[histIndex];

// set current position state to historic data
UKF_POSN = navUkfData.posN[histIndex];
UKF_POSE = navUkfData.posE[histIndex];
UKF_POSD = navUkfData.posD[histIndex];

noise[0] = p[UKF_GPS_POS_N] + hAcc * __sqrtf(gpsData.tDOP*gpsData.tDOP + gpsData.nDOP*gpsData.nDOP) * p[UKF_GPS_POS_M_N];
noise[1] = p[UKF_GPS_POS_N] + hAcc * __sqrtf(gpsData.tDOP*gpsData.tDOP + gpsData.eDOP*gpsData.eDOP) * p[UKF_GPS_POS_M_N];
noise[2] = p[UKF_GPS_ALT_N] + vAcc * __sqrtf(gpsData.tDOP*gpsData.tDOP + gpsData.vDOP*gpsData.vDOP) * p[UKF_GPS_ALT_M_N];

srcdkfMeasurementUpdate(navUkfData.kf, 0, y, 3, 3, noise, navUkfPosUpdate);

// add the historic position delta back to the current state
UKF_POSN += posDelta[0];
UKF_POSE += posDelta[1];
UKF_POSD += posDelta[2];
..............................



******************************************************************

My question is... the UKF use for what ? .. are the position data(posN,E,D; velN,E,D) just come from GPS and smoothed by UKF filter OR it combines rate-gyro and accelerometer data (Inertial data) to estimate the position by UKF filter ?

Best Regards
Stone.
fly_guy
 
Posts: 8
Joined: Thu Aug 30, 2012 10:49 am

Re: what's technolog used for AQ ?

Postby grubygrub » Mon Sep 10, 2012 8:18 pm

I believe from reading the code that quaternion based UKF filter is used for yaw/pitch/roll.
For gyroscope, the code uses basic quaternion integration with rotational velocity, there is a lagrange multiplier in the integration process...
For accelerometer, magnetometer they are sent through the unscented transform and compared with the gyro values to result in a better value.

The GPS corrects the absolute position of the accelerometer produced by the double integration of the accelerometer values (standard INS equations + UKF)

Z is corrected by pressure sensor.

Extremely simple breakdown of what is happening, it would be nice if Bill released his matlab files or a PDF of the filtering techniques used, but you can find GPS/INS unscented kalman filter papers all over the web.

One thing to note is with all the extra processing power, has anyone investigated integration with a particle filter, that seems excessive, but it would be interesting...
grubygrub
 
Posts: 4
Joined: Mon Sep 10, 2012 8:01 pm

Re: what's technolog used for AQ ?

Postby bn999 » Tue Sep 11, 2012 2:05 pm

As you said, a gross over simplification, but essentially correct. I would add that all sensors are combined in a single 17 state UKF and not treated individually. The time update process is contained within the filter as well, so it is not a simple integration. This means that other sources of observations (like vision or sonar) could be added quite simply with only minor incremental performance hits.

A particle filter would be interesting to test on the ground, but I really doubt the amount of processing power we have onboard would be enough to run one in real time. The UKF is consuming ~50% of available computational resources at this point.
bn999
 
Posts: 1559
Joined: Thu Jun 21, 2012 11:40 pm

Re: what's technolog used for AQ ?

Postby grubygrub » Wed Sep 12, 2012 8:13 am

Question: what is the current bandwidth of the gyroscope and accelerometer? It seems like without any low pass filters, they are susceptible to vibration mounted on a miniature platform even after using isolation mounts, but higher latency if filtered heavily.

I currently have a board with similar sensors to yours running EKF, but it seems like when mounted on a small frame the vibrations attenuate the result; just wanting some insight of how you handle vibrations and extreme vibrations.

Also have you tried the MPU-3300 to see if it will work in the targeted environments?
grubygrub
 
Posts: 4
Joined: Mon Sep 10, 2012 8:01 pm

Re: what's technolog used for AQ ?

Postby bn999 » Wed Sep 12, 2012 9:21 pm

The native bandwidth of the gyo & acc is quite high. They are down sampled to ~400Hz by averaged oversampling at ~215KHz. Kalman filters can cut through the noise if you have your measurement variance and process noise set appropriately. Estimating what that should be is the difficult part.

I've not yet taken the time to review the more recent digital sensors. It's on my TODO list.
bn999
 
Posts: 1559
Joined: Thu Jun 21, 2012 11:40 pm

Re: what's technolog used for AQ ?

Postby grubygrub » Fri Sep 14, 2012 12:21 am

Do you see a dig difference oversampling and averaging at ~215khz rather than say using the raw 12 bits at the nyquist frequency? With your board layout, you should only see 1 lsb error the ST's 12 bit ADC...

I don't know much about oversampling to get more resolution, but I assume you are trying to achieve higher than 12 bits?
grubygrub
 
Posts: 4
Joined: Mon Sep 10, 2012 8:01 pm

Re: what's technolog used for AQ ?

Postby bn999 » Fri Sep 14, 2012 2:41 am

Don't believe all the datasheets you read. The oversampling reduces noise significantly and has the added benefit of raising the resolution.
bn999
 
Posts: 1559
Joined: Thu Jun 21, 2012 11:40 pm

Re: what's technology used for AQ ?

Postby OmniGeek » Tue Oct 30, 2012 4:21 pm

Speaking of datasheets, I'm curious to read the sensor specifications, but since no schematics for the flight controller board are published, it's a bit difficult to find out what sensors are used there. Can you tell us what gyro/accelerometer are used on the board?
OmniGeek
 
Posts: 3
Joined: Mon Oct 29, 2012 4:45 pm

Next

Return to AQ Firmware

Who is online

Users browsing this forum: No registered users and 16 guests

cron