Off-Season Project Updates
Throughout the off-season, our team has been incredibly BUSY! Each sub-team has dedicated their efforts to various projects aimed at achieving our goals for the upcoming season. This post highlights the diverse initiatives we are pursuing during this off-season.
Featured Subteams
-
Engineering
-
Programming
-
Strategy
-
Biz/Comm
Engineering
Our engineering team consistently seeks new projects to expand our understanding of different subsystems. Here are some R&D projects we’re focusing on this season:
-
Pivot mechanism
-
Extending intake
-
CNC router repair
-
Chassis development
We aim to continually add to our project list to enhance our knowledge base. Each of these initiatives is designed to improve our robots, making them more efficient and reliable.
Project Breakdown
1. Pivot Mechanism
On our 2024 robot we ran into several mechanical problems but one of our biggest unresolved issues was our shooter pivot. We have decided to take some inspiration from Ratchet Rockers (1706) and Spartan Robotics (971) to come up with a solution for this. We will mount Team SCREAM Jr’s shooter to the newly designed herringbone pivot mechanism that will be 3D printed and have minimal backlash.
2. Extending Intake
In recent years as a team we have pushed away from pneumatics, weakening our design talents for extending intakes. This offseason we are designing, building and implementing an extending intake that will be motor driven; something we have yet to do as a team. Taking inspiration from Mechanical Advantage (6328) and Citrus Circuits’ (1678) 2024 robot, we are reverse engineering our own version of it.
3. CNC Router Repair
We have a 50x50 Velox CNC router and last season we had a lot of problems with the control system. Since they are no longer in business we decided to replace the controller with an AVID CNC plug and play controller. This upgrade has required modifying limit switch wiring and the spindle VFD controls. We have it up and running now but still need to make some small updates to have it back to 100% functionality. Our Omio has been working great as our second router.
4. Chassis Development
We decided to add two additional swerve chassis bases to allow for more practice. Additionally these drive bases will be equipped with subsystems from our off-season to allow for programming to gain more experience with these subsystems.
Programming
Last season was a significant turning point for our programming team. We made several changes and additions, such as:
We learned a lot in doing all of these things, and we intend to build on what we’ve learned and implement that in the future (plus a few new things). Moving forward, our priority is to create modular, well-documented systems that can be easily assembled into functional robots. This will give us a solid foundation and free up time to focus on developing complex high-level systems.
Project Breakdown
1. Command-Based Structure
As stated previously, last season was our first time using this structure, and we were still learning how to best use it during the season. This led to a lot of inefficient and confusing code that was hard to manage with the three-state system of command classes. While there still may be valid cases where a class is more fitting, moving forward, we’ll primarily use command compositions and factories to write complex commands, due to their self-documenting nature. This will decrease command verbosity and make complicated actions much easier to understand.
2. New Subsystem Structure
A major problem in our previous subsystem structure was the amount of duplicated code cluttering each subsystem. This made it very difficult to manage each subsystem and created confusion, especially when subsystems had methods with shared names, but different functions. To fix this, we’ve created the TalonFXSubsystem base class. This class will:
-
Provide a consistent code structure for each subsystem.
-
Offer basic methods for simple motor control.
-
Simplify the configuration process for new subsystems.
While this class is generalized enough to handle most cases, it doesn’t cover everything. Complex mechanisms that want tighter integration (ex. Multi-DOF arm) would struggle if they were to purely use this class. In the future, we’ll be developing mechanism-specific base classes with more complicated functions to combat this.
3. Logging
Last season, we attempted logging with AdvantageKit, but faced challenges due to its complexity. Moving forward, we’re exploring alternatives like DogLog and a custom solution utilizing WPILib’s DataLogManager. Our main criteria for logging is simplicity, specifically solutions that are easy for new programmers to implement and understand without major guidance. Currently, we’ve determined DogLog is the best solution, as it has a very straightforward implementation with minimal boilerplate code compared to DataLogManager.
4. Controls
Traditionally, we have separated our controls to a driver and operator. The driver would use a controller, and the operator would use a button board/controller. Last season before Champs, after seeing the success of Ratchet Rockers (1706) and OP Robotics (2056), we explored switching the primary controls to a single controller and keeping backup/override controls on a button board. We determined this was more optimal for the following reasons:
-
It allows the driver to make decisions faster.
-
It removes miscommunication issues when coordinating robot actions.
-
It frees up a drive team member for an additional drive coach or human player.
-
It simplifies controls training.
-
We still had backup controls and our secondary drive team member was trained to use them if needed.
We intend to continue to use and develop this system in the future, assuming the game allows for it. To implement this effectively, we need to:
-
Increase automation. This means mechanically integrating more sensors, then using them effectively in code.
-
Determine the most efficient control scheme.
-
Integrate backup/override controls to minimize dependency on secondary drive team member.
Simulation
During the season, we waste lots of valuable programming time simply because we don’t have a robot to program. Using WPILib physics simulations, we can accurately model robot subsystems without a physical robot. This will help us use our time effectively by allowing us to:
-
Test autonomous routines
-
Develop ideal controls
-
Develop complex subsystem integration
-
Debug problems without risking robot hardware
-
Test pretty much anything else
To learn how to implement simulation effectively, we developed a full robot simulation for our 2024 robot, AXL, in our offseason code. It includes:
-
AXL’s CAD imported into AdvantageScope for subsystem visualization.
-
Fully dynamic drivebase, elevator, shooter, and stabilizers.
-
Complete functionality for complex actions, like picking up and shooting notes.
We’ll be implementing simulation in the future to help us develop things like autonomous routines and high-level systems that require lots of testing to get right.
Strategy
The Strategy team has been diligently working this off-season to enhance our team’s efficiency and prepare for the upcoming season. Here are some initiatives they’ve undertaken:
Project Breakdown
1. Meeting Task Tracker
To improve our team meetings, the Strategy team has developed a tracking system to optimize meeting flow. Inspired by the Blazing Bulldogs (581), we’ve created our own meeting tracker:
This tracker enables:
2. New Scouting App
For the upcoming season, we will be developing a web-based scouting application to improve our scouting capabilities. To learn how to do this, we’ve remade our 2024 scouting app with some new features, including:
-
QR codes.
-
Heatmaps for shooting locations.
-
Time stamping for autonomous routines.
-
Offline usage capabilities.
-
Expanded super scouting information.
3. Scouting Meetings
Recognizing the need for better organization, we have restructured how our scouting meetings will be conducted at competitions, ensuring a more efficient and effective process.
Biz/Comm
The Biz/Comm team has also been hard at work this off-season, focusing on strategies to achieve our season goals. Their recent initiatives include:
Project Breakdown
1. Asana
We are utilizing Asana to manage our projects and streamline documentation. All planned projects will be listed in a project backlog divided into three categories:
-
Backlog
-
In Progress
-
Completed
This new management system enhances our ability to visualize and organize projects, facilitating better documentation and resource expansion. Here is a picture of our engineering project backlog:
2. Expansion Teams
We have leveraged our recent success to gain approval for new expansion teams from our district expanding from 3 FIRST teams to 15 FIRST teams and 6 VEX teams for the 2024-2025 season. These teams provide students at all levels the chance to engage in STEAM, mentored by Team SCREAM and Team SCREAM Jr. students.
One of our primary focuses this year is to expand our resources, not just for our team but for many others as well. We will continue to post updates every two weeks on our projects and initiatives to prepare for a successful season. Stay tuned for more updates and feel free to reach out with any questions!
Students contributing to this thread include: