Discovering Indoor Environments and Positioning Systems

Maxim Van de Wynckel
Web & Information Systems Engineering Lab
Vrije Universiteit Brussel

About me

Profile Picture
  • Maxim Van de Wynckel
  • E-mail[email protected]
  • Websitehttps://maximvdw.be
  • PositionResearcher at Vrije Universiteit Brussel
  • InterestsIndoor positioning systems, linked data, and interoperability of positioning systems
OpenHPS Logo POSO Logo SemBeacon Logo

Current state of geospatial data

Outdoor data

Service-centric geospatial data

Indoor data

Service-centric geospatial data

Current state of geospatial data

Outdoor data

Service-centric geospatial data

Indoor data

Service-centric geospatial data

Current state of positioning systems

Outdoor

GPS

Indoor

Question

Current state of positioning systems ...

Positioning systems

Global and Local Geospatial Data Discovery

Global Discovery

Find data globally about a particular location

Global discovery

Local Discovery

Find data locally at a particular location

Local discovery

Geospatial-centric data discovery

Discovery of geospatial data through the very locations it represents, rather than predefined services.

Geospacial-centric data discovery

Geospatial-centric data discovery ...

Challenge 1

How to discover data without relying on a discovery service?

Find services in a location

Geospatial-centric data discovery ...

Challenge 2

How to understand the discovered data?

Interface with services in a location

Geospatial-centric data discovery ...

Challenge 2

How to understand the discovered data?

Interface with services in a location

Geospatial-centric data discovery ...

Solution
OpenHPS Logo
License: Apache-2.0
OpenHPS Architecture

For more information, visit the FOSDEM 2022 talk of OpenHPS.

OpenHPS Logo

POSO Logo

@openhps/rdf

  • RDF data model for OpenHPS
  • POSO integration
  • Serialisation and deserialisation
const position = new GeographicalPosition();
console.log(RDFSerializer.serialize(position));
OpenHPS Logo

@openhps/dht

Distributed Hash Table
OpenHPS Logo

POSO Logo

Solid project Logo

@openhps/solid

  • Solid storage and access control
  • Solid as a communication broker
POSO Logo
License: MIT
POSO Example
POSO Logo
POSO Example
POSO Logo
POSO Example
POSO Logo

Basic Usage

dbr:Some_Unversity a ssn:Deployment .
<deployment/building_a> a poso:IndoorDeployment, geosparql:Feature ;
  rdfs:label "Building A"@en ;
  geosparql:hasGeometry [ 
      a geosparql:Geometry ;
      geosparql:asWKT "..."^^geosparql:wktLiteral ] .
  
<system/OPS> a poso:LocationBasedService ;
  rdfs:label "Outdoor campus positioning"@en ;
  ssn:hasSubSystem posoc:GPS ;
  ssn:hasDeployment dbr:Some_University .
<system/IPS> a poso:IndoorPositioningSystem ;
  rdfs:label "Indoor campus positioning"@en ;
  ssn:hasDeployment <deployment/building_a> ;
  ssn:implements posoc:KNNFingerprinting .
<system/CampusPositioning> a poso:IntegratedPositioningSystem ;
  rdfs:label "Hybrid campus positioning system"@en ;
  ssn:hasSubSystem  <system/OPS>, <system/IPS> ;
  ssn:implements posoc:WeightedAccuracyFusion .
POSO Logo

Basic Usage

dbr:Some_Unversity a ssn:Deployment .
<deployment/building_a> a poso:IndoorDeployment, geosparql:Feature ;
  rdfs:label "Building A"@en ;
  geosparql:hasGeometry [ 
      a geosparql:Geometry ;
      geosparql:asWKT "..."^^geosparql:wktLiteral ] .
  
<system/OPS> a poso:LocationBasedService ;
  rdfs:label "Outdoor campus positioning"@en ;
  ssn:hasSubSystem posoc:GPS ;
  ssn:hasDeployment dbr:Some_University .
