GCOP
1.0
|
#include <body2dtrack.h>
Public Member Functions | |
Body2dTrack (Body2d<> &sys, int nf, double t0, double tf, double r=25, bool odometry=true, bool extforce=false, bool forces=false) | |
void | Optp (VectorXd &p, const vector< Body2dState > &xs) |
void | Get (Body2dState &x, double vd, double t) const |
void | MakeTrue () |
void | Add (const Vector3d &u, const Body2dState &x, double h) |
void | Add2 (const Vector3d &u, const Body2dState &x, double h) |
Public Attributes | |
Body2d & | sys |
system | |
double | t0 |
initial time around track | |
double | tf |
final time around track | |
double | r |
track radius | |
double | w |
track width | |
double | dmax |
sensor radius | |
bool | odometry |
is there odometry available (this means that the velocity part of the state will be regarded as available measurements) | |
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< Body2dState > | xs |
sequence of states x=(g,v) (N+1 vector) | |
vector< Vector3d > | us |
sequence of inputs (N vector) | |
vector< Vector2d > | ls |
landmark positions | |
vector< bool > | observed |
was it observed | |
vector< Body2dState > | xos |
unoptimized trajectory | |
vector< Vector3d > | 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, Vector2d > > > | Is |
N+1-vector of vectors of visible pose-to-feature indices. | |
vector< vector< pair< int, Vector2d > > > | 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 | |
vector< Vector3d > | vs |
odometry/gyro velocity measurements | |
double | cp |
noise covariance of poses (assume spherical) | |
Vector3d | cv |
noise covariance of odometry/gyro (assume diagonal) | |
Vector3d | 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.
Body2dTrack::Body2dTrack | ( | Body2d<> & | sys, |
int | nf, | ||
double | t0, | ||
double | tf, | ||
double | r = 25 , |
||
bool | odometry = true , |
||
bool | extforce = false , |
||
bool | forces = false |
||
) |
Pose graph (using simulated features around a circular track)
sys | body2d 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 |
void Body2dTrack::Add | ( | const Vector3d & | u, |
const Body2dState & | x, | ||
double | h | ||
) |
void Body2dTrack::Add2 | ( | const Vector3d & | u, |
const Body2dState & | x, | ||
double | h | ||
) |
void Body2dTrack::Get | ( | Body2dState & | x, |
double | vd, | ||
double | t | ||
) | const |
References gcop::SE2::Instance(), gcop::SE2::q2g(), r, and tf.
Referenced by Body2dTrack().
void Body2dTrack::MakeTrue | ( | ) |
void Body2dTrack::Optp | ( | VectorXd & | p, |
const vector< Body2dState > & | xs | ||
) |
vector<int> gcop::Body2dTrack::cis |
if observed then this should map into the corresponding value in p
Referenced by Add(), Add2(), and gcop::Body2dTrackCost::L().
double gcop::Body2dTrack::cp |
noise covariance of poses (assume spherical)
Referenced by Add(), Add2(), and gcop::Body2dTrackCost::L().
Vector3d gcop::Body2dTrack::cv |
noise covariance of odometry/gyro (assume diagonal)
Referenced by Add(), Add2(), and gcop::Body2dTrackCost::L().
Vector3d gcop::Body2dTrack::cw |
noise covariance of control forces (assume diagonal)
Referenced by Add(), and gcop::Body2dTrackCost::L().
double gcop::Body2dTrack::dmax |
is there a constant external force that need to be estimated
Referenced by gcop::Body2dTrackCost::L(), Optp(), and gcop::Body2dTrackView::RenderFrame().
is there a constant external force that need to be estimated
Referenced by gcop::Body2dTrackCost::L().
vector< vector<pair<int, Vector2d> > > gcop::Body2dTrack::Is |
N+1-vector of vectors of visible pose-to-feature indices.
Referenced by Add(), Add2(), and gcop::Body2dTrackCost::L().
vector< vector<pair<int, Vector2d> > > gcop::Body2dTrack::Js |
nf-vector of vectors of feature-to-pose indices indices
Referenced by Add(), Add2(), Optp(), and gcop::Body2dTrackView::RenderFrame().
vector<Vector2d> gcop::Body2dTrack::ls |
landmark positions
Referenced by Add(), Add2(), gcop::Body2dCost< c >::L(), MakeTrue(), and gcop::Body2dTrackView::RenderFrame().
vector<bool> gcop::Body2dTrack::observed |
was it observed
Referenced by Add(), Add2(), and gcop::Body2dTrackView::RenderFrame().
is there odometry available (this means that the velocity part of the state will be regarded as available measurements)
Referenced by Add(), Add2(), and gcop::Body2dTrackCost::L().
VectorXd gcop::Body2dTrack::p |
observed landmark positions (2*m vector) and external force parameters (2 vector)
Referenced by Add(), Add2(), and gcop::Body2dTrackView::RenderFrame().
vector<int> gcop::Body2dTrack::pis |
observed landmark indices (m vector)
Referenced by Add(), Add2(), and gcop::Body2dTrackView::RenderFrame().
double gcop::Body2dTrack::pr |
feature radius
Referenced by gcop::Body2dTrackView::RenderFrame().
double gcop::Body2dTrack::r |
track radius
Referenced by Get(), MakeTrue(), and gcop::Body2dTrackView::RenderFrame().
double gcop::Body2dTrack::t0 |
initial time around track
double gcop::Body2dTrack::tf |
final time around track
Referenced by Get().
vector<double> gcop::Body2dTrack::ts |
vector<Vector3d> gcop::Body2dTrack::uos |
unoptimized trajectory
Referenced by Add(), Add2(), gcop::Body2dTrackCost::L(), and gcop::Body2dTrackView::RenderFrame().
vector<Vector3d> gcop::Body2dTrack::us |
sequence of inputs (N vector)
Referenced by Add(), Add2(), and gcop::Body2dTrackView::RenderFrame().
vector<Vector3d> gcop::Body2dTrack::vs |
odometry/gyro velocity measurements
Referenced by Add(), Add2(), Body2dTrack(), and gcop::Body2dTrackCost::L().
double gcop::Body2dTrack::w |
track width
Referenced by gcop::Body2dCost< c >::L(), and gcop::Body2dTrackView::RenderFrame().
vector<Body2dState> gcop::Body2dTrack::xos |
unoptimized trajectory
Referenced by Add(), Add2(), and Body2dTrack().
vector<Body2dState> gcop::Body2dTrack::xs |
sequence of states x=(g,v) (N+1 vector)
Referenced by Add(), Add2(), Body2dTrack(), and gcop::Body2dTrackView::RenderFrame().