Team7769 / 2024-Season

Source code for the 2024 Season.
MIT License
0 stars 0 forks source link

Create Autonomous Execution Structure #10

Closed Koltara closed 9 months ago

Koltara commented 9 months ago

Create an execution structure to build autonomous modes. An abstract class should be created for Autonomous modes that contains the methods that will need to be executed.

At minimum, the base AutonomousMode class should have the following methods:

  1. execute()
  2. initialize()
  3. abort()
  4. isComplete()

The base execution structure should look something like this: Select Mode -> (Autonomous Init) mode.initialize() -> (Periodic) mode.execute() -> (Periodic) mode.isComplete()

The simplest way to handle the step structure of autonomous would be something like this: image

A dropdown selector should be added to the SmartDashboard data that can be used to select an autonomous mode. Finally, a sample Autonomous mode should be created that can execute an autonomous routine. This Autonomous Mode should be able to be selected from the Dashboard and executed when run in autonomous mode.

Acceptance Criteria:

  1. The abstract base class exists for creating Autonomous modes.
  2. The base class has the methods outlined above
  3. A sample Autonomous mode exists that will execute the methods
  4. The sample Autonomous mode can be selected and run from the driver station in Autonomous mode.
babayaga88 commented 9 months ago

I'll help. The lights thing is easy I think.