/Choreo

A graphical tool for planning time-optimized trajectories for autonomous mobile robots in the FIRST Robotics Competition.

Primary LanguageTypeScriptBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Choreo

Discord

A screenshot of Choreo with an example path

Choreo (Constraint-Honoring Omnidirectional Route Editor and Optimizer, pronounced like choreography) is a graphical tool for planning time-optimized trajectories for autonomous mobile robots in the FIRST Robotics Competition.

Download and Install

Grab the latest release for your platform on the releases page.

Usage and Documentation

Check out the Docs, which covers installation, usage, building, and ChoreoLib.

Robot code integration

An example project using Choreo is available here.

Repository directory structure

  • src - Choreo frontend
  • src-tauri - Choreo backend
  • src-cli - Choreo command-line generation tool
  • src-core - Rust code shared between the app and the CLI
  • choreolib - ChoreoLib: robot-side library for loading and following Choreo paths
  • trajoptlib - TrajoptLib: library used by Choreo to generate time-optimal trajectories for FRC robots
  • docs - Source for the documentation

Authors

The 2024 field background was traced from the field renders provided by MikLast.