This is an excellent idea. The area of control systems is one of the most important aspects of robotics today, and is the basis of "true" robotics - where everything is completely automated, with no driver control (a direction in which FIRST has gradually been leading us to, with the introduction of autonomous mode). Unfortunately, with the time constraints of the build season, it's also the area that receives the least attention. Only a small minority of teams, those who are able to completely finish their robot a week or more before the build deadline, have enough time to debug their code. This year the bar has been raised higher, as a result of FIRST's leveling the playing field by not allowing programming during the competition season, outside of events and fix-it windows.
Now, FIRST and Kevin Watson have made a much appreciated attempt to make things easier for the programmers, by providing a lot of autonomous code. But in my experience it is very difficult to adjust and optimize this code for a particular robot and navigation system - you have to either take all the code or leave it. My team chose to leave it, instead opting for a very complex navigation system, using all sorts of sensors and object avoidance and object entering algorithms. Needless to say, the code's still not debugged yet and the robot hasn't done anything yet in autonomous.
All this to say that I agree with Tom, in that if that we were to form this FIRST Programmers Guild and develop code that can be used by any team to the effect of providing them with a working autonomous mode, it would certainly result in seeing more robots achieving results during autonomous mode. Going by FIRST's ideals in the advancement and sharing of technical knowledge, I would much rather see 1000 bots running some of the same code, and performing well in autonomous mode, than only 50 or so performing well with their own code.
... So count me in (I'll even share my team's top-secret algorithms, if it would help), and I hope many of you fellow programmers do the same.
