Vehicle_Controller_Design_Project
Vehicle_Controller_Design_Project copied to clipboard
This project aims to design a LQR controller to control a car following a trajectory as accurate and fast as possible
Vehicle_Controller_Design_Project
This project was completed on 12/10/2018, and was just uploaded to my Github account recently
In this project, I designed a LQR controller to control a car following a given trajectory. The goal of this project is to make the car finish the path as quickly as possible while still maintaining good accuracy.
The tasks for this project include:
- Model the car using a bicycle model
- linearize the model and decouple them into lateral and longitudinal models
- Design a controller for both lateral and longitudinal models and tune the parameters to get the optimal peformance
The detailed modeling of the car can be found in the reference. The liearization process can be found in the "Calculation and result" folder
For this project, I designed 2 controllers. One is slow but accurate, the other is fast but barely satisfy the accuracy requirement. These two controllers can be found in controller_slow.py and controller_fast.py
Here are some simulation results:
Fast Controller
- Total time: 74.55 s
- Maximun distance from reference: 5.7268493347214475 m
- Average distance from reference: 1.3019881974778402 m
Slow Controller
- Total time: 157.45000000000002 s
- Maximun distance from reference: 5.6915563863996335 m
- Average distance from reference: 0.7979645575292 m
Reference
- Rajamani Rajesh. Vehicle dynamics and control. Springer Science & Business Media,2011.
- Kong Jason, et al. "Kinematic and dynamic vehicle models for autonomous driving control design." Intelligent Vehicles Symposium, 2015.