Skip to content

Releases: Shenzhen-Robotics-Alliance/maple-sim

2026 Rebuilt Game Release (Beta)

17 Jan 06:03

Choose a tag to compare

Pre-release

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

20 Aug 02:46

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v0.3.11...v0.3.14

v0.3.8

05 Feb 06:23

Choose a tag to compare

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

03 Feb 09:27

Choose a tag to compare

What's Changed

  • Coral Scoring Simulation Refine in #105

Full Changelog: v0.3.6...v0.3.7

v0.3.6: Some Small Fixes

29 Jan 04:19

Choose a tag to compare

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

Full Changelog: v0.3.3...v0.3.6

v0.3.3: Reef Simulation!

21 Jan 06:38

Choose a tag to compare

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.

(See #92 and #94)


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

09 Jan 05:03

Choose a tag to compare

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

  1. Improved the way users visualize the Algae-Coral stacks. Previously, users had to call
    Logger.recordOutput("FieldSimulation/StackedAlgae", 
        ReefscapeCoralAlgaeStack.getStackedAlgaePoses());
    to visualize algae in the stack.
    Now, all the algae and coral in the stack will be displayed automatically when calling
    Logger.recordOutput("FieldSimulation/Algae", 
        SimulatedArena.getInstance().getGamePiecesArrayByType("Algae"));
    Logger.recordOutput("FieldSimulation/Coral", 
        SimulatedArena.getInstance().getGamePiecesArrayByType("Coral"));
  2. IntakeSimulations that intakes "Coral" or "Algae" game pieces can now interact with the stack.
    • When an activated IntakeSimulation that 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 IntakeSimulation that intakes "Algae" contacts with a Coral-Algae stack, the ALGAE is obtained by the intake and the CORAL will automatically fall to the ground.

Self-controlled module simulation SysId function

Two functions have been added to SelfControlledModuleSimulation:

  1.  runDriveMotorCharacterization(Rotation2d desiredModuleFacing, double volts)
  2.  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 SelfControlledModuleSimulation in #83

Full Changelog: v0.3.0...v0.3.1

v0.3.0: Kickoff Release!

07 Jan 15:25

Choose a tag to compare

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

Full Changelog: v0.2.8...v0.3.0

What's Next?

The following will be available later this week:

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

03 Jan 04:51

Choose a tag to compare

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

21 Dec 15:22

Choose a tag to compare

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

Full Changelog: v0.2.4...v0.2.6