In the spirit of "release early, release often", I'm happy to announce the first version of MagicBot, which is bundled with robotpy-wpilib-utilities 2016.3.0.
MagicBot is an opinionated framework for creating Python robot programs for the FIRST Robotics Competition. It is envisioned to eventually be an easier to use pythonic alternative to the Command framework.
This initial release tackles the following problems:
- Reduced boilerplate associated with creating multiple component objects and passing them around
- Providing a solid foundation for developing robot programs structured in a particular way
- Automatic integration of the autonomous mode chooser
Future problem areas I intend to tackle:
- Automatic NetworkTable value publishing
- Generalized state machine via decorators (similar to StatefulAutonomous)
It's still lightly tested, not complete by any means, and I still have a few more ideas to add to it. However, what's there will probably work.
Read more |
Simple example program
Feedback and bug reports welcome!