40 const std::vector<FunctionalityVariant> &functionalities,
42 const Topology &topology,
bool check_positioning =
true);
52 const FunctionalityVariant &functionality,
54 const Topology &topology,
bool check_positioning =
true);
65 const util::Duration &start_timestamp,
const util::Pose &start_pose,
66 const FunctionalityVariant &functionality,
const AmrDescription &description,
80 const daisi::util::Position &start_position,
81 const std::vector<FunctionalityVariant> &functionalities);
87 static std::tuple<daisi::util::Duration, daisi::util::Duration, daisi::util::Duration,
88 daisi::util::Distance, daisi::util::Distance>
90 const std::vector<FunctionalityVariant> &functionalities,
96 static std::vector<util::Duration> calculatePhaseDurations(
const std::vector<double> &distances_m,
101 static std::vector<double> calculatePhaseDistances(
const util::Position &start_position,
102 const FunctionalityVariant &functionality,
105 static std::vector<AmrMobilityStatus>
calculatePhases(
const util::Duration &start_timestamp,
106 const util::Position &start_position,
107 const util::Position &destination,
108 const std::vector<double> &distances,
109 const util::Duration &stationary_time,
112 static std::vector<AmrMobilityStatus>
calculatePhases(
const util::Duration &start_timestamp,
113 const util::Position &start_position,
119 static daisi::util::Distance
calculateDistance(
const util::Position &start_position,
120 const FunctionalityVariant &functionality);
122 static daisi::util::Distance
calculateDistance(
const util::Position &start_position,
126 static void arePositionsInTopology(
const daisi::cpps::FunctionalityVariant &functionality,
129 static void arePositionsInTopology(
const std::vector<FunctionalityVariant> &functionalities,
132 static bool isFunctionalityInDescription(
const FunctionalityVariant &functionality,
135 static void sanityCheck(
const util::Pose &start_pose,
const FunctionalityVariant &functionality,
static daisi::util::Distance calculateDistance(const daisi::util::Position &start_position, const std::vector< FunctionalityVariant > &functionalities)
Calculates distance it takes to execute reach functionality starting from start_position.
Definition amr_mobility_helper.cpp:475
static std::vector< daisi::cpps::AmrMobilityStatus > calculatePhases(const util::Duration &start_timestamp, const util::Pose &start_pose, const FunctionalityVariant &functionality, const AmrDescription &description, const Topology &topology)
Calculates acceleration, constant velocity and deceleration phases for simulation....
Definition amr_mobility_helper.cpp:82
static util::Duration estimateDuration(const util::Pose &start_pose, const std::vector< FunctionalityVariant > &functionalities, const AmrDescription &description, const Topology &topology, bool check_positioning=true)
Estimates how much time (seconds) it takes to complete a list of FunctionalityVariant .
Definition amr_mobility_helper.cpp:30
static daisi::cpps::AmrMobilityStatus calculateMobilityStatus(const daisi::cpps::AmrMobilityStatus ¤t_phase, const util::Duration ¤t_timestamp)
Calculates the current status of the AMR for simulation.
Definition amr_mobility_helper.cpp:108
static std::tuple< daisi::util::Duration, daisi::util::Duration, daisi::util::Duration, daisi::util::Distance, daisi::util::Distance > calculateMetricsByDomain(const daisi::util::Position &start_position, const std::vector< FunctionalityVariant > &functionalities, const AmrDescription &description, const Topology &topology)
Calculates durations and distances different parts of the execution. The domains are empty travel (wh...
Definition amr_mobility_helper.cpp:497