Log in

View Full Version : Programming Compatition


Angela06
31-07-2003, 23:11
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?

apk
31-07-2003, 23:18
whee... first vote

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

Angela06
31-07-2003, 23:23
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

KWachowski27
01-08-2003, 09:06
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. ;)

Gene F
01-08-2003, 09:27
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.

Angela06
01-08-2003, 10:08
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 winnidapooh2@yahoo.com

seanwitte
01-08-2003, 10:27
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.

Angela06
01-08-2003, 10:31
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.

RoboCoder
02-08-2003, 20:31
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 :D

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.

Angela06
02-08-2003, 22:06
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 winnidapooh2@yahoo.com and i will find away to fit it to first... but of couse it would be yuour idea

thanks

GregTheGreat
05-08-2003, 17:18
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.

KWachowski27
06-08-2003, 20:29
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.

HFWang
06-08-2003, 20:57
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... :P

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?

Matt Krass
06-08-2003, 21:37
GameDev.Net (http://www.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.

Joe Ross
07-08-2003, 00:21
what about having a spelling competition for programmers?

Angela06
07-08-2003, 00:57
Yeah I can't spell very good at all lol

KWachowski27
07-08-2003, 14:55
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?

Angela06
07-08-2003, 14:57
well i stink at english too

josh_johnson
07-08-2003, 15:42
While looking for other programming competitions today, I found C++ Robots (http://www.gamerz.net/~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.

dez250
07-08-2003, 16:20
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 (http://www.parallax.com/detail.asp?product_id=28154) or of the Bipedal "Toddler" Kit (http://www.parallax.com/detail.asp?product_id=27310) 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.

~Mike

Reply with your thoughts.

Angela06
10-08-2003, 21:46
This has to be a very simple task the first year. And once we get the first year going smooth then we can make it more difficult as the years go on... If we make it hard the first year most of the teams wont attempt it. So my opinion is that AI is to hard for the first year and that we need simple game ideas such as Point A to Point B then maybe a turn to get to Point C. Something like that. Last year most of the teams didn't even have there bot programed at competition so it must be something very simple. Any ideas would be appreciated.

jon
10-08-2003, 21:58
Originally posted by Joe Ross
what about having a spelling competition for programmers?

I love you.

dez250
11-08-2003, 00:57
Originally posted by Angela06
This has to be a very simple task the first year. ...So my opinion is that we need simple game ideas such as Point A to Point B then maybe a turn to get to Point C. Something like that.... Any ideas would be appreciated....

I will try and get a photo or the cad drawings of our "field/course" up so you can see if that would be considered too hard, i really think that what we had done this past year would be perfect for the first try at it and also that it wouldnt be too hard... Just the equiptment for it would be kinda pricey, so it would have to be limited space probably...
~Mike

Angela06
11-08-2003, 11:52
Thank you that would be very appreciated

1086Programmer
07-04-2005, 11:46
I think this is a great idea. I would surely participate, but there are so many languages. Would we use one constant language, like C the entire time or would it vary?

what about having a spelling competition for programmers?

what about having a grammer competition for programmers?

Haha, that'd be awesome. My mentor gets agitated with me when he's writing some code, and I'm fussing over the spacing, or his typos. ^^ Ah, the luck of being an English person.

How about a spelling competition for build/programming crew. My team is English class impaired. XD

Gotta loved the techies.

Adam Y.
07-04-2005, 14:41
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.
Yeah. If you want to use java use this program instead. Robocode (http://sourceforge.net/projects/robocode/)

Embok
07-04-2005, 14:47
How about we worry about programming the robot and just have one simple award for that?

servo175
07-04-2005, 14:50
yeah, i think its a great idea. I think the more sub competitions there are the better. some teams are better mechanically than with programming and visa versa. i think it would be interesting and add another fun element to the competition.

Goobergunch
07-04-2005, 17:15
Um, this thread was started in August 2003. Which is why there's a lot of talk about PBASIC upthread.

The problem with a separate programming competition is that I don't know where I'd get the time to programming anything big that's not robot-related during build season (and I think I'm fairly typical here), and it's moderately difficult to just judge the robot's program.

Embok
07-04-2005, 19:43
Autonomous Award :p

cloudago
08-04-2005, 23:12
I think we need to spend time on developing this competition. Obviously, working with real robots would not be ideal because then someone would have to take the time and money to make the robot. Then we need some programming languages. I think we should stick with one if we do a virtual simulation of a robot. What we can do instead, is write out some problems that relate to real world applications and let the programmers work in their own language of choice. Pros and cons of each idea are as follows:

Pro-virtual simulation: It deals with the robotics competition and allows an environment where anything can be variable. Since this is a simulation, we can simulate a real robot as well as the physics so it will teach us more about the mechanical and electrical aspects of the robot. Using this method will make the participants use a standard language that all can understand leading to the better readability of the code by the judges.

Pro-problem solving: There are many ways to approach a problem and this way would allow people to approach the problem in ways they are comfortable with. We can even set this up outside of the robotics competition and instead use the competition as a place to sign-up. If people will volunteer, then they can create a web application that shows people what the problems are, and an email to the judges so that the participants can send in their programs. This doesn't take much to set up and is even easier for whoever wants to coordinate this compared to the virtual simulation which needs an environment as well as graphics to do the coding in.