Version 29 (modified by 7 years ago) (diff) | ,
---|
Self Study
For new students, mentors, and students on other sub-teams, these links provide an overview of what the Control Systems team does and how it does it. The goal is to provide a clear understanding of the terminology you will encounter in FRC, what goes into controlling a robot, and an appreciation for how software works (without actually learning to program).
Java
All robot programming is done in the Java programming language. See here for why we program in Java. If you don't know Java yet, these training links will help:
- Java Tutorial Videos
- Sololearn Computer Based Java Training
- Java Training: links to several other tutorials which help teach Java
- Beginning Exercises
- Training Prompts: more Java programming exercises
- Object Oriented Programming?
Robocode
Once you have a solid foundation in Java, you can use the Robocode to hone your skills in a fun way. Robocode creates a virtual robot arena on your computer where you can program virtual robots and battle them against pre-programmed robots supplied with the simulator or robots programmed by your friends.
Java Interfacing
Robots operate real world and must be able to sense their environment and manipulate it. The ZebraZero platform and exercises help you learn to use Java to interface with sensors and control motors
WPILib
When you've mastered Robocode and are ready to start programming FRC robots, you'll need to set up a suitable development environment, learn how to access the robot software, understand the WPILib environment, and learn how to load and run code on a robot.
- Basic
- ScreenStepsLive describes the process; you can also follow some video tutorials: here or here or here
- STEMRobotics has a nice tutorial here
- Building your first robot with RobotBuilder or see here
- Video tutorial: your first (iterative) robot program here
- For the brave: a 1-hour comprehensive Crash Course in FRC programming in Java.
- Hello FRC World - the simplest robot example
- Intermediate
- Setting up git Setting up the Git DVCS (how to access the robot code)
- Intermediate Training
- Advanced
Lessons
- Schedule for Rookies
- Week 1 - Programming Intro - Online Tutorial with help from mentors and members
- Week 2 - Hello Robot - Based on Demo Program - Tank control on Peanut Bot
- Week 3 - Turbo Robot - Use Button to stop or speed up the Peanut Bot
- Week 4 - Arcade Control - Modify program for control the Peanut Bot with single joystick
- Week 5 - Encoders - Use Encoder to drive forward 1m in Autonomous Mode.
- Week 6 - Drive Straight - Use Encoders in both wheels to normalize speed between the motors to drive straight
- Final 4 Weeks - Obstacle Course - Use Encoders, Ultrasonics, and Limit Switches to navigate a simple obstacle course