TeslasuitDocumentation
Concepts

Motion capture

Motion capture (Mocap) records the movement of a person by tracking the position and orientation of key points on the body and translating them into digital data, producing a real-time digital representation of the user, an avatar. It is used across animation, gaming, sports, biomechanics, and healthcare. Unlike camera-based systems, TESLASUIT mocap is inertial: it derives motion entirely from sensors worn on the body, so it needs no external cameras, line of sight, or fixed capture volume.

IMU basics#

TESLASUIT mocap uses set of 14 inertial measurement units (IMUs), distributed across the body (upper arms, wrists, hands, the back, thighs, shins, and feet). Each IMU combines three sensors:

  • an accelerometer (linear acceleration),
  • a gyroscope (angular velocity)
  • a magnetometer (orientation relative to the Earth's magnetic field).

Together they describe how each body segment moves in space. Fusing all 14 IMUs produces the full-body avatar. See Hardware - Components for sensor placement.

What Mocap produces#

Fusing the sensors yields three layers of data, from lowest to highest level:

  • Raw data is the unprocessed per-sensor output: gyroscope (angular velocity), accelerometer (linear acceleration), magnetometer (magnetic field), fused orientation quaternions, linear acceleration with gravity removed, and a timestamp.
  • Skeleton data is a digital skeletal model of interconnected bones that mirrors the wearer's posture in real time. Each bone carries a position (its x, y, z coordinates) and a rotation (its orientation, stored as a quaternion).
  • Biomechanical angles are the relative angles between connected bones at each joint.

In the Python API these three layers are streamed and read through the TsMocap subsystem. For the exact field names and units, see Mocap API and Core Data Structures.

Quaternions

Orientation is stored as a quaternion: a four-component representation of a 3D rotation, with one scalar for the amount of rotation and three values for the axis. Quaternions avoid gimbal lock and interpolate smoothly, which is why motion capture uses them instead of Euler angles.

Biomechanical angles#

A biomechanical angle is the angle between two bones meeting at a joint, measured in degrees. Angles are grouped by the type of movement and the anatomical plane it occurs in:

  • Flexion and extension bend or straighten a joint, in the sagittal plane. A knee increases its flexion angle as the leg bends.
  • Abduction and adduction move a limb away from or toward the body's midline, in the frontal plane. Raising an arm sideways abducts the shoulder.
  • Internal and external rotation turn a bone around its long axis, in the transverse plane.

These angles support analysis of joint flexibility, posture, and movement efficiency, and are widely used in sports performance, rehabilitation, and ergonomics.

6-axis vs 9-axis modes#

The IMUs can operate in two modes, each balancing robustness and absolute-heading accuracy:

ModeSensors usedStrengthWeakness
9-axisaccelerometer + gyroscope + magnetometerBetter absolute heading referenceMagnetometer is sensitive to nearby ferromagnetic objects and stray fields
6-axisaccelerometer + gyroscopeImmune to magnetic interferenceMore prone to heading drift; calibration is not persisted between sessions

Warning

The 9-axis (magnetometer-enabled) mode is still in development and should not be used as the default setting. It is available only in test mode and is not recommended for general operation.

Use 9-axis mode only in a magnetically clean environment for test scenarios, and use 6-axis mode in all standard cases, especially where nearby metal or electronics could corrupt the magnetometer. See Hardware - Wearing and Concept - Calibration.

Note

Studio uses 6-axis mode by default. Manual 9-axis mocap calibration is an experimental setting and available only in test mode. See Studio - Data Capturing.

Accuracy and drift#

Reported orientation accuracy is on the order of 0.5° in roll and pitch and 1° in heading, at up to 100 frames per second (Hardware - Specifications).

Honesty item: drift

All inertial mocap accumulates error over time, and TESLASUIT is no exception. Two forms matter:

  • Heading drift. The avatar's orientation about the vertical axis slowly rotates away from truth, because heading has no continuous absolute reference (most pronounced in 6-axis mode).
  • Root drift. The avatar's root and world position gradually wanders, since position is integrated from acceleration and small errors compound.

This is inherent to the method, not a defect.

Where this is used#