Data Structure
The mocap data is organized as a list of frames, where each frame corresponds to a specific timestamp. Each frame contains joint data for various body parts. Below is the explanation of each field and its meaning.
Timestamps
Each frame starts with a timestamp field, indicating the time at which the data was captured. The timestamp is represented in seconds.
Joint Data
The joint_data
field contains a dictionary of joints, where each key is the name of a joint, and the value is an object containing the following properties:
Position: A list with the x, y, and z coordinates of the joint in the world space (values are in meters).
Type: The type of rotation (e.g.,
euler_xyz
,euler_x
,euler_zyx
).Rotations: A list of rotation values, which varies in length depending on the type of rotation (values are in radians). These rotations are expressed their local coordinate frame.
Torques: A list of torque values applied to the joint (values are newton-meter).
Reaction Forces: The reaction force experienced by the foot joints (values are in newton). If the value is 0.0, this means that the foot joint is not in contact with any surface.
Example of Joint Data
"Root": { "position": [-0.1304, -0.0399, 0.9518], "type": "euler_xyz", "rotations": [0.3791, -0.2012, 2.8031], "torques": [-337.3071, 241.416, 200.5884], "reaction_forces": 0.0 }
Each joint entry follows a similar structure, providing a comprehensive dataset for motion capture analysis.