The following pages deal with the Dragonfly Java application. It assumes that the reader already had a basic experience with Dragonfly, by experiencing one of the 3 Dragonfly Demo Applications listed inside the left sidebar.
In order to use the Dragonfly Java application, you have to ensure that some requirements are met:
- 1 – Accuware account
- 2 – Hardware
- 3 – (OPTIONAL) Accuware Dragonfly DEMO kit
1 – Accuware account
In order to run the Dragonfly engine you need a valid set of Accuware credentials (username, password and a Site ID) . To get a new set of credentials and a Site ID, please open a Dragonfly free evaluation site filling the form at this link.
2 – Hardware
In order to run the Dragonfly engine with proper performances, the camera and the computing unit on which the Dragonfly Java Application will run must meet the following specifications.
2.1 – Computing unit
The hardware requirements to properly run the Dragonfly engine are these:
|CPU||when using a MONOCULAR camera||modern 64 bits CPU with at least 2 physical cores (e.g. Intel Core i3 or above)||modern 64 bits CPU with at least 4 physical cores (e.g. AMD Ryzen 3, Intel Core i5-8250U or a generation below if it has 4 cores). WARNING: a processor with 2 cores and 4 threads is NOT considered as a 4 physical cores CPU|
|when using a STEREO camera||modern 64 bits CPU with at least 4 physical cores (e.g. AMD Ryzen 3, Intel Core i5-8250U or a generation below if it has 4 cores). WARNING: a processor with 2 cores and 4 threads is NOT considered as a 4 physical cores CPU|
|RAM||8 GB (for small venues - up to about 10.000 sqm)||16 GB (for big venues - above 10.000 sqm)|
|OS||To run the Dragonfly engine you need Ubuntu 64 bits or macOS. We have tested it successfully on:
-Ubuntu 18.04 (aka Bionic Beaver)
-Ubuntu 16.04 (aka Xenial Xerus)
-macOS 10.13 (aka High Sierra)
Please don’t use Virtual Machines unless you are sure that you will keep a high a level of performances (no CPU emulation).
|Storage||at least 4 GB of free space for the installation of the Dragonfly Java App + the additional space function of the size of the environments mapped|
|GPU||not used at present|
2.2 – Camera
2.2.1 – Monocular or stereo camera?
Here are some recommendations stating when stereo or monocular cameras should be used:
We recommend a monocular camera when:
- the machine running the Dragonfly Java App has a relatively weak computing power (see table above);
- the environment can be mapped in advanced;
- the relocation potential in the venue is high;
- the camera will be pointed upward (to the ceiling). Pointing the camera to the ceiling is a very effective way to do navigation in populated locations. Like shown in this video of Dragonfly used in production on a forklift inside a warehouse.
- the device has to perform pure rotations ONLY on the camera optical axis (a.k.a ROLL rotation). In the monocular case, pure PITCH and YAW rotations must avoided. This is a mathematical limit that affects every pure vSLAM system (not only Dragonfly). It is not possible to triangulate the features seen by the camera if the images of the camera are taken from the same location and different angles. These are the possible options to overcome this limitation:
- Use a wide angle camera – this does not solve the problem but allows to perform much bigger turns before the system gets lost (because the already triangulated features stay longer in sight of the camera).
- Point the camera to the ceiling – this works much better if this camera is wide angle, if the ceiling height is low or of a uniform color.
- Perform turns with a non-zero bending radius (like a car) – because in this case the camera translates while it turns.
- Use a stereoscopic camera.
We recommend a stereoscopic camera when:
- the machine running the Dragonfly Java App has a decent computing power (see table above);
- the navigation is NOT always going to happen in a previously mapped venue;
- the camera can be pointed forward or backward;
- the device has to perform pure rotations on the 3 axis (PITCH, YAW and ROLL rotations). When using a stereoscopic camera, the baseline (i.e. the distance between the 2 cameras) allows Dragonfly to perform the triangulation of the features whatever happens;
2.2.2 – Which monocular or stereo camera?
The camera used to perform the positioning must have:
- Resolution: 640 x 480 at 60 Hz.
- Focal length: constant.
- Auto-focus: limited or disabled.
- Field of view (FOV): from 70 degrees to 180 degrees (wide angles are preferable). A higher FOV allows the position to be more consistent and the device to move faster, but it decreases a little bit the accuracy of the position. That said, in our opinion, the loss in accuracy is negligible compared to the gain in positioning consistency. We would not recommend narrower FOV just with the goal of having an accuracy 1 cm better if it disallow the device to move at a proper speed and if the position is lost every 20 seconds because the camera doesn’t see enough features.
|Interface||USB 2.0||USB 2.0||USB 2.0||USB 3.0|
|Model name||ELP-USBFHD01M-BL180||ELP-USBFHD01M-L180||Fisheye USB Camera with Waterproof case||CaliCam® Fisheye Stereo Camera|
|Recommended Price||48.99 USD||45 USD||189.99 USD||139 USD|
If you have already a monocular or stereo camera please send us the exact model of your camera using this form and we can give you our feedback about that.
You can also use 2 monocular cameras to create a stereo camera. In this case the 2 monocular cameras MUST remain fixed on a rigid body and NEVER move after the calibration process done with our tool.
3 – (OPTIONAL) Accuware Dragonfly Demonstration kit
To facilitate the evaluation of the Dragonfly Java Application, it is possible to purchase from Accuware a ready-to-use demonstration kit including all the required software, hardware, camera and camera calibration file.
Please contact us at at this link to place your order or to ask for more information
An example of the Accuware Dragonfly Demonstration kit with a monocular ELP-USBFHD01M-L180 camera and a mini PC with Ubuntu