Skip to content

Model-predictive control for microcontrollers (fork mapping tinyMPC to gemmini or other HW accelerators)

License

Notifications You must be signed in to change notification settings

ucb-bar/Accelerated-TinyMPC

 
 

Repository files navigation

Accelerated TinyMPC

This repository contains the implementation of Accelerated TinyMPC, a project focused on design space exploration of embedded architectures for real-time optimal control. It aims to profile, optimize, and accelerate TinyMPC workloads using scalar CPUs, vector architectures, and domain-specific accelerators. The project provides profiling and acceleration results; and demonstrates quantitative performance and area trade-offs across various architectures, aiming to find the most effective hardware optimizations for robotic model-based control algorithms.

Building on Ubuntu

  1. On terminal, clone this repo
git clone [email protected]:TinyMPC/TinyMPC.git
  1. Navigate to root directory and run
mkdir build && cd build
  1. Run CMake configure step
cmake ../
  1. Build TinyMPC
make 

Examples

  • Run the quadrotor hovering example
./examples/example_quadrotor_hovering
  • Run the codegen example then follow the same building steps inside that directory
./examples/example_codegen

Running on MCUs

To be documented

Notes

About

Model-predictive control for microcontrollers (fork mapping tinyMPC to gemmini or other HW accelerators)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 98.8%
  • Other 1.2%