Go to Post User error is not the manufacturer's fault. - AdamHeard [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 21-10-2007, 17:38
Guy Davidson Guy Davidson is offline
Registered User
AKA: formerly sumadin
FRC #0008 (Paly Robotics)
Team Role: Alumni
 
Join Date: Mar 2005
Rookie Year: 2005
Location: Ra'anana, Israel
Posts: 660
Guy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to behold
Send a message via ICQ to Guy Davidson Send a message via AIM to Guy Davidson Send a message via MSN to Guy Davidson
Programming Team Size, and do they all do?

Hey folks,

After two years of being a member of a two man or four man programming team, it seems that we will have around eight programmers this year. As the leader of our programming team, I was wondering what does everyone do with all of their programmers? We will probably use some of the manpower to work with new stuff (for us) such as encoders, but some of the process is already simplified with WPILib, which we plan to use. Any ideas for other things we might try on the programming front?

Thanks.
  #2   Spotlight this post!  
Unread 21-10-2007, 18:39
geeknerd99's Avatar
geeknerd99 geeknerd99 is offline
Fire Hazard
AKA: Daniel Lin
FRC #0401 (Hokie Guard)
Team Role: Programmer
 
Join Date: Oct 2004
Rookie Year: 2005
Location: Blacksburg, VA
Posts: 276
geeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud ofgeeknerd99 has much to be proud of
Send a message via AIM to geeknerd99 Send a message via MSN to geeknerd99 Send a message via Yahoo to geeknerd99
Re: Programming Team Size, and do they all do?

In my experience, too many cooks spoil the broth. To me, programming the robot is a very personal experience, and while it's ok to pass ideas around, there should be one, at most two or three actual code writers. If there's more than one, they shouldn't mess with each other's code.

8 sounds like an extraneous number of programmers to me. Then again, our "programming" group is 10 or so this year, but only 3 of us will actually even be touching competition robot code.

And remember. Programmer is a very relative term. There's a difference between mapping a joystick to a PWM and writing a championship-class autonomous mode.

Likewise, theres a big difference between an angry blinking red light...... and a 6000 dollar robot ripping itself in half because you used the wrong argument somewhere. Believe me, I've almost had the second outcome happen to me before.
__________________
  #3   Spotlight this post!  
Unread 21-10-2007, 18:43
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,113
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Programming Team Size, and do they all do?

More than two or three people working on a robot's program is probably going to be hard to manage. I'd try to find other things for them to do. For example:

Give a couple of people the task of writing amazingly complete and useful documentation for all of the code that the team produces.

Have someone become and expert on version control systems (Subversion, CVS, etc.).

Start a configurable dashboard viewer programming project.

Divert some of your programmers to web site development.
  #4   Spotlight this post!  
Unread 21-10-2007, 18:52
Guy Davidson Guy Davidson is offline
Registered User
AKA: formerly sumadin
FRC #0008 (Paly Robotics)
Team Role: Alumni
 
Join Date: Mar 2005
Rookie Year: 2005
Location: Ra'anana, Israel
Posts: 660
Guy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to behold
Send a message via ICQ to Guy Davidson Send a message via AIM to Guy Davidson Send a message via MSN to Guy Davidson
Re: Programming Team Size, and do they all do?

Quote:
Originally Posted by Alan Anderson View Post
More than two or three people working on a robot's program is probably going to be hard to manage.
Quote:
Originally Posted by geeknerd99 View Post
there should be one, at most two or three actual code writers.
This is what I thought. I too really didn't see a good way for more than two or three of us to work on the robot's code.

Alan, thanks for the suggestions. We'll be sure to set up some good version control system. I would think that you'd want the people who wrote the code to write the documentation, because they know best what it does.

What exactly do you mean by a configurable dashboard viewer? Also, which sensors and control methods do you suggest we learn how to use? Particularly for better autonomous and human control.
  #5   Spotlight this post!  
Unread 21-10-2007, 19:46
BlackShadowFox's Avatar
BlackShadowFox BlackShadowFox is offline
Registered User
AKA: Madwolvez
FRC #0401
Team Role: Electrical
 
Join Date: Aug 2006
Rookie Year: 2004
Location: Virginia
Posts: 37
BlackShadowFox has a spectacular aura aboutBlackShadowFox has a spectacular aura about
Send a message via AIM to BlackShadowFox
Re: Programming Team Size, and do they all do?

