Hi guys,
I m developing a quadcopter but I'm looking for literatur or example code (algorithm) to write a program in C++. In order to fly throught 3D waypoints it must implement a controller for the path.
Could yu link some interesting and useful tutorials/papers/litaratur?
Thank you very much
Regards!!!
Replies
You're looking for a path-finding algorithm. There are two I know of that might apply to you.
A* (pronounced A-star) is an algorithm that has seen extensive use in video-games. It needs a map of the area it's supposed to navigate first, represented by a mesh of nodes. The algorithm then iterates through these nodes, choosing the shortest path to it's destination. There are many, many examples of A* out there, and probably plenty of example code in C++.
The other is D*. This algorithm is usually used in autonomous vehicles, but there are fewer examples compared to A*. It shouldn't be too difficult to find some papers describing the algorithm.
Hi, can I implement this A* or D* algorithm to Arduino board? thanks
I don't see why not. The algorithm is basically a couple of lists, and some simple comparisons. The most complex thing the computer needs to do is the heuristic calculation, which will probably be the distance formula: sqrt(X^2 + Y^2), although you can use other heuristics.
This is one of the best resources I've found for learning about A*.
Thank you very much Sean for your answer.
What I was looking for, is a PID or PD algotihm for flying the path as precise as possible.
BUT you gave me really a good suggestion because for implementing it I need anyway such path-finding code.
A* sounds really good because I writing now a driver for a quadrotor that is going to run in Gazebo as software simulator.
Thanks!