Pedro Pathing vs Road Runner

Pedro Pathing and RoadRunner are two popular autonomous movement libraries for FTC. The goal of this article is to provide an unbiased comparison to help you decide which to use. The goal of this article is not to recommend one over the other.


AspectPedro PathingRoadRunner
Following StrategyUses three PID controllers: translational, heading, and drive, along with centripetal force correction. 1Generates and follows motion-profiled trajectories2 by using a combination of feedforward and feedback control3.
VisualizerHas a no-code, web-based path generator and visualizer that can export code for paths.Has a code-based path visualizer that visualizes paths defined in code.
TuningHalf automatic and half manual. Has six automatic tuning steps and four manual tuning steps4, although the manual steps take slightly longer.Mostly automatic. Has four automatic tuning steps and two manual tuning steps5, although the manual steps take slightly longer. If using the SparkFun OTOS for localization there are four additional automatic tuning steps.
Loop Time OptimizationsAutomatically implements motor write caching with a configurable cache tolerance.6Automatically implements bulk reading.7
Good AtCorrection for unexpected disturbances.8Time-consistent trajectory following.
Coordinate SystemCustom coordinate system. Provides a PoseConverter for converting to and from the official FIRST coordinate system.Uses the official FIRST coordinate system.
Command SystemDoes not come with a built-in command system,
although can be integrated with others. NextFTC and SolversLib both provide built-in integration with Pedro Pathing. Mercurial has two sample repos using Pedro Pathing.
Has a built-in actions system. Also has an example on the docs for usage with FTCLib. NextFTC provides built-in integration with RoadRunner. Mercurial has two sample repos using RoadRunner.
LoggingAutomatically logs many values to telemetry, but does not log to a file. Data such as current position can be logged by the user by using a third-party library such as PsiKit for replay with AdvantageScope.Logs many values automatically to telemetry and to a file during every OpMode run.9 Uses a custom log format that is supported by AdvantageScope.
Drivetrain SupportHas built-in support for mecanum drivetrains. Users can provide a custom implementation of the Drivetrain interface to use another drivetrain10, but does not support nonholonomic drivetrains such as tank.Has built-in support for mecanum and tank drivetrains. Does not support any other drivetrains.11

This article was last modifed:
On 2024-11-25 14:51:26 -09:00
By j5155
See it here: 60d48987fa52d9d44fa0dca5125e79b88d87c4bb


  1. Pedro Pathing docs

  2. RoadRunner trajectories: Although these docs are for RoadRunner v0.5, the concepts are the same for v1.0.

  3. Feedback and feedforward control docs.

  4. Pedro Pathing tuning docs

  5. RoadRunner tuning docs

  6. Cache tolerance in Pedro constants

  7. Bulk reading in Encoder

  8. Pedro Pathing homepage

  9. RoadRunner log files

  10. Custom drivetrains

  11. RoadRunner drive classes