Git Product home page Git Product logo

performance_measurement_tool's Introduction

Performance Measurement Tool (PMT)

Motivation

In the elevator industry, ride quality is a huge consideration when building new elevators and modernizing existing systems.

In my previous role as a modernization project director, we used a pretty large and heavy device to measure ride quality due to the fact that the manufacturer also provided us with software that would help us download and plot the vibration data. It was cumbersome to carry around and inconvenient to use. There are MANY iPhone and Android applications that can capture acceleration, so I figured it was time to build a desktop application that could take the data collected from a phone and output nice charts/ visuals.

Objectives

  1. To build a tool that would eliminate the need to carry heavy equipment when measuring ride quality
  2. To get more practice with object oriented programming while building something practical/ useful

Approach

I used the tkinter python library to build a desktop application that reads vibration data collected from an iPhone. It allows the user to select a file of data which has been recorded using an "Accelerometer" iPhone app built by DreamArc.

The Performance Measurement Tool allows a user to input data collected during a ride, upload to a computer, then output a chart that identifies any acceleration values that are too large.1

How to Use It:

  1. Run the main.py python script from the repo, which will open up the tkinter interface. Main Opening Screen

  2. Click on the "Upload File" button at the top left and select "sample_data >> vibration3.txt" (the others work too, but vibration3.txt is the best example). Select a File

  3. Click on the "Display Data" Button.

  4. Calibrate the data2 by clicking on the "Calibrate" button near the top right of the screen. Select the "calibration_data.txt" file and click "Open."

  5. Set the maximum acceptable milli-G values by typing a value into the text box and clicking "New Max G". 3 This wil adjust the horizontal dotted lines on the X and Y axes. All the peak acceleration values that are above or below this threshold will be marked with a circle. Try inputting 200 (which corresponds to .2 G/ 200 milli-G) to see how the graphs adjust to the new acceptable maximum acceleration. Final Screen

  6. Optional: Save the figure by clicking the "Save the Figure" Button, which will save the chart you created as a .png file to your current working directory.

Notes:

  1. Ride quality is measured in milli-G, which represents an acceleration value that is felt by riders inside an elevator as it goes up or down. A ride with a maximum value of 11 milli-g in any direction is considered very smooth, but this can only be achieved with state of the art equipment. Measurements in the 20s are more reasonable.
  2. All phones are different, so it's necessary to create a calibration file that will represent the values a phone picks up when it is just sitting on a still surface (they can be up to 3 milli-G as a result of any building vibrations, etc.). This will make sure that the acceleration values are not inflated when analyzing.
  3. I didn't have access to elevator data when building this app due to COVID, so I just simulated data by holding the phone and shaking it back and forth slightly. The acceleration values are therefore MUCH higher than what you could expect from an elevator ride. I also did my best to record vertical acceleration that would be picked up as a result of the elevator starting up then coming to a stop (z-axis/ blue chart).

performance_measurement_tool's People

Contributors

hassansaadca avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.