Skip to content

Releases: Team537/RobotCode2025

v4.0.0

04 Apr 01:12
bc99154
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.0.3...v4.0.0

v3.0.3

20 Mar 21:24
7c01bb1
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.0.2...v3.0.3

v3.0.2

20 Mar 16:13
4436875
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.0.1...v3.0.2

v3.0.1

20 Mar 13:57
8be0146
Compare
Choose a tag to compare

What's Changed

Full Changelog: v3.0.0...v3.0.1

v3.0.0

20 Mar 01:35
845cbaf
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2.1.0...v3.0.0

v2.1.0

03 Mar 00:14
d2447e9
Compare
Choose a tag to compare

GitHub Release Notes: RobotCode2025 v2.1.0

We are excited to announce version 2.1.0 of our 2025 competition code! This release features several code enhancements, autonomous driving functionality, and a DriveSubsystem rework.

Changelog

🚀 New Features

  • Narwhal Mechanisms
    • Added functionality to the Narwhal elevator mechanism.
    • Added controller support for teleop control of mechanisms.
  • Squid Mechanisms
    • Added Squid manipulator mechanism.
  • Pathfinding Funcunality
    • Added full pathfinding support to the field. The robot is now able to navigate around detected obstacles in real time.
    • Comprehensive NavGrid to describe the entire field.
  • Autonomous Movement
    • Added path following support.

🛠️ Enhancements

  • Narwhal Mechanism Code
    • Cleaned up code and improved documentation.
  • Drive Subsystem
    • Reworked DriveSubsystem to allow for more comprehensive mechanism control, leveraging mathematical models for finer control.

Usage Notes

For Drive Team:

  • Mechanism Improvements
    • More comprehensive mechanism code is available on main.
    • In the event of issue, bugfixes should take minimal time to complete.

For Developers:

  • Code Improvements
    • Narwhal code is much cleaner.
  • DrvieSubsystem Rework
    • The DrvieSubsystem is not much more comprehensive

v2.0.0

23 Feb 19:34
0defc59
Compare
Choose a tag to compare

GitHub Release Notes: RobotCode2025 v2.0.0

We are excited to announce version 2.0.0 of our 2025 robot code! This release is jam-packed with features and improvements, including several upper assembly enhancements, comment improvements, and even software to handle our custom vision solution, OceanView. Below is a more specific breakdown of what has changed.

Changelog

🚀 New Features

  • OceanViewManager
    • Introduced the new OceanViewManager class, which parses OceanView data from a coprocessor like a Raspberry PI and reduced detection noise by using rolling averages.
    • Integrates seamlessly with the new UDPReceiver and TCPSender classes, ensuring data is efficiently and reliably gathered.
  • Driver Camera Support
    • Introduced support for using a driver camera. Simply plug in a USB camera into one of the RoboRIO's ports and you'll be able to view it on any dashboard of your choice.
  • Elastic Dashboard Support
    • Added support of Elastic Dashboard. The current dashboard layout can be found here.
  • Gamepad Support
    • Added support for controlling Narwhal team's mechanisms with a logitech controller. Currently support is in place for the climber mechanism and wrist.
  • Narwhal Mechanisms
    • Added a NarwhalClimber to control the climber mechanism on the Narwhal's upper assembly.
  • UpperAssembly Interface
    • Added a new UpperAssembly interface and UpperAssemblyBase abstract class to seamlessly integrate both the Squid and Narwhal mechanisms together.

🛠️ Enhancements

  • Squid Mechanisms
    • Tuned PID values for several mechanisms, allowing for more responsive and fluid mechanism control.

📝 Code Quality

  • Improved comment quality, ensuring consistency and descriptiveness.
  • Unified util and utils into util, organizing related files under subfolders.

Breaking Changes

  • Unified util and utils into util, organizing related files under subfolders. Make sure imports are updated accordingly.

Usage Notes

For Drive Team:

  • Narwhal and Squid Enhancements
    • The Narwhal mechanisms are now much more comprehensive. Expect them to control smoothly
    • The Squid mechanisms should be more fluid and responsive.
    • Upper assembly type currently has to be changed in the code. If you need this adjusted, let Autonomy team know.

