Go to file
Mats Steinweg dcf70b3ce8
Update README.md
2019-12-31 18:15:03 +01:00
.idea Create .gitignore 2019-11-23 22:27:19 +01:00
.gitattributes Initial commit 2019-11-23 16:42:01 +01:00
.gitignore Create .gitignore 2019-11-23 22:27:19 +01:00
MPC.py Update MPC.py 2019-11-25 09:07:02 +01:00
README.md Update README.md 2019-12-31 18:15:03 +01:00
map.py Create map.py 2019-11-23 16:46:19 +01:00
map_floor2.png Add map images 2019-11-23 22:27:46 +01:00
map_race.png Add map images 2019-11-23 22:27:46 +01:00
reference_path.py Create reference_path.py 2019-11-23 16:46:07 +01:00
simulation.py Update simulation.py 2019-11-23 22:56:09 +01:00
spatial_bicycle_models.py Update spatial_bicycle_models.py 2019-11-23 22:55:20 +01:00

README.md

Multi-Purpose MPC

  1. Introduction
  2. Implementation Details
    1. MPC
  3. How-To
  4. [Limitations and Outlook](##Limitations and Outlook)
  5. Contributors

Introduction

In this repository you find an implementation of a multi-purpose Model Predictive Controller. The controller was implemented as a contribution to the Automatic Control Project Course (EL2425) at KTH Royal Institute of Technology, Stockholm. The developed algorithm was tested on a 1:10 RC car provided by KTH Smart Mobility Lab. The test scenarios comprised the following three tasks:

  1. Reference Path Tracking
  2. Time-Optimal Driving
  3. Obstacle Avoidance

The controller is implemented in a way that enables its application to all three tasks by merely tuning the weight matrices of the underlying optimization problem. The illustration below shows the obstacle avoidance task in simulation.

The rest of this readme is structured as follows. In Section 2 we will present an overview of the entire system and discuss all fundamental components of the implementation in detail. In Section 3 we will provide guidelines for using the implementation in simulation and practice. Section 4 will be dedicated to analyzing limitations of the current version of the controller and outline potential extensions of the implementation.

Implementation Details

How-To

Limitations and Outlook

Contributors

Arne Schneuing Mats Steinweg