29 using namespace Eigen;
32 SensorPose2D::SensorPose2D(
const std::string& name_):
44 assert(to && to->
vertex());
46 VertexType::EstimateType pose=v->estimate();
47 VertexType::EstimateType delta =
_robotPoseObject->vertex()->estimate().inverse()*pose;
48 Vector2d translation=delta.translation();
49 double range2=translation.squaredNorm();
54 translation.normalize();
55 double bearing=acos(translation.x());
56 if (fabs(bearing)>
_fov)
75 std::list<PoseObject*>::reverse_iterator it=r->
trajectory().rbegin();
85 for (std::set<BaseWorldObject*>::iterator it=
world()->objects().begin();
WorldObjectType::VertexType VertexType
virtual void setMeasurement(const SE2 &m)
2D edge between two Vertex2
bool isVisible(WorldObjectType *to)
GaussianSampler< typename EdgeType::ErrorVector, InformationType > _sampler
BaseEdge< D, SE2 >::ErrorVector ErrorVector
SampleType generateSample()
double _maxAngularDifference
BaseEdge< D, SE2 >::Measurement Measurement
const InformationType & information()
EIGEN_STRONG_INLINE void setInformation(const InformationType &information)
TrajectoryType & trajectory()
PoseObject * _robotPoseObject
std::set< PoseObject * > _posesToIgnore
virtual bool setMeasurementFromState()
OptimizableGraph * graph()
std::set< BaseWorldObject * > & objects()
virtual bool addEdge(HyperGraph::Edge *e)
virtual void addNoise(EdgeType *e)
EdgeType * mkEdge(WorldObjectType *object)
EIGEN_STRONG_INLINE const Measurement & measurement() const
accessor functions for the measurement represented by the edge