icsl-Jeon / traj_gen-matlab

Optimal trajectory generation
MIT License
55 stars 17 forks source link
minimum-jerk minimum-snap-trajectories optimization trajectory trajectory-generation trajectory-planning

traj_gen : a continuous trajectory generation with simple API (MATLAB)

GitHub release (latest by date) View traj_gen-matlab on File Exchange

traj_gen is a continuous trajectory generation package where high order derivatives along the trajectory are minimized while satisfying waypoints (equality) and axis-parallel box constraint (inequality). The objective and constraints are formulated in quadratic programming (QP) to cater the real-time performance. C++ implementation can be found here.

Matlab API quick start (poly_exmaple/main3D.m)

Also, check multiple examples in ./poly_example and ./optimal_example. The below is an example main2D.m where we can interactively select pin information.

Detailed description on API

1. Parameters (arguments in constructor and setDerivativeObj method)

[1] Mellinger, Daniel, and Vijay Kumar. "Minimum snap trajectory generation and control for quadrotors." 2011 IEEE International Conference on Robotics and Automation. IEEE, 2011.

[2] Richter, Charles, Adam Bry, and Nicholas Roy. "Polynomial trajectory planning for aggressive quadrotor flight in dense indoor environments." Robotics Research. Springer, Cham, 2016. 649-666.

[3] Ratliff, Nathan, et al. "CHOMP: Gradient optimization techniques for efficient motion planning." 2009 IEEE International Conference on Robotics and Automation. IEEE, 2009.