View Single Post
  #10   Spotlight this post!  
Unread 07-01-2014, 13:35
JohnGilb JohnGilb is offline
Programming Mentor, Drive Mentor
FRC #0488
 
Join Date: Mar 2011
Rookie Year: 2003
Location: Redmond, WA
Posts: 114
JohnGilb has a spectacular aura aboutJohnGilb has a spectacular aura aboutJohnGilb has a spectacular aura about
Re: Programming dumbed down even more.

A lot of the challenge in FRC programming isn't usually in achieving the objective, whatever it may be that year - many teams are capable of doing that.

What _is_ challenging is making a system that is reliable and robust. Being able to handle complications that challenge common assumptions is a significant advantage. You don't want to be this guy:

-Our robot will always start the match where I expect.
-Well, at least facing the goal.
-Or apparently in the goalie zone?
-Well, we'll know far enough in advance where the robot is going to be that we can plan for it - nobody is going to make a last minute change.
-And the ball will be preloaded in the correct manner every time.
-Well, close enough to just start the normal firing sequence, right?
-You're kidding?
-Ok, so after we deal with all this, we'll go grab the ball that our partner put right where we expect it.
-Really? Well, it'll be close enough.
-Or if it isn't, we'll be able to find it using vision. The ball will look the same at every event, and at every match in the event.
-Oh, some of the lighting changed? Well, whatever it is will definitely start in view of our camera, and our opponents in the goalie zone won't be blue or red, so no worries.
...

And that's just related to autonomous. Highly competitive FRC robots need to be robust and have incredible uptime, despite the fact that most of them are one-of-a-kind prototypes being tested in the field.
-Can you rapidly tune robot parameters without having to redeploy code?
-If the cRIO crashes and needs to be flashed right before a match, do you have a copy of all the code & configuration data nearby and ready to download?
-Can you handle sensors breaking down or being ripped from the robot in the middle of a match?
-Can you rapidly change your auto program based on the ever-evolving needs of the drive team during qualifications and eliminations, and be confident that the robot will do exactly what you want?

This list could go on and on. Ever year, I wish there were 15 programmers on our team, so that we would be proud of our answers to questions like these. There's always some way to make your robot better, or to prepare for "complications."