TinyMPC
Model-predictive control for microcontrollers, ICRA 2024 Best Paper Award
File Explorer
Download Latest Version (.zip)- cmake-multi-platform.yml
- libtinympc.so
- quadrotor_100hz_params.hpp
- quadrotor_20hz_params.hpp
- quadrotor_50hz_params.hpp
- rocket_landing_params_20hz.hpp
- quadrotor_100hz_ref_hover.hpp
- quadrotor_20hz_ref_hover.hpp
- quadrotor_20hz_y_axis_line.hpp
- cartpole_example.cpp
- CMakeLists.txt
- codegen_cartpole.cpp
- codegen_random.cpp
- quadrotor_hovering.cpp
- quadrotor_linear_constraints.cpp
- quadrotor_tracking.cpp
- quadrotor_tv_linear_constraints.cpp
- rocket_landing_mpc.cpp
- AccelerateSupport.h
- InternalHeaderCheck.h
- InternalHeaderCheck.h
- LDLT.h
- LLT.h
- LLT_LAPACKE.h
- CholmodSupport.h
- InternalHeaderCheck.h
- Complex.h
- MathFunctions.h
- MatrixProduct.h
- MatrixProductCommon.h
- MatrixProductMMA.h
- MatrixProductMMAbfloat16.h
- MatrixVectorProduct.h
- PacketMath.h
- TypeCasting.h
- Complex.h
- MathFunctions.h
- PacketMath.h
- TypeCasting.h
- Complex.h
- GemmKernel.h
- MathFunctions.h
- PacketMath.h
- PacketMathFP16.h
- TrsmKernel.h
- TrsmUnrolls.inc
- TypeCasting.h
- BFloat16.h
- ConjHelper.h
- GenericPacketMathFunctions.h
- GenericPacketMathFunctionsFwd.h
- Half.h
- Settings.h
- Complex.h
- MathFunctions.h
- PacketMath.h
- Tuple.h
- TypeCasting.h
- math_constants.h
- GeneralBlockPanelKernel.h
- PacketMath.h
- Complex.h
- MathFunctions.h
- PacketMath.h
- Complex.h
- GeneralBlockPanelKernel.h
- MathFunctions.h
- PacketMath.h
- TypeCasting.h
- UnaryFunctors.h
- Complex.h
- MathFunctions.h
- PacketMath.h
- TypeCasting.h
- MathFunctions.h
- PacketMath.h
- TypeCasting.h
- InteropHeaders.h
- MathFunctions.h
- PacketMath.h
- TypeCasting.h
- Complex.h
- MathFunctions.h
- PacketMath.h
- AssignmentFunctors.h
- BinaryFunctors.h
- NullaryFunctors.h
- StlFunctors.h
- TernaryFunctors.h
- UnaryFunctors.h
- GeneralBlockPanelKernel.h
- GeneralMatrixMatrix.h
- GeneralMatrixMatrix_BLAS.h
- GeneralMatrixMatrixTriangular.h
- GeneralMatrixMatrixTriangular_BLAS.h
- GeneralMatrixVector.h
- GeneralMatrixVector_BLAS.h
- Parallelizer.h
- SelfadjointMatrixMatrix.h
- SelfadjointMatrixMatrix_BLAS.h
- SelfadjointMatrixVector.h
- SelfadjointMatrixVector_BLAS.h
- SelfadjointProduct.h
- SelfadjointRank2Update.h
- TriangularMatrixMatrix.h
- TriangularMatrixMatrix_BLAS.h
- TriangularMatrixVector.h
- TriangularMatrixVector_BLAS.h
- TriangularSolverMatrix.h
- TriangularSolverMatrix_BLAS.h
- TriangularSolverVector.h
- Assert.h
- BlasUtil.h
- ConfigureVectorization.h
- Constants.h
- DisableStupidWarnings.h
- EmulateArray.h
- ForwardDeclarations.h
- IndexedViewHelper.h
- IntegralConstant.h
- Macros.h
- MaxSizeVector.h
- Memory.h
- Meta.h
- MKL_support.h
- MoreMeta.h
- ReenableStupidWarnings.h
- ReshapedHelper.h
- Serializer.h
- StaticAssert.h
- SymbolicIndex.h
- XprHelper.h
- ArithmeticSequence.h
- Array.h
- ArrayBase.h
- ArrayWrapper.h
- Assign.h
- Assign_MKL.h
- AssignEvaluator.h
- BandMatrix.h
- Block.h
- CommaInitializer.h
- ConditionEstimator.h
- CoreEvaluators.h
- CoreIterators.h
- CwiseBinaryOp.h
- CwiseNullaryOp.h
- CwiseTernaryOp.h
- CwiseUnaryOp.h
- CwiseUnaryView.h
- DenseBase.h
- DenseCoeffsBase.h
- DenseStorage.h
- Diagonal.h
- DiagonalMatrix.h
- DiagonalProduct.h
- Dot.h
- EigenBase.h
- ForceAlignedAccess.h
- Fuzzy.h
- GeneralProduct.h
- GenericPacketMath.h
- GlobalFunctions.h
- IndexedView.h
- InternalHeaderCheck.h
- Inverse.h
- IO.h
- Map.h
- MapBase.h
- MathFunctions.h
- MathFunctionsImpl.h
- Matrix.h
- MatrixBase.h
- NestByValue.h
- NoAlias.h
- NumTraits.h
- PartialReduxEvaluator.h
- PermutationMatrix.h
- PlainObjectBase.h
- Product.h
- ProductEvaluators.h
- Random.h
- Redux.h
- Ref.h
- Replicate.h
- Reshaped.h
- ReturnByValue.h
- Reverse.h
- Select.h
- SelfAdjointView.h
- SelfCwiseBinaryOp.h
- SkewSymmetricMatrix3.h
- Solve.h
- SolverBase.h
- SolveTriangular.h
- StableNorm.h
- StlIterators.h
- Stride.h
- Swap.h
- Transpose.h
- Transpositions.h
- TriangularMatrix.h
- VectorBlock.h
- VectorwiseOp.h
- Visitor.h
- ComplexEigenSolver.h
- ComplexSchur.h
- ComplexSchur_LAPACKE.h
- EigenSolver.h
- GeneralizedEigenSolver.h
- GeneralizedSelfAdjointEigenSolver.h
- HessenbergDecomposition.h
- InternalHeaderCheck.h
- MatrixBaseEigenvalues.h
- RealQZ.h
- RealSchur.h
- RealSchur_LAPACKE.h
- SelfAdjointEigenSolver.h
- SelfAdjointEigenSolver_LAPACKE.h
- Tridiagonalization.h
- Geometry_SIMD.h
- AlignedBox.h
- AngleAxis.h
- EulerAngles.h
- Homogeneous.h
- Hyperplane.h
- InternalHeaderCheck.h
- OrthoMethods.h
- ParametrizedLine.h
- Quaternion.h
- Rotation2D.h
- RotationBase.h
- Scaling.h
- Transform.h
- Translation.h
- Umeyama.h
- BlockHouseholder.h
- Householder.h
- HouseholderSequence.h
- InternalHeaderCheck.h
- BasicPreconditioners.h
- BiCGSTAB.h
- ConjugateGradient.h
- IncompleteCholesky.h
- IncompleteLUT.h
- InternalHeaderCheck.h
- IterativeSolverBase.h
- LeastSquareConjugateGradient.h
- SolveWithGuess.h
- InternalHeaderCheck.h
- Jacobi.h
- InternalHeaderCheck.h
- KLUSupport.h
- InverseSize4.h
- Determinant.h
- FullPivLU.h
- InternalHeaderCheck.h
- InverseImpl.h
- PartialPivLU.h
- PartialPivLU_LAPACKE.h
- InternalHeaderCheck.h
- MetisSupport.h
- blas.h
- Image.h
- InternalHeaderCheck.h
- Kernel.h
- lapacke.h
- lapacke_helpers.h
- lapacke_mangling.h
- RealSvd2x2.h
- Amd.h
- Eigen_Colamd.h
- InternalHeaderCheck.h
- Ordering.h
- InternalHeaderCheck.h
- PardisoSupport.h
- InternalHeaderCheck.h
- PaStiXSupport.h
- ArrayCwiseBinaryOps.h
- ArrayCwiseUnaryOps.h
- BlockMethods.h
- CommonCwiseBinaryOps.h
- CommonCwiseUnaryOps.h
- IndexedViewMethods.h
- InternalHeaderCheck.h
- MatrixCwiseBinaryOps.h
- MatrixCwiseUnaryOps.h
- ReshapedMethods.h
- ColPivHouseholderQR.h
- ColPivHouseholderQR_LAPACKE.h
- CompleteOrthogonalDecomposition.h
- FullPivHouseholderQR.h
- HouseholderQR.h
- HouseholderQR_LAPACKE.h
- InternalHeaderCheck.h
- InternalHeaderCheck.h
- SimplicialCholesky.h
- SimplicialCholesky_impl.h
- AmbiVector.h
- CompressedStorage.h
- ConservativeSparseSparseProduct.h
- InternalHeaderCheck.h
- SparseAssign.h
- SparseBlock.h
- SparseColEtree.h
- SparseCompressedBase.h
- SparseCwiseBinaryOp.h
- SparseCwiseUnaryOp.h
- SparseDenseProduct.h
- SparseDiagonalProduct.h
- SparseDot.h
- SparseFuzzy.h
- SparseMap.h
- SparseMatrix.h
- SparseMatrixBase.h
- SparsePermutation.h
- SparseProduct.h
- SparseRedux.h
- SparseRef.h
- SparseSelfAdjointView.h
- SparseSolverBase.h
- SparseSparseProductWithPruning.h
- SparseTranspose.h
- SparseTriangularView.h
- SparseUtil.h
- SparseVector.h
- SparseView.h
- TriangularSolver.h
- InternalHeaderCheck.h
- SparseLU.h
- SparseLU_column_bmod.h
- SparseLU_column_dfs.h
- SparseLU_copy_to_ucol.h
- SparseLU_heap_relax_snode.h
- SparseLU_kernel_bmod.h
- SparseLU_Memory.h
- SparseLU_panel_bmod.h
- SparseLU_panel_dfs.h
- SparseLU_pivotL.h
- SparseLU_pruneL.h
- SparseLU_relax_snode.h
- SparseLU_Structs.h
- SparseLU_SupernodalMatrix.h
- SparseLU_Utils.h
- SparseLUImpl.h
- InternalHeaderCheck.h
- SparseQR.h
- InternalHeaderCheck.h
- SuiteSparseQRSupport.h
- details.h
- StdDeque.h
- StdList.h
- StdVector.h
- InternalHeaderCheck.h
- SuperLUSupport.h
- BDCSVD.h
- BDCSVD_LAPACKE.h
- InternalHeaderCheck.h
- JacobiSVD.h
- JacobiSVD_LAPACKE.h
- SVDBase.h
- UpperBidiagonalization.h
- Barrier.h
- EventCount.h
- InternalHeaderCheck.h
- NonBlockingThreadPool.h
- RunQueue.h
- ThreadCancel.h
- ThreadEnvironment.h
- ThreadLocal.h
- ThreadPoolInterface.h
- ThreadYield.h
- InternalHeaderCheck.h
- UmfPackSupport.h
- AccelerateSupport
- Cholesky
- CholmodSupport
- Core
- Dense
- Eigen
- Eigenvalues
- Geometry
- Householder
- IterativeLinearSolvers
- Jacobi
- KLUSupport
- LU
- MetisSupport
- OrderingMethods
- PardisoSupport
- PaStiXSupport
- QR
- QtAlignedMalloc
- Sparse
- SparseCholesky
- SparseCore
- SparseLU
- SparseQR
- SPQRSupport
- StdDeque
- StdList
- StdVector
- SuperLUSupport
- SVD
- ThreadPool
- UmfPackSupport
- Eigen.h
- admm.cpp
- admm.hpp
- CMakeLists.txt
- codegen.cpp
- codegen.hpp
- error.hpp
- rho_benchmark.cpp
- rho_benchmark.hpp
- tiny_api.cpp
- tiny_api.hpp
- tiny_api_constants.hpp
- types.hpp
- .gitignore
- CMakeLists.txt
- LICENSE
- README.md
# Installation Guide
1. Get the code
git clone https://github.com/TinyMPC/TinyMPC
Downloads the entire project code from GitHub to your computer.
cd TinyMPC
Moves into the project folder you just downloaded.
2. CMake
Medium RecommendedPrerequisites
cmake ..
Analyzes the source code and generates build configuration files (must be run inside the build folder).
cmake --build .
Type this command into your terminal and run it.
Check that an executable was created inside the build folder, then run it directly (e.g. ./build/app_name).
Pulled directly from this repo's README.
// repository documentation
Was this content helpful?
(0 ratings)
