Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   Programming - Getting Started (http://www.chiefdelphi.com/forums/showthread.php?t=30976)

slavik262 20-01-2007 12:07

Re: Programming - Getting Started
 
Something else that's amazingly helpful is WPlLib. WPIlib simplifies programming a great deal by storing a vast majority of the code in a library file that is automatically called when ever you need it. No default code is needed. Further description, documentation, and downloads can be found here. A thread on the subject is located here.

Mark McLeod 21-01-2007 09:51

Re: Programming - Getting Started
 
Overdue for updated links and accounting for 2007 changes...

2007 Programming Quick Start
1. Beginners need the following to program the FIRST robot:
v FRC (Full-size Robot Controller) RC Default Code
v Microchip MPLAB & C compiler (only from the Kit-of-Parts (KOP) CD) or Intelitek Easy C also in the KOP.
v IFI_Loader v1.1.0 (from the KOP CD)
v A standard serial cable
v A Windows PC with a serial port or USB-to-serial converter

2. Where to get everything:
-Basic default code, updates, documentation, and support information is available on the Innovation FIRST (IFI) website, in particular at:
v 2007 default code comes ready for basic driving and with a variety of sample I/O usages.
v Robot Controller
v Operator Interface
v CMUCam2
-The Camera default code for use with the CMUCam2 camera comes in two versions, one for the MPLAB native C programming environment and the other for the EasyC development environment.
The MPLAB version is available at the developer Kevin Watson’s website. While there you’ll also find code examples for using other beneficial sensors. This default code may have the normal driving mode disabled.
-MPLAB is the FIRST supplied Windows based development environment (edit, compile, debug) that runs on your desktop computer and comes in the Kit-of-Parts wrapped inside the small clipboard. Manuals for using MPLAB come on the CD and are also found hosted on-line at Kevin Watson’s website.
IFI_Loader v1.1.0 (also on the KOP CD) is used to download the compiled code into the RC via a serial cable from your desktop or laptop computer.
-EasyC from Intellitek can be used instead of MPLAB or as a rapid prototyping tool. It came in the KOP in the bag with the robotics magazines. The Main Contact of each team received an email from FIRST a software key to activate one installation of the software.
-- The EasyC version of the Camera default code for use with the CMUCam2 camera is available at Intelitek's website.

3. National Instruments Labview came in the kit-of-parts and has some optional special applications for the camera and OI dashboard among others have been provided in this Chiefdelphi thread and discussions can be followed in the Chiefdelphi EasyC Pro forum.

4. WPI has developed a potentially useful approach to programming your robot. Details are at WPILIBand discussions can be followed in the Chiefdelphi WPILIB forum.

5. Check the IFI website periodically for updates to the software that corrects issues and fixes problems. For instance, new Master Controller “patches” if any, will be made available there. Directions will be included with any download.

6. The programming language used is “C”, EasyC, or PIC assembly. Tutorials in C can be found on the web, in your local bookstore or on the FIRST website, e.g.,
-- C Programming Resource Library has a great overview of the programming process.
-- Learn C Programming - Developed by Carnegie Mellon and the National Robotics Engineering Consortium specifically for FIRST, this interactive website will get your team prepared for the FIRST Robotics Competition.

7. Newer laptops no longer come with the serial port required to download code to the Robot Controller. If you have one of these laptops a 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). You can also use the converter that comes with the Radio Shack Vex Programming Kit.

8. 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 available from the websites:
    • The 2004 IFI Control System Overview version applies to 2007 as well.
    • 2005 IFI Programming Reference Guide – basic how to hookup, program and download to the RC, hookup switches and sensors and do normal robot operations.
    • Useful programming and compiler documents come on the Kit provided MPLAB CBOT CD with the tool installations or are available from either Kevin Watson’s website or the legacy section of the Microchip website.
v c18_getting_started_2.4.pdf
v c18_libraries_2.4.pdf – details on timers, interrupts, and various other utility functions available to the programmer.
v c18_users_guide_2.4.pdf - table of max numbers each variable type will store, compiler options, error messages, detailed descriptions of pragmas and some other advanced topics.
v Microchip pic18f8722 data sheet - PIC assembly instruction set and details on EEPROM and other chip specific topics. Mistakes found later after the datasheet was published.
v Microchip PICmicro 18C MCU Family Reference Manual – all things great and small (in excruciating detail) about the processor we use.
v MPLAB Quick Start Guide.pdf - basic how to use MPLAB and set options.
v MPLAB Users Guide.pdf
Visit the ChiefDelphi Programming forum for discussions on all programming topics, problems, issues, and ideas.

jesusescobar 21-01-2007 19:20

Re: Programming - Getting Started
 
Im experienced in programming but im new on FRC is that an advantage???

jesusescobar 21-01-2007 19:52

Re: Programming - Getting Started
 
I need help how can i program the robot controller to have my team number



how do i put my team number on a FRC Robot Controller

that is my question please help:confused:

Mark McLeod 21-01-2007 21:36

Re: Programming - Getting Started
 
You set your team number using the binary dip switches on the Operator Interface (OI) labeled "Team Number."

