View Single Post
  #2   Spotlight this post!  
Unread 13-11-2008, 14:43
ay2b's Avatar
ay2b ay2b is offline
Registered User
AKA: Andy
FRC #2928
Team Role: Mentor
 
Join Date: Mar 2004
Rookie Year: 1994
Location: Seattle, WA
Posts: 211
ay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant futureay2b has a brilliant future
Re: Organizing many programmers

As almost everyone has said, some sort of version control system is a must.

I'd personally recommend against having competing teams, unless you did that all pre-season. During the season, I would try to avoid doubling the work you do, knowing half of it will be discarded. As an experienced C/C++ programmer, I found LabVIEW (at least the basics of it) fairly easy to pick up, but I'd recommend going with what you know. Either learn LabVIEW before the season starts, or use C/C++.

My recommendation for how to organize/divide the students is to have 4 or 5 teams. Each team is responsible for a separate component of the software.

a) robot interface -- using an object-oriented approach (which doesn't necessarily imply an OO language), this team provides an interface "to the robot". Present functions such as "drive at this speed", "move arm to this position", etc. This team would be responsible for integrating sensors, implementing PID control loops, etc.

b) autonomous operation -- using the interface provided by team (a), develop the autonomous operation.

c) teleop code -- using the interface provided by team (a), develop the teleop code. This team would probably also help to design the operator interface. Should we move the arm with a joystick, or have buttons to move to set positions? Should the arm joystick control the arm position or the arm motor speed? Do we use 1-joystick drive, or 2-joystick drive? etc.

d) dashboard code -- this could be the people who really want to use LabVIEW or C/C++, whichever you chose not to use on the robot.

You might split team (a) into two teams, one that does the drive (and encoders, gyro, DAA, etc for positioning the robot on the field) and one that does the manipulator (and associated sensors).
__________________

2011 - SD Quarterfinalists (980), LA Quarterfinalists (980)
2010 - LA (2404) Finalists (980), AZ Motorola Quality (980)
2009 - LA Semifinalists (980); Las Vegas Quarterfinalists (980); SD (2404); IRI #1 Seed, Finalist (980)
2008 - SD Quarterfinalists (980), LA Champions (980), LA Rookie Inspiration Award (2404); CalGames Finalists
2007 - So.Cal Finalists (980), SD Quarterfinalists (980); CalGames Finalists
2006 - So.Cal Regional Champion (4), Toronto Judge's Award Day 1 (4)
2005 - SVR Champions, Delphi "Driving Tomorrow's Technology" (980); AZ Xerox Creativity (980); So.Cal Finalists, RadioShack Innovation in Control (980); Championship Archimedes Division Semifinalists; IRI Finalists (980)
2004 - So.Cal Regional Champions, Leadership in Controls (980); AZ GM Industrial Design (980); Championship Galileo Division #2 Seed; IRI Champions
2003 - PNW Semi-finalists (488)
2002 - PNW Finalists (488)
2000 - X-bot / 488 - Mentor / Founder
1994 - Sunny Delight - Driver - champion