Aquí hi ha 1 versió de Choreo, des de 6 d’abril del 2026 fins a l’actual, 2026.0.3. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.
| Versió | Data | Mida | Fitxers |
|---|---|---|---|
| 2026.0.3Darrera versió | 6 d’abril del 2026 | — | 64 bits EXE (NSIS)ARM64 EXE (NSIS) Notes de la versióThis release adds ChoreoLib support for flipping trajectories left-to-right according to the driver's perspective. In the GUI, it fixes some generation issues reported where generation succeeds but the path is abnormally long or slow.
Java ChoreoLib Warmup Command
Multiple users have reported delays at the beginning of auto caused by waiting for some classes in ChoreoLib to load. To preload these classes at robot startup, call CommandScheduler.getInstance().schedule(autoFactory.warmupCmd()); in RobotContainer constructor or Robot constructor. This will create an empty AutoTrajectory and execute it in the first run of the command scheduler, moving the classloading delay to just after robot initialization, instead of on autonomous enable. No drivetrain movement will be commanded and your drive control function will not be called.
Changes to Flipping Utilities
Three transformation functions are added to SwerveSample, DifferentialSample, SwerveTrajectory, DifferentialTrajectory, and in Java, AutoTrajectory.
- rotateAround() (Java)/RotateAround() (C++)/rotate_around()` (Python): the current alliance-mirroring transformation, rotating 180 degrees around the field center.
- mirrorX() (Java)/MirrorX() (C++)/mirror_x() (Python): mirrors to the other alliance, changing the X coordinate and keeping the Y coordinate the same.
- mirrorY() (Java)/MirrorY() (C++)/mirror_y() (Python): Mirrors to the other "hand" from the driver's perspective, staying on the same alliance half of the field. With this transformation, you can create a left-side variant of a trajectory in Choreo, then load it and transform it in robot code to get a right-side variant of that trajectory.
Java-specific Changes/Examples
- AutoTrajectory:
AutoTrajectory L_Sweep = routine.trajectory("L_Sweep");
AutoTrajectory R_Sweep = routine.trajectory("L_Sweep").mirrorY();
- AutoFactory: Two new overloads for trajectoryCmd() are added, to accept a transformation function such as AutoTrajectory::mirrorY.
Command L_Sweep = factory.trajectoryCmd(ChoreoTraj.L_Sweep.name());
Command R_Sweep = factory.trajectoryCmd(ChoreoTraj.L_Sweep.name(), AutoTrajectory::mirrorY);
- ChoreoAllianceFlipUtil has changed somewhat significantly, but the breaking changes are limited to the system for using prior years' flipping mechanisms, which was half-complete at best. Specific references to prior fields' dimensions and symmetry have been removed, and the new system is more flexible for specifying the flipping calculation.
- Please see the API docs at https://choreo.autos/api/choreolib/java/choreo/util/ChoreoAllianceFlipUtil.html for the most complete demonstration of the new functionality. This will focus on
- ChoreoAllianceFlipUtil.Flipper: This class is constructed with the field dimensions using one of the static factories Flipper.mirroredX(fieldLength, fieldWidth), Flipper.mirroredY(fieldLength, fieldWidth), Flipper.rotatedAround(fieldLength, fieldWidth). It contains a flip method for both sample types and several of WPILib's geometry types.
- ChoreoAllianceFlipUtil.Flipper.FRC_CURRENT is the default Flipper used for alliance-based flipping. It is Flipper.rotatedAround(16.541, 8.0692).
- ChoreoAllianceFlipUtil.setFlipper(Flipper flipper) allows users to change the field dimensions being used throughout ChoreoLib.
- *IMPORTANT: It is best to call this as early as possible in your robot code, or else parts of your code may run before the flipper is changed.
- To get the currently-in-use Flipper object, or versions of it with the same field dimensions but different symmetries, use:
- ChoreoAllianceFlipUtil.getFlipper() Get the flipper that is currently active for alliance-based flipping.
- ChoreoAllianceFlipUtil.getMirrorX() Get the flipper that is currently active for mirroring to the other alliance.
- ChoreoAllianceFlipUtil.getMirrorY() Get the flipper that is currently active for mirroring left-to-right from the driver's perspective.
- ChoreoAllianceFlipUtil.getRotateAround() Get the flipper that is |