├── C++ ├── .gitignore ├── CMakeLists.txt ├── Constraints │ ├── bounds.cpp │ ├── bounds.h │ ├── constraints.cpp │ ├── constraints.h │ ├── soft_constraints.cpp │ └── soft_constraints.h ├── Cost │ ├── cost.cpp │ └── cost.h ├── Interfaces │ ├── hpipm_interface.cpp │ ├── hpipm_interface.h │ ├── solver_interface.cpp │ └── solver_interface.h ├── MPC │ ├── mpc.cpp │ └── mpc.h ├── Model │ ├── integrator.cpp │ ├── integrator.h │ ├── model.cpp │ └── model.h ├── Params │ ├── bounds.json │ ├── config.json │ ├── cost.json │ ├── model.json │ ├── normalization.json │ ├── params.cpp │ ├── params.h │ ├── track.cpp │ ├── track.h │ └── track.json ├── Plotting │ ├── plotting.cpp │ └── plotting.h ├── README.md ├── Spline │ ├── arc_length_spline.cpp │ ├── arc_length_spline.h │ ├── cubic_spline.cpp │ └── cubic_spline.h ├── Tests │ ├── constratins_test.cpp │ ├── constratins_test.h │ ├── cost_test.cpp │ ├── cost_test.h │ ├── model_integrator_test.cpp │ ├── model_integrator_test.h │ ├── spline_test.cpp │ └── spline_test.h ├── config.h ├── install.sh ├── main.cpp ├── types.cpp └── types.h ├── Images ├── MPC_sim.gif ├── Model.jpg ├── NMPCC_problem.jpg ├── TireModel.jpg ├── constraints_cpp.jpg ├── cost_cpp.jpg ├── forces_cpp.jpg ├── model_cpp.jpg ├── state-input.jpg └── state_input_cpp.jpg ├── LICENSE ├── Matlab ├── CVXInterface.m ├── DiscretizedLinearizedModel.m ├── ObstacelsState.m ├── PlotLog.m ├── PlotPrediction.m ├── QuadProgInterface.m ├── README.md ├── SimTimeStep.m ├── Tracks │ ├── track2.mat │ └── trackMobil.mat ├── YalmipInterface.m ├── augState.m ├── borderAdjustment.m ├── carBox.m ├── env.sh ├── findTheta.m ├── getMPC_vars.m ├── getMPCmatrices.m ├── getModelParams.m ├── getNewBorders.m ├── hpipmInterface.m ├── optimizer_mpcc.m ├── simulation.m ├── splines │ ├── computeCenter.m │ ├── getSplineDerivatives.m │ ├── normalizedSplineInterp.m │ ├── regularindex.m │ ├── spline5.m │ ├── splineInterp.m │ ├── splinelength.m │ └── splinify.m └── unWrapX0.m └── README.md /C++/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/.gitignore -------------------------------------------------------------------------------- /C++/CMakeLists.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/CMakeLists.txt -------------------------------------------------------------------------------- /C++/Constraints/bounds.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Constraints/bounds.cpp -------------------------------------------------------------------------------- /C++/Constraints/bounds.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Constraints/bounds.h -------------------------------------------------------------------------------- /C++/Constraints/constraints.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Constraints/constraints.cpp -------------------------------------------------------------------------------- /C++/Constraints/constraints.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Constraints/constraints.h -------------------------------------------------------------------------------- /C++/Constraints/soft_constraints.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Constraints/soft_constraints.cpp -------------------------------------------------------------------------------- /C++/Constraints/soft_constraints.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Constraints/soft_constraints.h -------------------------------------------------------------------------------- /C++/Cost/cost.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Cost/cost.cpp -------------------------------------------------------------------------------- /C++/Cost/cost.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Cost/cost.h -------------------------------------------------------------------------------- /C++/Interfaces/hpipm_interface.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Interfaces/hpipm_interface.cpp -------------------------------------------------------------------------------- /C++/Interfaces/hpipm_interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Interfaces/hpipm_interface.h -------------------------------------------------------------------------------- /C++/Interfaces/solver_interface.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Interfaces/solver_interface.cpp -------------------------------------------------------------------------------- /C++/Interfaces/solver_interface.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Interfaces/solver_interface.h -------------------------------------------------------------------------------- /C++/MPC/mpc.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/MPC/mpc.cpp -------------------------------------------------------------------------------- /C++/MPC/mpc.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/MPC/mpc.h -------------------------------------------------------------------------------- /C++/Model/integrator.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Model/integrator.cpp -------------------------------------------------------------------------------- /C++/Model/integrator.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Model/integrator.h -------------------------------------------------------------------------------- /C++/Model/model.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Model/model.cpp -------------------------------------------------------------------------------- /C++/Model/model.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Model/model.h -------------------------------------------------------------------------------- /C++/Params/bounds.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Params/bounds.json -------------------------------------------------------------------------------- /C++/Params/config.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Params/config.json -------------------------------------------------------------------------------- /C++/Params/cost.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Params/cost.json -------------------------------------------------------------------------------- /C++/Params/model.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Params/model.json -------------------------------------------------------------------------------- /C++/Params/normalization.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Params/normalization.json -------------------------------------------------------------------------------- /C++/Params/params.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Params/params.cpp -------------------------------------------------------------------------------- /C++/Params/params.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Params/params.h -------------------------------------------------------------------------------- /C++/Params/track.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Params/track.cpp -------------------------------------------------------------------------------- /C++/Params/track.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Params/track.h -------------------------------------------------------------------------------- /C++/Params/track.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Params/track.json -------------------------------------------------------------------------------- /C++/Plotting/plotting.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Plotting/plotting.cpp -------------------------------------------------------------------------------- /C++/Plotting/plotting.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Plotting/plotting.h -------------------------------------------------------------------------------- /C++/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/README.md -------------------------------------------------------------------------------- /C++/Spline/arc_length_spline.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Spline/arc_length_spline.cpp -------------------------------------------------------------------------------- /C++/Spline/arc_length_spline.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Spline/arc_length_spline.h -------------------------------------------------------------------------------- /C++/Spline/cubic_spline.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Spline/cubic_spline.cpp -------------------------------------------------------------------------------- /C++/Spline/cubic_spline.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Spline/cubic_spline.h -------------------------------------------------------------------------------- /C++/Tests/constratins_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Tests/constratins_test.cpp -------------------------------------------------------------------------------- /C++/Tests/constratins_test.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Tests/constratins_test.h -------------------------------------------------------------------------------- /C++/Tests/cost_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Tests/cost_test.cpp -------------------------------------------------------------------------------- /C++/Tests/cost_test.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Tests/cost_test.h -------------------------------------------------------------------------------- /C++/Tests/model_integrator_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Tests/model_integrator_test.cpp -------------------------------------------------------------------------------- /C++/Tests/model_integrator_test.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Tests/model_integrator_test.h -------------------------------------------------------------------------------- /C++/Tests/spline_test.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Tests/spline_test.cpp -------------------------------------------------------------------------------- /C++/Tests/spline_test.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/Tests/spline_test.h -------------------------------------------------------------------------------- /C++/config.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/config.h -------------------------------------------------------------------------------- /C++/install.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/install.sh -------------------------------------------------------------------------------- /C++/main.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/main.cpp -------------------------------------------------------------------------------- /C++/types.cpp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/types.cpp -------------------------------------------------------------------------------- /C++/types.h: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/C++/types.h -------------------------------------------------------------------------------- /Images/MPC_sim.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Images/MPC_sim.gif -------------------------------------------------------------------------------- /Images/Model.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Images/Model.jpg -------------------------------------------------------------------------------- /Images/NMPCC_problem.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Images/NMPCC_problem.jpg -------------------------------------------------------------------------------- /Images/TireModel.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Images/TireModel.jpg -------------------------------------------------------------------------------- /Images/constraints_cpp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Images/constraints_cpp.jpg -------------------------------------------------------------------------------- /Images/cost_cpp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Images/cost_cpp.jpg -------------------------------------------------------------------------------- /Images/forces_cpp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Images/forces_cpp.jpg -------------------------------------------------------------------------------- /Images/model_cpp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Images/model_cpp.jpg -------------------------------------------------------------------------------- /Images/state-input.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Images/state-input.jpg -------------------------------------------------------------------------------- /Images/state_input_cpp.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Images/state_input_cpp.jpg -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/LICENSE -------------------------------------------------------------------------------- /Matlab/CVXInterface.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/CVXInterface.m -------------------------------------------------------------------------------- /Matlab/DiscretizedLinearizedModel.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/DiscretizedLinearizedModel.m -------------------------------------------------------------------------------- /Matlab/ObstacelsState.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/ObstacelsState.m -------------------------------------------------------------------------------- /Matlab/PlotLog.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/PlotLog.m -------------------------------------------------------------------------------- /Matlab/PlotPrediction.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/PlotPrediction.m -------------------------------------------------------------------------------- /Matlab/QuadProgInterface.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/QuadProgInterface.m -------------------------------------------------------------------------------- /Matlab/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/README.md -------------------------------------------------------------------------------- /Matlab/SimTimeStep.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/SimTimeStep.m -------------------------------------------------------------------------------- /Matlab/Tracks/track2.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/Tracks/track2.mat -------------------------------------------------------------------------------- /Matlab/Tracks/trackMobil.mat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/Tracks/trackMobil.mat -------------------------------------------------------------------------------- /Matlab/YalmipInterface.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/YalmipInterface.m -------------------------------------------------------------------------------- /Matlab/augState.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/augState.m -------------------------------------------------------------------------------- /Matlab/borderAdjustment.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/borderAdjustment.m -------------------------------------------------------------------------------- /Matlab/carBox.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/carBox.m -------------------------------------------------------------------------------- /Matlab/env.sh: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/env.sh -------------------------------------------------------------------------------- /Matlab/findTheta.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/findTheta.m -------------------------------------------------------------------------------- /Matlab/getMPC_vars.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/getMPC_vars.m -------------------------------------------------------------------------------- /Matlab/getMPCmatrices.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/getMPCmatrices.m -------------------------------------------------------------------------------- /Matlab/getModelParams.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/getModelParams.m -------------------------------------------------------------------------------- /Matlab/getNewBorders.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/getNewBorders.m -------------------------------------------------------------------------------- /Matlab/hpipmInterface.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/hpipmInterface.m -------------------------------------------------------------------------------- /Matlab/optimizer_mpcc.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/optimizer_mpcc.m -------------------------------------------------------------------------------- /Matlab/simulation.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/simulation.m -------------------------------------------------------------------------------- /Matlab/splines/computeCenter.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/splines/computeCenter.m -------------------------------------------------------------------------------- /Matlab/splines/getSplineDerivatives.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/splines/getSplineDerivatives.m -------------------------------------------------------------------------------- /Matlab/splines/normalizedSplineInterp.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/splines/normalizedSplineInterp.m -------------------------------------------------------------------------------- /Matlab/splines/regularindex.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/splines/regularindex.m -------------------------------------------------------------------------------- /Matlab/splines/spline5.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/splines/spline5.m -------------------------------------------------------------------------------- /Matlab/splines/splineInterp.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/splines/splineInterp.m -------------------------------------------------------------------------------- /Matlab/splines/splinelength.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/splines/splinelength.m -------------------------------------------------------------------------------- /Matlab/splines/splinify.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/splines/splinify.m -------------------------------------------------------------------------------- /Matlab/unWrapX0.m: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/Matlab/unWrapX0.m -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alexliniger/MPCC/HEAD/README.md --------------------------------------------------------------------------------