Fwd: Alleviation of the yaw rate feedback: damping of desired cog

36 views
Skip to first unread message

William Premerlani

unread,
Apr 10, 2013, 8:02:10 PM4/10/13
to uavdevboard-dev
Team,

I am forwarding this note from Paul Bizard, he presents an interesting idea that I think has a great deal of merit.

Basically, he is saying to base yaw control on course over ground instead of heading. This is of particular value
for high-dihedral, rudder only control, in which it will prevent dutch roll.

Best regards,
Bill

---------- Forwarded message ----------
From: <bizar...@neuf.fr>
Date: Tue, Apr 9, 2013 at 6:01 AM
Subject: Alleviation of the yaw rate feedback: damping of desired cog
To: wpremerlani <wprem...@gmail.com>


Hi Bill,

.....

This mail follows your comment about excessive values of the yaw rate feedback gain.
I quite sure that the lateral guidance needs more damping, just look at all the kml files showing the planes wobbling over their course leg. 
My simulator confirms this speculation.
One way to dampen this motion is to increase the yaw rate feedback, but then an instability may arise, as you have stated it in your comment.
I have found a way to dampen the course-over-ground control while alleviating the yaw rate feedback.
Today the yaw rate feedback is used for the Dutch roll damping and also for the cog damping, but I think it should not because the cog is not exactly the heading.

So I have extracted a course over ground from the dead reckoning routine and have computed the cog error.
I have then added a term to the commanded cog, function of the cog error difference. I works very well.

What do you think ?

The folling lines of code are executed before the computation of the desired heading (before the wind is taken into account):

% Dead reckoning: compute cog
IMUcog[0] = atan2(IMUintegralAcceleration[1], IMUintegralAcceleration[0]);

% Save previous cog error
dkhi_old = dkhi ;

% Compute new cog error
dkhi = khic - khi ;

if     dkhi >  PI
    dkhi = dkhi - 2.*PI ;
elseif dkhi < -PI
    dkhi = dkhi + 2.*PI ;
end ;

% Compute cog error deviation
ddkhi = dkhi - dkhi_old ;

% Rate limiter
MAX_RATE = .0005 ;
if     ddkhi > ddkhi_old + MAX_RATE  
   ddkhi = ddkhi_old + MAX_RATE ;
elseif ddkhi < ddkhi_old - MAX_RATE
   ddkhi = ddkhi_old - MAX_RATE ;
end ;
ddkhi_old = ddkhi ;

% Apply damping to desired course over ground
KD = 20. ;
khic = khic + KD*ddkhi ;

Best regards,
Paul


William Premerlani

unread,
Apr 10, 2013, 8:46:40 PM4/10/13
to uavdevboard-dev
Team,

The more I think about Paul's idea to use IMU COG for navigation, the more I like it, it has several advantages, including:

1. Navigation could be revised to not need the wind estimate.
2. Transient response would be improved, dutch roll eliminated.

Here is the evolution of navigation controls.

rev "1" was based on GPS COG. It did not work very well at all because of GPS latency.
rev "2" was based on aircraft attitude and wind. better, but not great.
rev "3" introduced "high bandwidth dead reckoning", but we only built a few things on it.

So, now it is time to go to rev "4", back to COG for navigation. But now we can get COG from the IMU,
the latency is gone. It should work great.

Thank you, Paul.

Best regards,
Bill

Tom Pittenger

unread,
Apr 10, 2013, 8:49:41 PM4/10/13
to uavdevb...@googlegroups.com
Would this change the XPlane plugin?


--
You received this message because you are subscribed to the Google Groups "uavdevboard-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to uavdevboard-d...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

William Premerlani

unread,
Apr 10, 2013, 8:50:48 PM4/10/13
to uavdevb...@googlegroups.com
No change to plugin, this is all in MatrixPilot. Should improve navigation performance.

Tom Pittenger

unread,
Apr 10, 2013, 8:51:21 PM4/10/13
to uavdevb...@googlegroups.com
I ask because there's a lot of re-referencing in there (that I don't really understand) and if we're now tracking the ground then things should line up easier with the sim. Maybe I'm overthinking what this change does.

Philip Giacalone

unread,
Apr 10, 2013, 9:18:22 PM4/10/13
to uavdevb...@googlegroups.com
Sounds terrific!

Let me know if you'd like some additional test data. I'd be happy to do some flight testing.

Phil


crashmatt

unread,
Apr 11, 2013, 1:20:04 AM4/11/13
to uavdevb...@googlegroups.com
Nice work Paul. Makes sense to navigate by where you are going instead of where you are pointing.

Maybe it also helps with high aspect ratio wings with lots of aileron adverse yaw.

What happens if we do an intentional sideslip for landing control? Does heading always settle to cog with some time constant or does it stay correct due to lateral acceleration?

/Matt

William Premerlani

unread,
Apr 11, 2013, 3:55:02 PM4/11/13
to uavdevb...@googlegroups.com
Matt,

Paul's idea should work great for a side slip landing, because it will control the direction the plane is traveling, not the
direction it is heading.

Regarding side slip flight, regardless of the method used for navigation, if the aircraft will spend significant time side slipping,
then a magnetometer is needed.

In general, are goals are to align the attitude estimation with the actual orientation of the aircraft, taking into account the wind.

Without a magnetometer, that restricts the tolerable amount of side slip, because sustained side slip mimicks cross wind.

With a magnetometer, we relax the assumption of no side slip.

If we use Paul's idea, it should be possible to "nail" a side slip landing.

Another benefit of Paul's idea is that I think it will actually reduce the amount of code required for navigation.

Best regards,
Bill

Tom Pittenger

unread,
Apr 23, 2013, 12:47:54 PM4/23/13
to uavdevb...@googlegroups.com
Welcome Paul!


On Tue, Apr 23, 2013 at 9:09 AM, Paul Bizard <paul....@gmail.com> wrote:
Bill and al,
 
I just found this google discussion group.
Thanks for the kind words. I'm just trying to help a little.
I'm stunned at the amount of work you guys are able to spend on this project. 
 
-Paul

William Premerlani

unread,
Apr 23, 2013, 1:50:28 PM4/23/13
to uavdevb...@googlegroups.com
Hi Paul,
Yes indeed. Welcome. I thought you were already a member, otherwise I would have invited you.
For the benefit of some of the members of this group who might not be aware, Paul engaged in a
very fruitful dialog with me when this hobby was in its infancy, and many of the key concepts are his.
So, thank you once again, Paul.
Best regards,
Bill

Reply all
Reply to author
Forward
0 new messages