Hammerheads 226 are very excited to release our 2025 template swerve chassis CAD and robot code template!
Swerve Chassis
Our design team spent some of offseason working on this swerve chassis that uses the new Mk4n modules. It utilizes several new features and improvements to our typical design.
Mezzanine Rails
Inspired by teams 3538 and 3847, we added 1x1 rails that are mounted (roughly) 1.57β from the tops of the main 2x1 chassis tubes. These are to allow for additional areas to mount, namely in the corners of the robot, since it would otherwise be more difficult to attach mechanisms there with the swerve modules being where they are. They are suspended by a total of six β
β aluminum plates (which shall be discussed furthermore later on), and they are connected to one another via tube end-blocks.
Our idea with these rails is that if we suspect that the 2025 (or any future game) will require us to mount a mechanism in one of the chassis corners, then it is rather easy to do so, and the rails can be added on. This would include if we wish to have an over-the-bumper intake towards the front of the robot, or, say, an elevator at the back, or an A-frame, etc. If we do not think that it is necessary, then the rails can quite easily be removed from the design.
These rails also provide a great method in which to lift and carry the robot, removing the need for additional parts, such as handles.
Bumper Mounts (1)
These mounts, inspired by team 3538, are meant to allow for the bumpers to slide in horizontally, and are attached with wingnuts. First off, the wingnuts are to allow for ease of removal and attaching of the bumpers, since regular nuts proved to take a lot longer to install or to remove. Secondly, in 2024 when installing our bumpers vertically, it was often a struggle to do so, with one of our mechanisms as well as both limelights being in the way. To remedy this, the bumpers would simply slide onto the drivetrain horizontally, mitigating vertical collisions with other robot components.
To promote robustness, these mounting plates would have to be supported by the mezzanine rails, so as to prevent potential bending and flexing in the material. And, with this horizontal instalment style being inherently incompatible with the presence of the mezzanine rails, if we decide not to use the mezzanine rails, then we will have to forgo this bumper mounting method, and instead use our other method, detailed below.
Bumper Mounts (2)
If we decide to not use mezzanine rails for our robot, we will use a 3.2β by 1.5β bracket that uses wing nuts to the bumpers horizontally. Instead of using mezzanine rails, this bracket would be simply mounted to only the 2x1 main chassis tube, helping reduce the amount of space needed to mount the bumpers.
Swerve Covers
On 226βs 2024 robot, we designed 1/32β polycarbonate covers that fit on top of the swerve modules. They prevented dust and dirt from entering the modules, while also allowing us to see into the module still and not add too much weight (compared to 3D printed covers). These covers also feature 3D printed covers for the gear that protrudes out from the rest of the module (only for the design without the mezzanine rails, however), as well as another that covers the CANcoder.
Radio Mount
At its core, this mount is a simple plate, with slots for zip ties to run through to hold the radio to the plate. Additionally, the holes on the sides of the mounting plate provide and promote modularity in the location of the radio, as we are able to choose where we wish for it to go based upon the chosen mechanisms for the specific robot and year.
However, due to having some issues during the 2024 offseason with ethernet wires popping out, we implemented 3D prints, with circular cutouts that proved to place a spring into. A spring is placed around the ethernet wire. The 3D prints are distanced from the radio itself such that the spring is contracted, making it attempt to expand outwards, resulting in it pushing against both the 3D print, as well as the ethernet wire. This allows for the wire to remain firm and in place. We initially designed a 3D print that clamped down around the wire to hold it in place, switching to the spring-integrated design so as to allow for ease of the removal of the wire, and such by, the radio itself.
Battery Mount
With this drivetrain design, one of our goals was to fit all of the electrical units below the plane of the chassis 2x1 rails. This is intended to allow for the modularity and reusability of this drivetrain, enabling us to put virtually whatever mechanisms that we wish upon it.
We wanted all of our electrical units to be contained by the plane of the chassis rails, such that we can allow for modularity with the mechanisms that can be put upon this drivetrain, generating reusability for the design. With this, it was imperative that all of our wires for the drivetrain had the ability to be mounted neither above nor contacting the chassis rails. This also goes for the battery. As such, we decided to lower the battery to accomplish this.
The battery itself would be strapped in with a simple clip, same as our 2024 robot.
Bumper Corner Brackets
On 226βs robot, we designed corner bumper mounts dimensioned 1.9βx1.9βx3β to be able to better protect the corners of our robot from collisions with the game field and robots, thus keeping our swerve gearbox safer. We CADed these brackets to be able to be mounted in the end so they can be easily slid on and off between matches. These brackets help protect the swerve gearbox by being the first parts of the robot to absorb the collision of the robot. These brackets also help to extend the frame perimeter of the robot to better fit the required size.
Ethernet Box Mount
The access panel with Ethernet and USB pass throughs is intended to be mounted near the frame perimeter of the robot for easy connection. It allows for easy access to the ports without having to fish for cables inside the robot. Additionally, it protects internal ports like the RoboRIO from damage, reducing the risk of failure during competitions.
Raised Crossrails
Inspired by 254βs swerve drive design, we used 1x1 tube rails as opposed to the more traditional 2x1 crossrail design, each of them readied via 3/8 round standoffs. This is meant to allow for electrical wires (namely power and CAN wires from the respective swerve modules) to run directly to the PDH, or to the RoboRIO, etc.
Huge thank you to Gabe, Reajul, and Agastya for writing the descriptions to these features!
Robot Code
Our programming team created this template so we donβt spend time writing code that is consistent year-to-year. It is derived from the AdvantageKit swerve drive template and has code for the following subsystems that follow the AdvantageKit IO layer structure: Arms, Drivetrain, Elevator, Flywheel, Indexer, LED, Vision (localization), and ObjectDetection. Currently, the first 6 subsystems only support IO layers for phoenix products. The Vision subsystem supports Limelight and Photonvision while ObjectDetection only supports Limelight.