OSVR-Core
Classes | Namespaces | Macros | Enumerations | Functions
TrackedBodyTarget.cpp File Reference

Implementation. More...

#include "TrackedBodyTarget.h"
#include "AssignMeasurementsToLeds.h"
#include "BodyTargetInterface.h"
#include "HDKLedIdentifier.h"
#include "LED.h"
#include "PoseEstimatorTypes.h"
#include "PoseEstimator_RANSAC.h"
#include "PoseEstimator_RANSACKalman.h"
#include "PoseEstimator_SCAATKalman.h"
#include "TrackedBody.h"
#include "cvToEigen.h"
#include <osvr/Util/CSV.h>
#include <osvr/Util/CSVCellGroup.h>
#include <boost/assert.hpp>
#include <util/Stride.h>
#include <algorithm>
#include <fstream>
#include <iostream>

Classes

class  osvr::vbtracker::TargetHealthEvaluator
 
struct  osvr::vbtracker::TrackedBodyTarget::Impl
 

Namespaces

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

Enumerations

enum  TargetTrackingState {
  RANSAC, RANSACKalman, EnteringKalman, Kalman,
  RANSACWhenBlobDetected, RANSACKalmanWhenBlobDetected
}
 
enum  TargetHealthState { OK, StopTrackingErrorBoundsExceeded, StopTrackingLostSight, HardResetNonFiniteState }
 

Functions

double osvr::vbtracker::getLimitOnMaxPositionalErrorVariance (double distance)
 
double osvr::vbtracker::getMaxPositionalErrorVariance (BodyState const &bodyState)
 
bool osvr::vbtracker::isStateSCAAT (TargetTrackingState trackingState)
 Predicate to check simply if the state corresponds to running the SCAAT Kalman filter mode, centralized and named. More...
 
BeaconStateVec osvr::vbtracker::createBeaconStateVec (ConfigParams const &params, TargetSetupData const &setupData, Eigen::Vector3d &beaconOffset)
 
std::ptrdiff_t osvr::vbtracker::getNumUsedLeds (LedPtrList const &usableLeds)
 

Detailed Description

Implementation.

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

Function Documentation

§ createBeaconStateVec()

BeaconStateVec osvr::vbtracker::createBeaconStateVec ( ConfigParams const &  params,
TargetSetupData const &  setupData,
Eigen::Vector3d &  beaconOffset 
)
inline

Compute or retrieve the beacon offset.

Create the vector we'll return, and then the beacon state objects.

§ getLimitOnMaxPositionalErrorVariance()

double osvr::vbtracker::getLimitOnMaxPositionalErrorVariance ( double  distance)
inline

An exponential function was fit to recorded data of max positional error variances and distances during normal tracking operation, using libreoffice calc. R^2 = 0.95, and on a plot with a log-scale for y, the data looked fairly linear.

log-plot slope B is used directly from that regression. coefficient A hand-picked based on original fit, to move this function above the normal data with a good margin of error.

§ isStateSCAAT()

bool osvr::vbtracker::isStateSCAAT ( TargetTrackingState  trackingState)
inline

Predicate to check simply if the state corresponds to running the SCAAT Kalman filter mode, centralized and named.