Brain of Robot: Software

Software is responsible for writing and maintaining the code that makes the robot work. We work closely with the mechanical and control systems sub-teams to turn all of the robot’s parts into a system that can actually move, sense what is happening, and respond to the driver.

Github

What We Do

Programming & Testing

During class and build sessions, we program and test the robot using Java and WPILib. We handle the drivetrain, mechanisms, sensors, and motor controllers. We also work with odometry and vision systems to track the robot’s position. Most of our work happens directly on the robot—making changes, testing, and improving.

Autonomous Routines

Autonomous is a major part of Software. We write routines that combine movement, mechanisms, sensors, and timing so the robot performs tasks on its own. As the robot evolves throughout the season, we constantly test and adjust our code.

Workflow & Logging

As the robot gets more complicated, keeping code organized is key. We use GitHub to track changes and collaborate without interfering with each other. We also heavily rely on logging to find exact problems instead of guessing, especially when bugs only happen under certain conditions.

At competition

At competitions, Software members work as robot technicians. We check that the code is running correctly and that vital systems are behaving properly. When things go wrong in a match, we quickly diagnose whether it’s a software, controls, or mechanical issue without accidentally creating new ones. We also adjust autonomous routines based on match strategy.

Joining the SubTeam

No Experience Needed to Join!

You do not need any previous programming experience to join! Before the season, new members complete a summer software assignment that teaches the basics of Java. After that, members learn through hands-on projects, testing on the robot, and working with experienced students.

Checklist

  • Curiosity and patience to figure out why something doesn’t work.

  • A willingness to troubleshoot and test different ideas.

  • Desire to work with other sub-teams to find solutions.

If you enjoy problem-solving and want to see your code control a physical 125-pound robot, Software is a great fit for you!