Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Programming (http://www.chiefdelphi.com/forums/forumdisplay.php?f=51)
-   -   A new step in collaboration: FIRST Programmers' Guild (http://www.chiefdelphi.com/forums/showthread.php?t=36692)

Tom Bottiglieri 28-03-2005 21:27

A new step in collaboration: FIRST Programmers' Guild
 
This is an idea I've had floating around in my head for months, and was encouraged to formalize and post about by a few friends.

As many of you know, students and mentors have created various suborginizations within FIRST to aid in communication, increase knowledge shared between teams, and just make the whole FIRST experience better for everyone. Some of these groups include the "Western Region Robotics Forum" and "East Coast Driver's Union" I would like to suggest a new group to everyone, one that can not only raise general knowledge of its subject among its members, but also help the entire FIRST community.

This group would be known as the "FIRST Programmer's Guild" (if anyone can think of a better name, please feel free to submit it :) ) As many of you know, every year teams are given the basic tools to create a program that will run a robot under autonomous and driver control. At the beginning of the build, expectations for provided subsystems are high, but often flop due to lack of programming support and time on teams. (example: the vision system :rolleyes: )

FIRST provides teams with a robot's "basic needs" code wise. We are also able to access driver programs for different sensors and applications. Most people have a great grasp on how all of these things work, and the understanding of how to utilize them to accomplish their ideas, but get stuck on the actual implementation and debugging of said subsystems. For example, my team had plans for a "navigation" system which could keep track of absolute robot position, and had all the code written and working on the EDU-RC. But, the project ultimately fell through when trying to debug this system on the FRC controller in too short of a time span. Now imagine, if my team's programmers was working with other teams student and programmers and mentors on a "default" navigation driver which was tested and proven, we could spend more time on actually implementing this system for a successful autonomous program, rather than spending the time we did on debugging.

In addition to working together on publicly available systems, the FPG would work to increase the skill and competitiveness of rookie teams. We would invite rookie programmers into the group, with hopes of their education and creation of a successful and powerful robot user code. With suppliers such as Andy Mark, and the FPG providing new and exciting "default" codes, you may see many rookie teams in the future making more complex machines, such as omni directional drive bases. If we can provide teams with a stronger base to work with, they will be able to springboard off of that to new and exciting things some people never thought possible.

I would like to get some engineers on this website interested in this project, and hopefully work with students to get it up and running. Programmers are given the great resource of Chief Delphi to ask experienced engineers questions, but why ask questions when you can work hand in hand with these engineers with the same goals in mind. I think if the task of FIRST programming is given an easier learning curve, and there are engineers and experienced students there to work with rookies, more students will be inspired to pursue a career in computer sciences and will decrease the current overpowering ratio of mechanical: programming student interests.
There’s power in numbers, and this group could possibly change the way programming is looked at in FIRST, and hopefully increase the respect for programmers.

There’s power in numbers, and this organization could definitely help the future of FIRST.

Comments/Questions?

Mike 28-03-2005 21:30

Re: A new step in collaboration: FIRST Programmers' Guild
 
I can talk to my boss and get us some hosting at Sevaa :D

Pat Fairbank 28-03-2005 22:30

Re: A new step in collaboration: FIRST Programmers' Guild
 
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. :)

devicenull 28-03-2005 22:46

Re: A new step in collaboration: FIRST Programmers' Guild
 
I have some stuff I wouldn't mind sharing, but my auto. code is something that would just confuse people more then necessary. I do have some code which auto-determines joystick deadbands though.. thats always fun :)

But, count me in.

dm0ney 29-03-2005 00:36

Re: A new step in collaboration: FIRST Programmers' Guild
 
Count Team #217 In.

Although this is my last year as a team member, I hope to be around a few more yet. Since I'm also student head this year.... I can definitely put some traditions in that the rest will have to follow.... :)

As much as we love our code.... and we really do love it a lot.
We'd be more than happy to join a 'programming community' for other programmers.


Taking up on that, come visit our code presentation @ Nationals!
I'll see if I can build some suspense up on that..... release some teasers and the like. :)
PM me if you're DYING to see some of our code..... :)


The strongest way to get this started might be to have a meeting @ Nationals for programmers and then also get releases of code in the coming weeks.

CJO 29-03-2005 00:47

