24#define MAX_BLOB_SEARCH_DEPTH 5
27#define ANCHOR_LED_MAX_DISTANCE_M_SQ (0.025 * 0.025)
50 double point_homog[3];
61 t_constellation_device_id_t id;
65 double best_pose_found_time;
66 int best_pose_blob_depth;
67 int best_pose_led_depth;
74 double search_start_time;
80 int min_led_depth, max_led_depth;
85 const struct xrt_vec3 *pos_error_thresh;
86 const struct xrt_vec3 *rot_error_thresh;
91 float gravity_tolerance_rad;
102 unsigned int num_trials;
103 unsigned int num_pose_checks;
109 *blob_neighbours[XRT_CONSTELLATION_MAX_BLOBS_PER_FRAME][XRT_CONSTELLATION_MAX_BLOBS_PER_FRAME];
131 const struct xrt_vec3 *pos_error_thresh,
132 const struct xrt_vec3 *rot_error_thresh,
133 const struct xrt_vec3 *gravity_vector,
134 float gravity_tolerance_rad,
Constellation tracker's camera model storage.
bool correspondence_search_find_one_pose(struct correspondence_search *cs, const struct t_constellation_search_model *model, enum correspondence_search_flags search_flags, struct xrt_pose *inout_pose, const struct xrt_vec3 *pos_error_thresh, const struct xrt_vec3 *rot_error_thresh, const struct xrt_vec3 *gravity_vector, float gravity_tolerance_rad, struct pose_metrics *out_score)
Does a brute-force search for a device's pose.
Definition correspondence_search.c:949
correspondence_search_flags
Definition correspondence_search.h:30
@ CS_FLAG_HAVE_POSE_PRIOR
If the input obj_cam_pose contains a valid prior.
Definition correspondence_search.h:41
@ CS_FLAG_STOP_FOR_STRONG_MATCH
Stop searching if a strong match is found, otherwise search all and return best match.
Definition correspondence_search.h:37
@ CS_FLAG_SHALLOW_SEARCH
Do quick search @ depth 1-2 neighbour depth.
Definition correspondence_search.h:33
@ CS_FLAG_DEEP_SEARCH
do deeper searches @ up to MAX_LED_SEARCH_DEPTH/MAX_BLOB_SEARCH_DEPTH
Definition correspondence_search.h:35
@ CS_FLAG_MATCH_GRAVITY
Use the provided gravity vector to check pose verticality. Depends on CS_FLAG_HAVE_POSE_PRIOR.
Definition correspondence_search.h:43
@ CS_FLAG_MATCH_ALL_BLOBS
Allow matching against all blobs, not just unlabelled ones or for the current device.
Definition correspondence_search.h:39
u_logging_level
Logging level enum.
Definition u_logging.h:45
Metrics for constellation tracking poses.
pose_match_flags
Definition pose_metrics.h:48
Definition t_rift_blobwatch.c:51
Definition camera_model.h:19
Definition correspondence_search.h:95
Definition correspondence_search.h:47
Definition correspondence_search.h:60
Definition pose_metrics.h:79
A blob is a 2d position in a camera sensor's view that is being tracked.
Definition t_constellation.h:45
Definition led_search_model.h:40
A pose composed of a position and orientation.
Definition xrt_defines.h:513
A quaternion with single floats.
Definition xrt_defines.h:246
A 3 element vector with single floats.
Definition xrt_defines.h:310
Header defining the tracking system integration in Monado.