Git Product home page Git Product logo

exoskeleton's Introduction

Exoskeleton Software

Original Research

This project builds off of an existing research project, below are the relevant links to the original material:

Overview

This project is the software component for a variation of the exoskeleton designed in this research paper. A friend of mine who worked on the research paper was working on some designs for a variation of the exoskeleton here, and asked me if I wanted to help out with writing some of the software components.

In short, this exoskeleton attaches to someones shoulder to get some data about their arm movement. The way this exoskeleton picks up data is though a few sensors on the frame that are connected to an Arduino device. The goal of this project is to create a way to get this sensor data from the Arduino, run some calculations on it to find relevent metrics for doctors to view, and then display these metrics in a simple way.

How does it work?

First we need some data. There's a script running on the Arduino device that tells it to send us it's sensor data over serial port. We use a Python serial library to read this data on our local computer. The Arduino is actually getting a ton of data from the sensors, much more than our program can handle without crashing. To get around this, we sample data at a constant rate at an interval we can safely process. Currently, we have our sampling rate at 0.25 to refresh the metric displayed four times each second- a level that is easy to handle for our program and is not an overwhelming amount of data for the user to interpret.

Once we get sensor data, we run a series of calculations on it to calculate relevant metrics for users of the program to see. These calculations are translated into Python from the MATLAB code used in the orignal research project. I decided to re-write this in Python using Numpy as it made the project easier to package as an executable application. MATLAB requires licensing for use, and trying to configure it to be packaged was really annoying when I tried to do it. Just having the logic in Python and cutting the depepdency was much easier to run and distribute.

Lastly, after we have finished our metric calculations, we update a simple Tkinter GUI application to display the new metric valuse (for reference, we are just displaying two values currently). This GUI runs when the user opens the program, and refreshes every 0.25 seconds with new metrics.

What's next?

I passed this along to another researcher who worked on the project to check out/use if it ended up being helpful.

exoskeleton's People

Contributors

matthewgrosman avatar

Stargazers

Bo Bramer avatar Jiaji Li 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.