Hi guys, I was reviewing the source code on circle navigation, and specifically, the "nav_circle_xy" function: What I don't seem to understand is the following lines (Line 140):
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 _______________________________________________ Paparazzi-devel mailing list [hidden email] https://lists.nongnu.org/mailman/listinfo/paparazzi-devel |
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 :
_______________________________________________ Paparazzi-devel mailing list [hidden email] https://lists.nongnu.org/mailman/listinfo/paparazzi-devel |
Hi guys, I remember I answered a similar question time ago from another user. It seems a popular question xD. Summarizing: From the point of view of control, it is okei to use this expression since when the angle is big (he vehicle still converges to the desired behavior, and when it is small is a very good approximation (so we save some computations). Cheers, On Thu, 17 Sep 2020, 10.46 Gautier Hattenberger, <[hidden email]> wrote:
_______________________________________________ Paparazzi-devel mailing list [hidden email] https://lists.nongnu.org/mailman/listinfo/paparazzi-devel |
Free forum by Nabble | Edit this page |