47 assert(to && to->vertex());
49 VertexType::EstimateType pose = v->estimate();
50 VertexType::EstimateType delta =
_sensorPose.inverse() * pose;
51 Vector3d translation = delta;
52 double range2 = translation.squaredNorm();
55 translation.normalize();
57 double bearing = acos(translation.z());
58 if (fabs(bearing) >
_fov)
return false;
70 e->setMeasurement(e->measurement() + n);
80 std::list<PoseObject*>::reverse_iterator it = r->trajectory().rbegin();
82 while (it != r->trajectory().rend() && count < 1) {
89 for (std::set<BaseWorldObject*>::iterator it =
world()->
objects().begin();
97 e->setMeasurementFromState();
internal::BaseEdgeTraits< D >::ErrorVector ErrorVector
OptimizableGraph * graph() const
InformationType _information
WorldObjectType::VertexType VertexType
WorldObjectTrackXYZ WorldObjectType
EdgeType * mkEdge(WorldObjectType *object)
PoseObject * _robotPoseObject
const InformationType & information()
void setInformation(const InformationType &information_)
GaussianSampler< typename EdgeType::ErrorVector, InformationType > _sampler
g2o edge from a track to a point node
SampleType generateSample()
return a sample of the Gaussian distribution
const Isometry3 & offset() const
rotation of the offset as 3x3 rotation matrix
bool isVisible(WorldObjectType *to)
RobotPoseType _sensorPose
virtual void addParameters()
void addNoise(EdgeType *e)
SensorPointXYZ(const std::string &name_)
ParameterSE3Offset * _offsetParam
std::set< BaseWorldObject * > & objects()
bool addParameter(Parameter *p)
WorldObject< VertexPointXYZ > WorldObjectTrackXYZ
Robot< WorldObjectSE3 > Robot3D
virtual bool addEdge(HyperGraph::Edge *e)