GithubHelp home page GithubHelp logo

sjoerdbruijn / footplacement Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 0.0 362 KB

Foot placement prediction, based on the work of Wang & Srinivasan. Written by @moiravl and @Sjoerdbruijn

License: GNU General Public License v3.0

MATLAB 100.00%

footplacement's Introduction

FootPlacement

Foot placement prediction, based on the work of Wang & Srinivasavan (2014), and as used in Mahaki et al (2019), Van Leeuwen et al (2020). Feel free to use this code, but please cite one of the above work, or the DOI itself;DOI

'foot_placement_model_function_step' is a function to perform a linear regression model. It correlates the center of mass kinematic state during swing with subsequent foot placement.

We uploaded example data 'testdata.mat' which can be used to run the example code below. Here we run the foot placement model and plot the resulting relative explained variance (% explained variance).

Using the foot placement model function requires the Matlab Statistics toolbox.

clear all;
load 'testdata'

pred_samples = 1:51;
order        = 2;
removeorigin = 1;
centerdata   = 1;

[OUT,intermediates]=foot_placement_model_function_step(CoM_ML,Rfoot,Lfoot,events,fs_opto,pred_samples,order,removeorigin,centerdata)

figure;
plot((1:51)*2-2,OUT.Combined_pct.data*100)
ylabel(OUT.Combined_pct.ylabel)
title(OUT.Combined_pct.titel)
xlabel('step percentage (%)')

References

Wang, Yang, and Manoj Srinivasan. "Stepping in the direction of the fall: the next foot placement can be predicted from current upper body state in steady-state walking." Biology letters 10.9 (2014): 20140405.

Mahaki, Mohammadreza, Sjoerd M. Bruijn, and Jaap H. Van Dieën. "The effect of external lateral stabilization on the use of foot placement to control mediolateral stability in walking and running." PeerJ 7 (2019): e7939.

van Leeuwen, Anina Moira, et al. "Active foot placement control ensures stable gait: Effect of constraints on foot placement and ankle moments." bioRxiv (2020).

footplacement's People

Contributors

sjoerdbruijn avatar moiravl avatar

Stargazers

sunguangdong avatar Jean Ormiston avatar Mohammadreza Rezaie avatar Xinxing Chen avatar Tom Buurke avatar

Watchers

James Cloos avatar  avatar Mohammadreza Rezaie avatar

footplacement's Issues

nanR2

There is a call to nanr2 in the footplacementfunction that should be removed

Run possibility?

Basically, the run function used for Mohammed is almost the same, except for some lines at the start. Include an extra flag "isrunning" ?

documentation

Documentation is as of yet mostly lacking. Should be written

ORDER

Order now does relatively little as input. Should be changed. Also add option 'variable'

Autocorrelation of CoM pos and Vel?

Jeroen smeets suggested that worse prediction in PD may be because COM more eratic. He suggested someting like autocorrelation to look into this. Maybe idea?

Time normalization hard coded

I was playing around with the code and tried to change time normalization (pred_samples) from 1:51 to 1:100, however 51 is hard coded in Normalizetimebase_step.m and therefore the function returned an error.

AP possibility

For AP, it may be safe to make sure that belt walking is transformed to overground walking. Also, some variable names should then be changed. This can be done by

  1. adding input flag "direction"
  2. if direction is AP, calculate speed during stance, and add to entire time series
  3. switch between output names based on input "direction"

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.