GCOP  1.0
Public Types | Public Member Functions | Public Attributes
gcop::Kinbody3dTrack< _nu > Class Template Reference

#include <kinbody3dtrack.h>

Inheritance diagram for gcop::Kinbody3dTrack< _nu >:
Inheritance graph
[legend]

List of all members.

Public Types

typedef Matrix< double, _nu, 1 > Vectorud
typedef Matrix< double, 6, 1 > Vector6d

Public Member Functions

 Kinbody3dTrack (Kinbody3d< _nu > &sys, int nf, double vd0, double t0, double tf, double r=25, bool extforce=false, bool forces=false)
virtual void Get (Matrix4d &x, double vd, double t) const
virtual void MakeTrue ()
virtual void Add (const Vectorud &u, const Matrix4d &x, double h)
virtual void Add2 (const Vectorud &u, const Matrix4d &x, double h)

Public Attributes

Kinbody3d< _nu > & sys
 system
double t0
 initial time around track
double tf
 final time around track
double r
 track radius
double w
 track width
double h
 track height
double dmax
 sensor radius
bool extforce
 is there a constant external force that need to be estimated
bool forces
 is there a constant external force that need to be estimated
vector< double > ts
 sequence of times (N+1 vector)
vector< Matrix4dxs
 sequence of states x=(g,v) (N+1 vector)
vector< Vectorudus
 sequence of inputs (N vector)
vector< Vector3d > ls
 landmark positions
vector< bool > observed
 was it observed
vector< Matrix4dxos
 unoptimized trajectory
vector< Vectoruduos
 unoptimized trajectory
bool init
VectorXd p
 observed landmark positions (2*m vector) and external force parameters (2 vector)
vector< int > pis
 observed landmark indices (m vector)
double pr
 feature radius
vector< vector< pair< int,
Vector3d > > > 
Is
 N+1-vector of vectors of visible pose-to-feature indices.
vector< vector< pair< int,
Vector3d > > > 
Js
 nf-vector of vectors of feature-to-pose indices indices
vector< int > cis
 if observed then this should map into the corresponding value in p
double cp
 noise covariance of poses (assume spherical)
Vector6d cv
 noise covariance of odometry/gyro (assume diagonal)
Vectorud cw
 noise covariance of control forces (assume diagonal)

Detailed Description

template<int _nu = 6>
class gcop::Kinbody3dTrack< _nu >

Pose-track in 2D. This is the simplese possible definition assuming point (unprojected) features e.g. from stereo/laser scans with uniform spherical covariance. The framework can be easily extended to any general 2d/3d non-uniform or projected features as well.


Member Typedef Documentation

template<int _nu = 6>
typedef Matrix<double, 6, 1> gcop::Kinbody3dTrack< _nu >::Vector6d
template<int _nu = 6>
typedef Matrix<double, _nu, 1> gcop::Kinbody3dTrack< _nu >::Vectorud

Reimplemented in gcop::KinbodyProjTrack< _nu >.


Constructor & Destructor Documentation

template<int _nu>
gcop::Kinbody3dTrack< _nu >::Kinbody3dTrack ( Kinbody3d< _nu > &  sys,
int  nf,
double  vd0,
double  t0,
double  tf,
double  r = 25,
bool  extforce = false,
bool  forces = false 
)

Pose graph (using simulated features around a circular track)

Parameters:
sysbody3d system
nfnumber of features (landmarks)
t0start time
tfend time
rradius
odometryis odometry available
extforcetreat constant external force in x-y as a parameter
forcesuse uncertain forces in the cost function

References gcop::Kinbody3dTrack< _nu >::cw, gcop::Kinbody3dTrack< _nu >::Get(), gcop::Kinbody3dTrack< _nu >::xos, and gcop::Kinbody3dTrack< _nu >::xs.


Member Function Documentation

template<int _nu>
void gcop::Kinbody3dTrack< _nu >::Add ( const Vectorud u,
const Matrix4d x,
double  h 
) [virtual]
template<int _nu>
void gcop::Kinbody3dTrack< _nu >::Add2 ( const Vectorud u,
const Matrix4d x,
double  h 
) [virtual]

Add a new state/control to estimation vector

Parameters:
ucommanded control
xtrue state (to generate measurements)
htime-step

Reimplemented in gcop::KinbodyProjTrack< _nu >.

References gcop::random_normal().

template<int _nu>
void gcop::Kinbody3dTrack< _nu >::Get ( Matrix4d x,
double  vd,
double  t 
) const [virtual]
template<int _nu>
void gcop::Kinbody3dTrack< _nu >::MakeTrue ( ) [virtual]

Reimplemented in gcop::KinbodyProjTrack< _nu >.


Member Data Documentation

template<int _nu = 6>
vector<int> gcop::Kinbody3dTrack< _nu >::cis

if observed then this should map into the corresponding value in p

template<int _nu = 6>
double gcop::Kinbody3dTrack< _nu >::cp

noise covariance of poses (assume spherical)

template<int _nu = 6>
Vector6d gcop::Kinbody3dTrack< _nu >::cv

noise covariance of odometry/gyro (assume diagonal)

template<int _nu = 6>
Vectorud gcop::Kinbody3dTrack< _nu >::cw

noise covariance of control forces (assume diagonal)

Referenced by gcop::Kinbody3dTrack< _nu >::Kinbody3dTrack().

template<int _nu = 6>
double gcop::Kinbody3dTrack< _nu >::dmax

sensor radius

template<int _nu = 6>
bool gcop::Kinbody3dTrack< _nu >::extforce

is there a constant external force that need to be estimated

template<int _nu = 6>
bool gcop::Kinbody3dTrack< _nu >::forces

is there a constant external force that need to be estimated

template<int _nu = 6>
double gcop::Kinbody3dTrack< _nu >::h

track height

template<int _nu = 6>
bool gcop::Kinbody3dTrack< _nu >::init
template<int _nu = 6>
vector< vector<pair<int, Vector3d> > > gcop::Kinbody3dTrack< _nu >::Is

N+1-vector of vectors of visible pose-to-feature indices.

template<int _nu = 6>
vector< vector<pair<int, Vector3d> > > gcop::Kinbody3dTrack< _nu >::Js

nf-vector of vectors of feature-to-pose indices indices

template<int _nu = 6>
vector<Vector3d> gcop::Kinbody3dTrack< _nu >::ls

landmark positions

template<int _nu = 6>
vector<bool> gcop::Kinbody3dTrack< _nu >::observed

was it observed

template<int _nu = 6>
VectorXd gcop::Kinbody3dTrack< _nu >::p

observed landmark positions (2*m vector) and external force parameters (2 vector)

template<int _nu = 6>
vector<int> gcop::Kinbody3dTrack< _nu >::pis

observed landmark indices (m vector)

template<int _nu = 6>
double gcop::Kinbody3dTrack< _nu >::pr

feature radius

template<int _nu = 6>
double gcop::Kinbody3dTrack< _nu >::r

track radius

template<int _nu = 6>
Kinbody3d<_nu>& gcop::Kinbody3dTrack< _nu >::sys

system

template<int _nu = 6>
double gcop::Kinbody3dTrack< _nu >::t0

initial time around track

template<int _nu = 6>
double gcop::Kinbody3dTrack< _nu >::tf

final time around track

template<int _nu = 6>
vector<double> gcop::Kinbody3dTrack< _nu >::ts

sequence of times (N+1 vector)

template<int _nu = 6>
vector<Vectorud> gcop::Kinbody3dTrack< _nu >::uos

unoptimized trajectory

template<int _nu = 6>
vector<Vectorud> gcop::Kinbody3dTrack< _nu >::us

sequence of inputs (N vector)

template<int _nu = 6>
double gcop::Kinbody3dTrack< _nu >::w

track width

template<int _nu = 6>
vector<Matrix4d> gcop::Kinbody3dTrack< _nu >::xos
template<int _nu = 6>
vector<Matrix4d> gcop::Kinbody3dTrack< _nu >::xs

sequence of states x=(g,v) (N+1 vector)

Referenced by gcop::Kinbody3dTrack< _nu >::Kinbody3dTrack(), and gcop::KinbodyProjTrack< _nu >::KinbodyProjTrack().


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