Jun 23, 2017 10:00 AM:
Last Day of School
Full event list
FIRST® Things FirstWhat is FIRST?
FIRST Official Site
FIRST in the News
FRC® Game Details
FRC® Game Animations
MultimediaFIRST Promo Videos
FIRST News Segments
Team 358 Photos & Videos
Team ResourcesStart a Team
Technical ResourcesControl System
General ResourcesOffsite Resources
Long Island Teams
FIRST® Robotics Competition (FRC®)
The FRC control system introduced in 2009 is based on a National Instruments Compact Reconfigurable I/O (cRIO), with additional FIRST designed breakout boards to convert to the special robot connections and power requirements we use in FRC.
Control System Highlights
- Teams will receives ONE robot controller their first year that must be reused in future years. Additional cRIO's may be purchased.
- Industrial control system capable of real vision processing
- Harder to keep retired robots operational w/o new control system hardware each year
- Mini-cRIO (2012-)
- Original model (2009-2011) 11"long x 3"wide x 7"tall and weighs several pounds depending on the modules and breakout boards used
- Teams may purchase one extra robot cRIO controller ($750 for original only until Sept. 2011, ~$350 for mini-cRIO Sept 2011 on) each season (will also need to purchase separately extra Digital Sidecars, Power Distribution, analog & solenoid bumpers)
- Complexity (& power) in programming tools. Advanced processing out of the box. Three choices LabVIEW, Java or C++, plus third-party extensions to Python and others.
- Electrical System Parts
- Driver Station (DS) is a netbook w/(2) USB ports for game controllers and an Ethernet port to connect to the playing field
- cRIO the new robot controller made by National Instruments
- WiFi or tether via ethernet cable for control/programming-debugging
- Power Distribution Panel for single integrated circuit breakers w/24v, 12v, and 5v power outputs
- Digital Sidecar handles PWMs, Digital I/O, Relays all w/standard 3-pin connectors, as well as an I2C interface
- Analog inputs also w/standard 3-pin connectors
- Solenoid outputs now directly control pneumatic valves without spikes (spikes can be used through Relay outputs)
- Mixed voltages (+5v, +6v, +12v, +24v)
- Wind River/C++
- WiFi or ethernet cable operation, downloading and debugging
Differences By Year
- 2009 - everything was new cRIO, power distribution, Wi-Fi, Gray/Tan Jaguar speed controllers
- 2010 -
- 2010 Electronics Changes: Analog Breakout, Digital Sidecar, Power Distribution Panel
- Driver Station was changed from a custom Linux box to a commercial netbook
- An additional slot was opened up for a second solenoid module and allowed to be wired for 24v solenoids
- The KOP robot Wi-Fi bridge (WGA600N) was no longer made, so the designated replacement was the WET610N
- A Black Jaguar redesign replaces the original gray/tan Jaguar
- 2011 -
- A new KOP robot Wi-Fi AP/bridge (DAP-1522)
- The items in the 2011 Kit of Parts will officially support Windows 7 and XP
- Classmates run Windows 7 (upgrade for 2010 Classmates)
- 2012 -
- smaller version of the cRIO introduced with 4 slots, no DIP switches, 1 Ethernet port
- National Instruments (cRIO and modules site: National Instruments
- Original FRC NI-cRIO (2009-2011) Specs: NI cRIO-9074
- NI-cRIO FRC II (2012-) Specs: NI cRIO-9076
- NI-Get Started with NI CompactRIO: NI DOC-1663
- Windriver (VxWorks OS): windriver.com
- WPI (API): csoverview.html
- Luminary Micro's Jaguar Speed Controller
- FRC Getting Started Guide: http://decibel.ni.com/content/docs/DOC-2451#2489
- Using the FRC Framework: http://decibel.ni.com/content/docs/DOC-2663
- FRC Programming Guide: http://decibel.ni.com/content/docs/DOC-2631 (400+ pages of detailed VI descriptions)
- After installing Wind River: C:\WindRiver\docs\extensions\FRC\FRC_Vision_API_Specification.pdf
Wind River/WPI C++
- After installing Wind River:
- C:\WindRiver\docs\extensions\FRC\C Programming Guide for FRC.pdf
- Installed along with LabVIEW C:\FRCJava\javadocs
SoftwareThree official choices for programming in 2010/2011: LabVIEW, NetBeans/Java, or Wind River C++.
Only two choices for programming in 2009: LabVIEW or Wind River C++.
In addition, there are several tools convenient or necessary to make the system work:
- FRC cRIO Imaging Tool - used to set the cRIO to the user's chosen programming environment (LabVIEW or Wind River C++), and to apply cRIO firmware updates.
- Vision Assistant - helps play with the robot camera, see what it sees, and develop algorithms
- Setup Axis Camera - properly configures the robot camera for use with the cRIO and FIRST system
Teams can use the provided netbook to program with in addition to serving as the competition driver station, however, at competition it can be somewhat impractical as the netbook is unavailable while the robot is on queue or in a match. Also, the netbook can be much slower than a standard laptop.
A team programming laptop must have administrator privledges:
- Laptop needs to be connected to the Internet for software installation and activation.
- Needs about 5-6GB for software installation
- Laptop IP address needs to be changed to a specific static address
- Any Firewall generally must be turned off
Firmware UpgradesBoth the DS and the cRIO will require updates released by FIRST during the season.
Generally, the LabVIEW update will be required for all users regardless of programming language (LV, C++, Java), because it will contain the cRIO image update as well.
cRIO Firmware UpdatesThese are applied using the "FRC cRIO Imaging Tool" placed on your desktop during the LabVIEW installation. The tool will list the patch to be applied, but be careful you don't load one of the older patches, although, usually older versions are automatically removed by the installer. This tool is also used to setup the cRIO for your choice of programming environment: LabVIEW or Wind River C++.
LabVIEWOne of the ways to program the cRIO is via this graphical programming environment.
NI provides a custom FRC version to teams with multiple team licenses (no restriction for FRC use only) as in years past. This LabVIEW has an FRC specialized toolset customized for our implimentation of the cRIO and breakout boards.
Default templates for the FRC robot control and a LabVIEW-based dashboard program as well are available to build from or use as is.
Installation disks come in the KOP, and occasional software patches must be applied. It is safest to uninstall any prior installations of LabVIEW on your PC before installing this one. But not to worry, if you have FLL® and FTC® versions already installed they won't have any conflicts and can be left on your system.
Tutorials are available online at:
Wind RiverLabVIEW, Java and C++ user code runs on the cRIO under the vxWorks operating system from Wind River. windriver.com
Another way to program the cRIO is via this C/C++ environment. Details can be found at C_Programming_Guide_for_FRC. The C++ programming manual is also included in the software installation and can be found in the default location C:/WindRiver/docs/extensions/FRC/ C Programming Guide for FRC.pdf More documentation is included with the Wind River installation as part of the Help facility, and can be printed.
NetBeansThis is combined with the LabVIEW installation and requires some setup to check for frequent updates from the Internet. Your code runs on a virtual machine on the cRIO itself running under the vxWorks operating system.
Developer of the C++/Java software API to the cRIO/FIRST hardware.
Programmers will make calls to this Application Programmer Interface (API) to receive and send data and robot commands.
More images of the 2009 Control/Electrical System
- Wireless 5Gz n-band for competition field, tether while in the pits.
- Robot holds the Estop and robot power must be cycled to re-enable the robot afterwards.
- Team eStop is not required or used on the competition field
- The only cross-over cable required is from the camera to the cRIO
- Unused cRIO modules can be removed
- cRIO & wireless requires 3v minimum to operate during a stalled motor/low battery brownout. all other power outputs are cut by the Power Distribution Panel.
- Game controllers should be centered when the DS is powered up for some of them assume the startup position is the center.
Get Microsoft Excel Viewer
Get Microsoft PowerPoint Viewer