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.
Aspect | Pedro Pathing | RoadRunner |
---|---|---|
Following Strategy | Uses three PID controllers: translational, heading, and drive, along with centripetal force correction. 1 | Generates and follows motion-profiled trajectories2 by using a combination of feedforward and feedback control3. |
Visualizer | Has 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. |
Tuning | Half 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 Optimizations | Automatically implements motor write caching with a configurable cache tolerance.6 | Automatically implements bulk reading.7 |
Good At | Correction for unexpected disturbances.8 | Time-consistent trajectory following. |
Coordinate System | Custom coordinate system. Provides a PoseConverter for converting to and from the official FIRST coordinate system. | Uses the official FIRST coordinate system. |
Command System | Does 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. |
Logging | Automatically 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 Support | Has 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
-
RoadRunner trajectories: Although these docs are for RoadRunner v0.5, the concepts are the same for v1.0. ↩
-
Feedback and feedforward control docs. ↩