Skip to content

Commands

WPI description link

Commands represent actions the robot can take - Commands run when scheduled, until they are interrupted or their end condition is met - Commands are represented in the command-based library by the Command class

Define commands by overriding: - initialize() - called exactly once per time a command is scheduled - execute() - runs every 20ms - done in the main robot periodic method - end() - called once when the command ends, whether it finishes normally (i.e. isFinished() returned true) or - it was interrupted (either by another command or by being explicitly canceled) - isFinished() - is called repeatedly while the command is scheduled, whenever the scheduler’s run() method is called

Command must be able to tell the scheduler when (if ever) it has finished execution - this is done by overriding the isFinished() method - isFinished() is defaulted to return false

Command Properties

Each Command also has three properties, defined by getter methods:

getRequirements

runsWhenDisabled

getInterruptionBehaviour

Running Actions

The runOnce factory, backed by the InstantCommand (Java, C++, Python) class, creates a command that calls a lambda once, and then finishes