/OpenAthenaAndroid

OpenAthena allows common drones to spot precise geodetic locations

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

OpenAthena™ for Android

OpenAthena for Android

An Android port of the OpenAthena project

OpenAthena™ allows consumer and professional drones to spot precise geodetic locations.

🖼️👨‍💻 + 🧮⛰️ = 🎯📍

OpenAthena Drone Camera Terrain Raycast Concept Diagram

OpenAthena Android splash screen demo

OpenAthena™ Android Target Calculation demo using cobb.tif and DJI_0419.JPG, output mode WGS84

OpenAthena Android DJI_0419.JPG target shown in Google Maps satellite view

OpenAthena for Android triggers a waypoint to show in Android Team Awarness Kit at the calculated location

Get it on Google Play

Operation Guide

Obtain a GeoTIFF Digital Elevation Model:

To use this app, you need a GeoTIFF Digital Elevation Model (DEM) file. GeoTIFF files store terrain elevation data for an area on Earth. OpenAthena performs a ray-cast from a drone camera's position and orientation towards the terrain, which can be used to precisely locate any point within a given picture.

To obtain a GeoTIFF file for a certain area, use this link.

Load a GeoTIFF Digital Elevation Model :

Load the DEM file (e.g. cobb.tif) using the "" button. The app will display the size of the file and its latitude and longitude boundaries:

(NOTE: during file selection, the thumbnail image preview for any GeoTIFF ".tif" file will be blank. This is normal.)

OpenAthena™ Android GeoTIFF DEM loading demo using cobb.tif

Calibrate your drone's compass sensor 🧭 and take photos :

It is strongly suggested that you should calibrate the drone's compass sensor for the local environment before taking photos to be used with OpenAthena. Consult your drone's operation manual for this procedure. The image metadata from an un-calibrated drone can be several degrees off from the correct heading. This can result in dramatic target-resolution inaccuracies if the sensor is not calibrated. Always verify a target match location from OpenAthena before use!

E.x.:

OpenAthena Android an example of a bad target resolution due to an un-calibrated magnetometer compass sensor

Select an Image 🖼:

This app is compatible with images taken by select models of DJI, Skydio, Autel, and Parrot aircraft models. The drone's position and its camera's orientation are automatically extracted from the image metadata.

After loading a GeoTIFF DEM, use the "🖼" button to select a drone image containing the necessary metadata:

OpenAthena™ Android Image Selection demo using DJI_0419.JPG

Calculate a target 🧮 🎯:

Press the "🧮" button to calculate the target location on the ground. You can tap the result display box to copy the result text to your clipboard or open the position in Google Maps by clicking the blue hyperlink:

OpenAthena™ Android Target Calculation demo using cobb.tif and DJI_0419.JPG, output mode WGS84

OpenAthena Android DJI_0419.JPG target location text copied to clipboard

OpenAthena Android DJI_0419.JPG target shown in Google Maps satellite view

ATAK Cursor on Target

When the "🧮" button is pressed, OpenAthena will automatically send a multicast packet to udp://239.2.3.1:6969 . Under default settings, this will cause a marker to show up in ATAK at the target location:

OpenAthena for Android triggers a waypoint to show in Android Team Awarness Kit at the calculated location

Change the marker to its appropriate type (friend, suspect, hostile) then send the target to other networked users.

Arbitrary Point Selection

OpenAthena allows users to tap any point in the image to locate it. Tapping on any point in the image will move the marker and calculate the new location. A new Cursor-on-Target message will not be sent to ATAK until the "🧮" button is pressed:

OpenAthena for Android demo of arbitrary point selection for raycast calculation

OpenAthena for Android demo of a cursor on target message calculated for an arbitrary point selected in a drone image

Application Settings (optional) :

OpenAthena for Android supports multiple output modes for target calculation, including:

To change the ouptut mode of OpenAthena for Android, tap the kebab menu icon (three dots) at the top-right corner of the screen and select "Settings":

OpenAthena™ Android Open Settings Activity demo

OpenAthena™ Android 🎯 Output Modes Activity demo WGS84

Select your desired output mode by pressing its button in the list:

OpenAthena™ Android 🎯 Output Modes Activity demo NATO MGRS 10m

Then press the back button or again tap the kebab menu icon (three dots) to return to the "Calculate" screen. Finally, press the "🧮" button to re-calculate the target location according to your chosen output mode:

OpenAthena™ Android Target Calculation demo using cobb.tif and DJI_0419.JPG, output mode NATO MGRS 10m

LIVE Telemetry from DJI-SDK

TBD

Contributing

UI language translation

If you speak another language in addition to English, please consider contributing to the UI translation using the link below. The insights of a native-speaker are the only way to provide a good user experience for the program in a given language:

https://www.transifex.com/krupczakorg/openathena-for-android/

Code

If you're interested in contributing to this project, feel free to make a fork. This project will follow the fork and pull model for third-party contributors