Public Member Functions | Protected Attributes
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]

List of all members.

Public Member Functions

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

Protected Attributes

const TebConfigcfg_
 Store TebConfig class for parameters.

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 ( ) [inline, virtual]

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) [inline, virtual]

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 [inline, virtual]

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 Sat Jun 8 2019 20:21:34