Variation Points

RoboVAST supports plugin-provided variation types. The following are available by default.

General

ParameterVariationList

Creates configurations from a predefined list of parameter values.

Expected parameters:

  • name: Name of the parameter to vary, or a list of parameter names for simultaneous multi-parameter variation.

  • values: List of values for the parameter. When name is a list, each entry must itself be a list of values — one per parameter name.

Example (single parameter):

- ParameterVariationList:
    name: robot_radius
    values:
    - 0.175
    - 0.22

Example (multiple parameters varied together):

- ParameterVariationList:
    name:
    - mesh_file
    - map_file
    values:
    - - environments/office/office.stl
      - environments/office/office.yaml
    - - environments/hospital/hospital.stl
      - environments/hospital/hospital.yaml

ParameterVariationDistributionUniform

Creates configurations with random parameter values from a uniform distribution.

Expected parameters:

  • name: Name of the parameter to vary

  • num_variations: Number of configurations to create

  • min: Minimum value for the parameter

  • max: Maximum value for the parameter

  • type: Data type of the parameter (e.g., int, float, string)

  • seed: Seed for random number generation to ensure reproducibility

ParameterVariationDistributionGaussian

Creates configurations with random parameter values from a Gaussian (normal) distribution.

Expected parameters:

  • name: Name of the parameter to vary

  • num_variations: Number of configurations to create

  • mean: Mean value for the parameter

  • std: Standard deviation for the parameter

  • min: Minimum value for the parameter

  • max: Maximum value for the parameter

  • type: Data type of the parameter (e.g., int, float, string)

  • seed: Seed for random number generation to ensure reproducibility

OneOfVariation

Branches the configuration pipeline by running each child variation independently on a copy of the current configurations.

All resulting branches are concatenated into a single flat list. This enables “one of N alternatives” semantics: every alternative becomes a separate configuration in the downstream pipeline.

Expected parameters:

  • variations: List of child variation entries, using the same syntax as the top-level variations: list.

Example:

- OneOfVariation:
    variations:
    - ObstacleVariation:
        name: static_objects
        obstacle_configs:
        - amount: 3
          max_distance: 0.3
          model: file:///config/files/models/box.sdf.xacro
        seed: 42
        robot_diameter: 0.35
        count: 2
    - ObstacleVariationWithDistanceTrigger:
        name: dynamic_objects
        spawn_trigger_point: spawn_trigger_point
        spawn_trigger_threshold: spawn_trigger_threshold
        trigger_distance: [1.0, 2.0]
        obstacle_configs:
        - amount: 1
          max_distance: 0.3
          model: file:///config/files/models/box.sdf.xacro
        seed: 42
        robot_diameter: 0.35
        count: 2