Programming Compatition

Ok, so we all know about all of the different competitions with in FIRST Robotics. There are some for 3D animation and so on… What would you think of having a Programming Competition? Some ideas that have been thrown up in the air is, depending on what language you used you have specific rules and regulations. There is also an idea of sub-catagories that include but are not limited to, Desktop and Hardware and so on… we would like some feedback on what you guys think. The competition doesn’t have to take away from the build season it could be that you come up with that day, and you would have a time limit… It would be something new and Challenging for the Teams to accomplish.

Comments? Questions? Feedback please

What do you think about adding a Programming Competition?

whee… first vote

yes, that would be cool, but rules and such would have to be layed out

Yes that is all in the making… but first we need to find out what the other teams say about it. Right now I have a pretty good plan of how it would work and the rules and whatnot i just need to work the kinks out of it

Coolness. The competition should support languages from C/C++ and x86 ASM to scripting languages like Java, VB, and Linux shell scripting. Perhaps they could have a “debugging” section, if you know what i mean… heh. :wink:

I like the idea!! What are you looking at as far as format. Are you thinking of a six week coding effort or a day of the competition problem solving challenge?

Here’s a wild dream that I have had for some time. Produce a C++ world with defined physical laws (real simulated physical laws or possibly changing the laws of physics for the excitement of it.). Possibly even that years playing field in a virtual world. The challenge would be to create a C++ object that played the game. The virtual kit of parts would be a set of C++ classes for the components.

Keep me informed! I would love to contribute. I am a computer scientist by education, an embedded software engineer profession. Been at it for about 20 years.

Well I was thinking along the lines of an all day competition problem solving challenge. Just becuase i have herd from so many other teams that there just isnt enough time to do much else during the six weeks. We might even have to consider having 2 diffrent competitions, one the teams would possible come up a C++ world (i really like that idea!!) and they would have the 6 weeks to come up with it. The other one would be the all day competition solving challenge. or maybe even combine them both. what do u think? Thanks I could really use your help on this!

If you wish to email me on this topic my address is

On of the other engineers on our team developed a simulation based on a tracked robot with differential steering. He modeled the motors to include accelleration lag and to account for the different outputs in forward/reverse for the drill motors.

Its set up to simulate the robot in near real-time, accounting for the fact that the RC samples at only 40Hz and the gyro output is nominally 50Hz. The sample uses a PID control loop to drive in an arc, but it could be extended to do anything the real robot could do.

The competition could be something along the lines of simulating the robot following a path and seeing how closely it matches the real thing. You can be given the path the morning of the competition, use your simulator to work out the command set points, then see how close you can get. The only space requirement would be a small area and a few cones to mark the path.

I really like that idea. that could be our format for the all day competition. That way it doesnt take away from the robot but its still can be accomplished. what would you want the rules and reg. for that type of game? If anyone else has any more game ideas please speek up your help is needed.

I just had an idea…
3d animation that takes weeks to model and 3 days with 20 computers to generate is great and all, but what if there was a competition to do this in real time and be interactive? It wouldn’t even have to be 3d or if a team wanted they could use pseudo-3d. It could be judged on difficulty, quality, performance, creativity, etc, and would be a great way to show off one’s robot (excellent for teams that hand out CDs at competitions…they could put it on there).

If they used 3d they could provide a code base that would set up an OpenGl window, load a model file and allow the user to “walk” around it as “default code” so that people wouldn’t have to start from scratch. Basically, it would be the animation, only interactive and cooler :smiley:

Oh, and for the people that feel that this may frighten off beginners, think of this: so might the animation competition. This idea would still provide a place to begin , and someone with only a little experience COULD come up with something to submit, but obviously the more experienced programmers (or in the case of animation, animators) will have a leg up on the competition, but thats life.

On the up side, it would attract some very good programmers to become interested in FIRST, as they would have more to contribute to the team than some PBASIC code (which is just that…basic, it can be frustrating but not exactly a real challenge in my opinion).

steps off soap box just a thought, I might just have my head in the clouds, (it does sound a bit complex) but it would be really kewl :cool:

feedback and constructive criticism, as always, is appreciated.

That would be veryt cool… I dont think it would take as much time as my first idea would and i think the teams would be more likely to submit things to this… send me your whole idea to and i will find away to fit it to first… but of couse it would be yuour idea


