Wim Hendriksen en Albert Lak zijn werkzaam als lector respectievelijk docent aan de Fontys Hogeschool ICT in Eindhoven. Jan Woolderink is docent aan de Avans Hogeschool in Breda. Een uitgebreide versie van dit artikel is beschikbaar op de website van het Firebee-project.

1 March 2013

Binnen het Firebee-project hebben de hogescholen Avans en Fontys geëxperimenteerd met een veiligheidssysteem dat de positie van brandweerpersoneel binnen gebouwen bepaalt uit de looptijd van radiosignalen tussen Zigbee-nodes. De gebruikte commercieel verkrijgbare hardware haalt een nauwkeurigheid van vier meter. Robuuste algoritmes moeten de gemeten uitschieters zo veel mogelijk detecteren en elimineren.

Tot nu toe bestaat er nog geen systeem waarmee brandweerpersoneel automatisch op afstand is te volgen in een brandend gebouw. De bevelvoerder wordt nu op de hoogte gehouden via de radio en moet dan maar onthouden wat hij heeft gehoord. Met wat eenvoudige elektronische hulpmiddelen moet het toch niet moeilijk zijn om de actuele positie op een tablet te plotten, maar helaas is de praktijk ook hier redelijk weerbarstig. Allereerst zijn de betrouwbaarheidseisen zeer hoog en de omgevingseisen zeer ongunstig. Brandweerinzet is synoniem aan hoge temperaturen en veel water: twee componenten die die niet zo goed samengaan met elektronica. Daarnaast zijn er nog geen standaard track-and-tracesystemen voor in gebouwen, aangezien GPS alleen buiten werkt.

Maar de techniek staat niet stil. Met zelfconfigurerende en zelfherstellende draadloze ad-hocsensornetwerken is het mogelijk geworden om robuuste communicatiekanalen op te bouwen. Daarbij is de time of flight-methode (Tof) om afstanden tussen objecten te berekenen uit looptijden van radiosignalen niet langer alleen beschikbaar in peperdure radarapparatuur maar ook in draadloze netwerken van enkele euro‘s. De benodigde algoritmes om om te gaan met fouten in de afstandsmetingen zijn te vinden in wetenschappelijke publicaties en hardware met voldoende rekenkracht, weinig gewicht en een goed scherm is voor relatief lage prijzen te koop.

Firebee 1a 1b
Figuur 1: De time of flight wordt bepaald in een samenspel tussen de twee nodes A en B.

Binnen het Firebee-project zijn we hiermee het beoogde veiligheidssysteem voor brandweermannen aan het realiseren. In onze opzet dragen zij een persoonlijke Zigbee-node bij zich en plaatsen ze onderweg à la Hans en Grietje lifeline-nodes, waarlangs het netwerk kan communiceren. Alle nodes meten zo veel mogelijk afstanden met andere knooppunten en het systeem berekent daaruit hun relatieve posities. Van minstens drie ankernodes moet de positie ten opzichte van de vaste plattegrond bekend zijn om de kaart- en Zigbee-coördinaten over elkaar te kunnen leggen. De positie van de persoonlijke nodes kunnen we nu weergeven op de tablet van de bevelvoerder.

Deze werkwijze maakt het systeem volledig onafhankelijk van de beschikbare infrastructuur in het brandende gebouw. Wel hebben de brandweermensen extra werk met het plaatsen van de ankernodes en het neerleggen van de lifeline-nodes. Dit nadeel is te verkleinen door in de toekomst ook gebruik te maken van aanwezige Zigbee-functionaliteit in bijvoorbeeld brandmelders en deurschakelaars.

BCe24 save the date

Signaalcorrelator

Elke node in ons Firebee-systeem bestaat uit een 16 MHz microcontroller van NXP-dochter Jennic met een 2,4 GHz radio voor draadloos berichtenverkeer volgens de IEEE 802.15.4- en Zigbee-standaarden. De MCU is voorzien van een deels in hardware en deels in software geïmplementeerde Tof-engine om de afstand tot een andere node te bepalen. Jennic levert een Tof-Api en een demoapplicatie mee.

Voor het uitvoeren van een Tof-meting tussen twee nodes A en B zendt A een pakket naar B, waarna B een bevestiging terugstuurt (de Poll respectievelijk de Ack, zie Figuur 1). A meet vervolgens de tijd tTot tussen het versturen van het pakket en het ontvangen van de bevestiging. B bepaalt ondertussen de tijd tTat tussen het ontvangen van de Poll en het verzenden van de Ack en stuurt deze waarde na afloop van de meting ook naar A. De time of flight tTof volgt dan uit: tTof = (tTot – tTat) / 2. Afwijkingen in de klokfrequentie kunnen een fout veroorzaken. Deze kunnen sterk worden gereduceerd door ook een omgekeerde meting te doen, een Poll van B naar A en een Ack van A naar B, en beide metingen te middelen. Het initiatief hiervoor komt ook vanuit A. De Tof-engine heeft verder de mogelijkheid om meerdere metingen achter elkaar te doen, een burst, zowel in voorwaartse richting als terug.

