This code is released from Team 1418’s 2014 robot. We used python for the robot software, and also implemented custom driver station software using Python & PyGTK.
1418 had a dominating performance at Richmond at the Virginia Regional, finishing as the #2 seed, and led the #2 alliance to the finals with teams 2383 and 435. They were awarded the Industrial Design award for a variety of reasons, including their simple but effective robot design, multiple autonomous modes and useful touchscreen driver station interface.
At the Greater DC Regional, they had a rocky start and ended up finishing as the 7th seed, but led the #6 alliance to the finals with teams 1885 and 2537.
Robot Code highlights:
[ul]
[li] Full pyfrc integration for testing & robot simulation
[/li][li] Unit tests over the robot code with 70% code coverage
[/li][li] Automation of core catapult functions
[/li][li] Complex autonomous mode support
[/li][LIST]
[li]Multiple working autonomous modes used in competition
[/li][LIST]
[li] Two balls - uses a gyro to make sure the robot drives straight
[/li][li] Single ball shoot
[/li][li] Single ball hot goal shoot
[/li][/ul]
[li] Automatic support for tuning the autonomous mode parameters via the UI
[/li][/LIST]
[/LIST]
The autonomous mode framework developed for this season is pretty cool, and we found it significantly easier to develop autonomous modes using this framework. After some cleanup, it will be integrated into pyfrc so others can use it.
Driver Station UI Highlights:
[ul]
[li] Comprehensive autonomous mode support
[/li][LIST]
[li] Fine tuned autonomous mode parameter tuning
[/li][li] Multiple autonomous modes supported
[/li][/ul]
[li] Graphing of robot catapult parameters
[/li][li] Visual display of robot status
[/li][li] Most robot features can be controlled from the UI
[/li][li] Image processing features:
[/li][ul]
[li] Interactive tuning of threshold parameters
[/li][li] Comprehensive debugging support
[/li][li] Visual indication of hot goal detection
[/li][li] Static and live image processing
[/li][li] Can support multiple cameras
[/li][/ul]
[li] “Hot goal in a box” mode
[/li][ul]
[li] Start the dashboard only showing the camera feed and the image processing tools.
[/li][li] Transmits ‘IsHotLeft’ and ‘IsHotRight’ to the robot via NetworkTables
[/li][/ul]
[/LIST]
You can download the code at http://www.virtualroadside.com/FRC/#VaeVictis2014