GCOP
1.0
|
#include <kinbody3dtrack.h>
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< Matrix4d > | xs |
sequence of states x=(g,v) (N+1 vector) | |
vector< Vectorud > | us |
sequence of inputs (N vector) | |
vector< Vector3d > | ls |
landmark positions | |
vector< bool > | observed |
was it observed | |
vector< Matrix4d > | xos |
unoptimized trajectory | |
vector< Vectorud > | uos |
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) |
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.
typedef Matrix<double, 6, 1> gcop::Kinbody3dTrack< _nu >::Vector6d |
typedef Matrix<double, _nu, 1> gcop::Kinbody3dTrack< _nu >::Vectorud |
Reimplemented in gcop::KinbodyProjTrack< _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)
sys | body3d system |
nf | number of features (landmarks) |
t0 | start time |
tf | end time |
r | radius |
odometry | is odometry available |
extforce | treat constant external force in x-y as a parameter |
forces | use uncertain forces in the cost function |
References gcop::Kinbody3dTrack< _nu >::cw, gcop::Kinbody3dTrack< _nu >::Get(), gcop::Kinbody3dTrack< _nu >::xos, and gcop::Kinbody3dTrack< _nu >::xs.
void gcop::Kinbody3dTrack< _nu >::Add | ( | const Vectorud & | u, |
const Matrix4d & | x, | ||
double | h | ||
) | [virtual] |
Reimplemented in gcop::KinbodyProjTrack< _nu >.
References gcop::random_normal().
void gcop::Kinbody3dTrack< _nu >::Add2 | ( | const Vectorud & | u, |
const Matrix4d & | x, | ||
double | h | ||
) | [virtual] |
Add a new state/control to estimation vector
u | commanded control |
x | true state (to generate measurements) |
h | time-step |
Reimplemented in gcop::KinbodyProjTrack< _nu >.
References gcop::random_normal().
void gcop::Kinbody3dTrack< _nu >::Get | ( | Matrix4d & | x, |
double | vd, | ||
double | t | ||
) | const [virtual] |
Reimplemented in gcop::KinbodyProjTrack< _nu >.
Referenced by gcop::Kinbody3dTrack< _nu >::Kinbody3dTrack().
void gcop::Kinbody3dTrack< _nu >::MakeTrue | ( | ) | [virtual] |
Reimplemented in gcop::KinbodyProjTrack< _nu >.
vector<int> gcop::Kinbody3dTrack< _nu >::cis |
if observed then this should map into the corresponding value in p
double gcop::Kinbody3dTrack< _nu >::cp |
noise covariance of poses (assume spherical)
Vector6d gcop::Kinbody3dTrack< _nu >::cv |
noise covariance of odometry/gyro (assume diagonal)
Vectorud gcop::Kinbody3dTrack< _nu >::cw |
noise covariance of control forces (assume diagonal)
Referenced by gcop::Kinbody3dTrack< _nu >::Kinbody3dTrack().
double gcop::Kinbody3dTrack< _nu >::dmax |
sensor radius
bool gcop::Kinbody3dTrack< _nu >::extforce |
is there a constant external force that need to be estimated
bool gcop::Kinbody3dTrack< _nu >::forces |
is there a constant external force that need to be estimated
double gcop::Kinbody3dTrack< _nu >::h |
track height
bool gcop::Kinbody3dTrack< _nu >::init |
vector< vector<pair<int, Vector3d> > > gcop::Kinbody3dTrack< _nu >::Is |
N+1-vector of vectors of visible pose-to-feature indices.
vector< vector<pair<int, Vector3d> > > gcop::Kinbody3dTrack< _nu >::Js |
nf-vector of vectors of feature-to-pose indices indices
vector<Vector3d> gcop::Kinbody3dTrack< _nu >::ls |
landmark positions
vector<bool> gcop::Kinbody3dTrack< _nu >::observed |
was it observed
VectorXd gcop::Kinbody3dTrack< _nu >::p |
observed landmark positions (2*m vector) and external force parameters (2 vector)
vector<int> gcop::Kinbody3dTrack< _nu >::pis |
observed landmark indices (m vector)
double gcop::Kinbody3dTrack< _nu >::pr |
feature radius
double gcop::Kinbody3dTrack< _nu >::r |
track radius
Kinbody3d<_nu>& gcop::Kinbody3dTrack< _nu >::sys |
system
double gcop::Kinbody3dTrack< _nu >::t0 |
initial time around track
double gcop::Kinbody3dTrack< _nu >::tf |
final time around track
vector<double> gcop::Kinbody3dTrack< _nu >::ts |
sequence of times (N+1 vector)
vector<Vectorud> gcop::Kinbody3dTrack< _nu >::uos |
unoptimized trajectory
vector<Vectorud> gcop::Kinbody3dTrack< _nu >::us |
sequence of inputs (N vector)
double gcop::Kinbody3dTrack< _nu >::w |
track width
vector<Matrix4d> gcop::Kinbody3dTrack< _nu >::xos |
unoptimized trajectory
Referenced by gcop::Kinbody3dTrack< _nu >::Kinbody3dTrack(), and gcop::KinbodyProjTrack< _nu >::KinbodyProjTrack().
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().