Joined: Sat May 24, 2014 3:32 pm
[INITIAL VERSION IN PROGRESS] FTC auton code generator
Our FTC team has always had a need to quickly re-tune an autonomous program for a match, based on mainly avoiding interference with our alliance partner's autonomous program, and avoiding (or blocking) differing opponent programs, as well as successfully completing tasks such as (for Block Party) parking on the ramp and placing a score element into a beaconed basket.
Unfortunately, due to an awful team dynamic and time constraints, many of these things could not happen for us this year in time for our qualifiers. For the next year, we're planning to generate our autonomous code using a Java program, as to be honest, I'd rather write directly in a high-level language, and I'm much more experienced with Java.
Our ideas for the version we would use for the 2014-15 season included things like automatic path-finding (stored in lookup tables for "expected" movement and dynamically calculated (using Djisktra's A* algorithm) for "unexpected" movement) powered by dead-reckoning that is "recalibrated" when recognizable features such as colored lines on the floor are seen.
As opposed to having a large set of features, we wish to be able to quickly generate a new routine within the precious minutes we have before any given match.
Movement loops would have an in-loop check of sensor and encoder values, which might fire off "interrupts" that include things like stopping and performing a movement pattern using one or more servos, the recalibration on the game "map", evasive maneuvers such as backing up, and, of course, control flow such as "skip to next task".
I'm currently not planning to open-source it, until after our team manages to evaluate how it performs, both on the robot, and in terms of team productivity.
I'll be interested to hear any feedback, ideas, or criticism.