Public Member Functions | List of all members
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>

Inheritance diagram for teb_local_planner::EdgeKinematicsCarlike:
Inheritance graph
[legend]

Public Member Functions

void computeError ()
 Actual cost function. More...
 
 EdgeKinematicsCarlike ()
 Construct edge. More...
 
- Public Member Functions inherited from teb_local_planner::BaseTebBinaryEdge< 2, double, VertexPose, VertexPose >
 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...
 

Additional Inherited Members

- Protected Attributes inherited from teb_local_planner::BaseTebBinaryEdge< 2, double, VertexPose, VertexPose >
const TebConfigcfg_
 Store TebConfig class for parameters. More...
 

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

Constructor & Destructor Documentation

teb_local_planner::EdgeKinematicsCarlike::EdgeKinematicsCarlike ( )
inline

Construct edge.

Definition at line 189 of file edge_kinematics.h.

Member Function Documentation

void teb_local_planner::EdgeKinematicsCarlike::computeError ( )
inline

Actual cost function.

Definition at line 197 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 Wed Jun 5 2019 19:25:10