Control_Sys - Memphis First Teams

US First Kickoff 2014
Software Programming
(And Control System)
Daniel Kohn
University of Memphis
What will be presented……
For Everyone
•Classmate Updates / Install
Veteran Teams
• Changes from Last
Rookie Teams
• General intro
 programming options
This is NOT intended to TEACH you how to program, just give you an overview of
the control system and programming changes from last year and to show the
various programming options teams have.
Java Seminar
• If your team is using Java and all your
programmers are in this room…..someone
should leave NOW and go to the Java
Seminar in the Poplar Room (UC 308)!
Please Note:
• Last year, information on the changes made to the
control system and programming was easily
obtained (NI Held Training)
• This year, info is based only on Beta Test Teams
reports and is VERY Sketchy!!
• This presentation, along with links and notes will be
posted to
Classmate PC
• Rookie Teams
 There will be NO Software loaded on the
Classmate when you get it. You should receive a
USB Drive to install the software.
 Instructions at:
 Make sure you follow the instructions about
Classmate PC (Cont)
• Veteran Teams
 Classmates (driver station NetBook) will be re-imaged
using the same method as last year.
 For instructions see
 you need a 8Gbyte USB Thumb Drive or larger as well
as a PC that you can install software on (since you need
TWO different programs to prepare the USB image for
use with the NetBook)
• This year the NI updates have been reconfigured into a
single standalone installer. This means that the FRC
Driver Station, cRIO Imaging Tool and other utilities such as
the Camera Configuration Tool will all be bundled into a
single installer which will not require any components from
the DVD. The LabVIEW update is also included in this
installer and will install if a LabVIEW installation is detected.
New in 2014
• Upgrading from LabVIEW 2012 to 2013
• I found no other significant changes reported
from the Beta Test teams.
Java and C++
• Smart Dashboard 2.0 (Improved over last year)
• I found no other significant changes reported from
the Beta Test teams.
• With the new RoboRio control system due
out for the 2015 season, most of the
hardware efforts are focused on that.
 See:
• There were NO reports of any changes to the
hardware this year.
Programming Options
• C/C++
• Java
LabVIEW - Advantages
• Made By National Instruments (NI)
 Makers of the cRIO Control system (and the control
system for 2015)
• Graphical Programming Language
• Lots of support on line in forums and from NI
 NI is a huge supporter of FRC and FIRST
• Lots of built in documentation (help on every VI, examples
for every sensor/system)
• Includes a robot simulation tool for off robot testing (was
pretty useless in 2013)
LabVIEW - Disadvantages
• Many windows need to be opened to do
anything (hard to do on the Classmate)
• Hard to find things the first time you need
• Programmers (those who know standard
programming languages) have a hard time
with the graphical nature of LabVIEW
Sample LabVIEW Code
C/C++ Advantages
• Common programming language
 Mentors and students might be more
comfortable with C/C++ if they programmed in C
• Many books on C/C++ (but NOT the
specifics for FRC teams)
• Mentors and students who know C/C++ will
have a shorter learning curve
C/C++ Disadvantages
• Licensing issues!
• Installation issues (discussed previously)
• In 2013, there was a rumor has it C/C++
support might end in 2015 (but since then
statements have been made to the contrary)
Sample C/C++ Code
Java Advantages
• Uses NetBeans (commonly used by
• Mentors and students who know Java
already will have a very short learning curve.
• All public domain – no licensing issues in off
season and no registration required.
• Only software that does auto FRC Updates
Java Disadvantages
• Newest Language (only the 5th year offered)
Sample Java Code
Robot Builder
• With the introduction of Robot Builder, Java
and C/C++ are easier to use for teams who
have programming mentors who know those
languages (in the past many mentors could
not get over the issues of defining robot
hardware, this is now done in Robot Builder)
Where to Start
• Basic code
 Each language has basic robot code or
templates available
 Don’t be afraid to search the internet, some
teams post code from previous years!
• HINT: the basic code usually uses the standard
wiring (don’t deviate from the standard wiring or
code will not work)
Keep Current
• A common rookie mistake is not to keep the
software up to date.
• Check the 2014 software update website
Other Comments
• If you are NOT using LabVIEW, you will need some
of the files included with the LabVIEW Install
• You will probably want to do your programming on
a computer with a bigger screen (laptop)
• If you plan to use the Robot Simulator in LabVIEW,
you will need a Laptop with higher specifications
Thanks to…..
• FRC Blog
• FRC Website
• National Instruments
• This presentation (and all links) will be
posted at:

similar documents