International Society of Biomechanics
Gold sponsor

Restricted Access Notice

Access to our files is only available if you are logged in as a member

Data Resources

Ton van den Bogert

Benchmark data and software for 2-D inverse dynamic analysis of running.

Inverse dynamics benchmark data 

This page provides access to data which may be used to test 2-D inverse dynamics software. The data were obtained from a direct dynamics simulation of running, so there is no noise and the intersegmental loads (joint forces and joint moments) are exactly known. Details may be found, until a full paper is written, in an abstract for the 1996 CSB congress in Vancouver ( PDF file or text-only).


Bogert, A.J. van den, and J.J. de Koning, "On optimal filtering for inverse dynamics analysis," Proc. 9th CSB Congress, Burnaby, B.C., pp. 214-215, 1996. 

Contributed by: Ton van den Bogert (This email address is being protected from spambots. You need JavaScript enabled to view it.). Please report problems and errors. 

The data files generated by the direct dynamics simulation contain 6001 samples, with sampling interval 0.1 ms. Sample 3001 is heel strike. 



  • Joint position data (filename all.kin). The file has 8 columns: 
  • 1-2 hip position (x,y) 
  • 3-4 knee position 
  • 5-6 ankle position 
  • 7-8 toe position 
  • Ground reaction force data (filename all.frc). The file has three columns: 
  • 1-2 Fx and Fy 
  • 3 X-coordinate of point of application 
  • Known resultant joint moments (filename The file has three columns: hip, knee, ankle moment. 
  • Known resultant joint forces (filename all.fmg). The file has three columns: hip, knee, ankle force. Note: the file contains only the magnitudes of the resultant force vectors. 


These files are available in UNIX format (invdyn_tar.Z, 564 kB) and ZIP format (, 537 kB). 

Inertial properties

The 2-D musculoskeletal model had the following inertial properties: 

segment       mass [kg]       mom.inertia [kg.m2]    CM to prox joint [% segment length]
THIGH		6.85		0.145361267		0.4323725
SHANK		2.86		0.042996389		0.4334975
FOOT		1.00		0.0200			0.0


A conventional (from the ground up) inverse dynamics analysis can be done using the joint position and ground reaction force data. The results should be the same as the known resultant joint moments and forces. 

The idea then is to resample the data files (e.g. use every 50th sample to get 200 samples/s) and add noise, to simulate properties of a typical data collection system. The inverse dynamics analysis is then done on this simulated data set, and differences between the results and the known intersegmental joint forces and moment are studied. The effect of different low-pass filtering strategies will be especially important. When simulating noise, it is important to repeat the procedure several times, without resetting the random number generator, in order to know the reproducibility. 

You can use your own 2-D inverse dynamics software, or copy and adapt the following Matlab programs. These programs are free to use, copy and modify, provided that the source is acknowledged. It is the user's responsibility to verify the results of the calculations. 


  • idynopt.m - To find optimal filter parameters for 2-D inverse dynamics analysis 
  • idynfun.m - Performs 2-D inverse dynamics analysis (called by idynopt.m) 
  • idynplt.m - Plots results of 2-D inverse dynamics analysis (called by idynopt.m) 
  • matfiltfilt.m - Double recursive Butterworth filter (called by idynfun.m) 
  • inv2d.m - Solve inverse dynamics problem for one segment (called by idynfun.m) 
  • cross2d.m - 2-D cross product (called by inv2d.m)