RizkiWahyupratama / ardupilot-mega

Automatically exported from code.google.com/p/ardupilot-mega
0 stars 0 forks source link

Yaw integrator susceptible to wind-up from manual input. #441

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
What steps will reproduce the problem?
1. Set up yaw PID with a nonzero I term (yaw PID is currently not working 
properly, code change required, see issue 382)
2. Fly in FBW-A or auto
3. Manually apply full rudder for a while
4. Release rudder, observe integrator applying full opposite rudder.

What is the expected output? What do you see instead?
Integration should stop during manual stick input (stick not centered). It does 
not.

Original issue reported on code.google.com by Mr.Challinger@gmail.com on 20 Nov 2011 at 10:14

GoogleCodeExporter commented 9 years ago
A patch for issue 382 has been added to the trunk code, and should appear in 
the next hex pushed out.

Please explain more of what you are asking for and why.  Are you interested in 
behavior on the ground or in the air.  Why do you think integration should stop 
with manual stick input?  Also, please verify that you are talking about the 4 
channel case versus the 3 channel case.

Original comment by dewei...@gmail.com on 26 Dec 2011 at 8:40

GoogleCodeExporter commented 9 years ago
I guess it doesn't need to with a fast enough integrator or a small enough 
imax. Anyway, manually inputting rudder (or anything, for that matter) winds up 
the integrator in the opposite direction.

What I was referring to in 4 vs 3 channel was ground steering. In an 
auto-takeoff, the current control scheme uses the ailerons while on the ground. 
I assume that means it was either written for 3ch planes or designed for 
hand-launches. Otherwise it would need a rudder ground steering PID.

Original comment by Mr.Challinger@gmail.com on 26 Dec 2011 at 11:49

GoogleCodeExporter commented 9 years ago
Anyway, not a big deal.

Original comment by Mr.Challinger@gmail.com on 27 Dec 2011 at 2:22

GoogleCodeExporter commented 9 years ago
Still not sure what you are talking about.  Are you observing this in air or on 
ground?  If you are on the ground the integrator should not be winding up with 
rudder input, but should be winding up with aileron input as the rudder PID is 
based on y axis accel and is not affected by rudder stick input on the ground.  
Aileron PID is on bank angle error, and with the stick deflected but the plane 
sitting on the ground there is a bank angle error (that the ailerons can't do 
anything about on the ground) and that integrator should wind up.

If in the air, then if you are holding rudder input you are putting the plane 
into a slip or skid, and the integrator should wind up (fighting against you).

All of the above is normal behavior.  If you have the rudder PID configured 
then you should not be using manual rudder input (except in manual mode) so 
integrator wind-up because of stick input should not be an issue.

If your concern is restricted to the rolling takeoff case, then yes the code 
will not work.  We have not yet added support for rolling take-off.  Although 
the code/command is named take-off it is currently only appropriate for 
hand/catapult launch.  Support for rolling take-offs is on the to-do list....

Am I missing something you are saying?  I am going to close the issue.  If I am 
missing something and you still have a concern, email me.

Regards,
Doug

Original comment by dewei...@gmail.com on 6 Jan 2012 at 11:19