Firebee 2 3 4
De eerste grafiek (Figuur 2) toont de resultaten van een reeks afstandsmetingen in een ruimte tussen gebouwen bij een aantal afstanden van tien tot zestig meter. De duidelijke afwijking bij veertig meter kan mede ontstaan zijn onder invloed van Wifi-activiteit in deze omgeving. Metingen in een buitengebied ver van de bewoonde wereld vertonen in het tweede grafiekje (Figuur 3) geen uitschieters. Gebruik van een richtantenne bij beide nodes verkleint het effect van storende factoren, zoals het derde grafiekje (Figuur 4) laat zien.

De nauwkeurigheid hangt sterk af van de klokfrequenties waarmee beide nodes de tijdmetingen uitvoeren. Het exacte moment van ontvangst is niet te bepalen, aangezien de microcontroller de binnenkomst van een pakket detecteert bij een opgaande of neergaande flank van het interne kloksignaal. Bij een frequentie van 2 MHz kan deze tijdvertraging al oplopen tot een halve microseconde, wat overeenkomt met een zeer aanzienlijke afstandsfout van honderdvijftig meter.

Om dit te ondervangen, bepaalt het systeem de tijdvertraging aan de hand van een ingebouwde hardwarematige signaalcorrelator met een softwarematige piekdetector. Bij Tof-lokalisatie is het niet ongebruikelijk om signaalcorrectietechnieken toe te passen. In de 802.15.4-standaard wordt elk data-element van vier bits omgezet in een reeks van 32 bits, zodat elke ontvangen boodschap bestaat uit een of meerdere 32-bitreeksen.

De signaalcorrelator detecteert de 32-bitreeks en past autocorrelatie toe met een signaal dat stapsgewijs is vertraagd met een tijd die acht keer kleiner is dan de periode van de klok (1/16 ?s). Dit levert een benadering op voor de waarde van de tijdvertraging, met een maximale fout van 1/16 ?s, wat overeenkomt met een maximale afstandsfout van negentien meter. De positie van de correlatiepiek binnen het tijdsinterval van 1/16 ?s wordt verder geschat door het gebruik van curve fitting (kwadratische regressie) op de outputwaardes van de correlator.

Jennic meldt dat dit uiteindelijk een nauwkeurigheid oplevert van gemiddeld 3,9 m, waarbij negentig procent van de metingen preciezer is dan 9,1 m. Deze resultaten zijn gebaseerd op onbewerkte metingen buitenshuis tot 180 m.

Wifi-invloed

Zigbee deelt de 2,4-GHz-frequentieband met Wifi. Ook de meeste kanalen overlappen. Onderzoek wijst uit dat de werking van Zigbee in een normale Wifi-omgeving gewaarborgd blijft, hoewel enige vertraging gaat ontstaan in de ontvangst van de datapakketten.

Voor de toepassing van Tof kan deze vertraging relevant zijn. Time of flight-meetresultaten in een bebouwde omgeving geven onverklaarbare uitschieters (Figuur 2). Dat Wifi inderdaad van invloed is, blijkt uit metingen in een buitengebied ver van de bewoonde wereld, waar die uitschieters zich niet voordoen (Figuur 3). Gebruik van een richtantenne bij beide nodes verkleint het effect van storende factoren (Figuur 4).

Firebee Figuur 5
Figuur 5: Meetresultaten met multipadeffect. De werkelijke afstand is 13,8 m, maar de nodes zijn, per tien meetseries, telkens radiaal ruim zes centimeter verschoven. De ruitjes betreffen voorwaartse metingen, de vierkantjes metingen in omgekeerde richting. De resultaten 11 tot en met 20 tonen een sterke afwijking en zijn te kwalificeren als uitschieters.

Deze resultaten en vervolgexperimenten met Tof op de verschillende Zigbee-kanalen tonen dat aanwezige Wifi-activiteiten van grote invloed zijn op de onderlinge spreiding van de metingen. Bovendien is het aantal mislukte metingen dan groter. Zelfs op een Wifi-vrij kanaal of in een omgeving met een geringe Wifi-activiteit komen soms uitschieters voor, bij een specifieke positie of bij verplaatsing van de nodes. Andere factoren zijn dus ook belangrijk, zoals de reflectie van vloeren en muren (multipadeffecten, Figuur 5).

Het blijkt wenselijk om een meting te kunnen aanmerken als uitschieter of te kunnen voorzien van een betrouwbaarheidswaarde. Vervolgonderzoek richt zich op de vraag hoe we de betrouwbaarheid van de point-to-pointmeting kunnen bepalen op basis van het concept van Jennic en de onderliggende parameters/meetresultaten.

Bayesiaans

Uit de gemeten afstanden kunnen we nu de posities bepalen. Een eenvoudige manier om dat te doen, is triangulatie. Alle punten met dezelfde afstand tot een node liggen (in 2D) op een cirkel. Als we de afstanden tot drie ankerpunten met bekende positie weten, is het punt het snijpunt van drie cirkels. Dit is het ideale geval, want de afstandsmetingen zijn niet volledig betrouwbaar. Bovendien zal de node van de brandweerman niet altijd de afstanden tot de ankernodes kunnen meten, maar alleen tot tussenliggende lifeline-nodes en daarvan zijn de posities ook niet exact bekend.

Er zijn diverse methodes om dit te ondervangen. Veel daarvan proberen het punt te vinden waarvoor de som van de kwadraten van de verschillen tussen gemeten en berekende afstanden minimaal is. Dan blijft echter nog het probleem dat eenmalige metingen er flink naast kunnen zitten. Het is dus verstandig om ook de resultaten van eerdere metingen en andere observaties mee te nemen. Zo zijn er posities waar de brandweerman op een gegeven moment op grond van de plattegrond of zijn loopsnelheid niet kan zijn. Daarnaast kan hij via de radio informatie geven over zijn positie.

Door Bayesiaanse filtertechnieken te gebruiken, kunnen we hier flexibel mee omgaan. Daarbij representeren we de toestand van het systeem als een aantal getallen, samengebracht in een toestandsvector. In ons geval bevat deze in het begin de positie van de node die de brandweerman met zich meedraagt. Telkens als een lifeline-node actief wordt, wordt de vector uitgebreid met de coördinaten van die node. Over het algemeen is de toestandsvector niet precies bekend, maar zijn de mogelijke waardes te beschrijven met een kansverdeling, waaruit een gemiddelde (de meest waarschijnlijke toestand) en een spreiding worden berekend.

Firebee 6a 6b 6c
Figuur 6a toont de a-prioritoestand bij particle filtering. De blauwe cirkels zijn ankernodes en de rode cirkels plaatsen waar de brandweerman kan zijn, kort nadat hij de meest rechtse ankernode heeft neergelegd. In Figuur 6b stellen de stippellijnen de gemeten afstanden tot de ankerpunten voor. Het oppervlak van de rode cirkels is nu een maat voor het belang van de bijbehorende toestand na deze meting. Figuur 6c toont de toestand na resampling. De spreiding van de punten komt door de beweging van de brandweerman die volgens het dynamische model mogelijk is.

Het filteralgoritme is een continue herhaling van twee stappen. In de voorspellende stap wordt uit de kansverdeling van de voorgaande toestand een nieuwe kansverdeling van de toestand berekend met behulp van een beschrijving van de systeemdynamica in termen van kansen dat het systeem vanuit een vorige toestand in een nieuwe toestand terechtkomt. De systeemdynamica is in ons geval dat de brandweerman kan stilstaan of een beperkte afstand kan afleggen en dat een lifeline-node meestal op zijn plaats blijft, maar niet altijd want er kan iemand tegenaan schoppen of water kan hem wegspoelen. In de tweede stap wordt de voorspelling op grond van een observatie gecorrigeerd.

Een meting zal over het algemeen leiden tot andere schattingen van gemiddelde en spreiding. Bij een goede meting zijn dit verbeteringen, bij een slechte wordt het effect gedempt doordat de a-priorischattingen in de berekening worden meegenomen. Hierbij is de veronderstelling dat het merendeel van de metingen redelijk goed is. De slechte meting die af en toe optreedt, wordt dan automatisch weggefilterd. Het leuke van dit verhaal is dat er geen eis wordt gesteld aan de aard van de observatie, behalve dat de diverse kansen gekwantificeerd kunnen worden.

De Bayesiaanse techniek die wij gebruiken, is particle filtering oftewel de sequentiële Monte Carlo-methode. Deze neemt een grote random steekproef uit de toestandsverdeling op een zeker moment (Figuur 6a). Na een observatie kan aan ieder sample uit de steekproef een gewicht worden toegekend dat het belang van dat sample aangeeft bij de bepaling van het nieuwe gemiddelde en de nieuwe spreiding (Figuur 6b). Bij de volgende voorspelling wordt op grond van deze gewogen steekproef en het dynamische model een nieuwe steekproef genomen waarbij alle gewichten weer gelijk worden, maar meer samples op de meest waarschijnlijke plaatsen terechtkomen (figuur 6c). Door steeds opnieuw te samplen, worden de meest waarschijnlijke toestanden nauwkeurig berekend en is er weinig aandacht voor minder waarschijnlijke situaties.

Uitontwikkelen

Er komen steeds meer goede sensoren beschikbaar, maar de meeste hebben nog onhebbelijkheden die achteraf in software verholpen moeten worden. Ook bij dit project was dat het geval. Met name de complexiteit van de wiskunde bij de op het eerste gezicht niet zo moeilijke locatiebepaling kwam voor ons als een verrassing. Onderschatting van de lange weg van ruwe meetdata naar robuuste informatie komt vaker voor dan menigeen wil toegeven.

Dit jaar gaan we de software verder uitontwikkelen en afregelen. Pas als we daarmee klaar zijn, kan brandweerpersoneel er met een gerust hart op vertrouwen dat de informatie correct is.

Edited by Nieke Roos