Giter Site home page Giter Site logo

cmu-mbl / imuvisionbiomechanics Goto Github PK

View Code? Open in Web Editor NEW
6.0 2.0 0.0 579 KB

Compare 4 classes of markerless simulations in MATLAB with a nine DOF biomechanical model for estimating full body kinematics.

Home Page: https://simtk.org/projects/imuvisbiomech

License: MIT License

MATLAB 63.36% TeX 36.64%

imuvisionbiomechanics's Introduction

IMUVisionBiomechanics

Owen Douglas Pearl | Carnegie Mellon University

Micro Robotics Lab | Musculoskeletal Biomechanics Lab 

----------------------------------------------------------------------------------------------------------

Introduction and Proper Usage:

This repository contains code for running 4 classes of simulations in MATLAB with a nine DOF biomechanical
model for estimating full body kinematics (and dynamics and contact forces if using direct collocation):

(1) IMU and vision data fusion (tracking) via direct collocation (kinematics+dynamics equations of motion)

(2) IMU only data tracking (and denoising) via direct collocation (kinematics+dynamics equations of motion)

(3) Unconstrained IMU and vision data fusion via inverse kinematics (using kinematics equations of motion)

(4) Unconstrained kinematics calculations using computer vision keypoints only (using kinematics equations of motion)

The code is set up to run on sample experimental data from the article below as well as synthetic created 
from sample walking mocap data contained in open source software OpenSim's installation documents. Users 
can validate findings from the referenced article with the sample experimental data as well as explore
methodological trade-offs using synthetically generated data with sample mocap data. However,
it should be noted that differences may occur when using the synthetically generated 
data from mocap data since it incorporate simplified assumptions and noise models that are not as 
representative of the true noise backgrounds of experimental IMU and computer vision data used to generated
the findings of the referenced article. However, it does still illustrate the trade-offs accurately.

Be sure to add all files to the MATLAB path in order to run all code from the "Main" script.

Please see the attached License.txt file for rules on use and redistribution 
(Copyright (c) 2022 Owen Douglas Pearl via MIT License)

When using this work, we ask that you please cite the relevant literature to properly credit the authors:
Pearl, O., Shin, S., Godura, A., Bergbreiter, S., & Halilaj, E. (2023). 
Fusion of video and inertial sensing data via dynamic optimization of a biomechanical model. 
Journal of Biomechanics, 155, 111617. https://doi.org/10.1016/j.jbiomech.2023.111617

The sample experimental data is adapted from the Total Capture Dataset:
Total Capture: 3D Human Pose Estimation Fusing Video and Inertial Sensors
cvssp.org/data/totalcapture/data/

The direct collocation optimal control problem is transcribed using the OptimTraj toolbox:
OptimTraj. Matthew P. Kelly. May 27, 2016. https://github.com/MatthewPeterKelly/OptimTraj

imuvisionbiomechanics's People

Contributors

opearl-cmu avatar

Stargazers

 avatar Xiong avatar Fabien Leboeuf avatar Mohammadreza Rezaie avatar Pierre Puchaud avatar X. Michael Wang avatar

Watchers

Eni Halilaj avatar Mohammadreza Rezaie 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.