Public Member Functions | Protected Attributes | List of all members
teb_local_planner::BaseTebBinaryEdge< D, E, VertexXi, VertexXj > Class Template Reference

Base edge connecting two vertices in the TEB optimization problem. More...

#include <base_teb_edges.h>

Inheritance diagram for teb_local_planner::BaseTebBinaryEdge< D, E, VertexXi, VertexXj >:
Inheritance graph
[legend]

Public Member Functions

 BaseTebBinaryEdge ()
 Construct edge. More...
 
ErrorVector & getError ()
 Compute and return error / cost value. More...
 
virtual bool read (std::istream &is)
 Read values from input stream. More...
 
void setTebConfig (const TebConfig &cfg)
 Assign the TebConfig class for parameters. More...
 
virtual bool write (std::ostream &os) const
 Write values to an output stream. More...
 
virtual ~BaseTebBinaryEdge ()
 Destruct edge. More...
 

Protected Attributes

const TebConfigcfg_
 Store TebConfig class for parameters. More...
 

Detailed Description

template<int D, typename E, typename VertexXi, typename VertexXj>
class teb_local_planner::BaseTebBinaryEdge< D, E, VertexXi, VertexXj >

Base edge connecting two vertices in the TEB optimization problem.

This edge defines a base edge type for the TEB optimization problem. It is derived from the corresponding g2o base classes augmented with additional information for the dedicated TEB problem (e.g. config). The destructor erases the edge in all attached vertices in order to allow keeping the vertices valid in subsequent g2o optimization calls. Memory of edges should be freed by calling the clearEdge method of the g2o optimzier class.

See also
BaseTebMultiEdge, BaseTebUnaryEdge, g2o::BaseBinaryEdge, g2o::BaseUnaryEdge, g2o::BaseMultiEdge

Definition at line 158 of file base_teb_edges.h.

Constructor & Destructor Documentation

template<int D, typename E, typename VertexXi, typename VertexXj>
teb_local_planner::BaseTebBinaryEdge< D, E, VertexXi, VertexXj >::BaseTebBinaryEdge ( )
inline

Construct edge.

Definition at line 168 of file base_teb_edges.h.

template<int D, typename E, typename VertexXi, typename VertexXj>
virtual teb_local_planner::BaseTebBinaryEdge< D, E, VertexXi, VertexXj >::~BaseTebBinaryEdge ( )
inlinevirtual

Destruct edge.

We need to erase vertices manually, since we want to keep them even if TebOptimalPlanner::clearGraph() is called. This is necessary since the vertices are managed by the Timed_Elastic_Band class.

Definition at line 179 of file base_teb_edges.h.

Member Function Documentation

template<int D, typename E, typename VertexXi, typename VertexXj>
ErrorVector& teb_local_planner::BaseTebBinaryEdge< D, E, VertexXi, VertexXj >::getError ( )
inline

Compute and return error / cost value.

This method is called by TebOptimalPlanner::computeCurrentCost to obtain the current cost.

Returns
2D Cost / error vector [nh cost, backward drive dir cost]^T

Definition at line 193 of file base_teb_edges.h.

template<int D, typename E, typename VertexXi, typename VertexXj>
virtual bool teb_local_planner::BaseTebBinaryEdge< D, E, VertexXi, VertexXj >::read ( std::istream &  is)
inlinevirtual

Read values from input stream.

Definition at line 202 of file base_teb_edges.h.

template<int D, typename E, typename VertexXi, typename VertexXj>
void teb_local_planner::BaseTebBinaryEdge< D, E, VertexXi, VertexXj >::setTebConfig ( const TebConfig cfg)
inline

Assign the TebConfig class for parameters.

Parameters
cfgTebConfig class

Definition at line 221 of file base_teb_edges.h.

template<int D, typename E, typename VertexXi, typename VertexXj>
virtual bool teb_local_planner::BaseTebBinaryEdge< D, E, VertexXi, VertexXj >::write ( std::ostream &  os) const
inlinevirtual

Write values to an output stream.

Definition at line 211 of file base_teb_edges.h.

Member Data Documentation

template<int D, typename E, typename VertexXi, typename VertexXj>
const TebConfig* teb_local_planner::BaseTebBinaryEdge< D, E, VertexXi, VertexXj >::cfg_
protected

Store TebConfig class for parameters.

Definition at line 231 of file base_teb_edges.h.


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


teb_local_planner
Author(s): Christoph Rösmann
autogenerated on Wed Jun 5 2019 19:25:10