Hi all,
I am trying to find the specifics on how OpenSim's kinematics analysis tool computes joint angular velocity.
I've always assumed that this was achieve via fitting a GVC spline to the joint angle positions, then the spline is differentiated to get the joint angular velocity (and a simple test using the api seems to confirm this). However, I have peer reviewer arguing that differentiating joint angles to get joint angular velocities is not appropriate for 3D joint angle data. They have not been clear why, but my assumption that their argument is based on information like this:
https://c-motion.com/v3dwiki/index.php/ ... r_Velocity
It is a challenge to respond without confirming what OpenSim is actually doing in the back end. Can anyone provide some clarity? I've been unable to find a clear answer on the OpenSim documentation, doxygen, Github or SimTK forum.
Regards,
Nirav
Joint angular velocity computation method
- Nirav Maniar
- Posts: 32
- Joined: Tue May 12, 2015 11:03 pm
- Thomas Uchida
- Posts: 1804
- Joined: Wed May 16, 2012 11:40 am
Re: Joint angular velocity computation method
Please see the InverseDynamicsTool::run() method, from line 332 (https://github.com/opensim-org/opensim- ... l.cpp#L332). The coordinates are low-pass filtered (line 346) using the cut-off frequency specified by the user (see the "Filter coordinates" box: https://simtk-confluence.stanford.edu:8 ... amics+Tool) and GCVSplines of degree 5 are then created (line 353).