OpenFLAME
OpenFLAME is a global-scale federated and widely-distributed mapping and localization service. FLAME stands for Federated Localization and Mapping Engine. Here, we provide the documentation and links to some tools built for OpenFLAME. For more details about the motivation behind the project, its architecture and workings, see the paper.
Repositories
All the repositories related to OpenFLAME is in the openflam Github organization. Some important repositories are:
-
dns-spatial-discovery: The npm and Python library implementing the main OpenFLAME architecture. It includes DNS-based discovery of map servers, device localization with the map servers, and tracking localization confidence scores against local device sensors (VIO).
-
spatial-server: A reference implementation of the map server that works with OpenFLAME. The map server implements a visual positioning system (VPS) using 2-D images. We use neural-network based feature extractor and matcher. See documentation on how to use the map server.
-
geo-domain-explorer: Code for the geo-domain-explorer tool. See documentation for how to use the tool.
-
waypoint-tagger: Code for the waypoint-tagger tool. See documentation for how to use the tool.
Design
The above figure shows the architecture of OpenFLAME and the steps involved in an OpenFLAME query. OpenFLAME is implemented as an open source npm package. The package code is available on Github.
See the paper for full details on OpenFLAME, its architecture, use cases and philosophy.
Tools
VPS Map server
VPS map server is a reference implementation that provides the Visual Positioning Service (VPS) using neural-network based feature extractor and matcher. The server provide both map creation and localization endpoints. We also provide an augmented reality application that displays the tagged waypoints against the real-world using the VPS. See Map Server section for documentation on how to create and localize against maps.
Geo-domain Explorer
Geo-domain Explorer tool visualizes the geo-domains that are queried by a OpenFLAME device for a given location and confidence radius. It also automates the creation of DNS records needed to register a map server to make it discoverable by OpenFLAME. See Geo-domain explorer section for documentation.
Waypoint Tagger
Waypoint Tagger tool helps map creators visualize their 3D map and tag waypoints on it. The creators can also export their waypoints to be used with the map server. See Waypoint Tagger section for documentation.