Inspiration

We wanted to inspect why a landing supervisor changes its plan when visual confidence, navigation or the surrounding scene changes. AegisLand explores that process through reproducible synthetic observations, explicit reasons and human-review states. Its goal is a defensible, traceable prototype rather than an unsupported claim of autonomous flight safety.

What it does

OpenCV 5 converts visual observations into motion, texture, confidence and candidate-zone evidence. A deterministic agent combines that evidence with simulated telemetry and safety policy. It can change the next simulated intent, request CLAHE enhancement and another observation, or enter human review. The trace binds observations, reasons and simulated commands. Human control is used where policy requires it; emergency reserve is not described as universally waiting for approval.

Local artifacts include an annotated video, decision trace, dashboard and provenance hashes. A separate post-run cloud path stores evidence in the bounded recorded test through an IAM-authenticated API, Lambda, conditional S3 writes and a verified DynamoDB index. The first live storage verification failed with 503. The corrected run passed 34/34 requests and cloud readback; all nine reconstructed files matched, and test resources plus the exact staging object were cleaned. Cloud responses never change the simulation's safety decisions.

How we built it

We reused a clean, pinned AegisLand core for perception, policy, approval handling and synthetic simulation. The competition repository adds an isolated local entry point, artifact validation and hashes, a versioned evidence protocol, deterministic failure-injection tests and submission tooling. The core safety policy is unchanged.

The tested environment uses Python, OpenCV 5 and NumPy. OpenCV runs the actual image/video workload, including optical flow, motion compensation and enhancement. Boto3/Botocore support the separate evidence backend. The reviewed AWS design has nine resources and one scoped Lambda execution role/inline policy. Tests reproduce the reserved-word expression defect and reject partial writes, malformed acknowledgements and corrupted completion flags. No new infrastructure, IAM expansion or speculative GPU feature was added for the correction.

Challenges we ran into

The most important challenge was avoiding false confidence in a storage result. A real AWS deployment passed, but the first signed packet returned 503 storage_unverified. We stopped and preserved the failed result instead of interpreting a partial S3 object as a completed upload. Teardown completed.

The historical logger retained only ClientError, so it cannot reveal the original service/operation/error code. Offline investigation found a concrete unaliased Sequence condition in DynamoDB and gaps in mocks and type checks. Regression tests cover those cases. A later live bounded run separately passed 34/34 requests, exact cloud readback and 9/9 file reconstruction, followed by cleanup. That success does not retroactively establish the unrecorded cause of the first failure. Other limits include synthetic inputs, heuristic confidence and the distinction between simulated intent and physical flight.

Accomplishments that we're proud of

We demonstrated an inspectable link from OpenCV observations to a later simulated action or tool call, with visible human-review states and no hardware transmission. We preserved source pins, artifact hashes and the failed real-cloud evidence.

Historical/saved results show 215 passed and 1 optional native CUDA integration skipped in the full core suite, plus 121 passed in the competition suite. The frozen source archive remains intact. The corrected real AWS evidence path passed 34/34 bounded HTTP requests (unsigned 1/1, nominal 15/15, duplicate 15/15, negative 3/3), cloud readback and 9/9 byte-matched reconstructed files. The AWS test resources and exact staging object were cleaned. The original first storage failure remains disclosed.

What we learned

A successful deployment is not evidence of successful storage. A partial object is not a complete bundle, and an HTTP response must be checked against an exact acknowledgement contract. Mocks can miss service expression rules, and Python equality can accept the wrong scalar type unless validation is explicit.

We also learned to separate an observable agentic loop from field safety, test counts from mission outcomes, recorded playback from fresh inference, and offline reproductions from a historical AWS error that was never logged in detail. Preserving the original failure is part of reproducibility.

What's next for AegisLand

The bounded AWS verification and cleanup are complete. The immediate submission work is the real team introduction, final under-three-minute video, judge-accessible source/report and an arranged demonstration. The test API was deleted and is not an available public endpoint; no redeployment is needed to present the saved results.

After that, independent evaluation on representative real footage and user workflows would be needed before making operational claims. We are not adding new architecture, models, CUDA kernels or extra cloud services for the deadline. The prototype remains a simulation research system.

Built With

Share this project:

Updates

posted an update —

AegisLand turns OpenCV from a passive perception tool into an auditable decision loop that can reconsider evidence, request another observation, change intent, or escalate to a human when GPS and operating conditions degrade.

Log in or sign up for Devpost to join the conversation.

Submission history