Also, I've just noticed that some or most of your float variable values don't have "f" suffixed for example:-
https://github.com/tschumann/sandbot...s/bot.cpp#L385
Code:
pBot->f_waypoint_time = 0.0;
Instead of:-
Code:
pBot->f_waypoint_time = 0.0f;
If I'm not mistaken, some IDEs like Visual Studio use those "0.0" values as doubles instead of floats aka "0.0f". I think if you refactor and make sure those float values have those "f" suffixes may improve your float precision codes.