Guitarmath / arducopter

Automatically exported from code.google.com/p/arducopter
0 stars 0 forks source link

Loiter seems to work in pulses and all to often "gives up" #363

Closed GoogleCodeExporter closed 8 years ago

GoogleCodeExporter commented 8 years ago
Arducoper NG or ACM? AC2
What steps will reproduce the problem?
1. This is from my observations - I attach logs and parameters from an example 
track.

What is the expected output? What do you see instead?
After Loiter is invoked, I would expect to see the copter reacting to regain 
the Hold Waypoint if it has been blown downwind. What I actually see is the 
copter pitching back (see Issue 361), being blown sometimes a substantial 
distance downwind before reacting, moving forwards again but after 3-5 seconds, 
it seems to "give up", gets pitched backwards, loses ground before reacting 
again.

What version of the product are you using? On what operating system?
FW 2.4.1, but I have seen this behaviour on many versions of the code, so it 
seems to be intrinsic.

Please provide any additional information below.
This behaviour is more noticeable when the parameters are marginal for the 
copter to regain loiter. At the moment the Nav P setting seems to be critical 
to enable the copter to regain the Hold Waypoint if blown away by wind. 
However, if the Nav P setting is too high, then the copter pudding bowls once 
the Hold Waypoint is regained. If the setting is sufficient to start moving the 
copter back against the wind, it should be enough to regain the Hold Waypoint 
and provide a smoother, tighter Loiter, but all too often it seems to "give up" 
and it seems to do so in pulses.
I wonder if there is a term somewhere that builds up to prevent the regain of 
the Hold Waypoint, or is there a "heartbeat" to the Loiter algorithms? I also 
wonder if whatever is causing this is contributing to the backwards and 
forwards behaviour that I often see when the copter has regained the Hold 
Waypoint and thus is contributing to a less smooth and tight loiter.
I attach the logs, traces and parameters of a flight when this behaviour was 
clear during a failed phase of attempting to regain the Hold Waypoint - ignore 
the first loiter, it is the second in the flight where it is clear to see the 
behaviour.

Original issue reported on code.google.com by b...@themojos.net on 24 Feb 2012 at 10:36

Attachments:

GoogleCodeExporter commented 8 years ago

Original comment by robustin...@gmail.com on 6 Mar 2012 at 12:43

GoogleCodeExporter commented 8 years ago
just a note - this is the same behaviour I saw during my experiments - if 
Loiter P was too low, it just delayed the initial reaction to position loss, 
panicked and came at high speed back - overshot (of course) and then gave up 
and behaved randomly. It was not circling and I tried slight adjustments of 
compass declination to rule that out.
When Loiter P was low, it only reacted later, but it still overreacted - then 
gave almost immediately after missing the starting position.
Loiter_I had no effect on this (didn't try 0, just something like +-300%).

Proper solution should work on any combination of other PIDs, IMO should be 
completely independent and the values more or less hardwired, I don't 
understand why there's so many various "combos" to achieve this...

Original comment by zviratko...@gmail.com on 6 Mar 2012 at 5:16

GoogleCodeExporter commented 8 years ago
Issue closed. 
If you find this is an error please report it in the new issues list
https://github.com/diydrones/ardupilot/issues?labels=ArduCopter&page=1&state=ope
n

Original comment by Benny.Si...@gmail.com on 20 Jan 2013 at 10:48