Rotor Bearing Defect Detector Reference Implementation


This reference implementation provides an AI-enabled approach to prediction and detection of bearing failure by analyzing vibration data.

Table 1

Time to Complete Approximately 1 hour
Programming Language Python* 3.6

Target System Requirements

  • Ubuntu* 18.04.03 LTS
  • 6th to 10th Generation Intel® core™ processors with Iris® Pro graphics or Intel® HD Graphics

How It Works

The application uses the inference engine included in the Intel® Distribution of OpenVINO™ toolkit. The reference implementation shows an example of how LSTM networks can be leveraged in industrial preventive maintenance scenarios.

  • Bearing Simulator Module: Generates sequences of vibration signals to be used for injection into the Inference Module. It reads the signals from a demo dataset.

  • Inference Module: Ingests vibration signals and extracts handcrafted features after performing several transformations on the signal. Optional features are time-frequency features that the user can opt to enable in the configuration file. It then sends the results and the input to an InfluxDB Database. It also sends the results to the OPCUA Server Module.

  • OPCUA Server Module: Receives the results from the Inference Module and updates the values to an OPC server.

  • OPC Client Module: Reads the value from the OPC server and updates the inference result in real time. The input signal and the result can also be visualized in the Grafana Dashboard.

All communication between modules occurs over the Edge Insights for Industrial Message Bus.

Figure:1: Architecture Diagram for the Reference Implementation
Figure 2: Architecture Diagram for the Reference Implementation Plugged into Edge Insights for Industrial Stack  



Get Started  

The Rotor Bearing Defect Detector Reference Implementation can be downloaded and installed as part of Edge Insights for Industrial package.

You can also download the Rotor Bearing Defect Detector Reference Implementation package.

  • If the file you have downloaded is named, follow the install instructions below. 

Step 1: Install the Reference Implementation 

Follow the steps below to install the Reference Implementation.

1. Open a new terminal, go to the downloaded folder and unzip the downloaded RI package.



​2. Go to the rotor_bearing_defect_detector directory.

cd rotor_bearing_defect_detector 


​3. Change permission of the executable edgesoftware file.

chmod 755 edgesoftware


4. Run the command below to install the Reference Implementation.

./edgesoftware install


5. During the installation, you will be prompted for the Product Key. The Product Key is contained in the email you received from Intel confirming your download.


6. When the installation is complete, you see the message “Installation of package complete” and the installation status for each module.


NOTE: If there is any failure in the installation, please address any obvious issues, e.g., Network issues, docker proxy issues, Container conflict, etc. Installation failure logs will be available at path - /var/log/esb-cli/Rotor_Bearing_Defect_Detector_<version>/<Component_name>/install.log 

7. Go to the working directory:

cd Rotor_Bearing_Defect_Detector_<version>/Rotor_Bearing_Defect_Detector/PDM

NOTE: <version> is the Edge Insights for Industrial version downloaded. It can be found in the readme file.


Step 2: Check the Reference Design 

Along with the provided module services, Edge Insights for Industrial builds the inference, simulator, opc_server and opc_client containers. It then starts the inference and opc_server container, followed by the simulator container.

NOTE: This sequence must be followed to provide a smooth dataflow.

Make sure the Rotor Bearing Defect Detector application is started by running:

sudo docker ps 

Check for Success

If it was successful, the results will be as follows:

The simulator container generates vibration signals by reading them from a demo dataset created from the NASA bearing dataset. It is located at the following path:

<path_of_the_installation_directory>/rotor_bearing_defect_detector/Rotor_Bearing_Defect_Detector_<version>/Rotor_Bearing_Defect_Detector/PDM dataset/demo/

NOTE:<version> is the Edge Insights for Industrial version downloaded. It can be found in the readme file.

The simulator container then injects them to the inference container via the Edge Insights for Industrial message bus. The inference container accepts the vibration data and performs inference. It then posts the input data along with the inference result in InfluxDB. It also posts the result to the opc_server container over the message bus.

The opc_server container reads the inference results and updates the value in the OPC server. The opc_client container reads the inference result from the OPC server and outputs the result in real time. This is the final result, which can be seen in the terminal output. This emulates an OPC-enabled device, such as a tower light in a factory floor.

Step 3: Start the OPC Client

To start the OPC client, go to the following path:

cd <path_of_the_installation_directory>/rotor_bearing_defect_detector/Rotor_Bearing_Defect_Detector_<version>/Rotor_Bearing_Defect_Detector/PDM dataset/demo/

NOTE: <version> is the Edge Insights for Industrial version downloaded. It can be found in the readme file.

Run the command below:

sudo docker run --net=host --name client client:v1


Check for Success

If the command was successful, the OPC client prints the inference result as the following:

Step 3: Data Visualization on Grafana

  1. Open an Internet browser and navigate to http://localhost:3000 to start the application.
  2. This will navigate to the login page. Use admin:admin to login.
  3. Select PDM Tool dashboard. 
  4. The sequence of demo vibration signals, along with the corresponding results, can be viewed on the Grafana Dashboard. The order is as follows:
    • Normal Condition
    • Bearing Degradation Detected
    • First Fault Detected
    • Bearing Failure Detected


Summary and Next Steps

Rotor Bearing Defect Detector is an AI-enabled predictive diagnostic maintenance solution to predict and detect bearing failure by analyzing vibration data. The current solution contains a simulator module that injects vibration signals from a demo dataset into the inference module. However, this can be replaced with actual physical motor rotor data. The input signal and the results are successfully visualized in the Grafana Dashboard.

Learn More

To continue learning, see the following guides and software resources:

Product and Performance Information


Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804