Differenced Pose Trajectory Error
Overview
Differenced Pose Trajectory Errors describe the the alignment errors from synchronized camera poses (relative to an object-space) compared to poses output by the LNS. These poses are composed by utilizing the component-relative extrinsic between every Camera and LNS.
Definition
Differenced Pose Trajectory Error
Field | Type | Description |
---|---|---|
errors | An array of "Differenced Pose Trajectory Observation Groups" | The collection of DPT observation group errors |
Differenced Pose Trajectory Observation Groups
Field | Type | Description |
---|---|---|
component_id | UUID | The UUID of the LNS component |
other_id | UUID | The UUID of the "other" component being compared |
observations | An array of "Differenced Pose Trajectory Observations" | The double-differenced errors across sequential timestamps between component and other . |
Differenced Pose Trajectory Observation
Field | Type | Description |
---|---|---|
t0 | 64 bit integer | The timestamp at t0 |
t1 | 64 bit integer | The timestamp at t1 |
t1_from_t0_pose_difference | Pose | The double differenced pose between the t1 -from-t0 transforms of component and other of the group. |
object_id | UUID | The UUID of the object space observed by other . |
Analysis
The double differencing formula used to compute this deals with four poses and one component relative extrinsics (CRE) transform:
- : The LNS pose at time
t1
(directly observed) - : The LNS pose at time
t0
(directly observed) - : The
other
-from-object pose (world extrinsic) at timet1
- : The
other
-from-object pose (world extrinsic) at timet0
- : The
other
-from-LNS transform, optimized by the calibration process
By knowing these four poses, as well as the optimized transform between the other
component and
the LNS, we can then formulate the error as follows:
and
From there, we can then compute the error of the CRE between the two pose differences (this is where the second "difference" of double-differencing comes in) by computing:
That is the t1_from_t0_pose_difference
as described in the differenced pose trajectory
observation. Note that these pose differences are returned as a "pose," which may seem odd at first
glance. In truth, these "poses" should be close to identity with the difference being the error
across the double-difference operation. For translations, this error is easy to interpret; however,
this is not always as easily interpreted for orientations, as the error can come from either of the
two estimated other
-from-object world extrinsics or from the estimated transform.