The Dragonfly Demo Web Application has been built to:
- help you assess the extent to which Accuware Dragonfly Technology meets your needs for very accurate positioning in locations where GPS is not available, not reliable or not enough.
- perform the calibration of the monocular camera used in production by the Dragonfly Java App.
1 – Requirements
The following are the prerequisites that MUST be met by the PC to run the Dragonfly Demo Web App:
- supported browsers and OS: latest Chrome, Safari and Firefox browsers under Windows, Linux, macOS.
- a valid Internet connection that will be used to upload the video stream in real-time to the Accuware server.
- accessible domain: dragonfly-demo.accuware.com – this is the address where the Accuware Dragonfly Demo App sends the video stream.
- ports (outbound): 443/tcp (HTTPS).
- minimum bandwidth of 0.5 Mbps. It is preferable to be connected to a 5 GHz WiFi network or to use a good LTE connection when available. 2.4 GHz WiFi is indeed known for providing a variable connection speed due to network saturation, which can lead to frame drops and thus, a positioning experience.
- a camera (built-in or USB external)
2 – The Dragonfly Demo Web App
- Open the Dragonfly Demo Web App at this link.
- Once inside the page your will be presented with the calibration page with the option to:
- switch to the POSITIONING MODE.
- Start the calibration of the camera – the first thing to be done (explained clearly in the next paragraph).
- show the instructions – a brief summary of the instructions contained in the support page you are reading.
- change the HDIST value (explained in the next paragraph).
- change the Video Resolution of the video input of your camera.
2.2 – Calibration of the camera
The camera calibration is a one-time process. To perform the calibration you need a calibration pattern that you can download here:
- Open it on the screen of your PC or print it out on an A4 or Letter paper and place it on a plain table/desk or stick the calibration pattern on a cardboard cover. Do not perform the calibration with wobbly paper in your hand. Those results are unusable.
- Measure the distance in millimeters (NO inches no centimeters!) of the HDIST line visible inside the calibration pattern.
- Configure the distance just measured inside the field HDIST.
- Select the Video Resolution of your camera from the drop down menu.
- Start the calibration by clicking on START.
- The browser will ask you for your permissions to use the camera. Of course, you have to allow the camera usage, otherwise the Web App won’t work.
- The Web App will immediately establish a connection to the media server.
- The server presents you a pulsating color pattern overlay, surrounded by a black frame with a positioning indicator in the top-left corner.
- If you hold your calibration pattern plate into the camera, you should see the black dots being connected by colored lines.
- Your challenge is now to match the pattern displayed on the screen with your calibration pattern plate. Whenever you come close to the expected pose, the green gauge at the bottom becomes smaller, until it disappears at all. Then a snapshot is made automatically.
- It doesn’t matter whether you move the camera over the calibration pattern or the calibration pattern in front of the camera.
- The server will present at least 21 poses, which all need to be matched. TIP: if it helps you to coordinate your movements, you can have the image displayed mirrored by clicking on the button Mirrored View below the video stream.
- After you have finally made it, the server automatically start the computation of the calibration parameters of your camera and will be notified once this process is finished. The JSON calibration file of your camera is stored on your PC and ready to:
- be downloaded and used by the Dragonfly Java App.
- be used in Positioning Mode.
- You can now press on the STOP button.
2.3 – Test the positioning
The Positioning Mode consists of the two sub processes: Mapping and Localization (sometimes also called Navigation). i.e. exactly what the term SLAM means – simultaneous localization and mapping:
- With mapping, a mathematical 3D model of the spatial conditions detected by the camera is first created in real-time and continuously adapted.
- The parallel location/navigation process uses the mapped results and transforms the position of the viewer (your camera) into un-dimensioned raw XYZ coordinates.
Enter the Positioning Mode, select the camera and click on Start.
- The Positioning Mode starts with the usage of the last calibration result.
- At start, the system state is MAP INIT. A slow translation motion (to the left or to the right) of the camera is required in order to initialize the system (try to do a translation and NOT a rotation!). The warm up does not take more than 3-4 seconds. We recommend to perform the initialization in a scene in which as many small objects as possible.
- Once done the system state is NAVIGATION. At this point blue marks attached to recognized features are shown inside the camera preview.
- At the same time, a plot is displayed and the real-time location of your camera is shown as a drone in the center of the plot!
- Use your mouse to zoom and rotate the plot if needed or to change the perspective on the scene.
- The drone may already have a RED thread behind it. This RED thread is your track. While you are roaming, your position is tracked and the path is drawn in RED. Once again, please note that the displayed positions have no real spatial reference in the sense of our usual coordinate systems. However, you should already draw a clear and repeatable red track after some back and forth.
- The flying drone is also reflecting the attitude of your device (pitch, roll and yaw).
- The color of the drone’s light changes depending on the status of the positioning mode:
- GREEN – the Dragonfly engine can compute your location.
- BLUE – the Dragonfly engine can NOT compute your location. In this situation, your device should also express a corresponding audible disappointment (“LOST”) and at the same time, all previously displayed blue feature marks should disappear. You can only correct this situation by slowly moving back to the position where you were last in the “NAVIGATION” state. Sometimes only a map reset helps to get back on track.
Inside the page you can find these buttons:
- STOP – stop the computation of your location.
- Mirrored view – to mirror horizontally the image.
- Reset Map – to reset the map computed by the Dragonfly engine.
- Hide Plot – to hide or show the plot with your location.
Inside the info area of the page you can find these information:
- The position using absolute values.
- The attitude as pitch, yaw and roll.
The display of your position on the plot is done with the help of WebGL. Not every device offers a corresponding support. In case of a problem you will be informed. The small blue window in the lower left corner of the camera view shows you how powerful your device is in relation to WebGL. Displays of more than 30 fps are perfectly sufficient to allow a smooth position display.