Ik zal u niet verder vermoeien met het doel en de aard van de onderzoeken. Want toen ik naar huis liep, dacht ik na over de opkomst van het internet van dingen, of in goed Engels: Internet of Things (IoT). Een hedendaagse definitie van het internet der dingen is: Een voorgestelde ontwikkeling van het internet, waarbij alledaagse voorwerpen zijn verbonden met het netwerk en gegevens kunnen uitwisselen. Kortweg: apparaten die gegevens kunnen uitwisselen via het internet. Veel van de gegevens zullen afkomstig zijn van sensoren. Kleine meetapparaatjes die bijvoorbeeld de temperatuur van uw huiskamer meten om zo de thermostaat van de verwarming te regelen. Of een windmeter zodat uw zonnescherm omhoog kan gaan bij storm. Of misschien wel een sensor die de inhoud van uw koelkast leest. Of welke soort was er in de wasmachine is gestopt. Naast deze huis-tuin-en-keuken-voorbeelden zijn er talrijke sensoren in de openbare ruimte: verkeerstellers, snelheidsmeters, mistdetectoren. Of in uw auto. Zelfrijdende auto's kunnen niet rijden zonder sensoren. De toekomstvisie is dat steeds meer apparaten sensoren zullen krijgen en dat deze apparaten met al deze meetgegevens zelfstandig kunnen gaan werken en beslissen. En dat ze die gegevens gaan uitwisselen met andere apparaten of toepassingen. Bijvoorbeeld dat uw koelkast zelf zijn voorraad bijhoudt en ontbrekende levensmiddelen automatisch besteld.

Al deze sensoren zullen hun gegevens met elkaar uitwisselen op het Internet of Things. En terwijl ik zo liep, dacht ik: als ze bij de TU Delft zo uitgebreid, zorgvuldig en met veel moeite meten, zal dat dan later ook bij mij thuis gaan gebeuren? Zullen de sensoren net zo precies werken als ik wens? En wat gaat er gebeuren wanneer er iets kapot of mis gaat? Gaat mijn koelkast dan zomaar lukraak spullen bestellen?

Als u zelf een systeem wilt gaan bedenken, ontwerpen of kopen op basis van IoT, zal u ook het gedrag van de sensoren in uw systeem moeten kennen. Want al die sensoren en andere meetinstrumenten kunnen wel eens verkeerde gegevens gaan doorgeven. Ze gaan kapot of ze maken fouten. Hoe gaan we daar mee om?

Verkeerde metingen

Zes op de tien brandmeldingen, die bij de brandweer binnenkomen, zijn vals. Daar is de brandweer niet blij mee. En dat zijn geen mensen die zomaar het alarmnummer bellen, maar automatische brandmelders die vals alarm geven. Je zou kunnen zeggen dat brandmelders de situatie “verkeerd” inschatten. Nu nemen brandmelders het zekere voor het onzekere. Maar vaak zijn brandmelders verkeerd afgesteld. Of meten het verkeerde: waar rook is, is vuur; maar waar vuur is, is nog geen brand. Stiekem een sigaret roken kan al voldoende zijn om het alarm af te doen gaan. Zo ziet u maar, ook brandmelders zijn niet perfect. Anderhalf jaar geleden moest een fabrikant 400.000 slimme rookmelders terugroepen wegens gebreken. Wat leidde tot de vraag of we met dergelijke dingen wel een IoT kunnen opbouwen.

“Met miljarden apparaten, zelfs al geeft een bepaalde sensor geeft maar een bitfout eenmaal per jaar, wordt dat een veel groter probleem in een groot systeem..” (W.T. Dixon)

Mijn fietscomputer maakt ook fouten. Fietscomputers zijn ook onderdeel van het IoT. Bijvoorbeeld om mijn conditie in de gaten te houden in mijn trainingsapp. De fietscomputer meet de hoogte in het landschap waar ik rij op basis van de luchtdruk. Hoe hoger je komt, hoe lager de luchtdruk. Maar de luchtdruk kan ook veranderen door het weer. Op een dag kan er wel 100 meter verschil zitten in de hoogtemeting. Ik ben wel eens teruggekomen van een rondje rijden, waar mijn huis 60 meter hoger lag dan toen ik vertrok. Althans, volgens mijn fietscomputer. Daar kon ik wel om lachen, maar de meting van mijn fietstraject was wel verkeerd waardoor mijn prestaties ook verkeerd werden berekend. Luchtdruk en hoogte hebben wel veel met elkaar te maken, maar ook weer niet alles. Er zijn verstorende invloeden.

Falende sensoren

