Class base_swarm_manager

Inheritance Relationships

Base Type

  • public rer::client< base_swarm_manager >

Derived Types

Class Documentation

class base_swarm_manager : public rer::client<base_swarm_manager>

Base class for the harness for support functionality that helps to manage the swarm as it runs, including handling things like:

  • Metric collection

Only core functionality agnostic to the platform on which the swarm control algorithms are being executed is included here.

Subclassed by cosm::pal::argos::swarm_manager_adaptor, cosm::pal::ros::swarm_manager_adaptor, cosm::ros::robot_manager_adaptor

Public Functions

base_swarm_manager(const base_swarm_manager&) = delete
base_swarm_manager(void)
virtual void destroy(void) = 0
virtual void init(ticpp::Element &node) = 0
const base_swarm_manager &operator=(const base_swarm_manager&) = delete
virtual void post_step(void) = 0
virtual void pre_step(void) = 0
virtual void reset(void) = 0
inline rmath::rng *rng(void)

Protected Functions

virtual void mdc_ts_update(void) const = 0

Set the timestamp MDC for the swarm manager.

virtual void ndc_uuid_pop(void) const = 0

Pop the last UUID NDC off the stack.

virtual void ndc_uuid_push(void) const = 0

Push the UUID of the swarm manager onto the NDC stack.

virtual void output_init(const cpconfig::output_config *config)

Initialize output directories.

inline fs::path output_root(void) const
void rng_init(const rmath::config::rng_config *config)

Initialize random number generation for loop function use. Currently NOT shared between loop functions and robots.

inline void timestep(const rtypes::timestep &t)
inline const rtypes::timestep &timestep(void) const