Class EdgeDynamicObstacle

Inheritance Relationships

Base Type

Class Documentation

class EdgeDynamicObstacle : public hateb_local_planner::BaseTebUnaryEdge<2, const Obstacle*, VertexPose>

Edge defining the cost function for keeping a distance from dynamic (moving) obstacles.

The edge depends on two vertices \( \mathbf{s}_i, \Delta T_i \) and minimizes: \( \min \textrm{penaltyBelow}( dist2obstacle) \cdot weight \). dist2obstacle denotes the minimum distance to the obstacle trajectory (spatial and temporal). weight can be set using setInformation(). penaltyBelow denotes the penalty function, see penaltyBoundFromBelow().

Remark

Do not forget to call setHATebConfig(), setVertexIdx() and

Warning

Experimental

Public Functions

inline EdgeDynamicObstacle()

Construct edge.

inline explicit EdgeDynamicObstacle(double t)

Construct edge and specify the time for its associated pose (neccessary for computeError).

Parameters:

t_ – Estimated time until current pose is reached

inline void computeError() override

Actual cost function.

inline void setParameters(const HATebConfig &cfg, const Obstacle *obstacle, const int type)

Set all parameters at once.

Parameters:
  • cfgHATebConfig class

  • obstacle – 2D position vector containing the position of the obstacle

  • type – Agent type (0 - Robot, 1 - Human)

Protected Attributes

double t_

Estimated time until current pose is reached.

int type_