mpc_local_planner - The mpc_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack

  •        78

The mpc_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. It provides a generic and versatile model predictive control implementation with minimum-time and quadratic-form receding-horizon configurations. For custom build instructions (e.g. compilation with other third-party solvers) see this wiki.



Related Projects

teb_local_planner - An optimal trajectory planner considering distinctive topologies for mobile robots based on Timed-Elastic-Bands (ROS Package)

  •    C++

The teb_local_planner package implements a plugin to the base_local_planner of the 2D navigation stack. The underlying method called Timed Elastic Band locally optimizes the robot's trajectory with respect to trajectory execution time, separation from obstacles and compliance with kinodynamic constraints at runtime. Refer to for more information and tutorials.

towr - A light-weight, Eigen-based C++ library for trajectory optimization for legged robots.

  •    C++

A light-weight and extensible C++ library for trajectory optimization for legged robots. A base-set of variables, costs and constraints that can be combined and extended to formulate trajectory optimization problems for legged systems. These implementations have been used to generate a variety of motions such as monoped hopping, biped walking, or a complete quadruped trotting cycle, while optimizing over the gait and step durations in less than 100ms (paper).

free_gait - An Architecture for the Versatile Control of Legged Robots

  •    C++

NOTICE: This software is not supported anymore! The authors of this software have changed their affiliation and do not work on this project anymore. Please excuse any inconvenience this might cause. If you are interested in working with the ANYmal robot, please reach out to ANYbotics. Free Gait is a software framework for the versatile, robust, and task-oriented control of legged robots. The Free Gait interface defines a whole-body abstraction layer to accommodate a variety of task-space control commands such as end effector, joint, and base motions. The defined motion tasks are tracked with a feedback whole-body controller to ensure accurate and robust motion execution even under slip and external disturbances. The application of this framework includes intuitive tele-operation of the robot, efficient scripting of behaviors, and fully autonomous operation with motion and footstep planners.

CarND-MPC-Project - CarND Term 2 Model Predictive Control (MPC) Project

  •    C++

Ipopt and CppAD: Please refer to this document for installation instructions. Eigen. This is already part of the repo so you shouldn't have to worry about it.

mcl_3dl - A ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s)

  •    C++

mcl_3dl is a ROS node to perform a probabilistic 3-D/6-DOF localization system for mobile robots with 3-D LIDAR(s). It implements pointcloud based Monte Carlo localization that uses a reference pointcloud as a map. The node receives the reference pointcloud as an environment map and localizes 6-DOF (x, y, z, yaw, pitch, roll) pose of measured pointclouds assisted by a motion prediction using odometry.

CarND-Path-Planning-Project - Create a path planner that is able to navigate a car safely around a virtual highway

  •    C++

