Skip to content

Latest commit

 

History

History
69 lines (31 loc) · 3.17 KB

File metadata and controls

69 lines (31 loc) · 3.17 KB

LPV-MPC Controller for Autonomous Vehicle: Trajectory Tracking and Dynamic Control

The LPV-MPC Controller for Autonomous Vehicle project aims to develop a robust control system that allows an autonomous vehicle to follow predetermined trajectories with high precision. Autonomous vehicles operate in dynamic environments, where accurate trajectory tracking is crucial for safety and efficiency. This project uses a Model Predictive Controller (MPC) with a Linear Parameter-Varying (LPV) approach to handle the inherent nonlinearities of vehicle dynamics.

The LPV-MPC framework is particularly suited for autonomous vehicles because it dynamically adjusts the control strategy based on the vehicle’s current operating conditions. By approximating nonlinear behaviors with a set of linear models, the LPV-MPC effectively manages changes in vehicle dynamics, allowing for stable control even under varying conditions. The controller uses a bicycle model for simplified representation of vehicle kinematics, balancing accuracy and computational efficiency. The control inputs for the system are the steering angle and applied acceleration, which are optimized through a cost function that minimizes deviations from the desired trajectory.

The controller’s effectiveness was tested in simulations across three distinct driving scenarios, each with unique trajectory complexities to evaluate performance. In these simulations, the LPV-MPC demonstrated its ability to maintain trajectory adherence, manage dynamic vehicle responses, and respect constraints on control inputs and states. The project’s success highlights the potential of LPV-MPC to enhance the reliability of autonomous vehicle control, making it a promising foundation for further advancements in autonomous driving technologies.

Installation

Prequisites

  • Python 3.10.5

  • QP solvers Cvx opt

  • Carla Simulator

Run Locally

Clone the project

  git clone git@github.com:shivasamkumar/Design_Optimization_Final_project.git

Go to the project directory

  py Main_Mpc.py

If it is not working try :

open Visual studio code and select python kerenel as 3.10.5 and Run the Main file

Demo

Video

This video shows the Demonstation of the project. Click on the Image to watch the Video

Watch the video

                                                   Carla Simulation Track 

Demo Image

This video shows the Demonstation of the project in carla simulation. Click on the Image to watch the Video

Watch the video

Future versions

  • Extending the controller to future projects

    Extend controller testing to real-world autonomous vehicle scenarios for broader validation.Integrate learning-based methods to further enhance adaptability under varying dynamics.