Class fs_output_manager
Defined in File fs_output_manager.hpp
Inheritance Relationships
Base Types
public rmetrics::fs_output_manager
public rer::client< fs_output_manager >
Class Documentation
-
class fs_output_manager : public rmetrics::fs_output_manager, public rer::client<fs_output_manager>
Manager class for handling all of the metrics which can be generated by COSM on the ARGoS platform.
Public Functions
-
fs_output_manager(const rmconfig::metrics_config *mconfig, const fs::path &output_root)
-
~fs_output_manager(void) override = default
-
void collect_from_arena(const carena::base_arena_map *map)
Collect metrics from the arena. Currently this includes:
specs::blocks::kMotion
specs::blocks::kDistributor
specs::blocks::kClusters (from each block cluster in the arena)
-
void collect_from_block(const crepr::sim_block3D *block)
Collect metrics from a 3D block right before it is dropped in the nest. Currently this includes:
specs::blocks::kTransportee
-
void collect_from_controller(const ccontroller::base_controller2D *controller)
Collect metrics from 2D controllers. Currently this includes:
specs::spatial::kDistPosition2D
specs::spatial::kMovement
specs::spatial::kInterferenceCounts
specs::spatial::kInterferenceLocs2D
specs::sensors::kBattery
-
void collect_from_controller(const ccontroller::base_controller3D *controller)
Collect metrics from 3D controllers. Currently this includes:
spatial::DistPosition3D
spatial::kMovement
spatial::kInterferenceCounts
spatial::InterferenceLocs3D
-
void collect_from_controller(const ccontroller::base_controllerQ3D *controller)
Collect metrics from Q3D controllers. Currently this includes:
spatial::DistPosition3D
spatial::kMovement
spatial::kInterferenceCounts
spatial::InterferenceLocs3D
Protected Functions
-
void register_kinematics(const rmconfig::metrics_config *mconfig, size_t n_robots)
Register metrics collectors for tracking kinematics.
kinematics/avg
-> ckmetrics::kinematics_metricskinematics/dist
-> ckmetrics::kinematics_metrics
-
void register_with_arena_dims2D(const rmconfig::metrics_config *mconfig, const rmath::vector2z &dims)
Register metrics collectors that require the 2D arena dimensions to construct.
spatial/dist/pos2D
-> csmetrics::dist2D_metricsspatial/interference/locs2D
-> csmetrics::interference_metricsblocks/acq/explore_locs2D
-> csmetrics::goal_acq_metricsblocks/acq/locs2D
-> csmetrics::goal_acq_metricsblocks/acq/vector_locs2D
csmetrics::goal_acq_metrics
-
void register_with_arena_dims3D(const rmconfig::metrics_config *mconfig, const rmath::vector3z &dims)
Register metrics collectors that require the 3D arena dimensions to construct.
spatial/dist/pos3D
-> csmetrics::dist3D_metricsspatial/interference/locs3D
-> csmetrics::interference_metricsblocks/acq/explore_locs3D
-> csmetrics::goal_acq_metricsblocks/acq/vector_locs3D
-> csmetrics::goal_acq_metrics
-
void register_with_n_block_clusters(const rmconfig::metrics_config *mconfig, size_t n_block_clusters)
Register metrics collectors that require the # of block clusters in the arena.
blocks/clusters
-> cfmetrics::block_cluster_metrics
-
fs_output_manager(const rmconfig::metrics_config *mconfig, const fs::path &output_root)