editor's blog
Subscribe Now

Sensor Algorithms Go Open Source

So you’re bringing together some sensors in your system, and you want to fuse their data together. Congratulations; you’re in good company. You and the rest of the world want this. If this capability is simply a need-to-have, while not being the key differentiator for you, well, yay, you get to reinvent the fusion algorithms that everyone else has already reinvented. Or you can buy them with dollars that your Board would rather be spent on differentiating technology.

Or, let’s say this capability is a differentiator for you – you’ve got some new algorithmic ideas that you think will put you ahead. Well, good luck. In addition to the 15% of code change that you want to do, you’ll have to do the other 85% from scratch. Or buy source code from someone else (if they’ll let you have it) and learn their code and make the mods yourself. Or have them make the mods – and turn over your differentiating ideas to them.

Well, now there’s another option: the Accelerated Innovation Community (AIC), under the aegis of the MEMS Industry Group (MIG). I know… the name doesn’t say much about what it is, but the idea is to have an open-source community where sensor-fusion algorithms can be shared. This means that you can get ready-working algorithms easily. They may not work exactly the way you want, but they make a great starting point.

If you find ways to improve them, you can give back to the community. And if you don’t want to give back differentiating improvements, you don’t have to, since the algorithms are available under BSD licensing.

To be clear, these aren’t necessarily shrink-wrapped algorithms that can be plugged into some abstracted system with no engineering work. You will still need algorithm coders and embedded folks that know what they’re doing. The benefit of this is that they won’t have to start from scratch every time.

Now… if you’ve been paying attention, you’ll say, “But wait! What about that open sensor platform (OSP) thing from earlier this year?” Yes, your memory is fine: that happened. And these two things don’t compete: in fact, they can work together.

The OSP piece is a framework onto which algorithms can be hung. Any algorithms, including ones obtained through the AIC, can be used. Think of it as a standard API you would use to invoke the algorithms (or do other things – OSP is about more than just algorithms).

You also might wonder, given that Audience has a different (or more focused) business than Sensor Platforms did, will they still support OSP? The answer is, “Yes.” In fact, look for a new OSP revision early next year.

By the way, at the risk of yet more confusion, note that the OSP bag of goodies contains a few reference algorithms as well. These are helpful in implementing the framework, but are not the focus of OSP; the framework is.

Freescale_figure.pngJust as Sensor Platforms (now part of Audience) and ARM were founding members of the OSP, so Freescale is an inaugural member of the AIC. Coincident with their support of the AIC, they’ve also put forward a sensor fusion dev kit. It can act as its own framework, and also contains reference algorithms. 

Freescale’s kit isn’t part of the AIC, but can accept algorithms from the AIC. And they’ve contributed algorithms to the AIC. That’s kind of the point: algorithms should be pluggable (with the appropriate software ministrations) into any environment – whether OSP or a proprietary setup. If not, then you might have a partitioning issue that would be worth addressing…

You can find out more about the AIC in the MIG announcement.


(Image courtesy Freescale)

Leave a Reply

featured blogs
Jul 18, 2018
I recently talked with Mr Takizawa of TDSC about their use of Cadence's Interconnect Workbench (IWB). You may not recognize those initials. Toshiba split itself into three companies last year and one of them is TDSC, or Toshiba Electronic Devices & Storage Corporatio...
Jul 16, 2018
Each instance of an Achronix Speedcore eFPGA in your ASIC or SoC design must be configured after the system powers up because Speedcore eFPGAs employ nonvolatile SRAM technology to store the eFPGA'€™s configuration bits. Each Speedcore instance contains its own FPGA configu...
Jul 12, 2018
A single failure of a machine due to heat can bring down an entire assembly line to halt. At the printed circuit board level, we designers need to provide the most robust solutions to keep the wheels...