diff --git a/aerpaw/client/uav_runner.py b/aerpaw/client/uav_runner.py
index f6a9918..d29ea05 100644
--- a/aerpaw/client/uav_runner.py
+++ b/aerpaw/client/uav_runner.py
@@ -41,22 +41,19 @@ def load_config():
return yaml.safe_load(f)
-def detect_environment():
- """Detect whether we're on the AERPAW testbed or running locally."""
- # Check for AERPAW_ENV environment variable first
+def get_environment():
+ """Get environment from AERPAW_ENV variable. Fails if not set."""
env = os.environ.get('AERPAW_ENV')
- if env in ('local', 'testbed'):
- return env
-
- # Auto-detect based on network (testbed uses 192.168.122.x)
- import subprocess
- try:
- result = subprocess.run(['ip', 'addr'], capture_output=True, text=True, timeout=5)
- if '192.168.122' in result.stdout:
- return 'testbed'
- except Exception:
- pass
- return 'local'
+ if env is None:
+ raise RuntimeError(
+ "AERPAW_ENV environment variable not set. "
+ "Set to 'local' or 'testbed', or use: ./run_uav.sh [local|testbed]"
+ )
+ if env not in ('local', 'testbed'):
+ raise RuntimeError(
+ f"Invalid AERPAW_ENV '{env}'. Must be 'local' or 'testbed'."
+ )
+ return env
def parse_target(message: str):
@@ -74,7 +71,7 @@ class UAVRunner(BasicRunner):
def initialize_args(self, extra_args):
"""Load configuration from YAML config file."""
config = load_config()
- env = detect_environment()
+ env = get_environment()
print(f"[UAV] Environment: {env}")
# Load origin
diff --git a/aerpaw/run_uav.sh b/aerpaw/run_uav.sh
index e263bda..c501282 100755
--- a/aerpaw/run_uav.sh
+++ b/aerpaw/run_uav.sh
@@ -1,11 +1,10 @@
#!/bin/bash
-# run_uav.sh - Auto-detecting wrapper for UAV runner
-# Detects testbed vs local environment and launches with appropriate connection
+# run_uav.sh - Wrapper for UAV runner
+# Launches UAV client with environment-specific configuration
#
# Usage:
-# ./run_uav.sh # Auto-detect and run
-# ./run_uav.sh testbed # Force testbed mode
-# ./run_uav.sh local # Force local mode
+# ./run_uav.sh local # Use local/simulation configuration
+# ./run_uav.sh testbed # Use AERPAW testbed configuration
set -e
@@ -17,30 +16,22 @@ if [ -d "venv" ]; then
source venv/bin/activate
fi
-# Function to check if we're in testbed environment
-check_testbed() {
- ip addr | grep -q "192.168.122"
- return $?
-}
-
-# Determine environment based on argument or auto-detection
+# Determine environment from argument (required)
if [ "$1" = "testbed" ]; then
ENV="testbed"
- echo "[run_uav] Forced testbed mode"
elif [ "$1" = "local" ]; then
ENV="local"
- echo "[run_uav] Forced local mode"
else
- echo "[run_uav] Auto-detecting environment..."
- if check_testbed; then
- ENV="testbed"
- echo "[run_uav] Testbed detected"
- else
- ENV="local"
- echo "[run_uav] Local mode"
- fi
+ echo "Error: Environment not specified."
+ echo "Usage: $0 [local|testbed]"
+ echo ""
+ echo " local - Use local/simulation configuration"
+ echo " testbed - Use AERPAW testbed configuration"
+ exit 1
fi
+echo "[run_uav] Environment: $ENV"
+
# Export environment for Python to use
export AERPAW_ENV="$ENV"
diff --git a/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/gsyStyyOVyV_ZZ2qqV11kkPreoEd.xml b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/gsyStyyOVyV_ZZ2qqV11kkPreoEd.xml
new file mode 100644
index 0000000..99772b4
--- /dev/null
+++ b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/gsyStyyOVyV_ZZ2qqV11kkPreoEd.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/gsyStyyOVyV_ZZ2qqV11kkPreoEp.xml b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/gsyStyyOVyV_ZZ2qqV11kkPreoEp.xml
new file mode 100644
index 0000000..1511dda
--- /dev/null
+++ b/resources/project/4sXto5Q6PQxNCRaZ_E3lobFdDW0/gsyStyyOVyV_ZZ2qqV11kkPreoEp.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/0R7brX1PJM2uI2ZQ6vdPPfKixB0d.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/0R7brX1PJM2uI2ZQ6vdPPfKixB0d.xml
new file mode 100644
index 0000000..99772b4
--- /dev/null
+++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/0R7brX1PJM2uI2ZQ6vdPPfKixB0d.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/0R7brX1PJM2uI2ZQ6vdPPfKixB0p.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/0R7brX1PJM2uI2ZQ6vdPPfKixB0p.xml
new file mode 100644
index 0000000..ce91a3d
--- /dev/null
+++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/0R7brX1PJM2uI2ZQ6vdPPfKixB0p.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cd.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/8r7PXt-CEJX2YvR04X9eMkzrlZQd.xml
similarity index 100%
rename from resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cd.xml
rename to resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/8r7PXt-CEJX2YvR04X9eMkzrlZQd.xml
diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/8r7PXt-CEJX2YvR04X9eMkzrlZQp.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/8r7PXt-CEJX2YvR04X9eMkzrlZQp.xml
new file mode 100644
index 0000000..70ece17
--- /dev/null
+++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/8r7PXt-CEJX2YvR04X9eMkzrlZQp.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/GtnTj1ssSNR3QhZ3AllzXf2GUE0d.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/GtnTj1ssSNR3QhZ3AllzXf2GUE0d.xml
new file mode 100644
index 0000000..4356a6a
--- /dev/null
+++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/GtnTj1ssSNR3QhZ3AllzXf2GUE0d.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/GtnTj1ssSNR3QhZ3AllzXf2GUE0p.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/GtnTj1ssSNR3QhZ3AllzXf2GUE0p.xml
new file mode 100644
index 0000000..69ac313
--- /dev/null
+++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/GtnTj1ssSNR3QhZ3AllzXf2GUE0p.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/o6FVDwp3EHYMTXmqklIOCJkGp0kd.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/o6FVDwp3EHYMTXmqklIOCJkGp0kd.xml
new file mode 100644
index 0000000..4356a6a
--- /dev/null
+++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/o6FVDwp3EHYMTXmqklIOCJkGp0kd.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/o6FVDwp3EHYMTXmqklIOCJkGp0kp.xml b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/o6FVDwp3EHYMTXmqklIOCJkGp0kp.xml
new file mode 100644
index 0000000..0862a04
--- /dev/null
+++ b/resources/project/Gnz6T47dAsmf4YcBHB3EkpeZeYA/o6FVDwp3EHYMTXmqklIOCJkGp0kp.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/OQ0CFX4UZF9ARPKtDq_te57QCLMd.xml b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/OQ0CFX4UZF9ARPKtDq_te57QCLMd.xml
new file mode 100644
index 0000000..4356a6a
--- /dev/null
+++ b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/OQ0CFX4UZF9ARPKtDq_te57QCLMd.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/OQ0CFX4UZF9ARPKtDq_te57QCLMp.xml b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/OQ0CFX4UZF9ARPKtDq_te57QCLMp.xml
new file mode 100644
index 0000000..9399bba
--- /dev/null
+++ b/resources/project/_OVq48gDE3e3rOLnb5h-BM7EFlo/OQ0CFX4UZF9ARPKtDq_te57QCLMp.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/NTqKTk5GXJ50iyVRWNQZdIM_krkd.xml b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/NTqKTk5GXJ50iyVRWNQZdIM_krkd.xml
new file mode 100644
index 0000000..4356a6a
--- /dev/null
+++ b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/NTqKTk5GXJ50iyVRWNQZdIM_krkd.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/NTqKTk5GXJ50iyVRWNQZdIM_krkp.xml b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/NTqKTk5GXJ50iyVRWNQZdIM_krkp.xml
new file mode 100644
index 0000000..d586f30
--- /dev/null
+++ b/resources/project/qaw0eS1zuuY1ar9TdPn1GMfrjbQ/NTqKTk5GXJ50iyVRWNQZdIM_krkp.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cp.xml b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cp.xml
deleted file mode 100644
index 03568fb..0000000
--- a/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/LK7oJyAsjG7L54MEiqw4vyI1c5cp.xml
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
\ No newline at end of file
diff --git a/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/cI5_6UThNoj4X6TsI4A5hBM9jVod.xml b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/cI5_6UThNoj4X6TsI4A5hBM9jVod.xml
new file mode 100644
index 0000000..4356a6a
--- /dev/null
+++ b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/cI5_6UThNoj4X6TsI4A5hBM9jVod.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/cI5_6UThNoj4X6TsI4A5hBM9jVop.xml b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/cI5_6UThNoj4X6TsI4A5hBM9jVop.xml
new file mode 100644
index 0000000..7db0f9e
--- /dev/null
+++ b/resources/project/vmVRNnXTZxyEiUtNp09z8POG4ww/cI5_6UThNoj4X6TsI4A5hBM9jVop.xml
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file