Open ErikCald opened 1 year ago
Notes so I don't forget them:
public Command getWaitForVisionCommand(int tagId) {
return new FunctionalCommand(
() -> resetMethodHere(tagId), // reset tagId on command initialize
() -> {}, // do nothing on command execute
(interrupted) -> {}, // do nothing on command end
() -> checkMethodHere(), // Check if command should finish (command isFinished)
this); // Use this subsystem as the single requirement (PhotonSubsystem)
}
The idea here is to use PhotonVision running on a raspberry pi using the global shutter black and white camera. With this setup, it can reach a very high framerate, at a very high resolution and with practically no motion blur.
This issue is going to be about using this vision data to drive the robot, but will require setting up PhotonVision (its really easy).
All of this can be incorporated into a command, but later it might make sense to refactor some of it into a VisionSubsystem (such as the rolling average filter).
Incremental develpoment is important, recommended steps: