sierra.core.ros1.generators#

Classes for generating XML changes common to all ROS1 engines.

I.e., changes which are engine-specific, but applicable to all projects using ROS1.

Functions#

for_all_exp(→ sierra.core.experiment.definition.BaseExpDef)

Generate XML changes to input files that common to all ROS experiments.

for_single_exp_run(→ None)

Generate XML changes unique to a experimental runs for ROS experiments.

Module Contents#

sierra.core.ros1.generators.for_all_exp(spec: sierra.core.experiment.spec.ExperimentSpec, controller: str, cmdopts: sierra.core.types.Cmdopts, expdef_template_fpath: pathlib.Path) sierra.core.experiment.definition.BaseExpDef[source]#

Generate XML changes to input files that common to all ROS experiments.

ROS1 requires up to 2 input files per run:

  • The launch file containing robot definitions, world definitions (for simulations only).

  • The parameter file for project code (optional).

Putting everything in 1 file would require extensively using the ROS1 parameter server which does NOT accept parameters specified in XML--only YAML. So requiring some conventions on the .launch input file seemed more reasonable.

sierra.core.ros1.generators.for_single_exp_run(exp_def: sierra.core.experiment.definition.BaseExpDef, run_num: int, run_output_path: pathlib.Path, launch_stem_path: pathlib.Path, random_seed: int, cmdopts: sierra.core.types.Cmdopts) None[source]#

Generate XML changes unique to a experimental runs for ROS experiments.

These include:

  • Random seeds for each: term: Experimental Run.

  • Unique parameter file for each: term: Experimental Run.