Re: A new step in collaboration: FIRST Programmers' Guild
 
In respose to earlier, I think that the most underrated part of the competition is the creation of a solid control system. I also think that this is a great idea. A programming group could help prevent the complete craziness of 5 different default codes at the beginning of this year; one DDT, one camera, one IFI, . . .

dm0ney 29-03-2005 01:02

Re: A new step in collaboration: FIRST Programmers' Guild
 
I envision a repository of modules that could be placed into the default code?

Say different steering modules

Instead of having anything quite concrete in default code from IFI, have comments saying insert choice of steering here and go on from there.
Also maybe a graduated default code base?
Start with one with the comments said above with a dead-reckoning auton.
Release a version that has more instructions for pid, encoders, et all

In terms of modules:
Steering Module: Pick Tank, Truck, Car, Crab, anything and you insert the code either into where the comments said or into the project. Albeit, the code should NOT be 100% completed but maybe 75% so the rookie programmer can fully understand it to complete it.

CJO 29-03-2005 01:14

Re: A new step in collaboration: FIRST Programmers' Guild
 
Agree, plus, with a good forum (maybe even a section of programming at ChiefDelphi?) we could help out rookie (and not so rookie) programmers.

Also, I have set up a FIRST CVS repository, not only could the base modules be in CVS, we could also offer a seperate CVS space to each team.

dm0ney 29-03-2005 01:29

Re: A new step in collaboration: FIRST Programmers' Guild
 
Quote:

Originally Posted by CJO
Agree, plus, with a good forum (maybe even a section of programming at ChiefDelphi?) we could help out rookie (and not so rookie) programmers.

Also, I have set up a FIRST CVS repository, not only could the base modules be in CVS, we could also offer a seperate CVS space to each team.

CVS is very good stuff. We have our personal CVS server that we use.

I think it might help the cause if we were linked to CD but have an offsite repository of code?

I think so far we've established that

/**********************************************
* Important!
*/

A) Meeting @ Nationals minimum?
B) Graduated Code Releases maybe?
C) Downloadable OPENSOURCE Modules
D) Dedicated Forums / Site

/**********************************************
* Extras follow
*/
E) Programmers Are Most Alive At Night (The Time When We Finally Get The Robot)
F) Both of us are RUNNING with this thread on high gear... :)

CJO 29-03-2005 01:40

Re: A new step in collaboration: FIRST Programmers' Guild
 
Yeah, we might also want to consider a "driver" database, IO code for common components, hall effect sensors, encoders, potentiometers, steering wheels, and so on.

Tom Bottiglieri 29-03-2005 05:44

Re: A new step in collaboration: FIRST Programmers' Guild
 
Quote:

Originally Posted by dm0ney
I envision a repository of modules that could be placed into the default code?

Say different steering modules

Instead of having anything quite concrete in default code from IFI, have comments saying insert choice of steering here and go on from there.
Also maybe a graduated default code base?
Start with one with the comments said above with a dead-reckoning auton.
Release a version that has more instructions for pid, encoders, et all

In terms of modules:
Steering Module: Pick Tank, Truck, Car, Crab, anything and you insert the code either into where the comments said or into the project. Albeit, the code should NOT be 100% completed but maybe 75% so the rookie programmer can fully understand it to complete it.

This is exactly the mindset I have. The way I figure, if teams dont have to spend the time they do getting their base code debugged and working, they can spend more time working on more advanced systems.

JonBell 29-03-2005 06:24

Re: A new step in collaboration: FIRST Programmers' Guild
 
I'm defnitely in on this one. This year I was a rookie FIRST programmer (I have a fair bit of outside experience), and more or less first year with the robot (last year I did only design at the beginning, then left). I can not begin to explain the amount of time that it took for me to get through the default code and figure out how to get it onto the robot and how to set up deadbands (I hadn't found CD at that point). This completely destroyed the window that I had for debugging the vision system, and that ended that.

So I wholeheartedly agree that such a guild would be a phenomenal idea. Unfortunately I won't be at nats this year (I couldn't keep the date free, will be there next year), but if there is anything that you guys need (I run a hosting service with my own dedicated servers and could offer up space/bandwidth/cvs/whatever if you guys need it, unless you have something). Next year I was planning on doing an independent study in embedded systems (aka FIRST robotics programming :P), and I should be working on a number of proof of concepts and code tidbits.

