[Top][All Lists]

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

Re: [Paparazzi-devel] Quat_int integrator error

From: Michal Podhradsky
Subject: Re: [Paparazzi-devel] Quat_int integrator error
Date: Mon, 22 Apr 2013 10:09:27 -0600

Hi Felix,

thanks for the explanation. Currently I don't have any better solution, but I'll think about it.

Just a side note, if something doesn't happen in normal flight doesn't mean it will never happen:) The code should never allow a potentially hazardous situation. Besides, this might affect the control performance too.


On Sun, Apr 21, 2013 at 1:30 PM, Felix Ruess <address@hidden> wrote:

the quaternion stabilization is indeed currently missing a MAX_SUM_ERROR, so it will simply wrap around (since the quaternion is normalized) and look like in your plots.
Although this should not happen in flight with a normal quad (I have never seen that happen), you can of course force this on the ground/desk and weird things will happen...

The first thing that should be added is a configurable error integration saturation limit (MAX_SUM_ERROR).
This should to be done for each axis separately. Currently I can't think of a way to do this in quaternion formulation directly, so we probably need to convert it to 3 separate angles relative to the NED plane, limit it and convert back to a quaternion....
A fast but very hacky way would be to convert the quaternion to axis/angle, limit the angle and convert it back. But you then get coupling between the axis and start capping the sum_error for e.g. roll other axis if yaw sum_err get's too big.
Ideas for doing this properly and efficiently are welcome :-)

Secondly it would of course be good to have a proper anti-windup as well (stop the integrator when the output command is saturated), but that means that you would need to be able to extract the saturation information for each axis from motor_mixing and feed that back to stabilization.

Cheers, Felix

On Sun, Apr 21, 2013 at 1:55 AM, Eduardo lavratti <address@hidden> wrote:
Micchal, i not see any MAX_ERROR limit in int_quat algorithm.
I only see this on euler_int.

i do some tests and the same behavior occur here.
BTW, i think this behavior never occur inflight because the error are corrected with values much less than 10000.

From: address@hidden
To: address@hidden
CC: address@hidden
Date: Fri, 19 Apr 2013 20:17:31 +0000
Subject: Re: [Paparazzi-devel] Quat_int integrator error

Is AWBT mechanism built in?

-- iPhone 209-386-2958cm
YangQuan Chen, Ph.D., Director,
MESA (Mechatronics, Embedded Systems and Automation) LAB, 
School of Engineering, University of California, Merced,
5200 N Lake Road, Merced, CA 95343, USA

On Apr 19, 2013, at 11:58 AM, "Michal Podhradsky" <address@hidden> wrote:

Hi guys,

I am running a quadrotor with the default aiframe config file (quadrotor_lisa_m_2_pwm_spektrum.xml), master branch, stabilization = int_quat, ahrs=int_cmpl_quat, Lia 1.1 with Aspirin 2.2.

I did the test on a testbench, and the integrator doesn't seem to work properly. Instead of just saturating at the MAX_ERR limit, it jumps up and down even though the error between set point and actual attitude is constant.

Look at the logs, my guess is that the problem will most likely be on these lines:

What do you think?

Paparazzi-devel mailing list

_______________________________________________ Paparazzi-devel mailing list address@hidden

Paparazzi-devel mailing list

Paparazzi-devel mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]