Skip to content

Python tool for synchronizing and parallelizing clusters of CPU-based MPCs. Thought for integration with vectorized simulators and for learning-augmented Model Predictive Control. Based on a server-client architecture-

License

Notifications You must be signed in to change notification settings

AndrePatri/MPCHive

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License

icon.svg

If you have developed a MPC controller on CPU and want to do some learning on top of it, while keeping the controllers on CPU, then this might be the right tool for you.

MPCHive was born as a tool to aid data-hungry RL-augmented MPC policies (e.g. AugMPC), where efficient parallelization is crucial for better and faster learning. It can also be used in a standalone fashion for tuning/designing MPCs, swarm robotics (e.g. fleets of MPC-controlled robots), massive MPC benchmarking, sampling-based control and more. Basically, any application which requires many MPCs running in parallel and reliable synchronization between them, is a fit for MPCHive.

All the shared memory and synchronization implementations are based on EigenIPC and python's multiprocess libraries.

About

Python tool for synchronizing and parallelizing clusters of CPU-based MPCs. Thought for integration with vectorized simulators and for learning-augmented Model Predictive Control. Based on a server-client architecture-

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published