I would suggest that the code repository is mainly pseudo-code, with the really complicated parts perhaps being written out in C. This way rookie programmers can start to get an idea what programming is all about by more or less writing their own code, not just by inserting missign bits and pieces in a template.

I'd really like to see the quality of code loaded on most robots include, and I think that the FPG is a step in the right direction.

Bharat Nain 29-03-2005 08:53

Re: A new step in collaboration: FIRST Programmers' Guild
 
I'm in. I've envisioned something like this for a long time, but had no time to talk about it. Great job Tom.. you da man. I joined my team without any C programming knowledge. During the first week of build I quickly took up some C books and learnt the format. And then I was faced with the challenge to program a complicated control system, which I ended up getting help with, but it was a great experience regardless. I hope this project goes well
-Bharat

Mike 29-03-2005 09:17

Re: A new step in collaboration: FIRST Programmers' Guild
 
I like the idea of modules. You can have a drive system module, grabber module, arm module, etc.

All you would have to do is customize the module we make with your own input variables, and plug it into a default code we make at the beginning of each season. This will give you basic functionality that'll let you expand on and make more complex control systems.

We should definetly meet at Nationals, and get a count of who's in as well as assign positions (President, Vice-President, Etc.)

dm0ney 29-03-2005 10:12

Re: A new step in collaboration: FIRST Programmers' Guild
 
I think scheduling a meeting say Wednesday night while those other three members are uncrating the robot @ Nat'ls might be the BEST time for us to meet.
Feedback? It seems Tom is our main mentor right now, so Tom?

I know that once Thursday comes, programmers will be working quite hard all day and then by Friday and Saturday, it'll be TOUGH to get us out of the stands / pits / watching the matches.

Back to the arm modules...
this year we had a tcr_joint struct with accessors, mutators that we applied to two of our joints ((linear) shuttle / (rotate) four_bar). I think that as programmers, we should all look through our code and see what modules we can pull with minimal ease.

As I see it, the most important thing to this is going to be documentation either with the most complex code or pseudocode so that many programmers can hit the ground running.

I know that our code makes heavy use of pointers, structs, and the like.
Back to the graduated codes... might we also have a ranking system in place on this repository of difficulty of coding / understanding / experience?

We will also want to try and have modules be modules with same implementations because I know supposing a joint module is used like ours and then another joystick module is used from another team, there could be problems in controls.

Another thing we should try and work into are implementing macros into these modules so as a way of graduation maybe, you can enable or disable macros in code.

JoeXIII'007 29-03-2005 15:52

Re: A new step in collaboration: FIRST Programmers' Guild
 
I'm in, but only if what we make open to the general FIRST community is just concepts and not code (like Ben stated above). This is because you can't just give out or put out code like it was worthless pieces of script. It's valuable stuff. However, if we give out concepts, which is like stone before it is sculpted into a statue, then we not only provide clues into how to go about the task, but also we create a HUGE think tank. As an example, someone may put out a flow chart or pseudo-code. Here's what probably happens:

1. Programmers will look at the code
2. They will think about it, and tweak it if needed.
3. They will have to find a way to put it into code, and therefor creating an explosion of ideas, innovations, etc.

Code in my opinion should only be given out if it is demonstrating a technique, and that code shouldn't have any relation to any robot. Otherwise, don't even think about it.

On a side note, I'm also involved with another project, the URC (Ultimate Robot Challenge) video game, so my involvment with this can't be too much. Thanks.

-Joe

Tom Bottiglieri 29-03-2005 16:10

Re: A new step in collaboration: FIRST Programmers' Guild
 
Quote:

Originally Posted by JoeXIII'007
I'm in, but only if what we make open to the general FIRST community is just concepts and not code (like Ben stated above). This is because you can't just give out or put out code like it was worthless pieces of script. It's valuable stuff. However, if we give out concepts, which is like stone before it is sculpted into a statue, then we not only provide clues into how to go about the task, but also we create a HUGE think tank. As an example, someone may put out a flow chart or pseudo-code. Here's what probably happens:

1. Programmers will look at the code
2. They will think about it, and tweak it if needed.
3. They will have to find a way to put it into code, and therefor creating an explosion of ideas, innovations, etc.