<system/IPS> a poso:IndoorPositioningSystem ;
  rdfs:label "Indoor campus positioning"@en ;
  ssn:hasDeployment <deployment/building_a> ;
  ssn:implements posoc:KNNFingerprinting .
<system/CampusPositioning> a poso:IntegratedPositioningSystem ;
  rdfs:label "Hybrid campus positioning system"@en ;
  ssn:hasSubSystem  <system/OPS>, <system/IPS> ;
  ssn:implements posoc:WeightedAccuracyFusion .

SemBeacon

License: Apache-2.0
SemBeacon Architecture

SemBeacon

License: Apache-2.0
SemBeacon Architecture

SemBeacon

License: Apache-2.0
SemBeacon Architecture

SemBeacon Namespace and Instance

SemBeacon Bluetooth Specification

BLE 4.X

  • AltBeacon + Eddystone-URL + Flags SemBeacon specification for BLE v4.x

BLE 5.X

  • No scan response SemBeacon specification for BLE v5.x

SemBeacon Bluetooth Specification

Flags

Bit (MSB) Description Example
0 Indicates if the beacon has a position. 0 = Unsure, 1 = Yes
1 Indicates if the beacon requires authentication. 0 = Public, 1 = Private
2 Indicates if the beacon is attached to a moving object. 0 = No, 1 = Yes
3 Indicates if the beacon has a positioning system. 0 = No, 1 = Yes
4 Indicates if the beacon has observable data. 0 = No, 1 = Yes
5 Indicates if the beacon provides actuable properties. 0 = No, 1 = Yes
6 - 7 Reserved for future use.

SemBeacon Bluetooth Specification

Flags ...

Bit Axiom
0 poso:hasPosition min 1 poso:AbsolutePosition
1 N.a.
2 N.a.
3 poso:inDeployment min 1 ssn:Deployment
4 ssn:hasProperty min 1 sosa:ObserableProperty
5 ssn:hasProperty min 1 sosa:ActuatableProperty
6 - 7 Reserved for future use.

SemBeacon Mobile Application

  • Scans and Simulates SemBeacon, iBeacon, AltBeacon and Eddystone
  • Extracts and visualises SemBeacon encoded information

SemBeacon Mobile Application ...

  • ... authentication and authorisation to Solid Pods
  • Enable access control to environment data

SemBeacon Example

