Okay, so I finally understand how the ADK works:
The "robot" consists of three components:
- Human Operator or the maneuver Planner (decides what maneuver should be performed)
- Event Handler (makes sure the maneuver factory changes maneuvers when it should)
- Maneuver Factory (performs the maneuvers)
The manuever types are all pre-coded, and can involve multiple mechanisms. (For example, you could have a maneuver type that says "go forward 2 feet, spin in a circle, and fire 3 balls") It's effectively a canned move, and as far as I'm aware, it is not dynamically configurable.
The maneuver factory can only perform one maneuver at a time (to prevent simultaniously sending two different values to a mechanism).
When the maneuver is changed, the mechanisms don't necessarily stop whatever they were doing and accept the new command. Some actions require completion before a new one can be issued. (for example, you don't want a kicker to try to extend when it's already extended; it must retract for two seconds to avoid penalty.)
How accurate is that?