Skip to content

This repository contains an implementation of the geometric path tracking "Stanley" controller for traversal of smooth continuous curved paths.

Notifications You must be signed in to change notification settings

Atharva-05/stanley_control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Stanley controller

The "Stanley" path tracking approach was used by Standford University's Darpa Grand Challenge 2005 team and the fastest course completion time.

Video

The "Stanley" control approach tracks a reference point i.e. the closest point from its front axle on the reference trajectory. It uses a combination of lateral 'crosstrack' error as well as heading error to generate the steering control command for trajectory tracking. The controller relies on a bicycle kinematic model.

The implementation is tested on multiple curved trajectories.

The source folder contains the following files:

  1. stanley_control.py
    The controller file subscribes to the state of the robot and publishes control commands.
  2. path_publisher.py
    A psuedo node that represents the system's planner, from which the controller will receive the reference trajectory.
  3. live_plotter.py
    A node for visualization of the comparison between the reference trajectory and actual path travelled.

Result from live plotter node:

Trajectory graph

References :
[1] Autonomous Automobile Trajectory Tracking for Off-Road Driving: Controller Design, Experimental Validation and Racing
[2] Blog describing Stanley Control

Date of completion: March 2022

About

This repository contains an implementation of the geometric path tracking "Stanley" controller for traversal of smooth continuous curved paths.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages