g2o
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
g2o::OnlineVertexSE2 Class Reference

#include <types_slam2d_online.h>

Inheritance diagram for g2o::OnlineVertexSE2:
Inheritance graph
[legend]
Collaboration diagram for g2o::OnlineVertexSE2:
Collaboration graph
[legend]

Public Member Functions

 OnlineVertexSE2 ()
 
virtual void oplusImpl (const double *update)
 
void oplusUpdatedEstimate (double *update)
 
- Public Member Functions inherited from g2o::VertexSE2
EIGEN_MAKE_ALIGNED_OPERATOR_NEW VertexSE2 ()
 
virtual void setToOriginImpl ()
 sets the node to the origin (used in the multilevel stuff)
 
virtual bool setEstimateDataImpl (const double *est)
 
virtual bool getEstimateData (double *est) const
 
virtual int estimateDimension () const
 
virtual bool setMinimalEstimateDataImpl (const double *est)
 
virtual bool getMinimalEstimateData (double *est) const
 
virtual int minimalEstimateDimension () const
 
virtual bool read (std::istream &is)
 read the vertex from a stream, i.e., the internal state of the vertex
 
virtual bool write (std::ostream &os) const
 write the vertex to a stream
 
- Public Member Functions inherited from g2o::BaseVertex< 3, SE2 >
 BaseVertex ()
 
 BaseVertex (const BaseVertex &)=delete
 
BaseVertexoperator= (const BaseVertex &)=delete
 
virtual const double & hessian (int i, int j) const
 get the element from the hessian matrix
 
virtual double & hessian (int i, int j)
 
virtual double hessianDeterminant () const
 
virtual double * hessianData ()
 
virtual void mapHessianMemory (double *d)
 
virtual int copyB (double *b_) const
 
virtual const double & b (int i) const
 get the b vector element
 
virtual double & b (int i)
 
Eigen::Matrix< double, D, 1, Eigen::ColMajor > & b ()
 return right hand side b of the constructed linear system
 
const Eigen::Matrix< double, D, 1, Eigen::ColMajor > & b () const
 
virtual double * bData ()
 return a pointer to the b vector associated with this vertex
 
virtual void clearQuadraticForm ()
 
virtual double solveDirect (double lambda=0)
 
HessianBlockTypeA ()
 return the hessian block associated with the vertex
 
const HessianBlockTypeA () const
 
virtual void push ()
 backup the position of the vertex to a stack
 
virtual void pop ()
 
virtual void discardTop ()
 
virtual int stackSize () const
 return the stack size
 
const EstimateTypeestimate () const
 return the current estimate of the vertex
 
void setEstimate (const EstimateType &et)
 set the estimate for the vertex also calls updateCache()
 
- Public Member Functions inherited from g2o::OptimizableGraph::Vertex
 Vertex ()
 
virtual ~Vertex ()
 
void setToOrigin ()
 sets the node to the origin (used in the multilevel stuff)
 
bool setEstimateData (const double *estimate)
 
bool setEstimateData (const std::vector< double > &estimate)
 
template<typename Derived >
bool setEstimateData (const Eigen::MatrixBase< Derived > &estimate)
 
virtual bool getEstimateData (std::vector< double > &estimate) const
 
template<typename Derived >
bool getEstimateData (Eigen::MatrixBase< Derived > &estimate) const
 
bool setMinimalEstimateData (const double *estimate)
 
bool setMinimalEstimateData (const std::vector< double > &estimate)
 
template<typename Derived >
bool setMinimalEstimateData (const Eigen::MatrixBase< Derived > &estimate)
 
virtual bool getMinimalEstimateData (std::vector< double > &estimate) const
 
template<typename Derived >
bool getMinimalEstimateData (Eigen::MatrixBase< Derived > &estimate) const
 
void oplus (const double *v)
 
int hessianIndex () const
 
int G2O_ATTRIBUTE_DEPRECATED (tempIndex() const)
 
void setHessianIndex (int ti)
 set the temporary index of the vertex in the parameter blocks
 
void G2O_ATTRIBUTE_DEPRECATED (setTempIndex(int ti))
 
bool fixed () const
 true => this node is fixed during the optimization
 
void setFixed (bool fixed)
 true => this node should be considered fixed during the optimization
 
bool marginalized () const
 true => this node is marginalized out during the optimization
 
void setMarginalized (bool marginalized)
 true => this node should be marginalized out during the optimization
 
int dimension () const
 dimension of the estimated state belonging to this node
 
virtual void setId (int id)
 
void setColInHessian (int c)
 set the row of this vertex in the Hessian
 
int colInHessian () const
 get the row of this vertex in the Hessian
 
const OptimizableGraphgraph () const
 
OptimizableGraphgraph ()
 
