[Top][All Lists]

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

Re: [Paparazzi-devel] prebank

From: Jake Tarren
Subject: Re: [Paparazzi-devel] prebank
Date: Mon, 28 Oct 2013 20:26:35 -0400

Great, thanks Alonso.

On Mon, Oct 28, 2013 at 7:32 PM, alonso acuña <address@hidden> wrote:
The prebank is an adjustment to the roll setting which is done when the aircraft is trying to do a circle and when it is close to the circumference of the circle. This way it does not fly straight into the circumference but instead it starts to make a roll as the one needed to fly in circles.
There is a value in the airframe file COURSE_PRE_BANK_CORRECTION which can be used to increase o decrease the effect. If set to 1 then the normal prebank is done. If set to 0.5 then half of the additional roll is done. This causes the aircraft to not roll enough in order to fly the intended circle and it ends up flying in a larger circle.  A value > 1 makes it fly a smaller circle.  

On Mon, Oct 28, 2013 at 5:07 PM, Jake Tarren <address@hidden> wrote:

Can one of you guys please explain what the prebank is?  I did a search on the wiki, but didn't find anything.

On Mon, Oct 28, 2013 at 5:05 PM, alonso acuña <address@hidden> wrote:
Hi. Right the value of the bank is calculated with the actual speed but it is set to 0 when the aircraft is not near the circumference and the distance is calculated using the nominal speed:

  float dist_carrot = CARROT*NOMINAL_AIRSPEED;
  circle_bank =
    (dist2_center > Square(abs_radius + dist_carrot)
     || dist2_center < Square(abs_radius - dist_carrot)) ?
    0 :
    atan((*stateGetHorizontalSpeedNorm_f())*(*stateGetHorizontalSpeedNorm_f()) / (G*radius));

So what I am saying is dist_carrot should not use NOMINAL_AIRSPEED but use the current speed.

I have been doing some comparisons in the simulator and it is hard to tell wether this makes any difference.  

On Mon, Oct 28, 2013 at 8:01 AM, Felix Ruess <address@hidden> wrote:
Hi Alonso,

I'm not that familiar with the fixedwing nav code, but to me it seems to be correct.
The circle_bank is computed using the horizontal ground speed...
If I'm missing something, could you please elaborate some more?

Cheers, Felix

On Sat, Oct 26, 2013 at 5:01 AM, alonso acuña <address@hidden> wrote:
What I meant by fly a good circle is really reaching the circumference in the correct angle when one is coming from deep inside the circle or from afar. It would depend on the direction the aircraft is flying with respect to the wind direction, if this is not exactly right then the prebank is applied too early or too late.

On Fri, Oct 25, 2013 at 8:44 PM, alonso acuña <address@hidden> wrote:
Hello. I have been reading the code in nav.c and it appears that the prebank is applied when the aircraft is close to the circumference, but this closeness is determined using the nominal airspeed defined in the airframe file and not the actual ground speed.  When the ground speed is different then the prebank is applied when it shouldn't and not applied when it should.  

For example if there is wind and the aircraft is going slower it would take more time to reach the circumference and at that speed it really isn't that close and the prebank should not be applied.  And in the other direction it will be flying faster and so the prebank should be applied at a greater distance but it isn't. 

This makes it very difficult to fly a good circle when there is wind. Is this a bug, a feature or a I am missing something?


Alonso Acuña

Paparazzi-devel mailing list

Paparazzi-devel mailing list

Paparazzi-devel mailing list

Paparazzi-devel mailing list

Paparazzi-devel mailing list

reply via email to

[Prev in Thread] Current Thread [Next in Thread]