Code in my opinion should only be given out if it is demonstrating a technique, and that code shouldn't have any relation to any robot. Otherwise, don't even think about it.

On a side note, I'm also involved with another project, the URC (Ultimate Robot Challenge) video game, so my involvment with this can't be too much. Thanks.

-Joe

I agree that giving out ideas and not actual code would be beneficial, but I also know that many teams dont have a dedicated programmer or programming support. Because of this, the time needed to go from concept to finsihed product is often non existent.

Maybe we can do this in "steps." We could have a section of the site be dedicated to default codes for different drive base set ups, and code modules. These would be worked on by teams of programmers, probably a student or 2 paired up with an engineer. The modules could range anywhere in difficulty from an easty function that will have an arm drive to a preset pot position to a more difficult driver that would accept a script created with a GUI to control autonoumous mode.

The teams could be formed something like this: a rookie programmer, a veteran programmer, and an engineer or adult mentor. When working on a project, the rookie could prepare flowcharts and documentation on what this module will do, and how it does it. At the same time, the older programmer and adult would work hand in hand to create the module. As more projects are completed, users would move up in rank, based on the quality of their past work and their own opinions of their readyness (does that make sense?
;) )

While educating rookie programmers the basic skills needed to create a control system for a robot is important, I also believe we should work to provide modular drivers that will give every team a fair chance. For example, this year would have been the opportune time to release a module which instructs the user on how to mount the camera, then takes in a few robot based parameters.. and essentially would drive the robot to the vision tetra. Not many teams were able to accomplish this task in competetion, yet I would like to believe more were on the brink of completetion, but could not finish because they wasted too much time setting up the framework of their program.

So to summarize what I just said: We can use a "Level" system where users could get different kinds of information or modules based on their experience and effort levels.

Mike 29-03-2005 16:31

Re: A new step in collaboration: FIRST Programmers' Guild
 
I was thinking about what everyones been saying, but not sure how to word it. I honestly don't want to give out the code i've worked on for weeks and just have another team copy/paste and do just as good a job. There needs to be some kind of protection against this.

The level system is a good idea, but I don't think it can really solve this problem. We need something along the lines of pseudo-code, but i'm not exactly sure what. We'll have to think about this in order to get this program being successful.

Now that we've established that we want to do this, we need to go to the next step. We have to get a site, install phpBB on it, or get a sub-forum here. I'd rather go the site route as it would let us have our own portal/more freedom. How are we gonna go about getting this done? We need to organize a site admin, moderators, who the site will be in the name of, etc. Once that is done I'll talk to Randy at Sevaa.com and get us some space.

Goobergunch 29-03-2005 17:04

Re: A new step in collaboration: FIRST Programmers' Guild
 
I don't have anything much to add here except for the "count me in" thing.

Regarding comments about code-sharing: I don't mind sharing my autonomous mode from this year as it's robot-specific dead reckoning. It's an ugly if-else cluster with a bunch of numbers that I fine-tuned on Thursday evening of the Chesapeake Regional (didn't have any time to do autonomous during build). The concept behind the code is moderately portable, but you'd have to change the PWM outputs and alter the various constants before it would work on your robot.

I'll also be talking to the guy who's going to be programming next year's Friarbot about this; his proposed autonomous code was a lot more method-oriented than mine (although it's never been tested).

Any way an IRC/AIM/MSN chat could be arranged? I won't be at nationals (my school seems to think that funding a new weight-training center is more important than robotics), and I'm not the only one in this thread that won't be. Anybody's welcome to stop into #Friarbot on irc.esper.net (and I'm on the Tigerbolt channel a lot), but we'd probably want some kind of more dedicated room for this.

vtrehan 29-03-2005 17:50

Re: A new step in collaboration: FIRST Programmers' Guild
 
Count Team 1241 in aswell.

I also feel that sharing a direct code is not the best way to go, as it not only make the hard work seem worthless, but itll also be a nuisance for any team without dedicated programmers to use it directly on their robot. I would instead distribue flowcharts and pseudo codes.

AIBob 29-03-2005 17:55

Re: A new step in collaboration: FIRST Programmers' Guild
 
