gramods
Public Types | Public Member Functions | Public Attributes | List of all members
gramods::gmTrack::PoseRegistrationEstimator::Impl Struct Reference
Inheritance diagram for gramods::gmTrack::PoseRegistrationEstimator::Impl:
Inheritance graph
[legend]
Collaboration diagram for gramods::gmTrack::PoseRegistrationEstimator::Impl:
Collaboration graph
[legend]

Public Types

typedef gmCore::Updateable::clock clock
 
- Public Types inherited from SampleCollector::Impl
typedef gmCore::Updateable::clock clock
 

Public Member Functions

void update (clock::time_point t) override
 
float estimateSphericity (std::vector< Eigen::Vector3f > samples)
 
void performRegistration ()
 
void expandPlanar (std::vector< Eigen::Vector3f > &data, int &idx0, int &idx1)
 Identifies the degenerate dimension and copies the data into two sets distributed in this dimension. More...
 
bool estimateRegistration (const std::vector< Eigen::Vector3f > &tracker_data, const std::vector< Eigen::Vector3f > &actual_data, Eigen::Matrix4f &M)
 
void estimateUnitRegistration (const std::vector< Eigen::Vector3f > &tracker_data, const std::vector< Eigen::Vector3f > &actual_data, const Eigen::Matrix4f &M_raw, Eigen::Matrix4f &M_unit)
 
void checkResult (const std::vector< Eigen::Vector3f > &tracker_data, const std::vector< Eigen::Vector3f > &actual_data, const Eigen::Matrix4f &M_unit, std::string type)
 

Public Attributes

std::vector< Eigen::Vector3f > actual_positions
 
float planar_sphericity = 0.3f
 
Eigen::Matrix4f registration_raw
 
Eigen::Matrix4f registration_unit
 
bool successful_registration = false
 
size_t position_to_collect = std::numeric_limits<size_t>::max()
 
- Public Attributes inherited from SampleCollector::Impl
std::vector< Eigen::Vector3f > tracker_positions
 
std::vector< Eigen::Quaternionf > tracker_orientations
 
std::vector< Eigen::Vector3f > sample_positions
 
std::vector< Eigen::Quaternionf > sample_orientations
 
clock::time_point last_sample_time = clock::time_point::min()
 
float samples_per_second = 1
 
float warning_threshold = 0.01f
 
float orientation_warning_threshold = GM_PI_4
 
bool collecting = false
 
float inlier_threshold = -1.f
 
float orientation_inlier_threshold = -1.f
 
std::shared_ptr< gramods::gmTrack::Controllercontroller
 

Member Function Documentation

◆ expandPlanar()

void gramods::gmTrack::PoseRegistrationEstimator::Impl::expandPlanar ( std::vector< Eigen::Vector3f > &  data,
int &  idx0,
int &  idx1 
)

Identifies the degenerate dimension and copies the data into two sets distributed in this dimension.

Parameters
idx0If larger than or equal to zero, specifies the index of the first data point that should be used to identify the orientation of the data, otherwise set to that index.
idx1Specifies the index of the second data point that should be used to identify the orientation of the data, alternatively set to that index.

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