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.
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.
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.
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?
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.
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?
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.