EasyFleet
A simple-by-default framework for multi-robot, multi-capability fleets built on ROS 2
Loading...
Searching...
No Matches
ConflictDecision Struct Reference

Explains one pair's evaluation – only produced for pairs that are at least within ConflictParams::proximity_radius_m of each other (pairs nowhere near each other aren't worth reporting). More...

#include <conflict_detector.hpp>

Public Attributes

std::string robot_a
std::string robot_b
double current_distance_m {0.0}
 Distance between the two robots' current positions.
double min_lookahead_distance_m {0.0}
 Closest distance found between the two lookahead segments.
bool in_conflict {false}
 Whether this pair is currently considered an imminent conflict.
std::string yielding_robot
 Which robot yields (stays/becomes paused) because of this pair.
std::string reason
 Human-readable explanation of the decision, e.g.

Detailed Description

Explains one pair's evaluation – only produced for pairs that are at least within ConflictParams::proximity_radius_m of each other (pairs nowhere near each other aren't worth reporting).

Meant to be logged by the caller so an operator can see, live, why a robot was (or wasn't) paused.

Member Data Documentation

◆ reason

std::string reason

Human-readable explanation of the decision, e.g.

"robot_a is already paused and keeps yielding; robot_b is free to continue", or "paths converge (0.42m apart); robot_b has the longer remaining path (4.10m vs 1.00m) and yields".

◆ yielding_robot

std::string yielding_robot

Which robot yields (stays/becomes paused) because of this pair.

Empty if in_conflict is false.


The documentation for this struct was generated from the following file: