43 assert(to && to->vertex());
49 double range2 = translation.squaredNorm();
52 translation.normalize();
53 double bearing = acos(translation.x());
54 if (fabs(bearing) >
_fov)
return false;
63 e->setMeasurement(e->measurement() * n);
70 std::list<PoseObject*>::reverse_iterator it = r->
trajectory().rbegin();
79 for (std::set<BaseWorldObject*>::iterator it =
world()->objects().begin();
85 e->setMeasurementFromState();
internal::BaseEdgeTraits< D >::ErrorVector ErrorVector
OptimizableGraph * graph() const
const EstimateType & estimate() const
return the current estimate of the vertex
WorldObjectType::VertexType VertexType
WorldObjectSE2 WorldObjectType
EdgeType * mkEdge(WorldObjectType *object)
PoseObject * _robotPoseObject
const InformationType & information()
GaussianSampler< typename EdgeType::ErrorVector, InformationType > _sampler
BinarySensor(const std::string &name)
2D edge between two Vertex2
double _maxAngularDifference
TrajectoryType & trajectory()
const Vector2 & translation() const
translational component
void fromVector(const Vector3 &v)
assign from a 3D vector (x, y, theta)
const Rotation2D & rotation() const
rotational component
virtual void addNoise(EdgeType *e)
std::set< PoseObject * > _posesToIgnore
bool isVisible(WorldObjectType *to)
EIGEN_MAKE_ALIGNED_OPERATOR_NEW SensorPose2D(const std::string &name_)
std::set< BaseWorldObject * > & objects()
WorldObject< VertexSE2 > WorldObjectSE2
Robot< WorldObjectSE2 > Robot2D
virtual bool addEdge(HyperGraph::Edge *e)