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.
- 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 campaigns under an exclusive lock and recover transactions.
- shutdown_all_launch_processes()
Request shutdown of every tracked ROS launch process.
- shutdown_all_processes(log_dir=None)
Stop ArduPilot, ROS launches, and orphans in their sessions.
- start_launch_process(launch_description: LaunchDescription, log_dir: Path, launch_name: str, env=None)
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.
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 campaigns under an exclusive lock and recover transactions.
Request shutdown of every tracked ROS launch process.
shutdown_all_processes([log_dir])Stop ArduPilot, ROS launches, and orphans in their sessions.
start_launch_process(launch_description, ...)Start a ROS launch description in an isolated child process.
terminate_process(proc, name)Terminate a running subprocess and its process group.
Attributes