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 year 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 http://memphisfirstteams.org 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: http://wpilib.screenstepslive.com/s/3120/m/8559/l /92209-imaging-your-classmate-rookie-usb-stick Make sure you follow the instructions about UPDATES Classmate PC (Cont) • Veteran Teams Classmates (driver station NetBook) will be re-imaged using the same method as last year. – BACKUP FIRST! For instructions see http://wpilib.screenstepslive.com/s/3120/m/8559/l/92211imaging-your-classmate-veteran-rookie-image-download 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) Updates • 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. VETERAN TEAMS New in 2014 LabVIEW • 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. Hardware • With the new RoboRio control system due out for the 2015 season, most of the hardware efforts are focused on that. See: https://decibel.ni.com/content/docs/DOC30419 • There were NO reports of any changes to the hardware this year. ROOKIE TEAMS Programming Options • LabVIEW • 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 them. • 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 before • 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 programmers) • 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 often. 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 http://www.usfirst.org/roboticsprograms/frc/blog • FRC Website http://www.usfirst.org/roboticsprograms/frc • National Instruments https://decibel.ni.com/content/community/academic/stude nt_competitions/frc • WPI http://wpilib.screenstepslive.com/s/3120 Presentation • This presentation (and all links) will be posted at: http://memphisfirstteams.org/