ExperimentRunnerNode

class suave_runner.suave_runner.ExperimentRunnerNode(**kwargs)

Orchestrate simulation and adaptation experiments.

__init__(**kwargs)

Initialize campaign configuration and process state.

append_array_random_interval(array, value, random_interval, current_delta, min_delta, max_delta, i)

Append a value using a delta refreshed at fixed run intervals.

create_experiment_folder()

Return a resumed or newly created campaign result directory.

generate_mission_config_files(result_path)

Generate per-run mission configurations with randomized events.

handle_termination()

Request campaign termination and unblock mission waiting.

initialize_experiment(experiment, exp_idx)

Extract normalized launch and result settings for an experiment.

kill_gz_sim()

Terminate remaining Gazebo Sim processes.

launch_ardupilot(log_path: Path)

Start ArduPilot and redirect its output to a run log.

launch_experiment(exp_launch: str, result_path: str, result_filename: str, mission_config_file: str, log_dir: Path)

Launch the mission and managing system for one experiment run.

launch_suave_simulation(run_idx, log_dir: Path)

Launch the SUAVE simulation for a configured run position.

randomize_experiments_configuration()

Generate reproducible perturbations for all runs.

run_experiments()

Execute configured campaigns with resumable checkpoints.

shutdown_all_launch_processes()

Request shutdown of every tracked ROS launch process.

shutdown_all_processes()

Stop ArduPilot, ROS launch processes, Gazebo, and log output.

start_launch_process(launch_description: LaunchDescription, log_dir: Path)

Start a ROS launch description in an isolated child process.

terminate_process(proc, name)

Terminate a running subprocess and its process group.

Methods

__init__(**kwargs)

Initialize campaign configuration and process state.

append_array_random_interval(array, value, ...)

Append a value using a delta refreshed at fixed run intervals.

create_experiment_folder()

Return a resumed or newly created campaign result directory.

generate_mission_config_files(result_path)

Generate per-run mission configurations with randomized events.

handle_termination()

Request campaign termination and unblock mission waiting.

initialize_experiment(experiment, exp_idx)

Extract normalized launch and result settings for an experiment.

kill_gz_sim()

Terminate remaining Gazebo Sim processes.

launch_ardupilot(log_path)

Start ArduPilot and redirect its output to a run log.

launch_experiment(exp_launch, result_path, ...)

Launch the mission and managing system for one experiment run.

launch_suave_simulation(run_idx, log_dir)

Launch the SUAVE simulation for a configured run position.

randomize_experiments_configuration()

Generate reproducible perturbations for all runs.

run_experiments()

Execute configured campaigns with resumable checkpoints.

shutdown_all_launch_processes()

Request shutdown of every tracked ROS launch process.

shutdown_all_processes()

Stop ArduPilot, ROS launch processes, Gazebo, and log output.

start_launch_process(launch_description, log_dir)

Start a ROS launch description in an isolated child process.

terminate_process(proc, name)

Terminate a running subprocess and its process group.

Attributes