V3.* drifting when stopping in Loiter

Hello guys,

i have noticed something interesting happening with all local multirotors flying on V3.* here in Israel.
i used to fly V2.9.1 myself in loiter mode in the past and everytime i released the sticks when moving around in loiter the quad would correct opposite the motion and then stop still and level - like in proper position hold.

but we are finding that all multis flying on V3.* dont do this! when you fly forward (as an example) in loiter and release the stocks the quad would level itself for a split second (as if its trying to brake the forward motion which is good) and would then tilt forward again, fly further forward (5-20m or so depending on speed) and only then slowly come to a stop and stay at that spot, which is obviously not the point in which i released the sticks.

Can you advise what is causing this in V3.*? is this a feature? and if so, why?

[quote=“i3dm2”]Hello guys,

i have noticed something interesting happening with all local multirotors flying on V3.* here in Israel.
i used to fly V2.9.1 myself in loiter mode in the past and everytime i released the sticks when moving around in loiter the quad would correct opposite the motion and then stop still and level - like in proper position hold.

but we are finding that all multis flying on V3.* dont do this! when you fly forward (as an example) in loiter and release the stocks the quad would level itself for a split second (as if its trying to brake the forward motion which is good) and would then tilt forward again, fly further forward (5-20m or so depending on speed) and only then slowly come to a stop and stay at that spot, which is obviously not the point in which i released the sticks.

Can you advise what is causing this in V3.*? is this a feature? and if so, why?[/quote]

This is the current behavior of loiter. It can’t accelerate instantly. It has “simulated drag” that stops it.

Unfortunately, this simulated drag is also inversely proportional to the WPNAV_LOIT_SPEED set, so it should behave better if you set that to the default of 500 instead of 1800.

It is something that has been getting some attention from users and may well get changed soon.

Thanks for the reply - could you explain the concept of simulated drag a bit more?
im not sure i understand what this is supposed to achieve against the old method which all local pilots feel was much better.

[quote=“i3dm2”]Thanks for the reply - could you explain the concept of simulated drag a bit more?
im not sure i understand what this is supposed to achieve against the old method which all local pilots feel was much better.[/quote]

Sorry, old method? As far as I know, there was no repositioning in loiter until the current loiter controller was implemented.

The loiter controller essentially works like this:
A target point is kept, with position and velocity state vectors. Your sticks control the acceleration of this point. The copter is controlled to fly to the target. In order to stop the copter, the point has simulated drag (an acceleration that is applied to it in proportion to velocity).

So at each timestep, the (stick-velocity*fakedrag)dt is added to velocity, velocity is constrained to a maximum and velocitydt is added to position. The problem is that fakedrag is inversely proportional to the maximum velocity and therefore setting it higher turns the copter into a freight train. It is a little more complex than this, but if you want a really full understanding you’ll need to read the code.

thanks for the detailed reply.

what changed since V2.9.*?
in 2.9 i could fly in loiter, release the sticks and the quad would immidiately brake and not drift anymore - it just stayed put right where i released the sticks.

im not sure if we are talking about the same problem to be honest: the current symptom is as such:

lets say my quad is hovering at heading 360 and i fly forward (north) 20m and release the sticks.
the quad would immidiately counteract the forward motion with back pitch (tilt south) until it stops, but one it stops almost completely would go back to level flight and fly the remaining momentum forward (north) doe additional 10-20m until slowly stopping at that point which is 10-20m away from where i left the sticks.

i V2.9 i used to fly north 20m, release the sticks, quad would immidiately brake itself and stay at the same point just standing still.

have you ever seen other controllers (Naza, multiwii etc)? they all act the same in GPS hold - once sticks are released in GPS HOLD (loiter) quad stops and stays put.

For some reason only Arducopter V3.* is different…

I agree that it needs to be improved. I may well do it myself now that I am flying copters again. There are a number of people who have complained about that and loiter is the most difficult mode to get right. We will keep on looking at it.

You can test Marco Robustini’s “hybrid” mode if you like: diydrones.com/profiles/blogs … is-reality

Thank you Jschall. thats very pleasant news.

im curious though - what caused this change from V2.9 (which was good)? is it related to other software mechanism improvements?

[quote=“jschall”]
You can test Marco Robustini’s “hybrid” mode if you like: diydrones.com/profiles/blogs … is-reality[/quote]

just read the article and watched the videos - this seems like what we are looking for!

is this going into any future releases of Arducopter? im a bit afraid to test Beta versions on my copter to be honest.

[quote=“i3dm2”]Thank you Jschall. thats very pleasant news.

im curious though - what caused this change from V2.9 (which was good)? is it related to other software mechanism improvements?[/quote]

Yes, it is related to the switch to inertial nav which makes a world of difference.

Hybrid may go into master.

[quote=“jschall”]
Hybrid may go into master.[/quote]

so should we expect it on the next release of Arducopter (3.2)?
also where can i get the current hybrid version that supports hybrid should we want to test it?

[quote=“i3dm2”][quote=“jschall”]
Hybrid may go into master.[/quote]

so should we expect it on the next release of Arducopter (3.2)?
also where can i get the current hybrid version that supports hybrid should we want to test it?[/quote]

No idea on getting hybrid into master. I’ll point Marco to your post.

Hybrid mode is in the “to do” list for the 3.2 exit, wait the final release.

THanks Marco, is it due out soon?

THanks Marco, is it due out soon?[/quote]

No. 3.2 is a long way off.

Hi,

Just wanted to comment, I too liked loiter better in 2.9 too, you could almost use loiter as a kind of brake.

thanks for the thread!

John