# How can I calculate kinematics of ankle joint after calculating local coordinates of the foot and shank from the 3D position of markers?

7 views (last 30 days)
Tomaszzz on 12 Jan 2024
Hi all,
I have a human 3D motion data (walking straight).
I want to calculate ankle joint kinematics.
I have calculated the local coordinates of the foot and shank segments using the XYZ coordinates (in meters) of 3 markers from each segment. Code for shank coordinate system ( as suggested by ChatGPT):
% The shank coordinate system axes (lateral malleoli, medial malleoli, head of fibula)
l_shank_x = (llmal - lmmal) / norm(llmal - lmmal);
l_shank_y = cross(l_shank_z, l_shank_x);
l_shank_z = cross(lfib - lmmal, llmal - lmmal) / norm(cross(lfib - lmmal, llmal - lmmal));
% Ensure axis vectors are normalized
l_shank_x2 = l_shank_x / norm(l_shank_x);
l_shank_y2 = l_shank_y / norm(l_shank_y);
l_shank_z2 = l_shank_z / norm(l_shank_z);
% Create the shank rotation matrix
lshank_rotation_matrix = [l_shank_x2', l_shank_y2', l_shank_z2'];
These coordinates are attached for both the foot and the shank (both 868x9 double).
I have also calcuted ankle joint center (attached):
l_ankle_cent = lcal + lmet5/2;
I wonder what is the general framework to follow to calculate ankle joint 3D kinematics (in degrees) from here?