Issaquah Robotics Society

Programming resources for FIRST Robotics team 1318

Overview

“Everything should be made as simple as possible, but not simpler.” — Albert Einstein

The Issaquah Robotics Society’s robot code is designed to be a solid example of a moderately large software project that students with varying levels of programming experience can contribute to.

It aims to make programming the robot straightforward so the software can adapt well to changes in the physical robot and to how we want to control it.

It achieves this by encapsulating each concern in a distinct area of the code, minimizing duplication to ease maintenance.

General Robot Design

  1. RoboRIO
  2. Actuators
  3. Sensors
  4. User Input Devices
  5. Other

Robot Code Design

  1. CoreRobot.java
  2. Mechanisms
  3. TuningConstants
  4. ElectronicsConstants
  5. HardwareConstants
  6. LoggingKeys
  7. Driver
  8. Other Topics

Robot Code Instructions

  1. Setting Up Your Environment
  2. Using Command Line Operations
  3. Using Git
  4. Adding Operations
  5. Adding Electronics Constants
  6. Adding Hardware Constants
  7. Adding Tuning Constants
  8. Adding Logging Keys
  9. Writing a New Mechanism
  10. Adding Macros
  11. Adding Autonomous Routines
  12. Composing Tasks Together
  13. Updating ButtonMap
  14. Writing Control Tasks
  15. Creating Paths and Trajectories
  16. Adding Operation Contexts

Advanced Topics

  1. PID Controllers
  2. Motion Planning
  3. PathPlanner
  4. Vision

Links

  1. WPILib documentation