Edge defining the cost function for satisfying the non-holonomic kinematics of a differential drive mobile robot. More...
#include <edge_kinematics.h>
Public Member Functions | |
void | computeError () |
Actual cost function. More... | |
EdgeKinematicsDiffDrive () | |
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 TebConfig * | cfg_ |
Store TebConfig class for parameters. More... | |
Edge defining the cost function for satisfying the non-holonomic kinematics of a differential drive mobile robot.
The edge depends on two vertices and minimizes a geometric interpretation of the non-holonomic constraint:
The weight can be set using setInformation(): Matrix element 1,1: (Choose a very high value: ~1000).
A second equation is implemented to penalize backward motions (second element of the error /cost vector).
The weight can be set using setInformation(): Matrix element 2,2: (A value ~1 allows backward driving, but penalizes it slighly).
The dimension of the error / cost vector is 2: the first component represents the nonholonomic constraint cost, the second one backward-drive cost.
Definition at line 73 of file edge_kinematics.h.
|
inline |
Construct edge.
Definition at line 80 of file edge_kinematics.h.
|
inline |
Actual cost function.
Definition at line 88 of file edge_kinematics.h.