After 39 months of involvement with vex forum, this post will cause the odometer to trip the 3000 post mark. I generally don’t pay much attention to this sort of thing but have decided that I’ve at least earned to right to indulge my ego a little.
So to mark this occasion I’m going to hold the
“jpearman programming challenge”
Competitions sponsored by mentors have not been particularly well supported in the past. However, I’m going to throw this out on the forum and see what happens, if successful perhaps it can become an annual event.
So I challenge all of the would be programmers out in VEX land to impress me with your coolest, smartest and most interesting piece of robotics software. This is supposed to be a fun competition for the programmers, the code doesn’t have to control a robot but should at least be related to robotics.
Some suggestions to get you thinking.
Implement the dual PID control scheme I wrote about recently.
A robotic clock, motors drive the hour, minute and second hands.
Find the walls of a room and calculate the dimensions.
Driving straight (apparently this is difficult) using ultrasonic or other sensors.
An effective “rerun” program.
A scripting language to simplify creating autonomous programs.
The Rules.
-
The challenge is open to students of all ages, middle school, high school and college. Mentors, this is not for you!
-
The program should be related to robotics and run on the VEX cortex. It can be designed to communicate with other devices or sensors; I will deal with that situation on a case-by-case basis. Only the VEX portion of the program will constitute an entry, in other words, you can write 10000 lines of supporting arduino code but I’m not going to consider it as part of the entry.
-
The program can be written in any of the environments supporting the C programming language. This includes ROBOTC, EasyC, PROS or ConVEX (which are both based on gcc). The program should be compatible with the current version of the environment used (ROBOTC could be 3.63 or 4.10) and should be able to be compiled without error. I’m excluding flowol because I don’t have a license, I’m excluding the online Python environment as the code is not stand alone and has some licensing issues.
-
The program needs to contain a permissive license, either GPL, Apache, MIT or something similar. The authors should expect that code will be released on vexforum for all to see. This will be at my discretion and may include programs that do not win the contest but contain material of interest to the whole community. The authors will retain copyright of their entries. Programs that do not contain a suitable license cannot be accepted; I will post some examples nearer the entry deadline.
-
This should be a new unique piece of software. I don’t want to see the clever code you wrote for gateway, however, we all know that many programs are built on previous work so it’s ok to incorporate library code you have written in the past and refactor it for this contest.
-
The rules are my rules; the choice of winner is solely my decision and is final. I reserve the right to add or modify the rules as necessary just like Karthik does (just kidding).
-
This contest is not in any way associated with VEX or the RECF.
Program evaluation
Each entry will be evaluated in several ways, I will try and give critical feedback on all of them.
a. Does the program succeeded in it’s design goal, in other words does the program work.
b. Correct and appropriate use of the C language.
c. Programming style, is the style consistent, is the code suitably formatted. Is the program commented and documented correctly. I suggest you “detab” code so as to maintain formatting.
d. Does the program implement something useful. I’m not sure that a cortex solving a Rubik’s cube is useful, but then again perhaps it is
e. Is the program a significant work, there’s no minimum program size but I’m not handing out prizes for 20 line snippets of code.
f. Many other intangible areas that only I know about.
The prize.
I have a ROBOTC V4.0 perpetual TEAM license (6 seats).
I have an EasyC v4 for Cortex 10-seat license.
Winner gets to choose one of the two.
If enough entries are received I may give out other prizes.
Contest entry deadline.
Entries should be received by 9am PST September 29 2014. I’m letting this run for about 10 weeks so school can start here in the US. I will post details about how to submit entries later on.
Questions should be asked in this thread.