Controllers are basically a tool that enables you to automate certain behaviour. Every robot can have many controllers and they can be turned on and off whenever. These are the controllers we have:
- PropellerController - Continuously adjusts the spin of the propeller to avoid accidentally shooting own goals.
- MotionController - Once you tell this controller where you want a robot to go, it will continuously guide the robot to that destination every strategy cycle (it uses the robot's Drive class).
- ActionController - Makes the robot behave. This usually adjusts the settings of the other controllers during play. More info in the Actions section.
If active, the perform() action will be called on every controller during every Strategy cycle. This is the structure: