Class EdgeInvisibleHuman

Inheritance Relationships

Base Type

Class Documentation

class EdgeInvisibleHuman : public hateb_local_planner::BaseTebMultiEdge<1, const Obstacle*>

Edge defining a constraint for invisible human agents in the optimization graph.

This edge penalizes robot configurations that are close to the predicted position of an invisible human agent. The cost is computed based on the agent’s predicted position and the robot’s relative to this prediction, enforcing safe and plausible robot behavior even when the human is not directly observed.

Inherits from BaseTebMultiEdge<1, const Obstacle*>.

Public Functions

inline EdgeInvisibleHuman()

Construct edge and resize to 3 vertices (agent poses and time diff).

inline explicit EdgeInvisibleHuman(double t)

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

Parameters:

t – Estimated time until current pose is reached

inline void computeError() override

Compute the error / cost for the edge.

Calculates the cost associated with the invisible human agent’s predicted state, applying penalties if constraints are violated. The error is stored in _error[0].

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

Set all parameters at once.

Parameters:
  • cfgHATebConfig class

  • robot_model – Robot model required for distance calculation

  • obstacleObstacle msg constaining the invisible human agent’s position and velocity

Public Members

double t_
double V_i_ = 1.5
double a_min_ = 0.1
double a_norm_ = 0.68
double a_max_ = 2.94