*Originally posted by seanwitte *
The competition could be something along the lines of simulating the robot following a path and seeing how closely it matches the real thing. You can be given the path the morning of the competition, use your simulator to work out the command set points, then see how close you can get. The only space requirement would be a small area and a few cones to mark the path. **

I would love to see something like this happen. Maybe along the lines of a one day competition.

I think that if you are talking a one day competition, you might want to keep it simple…

My idea would be to have a robot on site the day of the competition. You would give a few pages of diagrams and info (gear ratio, tire dia, etc.) to all the teams that are entering. Then they have the day to design a program that can complete a certain task, even if it is simple operation like point a to point b.

To give the game a kick, you could make the robot have added functionality, such as 2 wheel and 4 wheel drive capabilities, and high and low gear. Then one of the criteria for judging the comp could be time.

For example, lets say you set up a course with cones along the outside perimeter. Lets say you would have to move vertically 10 feet, turn 90 degrees go another 10 feet, turn 180 go 10 feet turn and go to the starting position with the robot facing now toward you. This would make the scoring very interesting.

Example Scoring of game:

Cones Hit X Time (SEC) + Time (SEC) = Score

You could also add bonuses for switching from two wheel to four wheel drive on turns.

Well this was just one idea that I thought of.

Keep me posted on if the programming competition became a reality.

How about something even like, they give you a 3D or 2D codebase, then some object framework, and the codebase includes an environment such as a car body or a maze, and what you have to do is have like, an hour or so to flowchart, study the framework, design and model an AI that has to, autonomously, meet an objective of the envirnment, then another two or three hours to code and debug. For example, a car object is given to you and you have x hours to design an AI for a robot arm (possible framework that is included) that has to bolt parts on while meeting the physical constraints, et cetera.

are we doing an AI competition or a programming competition here?!

programming competition (as i understand it) would simply be a bunch of tasks that you are supposed to program.

an AI competition gives you a virtual world and a set of objectives and you create a bot… :stuck_out_tongue:

imho, an AI competition is a TYPE of programming competition, but much more focused on simply working with an AI.

btw: with programming competitions there are so many different languages, who gets to pick which one?

GameDev.Net is having an AI programming contest, if you look under GDArena on the forums, it’s pretty cool. If I had the time I’d enter but I’m running around over here.

what about having a spelling competition for programmers?

Yeah I can’t spell very good at all lol

Well, yes, or the AI could even be part of the framework and it is the programmer’s job to write an interface for it to be used in the world… Oh well, it would make a good subcategory.

what about having a spelling competition for programmers?

Yeah I can’t spell very good at all lol

Yea, how about grammar competition too?

well i stink at english too

While looking for other programming competitions today, I found C++ Robots. It is a competition wher each coder programs virtual robots that do battle autonomously against other such robots.

The source code for the combat engine is available. What if it could be modified to represent the FIRST field and virtual robots could be programmed to compete with the current (or past, or maybe even made up) FIRST games. I don’t know how hard this would be, but I just thought that would be fun.

i don’t do much programming but what i do work on is a few things that are autonomous programming. But here is my thoughts/ideas.

Everyone would get a single kit of either the Parallax BOEBots Kit or of the Bipedal “Toddler” Kit and say have a 12 hour period to work on and program their bots. This would have to be either one kit or the other for everyone and i would say to use the BOEBots Kit. None of the parts in the kits would be able to be altered but you could chose what you want to use out of the kit. The competition could be like a mini obstacle course and would be unveiled at the start of competition, maybe an hour before the 12 hours start. This could be judged on how fast you can complete the course, how accurate your bot completed it and how advanced your bot was (what type of sensors did it use and so on). Also you could work in a team made up from 1-4 people. The 12 hours can be split up among 2 days or could all be in one day. Also each group would be given a hard copy of the plans of the course to use to work with.

This idea was used on Team 250 in September-October 2002 to use as a pregame to the kick off. It worked really well and even one of our students created the timing system, with an easy timing circuit (555 maybe) and a few optical sensors for the start and stop lines. We had i think 10 teams compete and it was a very fun and educational idea. As the whole thing was Autonomous and each group got to work on a basic stamp and learn how to program it.


Reply with your thoughts.