Edge defining the cost function for satisfying the non-holonomic kinematics of a carlike mobile robot. More...
#include <edge_kinematics.h>
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 TebConfig * | cfg_ |
Store TebConfig class for parameters. |
Edge defining the cost function for satisfying the non-holonomic kinematics of a carlike mobile robot.
The edge depends on two vertices 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 .
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
Definition at line 245 of file edge_kinematics.h.
Construct edge.
Definition at line 252 of file edge_kinematics.h.
virtual teb_local_planner::EdgeKinematicsCarlike::~EdgeKinematicsCarlike | ( | ) | [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 264 of file edge_kinematics.h.
void teb_local_planner::EdgeKinematicsCarlike::computeError | ( | ) | [inline] |
Actual cost function.
Definition at line 276 of file edge_kinematics.h.
ErrorVector& teb_local_planner::EdgeKinematicsCarlike::getError | ( | ) | [inline] |
Compute and return error / cost value.
This method is called by TebOptimalPlanner::computeCurrentCost to obtain the current cost.
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.
void teb_local_planner::EdgeKinematicsCarlike::setTebConfig | ( | const TebConfig & | cfg | ) | [inline] |
Assign the TebConfig class for parameters.
cfg | TebConfig 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.
const TebConfig* teb_local_planner::EdgeKinematicsCarlike::cfg_ [protected] |
Store TebConfig class for parameters.
Definition at line 343 of file edge_kinematics.h.