Skip to content

Add get_second_solution() to handle tag pose ambiguity#431

Open
fspindle wants to merge 1 commit intoAprilRobotics:masterfrom
fspindle:second_solution_for_pose_ambiguity
Open

Add get_second_solution() to handle tag pose ambiguity#431
fspindle wants to merge 1 commit intoAprilRobotics:masterfrom
fspindle:second_solution_for_pose_ambiguity

Conversation

@fspindle
Copy link
Contributor

@fspindle fspindle commented Mar 6, 2026

Pose Ambiguity Handling

Planar markers often have two mathematically plausible pose solutions. This PR exposes the second solution from the orthogonal iteration algorithm.

  • Added get_second_solution() to apriltag_pose.h. It allows to extract second pose candidate into a dedicated function. Uses fix_pose_ambiguities() to find the alternative solution and refines it via orthogonal iteration. Returns HUGE_VAL in err2 if no second solution exists.
  • This allows developers to use temporal filtering or external constraints to choose the correct orientation when the error difference is small.

Extract second pose candidate resolution into a dedicated function.
Uses fix_pose_ambiguities() to find the alternative solution and refines
it via orthogonal iteration. Returns HUGE_VAL in err2 if no second
solution exists.
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.

1 participant