I though path tracking was a trivial problem. That is, when you generate a path (a set of waypoints), getting a vehicle to follow that path.
At slower speeds, it is indeed trivial. But at high speeds, it can get pretty difficult. I’ve had first-hand experience with this through the F1TENTH.
- Some boilerplate code: https://github.com/AtsushiSakai/PythonRobotics/tree/master/PathTracking
Path Tracking Implementations
- Line Follow using a PID?
- Pure Pursuit
- Uses Cross-Track Error
- Stanley Method (from Stanford DARPA Challenge)
- Uses both Cross-Track Error and Heading Error
The Key Difficulty in Path Tracking
After playing arouund These are basically the same issues that you face with PID Control.
- high gain = more accurate tracking, but more oscillations
- low gain = less oscillations, but poor tracking
Consider using Clothoid.
https://www.sciencedirect.com/science/article/pii/S1474667016437614 ^but this paper is for Differential Drive robots
From ChatGPT, I learned about Savitzky-Golay filter