Class abort_probability

Inheritance Relationships

Base Type

  • public rmath::sigmoid

Class Documentation

class abort_probability : public rmath::sigmoid

Calculates the probability that a robot will abort the task it is currently working on using the negative exponential distribution.

Reactivity and offset are assumed to both be > 0.

Depends on:

  • The reactivity parameter: How sensitive should controller be to abrupt changes in task estimates/execution times?

  • The offset parameter: How much the current_exec/prev_estimate ratio will be allowed to grow before causing the probability to grow exponentially.

  • A time estimate for the task (can execution time thus far, interface time thus far, etc.).

Used in Harwell2018-partitioning, Harwell2020a-demystify.

Public Functions

explicit abort_probability(const rmath::config::sigmoid_config *config)

Initialize abort probability calculation with user-specified values.

inline abort_probability(void)

Initialize an abort probability calculation with default values.

inline double calc(const rtypes::timestep &exec_time, const time_estimate &whole_task)
double operator()(const rtypes::timestep &exec_time, const time_estimate &whole_task)

Calculate the current abort probability, based on the most recent estimate of task execution time and the currently elapsed time spent on the the task.

Parameters:
  • exec_time – Current execution time.

  • whole_task – Most recent task estimate.

Returns:

The abort probability.

Public Static Attributes

static constexpr const double kDEFAULT_GAMMA = 1.0
static constexpr const double kDEFAULT_OFFSET = 3.0
static constexpr const double kDEFAULT_REACTIVITY = 8.0
static constexpr const double kMIN_ABORT_PROB = 0.0001