paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] Motor mixing saturation - max offset unbounded


From: Eduardo lavratti
Subject: Re: [Paparazzi-devel] Motor mixing saturation - max offset unbounded
Date: Sun, 21 Apr 2013 18:02:43 -0300

SUPER nice feature.
i will put current sensor on my rotorcraft and test.


Date: Sun, 21 Apr 2013 22:47:24 +0200
From: address@hidden
To: address@hidden
Subject: Re: [Paparazzi-devel] Motor mixing saturation - max offset unbounded

It should work fine as long as you disturbance is highly correlated with the estimated current (or real current if you have a current sensor). 


On Sun, Apr 21, 2013 at 10:36 PM, Eduardo lavratti <address@hidden> wrote:
Wow ... nice feature.
I will try tomorrow but i think this not work fine in my lest big quad because the magnetic disturbance is very high.
I put magnetometer 10cm away the wires and the psi continue hold.
With motors of the psi work fine.



Date: Sun, 21 Apr 2013 22:01:08 +0200
From: address@hidden
To: address@hidden
Subject: Re: [Paparazzi-devel] Motor mixing saturation - max offset unbounded


Hi Michal,

have a look at http://paparazzi.enac.fr/wiki/ImuCalibration#Calibrating_for_Current for (partially) compensating for mag offset due to motor current.

In your case the MAX_SATURATION_OFFSET unfortunately doesn't work. You are probably getting a motor_mixing saturation failure (see motor_mixing.nb_failure counter), which means that your roll/pitch/yaw commands are such that they can't be achieved by lowering/raising the thrust.
It works as long as you only reach the lower OR upper saturation limit, but not both at the same time (most often due to high yaw command)
As pointed out in issue 385, this case is still not handled....

A quick improvement could be to only apply lowering of the thrust in case of hitting both limits...

Cheers, Felix


On Fri, Apr 19, 2013 at 11:03 PM, Michal Podhradsky <address@hidden> wrote:
Hi guys,

I noticed that sometimes our hexarotor wants to spin around during take-off. The reason is that due to big change in magnetic field around the IMU (as the motor are starting up), the estimated yaw can drift up to tens of degrees (depends on the airframe). So the control system want to compensate for that which is fine.

However, the motor mixing saturation (see https://github.com/paparazzi/paparazzi/issues/385 ) should keep motors from ramping up while the throttle is low (less than 30%).

I did some tests on the test bench, and here are the results:

The throttle was around 15% all the time. MAX_SATURATION_OFFSET was set to 200. You can see that around T=730s, the yaw err integrator winds up (middle plot), that's fine. In the top plot you can see that the yaw command is way more than roll or pitch, which is also fine - as the saturation is done in motor mixing (after calculating the commands). Roll and pitch were constant.

However, in the bottom plot you can see the actual output to the motors (motor_mixing.commands), and it is unbounded (3 motors go to PPRZI_MAX, other 3 to zero). Is that a correct behaviour?

The jumps in the motor commands correspond to an increase in yaw gains.

I would expect the motor commands to differ up to MAX_SATURATION_OFFSET, so at low throttle it doesn't ramp up the aiframe.

Am I correct? Does the motor mixing saturation work for you?

Thanks
Michal


_______________________________________________
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



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