Class EdgeAgentAgentSafety

Inheritance Relationships

Base Type

Class Documentation

class EdgeAgentAgentSafety : public hateb_local_planner::BaseTebBinaryEdge<1, double, VertexPose, VertexPose>

Edge defining a safety constraint between two agent poses (e.g., humans) in the optimization graph.

This edge penalizes configurations where two agents come closer than a specified minimum distance. The cost is computed as a quadratic penalty if the distance between the agents (minus their radii) is less than cfg_->hateb.min_agent_agent_dist. The edge is used to enforce social distancing between agents.

Inherits from BaseTebBinaryEdge<1, double, VertexPose, VertexPose>.

Public Functions

inline EdgeAgentAgentSafety()

Construct edge and set measurement to zero (unused).

inline void computeError() override

Compute the error / cost for the edge.

Calculates the external distance between two agent poses, subtracts twice the agent radius, and applies a quadratic penalty if the result is below the minimum allowed agent-agent distance.

The error is stored in _error[0].