I am the advisor to a new team. I am becoming increasingly concerned with the programming and control sub-team and a lack of ability to make progress. We received the Robovation kit only last week and I sent one of the kids home with it and he was not able to get things going.
Where can I steer my kids for the definitive resource to gain basic control over our team robot. Any ideas/resources would be appreciated!
The biggest problem I’ve seen is knowing where to start. I printed out copies of the guide documents for the RC, OI and the EDU unit. I also copied the docs on the default, user and edu programs. Arranging them in a binder with tabs gave our group a central place for documentation.
Read the docs so you know how things work. That way you can give your group targeted tasks they can complete like:
Install the MPLAB IDE, compiler and IFI loader
Wire the EDU computer as shown in the guide
Connect the EDU computer to a PC and download the default code
Change the default code, compile and download it
It’s fairly easy when you figure out where to start.
I don’t know if there are any nearby veteren teams, but the most efficient way would be to send a few members of your programming sub-team over for an evening, and learn the basics. Most teams will show more than enough GP to mentor you in this manner.
Alternatively, you may be able to talk a nearby team’s programming mentor to visit your team for a few hours and do the same.
Team 188 has had members from teams around Toronto drop by for these kind of crash course sessions, and it has also sent mentors and students to other schools who’ve asked for help. Ask, and I’m willing to bet you’ll find another team who’ll do the same .
Here’s an updated Quick Start white paper. see if this helps any. Programming Quick Start
Beginners need the following to program the FIRST robot:
v FRC (Full-size Robot Controller) RC Default Code
v Microchip MPLAB & C compiler
v IFI_Loader
v A standard serial cable
v A Windows PC with a serial port or USB-to-serial converter
MPLAB is the FIRST supplied Windows based development environment (edit, compile, debug) that runs on your desktop computer and is usually provided to each team on a compact disk in the Robovation kit. MPLAB is also free on-line at the Microchip website http://microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en019469&part=SW007002 , but the C compiler is not free except via the Robovation CD and is normally only available online as a time-limited trial copy or for purchase. For a limited time the latest compiler is available from a link on http://www.usfirst.org/ (bottom left of the page where it says “Microchip Software downloads.” Manuals for using MPLAB come on the FIRSTCD.
Newer laptops no longer come with serial ports. If you have this problem one solution is to use a USB/Serial converter. Various models are available at Radio Shack, CompUSA, or online, however, some models can be temperamental and they generally take longer to download than a built-in serial port (60sec vs 10 sec). Good results have been reported using: Bafo Technologies BF-810 (~$15) and a Radio Shack USB-to-Serial port cable#26-183 ($42).
Documentation is your friend. Take the time to at least leaf through each manual, so you have an idea of where information can be found. Most of the basic information beginners require can be found in the IFI documents or MPLAB documents:
[list]
IFI Programming Reference Guide – basic how to program and download to the RC, hookup switches and sensors and do normal robot operations.
IFI RC Default Code Reference Guide – description of how the default code is structured and where users can add their own custom code.
MPLAB v6.xx Getting Started – basic how to use MPLAB and set options.
MPLAB C18 Users Guide – table of max numbers each variable type will store, compiler options, error messages, detailed descriptions of pragmas and some other advanced topics.
MPLAB C18 Libraries – details on timers, interrupts, and various other utility functions available to the programmer.
[/list][indent]o More advanced documents are also available, e.g., 18Fxx20 Data Sheet (& Errata)– PIC assembly instruction set and details on EEPROM and other chip specific topics, and several others.
[/indent]
Programming limits to the 2004 RC:
[list]
30,720 bytes of program space is available to the user, after 2004 IFI code.
1,343 bytes of ram available to the user, after 2004 code overhead.
256 bytes of global variables available within any one MPLAB project file, such as user_routines.c
120 bytes of variables can be declared within any single routine.
[/list][indent]o The program and data space your code has used can be checked either by the status line at the bottom of the IFI_Loader window or via the optional .map file that you can set MPLAB to generate for you. Note: the .map file lists % of program space used, but the user will have only 90% available to him or her. The .hex is ASCII and file size is no indication of code size.
[/indent]Visit the ChiefDelphi Programming forum for discussions on all programming topics, problems, and issues http://www.chiefdelphi.com/forums.
Keep it simple, if you’re giving too complex of a task in first year, they will surely be extremely confused.
Programming is expecially difficult in first year because everyone wants to become the lone cowboy and program everything at once by themselves (it seems difficult at times to co-ordinate with your peers about how to accomplish things).
Stick together, assign functions in partners, stay to minimal variations of code, stay organized, and most of all - keep it simple.