View Single Post
  #3   Spotlight this post!  
Unread 03-09-2015, 23:13
Cel Skeggs Cel Skeggs is offline
Robot Software Manager Alumnus
AKA: Previously known as Colby
FRC #1540 (The Flaming Chickens)
Team Role: Alumni
 
Join Date: Feb 2013
Rookie Year: 2009
Location: Portland, Oregon, USA
Posts: 107
Cel Skeggs is a glorious beacon of lightCel Skeggs is a glorious beacon of lightCel Skeggs is a glorious beacon of lightCel Skeggs is a glorious beacon of lightCel Skeggs is a glorious beacon of lightCel Skeggs is a glorious beacon of light
Re: 2015 Code Release for 1540 & Our experiences with Code Review.

Quote:
Originally Posted by orangelight View Post
I know it's kind of late but, did your auto work well? Was it easy to program a new auto mode? What were the major challenges did you have programming your auto?
Our autonomous systems worked well: modes were easy to write. They took a while to tune, of course, but we've found that to be true regardless of how we've structured our autonomous code. We were able to make some parts of autonomous easier to tune by publishing values over Cluck, so that helped.

Take a look at this example auto mode that we used a lot: it picks up a can and turns to the driver station wall to be ready for a noodle to be loaded into the can. It should be relatively self-explanatory, except for some project-specific things: 'waitUntilNot(Clamp.waitingForAutoCalibration);' makes sure that it doesn't trip over the part of the code that zeros the encoders at the right position and 'startSetClampHeight' is the same as 'setClampHeight', but it doesn't wait for the completion of the action.

For most of our modes, we didn't have many challenges. We realized at some point that any stability offered by using PID in auto was far outweighed by the utility of more consistent movements, but that was easy to change. Besides that, we had issues getting enough accuracy while driving fast, which meant that our three-tote auto mode never got quite under the time limit. (Ignoring the time limit, it was actually relatively easy to write! And the issues with driving fast were partially caused by using mecanum wheels and fabrication variances.)

EDIT: one other thing that helped: multi-layered autonomous modes. Some of our modes would pick up totes. To do this, they would start the pseudo-autonomous mode for autoloading (which was also used by the drivers), which would, in turn, also start the pseudo-autonomous mode for automatically controlling the elevator stacking sequence (also available to the drivers separately.)
__________________
Software manager alumnus. Developer of the CCRE, a powerful robot code framework based on dataflow and composibility.
Refer to as she/her/hers. Years of FRC: 2012, 2013, 2014, 2015, 2016. FLL for a few years beforehand.
Team 1540: The Flaming Chickens | Portland, Oregon | Twitter | Facebook

Last edited by Cel Skeggs : 03-09-2015 at 23:18. Reason: added an extra note.
Reply With Quote