Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

AprilTag pose estimation #18

Merged
merged 21 commits into from
Feb 3, 2024
Merged

Conversation

mimizh2418
Copy link
Member

@mimizh2418 mimizh2418 commented Jan 30, 2024

  • Uses LimelightLib to get the estimated robot pose and list of visible tags from the Limelight's JSON dump
  • Smoothly fuses this estimation with the drivetrain odometry, using WPILib SwerveDrivePoseEstimator

@mimizh2418 mimizh2418 changed the base branch from main to zhangal/phoenixpro January 30, 2024 04:33
* we can now change the code to filter out input from a single camera if the elevator is moving, instead of all cameras
@mimizh2418 mimizh2418 marked this pull request as ready for review February 3, 2024 00:57
@mimizh2418 mimizh2418 requested a review from a team as a code owner February 3, 2024 00:57
@mimizh2418 mimizh2418 merged commit 61f1624 into zhangal/phoenixpro Feb 3, 2024
1 check passed
mimizh2418 added a commit that referenced this pull request Feb 3, 2024
* feat: use waitForAll to get timesynced signals

* fix: make swerve offset units consistent, swerve offsets happen in the same place

* feat: use fused CANCoder for swerve turn position

* bump: Phoenix 6 version

* fix: import CAN_BUS constant correctly

* fix: use Rotation2d factory methods

* feat: refresh all signals at the same time (scuffed implementation?)

* feat: use pigeon instead of navx

* fix: potentially less scuffed signal refresher

* fix+feat: signal refresher no longer static, better periodic updating, and error checking

* fix: don't print stack traces to declutter logs

* refactor: rename phoenixTimeSyncSignalRefresher to odometrySignalRefresher

* AprilTag pose estimation (#18)

* feat: use SwerveDrivePoseEstimator for odometry tracking
* stop using scuffed AdvantageKit Twist2d way

* feat: AprilTag vision IO and implementation for Limelight

* feat: AprilTagVision subsystem

* feat: fuse vision poses with drivetrain poses

* fix: null vision poses no longer causing issues

* fix: actually fix null vision poses

* feat: limelight positioning adjusts based on elevator height

* fix: properly update rear camera tag poses

* feat: block vision updates with moving elevator

* fix: correctly pass in suppliers
* im dumb lol

* fix: use optionals for getting vision pose

* feat: change how vision pose accepter is used
* we can now change the code to filter out input from a single camera if the elevator is moving, instead of all cameras

* feat: untested vision sim io with photonvision sim support

* fix: use vision pose in sim

* fix: sim values as constants

* refactor: remove unnecessary IO input

* refactor: april tag layout declared in sim io instead of constants

* fix: correctly check robot rotational velocity

* fix: no duplicate constants

---------

Co-authored-by: Zach Rutman <[email protected]>
@mimizh2418 mimizh2418 deleted the zhangal/poseEstimation branch February 5, 2024 18:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants