-

iBeacons kunnen niet gebruikt worden voor exacte plaatsbepaling

Wat doe je als je als creatief technologisch bureau meer wil leren over een nieuwe technologische ontwikkeling? Je organiseert een hackathon. Onlangs deed het Amsterdamse Aliens Are Among Us precies dat, om zo meer te leren over Apples iBeacons.

iBeacons zijn een soort minivuurtorens die een app helpen zich te positioneren, bijvoorbeeld op de winkelvloer. Door gebruik te maken van het unieke identificatienummer (de zogenaamde UUID) kan de app zijn positie bepalen. De iBeacon kent vier ‘toestanden’: dichtbij (binnen een halve meter), in de buurt (een aantal meters), ver (tussen een aantal meters en ongeveer 30 meter), en onbekend (dichtbij genoeg om een signaal op te pikken, maar niet in staat om een overtuigende meting te doen).

iBeacon is gebaseerd op Bluetooth Low Energy (BLE), dat al wordt gebruikt sinds de iPhone 4S en iPad3, evenals op sommige Android apparaten (Android 4.3 en later). Bedrijven zoals Estimote bieden reeds een hybride oplossing die zowel iBeacon als aangepaste implementaties draaiend op BLE ondersteunt.

Zoals  gezegd, de afstand tot de iBeacon wordt op drie manieren vastgesteld, maar het is ook mogelijk om op basis van ruwe metingen de afstand in te schatten. Aliens Are Among Us bedacht dat ze met drie van deze metingen de positie van een gebruiker konden bepalen door middel van trilateratie (in wezen wat GPS doet). Het idee voor een hackathon was geboren, tijd om de handen uit de mouwen te steken en aan de slag te gaan.

Het opzetten van de iBeacon Hackathon
Om te beginnen werd er op een deel van de kantoorvloer een raster gemaakt met touw en tape. Vervolgens werden iPads in drie van de vier hoeken geplaatst, waarop een zelf gebouwde app was geïnstalleerd waarmee een iBeacon kon worden gesimuleerd. Nadat de exacte positie ten opzichte van het raster vastgesteld was, kon worden begonnen aan de front- en back-end implementatie.

Pic 1

Het idee is simpel: de app detecteert iBeacons, meet de signaalsterkte en stuurt deze informatie door naar de back-end. De back-end gebruikt op haar beurt deze waarden om de positie van de gebruiker binnen het raster te berekenen. Om alles te visualiseren, bouwden we een simpele webpagina die de back-end gegevens kan opvragen en de positie van elke gebruiker weergeeft.

Leugens! Vervloekte leugens en signaal sterkte…
Het werd al snel duidelijk dat de BLE signaalsterkte is zeer grillig is. Althans op de schaal waarop het experiment plaatsvond (een oppervlakte van ongeveer 7 × 7 meter) sprongen de metingen van links naar rechts en boven naar beneden, kortom precies zoals de wetten van fysica dit voorschrijven in de elektromagnetische soep die Aliens Are Among Us hun kantoor noemen.

De hoop was dat Apple zoals gewoonlijk een positieve magische uitwerking zou hebben, maar helaas. Onthoud echter, het ligt niet aan jouw lukrake implementatie of jouw fout. Dit wetende was de overtuiging dat de magie zou moeten zitten in de back-end in termen van het effenen van de metingen. Eerst moest de positionering in het algemeen bekeken worden. Trilateratie is je positie bepalen wanneer je de afstand weet vanaf jezelf tot drie punten, zoals te zien in deze afbeelding.

Pic 2

Weten hoever je van een punt verwijderd bent, betekent dat je overal binnen een cirkel rond dit punt kunt zijn. Voeg nog een punt toe en je moet ergens op de snijpunten van deze twee cirkels zitten. Een derde punt is nodig om een kruispunt te creëren, en dus de definitieve positie. Combineer dit met onnauwkeurige metingen en je moet een aantal handige formules aan het werk zetten om tot een zinnig resultaat te komen. In de waanzin om dit werkend te krijgen werd besloten de back-end aan te sluiten op de Mathematica toolset die deze calculatie kan uitvoeren als handige one-liner. Uiteindelijk werd besloten Mathematica niet te gebruiken omdat de koppeling met de toolset lastiger bleek dan was gehoopt. In plaats daarvan werd gefocust op het zelf uitvoeren van de berekening.

