GCOP
1.0
|
#include <posegraph2d.h>
Public Member Functions | |
Posegraph2d (int N, int nf) | |
void | Optp (VectorXd &p, const vector< Matrix3d > &gs) |
Static Public Member Functions | |
static void | Synthesize (Posegraph2d &pgt, Posegraph2d &pgn, double tf) |
static void | Synthesize2 (Posegraph2d &pgt, Posegraph2d &pgn, double tf) |
Public Attributes | |
vector< double > | ts |
sequence of times (N+1 vector) | |
vector< Matrix3d > | gs |
sequence of poses (N+1 vector) | |
vector< Vector3d > | us |
sequence of inputs (N vector) | |
VectorXd | p |
feature positions (2*nf vector) | |
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 | |
double | cp |
noise covariance of poses (assume spherical) |
Pose-graph 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.
Posegraph2d::Posegraph2d | ( | int | N, |
int | nf | ||
) |
Pose-landmark graph
N | number of trajectory segments |
nf | number of features (landmarks) |
void Posegraph2d::Optp | ( | VectorXd & | p, |
const vector< Matrix3d > & | gs | ||
) |
Given a sequence of poses gs, compute the optimal feature locations p
p | a vector of feature locations |
gs | a given vector of poses in SE(2) |
References Js.
Referenced by Synthesize(), and Synthesize2().
void Posegraph2d::Synthesize | ( | Posegraph2d & | pgt, |
Posegraph2d & | pgn, | ||
double | tf | ||
) | [static] |
Create true and noisy synthetic pose graphs
pgt | true pose graph |
pgn | noisy pose graph |
tf | total trajectory time |
References gcop::SE2::cay(), cp, gs, gcop::SE2::Instance(), Is, Js, Optp(), p, gcop::random_normal(), ts, and us.
void Posegraph2d::Synthesize2 | ( | Posegraph2d & | pgt, |
Posegraph2d & | pgn, | ||
double | tf | ||
) | [static] |
Create true and noisy synthetic pose graphs
pgt | true pose graph |
pgn | noisy pose graph |
tf | total trajectory time |
References gcop::SE2::cay(), cp, gs, gcop::SE2::Instance(), Is, Js, Optp(), p, gcop::random_normal(), ts, and us.
double gcop::Posegraph2d::cp |
noise covariance of poses (assume spherical)
Referenced by gcop::BaCost::L(), Synthesize(), and Synthesize2().
vector<Matrix3d> gcop::Posegraph2d::gs |
sequence of poses (N+1 vector)
Referenced by gcop::Posegraph2dView::RenderFrame(), Synthesize(), and Synthesize2().
vector< vector<pair<int, Vector2d> > > gcop::Posegraph2d::Is |
N+1-vector of vectors of visible pose-to-feature indices.
Referenced by gcop::BaCost::L(), Synthesize(), and Synthesize2().
vector< vector<pair<int, Vector2d> > > gcop::Posegraph2d::Js |
nf-vector of vectors of feature-to-pose indices indices
Referenced by Optp(), gcop::Posegraph2dView::RenderFrame(), Synthesize(), and Synthesize2().
VectorXd gcop::Posegraph2d::p |
feature positions (2*nf vector)
Referenced by gcop::Posegraph2dView::RenderFrame(), Synthesize(), and Synthesize2().
vector<double> gcop::Posegraph2d::ts |
sequence of times (N+1 vector)
Referenced by Synthesize(), and Synthesize2().
vector<Vector3d> gcop::Posegraph2d::us |
sequence of inputs (N vector)
Referenced by Synthesize(), and Synthesize2().