OSVR-Core
Namespaces | Functions
MakeHDKTrackingSystem.h File Reference

Header. More...

#include "BeaconSetupData.h"
#include "ConfigParams.h"
#include "HDKData.h"
#include "RangeTransform.h"
#include "TrackedBody.h"
#include "TrackingSystem.h"
#include <LoadCalibration.h>
#include <cvToEigen.h>
#include <iostream>
#include <memory>
#include <ratio>
#include <stdexcept>

Go to the source code of this file.

Namespaces

 osvr
 The main namespace for all C++ elements of the framework, internal and external.
 

Functions

bool osvr::vbtracker::tryLoadingCalibration (std::string const &filename, TargetSetupData &data)
 returns true if it actually did load one. More...
 
Point3Vector const & osvr::vbtracker::getTarget0Locations (BuiltInTargetSets target)
 
Point3Vector const & osvr::vbtracker::getTarget1Locations (BuiltInTargetSets target)
 
std::unique_ptr< TrackingSystem > osvr::vbtracker::makeHDKTrackingSystem (ConfigParams const &params)
 

Detailed Description

Header.

Date
2016
Author
Sensics, Inc. http://sensics.com/osvr

Function Documentation

§ makeHDKTrackingSystem()

std::unique_ptr<TrackingSystem> osvr::vbtracker::makeHDKTrackingSystem ( ConfigParams const &  params)
inline

Start setting up the data.

Fill in the patterns.

Patterns for the second part.

Scale from millimeters to meters, and make the coordinate system what we want: loading the front beacons

Replace them with calibrated versions if we have them.

Put on the back points too.

Put the emission directions on.

Set up autocalib. Set the ones that are fixed.

Put in the measurement variances.

Disable the HDK2-removed beacons

Clean and validate the data.

If not using IMU, load the camera position from config, with no rotation, as camera pose.

§ tryLoadingCalibration()

bool osvr::vbtracker::tryLoadingCalibration ( std::string const &  filename,
TargetSetupData data 
)
inline

returns true if it actually did load one.

Try loading a calibration file. For compatibility, these will also be millimeters in the twisted coordinate system, so if we succeed, we transform them below.

If we got the calibrated number of front beacons or all beacons, this is the right file.

Trim off any accidentally-calibrated rear beacons. Those need autocalib for now at least.

Scale the autocalib error for the beacons we loaded calibration on.