FAQ#

Getting Started#

  1. Q: I'm really confused by all the terminology that SIERRA uses — how can I better understand the documentation?

    A: See the Glossary for all terms SIERRA defines specific names for. Reading it before anything else is strongly recommended.

  2. Q: I'm getting an error about the output directory for my simulation run being missing. I told SIERRA where outputs should be created by following Project YAML Configuration.

    A: SIERRA does not create the output directory for a simulation run — that is the responsibility of the Engine and/or Project. SIERRA only reads outputs from the specified location.

Running The Pipeline#

See Running Experiments for common invocation patterns, including running a subset of stages, resuming after a crash, and discarding and regenerating a batch.

Debugging#

See Debugging and Logging for common failure patterns, plugin import diagnostics, and techniques for isolating problems with a minimal batch.

ARGoS-Specific#

  1. Q: How do I prevent SIERRA from stripping ARGoS XML tags for sensors/actuators?

    A: Use --with-robot-leds, --with-robot-rab, or --with-robot-battery. Additional options may be added in the future.

Project & Plugin Design#

  1. Q: I need to apply very precise configuration that is too specific for a Batch Criteria. How can I do this?

    A: Create one or more controller categories/controllers in controllers.yaml. Within each category and controller you can specify arbitrary changes to the --expdef-template (adding, removing, or modifying tags). This is a good way to apply tricky configuration that doesn't fit a batch criteria, or to try "quick and dirty" changes before codifying them as a Python class. See Project YAML Configuration for details.

  2. Q: I have multiple projects that share batch criteria/generators/etc. How can I share code between them?

    A: There are three approaches depending on what you need to share and whether it must be selectable via --batch-criteria. See Creating a New SIERRA Project for a full walkthrough of each option, including a "common project" pattern, a separate Python package approach, and a namespace-lifting technique for --batch-criteria-selectable classes.