“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)
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?
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?
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.
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:
- 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.
- 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.
- 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.