Tech Toolbox
  • Please Visit https://ftc-tech-toolbox.vercel.app/ for the new tech toolbox!!
    • Introduction
    • Choosing an IDE
    • Creating an OpMode
    • Motors and Encoders
    • Servos
    • Gamepad Controls
    • Drive Systems
    • Lynx Modules
    • Telemetry
    • Wireless Download
    • The Sleep Command
  • Please Visit the New Link
    • Tank Drive / Skid Steer (Part 1)
    • Mecanum Drive (Part 1)
    • Turrets
    • Linear Slides
    • Kicker
    • Active Intake / Sweepers
    • Flywheels / Shooters
  • Please Visit the new Link
    • Base Class (Step 1)
    • Module Classes (Step 2)
    • OpMode Classes (Step 3)
  • This domain is now depreciated and is no longer updated!
  • This domain is now depreciated and is no longer updated!
    • What is Localization?
    • General Odometry Logic
    • Tank (No Deadwheels)
    • Mecanum (No Deadwheels)
    • Deadwheel Odometry (Mecanum and Tank)
    • VSLAM
  • This domain is now depreciated and is no longer updated!
    • What is Control Theory?
    • Custom PID Loops
    • Essential Control Theory Concepts
    • Resources for Learning Advanced Control Theory
  • This domain is now depreciated and is no longer updated! Please visit this domain for the new TT!
    • Introduction
    • Mecanum Drive (Part 2)
    • Tank Drive (Part 2)
    • Introduction to Pure Pursuit
    • Pure Pursuit: Mecanum
    • Pure Pursuit: Tank
    • Advanced Pure Pursuit
    • Guided Vector Fields
    • Autonomous Movement Libraries
  • Sensors
    • IMU
    • Color Sensors
      • Advanced Sensing Code
    • Distance Sensors
    • Touch Sensor
  • Computer Vision
    • Setting up Camera/Intro to Computer Vision Tools
      • Intro to OpenCV
      • Vuforia
    • Streaming Frames
    • Color Thresholding
    • April Tags
    • Linear Regression
    • Machine Learning Toolchain
    • Object Distance Estimation
    • Object Tracking / Driving to an Object
    • Computer Vision Simulators
  • Simulators
    • Beta8397 Simulator
    • VRS
  • Cool Codebases
Powered by GitBook
On this page
  • Adaptive Pure Pursuit
  • Creating Smooth Paths via Cubic Spline Interpolation
  1. This domain is now depreciated and is no longer updated! Please visit this domain for the new TT!

Advanced Pure Pursuit

PreviousPure Pursuit: TankNextGuided Vector Fields

Last updated 1 year ago

Although standard pure pursuit suffices for the vast majority of use cases, there are still some improvements that can be made to take your autonomous movement system to the next level.

Adaptive Pure Pursuit

Unlike a typical pure pursuit algorithm, an adaptive pure pursuit will adjust your lookahead threshold to allow your robot to navigate a path in a smoother fashion.

Theory

Implementation

Creating Smooth Paths via Cubic Spline Interpolation

Rather than inputting a plain set of control points into your pure pursuit algorithm, we can instead interpolate a smooth curve that intersects all of the control points to ensure the robot follows a smooth path while hitting all of the desired locations.

Theory

Implementation

Paper: Implementation of the Adaptive Pure Pursuit ControllerChief Delphi
GitHub - xiaoxiae/PurePursuitAlgorithm: An implementation of a basic adaptive pure pursuit algorithm in Java using the Processing library.GitHub
GitHub - Team254/FRC-2017-Public: Public release of Team 254's 2017 FRC codeGitHub
Cubic Spline InterpolationTimo Denk's Blog
GitHub - MrinallU/Cubic-Spline-Interpolator: A Java implementation of a cubic spline interpolation and graphing program built for FTC robotics. Compatible with odometry functions for smooth and efficient path construction. See it in action at: https://github.com/MrinallU/Super7-Robotics-MecanumGitHub
Logo
Logo
Logo
Logo
Logo