paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] Quat_int integrator error


From: Felix Ruess
Subject: Re: [Paparazzi-devel] Quat_int integrator error
Date: Sun, 21 Apr 2013 21:30:32 +0200

Hi,

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
--
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:
https://github.com/paparazzi/paparazzi/blob/master/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_quat_int.c#L153
and
https://github.com/paparazzi/paparazzi/blob/master/sw/airborne/firmwares/rotorcraft/stabilization/stabilization_attitude_quat_int.c#L154

What do you think?
M

<QUAT_INT_psi.png>
<QUAT_INT_theta.png>
<QUAT_INT_phi.png>
_______________________________________________
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

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