Pedro Pathing 2.0.0 has released! If you haven't already, migrate now.
Pedro Pathing LogoPedro Pathing

PedroPathing vs Roadrunner

For FTC when it comes to path following, there are two main solutions, Road Runner 1.0 and Pedro Pathing. Although both are designed to achieve the same task, each has its own benefits and tradeoffs. The table provides an abbreviated list of features. For more information, read the paragraphs provided below.

Table

AspectPedro PathingRoadRunner
Following StrategyUses three PID controllers: translational, heading, and drive, along with centripetal force correction.Generates and follows motion-profiled trajectories by using a combination of feedforward and feedback control.
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 steps, although the manual steps take slightly longer.Mostly automatic. Has four automatic tuning steps and two manual tuning steps, 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.Automatically implements bulk reading.
Good AtCorrection for unexpected disturbances.Time-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. 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 drivetrain, but does not support nonholonomic drivetrains such as tank.Has built-in support for mecanum and tank drivetrains. Does not support any other drivetrains.

In-depth Information

Pros and Cons of Road Runner: Road Runner typically prioritizes time consistency above all else, using pre-planned motion profiling. This allows the following of full trajectories with preset speed and acceleration constraints created by the user. The Road Runner tuning pass is nearly automatic, making it more accessible for many users (although the actual tuning time doesn't necessarily vary too much from Pedro Pathing). Due to prioritizing time-consistency, Road Runner defaults to about 80% of the robot's maximum speed when path-following, a major drawback. Furthermore, the motion model doesn't account for the reduced speed due to strafing which can often produce inaccurate motion. Road Runner has a built-in action system, but you cannot use any other action system in conjunction with Road Runner. If a user uses a certain external command-base in their TeleOp, they cannot use it in auto.

Pros and Cons of Pedro Pathing: Pedro Pathing typically prioritizes speed and precision while following the path. The follower corrects the robot back to the target position when outside forces create inaccuracies in the robot's position or heading, while still following the path. Pedro Pathing also uses centripetal force correction, so it is able to follow curved paths better. Similar to custom p2p and Pure Pursuit algorithms, Pedro Pathing typically moves the robot along the path much faster than Road Runner. While Pedro Pathing does not currently have built-in command integration, Pedro supports external command bases so the user can choose according to their preferences. A major advantage of Pedro Pathing is its path visualizer. The visualizer is web-based, doesn't require the user to write any code, and even generates code for the user. The visualizer is also typically considered to be easier to use, since "eyeballing paths" can be done by arbitrarily dragging control points until a desired path is achieved. To assist in storage, these paths can then be exported concisely into a single, re-uploadable file.

Last updated on