Rotor Bearing Defect Detector Reference Implementation

Published: 05/05/2020

Edge Software Hub   /   Rotor Bearing Defect Detector   /  Documentation

Overview

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

Select Configure & Download to download the reference implementation and the software listed below.  

Configure & Download



Time to Complete

Programming
Language

Available Software

Approximately 1 hour

Python* 3.6
 

  • Docker*
  • Docker Compose

Recommended Hardware
The below hardware is recommended for use with this reference implementation. See the Recommended Hardware page for other suggestions. 


Target System Requirements

  • Ubuntu* 18.04.03 LTS
  • 6th to 11th 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  

Step 1: Install the Reference Implementation 

Select Configure & Download to download the reference implementation and then follow the steps below to install it.  

Configure & Download

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

unzip rotor_bearing_defect_detector.zip

 

​2. From the directory where you unzipped the downloaded package, navigate 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_//install.log 

7. The Rotor Bearing Defect Detector Reference Implementation is available in the target system. Run the below command to go to the directory:

cd <install_directory>/Rotor_Bearing_Defect_Detector_<version>/Rotor_Bearing_Defect_Detector/RotorBearing

NOTE: is the Edge Insights for Industrial version selected before downloading the package, for example, 2.4.

 

Step 2: Check the Reference Design 

Along with the provided module services, Edge Insights for Industrial builds the rbd_inference, simulator, rbd_opcserver, and rbd_opcclient containers. It then starts the rbd_inference and rbd_opcserver containers, followed by the simulator container.

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. 

The simulator container then injects them to the inference container via the Edge Insights for Industrial message bus. The rbd_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 rbd_opcserver container over the message bus. 

The rbd_opcserver container reads the inference results and updates the value in the OPC server. The rbd_opcclient 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.

NOTE: The OPC client starts automatically when the package installation completes successfully. If you prefer to start the OPC client manually or if any errors occurred during the installation, refer to Start the OPC Client below. 

Step 3: Data Visualization on Grafana

NOTE:  The instructions in this section are illustrated using Mozilla Firefox Browser. Other browsers can also be used to import the ca_certificate and visualize on Grafana. 

To visualize on Grafana, you can select either one of the following options, depending upon the installation mode you selected when installing the reference implementation:

Development Mode 

1. To switch to Development mode, navigate to the Edge Insights for Industrial /build directory: 

cd <install_directory>/Rotor_Bearing_Defect_Detector_<version>/IEdgeInsights/build

2. Follow below steps to edit .env file: 

vim .env

3. Go to line no.26 and change value of DEV_MODE=true.

NOTE:  Edge Insights for Industrial (EII) software package was previously named Edge Insights Software (EIS) and some screenshots may still refer to EIS.  


 

4. Save the file. 

5. Open an Internet browser and navigate to http://localhost:3000. Follow the steps in Visualizing with Grafana below. 

Production Mode (Default) 

Import ca_certificate.pem before navigating to the Grafana login page, as described in the following steps. 

NOTE: It is your responsibility to ensure all certificates and steps are up to date before going to production.

  1. Open an internet browser and select Preferences

  2. Search for Certificates and select View Certificates.

  3. Select Authorities and click Import…

  4. Select ca_certificate.pem from the Reference Implementation directory (/Rotor_Bearing_Defect_Detector_/Rotor_Bearing_Defect_Detector/RotorBearing) and click Open.

  5. Select all checkboxes for trusting this Certificate Authority (CA).
  6. Open a new tab in your internet browser and navigate to https://localhost:3000 (Note that https is used for Production mode.)
    NOTE: If you want to Visualize Grafana Dashboard using the IP address of the host system where the reference implementation is running, copy the ca_certificate.pem to the target system, import the certificate to the browser on the target system, and navigate to: https://: 
    Be aware that when visualizing the dashboard remotely, the graph may take some time to load due to sync issues. 

Visualizing with Grafana

  1. Open an Internet browser and navigate to http://localhost:3000 (Development mode) or https://localhost:3000 (Production mode). 

  2. The Grafana login page is displayed. Log in with user = admin and password = admin

  3. Open the RBD Tool dashboard by clicking Home and RBD Tool as shown below.



     
  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






 

(Optional) Customize Application 

By default, the application starts to run when the package installation is completed.

If you want to perform any customizations, use the following steps to manually run the application, after making the desired changes:

  1. Navigate to the Edge Insights for Industrial /build directory: 
    cd <install_directory>/Rotor_Bearing_Defect_Detector_<version>/IEdgeInsights/build
    NOTE: is the Edge Insights for Industrial version selected before downloading the package, for example, 2.4. 
  2. Use the following commands:
    python3.6 eis_builder.py -f time-series.yml
    cd provision
    sudo ./provision_eis.sh ../docker-compose.yml
    cd ..
    docker-compose build
    docker run --rm -d -p 1883:1883 --name mosquitto_1883 trafex/alpine-mosquitto
    docker-compose up 

Start OPC Client

  1. To start the OPC client, enter the following command:
    cd <install_directory>/Rotor_Bearing_Defect_Detector_<version>/IEdgeInsights/build

    NOTE: is the Edge Insights for Industrial version selected before downloading the package, for example, 2.4. 

  2. Run the following command: 

    docker-compose up rbd_opcclient

     


Known Issues

Production Mode Security Warnings

Issue with Grafana Visualization

In Production Mode, security risk warning will be displayed when navigating to Grafana dashboard via https://localhost:3000. To visualize data in Grafana, please navigate to https://127.0.0.1:3000 to avoid receiving warnings.

Insecure Request Warning 

On running connect.sh in Production Mode, Insecure Request Warnings will be printed on terminal window. The script is provided for reference purpose only. Update it to meet your needs.


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.


Create a Microsoft Azure* IoT Central Dashboard 

As a next step, you can create an Azure* IoT Central dashboard for this reference implementation, run standalone Python code to fetch telemetry data from Influx DB, and send data to the Azure IoT Central dashboard for visualizing telemetry data. See Connect Edge Devices to Azure IoT* for instructions.


Learn More

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


Support Forum 

If you're unable to resolve your issues, contact the Support Forum.  

Product and Performance Information

1

Performance varies by use, configuration and other factors. Learn more at www.Intel.com/PerformanceIndex.