FRC Java Lessons

Schedule and Location

The FRC Java Lessons are hosted by Team 1310, Runnymede Robotics at Runnymede CI in Toronto, Ontario, Canada. Lessons run on Saturdays from 9:00am - 3:00pm.

The purpose of the lessons is to give teams a fundamental understanding of the WpiLib Command Based Robot Framework. The objective is to improve the autonomous capabilities of all teams' robots.

The outcome of the lessons will be a robot framework that can be used by teams in the 2018 season, Power UP, as a basis for their robot code. This code will be developed throughout the month of Nov, 2017 and updates will be published regularly on GitHub. See the Install Notes for how to install the components required for the the Toronto Framework.

Week 0.5 - Basic Java Programming (Oct 28)

We did a quick overview of Java syntax, and looked at sub-classing and overriding of methods as well as abstract methods in the first intro to Java (not so intro, really). We looked at how all of these concepts will be employed in the Robot code this season.

As a summary project we created a Sudoku Solver.

Some people asked for a solution to the dmoj puzzle A plus B (Hard).

Week 1 - Intro to FRC Code (Nov 11)

In the week one intro, we covered:

  • overview of the software components
  • looking at a basic drive base
  • creating our first FRC program
  • reading the joystick and turning a wheel
  • proper structure of an FRC program (user input, commands, subsystems)
  • the different Joysticks problem

Week 2 - Using Encoders, PID Control (Nov 18)

In week two, we will cover:

  • using encoders to measure speed and distance
  • printing data on the SmartDashboard
  • PID controllers
  • driving in a straight line (without a gyro)
  • stopping at a distance or a limit switch
  • joystick coding
  • practicing with a drive base

Week 3 - Using the Gyro (Nov 25)

In week three, we will cover:

  • using the gyro and PID control to drive very straight and turn with precision
  • writing more commands (drive straight, turn to angle)
  • intro to autonomous programming
  • practicing with a drive base

Week 4 - Bringing it all together (Dec 2)

In week four, we will cover:

  • complex auto patterns (chaining commands)
  • ultrasonic sensors
  • practice with a drive base