A simple, header-only C++ library for solving nonlinear trajectory optimization problems using an iLQR method combined with a box-constrained optimization solver.
Simply add the following to your CMakeLists.txt file.
include(FetchContent)
FetchContent_Declare(
eigen3
GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
GIT_TAG 3.4.0
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
)
FetchContent_Declare(
projected-descent
GIT_REPOSITORY https://github.com/JuDO-dev/projected-descent.git
GIT_TAG main
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
)
FetchContent_Declare(
constrained-ilqr
GIT_REPOSITORY https://github.com/JuDO-dev/constrained-ilqr.git
GIT_TAG main
GIT_SHALLOW TRUE
GIT_PROGRESS TRUE
)
FetchContent_MakeAvailable(eigen3 constrained-ilqr)
target_link_libraries(YOUR_TARGET
Eigen3::Eigen
constrained_ilqr
)
Find the following usage examples within the tests
directory.
tests/test_integrator.cpp
tests/test_two_link_arm.cpp