I agree with Daniel Lin for only about 3 code writers but it would also be nice to have a system to clean up each others code and stuff like that. or even make it a competition between the 3 to have the best code. I don't know but as for you Daniel You had Chris check and clean up some of your code once or twice.
  #6   Spotlight this post!  
Unread 21-10-2007, 20:06
Qbranch Qbranch is offline
wow college goes fast.
AKA: Alex
FRC #1024 (Kil-A-Bytes)
Team Role: Alumni
 
Join Date: Apr 2006
Rookie Year: 2006
Location: Indianapolis
Posts: 1,174
Qbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond reputeQbranch has a reputation beyond repute
Re: Programming Team Size, and do they all do?

I am on 1024 and the software team captain as well as manufacturing coordinator. We use C and have 7 people on our programming team. I've found that everyone can have a purpose...

I have one guy thats awesome at Visual Basic 6... so, he makes rockin front ends that eat data off the dashboard port the robot passes back... mostly his tools are used for debug. He works closely with an interface programmer on the robot side that does the feedback going through the dashboard port (there are 8 user bytes that can be passed back, they usually operate on a rotation schedule so we get anywhere from 8 to up to 32 bytes (depending on update rate you're ok with) passed back).

Then, we have people who all have various parts of the robot... novice programmers work on the teleoperated period getting data from the OI... more advanced programmers take on different implements on the robot and write the drivers for them... this class of programmer also writes drivers for any new sensors we might encounter (camera two years ago, ultrasonics last year). The most advanced/gifted programmers and myself work heavily on the autonomous mode programming and any highly complex sensor drivers.

Anyone left over does cool stuff (extra features) for the robot... usually there isn't any one left for this... but this year we have a couple that want to try doing automatic rollover mitigation for the robot in case we have an unavoidably top heavy design.

For multiple codings to interface with single motors (i.e. teleoperated PID velocity control interlaced with rollover mitigation) overarching conditional structures are implemented to decide which control output to use based on the magnitued of 'decision indicies'... basically these values relate how dire the need is for one or the other algorithm to get at the motor. The fancier approach we're trying this year is wiritng algorithms such that their outputs sum to a final control output. That last part's still in R&D but expect it this year.

Anyhow... yes you can use a lot of programmers.

-q
__________________
Electrical Engineer Illini
1024 | Programmer '06, '07, '08 | Driver '08
  #7   Spotlight this post!  
Unread 21-10-2007, 22:48
Alan Anderson's Avatar
Alan Anderson Alan Anderson is offline
Software Architect
FRC #0045 (TechnoKats)
Team Role: Mentor
 
Join Date: Feb 2004
Rookie Year: 2004
Location: Kokomo, Indiana
Posts: 9,113
Alan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond reputeAlan Anderson has a reputation beyond repute
Re: Programming Team Size, and do they all do?

Quote:
Originally Posted by sumadin View Post
I would think that you'd want the people who wrote the code to write the documentation, because they know best what it does.
That's exactly why you don't want them to do the documentation. They already know the purpose and intended usage of each routine, so they're not going to realize how important it is to explain the less straightforward details. You want someone with an "outsider" point of view to fully document everything, asking the coders to explain things that aren't obvious.

Quote:
What exactly do you mean by a configurable dashboard viewer?
The OI's dashboard port lets a computer eavesdrop on the radio modem communication. There's a provided dashboard viewer program which shows all the relevant data, but it isn't necessarily in the most useful form on screen. If you can tie the dashboard feedback to a nice graphical representation of the robot, you might have a better diagnostic tool when testing the system.
  #8   Spotlight this post!  
Unread 23-10-2007, 07:14
Robostang 548's Avatar
Robostang 548 Robostang 548 is offline
I can program the future...
AKA: Don
FRC #0548 (Robostangs)
Team Role: Programmer
 
Join Date: Jan 2007
Rookie Year: 2006
Location: Northville Mi
Posts: 69
Robostang 548 is on a distinguished road
Send a message via AIM to Robostang 548 Send a message via MSN to Robostang 548 Send a message via Yahoo to Robostang 548
Re: Programming Team Size, and do they all do?

This year, the Robostangs programming division has a total of 9 members. But fortunately, we have several programming projects that extend beyond the robot so we can keep everyone busy. From scouting programs to custom IFI dashboards we have something for everyone to do. Only about 3 people actually program the robot. I did a lot of research with sensors over the summer so I already have a lot of code written for them. You can check out one of our projects we did last year, our robot simulator for our drivers, here:
http://www.chiefdelphi.com/media/photos/27481

This year we will be doing this project again only we will have it running on an xbox 360. We hope to be able to take it with us to our regional’s so other teams can take a try at driving our robot.
__________________

Team 548:
Attending National Championship, Genesee District, Detroit District 2, West Michigan District, Michigan Championship?


  #9   Spotlight this post!  
Unread 23-10-2007, 12:17
AndrewN's Avatar
AndrewN AndrewN is offline
it's alive!
AKA: Andrew Nicholson
FRC #1778 (Chill Out)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 2006
Location: Edmonds, WA
Posts: 48
AndrewN is just really niceAndrewN is just really niceAndrewN is just really niceAndrewN is just really niceAndrewN is just really nice
Re: Programming Team Size, and do they all do?

If you have a range of ages, you "pair" new programmers with experienced programmers. It's called "pair programming", whenever you write code you have two programmers looking at it as it's being written. One writes the code, the other watches and asks questions. Having to explain your code to another person helps clarify what you are doing and leads to less bugs. It helps transfer experience from more experienced to lesser. Either of the two people can be doing the coding and switch it around every hour or so.

You can fairly naturally divide the team up into "drive", "game mechanisms", and "autonomous". With two programmers on each task, that's 6. Another person (experienced) could be responsible for providing test builds and downloading to the fabrication team. Writing small pieces of code to test the mechanisms quickly without getting in the way of the other programming pairs.

It also helps if you can separate out last years controller for the programmers to work with on the bench instead of on a robot.
__________________
Andrew Nicholson
2011 FRC Robot Inspector (Seattle, Portland)
Mentor FRC 1778 "Chill Out", FTC 3018, 3940 "Hawks", 4434 "Heat Misers"

"Everything should be made as simple as possible, but no simpler."
  #10   Spotlight this post!  
Unread 23-10-2007, 12:48
artdutra04's Avatar
artdutra04 artdutra04 is offline
VEX Robotics Engineer
AKA: Arthur Dutra IV; NERD #18
FRC #0148 (Robowranglers)
Team Role: Engineer
 
Join Date: Mar 2005
Rookie Year: 2002
Location: Greenville, TX
Posts: 3,078
artdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond reputeartdutra04 has a reputation beyond repute
Re: Programming Team Size, and do they all do?

Have your extra team members (besides the 2-3 needed for the robot) work on various projects for your team; there are a lot of other programming-related things besides the robot. Have them learn HTML, CSS, AJAX, PHP, and MySQL and work on creating a custom database-driven CMS for your team's website. Once that's onlline, work on creating all kinds of cool back-end features for team management. This is great for 2-3 programmers.

If you still have programmers left over, have them learn Flash and ActionScript, and create a Flash-based version of the current FRC or FTC game, like these from 2005 and 2006:
http://www.chiefdelphi.com/media/papers/1606
http://www.chiefdelphi.com/media/papers/1751
__________________
Art Dutra IV
Robotics Engineer, VEX Robotics, Inc., a subsidiary of Innovation First International (IFI)
Robowranglers Team 148 | GUS Robotics Team 228 (Alumni) | Rho Beta Epsilon (Alumni) | @arthurdutra

世上无难事,只怕有心人.
  #11   Spotlight this post!  
Unread 23-10-2007, 21:31
Guy Davidson Guy Davidson is offline
Registered User
AKA: formerly sumadin
FRC #0008 (Paly Robotics)
Team Role: Alumni
 
Join Date: Mar 2005
Rookie Year: 2005
Location: Ra'anana, Israel
Posts: 660
Guy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to behold
Send a message via ICQ to Guy Davidson Send a message via AIM to Guy Davidson Send a message via MSN to Guy Davidson
Re: Programming Team Size, and do they all do?

Alan and Robotstang, thanks for the idea about the dashboard. We'll definitely try to write our own this year, and hopefully give it a useful GUI. We might mess around with the .NET framework that someone already created that's uploaded in CD White Papers. If we don't use one of those, we'll write our own.

Andrew, the pairing idea looks great, and sounds like something we will do. We're not sure yet how we'll divide responsibilities in the robot code, but we'll consider the way you do it.

Art, we're using Drupal right now, and don't think we really need a new CMS. But we might create a flash-based game simulator, or other creative projects.

Thanks everyone for your ideas.
  #12   Spotlight this post!  
Unread 23-10-2007, 22:49
Gdeaver Gdeaver is offline
Registered User
FRC #1640
Team Role: Mentor
 
Join Date: Mar 2004
Rookie Year: 2001
Location: West Chester, Pa.
Posts: 1,370
Gdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond reputeGdeaver has a reputation beyond repute
Re: Programming Team Size, and do they all do?

Programmers tend to go off on their own and totally concentrate on the "code". Mean while the mechanical teams are adding, dropping, changing motors, adding limit switches, and other stuff. At same time the control board is being fabricated and wired. The 3 teams tend to not communicate their changes. If there is a surplus of people 1 or 2 could be tasked with making sure the changes are communicated between the groups.
  #13   Spotlight this post!  
Unread 24-10-2007, 00:01
Uberbots's Avatar
Uberbots Uberbots is offline
Mad Programmer
AKA: Billy Sisson
FRC #1124 (ÜberBots)
Team Role: College Student
 
Join Date: Jan 2006
Rookie Year: 2005
Location: Avon
Posts: 739
Uberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond reputeUberbots has a reputation beyond repute
Re: Programming Team Size, and do they all do?

What im planning on doing is going over the basics with all of them, and then the ones who seem to get it, but not completely, will go off with someone else for the electrical stuff. I figure that people who know the intricacies of the robot controller will be easier to interface with when a wire snaps or the coders need to know a quick PWM (two very moot reasons, but it is too late at night to think of better ones).

I would have to agree, though, that having more that one main programmer even is very difficult to manage- unless you have the most talented one doing the autonomous code, another doing the user code, and another who does the general config of things (e.g. programming easier interfaces/frameworks). Getting the 3 to work together though would probably be the biggest challenge (=
__________________
A few of my favorite numbers:
175 176 177 195 230 558 716 1024 1071 1592 1784 1816
RPI 2012
BREAKAWAY
  #14   Spotlight this post!  
Unread 24-10-2007, 20:07
Guy Davidson Guy Davidson is offline
Registered User
AKA: formerly sumadin
FRC #0008 (Paly Robotics)
Team Role: Alumni
 
Join Date: Mar 2005
Rookie Year: 2005
Location: Ra'anana, Israel
Posts: 660
Guy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to beholdGuy Davidson is a splendid one to behold
Send a message via ICQ to Guy Davidson Send a message via AIM to Guy Davidson Send a message via MSN to Guy Davidson
Re: Programming Team Size, and do they all do?

Gdeaver, we hope to eliminate this problem by having twice / three times a week meetings between the build and programming leaders.
We will probably all be working on all code together, so that should hopefully make it easier to share, assuming it's well-commented. Which is a pretty big assumption
  #15   Spotlight this post!  
Unread 03-11-2007, 16:31
shawger shawger is offline
Programming Subteam Leader
FRC #1732 (Hilltopper Robotics)
Team Role: Alumni
 
Join Date: Nov 2006
Rookie Year: 2006
Location: Wisconsin
Posts: 60
shawger will become famous soon enough
Re: Programming Team Size, and do they all do?

I think with this many programmers you have some great options not available to many teams, but you will have to figure out how to be organized.

You should definately use a source code control system like subversion or CVS. That way, multiple people can work on different areas of the code at the same time, and then merge their changes together. With proper commenting on each commit, this could also help as a documentation tool.

You can also create branches in a source code control system. Maybe there are two or three different ways you could solve a problem. Why not create a new branch for each way, try them all out, and see which one works best?

Also make sure you keep documentation on the code as you write it. Last year, I wrote the code and wrote the documentation afterward. Given that I was really the only one doing the programming, it wasn't a big deal for me. However, it took awhile to do, and with many people working on the code, everybody will need to know how it all works.
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
All female team- students AND mentors Marie General Forum 22 15-02-2008 13:06
Team 862: Programming Collaboration and Help Forums GhostInTheShell Programming 1 10-11-2006 17:17
Programming Team Size coastertux Programming 33 12-01-2006 00:13
FAHA: When Some one thinks they know all. Ken Leung General Forum 9 16-02-2004 23:33


All times are GMT -5. The time now is 19:47.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


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