|
EasyFleet
A simple-by-default framework for multi-robot, multi-capability fleets built on ROS 2
|
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. | |
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.
| 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".
| std::string yielding_robot |
Which robot yields (stays/becomes paused) because of this pair.
Empty if in_conflict is false.