Iedere technicus weet dat alle apparaten kapot zullen gaan: ze vertonen faalgedrag. Het apparaat waar u dit artikel op leest, zal ook eens kapot gaan. Zo ook sensoren. Maar voordat ze echt kapot gaan, geven ze eerst verkeerde gegevens door. Sensoren kunnen ook verkeerde metingen doorgeven omdat ze vervuilen, verouderen of verlopen. Onderzoekers, zoals aan de TU Delft, controleren en kalibreren hun sensoren regelmatig. Maar zal dat ook gebeuren bij al die sensoren die in allerlei alledaagse apparaten worden ingebouwd? Kalibreert u uw thermostaat, de GPS in uw auto, de hoogtemeter van uw fietscomputer? Maakt u regelmatig de buitenthermometer van uw verwarmingsinstallatie schoon? Controleert u regelmatig uw rookmelders?

In een professionele en industriële omgeving zullen de sensoren zeker worden onderhouden, althans, dat verwacht ik wel. Maar thuis, of in niet-technische omgevingen, zal het onderhoud ontbreken. Maar de meetgegevens van deze sensoren zullen wel gebruikt worden om apparaten aan te sturen, om conclusies te trekken over uw rijgedrag, uw gezondheid, of u betaald heeft, waar u geweest bent en misschien wel over uw identiteit.

Er zijn auteurs die onbetrouwbare sensoren als een reëel probleem voor het IoT zien. Ook wanneer één sensor slechts een paar foute metingen per jaar doet, worden dat heel veel fouten wanneer we parten over de vele honderden miljoenen sensoren die het IoT gaan vormen. En het aantal fouten zal toenemen wanneer, zoal gezegd, de sensoren niet goed worden onderhouden, of waneer ze van een goedkope kwaliteit zijn. In uw koelkast zal geen sensor van industriële kwaliteit worden ingebouwd, maar een eenvoudiger, goedkoper en onbetrouwbaarder type, dat is zeker.

Ontwerpen met faalgedrag

Wie weet hoe wetenschappers en ingenieurs hun metingen doen, kan hiervan leren. Om zo betrouwbare IoT-systemen te ontwerpen die rekening houden met faalgedrag van de sensoren. En dan heb ik nog niet eens over het faalgedrag van de andere hardware en software. Misschien daarover in een andere blog meer.

Ik sluit af met drie tips om rekening te houden met meetfouten van sensoren. Dit lijstje is niet volledig, maar doe er uw voordeel mee:

  1. Ken het faalgedrag van de sensoren die u gebruikt. Ken de technische specificaties en weet hoe precies de sensoren hun metingen doen. Probeer ook te weten te komen hoe omgevingsinvloeden, zoals het weer, de metingen kunnen beïnvloeden. Bijvoorbeeld: zo zou de hoogtemeter in mijn fietscomputer zich kunnen kalibreren op basis van bekende hoogtes op mijn fietsroute.
  2. Bepaal hoe een falende sensor het systeem kan beïnvloeden. Wordt de verkeerde meting herkend doordat het andere metingen tegenspreekt of niet past in het model van het systeem? Of laat zo'n sensor het systeem rare dingen doen of legt het zelfs alles plat? Bijvoorbeeld: zo kunnen rookmelders dubbel uitgevoerd worden, het liefst met twee verschillende meetmethoden.
  3. Trek geen conclusies op basis van een enkele meting, die kan fout zijn. Probeer meerdere metingen door de tijd heen te doen of gebruik meerdere verschillende sensoren om hetzelfde te meten. Hierdoor worden foutieve metingen gemakkelijker herkend. Bijvoorbeeld: als mijn buitenthermometer zijn meetwaardes zou vergelijken met actuele weergegevens of andere buitenthermometers in de buurt, zouden afwijkingen gemakkelijker kunnen worden onderkend.

Text in English:

A few weeks ago, I was at the Open Days of the Delft University of Technology (TU Delft). I made a visit to the Faculty of Civil Engineering and Geosciences, where I was introduced to several research projects. What struck me was how extensively researchers are measuring things. Carefully, and over a long period. Not without reason, because the researchers want to know exactly what is going on.

I will not elucidate on the purpose and the nature of the research projects. The thing is, when I walked home, I thought about the emergence of the Internet of Things (IoT), which from its contemporary definition is: the network of physical objects or ‘things’ embedded with electronics, software, sensors, and network connectivity, which enables these objects to collect and exchange data. In short: devices that can exchange information over the internet. Much of the data will come from sensors. Small, measuring instruments that, for example, measure the temperature of your home in order to regulate the thermostat of your heater; or an anemometer that will raise the blinds when a storm is coming. Or perhaps a sensor that reads the contents of your refrigerator, or detects the type of laundry you’ve put in a washing machine. Besides these everyday examples there are numerous sensors in the public space: traffic counters, speed indicators, fog detectors. Even in your car. Self-driving cars cannot ride without sensors. The future vision is that more and more devices will get sensors and these devices, with all their data, can operate and decide independently. And they’re going to share that information with other devices or applications. For example, your refrigerator could keep stock by itself and backorder missing items automatically.

