This repository is a C++/CUDA header-only library implementing Model Predictive Path Integral (MPPI) control, a sampling-based trajectory optimization method for real-time robotic control. It provides multiple controller variants including Vanilla MPPI, Tube-MPPI, Robust-MPPI, and Colored-MPPI, each designed to handle different robustness and noise characteristics. The architecture uses CRTP (Curiously Recurring Template Pattern) to achieve device-side polymorphism without virtual functions, enabling efficient GPU execution. The library includes a broad set of dynamics models (cartpole, double integrator, quadrotor, dubins car, autorally neural network models, racer dubins with elevation and suspension) and corresponding cost functions, along with Gaussian, colored noise, and log-normal sampling distributions. It also integrates DDP and CCM feedback controllers, and provides utilities for neural network inference (LSTM, FNN) and texture-based costmap queries on GPU. Typical use cases are autonomous racing and off-road vehicle control, where the library's GPU acceleration allows thousands of trajectory rollouts to be evaluated in real-time. The codebase is well-structured with extensive tests using Google Test and Google Mock, covering kernel correctness, dynamics, cost functions, and full controller pipelines. It includes real-time control loop abstractions (BasePlant, BufferedPlant) and supports integration with ROS via state interpolation and parameter updates. The library is research-grade, citing Williams et al. 2017 and including implementations of concepts like robust free-energy bounds and colored noise shaping. While the overall architecture is sound and many components are reusable, the codebase shows signs of research-driven growth: some modules contain commented-out code, skipped tests, and conditional compilation flags. Manual CUDA memory management and complex template hierarchies increase the learning curve. Despite this, the library is actively maintained and offers high-quality reusable patterns for GPU-accelerated control, making it a strong reference for MPPI implementations in robotics.
This repository is not a software application, service, or data pipeline; it is a curated awesome-list of open-source multiparty computation (MPC) resources, stored almost entirely as a single Markdown document plus contribution and code-of-conduct files. The core artifact, readme.md, categorizes roughly 100 projects and educational materials into Theory (books, courses, tutorials), Software (apps, frameworks, primitives, protocols, tools, retired software), and Workshops. Each entry includes a concise description, links to relevant academic papers, and maintenance context. There is no executable code, no package manifest, no CI configuration, and no tests; the repository's real architecture is its taxonomy and the editorial rules in contributing.md.
This repository implements a hierarchical controller for quadruped locomotion that combines a high-level reinforcement learning policy with a low-level model predictive controller (MPC). The RL policy dynamically predicts weight parameters for the MPC, which computes optimal ground reaction forces and joint torques. The codebase includes Isaac Gym training environments for the Unitree A1, Go1, and Aliengo robots, along with a custom C++ MPC solver (OSQP-based) and a finite state machine for robust transient handling. While primarily a research project that bridges RL and MPC for legged robots, it also provides reusable robotics components such as state estimators, leg controllers, gait pattern generators, and foot swing trajectory planners. The work is based on the MIT Cheetah software and includes detailed development logs and configuration files for reproducible experiments.