I was just about to post a similar question. Thanks.
This is our 3rd year and we have used Java in our first two years but we have lost our main programmer to graduation and coding mentorship has been spotty (at best). So we are really starting from scratch.
This is going to be a rebuilding year for our team in a lot of ways. I am pushing each of our subteams to come up with a list of measurable skills that the team should acquire prior to kickoff.
To that end... ...beyond learn Java, the WPI Library, etc. I have made this list of tasks/skills that the coding team should work towards:
- Read Joysticks and buttons from Gamepad
- Output values to a motor
- Output values to multiple motors
- Read values from a switch
- Read values from a sensor (potentiometer, angular rate sensor)
- Read values from wheel encoders
- Display a value from the robot on the PC screen
- Display a value in the form of a visual gauge on the PC screen
- Understand how to use Debugging & Development Features of FIRST control system
- Use Joystick values to control a mulitmotor drive system with and without a shifter
- Implement various joystick scaling methods (e.g. “deadband removal”, “dynamic zeroing”)
- Implement various output scaling methods (e.g. “linearize Victor”)
- Implement a PID Feedback Loop on an arm or actuator
- Implement a PID feedback Loop on robot wheels
- Control a PID Feedback Loop via Joystick
- Control a PID Feedback Loop via buttons
- Use Angular Rate Sensor and Encoders to improve high speed “Drive Straight” Performance
- Use Angular Rate Sensor and Encoders to improve low speed “positioning” performance
- Basic Autonomous: sequence of steps in series
- Medium Autonomous sequence of steps some series, some parallel
- Medium High Autonomous including straight line robot motion back and forth with other steps
- Difficult Autonomous robot motion including turns
- Very Difficult Autonomous using camera to auto target using both arm and robot motion
- Use NetworkTables to implement Full Robot Monitoring System
- PC Based Vision System Based Targeting (height, distance, & angle wrt Robot)
What do folks think of this list? Would you add/remove anything? How about the ordering?
Do tell...
Joe J.