DEV Community

Cover image for PathBlender: Compare your alliance’s autonomous robot paths before a match
Tony Liu
Tony Liu

Posted on Fully Autonomous

PathBlender: Compare your alliance’s autonomous robot paths before a match

Hi everyone, I’m Tony. I built PathBlender to help FRC teams check their autonomous routes together before a match.

In FIRST Robotics Competition, three teams form an alliance. Each robot’s autonomous routine might work on its own, but those routines can interfere with each other when all three robots share the field.

I wanted a way to put those routes on the same field, play them together, and see where they might conflict—even when teams use different path-planning tools.

PathBlender is free and open source. You can try it in your browser or download the desktop app.

If it looks useful, I’d appreciate a Star on GitHub. You can also follow me for updates and future projects.

A quick look

Here’s a short demo of checking a potential collision, adjusting a robot’s start time, and replaying the routes:

What it does

  • Imports Choreo .traj, PathPlanner .path / .auto, and Collaborative PathPlanner .ghostauto files.
  • Imports recorded robot poses from WPILib .wpilog logs, so you can compare recorded runs with planned routes.
  • Plays multiple robots on a shared timeline, with adjustable start times.
  • Checks for potential robot overlaps and field-boundary violations.
  • Provides 2D and 3D views.
  • Saves sessions and exports GIF replays and solution packages in the desktop app.

This longer walkthrough shows setting up two teams’ routines and checking them together:

Try it without team files

Open the browser version and select “Try your first path check” to load three synthetic practice routes. Play them together, jump to a reported conflict, and compare what happens when one robot starts later.

For your own routes, ask alliance partners to share the relevant path files—you don’t need their entire codebases. For a PathPlanner .auto, include its referenced .path files too.

No account is required, and path files are processed locally rather than uploaded.

For events, download the macOS, Windows, or Linux desktop app beforehand so you can use it offline. A USB drive works for exchanging files between teams.

What the checks can tell you

Results depend on the imported timing and robot dimensions. PathPlanner trajectories are regenerated locally, and their timing can differ from actual execution, particularly when an auto includes commands whose durations aren’t known.

WPILOG import lets you select recorded robot poses and an autonomous interval to replay. That shows a previous run; it doesn’t guarantee the next run will be identical.

Use PathBlender to compare options and spot potential conflicts. A clear timeline does not guarantee a collision-free auto. Apply changes in your planning tool or robot code, then test them on the robot.

Feedback

How does your team currently compare autos with alliance partners before a match? I’d like to hear where this would help and what would make it awkward to use.

Bug reports and suggestions are welcome through GitHub Issues; you don’t need to publish private path files.

Thanks for taking a look! If you find it useful, please star PathBlender and follow me on GitHub.

This post was drafted and revised with AI assistance.

Top comments (0)