Count me in, although this is my last year of high school, I will still be doing things for FIRST over the internet next year.
I will be willing to help documenting the default code in a more clear manner, and I would be willing to make some simple code and explanations (but not actual code, so the programmers know what they are doing before they have a greatly programmed robot - they need to learn on their own, we can only hand them simple stuff, they have to do the rest) of how to do more complicated code. I'll be at nationals, and I would like to come to this meeting whenever it happens.

dm0ney 29-03-2005 19:35

Re: A new step in collaboration: FIRST Programmers' Guild
 
Might all of the programmers pool and write docs / whitepapers on coding techniques / modules?

Instead of releasing code, we could run an off season services much like most programming text books:

Present case studies / tasks for other programmers to solve. Say we give them some code for a tank steer and say we are now running the robot backwards, please flip the direction the robot moves as well as sides.

Starting there, we can do coding exercises to write a scripting command that could move the robot so many inches forward, BUT having the command and drives be previous projects?

This way the programmer would start with code they've written and as they complete more, they get more. In this way, it becomes partly a person's ambition and commitment to coding that results in better coding practices.

If we start out with basics such as mapping joysticks to pwms and then adding deadbands, smoothings, etc.... a rookie programmer who started a month or more before build season could have fundamentals in place to start the ball rolling.

Much like choosing a track or style in an RPG, you can choose programming challenges (autonomous, oi controls, low-level drive, arms) and at the end of the day have a complete code set written.

The challenges must be real enough that one can learn from them, but somehow made so the code cannot be used on the real robot since build season is build season.

The veteran programmers who have said 'I'm in' (including me) might check code from rookies as well as a way of teaching, once a rookie has gone through the first X programs, they must start checking program 1 for rookies and so on.

This way, the skills of programming are worked on but the MORE important skills of documenting, reading another persons code, and understanding code and being able to debug are developed too.

Pat Fairbank 29-03-2005 20:21

Re: A new step in collaboration: FIRST Programmers' Guild
 
I'm not quite convinced that the pseudo-code would be the best way to go - in my experience, programmers know for the most part exactly how a program needs to be written, structure-wise, in order for it to do what they want. The thing that usually keeps them from putting working code on the field is the lack of time to get rid of all the little bugs in the functions. On the other hand, I agree that providing code that is functional right out of the box would not be beneficial at all to programmers who are trying to develop their skills.

What I suggest, then, is that the FPG provide two things: Firstly, an easy way to get direct support from knowledgeable programmers. Secondly, a collection of code libraries, not at all implemented in the default code, which can be used for such things as position tracking, navigation, and driver control. I would liken these libraries to any other shared library in the open-source world - take the Windows APIs, for example. The Windows functions are provided to you for free, are relatively free of bugs (ok, maybe Windows is a bad example here :D), and no-one likes to fiddle around in assembly with software interrupts (except me, of course ;)), but you still need to have a pretty extensive knowledge of how the APIs work and a good amount of programming know-how to be able to implement them properly.

To sum up, while just providing 100% functional robot code would be bad, providing pseudo-code wouldn't help much either since the debugging time problem would still be there, so in my opinion providing unimplemented but completely tested libraries would be the most effective compromise.

