Skip to content

Project Configuration

The project as a whole can be configured using the .env file under the project root. The variables in the .env file get propagated into the docker-compose.yml files.

The top-level env file is reproduced below:

# This is the main .env file for AirStack, which sets docker compose variables for variable interpolation.
# Standard Usage: docker compose --env-file .env up

# See overrides/ for overriding specific variables.
# To override, run docker compose --env-file .env --env-file overrides/<override_file>.env up. Any variables set in 
# the following --env-file will override previous ones.

# Warning: all variables get propagated to all sub-level docker-compose files, so be careful about naming conflicts.

# =============== PROJECT ====================
# This top-level .env file under AirStack/ defines variables that are propagated through docker-compose.yaml
PROJECT_NAME="airstack"
# Auto-generated from git commit hash
DOCKER_IMAGE_TAG="0.14.0"
# Can replace with your docker hub username
PROJECT_DOCKER_REGISTRY="airlab-storage.andrew.cmu.edu:5001/shared"
# ============================================

# ================ SIMULATION =================
DEFAULT_ISAAC_SCENE="omniverse://airlab-storage.andrew.cmu.edu:8443/Projects/AirStack/AFCA/fire_academy_faro_with_sky.scene.usd"
PLAY_SIM_ON_START="true"
# =============================================

# ================= ROBOT =====================
# See robot/docker/docker-compose.yaml for how these variables get propagated in 
# the container's entry command.
ROBOT_LAUNCH_PACKAGE="robot_bringup"
ROBOT_LAUNCH_FILE="robot.launch.xml"

# See robot-base-docker-compose.yaml for how these variables get propagated. 
# We use relative launch path (not file) because these are launch files get included
# from the top level robot launch file, and the include-format requires a path.
AUTONOMY_LAUNCH_PACKAGE="autonomy_bringup"
AUTONOMY_LAUNCH_PATH="launch/autonomy.launch.xml"
# --
INTERFACE_LAUNCH_PACKAGE="interface_bringup"
INTERFACE_LAUNCH_PATH="launch/interface.launch.xml"
# --
SENSORS_LAUNCH_PACKAGE="sensors_bringup"
SENSORS_LAUNCH_PATH="launch/sensors.launch.xml"
# --
PERCEPTION_LAUNCH_PACKAGE="perception_bringup"
PERCEPTION_LAUNCH_PATH="launch/perception.launch.xml"
# --
LOCAL_LAUNCH_PACKAGE="local_bringup"
LOCAL_LAUNCH_PATH="launch/local.launch.xml"
# --
GLOBAL_LAUNCH_PACKAGE="global_bringup"
GLOBAL_LAUNCH_PATH="launch/global.launch.xml"
# --
BEHAVIOR_LAUNCH_PACKAGE="behavior_bringup"
BEHAVIOR_LAUNCH_PATH="launch/behavior.launch.xml"
# ===============================================

# =========== GROUND CONTROL STATION ============
# See ground_control_station/docker/docker-compose.yaml for how these variables 
# get propagated in the container's entry command.
GCS_LAUNCH_PACKAGE="gcs_bringup"
GCS_LAUNCH_FILE="gcs.launch.xml"
# ===============================================