View Single Post
  #2   Spotlight this post!  
Unread 04-11-2012, 23:14
efoote868 efoote868 is offline
foote stepped in
AKA: E. Foote
FRC #0868
Team Role: Mentor
 
Join Date: Mar 2006
Rookie Year: 2005
Location: Noblesville, IN
Posts: 1,412
efoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond reputeefoote868 has a reputation beyond repute
Re: Programming Team's Role

Depending on the size of your team (and the number of individuals interested in programming), the roles on your programming team and goals are going to be different.

You should start in the preseason with a set of goals of things you'd like to be able and know how to do on the robot, and then work as time allows to try each one. That way, once you get to the build seaon, you won't be scratching your head thinking "how do I use a gyro in code?" and you'll be familiar with finding documentation on problems that may arise (part of being an engineer - you don't necessarily need to know what something is, you need to know how to find it quickly).

Once the game is announced, you'll be able to describe to the mecanical team your abilities and your limitations (I know how to use a camera to orient the robot towards a target, but I don't know how to calculate the distance to determine wheel speed.)
You'll also be able to ask for sensors in parts of the robot (I need an optical encoder somewhere near each drive wheel so that I can have the robot automatically drive at a specific speed,) which should make the robot more of a robot and less of a remote controlled vehicle.

As the robot nears completion, you'll know what the structure of your code should look like in order to do tasks, and what the operator interface should look like in order to control the robot (when the driver presses this button, the robot should orient itself towards a target, and the driver will know it's done when this LED flashes)

You'll also need code to test the orientation of motors and pneumatics, one at a time. It'll be a good idea to have an abstraction layer where that's all defined, so when you're working in higher up code you don't care if 254 is forward or reverse, your math makes sense.

Lastly, you'll be responsible for the autonomous mode. This will be game dependent, but it's a good idea to have high level functions implemented (DriveForward(distance), TurnLeft(degrees), MoveArm(configuration)) and tested, so putting together a few strategies isn't a pain.
__________________
Be Healthy. Never Stop Learning. Say It Like It Is. Own It.

Like our values? Flexware Innovation is looking for Automation Engineers. Check us out!