Programming
Nothing runs without code. So here are a lot of resources to help you learn more about coding that can help you and your team be more successful.OOUeU
-
-
All of our team's code for every FRC and FTC robot we've made can be viewed at this link
-
Drive Systems
-
Swerve drive
FRC Open Source
Sub Pages
Example Code
-
Team Code by year
Coding Workshops
Long Island SBPLI Workshops
These are workshops run for SBPLI – L.I. FIRST island-wide teams, for new mentor enlistment/education at local companies, or for our own internal team members. SBPLI is always looking for fresh faces to lead workshops, so please contact Mr. McLeod if you can contribute or wish to participate.
2014 Hauppauge Robotics Conference (Saturday, November 22, 2014)
Beta Presentation 2015 v2
The previous workshop at Brunswick with updates and a few additional slides on topics we’ve been asked about. e.g.,
-
Cost comparison of old vs New systems
-
Descriptions of stress testing we’ve performed
2014 Brunswick Eruption – 2015 Beta Control System (Saturday, November 8, 2014)
Hardware
-
roboRIO
-
Power Distribution Panel (PDP)
-
Pneumatics Control Module (PCM)
-
Voltage Regulator Module (VRM)
-
Victor SP/Talon SRX
Changes from cRIO system
Programming Differences
Tools & Utilities
2013 Webb Institute – District System Overview (Sunday, November 3, 2013)
District Discussion 2013
Overview of the District System
District Evolution
What it Means to New York
District Discussion 2013 (, 1.2MB)
KOP 2013 Workshop (Saturday, January 12, 2013)
Material from the 2013 KOP workshop the week after Kickoff
What’s New in the Kit
1st Week Issues
Camera bandwidth measurement
LabVIEW cRIO Simulator, etc.
KOP Workshop 2013 (, 1.2MB)
2012 Webb Institute: Control System – FMS to Robot (Sunday, October 14, 2012)
Presentation describing the end-to-end parts and roles of the Field Management System (FMS) through the robot control system.
Control System – FMS to Robot (, 1.8MB)
KOP 2012 Workshop (Saturday, January 14, 2012)
Material from the 2012 KOP workshop the week after Kickoff
What’s New in the Kit
1st Week Issues
Kinect/camera demo setup
KOP Workshop 2012 (, 1.8MB)
New FRC cRIO FRC II Background Material (, 1.4MB)
Network Workshop (TBD)
This endeavors to teach variations on our robot communication networks and what settings are important and which ones do not matter. It presents a half dozen different network topologies from regular season competition, off-season/demos, in the shop, multiple/single robots, etc.
FRC Network Topology (, 1.4MB)
Fall 2011 Rookie Stuff
Introductory material about the groups & organizations that must work together for a successful FIRST Robotics Competition. Lots of information coming at you from a lot of different sources, and not just FIRST Headquarters either. Who’s going to be important to you at your competition event and how to find them when you need them.
-
Introduction to FIRST (, 965KB)
-
FRC Organizational Structure (, 1MB)
-
FRC Communications 1pager.doc (, 43KB)
-
FRC Organization 1pager.doc (, 50KB)
-
FRC Competition Event Who’s Who 1pager (, 248KB)
KOP 2011 Workshop (January 15, 2011)
Traditional annual review of the Kit and how it relates to this year’s game.
There wasn’t much that was new in the Kit this year, but the review by all the veterans present was good for the rookie teams.
-
Motors: (4) CIMs, (4) Window, (1) Fisher Price, (4) Banebot Motors
-
MiniBot Kit via FIRST Choice – (2) Tetrix motors
-
Robot Radio – 12v to 5v converter & D-Link DAP-1522
-
Driver Station can be any laptop
-
Competition power provided for Classmates ONLY (19v, 2a barrel connector)
-
Black Jaguar RMA (NOT Greys)
-
6wd Kitbot
-
Linear encoder
-
Light/range sensor
2011 FRC KOP Workshop Presentation (, 432KB)
FRC Electrical Workshop (October 26, 2010)
This workshop covers these FRC Electrical Subsystem Topics:
-
Electrical Theory
-
Block Diagram and Major Components
-
Wiring Basics
-
Safety
-
Electrical Tools
The presentation is followed by hands-on demonstrations and practice of:
-
Wire Stripping and Crimping
-
Soldering
-
PWM Motor Speed Control
-
Parts Identification
-
Electrical Workshop Presentation (, 7.1 MB)
-
Electrical Workshop Handout (, 2 MB)
Beginning LabVIEW Programming Workshop (October 9, 2010)
Bring your personal or team laptop with FRC LabVIEW installed.
A demonstration of what’s possible using advanced PID feedback to control a flywheel by tachometer, then play follow the instructor creating a working version of a full project – driver controls and autonomous.
-
2010 FRC Beginning LabVIEW Programming Workshop Presentation (, 752KB)
-
2010 Beginner LabVIEW step-by-step (, 900KB)
-
2010 Beginner LabVIEW code (, 270KB)
Intermediate LabVIEW Programming Workshop (October 9, 2010)
Select topics:
-
PID
-
State Machines
-
Saving Data
Bring your laptop with LabVIEW installed. This is for intermediate programmers who at least know how to wire and find their way around the FRC palettes. Everything else we’ll walk you through.
A few overview slides, then play follow the instructor creating working versions of each of these topics. Finally, a practical lab on tuning a real flywheel controlled by a tachometer PID.
-
2010 FRC Intermediate LabVIEW Programming Workshop Presentation (, 752KB)
-
2010 Flywheel/Tachometer Lab (, 400KB)
KOP Control System Changes Workshop (January 16, 2010)
Annual “What’s New in the Kit-of-Parts” Workshop.
Bring your team Classmate netbook and any additional hardware you want help with. We’ll cover what’s new in this year’s KOP and look at setting up the Classmate, as well as, the external FirstTouch IO board. We can discuss anything in the Kit, but we don’t plan on this being a programming workshop, although we will discuss this year’s programming environments too. Afterwards it can always breakdown into whatever anyone needs help with…
LabVIEW Workshop (September 26, 2009)
A hands-on beginner working session covering the basics to working in LabVIEW and common robot operations. An hour of following along with an instructor stepping through common robot operations in LabVIEW, then an hour of struggling through your own program and testing it, if you like, on one of the two robot systems we have. Below is the Powerpoint presentation with more examples you should try on your own. Don’t just read them, but figure out where they are in the palettes and how to wire them up.
-
LabVIEW Workshop Presentation (, 660 KB)
Control System Workshop (January 10, 2009)
A hands-on, assemble your electrical/control system working workshop held at Farmingdale State College. We had helpers from several teams working to get everyone up and operating with a demo robot outfitted with the new control system acting as a guide. A separate session of LabVIEW and C++ programmers covered FRC specific topics then joined the Control System hardware groups to download their programs.
We held two concurrent sessions:
-
Assemble and bench test team Control Systems
-
FRC Specific LabVIEW & Wind River
Presentations:
-
Control System Assembly & Bench Test Presentation (, 5.9 MB)
-
Mechanics of FRC LabVIEW Presentation (, 850 KB)
-
Mechanics of FRC Wind River Presentation (, 83 KB)
-
2009 Control System Demo Robot (, 52KB)
LabVIEW Workshop (December 13, 2008)
A hands-on beginner LabVIEW course taught by Robert Berger of National Instruments. Held at Farmingdale State College in conjunction with an FLL qualifier tournament it walked 100 attendees from 22 teams through developing LabVIEW programs from scratch. Below are the Powerpoint presentation, a step-by-step walkthrough, and complete examples of the programs we wrote. Also at the workshop was a robot integrated with the new control system. Several teams brought their early control systems that they were having issues with and we worked through them together.
-
LabVIEW Workshop Presentation (, 445 KB)
-
LabVIEW Hands-on Workshop Guide (, 543 KB)
-
LabVIEW Exercise Solutions (, 255 KB)
**** The Following Workshops Pertain to Older FRC Technology ****
Beginner Programming Workshop (October 4, 2008)
This was an introduction by Tom Boehm of Patchogue Medford High School, Team 329 and Motorola Inc. to basic programming concepts in both C and the graphical programming tool EasyC. The concepts will translate over to the new 2009 control system based on C/C++ and Labview as the graphical programming tool when they are released by FIRST. The workshop was a lecture followed by hands-on programming practice using Vex robots setup with bumper sensors.
-
Beginner Programming Concepts Workshop Presentation (, 123 KB)
-
Handouts (, 69 KB)
-
EasyC Test Program (, 22KB)
EasyC Workshop (January 2008)
EasyC is a graphical programming tool that comes donated in the KOP. It’s easy to use and gets your robot up and running quickly. For more advanced operations EasyC provides the ability to insert your own native C code blocks. Some advanced operations become difficult to perform in EasyC, however, it’s easy to use for beginner and intermediate programming, or for teams that just want to get something running.
This introduction to EasyC was just the beginning. EasyC comes complete with a tutorial series under “Help” that provides more insight into the operation and use of EasyC.
-
EasyC Programming Workshop (, 1 MB)
-
FRC EasyC IR Sensor— Basic EasyC code interfacing with the 2008 IR Sensor. It just lights controller LEDs as IR remote buttons are pushed. (, 17KB)
-
FRC EasyC IR Hybrid— demonstrates using the IR for more advanced hybrid mode (, 17KB)
IR Hybrid Receiver Workshop (January 2008)
On the first Saturday after Kickoff we knew what was in the Kit-of-Parts so we reviewed new sensors/electronics, ideas for use, technical details. We covered the setup, integration, and use of the infrared remote control receiver FIRST released to us in December. The IR sensor was demonstrated on an EDU mini-robot, and we wired up and tested all the boards brought by teams.
Here is the presentation and the sample basic code from the mini-EDU robot and more efficient sample code for the full-sized Robot Controller:
-
2008 IR Sensor Workshop (, 1.4 MB)
-
EDU mini-robot IR Sensor— EDU mini-robot code demo’ed at the Workshop (, 88KB)
-
FRC IR Sensor— Full-robot FRC Default code with more efficient IR Sensor added (, 176KB)
-
FRC EasyC IR Sensor— Basic EasyC code interfacing with the 2008 IR Sensor. It just lights controller LEDs as IR remote buttons are pushed. (, 17KB)
-
FRC EasyC IR Hybrid— demonstrates using the IR for more advanced hybrid mode (, 17KB)
Electrical Workshop (December 2007)
An in-house workshop on the standard robot electrical system, followed by practical proper wire stripping/crimping/soldering was held one evening. The workshop covered basic theory, major components of the FIRST robotic electrical system, details on the FIRST Robot Controller and how it works with the spikes and speed controllers to command things to happen, FIRST rules and restrictions on our electrical system design, wire gauges, measurement instruments, such as volt meters and oscilloscopes, etc.
Here is the supporting handout outline the workshop followed: Electrical Hands-on Workshop (, 36KB)
Programming Workshop (2007)
Programming workshop at Hauppauge High School in conjunction with the Hofstra University engineering department in the Fall of 2007 to introduce C, MPLAB, and how it all works on FIRST robots. An hour of lecture for beginners followed by a couple of hours hands-on programming Vex robots with a variety of integrated sensors. Experienced programmers went right to the hands-on play. Rookie programmers were started with modifying simple timed driving sequences, while the more adventuresome added sensor-based autonomous movements. Six mini-robots had a variety of sensors mounted and integrated, so the students could focus on learning how to take immediate advantage of the sensors. All robots had identical autonomous sample programs — timed cascade, state machine, function driven, script driven, custom specialty routines.
-
EDU robot w/front bumper switch & gyroscope
-
Vex squarebot w/ IR rangefinder, Maxbotix & Vex ultrasonic rangefinders, line follower
-
Vex squarebot w/ CMUCam2 targeting the green light
-
Vex squarebot w/ encoder and turret w/pot feedback
-
Vex squarebot w/ 2-jointed arm w/pot feedback
-
Vex w/ swerve drive (4-wheel drive, independently controlled wheel steering)
-
Programming Hands-on Workshop (, 1.9 MB)
-
Edu Robot Code— Autotonmous / Bumper switch / gyroscope (, 60KB)
-
Vex Robot1 Code— Autotonmous / IR & Sonic rangefinders (, 61KB)
-
Vex Robot2 Code— Autotonmous / CmuCam2 (, 126KB)
-
Vex Robot3 Code— Autotonmous / Encoder / pot feedback turret (, 61KB)
-
Vex Robot4 Code— Autotonmous / two-jointed arm w/pot feedback (, 63KB)
-
Vex Robot5 Code— Autotonmous / Swerve drive (, 66KB)
Programming Workshop Series (2006)
We held a Fall/Winter series of Long Island programming workshops hosted at Hauppauge High School. Vex robots were used as demonstration platforms like the previous year (with complete take-away MPLAB projects), as well as full-sized robots from past competitions (you can’t take the robots away).
It was basically a survey-style lecture with some demos interspersed. Not enough people brought team laptops to run a real workshop.
Beginner (MPLAB-based)
Covered the fundamentals of FIRST robotics C programming. We covered MPLAB, basic C, FRC default code, specifics on basic robot control, debugging, common problems (it’s the mechanical guy’s fault), and simple loop-based autonomous dead reckoning. This is targeted for the robotics beginner who has seen C, but never used it for much.
-
Beginner Programming Workshop (, 2 MB)
-
Simple Vex Autonomous Example Code (, 50KB)
-
2006 FRC Default Code (, 117KB)
-
Programming Quick Start (, 87KB)
-
Operator Interface Reference Guide (, 889KB)
-
Robot Controller Reference Guide (, 361KB)
-
Additional Help: Chiefdelphi Programming Forum
Intermediate
Taking a step beyond the basics we talked about and demonstrated timers, timer-based autonomous dead-reckoning, simple sensors, driving control, fixed-point math, debugging techniques.
-
Intermediate Programming Workshop (, 720KB)
-
Vex Potentiometer Demo Code (, 50KB)
-
Vex LCD Demo Code (, 187KB)
-
EDU Sample Auto Styles Demo Code (, 46KB)
Advanced
Similar to the previous year’s workshop, but covering more sensors, autonomous (sensor-driven/scripting), interrupts, PID. Vex demos – encoders, ultrasonic, IR, gyroscope, CMUcam2. Anyone who wanted to stayed after the lecture and played with the demo robots.
Check out the PID Control Theory (, 38.6 KB) whitepaper our programmer Matt Krass wrote.
Matt also has a whitepaper on gyroscopes (, 55KB). It never got past the draft stage, but is a good background for the gyroscope portion of the workshop, just ignore the markups.
-
Advanced Programming Workshop (, 720KB)
-
Vex Encoder Demo Code (, 40KB)
-
Vex Camera Demo Code (, 91KB)
-
Vex Ultrasonic Demo Code (, 454KB)
-
Sample Autonomous Styles Demo Code (, 46KB)
KOP/Game Specialty (2007)
With no new electronic technology included in the 2007 KOP there was nothing new to introduce, but a couple of us worked together getting the CMUCam2 mounted and operating.
-
FIRST CMUCam schematic (, 203 KB)
-
FIRST CMUCam Control Board drawing (, 203 KB)
-
FIRST CMUCam Documents & Software (, 4.65MB)
-
FIRST CMUCam Troubleshooting (, 203 KB)
Autonomous Sensors Workshop (2006)
We ran this workshop at the beginning of the 2006 season to discuss autonomous sensors in some detail. The sensors delivered in the 2006 KOP were discussed and the gyro and camera were demonstrated. Eleven teams and >60 people attended, with half-a-dozen revisiting throughout the week to work on specific programming/sensor issues. Here is the workshop presentation material and one of the simple demonstration programs for the Vex robot.
-
Autonomous Sensors Workshop (, 1 MB)
-
Vex Ultrasonic Sensor Demo Code (.zip, 52KB)
Workshops for Beginning Mentors (2005)
A series of lunchtime workshops we ran to introduce rookie mentors with general engineering experience and expertise to the world of FIRST Robotics. These PowerPoint presentations provide a general introduction to the rules, restrictions, and equipment of the FIRST Robotics Competition. Robots and the individual components were passed around, and we watched a few competition and promotional videos.
-
Mentor Workshop Technical Overview of FIRST (, 118 KB)
-
Mentor Workshop Mechanical Overview (, 133 KB)
-
Mentor Workshop Electrical Overview (, 1.55 MB)
-
Mentor Workshop Pneumatic Overview (, 382 KB)
-
Mentor Workshop Control System Overview (, 407 KB)
-
Mentor Workshop Programming Overview (, 816 KB)
Infra-red Beacon/Tracker Workshop (2004)
The 2004 FIRST season saw the introduction of Infra-red beacons and corresponding detection sensors mounted on the competition robots. This was a workshop we ran to get other teams a real working knowledge of the technology involved and how to make it work. The EDU & FRC code runs both the beacon broadcast and receiver off the same controller.
-
IR Workshop (, 1.16 MB)
-
Edu IR Beacon-Tracker Code (, 48KB)
-
FRC IR Beacon-Tracker Code (, 68KB)
Pneumatics Workshops
We, Festo/Hauppauge High School, usually do a pneumatics workshop each year. Duh! 🙂 This is usually a hands-on workshop and here are some basic documents:
-
FIRST Pneumatics For Newbies (, 203 KB)
-
FIRST Pneumatics Step-by-Step (, 326 KB)
-
2006_FIRST_Pneumatics_Manual (, 5.2 MB)
Season Kickoff Workshop (2002)
An Introduction to the Process of Designing and Building a Champion Robot for the FIRST Robotics Competition
This was a workshop we ran September 25, 2001 with FESTO to kickoff the 2002 season when we were the “Titans.”
-
FIRST SBPLI Kickoff Workshop (, 8.1 MB)
Chief Delphi Whitepapers
The FIRST Robotics Competition has a community forum sponsored by Team 47 Chief Delphi that is the place to go to discuss and debate all aspects of FIRST – technical, organization, fundraising, etc. Members of teams from all over regularly post white papers on myriad topics of interest: FIRST Chief Delphi Whitepapers
FIRST Sponsored Workshops
FIRST hosts Kickoff workshops in Manchester with a special program for rookies. Many remote Kickoff sites also hold workshops and Regions run workshops, such as ours for SBPLI, throughout the year with a concentration in the Fall. Championships has hosted workshops for several years as well. These workshops are generally presented by team volunteers from around the world. Many of these are available online in powerpoint or even in some cases as video recordings.
The following links have some duplicate material.