Releases: Shenzhen-Robotics-Alliance/maple-sim
2026 Rebuilt Game Release (Beta)
2026 Rebuilt Game Release
FRC2026 Game "Rebuilt" and project year upgrade.
Huge thanks to @twisterjafla for making this release!
Note: This is a beta version of the library, bugs and glitches may exist. Please keep an eye on future updates.
This library releases uses the latest wpilib version 2026.2.1.
v0.3.14
What's Changed
- Removed friction simulation for steering motor
- Fix Swerve X2 gear ratios, increased clarity for WCP swerve module config creators by @Daniel1464 in #110
- Added Scoring System by @twisterjafla in #112
- Added customizable intake conditions by @Isaac-dot-py in #116
- Added getBranches to 2025 arena by @twisterjafla in #118
New Contributors
- @twisterjafla made their first contribution in #112
- @Isaac-dot-py made their first contribution in #116
Full Changelog: v0.3.11...v0.3.14
v0.3.8
What's Changed
- feat(IntakeSim): Add utility methods to access gamePiecesInIntakeCount by @HENRYMARTIN5 in #106
- Allowed running on real robot in #107
Full Changelog: v0.3.7...v0.3.8
v0.3.7
v0.3.6: Some Small Fixes
Version 0.3.4 and v0.3.5 have critical bugs causing crashes. Please upgrade immediately if you are using this version. We apologize for the trouble it has caused.
What's Changed
- Enabled individual configuration of swerve modules in #99
- Added functionality to obtain coral scoring information in #100
- Fixed bug preventing coral scoring on the reef in #100
- fix(DriveTrainSimulationConfig): initialize swerveModuleSimulationFactory by default by @HENRYMARTIN5 in #102
- Fixed configuration bounding check in #103
New Contributors
- @HENRYMARTIN5 made their first contribution in #102
Full Changelog: v0.3.3...v0.3.6
v0.3.3: Reef Simulation!
v0.3.3: Reef Simulation!
Scoring CORAL on REEF, in Simulation!
Introducing the ability to simulate CORAL scoring on REEF elements in simulation! The simulation now detects when a CORAL contacts the REEF and models the interaction, providing a realistic environment for testing and refining scoring strategies.
See the Online Documentation for more details.
AKit Swerve Templates Upgrades
- The AdvantageKit vision code in the swerve templates has been updated to the latest version, as detailed in this release.
- Various improvements for the Enhanced Talon Swerve template to address known issues and improve stability.
- Automatic pose reset: The robot's simulation pose is now automatically reset when odometry is reset, ensuring better consistency during tests and simulation resets.
What's Changed (since v0.3.1)
- Updated documentation on Reefscape simulation in #84.
- Updated the year to 2025 by @katzuv in #85.
- CTRE Generated Swerve simulation in #87.
- AdvantageKit Templates Upgrade in #92.
- Reef Simulation feature in #93.
- Improved odometry reset logic for AKit Swerve templates in #94.
New Contributors
Full Changelog: v0.3.1...v0.3.3
v0.3.1: Some Small Improvements
v0.3.1: Some Small Improvement
Akit swerve template upgrades
Upgraded all AdvantageKit Swerve Templates to their latest version as being published in the AdvantageKit Kickoff release, and upgraded maple-sim in these templates to latest version.
Coral-Algae stack improvements
- Improved the way users visualize the Algae-Coral stacks. Previously, users had to call
to visualize algae in the stack.
Logger.recordOutput("FieldSimulation/StackedAlgae", ReefscapeCoralAlgaeStack.getStackedAlgaePoses());
Now, all the algae and coral in the stack will be displayed automatically when callingLogger.recordOutput("FieldSimulation/Algae", SimulatedArena.getInstance().getGamePiecesArrayByType("Algae")); Logger.recordOutput("FieldSimulation/Coral", SimulatedArena.getInstance().getGamePiecesArrayByType("Coral"));
IntakeSimulations that intakes "Coral" or "Algae" game pieces can now interact with the stack.- When an activated
IntakeSimulationthat intakes "Coral" contacts with a Coral-Algae stack, the CORAL is obtained by the intake and the ALGAE will automatically fall to the ground. - When an activated
IntakeSimulationthat intakes "Algae" contacts with a Coral-Algae stack, the ALGAE is obtained by the intake and the CORAL will automatically fall to the ground.
- When an activated
Self-controlled module simulation SysId function
Two functions have been added to SelfControlledModuleSimulation:
-
runDriveMotorCharacterization(Rotation2d desiredModuleFacing, double volts)
-
runSteerMotorCharacterization(double volts)
This will allow users to run SysId characterizations on drive and steer motors during simulation!
Changelog
- Update build.gradle by @thenetworkgrinch in #81
- Akit swerve template upgrades in #83
- Coral-Algae stacks improvements in #83
- SysId for
SelfControlledModuleSimulationin #83
Full Changelog: v0.3.0...v0.3.1
v0.3.0: Kickoff Release!
Maple-Sim Beta 2: New Season!
As teams DIVE IN to the new Reefscape season, we are excited to present the latest release of Maple-Sim!
New Season, New Game
With the updated playing field and game elements, Maple-Sim is fully equipped to power your software development for the new season! Check out the Reefscape Simulation Notes for detailed information on season-specific simulations for the 2025 game.
What's Changed
- Update pull request template by @GrahamSH-LLK in #77
- Fix a few typos in docs by @GrahamSH-LLK in #76
- Update build.gradle by @thenetworkgrinch in #79
- Reefscape! by @catr1xLiu in #80
Full Changelog: v0.2.8...v0.3.0
What's Next?
The following will be available later this week:
-
New AdvantageKit Swerve Templates
In the Kick-Off Release of AdvantageKit (V4.0.0), the AdvantageKit Swerve Templates have received several upgrades. We will be integrating these upgrades into our modified version of AdvantageKit Swerve Templates with Maple-Sim integration so that teams can easily use them for the new season.
-
CTRE Generated Swerve Project Simulation Support
We will provide a modified version of the CTRE Generated Swerve Project to allow teams using it to take full advantage of Maple-Sim's enhanced simulation capabilities.
Note: This is Maple-Sim's first season. The development process will continue as teams use it throughout the season. Expect occasional instability, bugs, and API changes as we deliver updates. If you have any questions or concerns, please feel free to contact us on discord or submit an issue on GitHub—we’re here to help!
v0.2.8: Pre-Kickoff Release
v0.2.8: Pre-Kickoff Release
What's Changed
- Intake Simulation Fix & API Improvement & Documents Update in #72
- Fixed gear ratio bounding check in #73
- swerve module configs + wpilib 2025 in #75
2025 Kickoff Release of WPILib
This project uses the latest build of wpilib. You must use either WPILib version 2025.1.1-beta-3 or version 2025.1.1 to use this version of maple-sim.
API Migration
The only API change in this version is the new SwerveModuleSimulationConfig class:
Old API:
DriveTrainSimulationConfig.Default()
.withSwerveModule(() -> new SwerveModuleSimulation(
DRIVE_MOTOR,
STEER_MOTOR,
DRIVE_GEAR_RATIO,
STEER_GEAR_RATIO,
DRIVE_FRICTION_VOLTAGE,
STEER_FRICTION_VOLTAGE,
WHEEL_RADIUS,
STEER_INERTIA,
WHEEL_COEFFICIENT_OF_FRICTION));
New API:
DriveTrainSimulationConfig.Default()
.withSwerveModule(new SwerveModuleSimulationConfig(
DRIVE_MOTOR,
STEER_MOTOR,
DRIVE_GEAR_RATIO,
STEER_GEAR_RATIO,
DRIVE_FRICTION_VOLTAGE,
STEER_FRICTION_VOLTAGE,
WHEEL_RADIUS,
STEER_INERTIA,
WHEEL_COEFFICIENT_OF_FRICTION));See Swerve Simulation Documents for more details.
Full Changelog: v0.2.6...v0.2.8
Note: This will be the last release of maple-sim before kickoff. Shortly after kickoff, we will release a kickoff release with the new arena, new game pieces, and some new features we've been working on.
v0.2.6: Battery Sim & Some Small API Enhancements & WPILIb beta3
WPILib Version
Maple-sim has been upgraded to WPILib Beta 3. Teams using either WPILib Beta 2 or Beta 3 can seamlessly use this version of Maple-sim.
Battery simulation
The simulated battery now behaves exactly like the real robot's battery, with the voltage dropping if too much current is drawn. This update allows for a more accurate and realistic simulation.
Configuration boundary checks
Faulty simulation configurations can lead to strange results, and these bugs are often hard to catch. In the new version, Maple-sim examines the boundaries of each configuration and checks for values that exceed a reasonable range. If a value seems “strange” to the system, a message is printed.
What's Changed
- Bounding checks & COTS factories in #67
- Fix battery sim by @Daniel1464 in #66
- Bumped to beta 3 by @Daniel1464 in #68
Full Changelog: v0.2.4...v0.2.6