All these sensors will exchange their data on the Internet of Things. If you design or buy systems based on IoT, you will also have to take the behavior of the sensors into account. All those sensors and other measuring instruments can sometimes transmit wrong data. They will fail or make mistakes. How do we deal with that?

So while I walked home, I thought: if the researchers at TU Delft measures so extensively, carefully and with so much trouble, will this also happen in my home in the same way? Will the sensors work as I wish? And what will happen when something gets broken or goes wrong? Will my refrigerator just haphazardly order stuff?

Incorrect measurements

Six out of ten fire alarms in the Netherlands are false. Fire departments are not happy. And these false alarms are not from people who’re simply calling the emergency services, but from automatic fire detectors that produce false alarms. You could assume that fire detectors stay on the safe side. But often fire detectors are incorrectly adjusted. Or measure the wrong phenomena: where there’s smoke, there’s fire; but where there’s fire, there’s not a fire for sure. Sneaky cigarette smoking can be sufficient to set off the alarm. Fire detectors are not perfect. One and a half years ago, a manufacturer had to recall 400,000 smart smoke detectors because of defects. Which led to the question: can we build an IoT ecosystem around such devices?

“With billions of devices, even if a given sensor gives a bit error once per year, that becomes a much bigger issue in a large system.” (W.T. Dixon)

My cycle computer makes mistakes. Cycle computers are also part of the IoT. For example, I track my physical condition with a training app. The bike computer measures the height in the countryside where I ride based on air pressure. The higher you get, the lower the air pressure. But air pressure can also change with the weather. On a bad day, you can get up to an error of 100 meters in the altitude measurement. Once I returned from a circular ride, and discovered my house had risen 60 meters compared with the time I left. At least, according to my bike computer. This was quite funny, but the measurement of my cycle route was wrong making my performance indicators also wrong. Air pressure and height are definitely related, but not completely. There are distorting influences.

Failing sensors

Every engineer knows that all things will eventually break down; they exhibit failure behavior. The device on which you read this article, will also break down some time. As will sensors. But before they really are out-of-order, they will produce incorrect data. Sensors can also transmit incorrect measurements because they get dirty, obsolete or worn out. Researchers, such as at the TU Delft, check and calibrate their sensors regularly. But will this also happen in the sensors that are built in all those everyday devices? Do you calibrate your thermostat, the GPS in your car, the altimeter of your bike computer? Do you regularly clean the external thermometer of your heater? Do you check your smoke detectors?

In a professional and industrial environment, the sensors will be maintained, at least, that’s what I hope. But at home, or in non-technical environments, the maintenance will not happen that often. But the measured data from these sensors will be used to control machines, to draw conclusions about your behavior, your health, or your environment, about where you’ve been and perhaps about your identity.

There are authors who see unreliable sensors as a real problem for the IoT. When one sensor generates only a few false measurements per year, this will increase to an enormous amount of errors when you take the many hundreds of millions of sensors that constitute the IoT, into account. And the number of errors will increase when the sensors are not properly maintained, or when they are of poor quality. Your refrigerator will not have a built-in sensor of industrial quality, but a simpler and cheaper type, that’s for sure.

Design with failure behavior

So we should learn from scientists and designers of reliable IoT systems about the failure behavior of sensors. And then there is still the failure behavior of other hardware and software that needs to be considered. Perhaps in a next blog.

To conclude, while certainly not exhaustive, here are three tips to take error measurement of sensors into account for designing reliable IoT systems:

  1. Know the failure behavior of the sensors that you’re going to use. Know the technical specifications and how the sensors do their measurements. Also, how the environment may affect the measurements. For example, the altimeter in my bike computer may be calibrated on the basis of known heights on my bicycle route.
  2. Determine the effects of a malfunctioning sensor. Is the wrong measurement recognized because it’s an outlier, or because it does not fit in the model of the system? Does such a sensor induce erratic behavior of the system or does it even bring everything down? For example, smoke detectors can be equipped with double sensors, preferably with two different measuring methods.
  3. Don’t make any conclusions on the basis of a single measurement. That one can be incorrect. Do multiple measurements over time or use several different sensors to measure the same thing. This will enable erroneous measurements to be more easily recognized. For example: if my outdoor thermometer can compare its measurements with data about the current weather or other outside thermometers nearby, derogations can be recognized.

Photo Creative Commons BY-SA 3.0 by Jan Prucha via Wikimedia