void lockQuadraticForm ()
 
void unlockQuadraticForm ()
 
virtual void updateCache ()
 
CacheContainercacheContainer ()
 
- Public Member Functions inherited from g2o::HyperGraph::Vertex
 Vertex (int id=InvalidId)
 creates a vertex having an ID specified by the argument
 
int id () const
 returns the id
 
const EdgeSetedges () const
 returns the set of hyper-edges that are leaving/entering in this vertex
 
EdgeSetedges ()
 returns the set of hyper-edges that are leaving/entering in this vertex
 
virtual HyperGraphElementType elementType () const
 
- Public Member Functions inherited from g2o::HyperGraph::HyperGraphElement
virtual ~HyperGraphElement ()
 
- Public Member Functions inherited from g2o::HyperGraph::DataContainer
 DataContainer ()
 
virtual ~DataContainer ()
 
const DatauserData () const
 the user data associated with this vertex
 
DatauserData ()
 
void setUserData (Data *obs)
 
void addUserData (Data *obs)
 

Public Attributes

 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 
VertexSE2::EstimateType updatedEstimate
 

Additional Inherited Members

- Public Types inherited from g2o::BaseVertex< 3, SE2 >
using EstimateType = SE2
 
using BackupStackType = std::stack< EstimateType, std::vector< EstimateType > >
 
using HessianBlockType = Eigen::Map< Eigen::Matrix< double, D, D, Eigen::ColMajor >, Eigen::Matrix< double, D, D, Eigen::ColMajor >::Flags &Eigen::PacketAccessBit ? Eigen::Aligned :Eigen::Unaligned >
 
- Static Public Attributes inherited from g2o::BaseVertex< 3, SE2 >
static const int Dimension
 dimension of the estimate (minimal) in the manifold space
 
- Protected Attributes inherited from g2o::BaseVertex< 3, SE2 >
HessianBlockType _hessian
 
Eigen::Matrix< double, D, 1, Eigen::ColMajor > _b
 
EstimateType _estimate
 
BackupStackType _backup
 
- Protected Attributes inherited from g2o::OptimizableGraph::Vertex
OptimizableGraph_graph
 
Data_userData
 
int _hessianIndex
 
bool _fixed
 
bool _marginalized
 
int _dimension
 
int _colInHessian
 
OpenMPMutex _quadraticFormMutex
 
CacheContainer_cacheContainer
 
- Protected Attributes inherited from g2o::HyperGraph::Vertex
int _id
 
EdgeSet _edges
 
- Protected Attributes inherited from g2o::HyperGraph::DataContainer
Data_userData
 

Detailed Description

Definition at line 37 of file types_slam2d_online.h.

Constructor & Destructor Documentation

◆ OnlineVertexSE2()

g2o::OnlineVertexSE2::OnlineVertexSE2 ( )
inline

Definition at line 40 of file types_slam2d_online.h.

40: VertexSE2() {}
EIGEN_MAKE_ALIGNED_OPERATOR_NEW VertexSE2()

Member Function Documentation

◆ oplusImpl()

virtual void g2o::OnlineVertexSE2::oplusImpl ( const double *  v)
inlinevirtual

update the position of the node from the parameters in v. Implement in your class!

Reimplemented from g2o::VertexSE2.

Definition at line 42 of file types_slam2d_online.h.

42 {
45 }
VertexSE2::EstimateType updatedEstimate
virtual void oplusImpl(const double *update)
Definition vertex_se2.h:48

◆ oplusUpdatedEstimate()

void g2o::OnlineVertexSE2::oplusUpdatedEstimate ( double *  update)
inline

Definition at line 47 of file types_slam2d_online.h.

47 {
48 Eigen::Vector3d p = _estimate.toVector();
49 p += Eigen::Map<Eigen::Vector3d>(update);
50 p[2] = normalize_theta(p[2]);
52 // std::cerr << PVAR(updatedEstimate.toVector()) << " " <<
53 // PVAR(_estimate.toVector()) << std::endl;
54 }
Vector3 toVector() const
convert to a 3D vector (x, y, theta)
Definition se2.h:105
void fromVector(const Vector3 &v)
assign from a 3D vector (x, y, theta)
Definition se2.h:102
double normalize_theta(double theta)
Definition misc.h:103

References g2o::normalize_theta().

Referenced by g2o::SparseOptimizerOnline::update().

Member Data Documentation

◆ EIGEN_MAKE_ALIGNED_OPERATOR_NEW

g2o::OnlineVertexSE2::EIGEN_MAKE_ALIGNED_OPERATOR_NEW

Definition at line 39 of file types_slam2d_online.h.

◆ updatedEstimate

VertexSE2::EstimateType g2o::OnlineVertexSE2::updatedEstimate

The documentation for this class was generated from the following file: