The recent rise of MEMS and Microsensors have posed a new and interesting problem to designers. Before MEMS, you barely had one temperature sensor, maybe one pressure sensor in your system. Then you would put some code around … Et Voila ! your device was capable of measuring Temperature and Pressure.
Now with the advent of MEMS, nothing prevents you to have a lot of sensors, of different types, at different positions in your system. The issue has become “How do I combine all these together to produce something useful” ? This what Sensor Fusion is about.
Your smartphone has typically several temperatures sensors, several light sensors, several accelerometers. Modern accelerometers often implement smart functions like “Significant Motion detection”, “No Motion detection”, etc .. . This is even an OS requirement (see here, for Android).
My own definition: A Sensor Fusion Controller is a piece of Software and/or Hardware that implements some smart algorithms out of a variety of inputs (the sensors), essentially to derive a richer information than the sum of all the inputs.
The following describes an implementation of an off-arm detection based on sensor fusion. The Wearable Device I was working on was an arm-worn type of device. Is it very important to understand, in those kind of devices, whether it is actually worn by the User, or simply left aside on a table or within a bag. All kind of Power Saving scenarios can then be implemented.
So in this specific case, it looked simple ! Put a Proximity Sensor and you got it. Those components are available, one example here. But he problem was that, the manufacturer wanted to shave off the 1 dollar of component …. so Software had to find a solution. Easy 🙁
The basic question was:
“Are we able to infer that the device is worn or not, based on all those sensors ?”.
And of course, the corollary design constraint:
“We shall NOT infer it is worn when it is not …”.
We very rapidly agreed that, we’d better concentrate on a few “solid” cases, like: the device is laying on a table, facing up, since more that 5 minutes. For all the difficult cases (for example, Worn but not moving ), we can just not do anything.
In the next articles, I will detail the rationale in using a Fuzzy Logic approach for solving this problem, the implementation of the whole thing … and some results / possible improvements.
- Original paper from Pr. Lofti Zadeh, 1965
- Introduction to Fuzzy Logic , by Franck Dernoncourt (MIT)