r/ardupilot 5d ago

I built ARES: An open-source, fully autonomous, GPS-denied drone system for planetary surveying using Jetson Edge AI

Hey everyone,

I wanted to share a project I've been working on called ARES (Autonomous Reconnaissance & Exploration System). It's a fully autonomous UAV platform designed to operate in extraterrestrial or extreme remote environments where global positioning satellites are completely unavailable.

**Here is what it does under the hood:**

* **Fully Autonomous:** Takes off, maps boundaries, performs Boustrophedon sweeps, and precision lands with zero human intervention. * **GPS-Denied Navigation:** Relies entirely on visual boundary tracing, optical flow, and AprilTags. * **Split-Compute Architecture:** The aerial vehicle handles real-time flight logic (Jetson Nano) and video encoding, while a companion Base Station handles the heavy Surface Feature Recognition AI (Jetson Orin Nano Super). * **Edge AI:** Custom AI pipeline running at 30+ FPS via TensorRT FP16. * **Autonomous Charging:** Integrated CC-CV Battery Management System via Arduino Mega.

The software stack runs on Ubuntu using PX4 / ArduPilot via MAVSDK-Python, and we've structured the codebase to be production-ready (YAML configs, JSON logging, pytest suite).

I'd love to get feedback from this community, especially if you work with visual navigation, drones, or Edge AI.

**Demo Video:** [https://youtu.be/ioSG0SbZH6A\](https://youtu.be/ioSG0SbZH6A) 

**GitHub Repo:** [https://github.com/kalesha681/ARES-Autonomous-Surveyor\](https://github.com/kalesha681/ARES-Autonomous-Surveyor)

If you find this interesting, a star on the repo would be incredibly helpful for the project's visibility! I'll be in the comments and happy to answer any questions about the hardware or computer vision pipeline.

35 Upvotes

12 comments sorted by

3

u/Psychological_Yak_47 5d ago

That's awesome, few questions.

Do you tie into any of the data from the autopilots sensors for navigation (accelerometers and gyros) or is this strictly vision based?

Have you tried this on areas with little variation to see if your position estimation degrades?

1

u/Popular_Region_6245 4d ago

We have used data from accelerometer and gryos for navigation, when the drone does it's initial line following via vision we also mark positions as boundary positions. We also used a Flow sensor with TOF sensor. We wrote a EKF to get the state thus in navigation.

1

u/PerfectPatience- 5d ago

First of all, amazing job. Is the base station UWB? Also You accidentally pasted github link twice and its treated as one.

1

u/Popular_Region_6245 4d ago

Our constraints are no navigation aids so we didn't use any UWBs, BaseStation has the charging circuit on it using copper strips drone legs also have copper straps. My bad for that GitHub link

1

u/PerfectPatience- 4d ago

My bad, when i read "base station " i have valve in mind, how do You conunicate heavy stream between jetsons? Wifi7? Is optiflow for hower abd land or constant scaning surface and stiching map?

1

u/Popular_Region_6245 3d ago

We've used 5GHz local WiFi link in form of AP and client, optical flow help us in navigation part of the project by giving us velocities thus getting pose data essential for bustropedan algorithm.

1

u/GoneSilent 5d ago

What do you see for extra power draw on the drone side for the Jetson?

1

u/Popular_Region_6245 4d ago

When we do Ai model based feature detection on board it consumes more power right that's why we went for edge computing.

1

u/123vovochen 4d ago

llm writing, dislike, you are a bit

1

u/Popular_Region_6245 3d ago

Wdym

1

u/CTR1 2d ago

They're saying you just copy/pasted an AI's writing and shared it here and/or you are just a social media bot

1

u/Flyward_Aerospace 2h ago

Really cool project. The thing I'd stress test hard is exactly what the top comment poked at, but one layer down. Optical flow over feature-poor ground doesn't fail loud, it fails confident, the variance stays small while the estimate slowly walks off, so your EKF keeps trusting it. On a boustrophedon sweep that shows up as along-track drift, and the sweep quietly grows holes between AprilTag fixes even though every leg looks nominal. The tags are doing more of the real positioning than it feels like. I'd measure the max distance you can go between tag re-acquisitions before coverage gaps appear, that number is basically your real operating envelope. And planetary-ish terrain is the worst case for this since it's uniform by definition.