16#ifndef EASYFLEET_NAVIGATION_MANAGER__CONFLICT_DETECTOR_HPP_
17#define EASYFLEET_NAVIGATION_MANAGER__CONFLICT_DETECTOR_HPP_
24#include "nav_msgs/msg/path.hpp"
117std::set<std::string> compute_robots_to_pause(
118 const std::map<std::string, nav_msgs::msg::Path> & robot_paths,
120 const std::set<std::string> & already_paused = {},
121 std::vector<ConflictDecision> * decisions =
nullptr);
Explains one pair's evaluation – only produced for pairs that are at least within ConflictParams::pro...
Definition conflict_detector.hpp:52
std::string yielding_robot
Which robot yields (stays/becomes paused) because of this pair.
Definition conflict_detector.hpp:63
bool in_conflict
Whether this pair is currently considered an imminent conflict.
Definition conflict_detector.hpp:60
std::string reason
Human-readable explanation of the decision, e.g.
Definition conflict_detector.hpp:68
double min_lookahead_distance_m
Closest distance found between the two lookahead segments.
Definition conflict_detector.hpp:58
double current_distance_m
Distance between the two robots' current positions.
Definition conflict_detector.hpp:56
Tunable geometry for imminent-conflict detection between two robots' planned paths.
Definition conflict_detector.hpp:32
double lookahead_distance_m
How far ahead along each path (arc length, in meters) to look when checking whether the two robots ar...
Definition conflict_detector.hpp:35
double path_conflict_distance_m
How close two robots' lookahead segments must come to each other, at some sampled pair of points,...
Definition conflict_detector.hpp:38
double proximity_radius_m
How close the robots' current positions (path.poses.front()) must be for a conflict to even be consid...
Definition conflict_detector.hpp:43