Calico
A visual-inertial calibration library designed for rapid problem construction and debugging.
Public Attributes | List of all members
calico::RigidBody Struct Reference

#include <world_model.h>

Collaboration diagram for calico::RigidBody:
Collaboration graph
[legend]

Public Attributes

std::unordered_map< int, Eigen::Vector3d > model_definition
 Maps feature id to its 3d point definition resolved in the rigid body frame, \(\mathbf{t}^b_{bx_i}\). Each feature needs a unique integer id. The numerical value of the id does not matter.
 
Pose3d T_world_rigidbody
 FROM world TO rigidbody transform, \(\mathbf{T}^w_b\).
 
int id
 Id of this rigid body. When adding rigid bodies to the BatchOptimizer, id's for all rigid bodies must be unique.
 
bool world_pose_is_constant
 Flag for keeping this rigid body's world-from-rigidbody pose constant or as a free parameter.
 
bool model_definition_is_constant
 Flag for keeping the model definition constant or as free parameters.
 

Detailed Description

Rigidbody object which represents a constellation of points on a rigid body.

model_definition contains 3d points that make up the rigid body resolved in the rigid body frame \(\mathbf{t}^b_{bx_i}\). For example, this could be planar points on a fiducial target in a calibration problem relative to some origin defined on the target.

T_world_rigidbody is the rigid transform TO the world FROM the rigidbody frame such that the model defintion points can be resolved in the world frame by the following:

\[ \mathbf{T}^w_b = \left[\begin{matrix} \mathbf{R}^w_b & \mathbf{t}^w_{wb}\\ \mathbf{0}&1 \end{matrix}\right]\\ \mathbf{t}^w_{wx_i} = \mathbf{t}^w_{wb} + \mathbf{R}^w_b\mathbf{t}^b_{bx_i} \]



Both the model definition and its world pose can be set as either constant or as free parameters in an optimization problem via the flags world_pose_is_constant and model_definition_is_constant.

TODO(yangjames): Replace std::unordered_map with absl::flat_hash_map.


The documentation for this struct was generated from the following file: