visual-tracking-control
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BrownianMotionPose Class Reference

#include <BrownianMotionPose.h>

Inheritance diagram for BrownianMotionPose:
[legend]

Public Member Functions

 BrownianMotionPose (const float q_xy, const float q_z, const float theta, const float cone_angle, const unsigned int seed) noexcept
 
 BrownianMotionPose (const float q_xy, const float q_z, const float theta, const float cone_angle) noexcept
 
 BrownianMotionPose () noexcept
 
 BrownianMotionPose (const BrownianMotionPose &bm)
 
 BrownianMotionPose (BrownianMotionPose &&bm) noexcept
 
 ~BrownianMotionPose () noexcept
 
BrownianMotionPoseoperator= (const BrownianMotionPose &bm)
 
BrownianMotionPoseoperator= (BrownianMotionPose &&bm) noexcept
 
void propagate (const Eigen::Ref< const Eigen::MatrixXf > &cur_state, Eigen::Ref< Eigen::MatrixXf > prop_state) override
 
void motion (const Eigen::Ref< const Eigen::MatrixXf > &cur_state, Eigen::Ref< Eigen::MatrixXf > mot_state) override
 
Eigen::MatrixXf getNoiseSample (const int num) override
 
Eigen::MatrixXf getNoiseCovarianceMatrix () override
 
bool setProperty (const std::string &property) override
 

Protected Member Functions

void addAxisangleDisturbance (const Eigen::Ref< const Eigen::MatrixXf > &disturbance_vec, Eigen::Ref< Eigen::MatrixXf > current_vec)
 

Protected Attributes

float q_xy_
 
float q_z_
 
float theta_
 
float cone_angle_
 
Eigen::Vector4f cone_dir_
 
std::mt19937_64 generator_
 
std::normal_distribution< float > distribution_pos_xy_
 
std::normal_distribution< float > distribution_pos_z_
 
std::normal_distribution< float > distribution_theta_
 
std::uniform_real_distribution< float > distribution_cone_
 
std::function< float()> gaussian_random_pos_xy_
 
std::function< float()> gaussian_random_pos_z_
 
std::function< float()> gaussian_random_theta_
 
std::function< float()> gaussian_random_cone_
 

Detailed Description

Definition at line 10 of file BrownianMotionPose.h.

Constructor & Destructor Documentation

◆ BrownianMotionPose() [1/5]

BrownianMotionPose::BrownianMotionPose ( const float  q_xy,
const float  q_z,
const float  theta,
const float  cone_angle,
const unsigned int  seed 
)
noexcept

Definition at line 10 of file BrownianMotionPose.cpp.

◆ BrownianMotionPose() [2/5]

BrownianMotionPose::BrownianMotionPose ( const float  q_xy,
const float  q_z,
const float  theta,
const float  cone_angle 
)
noexcept

Definition at line 27 of file BrownianMotionPose.cpp.

◆ BrownianMotionPose() [3/5]

BrownianMotionPose::BrownianMotionPose ( )
noexcept

Definition at line 31 of file BrownianMotionPose.cpp.

◆ BrownianMotionPose() [4/5]

BrownianMotionPose::BrownianMotionPose ( const BrownianMotionPose bm)

Definition at line 35 of file BrownianMotionPose.cpp.

◆ BrownianMotionPose() [5/5]

BrownianMotionPose::BrownianMotionPose ( BrownianMotionPose &&  bm)
noexcept

Definition at line 52 of file BrownianMotionPose.cpp.

◆ ~BrownianMotionPose()

BrownianMotionPose::~BrownianMotionPose ( )
noexcept

Definition at line 74 of file BrownianMotionPose.cpp.

Member Function Documentation

◆ addAxisangleDisturbance()

void BrownianMotionPose::addAxisangleDisturbance ( const Eigen::Ref< const Eigen::MatrixXf > &  disturbance_vec,
Eigen::Ref< Eigen::MatrixXf >  current_vec 
)
protected

Definition at line 163 of file BrownianMotionPose.cpp.

Referenced by motion().

◆ getNoiseCovarianceMatrix()

Eigen::MatrixXf BrownianMotionPose::getNoiseCovarianceMatrix ( )
inlineoverride

Definition at line 35 of file BrownianMotionPose.h.

◆ getNoiseSample()

Eigen::MatrixXf BrownianMotionPose::getNoiseSample ( const int  num)
override

◆ motion()

void BrownianMotionPose::motion ( const Eigen::Ref< const Eigen::MatrixXf > &  cur_state,
Eigen::Ref< Eigen::MatrixXf >  mot_state 
)
override

Definition at line 119 of file BrownianMotionPose.cpp.

References addAxisangleDisturbance(), getNoiseSample(), and propagate().

Here is the call graph for this function:

◆ operator=() [1/2]

BrownianMotionPose & BrownianMotionPose::operator= ( const BrownianMotionPose bm)

Definition at line 77 of file BrownianMotionPose.cpp.

◆ operator=() [2/2]

BrownianMotionPose & BrownianMotionPose::operator= ( BrownianMotionPose &&  bm)
noexcept

◆ propagate()

void BrownianMotionPose::propagate ( const Eigen::Ref< const Eigen::MatrixXf > &  cur_state,
Eigen::Ref< Eigen::MatrixXf >  prop_state 
)
override

Definition at line 113 of file BrownianMotionPose.cpp.

Referenced by motion().

◆ setProperty()

bool BrownianMotionPose::setProperty ( const std::string &  property)
inlineoverride

Definition at line 37 of file BrownianMotionPose.h.

References q_xy_.

Member Data Documentation

◆ cone_angle_

float BrownianMotionPose::cone_angle_
protected

Definition at line 43 of file BrownianMotionPose.h.

Referenced by getNoiseSample(), and operator=().

◆ cone_dir_

Eigen::Vector4f BrownianMotionPose::cone_dir_
protected

Definition at line 45 of file BrownianMotionPose.h.

Referenced by operator=().

◆ distribution_cone_

std::uniform_real_distribution<float> BrownianMotionPose::distribution_cone_
protected

Definition at line 51 of file BrownianMotionPose.h.

Referenced by operator=().

◆ distribution_pos_xy_

std::normal_distribution<float> BrownianMotionPose::distribution_pos_xy_
protected

Definition at line 48 of file BrownianMotionPose.h.

Referenced by operator=().

◆ distribution_pos_z_

std::normal_distribution<float> BrownianMotionPose::distribution_pos_z_
protected

Definition at line 49 of file BrownianMotionPose.h.

Referenced by operator=().

◆ distribution_theta_

std::normal_distribution<float> BrownianMotionPose::distribution_theta_
protected

Definition at line 50 of file BrownianMotionPose.h.

Referenced by operator=().

◆ gaussian_random_cone_

std::function<float()> BrownianMotionPose::gaussian_random_cone_
protected

Definition at line 55 of file BrownianMotionPose.h.

Referenced by getNoiseSample(), and operator=().

◆ gaussian_random_pos_xy_

std::function<float()> BrownianMotionPose::gaussian_random_pos_xy_
protected

Definition at line 52 of file BrownianMotionPose.h.

Referenced by getNoiseSample(), and operator=().

◆ gaussian_random_pos_z_

std::function<float()> BrownianMotionPose::gaussian_random_pos_z_
protected

Definition at line 53 of file BrownianMotionPose.h.

Referenced by getNoiseSample(), and operator=().

◆ gaussian_random_theta_

std::function<float()> BrownianMotionPose::gaussian_random_theta_
protected

Definition at line 54 of file BrownianMotionPose.h.

Referenced by getNoiseSample(), and operator=().

◆ generator_

std::mt19937_64 BrownianMotionPose::generator_
protected

Definition at line 47 of file BrownianMotionPose.h.

Referenced by operator=().

◆ q_xy_

float BrownianMotionPose::q_xy_
protected

Definition at line 37 of file BrownianMotionPose.h.

Referenced by operator=(), and setProperty().

◆ q_z_

float BrownianMotionPose::q_z_
protected

Definition at line 41 of file BrownianMotionPose.h.

Referenced by operator=().

◆ theta_

float BrownianMotionPose::theta_
protected

Definition at line 42 of file BrownianMotionPose.h.

Referenced by operator=().


The documentation for this class was generated from the following files: