paparazzi-devel
[Top][All Lists]
Advanced

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

Re: [Paparazzi-devel] circle navigation


From: Gautier Hattenberger
Subject: Re: [Paparazzi-devel] circle navigation
Date: Thu, 17 Sep 2020 10:45:58 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.10.0

Hello David,

You are right, it should be atanf(dist_carrot / abs_radius), approximated to the ratio only, assuming small angles, which is wrong most of the time...

The bounding makes it work in practice. I suspect that this code originally written for 8bit MCU for just good enough.

I'm not sure if it worth changing it or not, but we should probably keep the bounding anyway.

Gautier

Le 17/09/2020 à 04:57, Yu David Liu a écrit :
Hi guys,

I was reviewing the source code on circle navigation, and specifically, the "nav_circle_xy" function:

https://github.com/paparazzi/paparazzi/blob/master/sw/airborne/firmwares/fixedwing/nav.c

What I don't seem to understand is the following lines (Line 140):

float carrot_angle = dist_carrot / abs_radius;
carrot_angle = Min(carrot_angle, M_PI / 4);
carrot_angle = Max(carrot_angle, M_PI / 16);

Specifically, I was expecting some kind of atan function used for the computation of "carrot_angle". How could the ratio itself be an angle? I wonder if this is a bug that is somewhat masked by the Min/Max bounding in the next two lines.

Best,
David




--
Yu David Liu
Department of Computer Science
SUNY Binghamton

_______________________________________________
Paparazzi-devel mailing list
Paparazzi-devel@nongnu.org
https://lists.nongnu.org/mailman/listinfo/paparazzi-devel

reply via email to

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