Public Member Functions | Protected Attributes
teb_local_planner::EdgeKinematicsCarlike Class Reference

Edge defining the cost function for satisfying the non-holonomic kinematics of a carlike mobile robot. More...

#include <edge_kinematics.h>

List of all members.

Public Member Functions

void computeError ()
 Actual cost function.
 EdgeKinematicsCarlike ()
 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 ~EdgeKinematicsCarlike ()
 Destruct edge.

Protected Attributes

const TebConfigcfg_
 Store TebConfig class for parameters.

Detailed Description

Edge defining the cost function for satisfying the non-holonomic kinematics of a carlike mobile robot.

The edge depends on two vertices $ \mathbf{s}_i, \mathbf{s}_{ip1} $ and minimizes a geometric interpretation of the non-holonomic constraint:

The definition is identically to the one of the differential drive robot. Additionally, this edge incorporates a minimum turning radius that is required by carlike robots. The turning radius is defined by $ r=v/omega $.

The weight can be set using setInformation(): Matrix element 1,1: (Choose a very high value: ~1000).
The second equation enforces a minimum turning radius. The weight can be set using setInformation(): Matrix element 2,2.
The dimension of the error / cost vector is 3: the first component represents the nonholonomic constraint cost, the second one backward-drive cost and the third one the minimum turning radius

See also:
TebOptimalPlanner::AddEdgesKinematics, EdgeKinematicsDiffDrive
Remarks:
Bounding the turning radius from below is not affected by the penalty_epsilon parameter, the user might add an extra margin to the min_turning_radius param.
Do not forget to call setTebConfig()

Definition at line 245 of file edge_kinematics.h.


Constructor & Destructor Documentation

Construct edge.

Definition at line 252 of file edge_kinematics.h.

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 264 of file edge_kinematics.h.


Member Function Documentation

Actual cost function.

Definition at line 276 of file edge_kinematics.h.

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 305 of file edge_kinematics.h.

virtual bool teb_local_planner::EdgeKinematicsCarlike::read ( std::istream &  is) [inline, virtual]

Read values from input stream.

Definition at line 314 of file edge_kinematics.h.

Assign the TebConfig class for parameters.

Parameters:
cfgTebConfig class

Definition at line 336 of file edge_kinematics.h.

virtual bool teb_local_planner::EdgeKinematicsCarlike::write ( std::ostream &  os) const [inline, virtual]

Write values to an output stream.

Definition at line 325 of file edge_kinematics.h.


Member Data Documentation

Store TebConfig class for parameters.

Definition at line 343 of file edge_kinematics.h.


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


teb_local_planner
Author(s): Christoph Rösmann
autogenerated on Mon Oct 24 2016 05:31:15