27 #ifndef G2O_SIMULATOR_H 28 #define G2O_SIMULATOR_H 33 #include <Eigen/StdVector> 61 typedef std::vector<Landmark, Eigen::aligned_allocator<Landmark> >
LandmarkVector;
75 typedef std::vector<GridPose, Eigen::aligned_allocator<GridPose> >
PosesVector;
89 typedef std::vector<GridEdge, Eigen::aligned_allocator<GridEdge> >
GridEdgeVector;
106 void simulate(
int numPoses,
const SE2& sensorOffset =
SE2());
108 const PosesVector&
poses()
const {
return _poses;}
109 const LandmarkVector&
landmarks()
const {
return _landmarks;}
110 const GridEdgeVector&
odometry()
const {
return _odometry;}
119 GridPose generateNewPose(
const GridPose& prev,
const SE2& trueMotion,
const Eigen::Vector2d& transNoise,
double rotNoise);
120 SE2 getMotion(
int motionDirection,
double stepLen);
121 SE2 sampleTransformation(
const SE2& trueMotion_,
const Eigen::Vector2d& transNoise,
double rotNoise);
LandmarkEdgeVector _landmarkObservations
Eigen::Vector2d simulatedPose
const PosesVector & poses() const
std::vector< int > seenBy
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
std::vector< GridPose, Eigen::aligned_allocator< GridPose > > PosesVector
Eigen::Matrix3d information
LandmarkVector _landmarks
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
const LandmarkEdgeVector & landmarkObservations() const
std::vector< GridEdge, Eigen::aligned_allocator< GridEdge > > GridEdgeVector
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
std::vector< LandmarkEdge, Eigen::aligned_allocator< LandmarkEdge > > LandmarkEdgeVector
const LandmarkVector & landmarks() const
LandmarkPtrVector landmarks
the landmarks observed by this node
#define G2O_TUTORIAL_SLAM2D_API
Eigen::Matrix2d information
const GridEdgeVector & odometry() const
EIGEN_MAKE_ALIGNED_OPERATOR_NEW
Eigen::Vector2d simulatorMeas
std::vector< Landmark, Eigen::aligned_allocator< Landmark > > LandmarkVector
std::vector< Landmark * > LandmarkPtrVector