This is a Julia suite for trajectory optimization using the Guaranteed Sequential Trajectory Optimization (GuSTO) framework. Details can be found in this paper.
GuSTO.jl runs on julia v1.X, although an older version running on julia v0.6.4 can be found in the julia-v0.6 branch.
Also required are the BulletCollision.jl and AstrobeeRobot.jl packages. GuSTO.jl performs optimization through the JuMP.jl interface, and Gurobi and Ipopt are currently used in examples.
An example notebook can be run through:
jupyter notebook examples/freeflyerSE2.ipynb
Click to watch demo video:
- R. Bonalli, A. Cauligi, A. Bylard, and M. Pavone, "GuSTO: Guaranteed Sequential Trajectory Optimization via Sequential Convex Programming," in Proc. IEEE Conf. on Robotics and Automation, 2019.
- R. Bonalli, A. Bylard, A. Cauligi, T. Lew, and M. Pavone, "Trajectory Optimization on Manifolds: A Theoretically-Guaranteed Embedded Sequential Convex Programming Approach," in Robotics: Science and Systems, 2019.
- R. Bonalli, T. Lew, and M. Pavone, "Analysis of Theoretical and Numerical Properties of Sequential Convex Programming for Continuous-Time Optimal Control," in IEEE Transactions on Automatic Control, 2022.
We recommend using the Julia implementation of GuSTO available at https://github.com/UW-ACL/SCPToolbox.jl.