As for the meeting issue, maybe a Wednesday night meeting in Atlanta wouldn't be the best idea, considering many people won't be there (I'll either be at the de-crating itself or still on the bus from Montreal). It might be easier to schedule an IM session sometime.

JamesBrown 29-03-2005 21:02

Re: A new step in collaboration: FIRST Programmers' Guild
 
I would like in, sounds like a great resource that we would be building, As for Psuedo vs. real code I would suggest atleast basic code be supplied, I taught my self to program dead reckoning by copying a block of code onto the EDU bot and then changing things untill I knew what to do, In this case psuedo code would have done me little good.

James

AIBob 30-03-2005 10:46

Re: A new step in collaboration: FIRST Programmers' Guild
 
Quote:

Originally Posted by dm0ney
Might all of the programmers pool and write docs / whitepapers on coding techniques / modules?

Instead of releasing code, we could run an off season services much like most programming text books:
...
Starting there, we can do coding exercises to write a scripting command that could move the robot so many inches forward, BUT having the command and drives be previous projects?

I like the idea, I would be willing to help put together some sort of interactive program that would help people learn how to code, debug, document, questions, problems (coding exercises), etc..
Anyone who helps with it could set it up so that it is like a virtual mentor, for people that are not fortunate enough to have programming mentors, it could give hinds and ideas, and not actually code things, but teach them how to program, it would be a big project to do this sort of program, but probably worth it for all of the rookie programmers on FIRST.
...It wouldn't be quite giving them pseudo-code or real-code, only hints of how to program, so they do not spend a large amount of time on a simple program, and they learn enough so they can do more complicated code.

Astronouth7303 30-03-2005 16:00

Re: A new step in collaboration: FIRST Programmers' Guild
 
(I thought I had posted already, but I didn't see it)

Count me in!

As far as a repository goes, try frCoder. It's a repository started by SilverStar (to replace his previous one). Currently, it's reminding me of a warehouse (think big, empty). I've posted some stuff there, but it needs a lot more.

I'll probably post my code in a whitepaper again. My motors code I'll probably GPL and put in frCoder.

JakeGallagher 30-03-2005 16:20

Re: A new step in collaboration: FIRST Programmers' Guild
 
Quote:

Originally Posted by Tom Bottiglieri
This group would be known as the "FIRST Programmer's Guild" (if anyone can think of a better name, please feel free to submit it :) )

I like the idea of the guild, and if I knew anything about programming at all, I would love to join it. But as for the name--how about changing Guild to something else like:
Group
Collection
Cluster
Guild
Association
Society
League
Federation
Alliance
Coalition
Partnership
Amalgamation
Combine
Society

Personally, I like alliance and socitey...Think about that, the FIRST Programmer's Alliance...the FIRST Programmer's Society...mmm

The Lucas 31-03-2005 13:49

Re: A new step in collaboration: FIRST Programmers' Guild
 
I'm in. I like the pseudo-code idea. If we just provide blocks of code then people who use them might just throw them into their code and expect them to work. It may not work because they did not setup the input and outputs correctly or something else (like the Default_Routine) overwrites the result. We can provide examples of how to translate pseudo-code into real code. Since they do the translation themselves, they will learn more about coding (just like the "Teach a man how to fish" proverb).

Kingofl337 31-03-2005 15:51

Re: A new step in collaboration: FIRST Programmers' Guild
 
Being a rookie programmer in the FIRST competition I believe I can assist you in what would be helpful to me. Being I only took one C class in high school 5 years ago. Its a little fuzzy on how things work together.

Default Code that is supplied is very good even for a rookie.
The problem I had is installing modules into the default code.
So, basically any modules provided or created by FIRST or site
member need to clearly documented on how to install them into
the default code. Doing so would both teach the installation process
but also help with simplicity and debugging issues.

jazzsaxman1988 31-03-2005 20:55

Re: A new step in collaboration: FIRST Programmers' Guild
 
Count 404 in... What could possibly be done during the offseason is to post code from the previous year, analyze the flaws in the coding, and look more at the theory behind what made certain robots so successful, and others less so. Just a thought...

Astronouth7303 31-03-2005 21:13

Re: A new step in collaboration: FIRST Programmers' Guild
 
So, what/how are we going to do this?
  1. A ChiefDelphi sub-forum?
  2. Independent hosting?
  3. Mailing list?
  4. In-person meetings?
:confused:

For #2 (and 3), I know someone who may allow us to use his server (though I'll let him speak for himself). Though with two instances of MediaWiki running, I don't know...

For #3, SilverStar may let us use a SourceForge list originating from his project.

And I like guild. Makes programming sound like a skilled trade. (Which I can attest it is.)

devicenull 31-03-2005 21:52

Re: A new step in collaboration: FIRST Programmers' Guild
 
I can host a forum, possibly wiki, provided you tell me which one :)

Or both :)

Alex Pelan 31-03-2005 22:03

Re: A new step in collaboration: FIRST Programmers' Guild
 
Yeah...I'd be up for it, and I'm signing my fellow controls team members up with me...I'll be at nats sans team, so if you guys are meeting I would have to represent us. Sounds like a good idea if properly utilized...at first it seemed like an open-source autonomous program, and I was worried that would take the challenge (and fun...don't forget fun :p ) out of it...but the sharing ideas and small blocks of pseudo-code definitely seems like a good idea. An example of the whole pseudo code thing is that this year, most of our autonomous was done by another student, and I worked on some other things...however I still was essentially part of the programming team, and talked to them about the camera regularly. Thus, I have the concepts in my head about what our code does, and the different features it has, but I don't feel like I've actually learned how to code something similar to it. Looking over the code, as I have done, has not proven to be nearly as good for me learning it as writing it would have been. Transforming the pseudo code into regular code, even if you don't use it, would be a good excersize for everyone.

