Team 2614 Mountaineer Area Robotics 2023 CAD and Code Release

Hello everyone!

I’m Patrick, a member of the 2614 (MARS) mechanical subteam. The following is our 2022 offseason CAD release. Included is the beginnings of our 2023 competition robot: MARVIN XVI.

The released model consists of a sheet metal drive base which is nearly identical to our 2022 competition robot, MARVIN XV. The only major change is the switch to the newer and lower profile MK4i SDS swerve modules. During the offseason, it was decided to make the assumption that swerves would be a suitable drive for the 2023 game. This is due to the versatility of swerve; they present both impressive pushing power and unmatched agility. Furthermore, we expect the low profile of the MK4i swerves to provide us with greater flexibility in terms of the implementation of subsystems.

Besides the change in drivetrain, MARVIN XVI will be utilizing the newly released CANivore. The CANivore will provide us with a form of redundancy as well as an increase in maximum CAN bandwidth. It’s our hope that this will prevent many of the CAN issues we faced during the 2022 season.

Lastly, this will be the first MARS robot running a codebase written exclusively in Java. This is a major change, as we have traditionally been a LabView team. More information regarding the switch can be found in the code release below.

The CAD model of the MARVIN XVI drive base can be found here:

Hello all!

My name is Shawn of the 2614 programming subteam. Over our 2022 offseason, we have made the switch over to Java utilizing our prototyping bot, Salamander, as a springboard.

Our switch to Java started with implementing a fork of the SDS Swerve-Lib that would work with MK4i swerve modules on a CANivore. This CANivore would be dedicated to our drivetrain only; a decision made following the many issues encountered due to CAN overutilization in the 2022 season.

The fork can be found here:

We then added path planning for autonomous plays with the FRC PathPlanner. The paths are followed using our DriveAtPath command, which uses a HolonomicPIDController to create drive outputs. The rest of our autonomous routine is executed through the WPILib command based architecture, with an auto play selector on Shuffleboard.

The auto plays combined with the drive code were compiled into one project, the 2614Framework. More features were added:

  • reading swerve zeros off a deploy file

  • reading subsystem constants from Shuffleboard

  • custom Xbox controller class with methods to get button/trigger objects

  • “snap” rotation - driving at the angle of the right joystick

Link to 2614Framework Github:

Link to our Marvin XV LabVIEW code:

Feel free to ask any questions; here’s to a great 2023 season!

1 Like

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.