You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add get_second_solution() to handle tag pose ambiguity
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.
Copy file name to clipboardExpand all lines: README.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -193,6 +193,21 @@ Note: The tag size should not be measured from the outside of the tag. The tag s
193
193
### Coordinate System
194
194
The coordinate system has the origin at the camera center. The z-axis points from the camera center out the camera lens. The x-axis is to the right in the image taken by the camera, and y is down. The tag's coordinate frame is centered at the center of the tag. From the viewer's perspective, the x-axis is to the right, y-axis down, and z-axis is into the tag.
195
195
196
+
### Handling Pose Ambiguity
197
+
Planar targets often result in two possible pose solutions with similar errors (the "ambiguity" problem). To retrieve the alternative solution, you can use:
198
+
199
+
```c
200
+
apriltag_pose_t pose1, pose2;
201
+
double err1 = estimate_tag_pose(&info, &pose1);
202
+
double err2;
203
+
int nIters = 50;
204
+
205
+
// v and p are the object and image points used during the iteration
This is particularly useful when temporal filtering or additional constraints are used to disambiguate the tag's orientation.
210
+
196
211
Utility Functions
197
212
=================
198
213
AprilTag 3 now includes helper functions for deep-copying structures, which is essential for multi-threaded applications or when you need to store detections beyond the detector's lifecycle.
0 commit comments