--Tether the OI and RC together.
--Power up the RC (the OI will get it's power through the tether).
--Press the "Select" button on the OI three times and it will display the current team number setting. As you change the dip switches you will see the team number display also change, so it's easy to verify you've set your team number correctly.
-- The left most dip switch is the most significant bit.

Each switch is "1" if the front is pressed down and "0" if the back of the switch is down.
You can figure out the binary number of your team, or start with all the switches set to zero then beginning at the left flip the switches one at a time. If the number you get after you flip a switch to "1" is lower than your team number, keep it. If the resulting number is higher put that dip switch back to zero and go to the next one on the right.

Mark McLeod 21-01-2007 22:27

Re: Programming - Getting Started
 
Sorry Marc. I didn't notice this right away.

I have some books I've taken excerpts from for the kids to read, such as
Programming Robot Controllers by Myke Predko
The Personal Robot Navigator by Miller, Winkless, and Bosworth
and some random articles I've used with students.
Obviously covering state machines, but also some behavioral programming, waypoint navigation, that type of thing.

I've found most kids respond most rapidly to programs structured as a series of lessons of increasing complexity where they can get down to experimenting with autonomous driving their first day on the job so to speak. (I purposely use robots that don't have remote controls.)

Quote:

Originally Posted by marccenter (Post 558439)
Mark,
I have already looked for some articles on autonomous programming and have found a few. Do you have a favorites list or best list for less experience autonomous programmers?

I'll have to think about a favorite articles list.

htwiz2002 25-01-2007 11:24

Re: Programming - Getting Started
 
Quote:

Originally Posted by Bored (Post 558313)
Our main programmer that did most of the work went to a different school so I'm actually going to have to learn to code C this year.
This topic is a real help thanks guys.

Quote:

Originally Posted by udzap (Post 558321)
Cool this is perfect for a beginner programmer as I.

Hopefully it will help now that more than one person is doing it :yikes:

Mib 28-01-2007 14:10

Re: Programming - Getting Started
 
Quote:

Originally Posted by nehalita (Post 320258)
this helped me soooo much. thank you all. this is our second yr competing and this is my first year in FIRST. i have a java background and a simple C background from 8th grade...but it was so long ago. :eek:

I'm the only one in charge of programming so when i was handed all these Cd's and codes and links and websites, i was pretty overwhelmed. i just learned about this today and I've spend the majority of the day looking through posts to answer my Q's

is there anyone here that i can directly e-mail or talk to if i have questions? (warning: I'm like a pet, i demand a lot of attn: i have questions everyday....or close to it) :(

also, everyone speaks about a "dongle" and i saw the picture and everything. but what exactly IS it? :confused:


its usually a piece of hardware (USB flash drive) that a program needs to be used in order for it to work

some programs allow them to be "virtual dongles" or a software dongle, but usually its a hardware device.


--------second point---------

New programmers might also check out Kevin's code and test it out. Testing and checking is a must!

Astronouth7303 05-02-2007 22:56

Re: Programming - Getting Started
 
Quote:

Originally Posted by Mib (Post 566906)
its usually a piece of hardware (USB flash drive) that a program needs to be used in order for it to work

some programs allow them to be "virtual dongles" or a software dongle, but usually its a hardware device.

Usually when we, here, speak of "the dongle" or "a dongle", we refer to what connects to the competition port to enable/disable the robot and turn autonomous mode on/off. You can get the schematics from http://www.ifirobotics.com or buy one from AndyMark. They should be in the kit, since they are as much a safety precaution as a debugging aid.

When talking about the USB/Serial hardware, we usually use the term "adapter" (as in a USB-Serial adapter).

We rarely use the term "dongle" to describe a license device, since none of the software teams use requires one. (Correct me if I'm wrong.)

ProgrammerMike 10-01-2008 18:01

Re: Programming - Getting Started
 
ok, i have read all of this and it seems helpful for coding the robot in C....But we have easyC and it seems simple enough to just drag and drop and get teh code to the controller but i can't get it to do anything. I belive i have tried just about all options with it and still no results. Maybe i should give up eacyC and go with an actual C compiler. I don't know....i could really use some help....

This is my first time in any kind of robotics activity ever. Programming languages i know are VB, dark basic(not useful but jsut fun!), and a little bit of C++...Im the only programmer on my team so i really could use some help

Mark McLeod 10-01-2008 18:47

Re: Programming - Getting Started
 
Don't give up on EasyC.
You just need some direction.

Easy C Pro, the version FRC teams work with has it's own forum over here: http://www.chiefdelphi.com/forums/fo...play.php?f=164

Post your questions there.

Red Mage 16-01-2008 18:51

Re: Programming - Getting Started
 
I believe that the name EasyC is misleading, C is not that easy.

ShotgunNinja 31-01-2008 18:59

Re: Programming - Getting Started
 
What happened to the coder's update post for '07-'08? Look at the post dates.

And does anyone know how they want us to handle the new '08 version of Autonomous Mode, with the 4-button controller? The code platform for the older versions of MPLAB and even the code in the ROBOTC package just released doesn't seem to have the codes for interfacing with the 4-button controller, just the old Autonomous Mode codes. Is this just a futile question? Am I just completely not making any sense? :confused: Please help.

psy_wombats 31-01-2008 19:04

Re: Programming - Getting Started
 
You might want to try looking on the countless threads kicking about regarding the IR sensor... There should be a decent amount of information there, although, as far as interfacing the sensor, I believe it's a matter of four digital inputs and then just synchronizing the signal? Don't know, there are a lot of threads around, though.

ROFLcopter 18-02-2008 21:21

Re: Programming - Getting Started
 
We have hit a programmers worst nightmare. A cyber brick wall. No communication between the RC board and the computer. It's worked before, but for some reason, it took a giant dump on itself. We are so frustrated right now most of us just feel like dropping the tools and going home... :mad:

We are using a very noob friendly program called RobotC. This program is used for VEX but has an option to be used for FRC instead. Any other compatible programming is like a foreign language and we have no clue how to use it. If anyone has a miracle, we will display your name and achievement in big letters on our bumpers.


All times are GMT -5. The time now is 11:20.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi