├── .devcontainer ├── devcontainer.json └── docker-compose.yml ├── .gitignore ├── .gitlab-ci.yml ├── .gitmodules ├── .vscode ├── c_cpp_properties.json ├── settings.json └── tasks.json ├── CHANGELOG.md ├── CMakeLists.txt ├── Dockerfile ├── Doxyfile ├── LICENSE ├── README.md ├── cmake ├── modules │ └── CodeCoverage.cmake └── mpc++Config.cmake.in ├── configure.sh ├── docs ├── Makefile ├── requirements.txt └── source │ ├── api │ ├── api.rst │ └── reference.rst │ ├── cite │ └── cite.rst │ ├── conf.py │ ├── index.rst │ ├── introduction │ └── introduction.rst │ └── manual │ └── manual.rst ├── examples ├── CMakeLists.txt ├── networked_oscillators_ex.cpp ├── quadrotor_ex.cpp ├── ugv_ex.cpp └── vanderpol_ex.cpp ├── include └── mpc │ ├── Dim.hpp │ ├── IComponent.hpp │ ├── IDimensionable.hpp │ ├── IMPC.hpp │ ├── IOptimizer.hpp │ ├── Integrator.hpp │ ├── LMPC.hpp │ ├── LMPC │ ├── LOptimizer.hpp │ └── ProblemBuilder.hpp │ ├── Logger.hpp │ ├── NLMPC.hpp │ ├── NLMPC │ ├── Base.hpp │ ├── Constraints.hpp │ ├── Mapping.hpp │ ├── Model.hpp │ ├── NLOptimizer.hpp │ └── Objective.hpp │ ├── Profiler.hpp │ ├── Types.hpp │ └── Utils.hpp ├── misc └── benchmark.py ├── python ├── .gitignore ├── CMakeLists.txt ├── INFO.md ├── build.sh ├── examples │ ├── example.py │ └── example_nl.py ├── pybind_export.cpp ├── pympcxx │ └── __init__.py ├── requirements.txt └── setup.py └── test ├── CMakeLists.txt ├── LMPC ├── test_common.cpp ├── test_constraints.cpp └── test_lmpc.cpp ├── MATLAB ├── test_discrete_lti_siso.m └── test_vanderpol.m ├── NLMPC ├── test_common.cpp ├── test_constraints.cpp ├── test_nlmpc.cpp ├── test_nloptimizer.cpp └── test_objective.cpp ├── include └── basic.hpp ├── test_logger.cpp ├── test_main.cpp ├── test_profiler.cpp └── test_utils.cpp /.devcontainer/devcontainer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/.devcontainer/devcontainer.json -------------------------------------------------------------------------------- /.devcontainer/docker-compose.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/.devcontainer/docker-compose.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitlab-ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/.gitlab-ci.yml -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/.gitmodules -------------------------------------------------------------------------------- /.vscode/c_cpp_properties.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/.vscode/c_cpp_properties.json -------------------------------------------------------------------------------- /.vscode/settings.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/.vscode/settings.json -------------------------------------------------------------------------------- /.vscode/tasks.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/.vscode/tasks.json -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/CMakeLists.txt -------------------------------------------------------------------------------- /Dockerfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/Dockerfile -------------------------------------------------------------------------------- /Doxyfile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/Doxyfile -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/README.md -------------------------------------------------------------------------------- /cmake/modules/CodeCoverage.cmake: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/cmake/modules/CodeCoverage.cmake -------------------------------------------------------------------------------- /cmake/mpc++Config.cmake.in: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/cmake/mpc++Config.cmake.in -------------------------------------------------------------------------------- /configure.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/configure.sh -------------------------------------------------------------------------------- /docs/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/docs/Makefile -------------------------------------------------------------------------------- /docs/requirements.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/docs/requirements.txt -------------------------------------------------------------------------------- /docs/source/api/api.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/docs/source/api/api.rst -------------------------------------------------------------------------------- /docs/source/api/reference.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/docs/source/api/reference.rst -------------------------------------------------------------------------------- /docs/source/cite/cite.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/docs/source/cite/cite.rst -------------------------------------------------------------------------------- /docs/source/conf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/docs/source/conf.py -------------------------------------------------------------------------------- /docs/source/index.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/docs/source/index.rst -------------------------------------------------------------------------------- /docs/source/introduction/introduction.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/docs/source/introduction/introduction.rst -------------------------------------------------------------------------------- /docs/source/manual/manual.rst: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/docs/source/manual/manual.rst -------------------------------------------------------------------------------- /examples/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/examples/CMakeLists.txt -------------------------------------------------------------------------------- /examples/networked_oscillators_ex.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/examples/networked_oscillators_ex.cpp -------------------------------------------------------------------------------- /examples/quadrotor_ex.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/examples/quadrotor_ex.cpp -------------------------------------------------------------------------------- /examples/ugv_ex.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/examples/ugv_ex.cpp -------------------------------------------------------------------------------- /examples/vanderpol_ex.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/examples/vanderpol_ex.cpp -------------------------------------------------------------------------------- /include/mpc/Dim.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/Dim.hpp -------------------------------------------------------------------------------- /include/mpc/IComponent.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/IComponent.hpp -------------------------------------------------------------------------------- /include/mpc/IDimensionable.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/IDimensionable.hpp -------------------------------------------------------------------------------- /include/mpc/IMPC.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/IMPC.hpp -------------------------------------------------------------------------------- /include/mpc/IOptimizer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/IOptimizer.hpp -------------------------------------------------------------------------------- /include/mpc/Integrator.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/Integrator.hpp -------------------------------------------------------------------------------- /include/mpc/LMPC.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/LMPC.hpp -------------------------------------------------------------------------------- /include/mpc/LMPC/LOptimizer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/LMPC/LOptimizer.hpp -------------------------------------------------------------------------------- /include/mpc/LMPC/ProblemBuilder.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/LMPC/ProblemBuilder.hpp -------------------------------------------------------------------------------- /include/mpc/Logger.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/Logger.hpp -------------------------------------------------------------------------------- /include/mpc/NLMPC.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/NLMPC.hpp -------------------------------------------------------------------------------- /include/mpc/NLMPC/Base.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/NLMPC/Base.hpp -------------------------------------------------------------------------------- /include/mpc/NLMPC/Constraints.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/NLMPC/Constraints.hpp -------------------------------------------------------------------------------- /include/mpc/NLMPC/Mapping.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/NLMPC/Mapping.hpp -------------------------------------------------------------------------------- /include/mpc/NLMPC/Model.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/NLMPC/Model.hpp -------------------------------------------------------------------------------- /include/mpc/NLMPC/NLOptimizer.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/NLMPC/NLOptimizer.hpp -------------------------------------------------------------------------------- /include/mpc/NLMPC/Objective.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/NLMPC/Objective.hpp -------------------------------------------------------------------------------- /include/mpc/Profiler.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/Profiler.hpp -------------------------------------------------------------------------------- /include/mpc/Types.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/Types.hpp -------------------------------------------------------------------------------- /include/mpc/Utils.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/include/mpc/Utils.hpp -------------------------------------------------------------------------------- /misc/benchmark.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/misc/benchmark.py -------------------------------------------------------------------------------- /python/.gitignore: -------------------------------------------------------------------------------- 1 | build/ 2 | dist/ 3 | pympcxx.egg-info/ 4 | *.so -------------------------------------------------------------------------------- /python/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/python/CMakeLists.txt -------------------------------------------------------------------------------- /python/INFO.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/python/INFO.md -------------------------------------------------------------------------------- /python/build.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/python/build.sh -------------------------------------------------------------------------------- /python/examples/example.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/python/examples/example.py -------------------------------------------------------------------------------- /python/examples/example_nl.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/python/examples/example_nl.py -------------------------------------------------------------------------------- /python/pybind_export.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/python/pybind_export.cpp -------------------------------------------------------------------------------- /python/pympcxx/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /python/requirements.txt: -------------------------------------------------------------------------------- 1 | pybind11 2 | setuptools 3 | wheel 4 | twine -------------------------------------------------------------------------------- /python/setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/python/setup.py -------------------------------------------------------------------------------- /test/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/CMakeLists.txt -------------------------------------------------------------------------------- /test/LMPC/test_common.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/LMPC/test_common.cpp -------------------------------------------------------------------------------- /test/LMPC/test_constraints.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/LMPC/test_constraints.cpp -------------------------------------------------------------------------------- /test/LMPC/test_lmpc.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/LMPC/test_lmpc.cpp -------------------------------------------------------------------------------- /test/MATLAB/test_discrete_lti_siso.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/MATLAB/test_discrete_lti_siso.m -------------------------------------------------------------------------------- /test/MATLAB/test_vanderpol.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/MATLAB/test_vanderpol.m -------------------------------------------------------------------------------- /test/NLMPC/test_common.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/NLMPC/test_common.cpp -------------------------------------------------------------------------------- /test/NLMPC/test_constraints.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/NLMPC/test_constraints.cpp -------------------------------------------------------------------------------- /test/NLMPC/test_nlmpc.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/NLMPC/test_nlmpc.cpp -------------------------------------------------------------------------------- /test/NLMPC/test_nloptimizer.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/NLMPC/test_nloptimizer.cpp -------------------------------------------------------------------------------- /test/NLMPC/test_objective.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/NLMPC/test_objective.cpp -------------------------------------------------------------------------------- /test/include/basic.hpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/include/basic.hpp -------------------------------------------------------------------------------- /test/test_logger.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/test_logger.cpp -------------------------------------------------------------------------------- /test/test_main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/test_main.cpp -------------------------------------------------------------------------------- /test/test_profiler.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/test_profiler.cpp -------------------------------------------------------------------------------- /test/test_utils.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nicolapiccinelli/libmpc/HEAD/test/test_utils.cpp --------------------------------------------------------------------------------