For Developers:

  • Comment Improvements
    • Everything should be much more comprehensibly documented, making development much easier.
  • Util Folder Reorganization
    • The util folder was reorganized to be easier to navigate. Related files are now grouped together. Make sure you update new imports acordingly.

v1.4.0

09 Feb 03:42
c602603
Compare
Choose a tag to compare

GitHub Release Notes: RobotCode2025 v1.4.0

We are excited to announce v1.4.0, featuring a major rework of the drive subsystem with Kraken motor integration, improved PID tuning, and better motor control configurations. These enhancements improve drive performance, flexibility, and stability while keeping the code organized and maintainable. Below is a detailed breakdown of the updates.

Changelog

🚀 New Features

  • Kraken Motor Drive System
    • Introduced mid-match drive switching, allowing dynamic selection of different drive and turning motor types.
    • Implemented Field-Oriented Control (FOC) for more precise and efficient motor operation.
    • Added separate commands for manual driving, improving subsystem readability and modularity.
    • Created a configuration file to centralize and streamline motor configurations.

🛠️ Enhancements

  • Kraken Motor Behavior Fixes
    • Added feedforward compensation to reduce steady-state error and improve control stability.
    • Refined PID constants and conversion factors for better turning and driving motor performance.
  • Drive Subsystem Refinements
    • Improved turning motor control, fixing prior issues affecting responsiveness.
    • Adjusted motor IDs to match original configurations, ensuring proper mapping across the system.

📝 Code Quality

  • Refactored Configurations
    • Organized configurations into a dedicated file, improving maintainability and reducing redundancy.
    • Enhanced command structure for better separation of manual and automated drive handling.

Usage Notes

For Drive Team:

  • Drive System Adjustments
    • The ability to switch drive and turning motors mid-match allows greater adaptability during competition.
    • Expect smoother and more responsive motor performance due to feedforward improvements and PID tuning.
    • Field-Oriented Control (FOC) should provide better handling, particularly in high-precision scenarios.

For Developers:

  • Subsystem Improvements
    • The drive system now follows a cleaner, more modular structure, making further adjustments easier.
    • The new config file simplifies tuning and modification of motor settings.
    • Refactored Kraken motor behavior ensures long-term reliability and flexibility in future updates.

v1.3.0

02 Feb 04:02
27c53b9
Compare
Choose a tag to compare

GitHub Release Notes: FRC Project v1.3.0

We’re excited to release v1.3.0, which introduces the Squid Climber and Squid Manipulator, along with improved documentation and updates to GitHub Actions. This release enhances robot functionality, improves code maintainability, and ensures better development workflows. Below is a detailed breakdown of the changes.

🚀 New Features

  • Squid Climber
    • Added a new climber for the Squid upper assembly, including manual controls.
    • Enables controlled climbing during endgame maneuvers.
  • Squid Manipulator
    • Introduced a subsystem to control roller mechanisms for gripping and releasing game elements.
    • Includes methods to control roller speed and angles for precision handling.
    • Does not include sensor-based automation yet—future updates will incorporate feedback mechanisms.

🛠️ Enhancements

  • Comprehensive Javadoc Documentation
    • Detailed documentation for SquidClimber and SquidManipulator.
    • Documented methods, constructors, and fields with clear descriptions.
    • Improved readability by adding inline comments explaining configuration steps.
    • Updated SquidClimberPosition enum with descriptions for each constant, making state management clearer.
  • GitHub Actions Update
    • Upgraded upload-artifact action to version 4 for better performance and reliability.
    • Reformatted YAML files with improved indentation for better maintainability.

📝 Code Quality

  • Code Structure Improvements
    • Merged latest changes from dev to ensure compatibility.
    • Improved code readability and maintainability across multiple files.

Usage Notes

For Drive Team:

  • Squid Climber & Manipulator
    • Climbing Mechanism: The Squid Climber allows manual control for climbing; ensure proper engagement during endgame.
    • Roller Control: The Squid Manipulator now enables finer control over object handling. Expect refinements as sensor data integration is added.

For Developers:

  • New Subsystems
    • Squid Climber and Squid Manipulator subsystems are now modular and can be extended with automation in future iterations.
    • Code is fully documented—refer to Javadoc comments for detailed implementation.
  • GitHub Actions
    • Developers should experience smoother CI/CD processes with the updated GitHub Actions configurations.

