I will voice my concerns once more. This seems unnecessarily complex. Sure, you could code all these things ... but are they necessary? You could even add a screw class, and put each individual screw on the robot -- but that seems overkill. But it all goes back to the point of the competition -- do you want it to be an actual simulation of a robotics match, or just a simple programming competition which is related to FIRST in some way.
I think it may be helpful to write down and share a sample problem, so that others may get what exactly you want the competition to be. If you want the problem to be something that requires a near perfect simulation of a FIRST match -- well, in my most humble opinion, that would take quite a while to program and debug (is the target to have it done this year, or is this a project you plan on implementing next year, using this year to work it out?).
I know I've already said all this ... but I worked on such a simulation of a robotics match as part of my mentorship at my school for last year's game, and unfortunately could not complete it because of its sheer size (particularly, the ODE physics support in CrystalSpace, a cross-platform graphics engine I used, was just developing and "buggy," to say the least!). I hope, therefore, that I can offer some perspective to just what is needed (I'm not sure if you've undertaken a large programming project or not ... but it always seems a lot easier at the onset, I assure you

)