Team302 / 2023ChargedUp

Other
0 stars 0 forks source link

Create DragonVision class #22

Open witcpalek opened 1 year ago

witcpalek commented 1 year ago

This class should be a subclass of State.

Class will call DragonLimelight during its Run method, so get the Limelights in the constructor.

Run Method

Should have extra methods for:

For first pass, implement the structure (No-Op methods).

Then create new issues for each of the related items.

witcpalek commented 1 year ago

@ImAPenguin56 @muscatd75

Let's refactor this a bit .... I think RobotState should implement a publish/subscribe mechanism (see issue 149) so, DragonVision can subscribe to events that cause it to change pipelines and then it can use the IsAligned(), GetDistance(), GetAngle() and GetPose methods and it will work on the current pipelines.

Front limelight will react to retro, april tag, cone and cube change Back limelight will only have april tag for the moment When indicating we went off the ground, this may switch the front camera to april tag if the current odometry thinks it will give better results (otherwise back limelight can be used).

witcpalek commented 1 year ago

@ImAPenguin56

We should look at https://www.chiefdelphi.com/t/introducing-limelight-lib/425660 as it might give us a cleaner interface