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.
Return a resumed or newly created campaign result directory.
generate_mission_config_files(result_path)Generate per-run mission configurations with randomized events.
Request campaign termination and unblock mission waiting.
initialize_experiment(experiment, exp_idx)Extract normalized launch and result settings for an experiment.
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.
Generate reproducible perturbations for all runs.
Execute configured campaigns with resumable checkpoints.
Request shutdown of every tracked ROS launch process.
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