Dragonfly – Java App – Introduction

The Dragonfly Java Application allows the Dragonfly engine to be run on PC (or any other hardware with some specific requirements). The gain in computing power compared to smartphone increases the performances of the localization algorithm a lot, and enables the Dragonfly engine to work at its full potential.

In addition, the Dragonfly Java Application:

implements several monitoring features.

is highly configurable.

has a versatile architecture which allows it to be configured in many different ways.

can display the location as WGS-84 coordinates (latitude, longitude and altitude) when 3 or more visual (or virtual) markers are setup.

System architecture

The architecture of Dragonfly can be split into 3 components:

the USB/built-in/network camera – sends the video stream to the Dragonfly Java Application.

the Dragonfly Java Application – receives the video stream and computes the location.

the Dragonfly Web UI – monitors and configures the Dragonfly Java Application. It can also be used to control external systems.

Communication between the Dragonfly components

The 3 components above are designed such that they can communicate through IP network communications. It is, of course, possible to run everything locally using built-in webcams or USB cameras, but, by design, it is also entirely possible to have a distributed architecture. These are some examples of architectures:

Autonomous

Built-in/USB camera directly connected to a Linux/macOS based or Android based architecture that runs the Dragonfly engine.

PROS: ​low latency and very stable video stream.

CONS (on Android only): the power of an ARM/ARM64 based processing unit could be limited compared to a X86/x64 based processing unit (and thus the results).

Semi-autonomous

Network camera that makes available its H.264 or MJPEG stream using a WiFi local network to a Linux or macOS based architecture that runs the Dragonfly engine.

PRO: the device equipped with the camera does NOT need a processing unit with specific requirements.

CONS: it must be ensured the robustness of the local WiFi network used to send the stream from the camera to the processing unit.