60 e->setMeasurement(e->measurement() * n);
68 assert(to && to->vertex());
70 VertexType::EstimateType pose = v->estimate();
71 VertexType::EstimateType delta =
73 Vector3d translation = delta.translation();
74 double range2 = translation.squaredNorm();
77 translation.normalize();
78 double bearing = acos(translation.x());
79 if (fabs(bearing) >
_fov)
return false;
80 AngleAxisd a(delta.rotation());
88 std::list<PoseObject*>::reverse_iterator it = r->trajectory().rbegin();
97 for (std::set<BaseWorldObject*>::iterator it =
world()->
objects().begin();
106 e->setMeasurementFromState();
internal::BaseEdgeTraits< D >::ErrorVector ErrorVector
OptimizableGraph * graph() const
InformationType _information
WorldObjectType::VertexType VertexType
WorldObjectSE3 WorldObjectType
EdgeType * mkEdge(WorldObjectType *object)
PoseObject * _robotPoseObject
const InformationType & information()
void setInformation(const InformationType &information_)
GaussianSampler< typename EdgeType::ErrorVector, InformationType > _sampler
SampleType generateSample()
return a sample of the Gaussian distribution
double _maxAngularDifference
bool isVisible(WorldObjectType *to)
ParameterSE3Offset * _offsetParam1
std::set< PoseObject * > _posesToIgnore
ParameterSE3Offset * _offsetParam2
virtual void addParameters()
EIGEN_MAKE_ALIGNED_OPERATOR_NEW SensorPose3DOffset(const std::string &name_)
void addNoise(EdgeType *e)
std::set< BaseWorldObject * > & objects()
bool addParameter(Parameter *p)
Isometry3 fromVectorMQT(const Vector6 &v)
WorldObject< VertexSE3 > WorldObjectSE3
Robot< WorldObjectSE3 > Robot3D
virtual bool addEdge(HyperGraph::Edge *e)