Het werkt fantastisch… als je een astronaut bent
Als je echter op dezelfde planeet woont als wij met vervelende collega’s, muren, planten, meubels en allerlei storende apparatuur, doen iBeacons niet wat ze beloven op de doos. Het is niet de ontbrekende schakel in indoor positionering met een nauwkeurigheid kleiner dan vijf centimeter, maar kan je wel een globaal idee geven of je dichtbij, in de buurt of ver weg bent in een real-life situatie. Toepasbaar voor geofencing van grote ruimtes.

Interactieve beacons
In de toekomst zullen we vele vormen van de iBeacon gaan zien: de ‘vanilla’ iBeacons van Apple, de hybride types zoals de Estimote en veel andere bedrijven zullen ongetwijfeld volgen. Deze werken allemaal op het ‘passieve’ principe, wat betekent dat ze alleen hun UUID uitzenden en verder niets doen.

Het lijkt erop dat we nog maar net begonnen zijn te ontdekken wat er mogelijk is met deze nieuwe set technologieën. Het feit dat Apple haar schouders er onder zet is een duidelijk teken dat de wereld eindelijk klaar is om deze technologie praktisch en op grote schaal in te gaan zetten.

Deel dit bericht

5 Reacties

van Deurzen

Wat een blaat weer…. Jammer hoor. Ik quote de doos van de Estimotes (ook al is het niet het beste Engels): “…is the antenna that broadcasts the signal up to 230 feet (70m) but physical phenomenon like diffraction or absorption by obstacles can reduce the range.”

Dus in tegenstelling tot wat de titel suggereert doet de beacon exact wat er op het doosje staat!

Ivo Jansch

‘Aliens Are Among Us bedacht dat ze met drie van deze metingen de positie van een gebruiker konden bepalen door middel van trilateratie (in wezen wat GPS doet).’

Beetje jammer dat op basis van deze (foute) aanname het artikel wordt geschreven, waarbij iBeacons hun belofte niet zouden inlossen.

iBeacons zijn gebaseerd op een radiosignaal dat last heeft van interferentie, weerkaatsing en nog een hele andere set factoren. Apple geeft in zijn documentatie zelf aan dat je een iBeacon distance niet mag gebruiken om een afstand te bepalen. Je kunt het alleen gebruiken om van 2 beacons te bepalen welke de dichtsbijzijnde is.

Vanwege de onnauwkeurige plaatsbepaling per beacon (in feite krijg je met een bepaalde onzekerheid een plaats die in een behoorlijke bandbreedte ligt) kun je dus met 3 beacons geen triangulation doen. Om nauwkeurig met ibeacons je plaats te bepalen heb je er veel meer nodig (10-15 per ruimte?), zodat je kunt uitmiddelen, en zelfs dan is het niet nauwkeurig.

Dit is echter een bekend aspect van het iBeacon protocol. Ik zou dus willen stellen dat er dus weinig sprake is van het niet inwisselen van beloftes maar eerder van een verkeerde interpretatie van wat je met iBeacons kan.

Egbert van Keulen

Dank voor deze feedback. De kop van dit artikel is aangepast naar een beter passende titel.

Namens Emerce,

Egbert van Keulen

Egbert van Keulen

Heren,

Zie onderstaand de reactie van aliens are among us (aangezien ze om onverklaarbare reden geen reactie kunnen plaatsen doe ik het onder mijn inlog).

De reactie van aliens are among us:

Dank voor jullie feedback. We hebben bewust geen estimotes gebruikt omdat de TXPower op -12db is ingesteld, om levensduur te verlengen, en daardoor beperkt is tot 70m.

De range van BLE ligt tussen -30db en +4db. Op +4db zou het theoretisch mogelijk moeten zijn om een afstand in inches (+/-26) te meten.

Er werd veel door ons netwerk over gespeculeerd wat de mogelijkheden zouden kunnen zijn, om ze een kader te geven waarin ze verder kunnen brainstormen hebben we die theoretische aannames getoetst met de resultaten in het artikel.

Concreet, jullie hebben allebei gelijk, echter niet iedereen is bekend met de specificaties van een estimote of BLE.

Dank, Bart.

van Deurzen

@Bart: dan blijft je artikel nog steeds hoogst speculatief en zou je je verhaal moeten schrijven naar wat de specificaties van beacons daadwerkelijk zijn. Niet een niet juiste aanname van het gebruik van beacons bevestigen… Dat is het beetje hetzelfde als bewijzen dat als je naar een vliegtuig in de lucht kijkt (met je ogen) je ook niet precies kan zien waar ie vliegt…

Plaats een reactie

Uw e-mailadres wordt niet op de site getoond