All Projects → tatsuyah → Model-Predictive-Control

tatsuyah / Model-Predictive-Control

Licence: MIT license
C++ implementation of Model Predictive Control(MPC)

Programming Languages

C++
36643 projects - #6 most used programming language
fortran
972 projects
c
50402 projects - #5 most used programming language
CMake
9771 projects
Cuda
1817 projects
shell
77523 projects

Projects that are alternatives of or similar to Model-Predictive-Control

mpc
A software pipeline using the Model Predictive Control method to drive a car around a virtual track.
Stars: ✭ 119 (+133.33%)
Mutual labels:  udacity, controller, self-driving-car, control-systems, model-predictive-control
Model-Predictive-Control
Udacity Self-Driving Car Engineer Nanodegree. Project: Model Predictive Control
Stars: ✭ 50 (-1.96%)
Mutual labels:  controller, mpc, self-driving-car, control-systems
highway-path-planning
My path-planning pipeline to navigate a car safely around a virtual highway with other traffic.
Stars: ✭ 39 (-23.53%)
Mutual labels:  udacity, self-driving-car, autonomous-vehicles
Self-Driving-Car-NanoDegree-Udacity
This repository contains code and writeups for projects and labs completed as a part of UDACITY's first of it's kind self driving car nanodegree program.
Stars: ✭ 29 (-43.14%)
Mutual labels:  udacity, autonomous-vehicles, model-predictive-control
Uselfdrivingsimulator
Self-Driving Car Simulator
Stars: ✭ 48 (-5.88%)
Mutual labels:  udacity, self-driving-car, autonomous-vehicles
Airsim
Open source simulator for autonomous vehicles built on Unreal Engine / Unity, from Microsoft AI & Research
Stars: ✭ 12,528 (+24464.71%)
Mutual labels:  self-driving-car, control-systems, autonomous-vehicles
fusion-ekf
An extended Kalman Filter implementation in C++ for fusing lidar and radar sensor measurements.
Stars: ✭ 113 (+121.57%)
Mutual labels:  udacity, self-driving-car
self-driving-car-nd
Udacity's Self-Driving Car Nanodegree project files and notes.
Stars: ✭ 50 (-1.96%)
Mutual labels:  udacity, self-driving-car
Model-Predictive-Control
This project is to use Model Predictive Control (MPC) to drive a car in a game simulator. The server provides reference waypoints (yellow line in the demo video) via websocket, and we use MPC to compute steering and throttle commands to drive the car. The solution must be robust to 100ms latency, since it might encounter in real-world application.
Stars: ✭ 93 (+82.35%)
Mutual labels:  mpc, autonomous-vehicles
Vehicle Detection
Vehicle detection using machine learning and computer vision techniques for Udacity's Self-Driving Car Engineer Nanodegree.
Stars: ✭ 1,093 (+2043.14%)
Mutual labels:  udacity, self-driving-car
Advanced Lane Detection
An advanced lane-finding algorithm using distortion correction, image rectification, color transforms, and gradient thresholding.
Stars: ✭ 71 (+39.22%)
Mutual labels:  udacity, self-driving-car
Awesome-Self-Driving
an awesome list of self-driving algorithms, software, tools
Stars: ✭ 74 (+45.1%)
Mutual labels:  self-driving-car, autonomous-vehicles
mpc
Autonomous control of an USV using Model Predictive Control
Stars: ✭ 102 (+100%)
Mutual labels:  mpc, model-predictive-control
tf-semantic-segmentation-FCN-VGG16
Semantic segmentation for classifying road. "Fully Convolutional Networks for Semantic Segmentation (2015)" implemented using TF
Stars: ✭ 30 (-41.18%)
Mutual labels:  udacity, self-driving-car
Self-Driving-Car-Steering-Simulator
The aim of this project is to allow a self driving car to steer autonomously in a virtual environment.
Stars: ✭ 15 (-70.59%)
Mutual labels:  udacity, self-driving-car
autogenu-jupyter
An automatic code generator for nonlinear model predictive control (NMPC) and the continuation/GMRES method (C/GMRES) based numerical solvers for NMPC
Stars: ✭ 89 (+74.51%)
Mutual labels:  mpc, model-predictive-control
SelfDrivingCarsControlDesign
Self Driving Cars Longitudinal and Lateral Control Design
Stars: ✭ 96 (+88.24%)
Mutual labels:  self-driving-car, autonomous-vehicles
Awesome Carla
👉 CARLA resources such as tutorial, blog, code and etc https://github.com/carla-simulator/carla
Stars: ✭ 246 (+382.35%)
Mutual labels:  self-driving-car, autonomous-vehicles
ParNMPC
A Parallel Optimization Toolkit for Nonlinear Model Predictive Control (NMPC)
Stars: ✭ 173 (+239.22%)
Mutual labels:  mpc, model-predictive-control
Fusion Ukf
An unscented Kalman Filter implementation for fusing lidar and radar sensor measurements.
Stars: ✭ 162 (+217.65%)
Mutual labels:  udacity, self-driving-car

Model Predictive Control(MPC)

A C++ implementation of Model Predictive Control(MPC)

Demo video (YouTube)

Overview

Model Predictive Control is a feedback control method to get a appropriate control input by solving optimization problem.

For autonomous vehicle, control input means steering wheel and throttle(and break pedal). Assuming we know reference trajectory, we predicte next N steps' waypoints according to kinematic model(for simplicity) over some pattern, and calculate cost function for each to find most appropriate predicted trajectory. Then we use the first control input of the predicted trajectory and throw away the other trajectory. That's it. We only need to repeat this.

Implementation code is in MPC.cpp and main.cpp

Kinematic model equations

Kinematic model handles several status: car's x, y position, orientation, velocity, cross track error(= cte: distance between reference trajectory and actual trajectory), orientation error(= epsi: difference between desired orientation and current orientation). And belows are equations to calculate those at next timestep.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].