Skip to content

Project implements an approach for Autonomous Vehicle to navigate on the road using an optimal control technique. In this technique the constraints (Traffic Rules/Obstacles/Driving behavior) are given an priority order. The constraints are relaxed based on their priority to find the optimal trajectory.

Notifications You must be signed in to change notification settings

adityaaap/Rule-Based-Optimal-Control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rule-Based-Optimal-Control

Project implements an approach for Autonomous Vehicle to navigate on the road using an optimal control technique. In this technique the constraints (Traffic Rules/Obstacles/Driving behavior) are given an priority order. The constraints are relaxed based on their priority to find the optimal trajectory.

The Project is based on Research Paper published by Motional AD LLC Link: https://arxiv.org/abs/2101.05709

This projects implements the core algorithm given in the paper with a few simplifications to dynamics model and modifications to optimization methods used.

Check out the C++ implementation at (under development): https://github.com/adityaaap/Optimization-IPOPT/blob/main/rule_based.cpp

Approach

  1. Dynamics Model
  2. Cost Function
  3. Control Lyapunov Function (Constraints)
  4. Control Barries Function (Contraints)
  5. Algorithm for Optimization

Dynamics Model

image

Model in form of affine control system

Cost Function

image

It incorporates linear velocity, angular velocity, CLF slack variable, and 3 CBF slack variables

Control Lyapunov Function

image

CLF is derived based on choosen Lyapunov Function. Here Lyapunov function is 2-norm of the error between states (current and reference at that time stamp)

Control Barrier Function

image

There are 3 CBF functions for 3 constraints

Priority Structure and Algorithm

image

We can see the priority structure of the rules(constraints). Further in the algorithm we iterate through the power set created and find the optimal trajectory.

Optimization

'fmincon' optimizer is used to optimize over the entire trajectory. 'fmincon' is used because of non-linear constraints involved on states.

Results

  1. Scenario 1 image

  2. Scenario 2 image

  3. Scenario 3 image

  4. Scenario 4 image

About

Project implements an approach for Autonomous Vehicle to navigate on the road using an optimal control technique. In this technique the constraints (Traffic Rules/Obstacles/Driving behavior) are given an priority order. The constraints are relaxed based on their priority to find the optimal trajectory.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published