SOLA
Loading...
Searching...
No Matches
Static Public Member Functions | List of all members
daisi::cpps::AmrMobilityHelper Class Reference

Static Public Member Functions

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 .
 
static util::Duration estimateDuration (const util::Pose &start_pose, const FunctionalityVariant &functionality, const AmrDescription &description, const Topology &topology, bool check_positioning=true)
 Estimates how much time (seconds) it takes to complete a list of FunctionalityVariant .
 
static std::vector< daisi::cpps::AmrMobilityStatuscalculatePhases (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. The deceleration vector is pointing in the opposite direction of the velocity vector.
 
static daisi::cpps::AmrMobilityStatus calculateMobilityStatus (const daisi::cpps::AmrMobilityStatus &current_phase, const util::Duration &current_timestamp)
 Calculates the current status of the AMR for simulation.
 
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.
 
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 (when the AMR carries no load), loaded, and action (when loading/unloading).
 

Member Function Documentation

◆ calculateDistance()

daisi::util::Distance daisi::cpps::AmrMobilityHelper::calculateDistance ( const daisi::util::Position &  start_position,
const std::vector< FunctionalityVariant > &  functionalities 
)
static

Calculates distance it takes to execute reach functionality starting from start_position.

Returns
Estimated distance in meters

◆ calculateMetricsByDomain()

std::tuple< daisi::util::Duration, daisi::util::Duration, daisi::util::Duration, daisi::util::Distance, daisi::util::Distance > daisi::cpps::AmrMobilityHelper::calculateMetricsByDomain ( const daisi::util::Position &  start_position,
const std::vector< FunctionalityVariant > &  functionalities,
const AmrDescription description,
const Topology topology 
)
static

Calculates durations and distances different parts of the execution. The domains are empty travel (when the AMR carries no load), loaded, and action (when loading/unloading).

Returns
A tuple of durations and distances in the following order: Empty time, loaded time, action time, empty distance, and loaded distance

◆ calculateMobilityStatus()

AmrMobilityStatus daisi::cpps::AmrMobilityHelper::calculateMobilityStatus ( const daisi::cpps::AmrMobilityStatus current_phase,
const util::Duration &  current_timestamp 
)
static

Calculates the current status of the AMR for simulation.

Exceptions

c std::invalid_argument

  • if current_timestamp is smaller than current_phase.timestamp

    Calculates the current status of the AMR given an initial status.

◆ calculatePhases()

std::vector< daisi::cpps::AmrMobilityStatus > daisi::cpps::AmrMobilityHelper::calculatePhases ( const util::Duration &  start_timestamp,
const util::Pose start_pose,
const FunctionalityVariant &  functionality,
const AmrDescription description,
const Topology topology 
)
static

Calculates acceleration, constant velocity and deceleration phases for simulation. The deceleration vector is pointing in the opposite direction of the velocity vector.

Exceptions

c std::invalid_argument

  • if start_pose or any other Position is outside of Topology or
  • if a requested FunctionalityVariant is missing in description
    Returns
    List of statuses. Lists a status for every change in state (phase) or direction. The last status is always kIdle. Its timestamp contains the FunctionalityVariant's completion time.

◆ estimateDuration() [1/2]

util::Duration daisi::cpps::AmrMobilityHelper::estimateDuration ( const util::Pose start_pose,
const FunctionalityVariant &  functionality,
const AmrDescription description,
const Topology topology,
bool  check_positioning = true 
)
static

Estimates how much time (seconds) it takes to complete a list of FunctionalityVariant .

Exceptions

c std::invalid_argument

  • if start_pose or any other Position is outside of Topology and check_positioning is true, or
  • if a requested FunctionalityVariant is missing in description
    Returns
    Duration (double, seconds): Total Time to complete all tasks.

◆ estimateDuration() [2/2]

util::Duration daisi::cpps::AmrMobilityHelper::estimateDuration ( const util::Pose start_pose,
const std::vector< FunctionalityVariant > &  functionalities,
const AmrDescription description,
const Topology topology,
bool  check_positioning = true 
)
static

Estimates how much time (seconds) it takes to complete a list of FunctionalityVariant .

Exceptions

c std::invalid_argument

  • if start_pose or any other Position is outside of Topology and check_positioning is true, or
  • if a requested Functionality is missing in description
    Returns
    Duration (double, seconds): Total Time to complete all tasks.

The documentation for this class was generated from the following files: