Skip to content

Architecture Spec

Introduction

The architecture spec describes the overall intended design of the robot. This includes designs for the various algorithms and how various components should interact. This document should be readable without having any understanding of code, and should not be dependent on any particular code implementation.

Ball Channel

BallChannel

DRIs

  • Mayahuel ( Programming Lead )
  • Alyssa (Programming)

Picker

PickerStateDiagrams

DRIs

  • Matthew ( Programming Lead )
  • Austin ( Mechanical Lead )

Shooter

DRIs

  • Ibrahim ( Programming Lead )

Climber

Climber

DRIs

  • Sophia (Programming Lead)
  • Grace (Mechanical Lead)

Swerve Drive

Swerve

DRIs

  • Micah ( Programming Lead )
  • Ibrahim ( Mentor )

Swerve Drive Calibration Diagram

SwerveCalibrationDiagram

Swerve Drive Interaction Diagram

SwerveInteractionDiagram

Swerve Drive State Machine Diagram

SwerveStateMachineDiagram

Ball Counter

BallCounter

DRIs

  • Matthew ( Programming Lead )

Vision

Upon being told to activate it will start running the validation code every time doPeriodic() is called. It modifies its private members, which get methods return; the get methods are the way for the other subsystems to get the values they need.

Vision State Diagram

VisionRioStateMachine

Red boxes are states, blue boxes are what happens in that state. The blue boxes are connected to the state in which they describe. This State Diagram only describes what happens if the robot is trying to aim at the target, which is why it is only concerned about Retro Reflective Tape, the tape which is around the target. The white cylinders are places where data is stored.

Subsytem Interactions Diagram

VisionRioInteractionDiagram

This is an example of how all the code interacts. This specific example is for aiming at the target.

Network Table Data

NetworkTable

This describes all the data that is in the Network Table. Vision Rio both uses and modifies the data in the Network Table. The Network Table is the means by which the Pi Side and the Rio Side communicate to each other.

DRIs

  • Micah (Programming)
  • Matthew (Programming)