You can download the Term3 Simulator which contains the Path Planning Project from the [releases tab ( In this project your goal is to safely navigate around a virtual highway with other traffic that is driving +-10 MPH of the 50 MPH speed limit. You will be provided the car's localization and sensor fusion data, there is also a sparse map list of waypoints around the highway. The car should try to go as close as possible to the 50 MPH speed limit, which means passing slower traffic when possible, note that other cars will try to change lanes too. The car should avoid hitting other cars at all cost as well as driving inside of the marked road lanes at all times, unless going from one lane to another. The car should be able to make one complete loop around the 6946m highway. Since the car is trying to go 50 MPH, it should take a little over 5 minutes to complete 1 loop. Also the car should not experience total acceleration over 10 m/s^2 and jerk that is greater than 10 m/s^3.

champ - 𓃡 Quadruped Robot based on MIT Cheetah I

  •    C++

ROS Packages for CHAMP Quadruped Controller. CHAMP is an open source development framework for building new quadrupedal robots and developing new control algorithms. The control framework is based on "Hierarchical controller for highly dynamic locomotion utilizing pattern modulation and impedance control : implementation on the MIT Cheetah robot".

MPC Pattern for Microsoft Silverlight 4.0


If you have struggled with MVVM in Silverlight line of business applications and you want a good framework for building an application, MPC is for you. MPC is a Model, ViewModel, Presenter and Controller pattern enhanced with XAML defined States, Actions, and Async WCF.

webots - Webots Robot Simulator

  •    C++

Webots is an open-source robot simulator released under the terms of the Apache 2.0 license. It provides a complete development environment to model, program and simulate robots, vehicles and biomechanical systems. You can download pre-compiled binaries for Windows, macOS and Linux of the latest release, as well as older releases and nightly builds.

elevation_mapping - Robot-centric elevation mapping for rough terrain navigation

  •    C++

This is a ROS package developed for elevation mapping with a mobile robot. The software is designed for (local) navigation tasks with robots which are equipped with a pose estimation (e.g. IMU & odometry) and a distance sensor (e.g. structured light (Kinect, RealSense), laser range sensor, stereo camera). The provided elevation map is limited around the robot and reflects the pose uncertainty that is aggregated through the motion of the robot (robot-centric mapping). This method is developed to explicitly handle drift of the robot pose estimation. This is research code, expect that it changes often and any fitness for a particular purpose is disclaimed.

MPC Maid

  •    Java

MPC Maid (quot;MMquot;) is a software editor for the Akai MPC 500, MPC 1000, and MPC 2500. It is Mac, PC, and Linux-compliant and makes the edition of MPC programs files easy. It also features a semi-automatic slicing tool to chop loops into slices.

Btraj - Bezier Trajectory Generation for Autonomous Quadrotor, ICRA 2018

  •    C++

Btraj is an online UAV planning framework used to generate safe, dynamically feasible trajectories in previous unknown environments. It can be divided as front-end path finding module and back-end trajectory optimization module. In the front-end, we provide two alternates: Fast Marching*(FM*) on a velocity field and A* on a pure grid map. A flight corridor consists of cubes are generated based on the path. In the back-end, we utilize properties of Bezier curve to confine the piecewise Bezier curves entirely within the corridor and dynamical limits. For details we refer readers to our paper. Authors:Fei Gao and Shaojie Shen from the HUKST Aerial Robotics Group.

Cycle - CYbot Control LanguagE

  •    C

The CYbot Control LanguagE (or Cycle for short) is a Java-like language for programming Ultimate Real Robots' Cybot and TOM robots, with an open source compiler which produces files which can be loaded into Real Robots software for testing and downloadi

acado - ACADO Toolkit is a software environment and algorithm collection for automatic control and dynamic optimization

  •    C++

ACADO Toolkit is a software environment and algorithm collection for automatic control and dynamic optimization. It provides a general framework for using a great variety of algorithms for direct optimal control, including model predictive control, state and parameter estimation and robust optimization. ACADO Toolkit is implemented as self-contained C++ code and comes along with user-friendly MATLAB interface. The object-oriented design allows for convenient coupling of existing optimization packages and for extending it with user-written optimization routines. More information about the toolkit can be found at the homepage.

mpc - A Parser Combinator library for C

  •    C

mpc is a lightweight and powerful Parser Combinator library for C. Using mpc might be of interest to you if you are...

Fast-Planner - A Robust and Efficient Trajectory Planner for Quadrotors

  •    C++

Fast-Planner is developed aiming to enable quadrotor fast flight in complex unknown environments. It contains a rich set of carefully designed planning algorithms. Mar 13, 2021: Code for fast autonomous exploration is available now! Check this repo for more details.

MPC builder


MPC.builder, a PHP based CMS with advanced functions for Mobile and Web2.0 Projects. Its modular structure permits easy extension and personalization to make it unique. MPC can also be used as eCommerce Platform or Customer Relation Managment System

sphero.js - The Sphero JavaScript SDK to control Sphero robots.

  •    Javascript

The official Orbotix JavaScript SDK module to programmatically control Sphero robots. The BB-8 and Ollie use a Bluetooth Low Energy (LE) interface, also known as "Bluetooth Smart" or "Bluetooth 4.0/4.1". You must have a hardware adapter that supports the Bluetooth 4.x+ standard to connect your computer to your BB-8 or Ollie.

path_planner - Hybrid A* Path Planner for the KTH Research Concept Vehicle

  •    C++

The code in this repository is the result of my master's thesis which I have written at the Integrated Research Lab (ITRL) at KTH Royal Institute of Technology (2016). The code is documented here and the associated thesis can be found here. The goal of the thesis and hence this code is to create a real-time path planning algorithm for the nonholonomic Research Concept Vehicle (RCV). The algorithm uses a binary obstacle map as an input, generated using LIDAR mounted on top of the vehicle. The algorithm is being developed using C++ due to real-time requirements in combination with ROS to ensure modularity and portability as well as using RViz as a visualization/simulation environment.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.