PedroPathing vs Roadrunner
Pros vs. Cons of both PedroPathing and Roadrunner 1.0
For FTC when it comes to path following, there are two main solutions, Road Runner and Pedro Pathing. Although both are designed to achieve the same task, each have their own benefits and tradeoffs. The table below compares the different features
Pedro Pathing vs Road Runner
Feature | Pedro Pathing | Road Runner |
---|---|---|
Following | Reactive Path Follower, adapts along the path, uses centripetal force correction | Trajectory follower using pre-planned motion profiling |
Visualizer | Web-based, no-code, easier to use, generates code for the user | Requires user code to generate paths |
Tuning | Half manual and half automatic | Nearly all automatic |
Motor Write Caching | Used by default | Able to be implemented manually |
Default Paths | Bezier curves by default, custom curves can be implemented extremely easily | Quintic Hermite splines |
Priority | Speed and Precision | Time consistency |
Command Integration | External (FTCLib, SolversLib, NextFTC), Flexible | Built-in (Actions), External libraries unsupported |
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