Which brings up another idea...maybe during the offseason, people could post "pseudo code" ideas, and the person who implements it best/quickest into real script gets a prize. I'm thinking Bawlz.

CyberWolf_22 04-04-2005 01:15

Re: A new step in collaboration: FIRST Programmers' Guild
 
Count 647 in as I am the entire programming team I can assure you that the entire programming team will help in any way I can. I am not by any means a very good programmer but I have a good grasp of programming and the electrical systems of the robot. One of the biggest problems that I think a lot of the less experienced programmers have is that they don't organize their code very well. When I am reading another teams code at regionals trying to help debug their code I have to basically change the way I code so that the team I am helping can understand. So what I am suggesting is not that we have a strict dedicated way of organizing all teams code. But some general guide lines that allow other teams to debug code as simply as possible.

Also I like the idea of changing the name to Amalgamation, it was the name of a history board game I made for a class :D .

neilsonster 05-04-2005 18:35

Re: A new step in collaboration: FIRST Programmers' Guild
 
As the only programmer (well, person that has actually programmed the robot) for 772 at this point I can say "we're in" :).

It's funny that this has come up now, because I was just given a project by one of my teachers (who also happens to be in charge of robotics at the school) that I will spend the rest of the semester on that is meant to train and prepare future programmers for our team, since I am graduating. There are too many "How to program in C" guides and I'd like to take a different approach that's specifically for FIRST. Once it is completed I would be happy to add it to whatever else we have scrounged up.

Ben Margolis 05-04-2005 19:34

Re: A new step in collaboration: FIRST Programmers' Guild
 
Quote:

Originally Posted by CyberWolf_22
So what I am suggesting is not that we have a strict dedicated way of organizing all teams code. But some general guide lines that allow other teams to debug code as simply as possible.

Code standards for FIRST?? That would be AWESOME! But only if it goes with
my standard! ;)

And for attitudes like that, I would have to agree strict guide lines are no good. Good programming practices, such as organized code, are the most important things to learn as you begin programming.

I am very interested in the guild (Do we have another name for it?), but would like to know what it's mission statement is before I enlist. Are there going to be any organizational meetings in Atlanta? Before that? After? (online)

russell 06-04-2005 02:12

Re: A new step in collaboration: FIRST Programmers' Guild
 
Count me in. My team is trying to start our own Alaskan robotics competition so its not looking like I will be doing FIRST next year, but I would love to help. One thing we could consider would be a library of donated functions that would make it easier to control different parts common to FIRST robots. Like the module concept.

whakojacko 06-04-2005 10:31

Re: A new step in collaboration: FIRST Programmers' Guild
 
I like the idea, ill go for it. On another note, as other people have said guild sounds bad, we need a cooler sounding name. What about a FIRST programmer's union? then we can go on strike if mechanical people dont give us enough time with the bot.

Mike 08-04-2005 15:24

Re: A new step in collaboration: FIRST Programmers' Guild
 
I like the book idea... what if everyone submits a few articles and then editor(s) puts the articles in the book and we have an online eBook. Maybe sell some copies at nationals?

Ken Delaney 357 09-04-2005 00:12

Re: A new step in collaboration: FIRST Programmers' Guild
 
[quote=Astronouth7303]So, what/how are we going to do this?
  1. A ChiefDelphi sub-forum?
  2. Independent hosting?
  3. Mailing list?
  4. In-person meetings?
:confused:
QUOTE]

Don't overlook number four. There are clusters of FIRST teams around the world. Teams should try and get together in the off season to work on code issues in groups. During regionals so many good ideas are discussed but you rarely have any time to try things out. Also a lot of good code rely on sensors and many team have no experience with them. In the fall of 04 and 05 team 487 had a programming seminar using the Robovation kits to get team familiar with code. It was great. When we host the remote kick-off the programming seminars(Thanks 487 and 272 for presenting) are always packed and usually run over. I can only speak about the Philly area, but there are about 25 teams within 45 minutes of each other. It would be beneficial to set up programming meetings to demonstrate code/control solutions.

