paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] Measured info from sensors in ahrs_int_cmpl_euler


From: Felix Ruess
Subject: Re: [Paparazzi-devel] Measured info from sensors in ahrs_int_cmpl_euler filter
Date: Sat, 14 Nov 2015 14:06:06 +0100

Hi Flavio,

The ahrs_aligner tries to detect when the vehicle is not moved and then lowpasses the imu measurements. These (lp_*) variables are then passed to the align function of the specific AHRS to calculate the initial attitude (and set the initial bias).

You could just as well use only one (the first) IMU measurement to set the initial attitude, but it might be quite wrong if you move the vehicle at that point in time.

Cheers,
Felix

On Tue, Nov 10, 2015 at 6:53 PM, Flavio Justino <address@hidden> wrote:
Thanks Felix, already found the equation I needed. 
Now i have another problem that I don't understand concerning ahrs_align. I don't know exactly what align does and how lp_gyro,lp_accel and lp_mag are calculated. Lets say for gyro, is it the current lp_gyro the current gyro/60? 

And why are the lp alignments used for direct measure instead of the normal imu? (unless I'm seeing this in a wrong way...)
Thank you again!

2015-11-10 10:51 GMT+00:00 Felix Ruess <address@hidden>:
You might want to take a look at the floating point implementations first, since they are easier to understand without all the shifts used for different fixedpoint representations.

F_UPDATE is the update frequency.

On Fri, Nov 6, 2015 at 7:43 PM, flavio_just <address@hidden> wrote:
Hi guys!
I would like to know exactly what expressions are used to calculate the
direct angles from accel and mag by this filter, since bitshifts is often
used and confuses me.

Currently, I am using the following expressions in matlab to reproduce what
pprz does:

roll=atan2(-accel(k,2),-accel(k,3));
pitch=atan2(accel(k,1),-accel(k,3));
yaw=atan2((-mag(k,2)*cos(roll)+mag(k,3)*sin(roll)),(mag(k,1)*cos(pitch)+sin(pitch)*(mag(k,2)*sin(roll)+mag(k,3)*cos(roll))));

for the roll and pitch angles the dynamics is the same but with an error of
about 4 or 5º everytime. For the mag is completely different the result.

By the way, can someone also tell me why F_UPDATE exists and what it does?

Thank you so much guys,
Flávio




--
View this message in context: http://lists.paparazziuav.org/Measured-info-from-sensors-in-ahrs-int-cmpl-euler-filter-tp17532.html
Sent from the paparazzi-devel mailing list archive at Nabble.com.

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


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




--
Flávio Justino


_______________________________________________
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]