April 5, 2017
Scan the headlines in technical journals and you see phrases like “age of context,” “ubiquitous sensing” and “smart devices.” What all of these trends have in common is the preponderant importance of the interaction between sensors and algorithms. Combining these two technologies to perform sensor fusion opens the door for more sophisticated services for consumers—but it also presents new challenges for design engineers.
The root of these challenges lies in the complexity of today’s applications and the increased demands they make on sensor-based systems. A major hurdle that engineers must contend with is the fact that sensor inputs are sometimes inaccurate and incomplete, complicating the extraction of useful information. The underlying concept behind sensor fusion is that each sensor has its own strengths and weaknesses. Fusion leverages the strengths of some sensors to offset the weaknesses of others, increasing accuracy and expanding functionality in the process.
Although the core concept underlying the fusion algorithm seems simple, its implementation calls for a variety of development tools, accommodating a broad spectrum of skill sets and serving a rich assortment of industries and applications. On the one hand, the design community requires software development platforms that enable the creation of complex and customized algorithms to accommodate the unique requirements of high-end applications. At the same time, engineers new to the development of algorithms for this type of application need an easy entry point. This is exactly what the MEMS Industry Group’s Accelerated Innovation Community (AIC) hopes to do with its open source library of introductory algorithms.
Libraries, Tools and Platforms
AIC’s library relieves designers of having to reinvent the wheel for the most basic of codes by providing common fusion algorithms, allowing the engineer to focus energy on the development of more complex algorithms.
With contributions from companies like NXP/Freescale Semiconductor, PNI and Analog Devices, the AIC library offers development tools covering accelerometers, magnetometers and gyroscopes. The library includes a C source library for 3-, 6- and 9-axis sensor fusion, a data sheet providing an overview of electrical and computation metrics and a basic sensor fusion tutorial. In addition to contributing its sensor fusion software, NXP/Freescale also makes available its sensor fusion development kit and other development technology under a limited copyright license.
In addition to these resources, designers can take advantage of more proprietary tools, such as InvenSense’s SensorStudio. This MEMS sensor development platform seeks to promote the rapid creation of applications by simplifying software and algorithm development. A key element of the platform is its graphical development tool that allows designers to visually assemble standard sensor block functions in a logical way. Using SensorStudio, developers can program and add sensors to the software framework via documented APIs to control tasks and timers.
Although many fusion development platforms focus on consumer motion- and sound-tracking applications, the design community also has access to an emerging class of algorithm development tools for advanced driver assistance systems (ADAS) and automated driving applications.
One example of this type of development tool is Baselabs Create, a software library designed for development of complex ADAS data fusion algorithms and environment models. The library consists of a fusion algorithm library, sensor models and use cases, all of which enable designers to either field-test pre-implemented algorithms or develop custom algorithms.
Evolution of Fusion Algorithms
The tools enabling the development of sensor fusion algorithms have just begun their evolution. The next stage in this evolutionary process will likely see the introduction of tools that harness technologies such as artificial intelligence.
About the Author