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.