MissionMetrics

class suave_metrics.mission_metrics.MissionMetrics(node_name: str = 'suave_metrics', **kwargs)

ROS node used to save mission metrics.

ROS params: result_path, result_filename, adaptation_manager, mission_name.

__init__(node_name: str = 'suave_metrics', **kwargs)

Initialize metric parameters, subscriptions, service, and output.

append_csv(file_path: str, data: list[str | float | int]) None

Append array to .csv file.

Parameters:
  • file_path – file path

  • data – data to be saved

call_service(cli, request)

Call a ROS service and return its response within one second.

check_altitude(diagnostic_status, time)

Detect an altitude mismatch for the measured water visibility.

check_battery(diagnostic_status, time)

Track transitions below and above the configured battery limit.

check_thrusther(diagnostic_status, time)

Record the first reported thruster failure.

diagnostics_cb(msg)

Process quality and component diagnostic measurements.

distance_inspected_cb(msg)

Update the latest inspected pipeline distance.

gazebo_pos_cb(msg)

Record the vehicle’s initial Gazebo position.

generate_recharge_path_transition_cb(msg)

Record reaction time when a recharge path becomes active.

get_expected_spiral_altitude(measured_wv)

Map measured water visibility to the expected search altitude.

get_spiral_altitude()

Return the current spiral-search altitude, if available.

get_water_visibility_thresholds()

Return configured visibility thresholds with legacy-name support.

maintain_motion_transition_cb(msg)

Record reaction time when motion recovers after thruster failure.

param_change_cb(msg)

Record reaction time for a corrective search-altitude update.

pipeline_detected_cb(msg)

Record the first successful pipeline detection time.

pipeline_inspected_cb(msg)

Save mission results when pipeline inspection completes.

save_metrics(path: str, filename: str, header: list[str], data: list[str | float | int]) None

Save data into a .csv file.

Create folder if result_path folder does not exist. Create file if result_file does not exist and insert header. Append data if result_file exist.

Parameters:

data – array with data to be saved

save_mission_results() None

Process mission data and save it into a .csv file.

save_mission_results_cb(req: Empty_Request, res: Empty_Response) None

Save results on service request and stop metric subscriptions.

status_cb(msg)

Record mission start when the vehicle enters guided mode.

Methods

__init__([node_name])

Initialize metric parameters, subscriptions, service, and output.

append_csv(file_path, data)

Append array to .csv file.

call_service(cli, request)

Call a ROS service and return its response within one second.

check_altitude(diagnostic_status, time)

Detect an altitude mismatch for the measured water visibility.

check_battery(diagnostic_status, time)

Track transitions below and above the configured battery limit.

check_thrusther(diagnostic_status, time)

Record the first reported thruster failure.

diagnostics_cb(msg)

Process quality and component diagnostic measurements.

distance_inspected_cb(msg)

Update the latest inspected pipeline distance.

gazebo_pos_cb(msg)

Record the vehicle's initial Gazebo position.

generate_recharge_path_transition_cb(msg)

Record reaction time when a recharge path becomes active.

get_expected_spiral_altitude(measured_wv)

Map measured water visibility to the expected search altitude.

get_spiral_altitude()

Return the current spiral-search altitude, if available.

get_water_visibility_thresholds()

Return configured visibility thresholds with legacy-name support.

maintain_motion_transition_cb(msg)

Record reaction time when motion recovers after thruster failure.

param_change_cb(msg)

Record reaction time for a corrective search-altitude update.

pipeline_detected_cb(msg)

Record the first successful pipeline detection time.

pipeline_inspected_cb(msg)

Save mission results when pipeline inspection completes.

save_metrics(path, filename, header, data)

Save data into a .csv file.

save_mission_results()

Process mission data and save it into a .csv file.

save_mission_results_cb(req, res)

Save results on service request and stop metric subscriptions.

status_cb(msg)

Record mission start when the vehicle enters guided mode.

Attributes

result_path

path where results must be saved

result_filename

file name where results must be saved

adaptation_manager

adaptation manager name, e.g., none, random, metacontrol