Healthy machines

Rotating machines need sensory-motor systems to stay healthy and perform well. Although the motor degrees of freedom of machinery like a wind turbine or cargo train wheelset are different compared to typical robots, most machines exist in complex environments and their characteristics change over time due to wear and maintenance. Therefore, adaptive sensory-motor systems are needed, and machines also need basic cognitive capabilities to fulfil operational goals in resource-constrained environments.

In this project we investigate neuromorphic and machine learning concepts that can enable future mechatronic machines to learn from their default behaviour, so that abnormal situations can be detected, characterised and avoided. We will bring a rotating machine with interchangeable healthy and faulty components and an industrial type vibration sensor connected to a ZedBoard.

Login to become a member send


Day Time Location
Wed, 27.04.2016 16:00 - 17:00 Sala Panorama
Sat, 30.04.2016 15:00 - 16:00 DISCO
Mon, 02.05.2016 15:00 - 23:00 DISCO
Tue, 03.05.2016 15:00 - 23:00 DISCO
Wed, 04.05.2016 15:00 - 23:00 DISCO
Thu, 05.05.2016 18:00 - 23:00 DISCO
Fri, 06.05.2016 14:30 - 16:00 Lecture room

Healthy Machines

Most of the first week was used to assemble and setup (partially new) hardware and record data for modelling.
During the second week we started to work on modelling, implementations and experiments. The workshop
was a great opportunity to do focused work needed to put the components  and software together, and also
for people with complementary background to start working together on problems related to health monitoring
of rotating machines using low-power neuromorphic devices and neural networks.

The following approaches were outlined and investigated:

– Using a neuromorphic cochlea or simple spike-frequency encoder to transform the (analog) vibration signal to spike representation for processing with a ROLLS chip.

– Using recurrent neural networks like an echo-state network and a supervised classifier to process samples from the ADC. 

– Using unsupervised feature learning in combination with a 1-class classifier / anomaly detector to process samples from the ADC. We worked on an online implementation of machine learning algorithms inspired by self-organisation in visual cortex in the FPGA on the ZedBoard.

Rotating machine

Miniature rotating machine used for the experiments. The electric motor drives a rolling element bearing that can be replaced online. A vibration sensor is used to monitor the machine, which either has a healthy or faulty bearing.


ZedBoard with ADC pmod (Maxim MAXREFDES#5) and custom amplifier for the vibration sensor.

AER Interface

We developed an AER output from the ZedBoard that encodes the vibration signal in the form of spikes. The AER events are sent to the PMOD port and are visualised with a SmartScope. The algorithm is outlined in aer_coder.c (below).

EchoState Networks

Damir Vodenicarevic and Christopher Bennett did experiments with EchoState Networks and found that a network with a few hundred neurons could accurately classify recorded vibration signals corresponding to a healthy or faulty machine. The image shows an example of the output from the network (0: healthy, 1: faulty) over time for a recorded signal that was not used during training of the network.

Brian Modelling

Andreas Ternstedt (with support from Ole, Federico, Giacomo, Dora) worked on spiking neural network models for feature learning in Brian aiming to develop a network that can be implemented on the ROLLS chip. Work in progress... The image is a snapshot from a simulation illustrating a change in the temporal structure of spikes when a fault appears in the bearing of the machine.

Online Feature Learning

We worked on an online implementation of a machine learning algorithm for unsupervised feature learning in the FPGA on the ZedBoard. The goal is to combine the feature learning system with a one-class classifier / anomaly detector to enable learning of normal conditions and detection of abnormal conditions. Work in progress...


Features learned from vibration signal (black) using a software implementation of the algorithm (Martin del Campo & Sandin, MLSSP 2013), which essentially is an accelerated version of the algorithm desribed by Smith & Lewicki in their 2006 Nature paper on Efficient Auditory Coding (included below). In terms of spiking neural networks you can think of the atoms as something similar to spike-time averages (STA's) of nonlinear neurons. The algorithm produce events (red triangles) and the resulting residual of the signal (blue) is approximately normally distributed after training.


Recorded vibration signals from the rotating machine with healthy and faulty bearings and some code.

Icon Healthy_10kHz.csv (1.9 MB) Icon Faulty_10kHz.csv (1.9 MB) Icon aer_coder.c (3.7 KB) Icon (4.0 MB) Icon Smith_Lewicki_2006.pdf (350.2 KB) Icon EI-Net_2013.pdf (1.9 MB)


Sergio Martin del Campo
Fredrik Sandin


Christopher Bennett
Lukas Cavigelli
Giacomo Indiveri
Fredrik Sandin
Andreas Ternstedt
Damir Vodenicarevic
Borys Wrobel
André van Schaik