The "Stanley" path tracking approach was used by Standford University's Darpa Grand Challenge 2005 team and the fastest course completion time.
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:
- stanley_control.py
The controller file subscribes to the state of the robot and publishes control commands. - path_publisher.py
A psuedo node that represents the system's planner, from which the controller will receive the reference trajectory. - live_plotter.py
A node for visualization of the comparison between the reference trajectory and actual path travelled.
Result from live plotter node:
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