Redneck 09-04-2005 00:33

Re: A new step in collaboration: FIRST Programmers' Guild
 
Hey, I'd love to see (and join) a FIRST Programmer's Guild. It'd be great for the harder parts of programming (bloody CMU Cam.....), sharing ideas for autonomous modes, teaching new programmers, etc.
I'm working on writing a Programming Guide for my team (since I'm the only programmer left and I'm graduating this year), when it's done I'll post it here on CD for reviewing, comments, and inclusion in any mailing list or eBook if y'all think it's good enough.

dpick1055 07-05-2005 00:59

Re: A new step in collaboration: FIRST Programmers' Guild
 
I come from a team with very few mentors and team members (around 10 kids 2-3 mentors). Since I am the only one on the team with any programming knowledge the task of programming the robot was placed on me and it did not go well. I had never worked with C before and it was a major challenge to learn enough C in time to program the robot. I think it would be better for the guild to have sample code available and programming challenges for newbies. The challenges could then be checked by people with more experience and if the person working on the challenge was having trouble the more experienced person could help them. The sample code would not necessarily have to be from someones code for their robot but just a piece of code that demonstrates how to use a certain function. This would then create ties between different teams and better programming overall.

703pascal 07-05-2005 19:37

Re: A new step in collaboration: FIRST Programmers' Guild
 
I'm in.

Chris_Elston 14-02-2006 23:19

Re: A new step in collaboration: FIRST Programmers' Guild
 
Team 1501 has a website with a respository and forum setup already.

http://www.frcsoft.com/

It's vision was to share code with each other, but could be taylored to meet any need. Please talk to my student webmaster that got this up in running though, roboticsguy1988. (cd_ handle)

-

Chriszuma 14-02-2006 23:26

Re: A new step in collaboration: FIRST Programmers' Guild
 
I propose a different name:

CNADL
Computer Nerd Anti-Defamation League.

Jon236 15-02-2006 11:00

Re: A new step in collaboration: FIRST Programmers' Guild
 
Quote:

Originally Posted by chakorules
Team 1501 has a website with a respository and forum setup already.

http://www.frcsoft.com/

It's vision was to share code with each other, but could be taylored to meet any need. Please talk to my student webmaster that got this up in running though, roboticsguy1988. (cd_ handle)

-


Great going! A couple of comments: The web page contrast needs to be a little better tho....plus it wouldn't let me register....just said some of my info was incorrect....retried several times to no avail.....

roboticsguy1988 15-02-2006 14:33

Re: A new step in collaboration: FIRST Programmers' Guild
 
Quote:

Originally Posted by Jon236
Great going! A couple of comments: The web page contrast needs to be a little better tho....plus it wouldn't let me register....just said some of my info was incorrect....retried several times to no avail.....

Yeah it's also coming up with another error, i will work on it ASAP.

However it seems to still register accounts. So after the error, go back to the homepage and try logging in.

However your error sounds different than the error i just recieved, i will be looking at both errors ASAP. Thanks for letting us know ;)

Chris_Elston 15-02-2006 14:44

Re: A new step in collaboration: FIRST Programmers' Guild
 
Quote:

Originally Posted by Astronouth7303
So, what/how are we going to do this?
  1. A ChiefDelphi sub-forum?
  2. Independent hosting?
  3. Mailing list?
  4. In-person meetings?
:confused:


Just a note, the frcsoft.com website is on a dedicated box (with a few other websites) sponsored by ESI, Inc. so it's FREE hosting. unlimited space (almost) and unlimited bandwidth. Large files and videos should not be a problem.

Also, roboticsguy1988 could use some help with the site, if anyone is interested I assume. He has done it all by himself.


Taylor it to your needs, that's what it is there for.

Jon236 15-02-2006 14:46

Re: A new step in collaboration: FIRST Programmers' Guild
 
Quote:

Originally Posted by roboticsguy1988
Yeah it's also coming up with another error, i will work on it ASAP.

However it seems to still register accounts. So after the error, go back to the homepage and try logging in.

However your error sounds different than the error i just recieved, i will be looking at both errors ASAP. Thanks for letting us know ;)

Tried again...no joy


All times are GMT -5. The time now is 07:24.

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