v1.2.0

26 Jan 00:10
413aa01
Compare
Choose a tag to compare

GitHub Release Notes: RobotCode2025 v1.2.0

We are excited to announce v1.2.0, a release that includes significant enhancements to the vision system, odometry, subsystem architecture, and overall code quality. This update also introduces new subsystems and utility features, ensuring better performance and a streamlined development process. Below is the comprehensive breakdown of changes included in this release.

Changelog

🚀 New Features

  • Vision Odometry Integration
    • Added VisionOdometry class to integrate vision-based pose estimates with drivetrain odometry.
    • Enhanced PhotonVisionCamera for improved pose estimation.
    • Constants updated with a new pose strategy for PhotonPoseEstimator.
    • Modified RobotContainer to include the VisionOdometry subsystem and camera setup.
    • DriveSubsystem now includes a method to retrieve the SwerveDrivePoseEstimator.
  • LED Manager and Configurations
    • Introduced the LEDManager class to manage LED patterns dynamically.
    • Added an LEDConfiguration enum for customizable LED states.
    • Organized subsystems with LEDManager for consistent architecture.
  • Unified Vision and Drive Odometry
    • Combined odometry updates for vision and drivetrain for seamless pose estimation.
    • Improved thread safety with a synchronized getRobotPose() method.
  • Narwhal Mechanisms
    • Added subsystems for the Narwhal Intake-Outtake and Narwhal Wrist Mechanism, including temporary constants for control positions.
    • Updated comments and documentation for clarity and maintainability.
  • Improved Drive Speeds
    • Increased drive speeds and accelerations to theoretical limits, fully tested for reliability and performance.

🛠️ Enhancements

  • Vision System Improvements
    • Introduced camera stream forwarding using PortForwarder, enabling live camera streams via the robot’s network.
    • Added constants for multiple camera setups, including front and side cameras, to enhance vision system flexibility.
    • Incorporated new pose estimation strategies and Transform3d imports for better positioning and fallback mechanisms.
  • Field Debugging and Display
    • Integrated Field2d for visual debugging of robot positions on the SmartDashboard.
    • Improved periodic methods in DriveSubsystem and VisionOdometry for consistent pose updates.
  • Restructured Utilities and Autonomous Configuration
    • Moved Alliance and AutonomousRoutine enums to a new Autonomous package for better organization.
    • Updated imports and configurations in the main container.

📝 Code Quality

  • Documentation and Comments
    • Enhanced Javadoc comments across multiple classes, including DriveSubsystem, SwerveModule, and utility classes.
    • Added author tags and version information for improved traceability.
    • Reorganized subsystem documentation for clarity.
  • Style Improvements
    • Removed debug print statements from the vision and drive subsystems to clean up console output.
    • Reformatted comments for better readability and consistency.
    • Improved variable naming conventions and removed unused imports.
  • Thread Safety
    • Added synchronization to getRobotPose to prevent concurrency issues.

🐛 Bug Fixes

  • AprilTag Field Layout
    • Updated AprilTag field layout from 2024Crescendo to 2025Reefscape for current season compatibility.
  • Configuration and Constants
    • Resolved duplicate constant declarations in the configuration files.
  • GitHub Actions Fixes
    • Addressed issues with Gradle builds, SpotBugs analysis, and PMD reports.

Usage Notes

For Drive Team:

  • Vision and Odometry
    • The updated vision system integrates seamlessly with odometry, enhancing autonomous accuracy. Ensure the PhotonVision system is calibrated correctly on the field.
    • Use the SmartDashboard’s Field2d visualization for real-time debugging of robot positions.
  • LED Configurations
    • LED patterns can now be dynamically managed. Patterns will indicate the current robot state or match phase for better situational awareness.
  • Drive Performance
    • With increased drive speeds and acceleration limits, expect faster and more responsive robot movements. Test in practice matches to ensure consistency.

For Developers:

  • Subsystem Enhancements
    • The new LEDManager and Narwhal subsystems offer extensibility for future updates. Review these implementations for consistency with team architecture.
  • Code Maintenance
    • Javadoc comments and reorganized utilities make the codebase more maintainable. Follow the updated conventions for future contributions.
    • Utilize Field2d and SmartDashboard visualizations for debugging complex autonomous routines.