Configuration Files#
Configuration files are essential for customizing competition trials and team setups in ARIAC. There are two main configuration file types: trial configuration files that define the competition scenario parameters, and team configuration files that specify team-specific settings like sensors and conveyor parameters.
The configuration system uses YAML files with strict validation to ensure all parameters meet competition requirements. Both configuration files are necessary to start runs.
Trial Configuration#
The trial configuration file defines the competition scenario, including timing, defect rates, required deliverables, and challenges that will occur during the run.
Core Parameters#
Parameter |
Type |
Description |
---|---|---|
|
string |
Unique 8-character alphanumeric identifier for the trial |
|
int |
Random seed for reproducible trial generation (minimum: 0) |
|
number |
Rate of defective cells in the trial (0.0 to 1.0) |
|
int |
Maximum trial duration in seconds (minimum: 100) |
|
int |
Number of kits to be completed (minimum: 0) |
|
int |
Number of modules to be completed (minimum: 0) |
Optional Parameters#
Parameter |
Type |
Description |
---|---|---|
|
array |
List of defect types that can occur (integers ≥ 1, see defect definitions) |
|
array |
Challenge configuration section (see challenges page) |
Note
The defect types included in the current version of ARIAC are only for training purposes. The final competition version of the defects will be modified.
Example#
Here is an example trial configuration file with all main parameters:
# Trial Configuration Example
ID: "LHAF9835"
SEED: 12345
DEFECT_RATE: 0.15
TIME_LIMIT: 900
NUM_KITS: 3
NUM_MODULES: 2
POSSIBLE_DEFECTS: [1, 2, 3, 4, 5]
CHALLENGES:
# Conveyor malfunction example
CONVEYOR_MALFUNCTIONS:
- START_TIME: 120
DURATION: 30
# Voltage tester malfunction example
VOLTAGE_TESTER_MALFUNCTIONS:
- START_TIME: 180
DURATION: 45
TESTER: 1
- START_TIME: 300
DURATION: 25
TESTER: 2
# Vacuum tool malfunction example
VACUUM_TOOL_MALFUNCTIONS:
- TOOL: 1
GRASP_OCCURRENCE: 3
- TOOL: 2
GRASP_OCCURRENCE: 5
# High priority order example
HIGH_PRIORITY_ORDERS:
- START_TIME: 240
ID: "K7R3M8"
- START_TIME: 420
ID: "N2F9X5"
Team Configuration#
The team configuration file specifies team-specific settings including competitor information, conveyor parameters, and sensor configurations.
Core Parameters#
Parameter |
Type |
Description |
---|---|---|
|
string |
Name of the competing team |
|
float |
Speed of the inspection conveyor (\(0 < \text{speed} \leq 0.1\)) |
|
float |
Rate at which cells are fed onto the conveyor (\(\text{rate} \leq 2 \cdot \text{speed}\)) |
|
array |
List of sensor configurations (see sensors page) |
Sensor Configuration#
Each sensor in the SENSORS array requires specific parameters depending on its type. For complete sensor specifications and parameter details, see the sensors page.
Example#
Here is an example team configuration file:
# Team Configuration Example
COMPETITOR_NAME: "example_team"
CONVEYOR_SPEED: 0.1 # m/s
CELL_FEED_RATE: 0.1 # One cell every ten seconds
SENSORS:
# Break beam sensor example
- NAME: "conveyor_break_beam"
TYPE: "break_beam"
POSE:
XYZ: [1.0, 2.0, 0.5]
RPY: [0, 0, 1.57]
UPDATE_RATE: 30
# Distance sensor example
- NAME: "proximity_sensor"
TYPE: "distance"
POSE:
XYZ: [0.5, 1.5, 0.8]
RPY: [0, 0, 0]
UPDATE_RATE: 10
# RGB camera example
- NAME: "inspection_camera"
TYPE: "camera"
POSE:
XYZ: [2.0, 1.0, 1.2]
RPY: [0, 0, 0]
UPDATE_RATE: 30
RESOLUTION: "1080p"
FOV: 1.57
# Lidar sensor example (must be within bounding boxes)
- NAME: "inspection_lidar"
TYPE: "lidar"
POSE:
XYZ: [0.8, 0.825, 0.52] # Within Box A limits
RPY: [0, 0, 0]
UPDATE_RATE: 20
HORIZONTAL:
SAMPLES: 50
MIN_ANGLE: -1.57
MAX_ANGLE: 1.57
VERTICAL:
SAMPLES: 8
MIN_ANGLE: -0.5
MAX_ANGLE: 0.5