:pl9_3 a ssn:Deployment, sosa:FeatureOfInterest, ogc:SpatialObject, schema:Accommodation, seas:Floor;
    rdfs:label "PL9.3"; ogc:sfWithin :pl9;
    schema:hasMap [ a schema:Map;
        schema:mapType "floorPlan";
        schema:image "https://static.observableusercontent.com/files/69f63f0ed4e82a459af0534c2a71756ef75b16a15df7228d96b7560b59e19bfbb0dc8d3753376271183028739c9f5be817bd5bcc4889cdec739eb297ea6afedf?response-content-disposition=attachment%3Bfilename*%3DUTF-8%27%27floorplan_medium%25401.png"; 
        schema:spatialCoverage [ a schema:Place;
            ogc:hasGeometry [ a ogc:Geometry;
                ogc:asWKT "POLYGON Z((4.392680949135989 50.820560314350246 91.99999999906868, 4.392518989118047 50.82049119550264 91.99999999906868, 4.39243849045628 50.82056647750913 92.00000000093132, 4.392322771133238 50.82051709238308 91.99999999906868, 4.3924032699815685 50.82044181037657 91.99999999906868, 4.392241310785677 50.82037269114458 92, 4.391888059447844 50.82070304624146 91.99999999906868, 4.3920500197895525 50.82077216547346 91.99999999813735, 4.392179670282718 50.820650918644354 91.99999999813735, 4.392295389937405 50.820700303770394 92.00000000093132, 4.392165739744715 50.8208215505995 91.99999999906868, 4.3923277009084885 50.82089066944712 91.99999999906868, 4.392680949135989 50.820560314350246 94.99999999906868, 4.392518989118048 50.82049119550264 94.99999999906868, 4.392438490456279 50.82056647750913 95.00000000093132, 4.392322771133238 50.82051709238309 95, 4.392403269981569 50.82044181037658 95.00000000093132, 4.392241310785677 50.82037269114457 94.99999999906868, 4.391888059447844 50.82070304624145 95, 4.392050019789552 50.82077216547345 94.99999999813735, 4.392179670282718 50.82065091864436 94.99999999813735, 4.392295389937405 50.82070030377039 95.00000000093132, 4.392165739744715 50.82082155059949 94.99999999813735, 4.3923277009084885 50.82089066944712 94.99999999906868, 4.392680949135989 50.820560314350246 91.99999999906868))"^^ogc:wktLiteral;
                ogc:coordinateDimension 3; ogc:spatialDimension 3;
                ogc:dimension 3 ];
        ]
    ] ;
    schema:floorLevel "3";
    ogc:hasGeometry [ a ogc:Geometry;
        ogc:asWKT "POLYGON Z((4.392680949135989 50.820560314350246 91.99999999906868, 4.392518989118047 50.82049119550264 91.99999999906868, 4.39243849045628 50.82056647750913 92.00000000093132, 4.392322771133238 50.82051709238308 91.99999999906868, 4.3924032699815685 50.82044181037657 91.99999999906868, 4.392241310785677 50.82037269114458 92, 4.391888059447844 50.82070304624146 91.99999999906868, 4.3920500197895525 50.82077216547346 91.99999999813735, 4.392179670282718 50.820650918644354 91.99999999813735, 4.392295389937405 50.820700303770394 92.00000000093132, 4.392165739744715 50.8208215505995 91.99999999906868, 4.3923277009084885 50.82089066944712 91.99999999906868, 4.392680949135989 50.820560314350246 94.99999999906868, 4.392518989118048 50.82049119550264 94.99999999906868, 4.392438490456279 50.82056647750913 95.00000000093132, 4.392322771133238 50.82051709238309 95, 4.392403269981569 50.82044181037658 95.00000000093132, 4.392241310785677 50.82037269114457 94.99999999906868, 4.391888059447844 50.82070304624145 95, 4.392050019789552 50.82077216547345 94.99999999813735, 4.392179670282718 50.82065091864436 94.99999999813735, 4.392295389937405 50.82070030377039 95.00000000093132, 4.392165739744715 50.82082155059949 94.99999999813735, 4.3923277009084885 50.82089066944712 94.99999999906868, 4.392680949135989 50.820560314350246 91.99999999906868))"^^ogc:wktLiteral;
        ogc:coordinateDimension 3; ogc:spatialDimension 3;
        ogc:dimension 3 ];
    sembeacon:namespaceId "77f340dbac0d20e8aa3af656a29f236c"^^xsd:hexBinary.

Contributing & Roadmap POSO ontology

GitHub

  1. Use cases for the POSO ontology usage https://github.com/OpenHPS/POSO/issues
  2. Examples of POSO to describe positioning systems
  3. Feedback on the current ontology design (1.1)
  4. OpenHPS geospatial mapping to RDF
    https://github.com/OpenHPS/openhps-rdf/tree/master/src/mapping/geospatial

Contributing & Roadmap SemBeacon

GitHub

  1. Mobile application
    https://github.com/SemBeacon/app
    1.1. Examples/implementations of unsupported indoor environment descriptions
    1.2. iOS support (partially implemented)
  2. Arduino library (ESP32_SemBeacon)
    https://github.com/SemBeacon/arduino-esp32
    2.1. No retrieval of (important) data
  3. nRF5x library (WiP)
  4. Specification improvements
    https://github.com/SemBeacon/specification

Demo time!

Discovering Indoor Environments and Positioning Systems

OpenHPS Logo POSO Logo SemBeacon Logo