Choreo 2025 Beta

When will Choreo 2025 be released?

We plan to release our full 2025 Choreo version shortly after kickoff.
It will have the field image and dimensions already updated, and with ChoreoLib built against either the WPILib kickoff release or the post-kickoff release that includes field information in WPILib. At this time we do not expect any further betas before then.

Several bug fixes have been identified and will be implemented for the full release.

The full 2025 release will be in a separate CD thread, linked here when it is posted.

Happy kickoff!

9 Likes

Hey, I downloaded the newly released 2025.0.0 version from github.

But it always throws this error when I try to generate a trajectory.

We’re aware, which is why I deleted the announcement post I put here, and just now put a big warning across the Github release.

Consider this a ChoreoLib-only release. ChoreoLib 2025.0.0 is compatible with WPILib 2025.1.1 and Choreo 2025.0.0-beta-9, if you need something for your projects for the time being. It’s in the vendordep manager.

1 Like

Thanks!

How can import the reefscape field image to beta-9?

You can’t. That’s what the 2025.0.0 release was for, but we had to pull it due to multiple serious bugs.

1 Like

No pressure on you guys, but do you have a rough estimate on when these issues will be fixed by and 2025.0.0 will be released?

We’ve fixed several of them, but there’s some regression in the solver which takes a lot more testing to find good internal settings.

This fixes all the critical issues reported in v2025.0.0. It is still marked as a pre-release, since we haven’t written full release/announcement notes for it, and because I expect there to be more bugs reported that might necessitate more 2025.0.X releases.

ChoreoLib

ChoreoLib is now in the WPILib vendor dependencies panel, which is now the recommended way to install it. The vendordep URL https://lib.choreo.autos/dep/ChoreoLib2025.json.

There are no ChoreoLib changes between 2025.0.0 and 2025.0.1.

Major Changes since Beta 9

  • 2025 field
    • Thanks to @mjansen4857 for giving us a copy of the PathPlanner field background to adapt for Choreo.
    • Trajectories will be rotated around the field center, but retain a blue origin.
    • If upgrading paths, note that the default Keep In Rectangle dimensions need to be updated manually. Use a width of 17.548 m and a height of 8.052 m
  • Unitless values are no longer accepted and autofilled with a default unit in expression inputs.
  • Variable names can be used without parentheses; a bugfix corrected this for .x, .y, and .heading inside pose variables.
  • In the list of paths, a generate button replaces the normal icon if the path is different than what was last generated.
    • This mechanic is why the .traj files include a snapshot section.
  • AutoBindings
    • Removed from the AutoFactory constructor and made package-private.
    • Use AutoFactory.bind(String eventName, Command command) instead, which now returns the AutoFactory for chaining.
  • AutoTrajectory.resetOdometry() is added, as a replacement to AutoRoutine.resetOdometry(AutoTrajectory), which no longer exists.
  • AutoChooser
    • We intend to ensure that the command creator functions are only run when the alliance is correct. Thus:
    • Changing alliance will re-run the creator.
    • In simulation only, going directly from Disconnected to Autonomous for the first run will generate the command on autonomousInit. In real life, the auto will stop with a dashboard alert, since this is an unrealistic scenario.
  • Many bugs with the library and the UI have been fixed.
3 Likes

Hello everyone,
In Choreo, a test path we’ve created in both versions 2025.0.1 and 2025.0.0-beta-5 has shown some differences. In 2025.0.1 version, it does not curve as it used to in 2025.0.0-beta-5 and the pictures are shown below.

Is this intentional or a bug, and if so, is there a fix?

2025.0.1


2025.0.0-beta-5

Are the configurations of your robot the same? (Max torque, max velocity, weight, etc)

1 Like

Yes

There have been some solver changes in that period. Why might this be an issue? So long as the 2025.0.1 path is the same time or shorter and still feasible for your robot then this seems fine to me.

1 Like

Do you guys have any plans to make a couple examples of how to use the new API?

More specifically, how to generate & follow autos with new API in Java?

Because we are trying to do path splitting for Choreo & follow them.

There has been some dicussion of creating some examples for now we have the documentation found at https://choreo.autos/
If your using Phoenix Tuner generated swerve CTRE provides an example with Choreo Phoenix6-Examples/java/SwerveWithChoreo at main · CrossTheRoadElec/Phoenix6-Examples · GitHub

I had a question about using variables to define position setpoints in a trajectory. Currently, when I enter a variable to define a pose, the variable is removed from the x,y and theta entries when i start dragging around the setpoint. Would it be possible to ‘lock’ the setpoint, making it impossible to drag around but still possible to change the position by changing the variable?

1 Like

Could we get the processors added to the field graphic?

If you have a good render that includes them then we’d be happy to accept it :slight_smile: We don’t make the field render, we used pathplanners this year iirc.

We use PathPlanner’s but convert it to a vector graphic. It wouldn’t be too hard to include or make the processor plates more visible. What details on the processors are important?

Also I’ve been thinking about labeling the algae on the reef with a U/D or H/L to note which ones are high and which are low.

1 Like

Does ChoreoLib only provide samples as field relative?