mirror of
https://github.com/azaion/gps-denied-onboard.git
synced 2026-04-22 09:16:38 +00:00
Revise skills documentation to incorporate updated directory structure and terminology. Replace references to integration tests with blackbox tests in SKILL.md files and templates. Adjust paths in planning and deployment documentation to align with the new _docs/02_document/ structure, ensuring consistency and clarity throughout the documentation.
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
# Resource Limit Tests
|
||||
|
||||
### NFT-RES-LIM-01: Memory Usage Under 8GB
|
||||
|
||||
**Summary**: Validate system memory usage stays below 8GB shared memory (CPU + GPU) during sustained operation.
|
||||
**Traces to**: AC-08 (memory < 8GB), RESTRICT-09 (8GB shared LPDDR5)
|
||||
|
||||
**Preconditions**:
|
||||
- System running on Jetson Orin Nano Super (8GB shared memory)
|
||||
- Full pipeline active: cuVSLAM + satellite matching + ESKF + GPS_INPUT + FastAPI
|
||||
|
||||
**Monitoring**:
|
||||
- Total system memory (RSS + GPU allocated) via `tegrastats` or `/sys/devices/platform/host1x/*/memory`
|
||||
- Poll every 5s via GET /health (memory_mb field)
|
||||
|
||||
**Duration**: 30 minutes
|
||||
**Pass criteria**: Peak memory < 8192MB; no memory leak (growth < 50MB over 30 minutes after first 2 minutes warm-up)
|
||||
|
||||
---
|
||||
|
||||
### NFT-RES-LIM-02: GPU Thermal Envelope
|
||||
|
||||
**Summary**: Validate SoC junction temperature stays below 80°C under sustained processing load.
|
||||
**Traces to**: AC-08 (thermal), RESTRICT-10 (25W TDP, thermal throttling at 80°C)
|
||||
|
||||
**Preconditions**:
|
||||
- System running on Jetson Orin Nano Super with active cooling
|
||||
- Full pipeline active
|
||||
|
||||
**Monitoring**:
|
||||
- SoC junction temperature via `tegrastats` or `/sys/devices/virtual/thermal/thermal_zone*/temp`
|
||||
- Poll every 10s via GET /health (gpu_temp_c field)
|
||||
|
||||
**Duration**: 30 minutes
|
||||
**Pass criteria**: SoC junction temperature < 80°C throughout; no thermal throttling events
|
||||
|
||||
---
|
||||
|
||||
### NFT-RES-LIM-03: Satellite Tile Storage
|
||||
|
||||
**Summary**: Validate pre-loaded satellite tile storage stays within calculated budget for a test mission area.
|
||||
**Traces to**: AC-19 (satellite imagery pre-loaded), RESTRICT-08 (onboard storage limited)
|
||||
|
||||
**Preconditions**:
|
||||
- Satellite tiles pre-processed for the test flight area (48.249-48.276°N, 37.340-37.386°E)
|
||||
- Zoom 18 primary + zoom 19 for ±500m along flight path
|
||||
|
||||
**Monitoring**:
|
||||
- Total tile storage size on disk
|
||||
- RAM usage for preloaded tiles (±2km buffer)
|
||||
|
||||
**Duration**: Static check
|
||||
**Pass criteria**: Total tile storage ≤ 1000MB on disk; RAM usage for preloaded tiles ≤ 200MB
|
||||
|
||||
---
|
||||
|
||||
### NFT-RES-LIM-04: Long Flight Simulation (3000 Frames)
|
||||
|
||||
**Summary**: Validate the system handles a maximum-length flight of 3000 frames without resource exhaustion.
|
||||
**Traces to**: RESTRICT-04 (up to 3000 photos per flight)
|
||||
|
||||
**Preconditions**:
|
||||
- System running on Jetson (or Docker with CPU-mode for functional test)
|
||||
- Camera-replay looping flight-sequence-60 to generate 3000 frames (50 loops)
|
||||
|
||||
**Monitoring**:
|
||||
- Memory usage every 60s
|
||||
- GPS_INPUT rate every 60s
|
||||
- Position accuracy sampled every 100 frames
|
||||
|
||||
**Duration**: ~71 minutes (3000 frames at 0.7fps)
|
||||
**Pass criteria**: Memory stays < 8GB; GPS_INPUT rate stays 5-10Hz; no crash or hang over full 3000-frame sequence
|
||||
|
||||
---
|
||||
|
||||
### NFT-RES-LIM-05: CUDA Stream Isolation
|
||||
|
||||
**Summary**: Validate that Stream B (satellite matching) does not block Stream A (cuVSLAM) under concurrent load.
|
||||
**Traces to**: AC-07 (< 400ms per frame), solution CUDA stream pipelining
|
||||
|
||||
**Preconditions**:
|
||||
- System running on Jetson Orin Nano Super
|
||||
- Satellite matching triggered on a keyframe while VO is processing the next frame
|
||||
|
||||
**Monitoring**:
|
||||
- VO frame-to-frame timing during satellite matching
|
||||
- Satellite matching does not extend VO latency
|
||||
|
||||
**Duration**: 30s (capture ~5 satellite matching events concurrent with VO)
|
||||
**Pass criteria**: VO per-frame time ≤ 20ms even when satellite matching is running concurrently; no frame drops
|
||||
Reference in New Issue
Block a user