- Path planning algorithms (Dijkstra, Astar, Jump point search)
- Generating Convex Polytopes(Safe Flight Corridors)
- Trajectory planning(Ax = b, QP)
- Trajectory following control(PD controller)
MATLAB(R2019b is tested)
dijkstra | Astar | Jump Point Search |
---|---|---|
![]() |
![]() |
![]() |
1.642271 seconds | 0.755504 seconds | 0.451664 seconds |
Compare different Trajectory planning:
The Trajectory pass every Path point.
The Trajectory don't need to pass every Path point.
minSnapValue(X + Y + Z) is : 9376.0901
The Trajectory don't need to pass every Path point.
minSnapValue(X + Y + Z) is : 2958.5877
Trajectory following by use PD Controller, you can learn by coursera.
[1] D. Harabor and A. Grastien. 2011. "Online Graph Pruning for Pathfinding on Grid Maps". In Proceedings of the 25th National Conference on Artificial Intelligence (AAAI), San Francisco, USA.
[2] S. Liu, M. Watterson, K. Mohta, K. Sun, S. Bhattacharya, C.J. Taylor, et al., "Planning dynamically feasible trajectories for quadrotors using safe flight corridors in 3-d complex environments", IEEE Robotics and Automation Let- ters, vol. 2, no. 3, pp. 1688-1695, July 2017.
[3] D.W.Mellinger,"Trajectory generation and control for quadrotors"Ph.D. dissertation, Univ. Pennsylvania, Philadelphia, PA, 2012.
[4] D. Mellinger and V. Kumar, "Minimum snap trajectory generation and control for quadrotors", inProc. 2011 IEEE Int. Conf. Robot.Autom.,2011
[5] T. Lee, M. Leoky, and N. H. McClamroch, "Geometric tracking control of a quadrotor UAV on SE (3)" in Proc. 49th IEEE Conf. Decis. Control. IEEE, 2010, pp. 5420–5425.
safe flight corridors: C++ version