Why IMU-Based Motion Capture?
Motion capture technology is the method of tracking and recording human body movement. A motion capture suit equipped with IMU sensors makes this technology wearable and portable — no studio required. The history of motion capture technology dates back to 1914, when animator Max Fleischer invented “Rotoscoping” — a technique for tracing over live-action footage. Today, motion capture generally refers to using sensors and signal capture devices to track the movement of specific body parts, then transmitting the motion data to a host computer to drive a 3D model and naturally reproduce the action.
Human motion capture is a widely used technique in human-computer interaction, rehabilitation medicine and sports fitness. In rehabilitation, the technology can be used for epilepsy monitoring, recovery evaluation and physical therapy, which can help to get a better understanding of the patient’s physical capability. This is also being used in sports to help coaches assess an athlete’s performance more accurately and tailor their training accordingly.
Five Types of Motion Capture Systems
There are five types of motion capture systems depending on how they work:
- Optical systems: Many degrees of freedom, low latency, but high workload for post-processing, expensive equipment, markers can be easily occluded.
- Acoustic systems: Low cost, but poor real-time performance and accuracy, with no obstructions allowed between transmitter and receiver.
- Mechanical systems: Low cost, little environmental issues, high capture accuracy, but limited movement because of rigid linkage, inconvenient to wear.
- Electromagnetic systems: high real-time performance, but stringent environmental requirements — no metal objects close to the system that might affect the magnetic field.
- MEMS-based (inertial) systems: These are comprised of inertial measurement units (IMUs). Easy to wear, high degrees of freedom, good real-time performance, relatively little environmental interference — but, sensors will drift.
Although optical systems offer high precision and good real-time performance, they are prohibitively expensive and demand large dedicated spaces. MEMS-based inertial systems are low-cost, offer large freedom of movement, and are relatively easy to wear. The issues introduced by sensor characteristics can be mitigated or even eliminated through subsequent mathematical processing.
System Architecture: A Wireless Multi-Node Wearable Motion Capture Solution
A practical wearable motion capture suit is established with distributed IMU sensor nodes all over the body. As a reference implementation of the DAISCH MOCA system, 17 sensor nodes are mounted on the head, torso and all four limbs (covering all important parts of the human body of a full-body skeletal model). Real-time 6-axis inertial data is collected from each node (accelerometer and gyroscope), which then sends the data wirelessly to a host computer for processing.

Sensor Node: Self-Developed IMU
The professional system utilizes a custom-built inertial IC that differs from the off-the-shelf consumer MEMS IMU found in other systems. For instance, one of the 17 sensor nodes of DAISCH MOCA is equipped with a next-generation IMU sensors developed by DAISCH, with R&D experience gained in the fields of autonomous driving and robotics. The system is constructed from sensor data and a real-time biomechanical model of the human which results in very low long term drift and an accuracy of 0.1° attitude.
Charging Case: Integrated Storage and Power Management
While device management is one that is not always considered in research prototypes, it is a practical issue. The DAISCH MOCA system is packaged into a case that contains 17 sensors and the transceiver. Note that each node is individually allocated a charging slot, and charging takes place when the nodes are stored. No setup overhead, (open case, put on sensors, close case when finished).
With one set, you get 3 hours of battery life, which equals one rehearsal or capture session. Two sets to enable seamless rotation for uninterrupted operation, one set worn one and one set charging (full charge in 1 hour).

Wireless Communication with Optimized Protocol
The system is based on a wireless communication protocol that has been designed specifically for the motion capture application. A production system must be able to provide data integrity for full frame rate over wireless links as opposed to the wired bus approach used in other systems. End-to-end latency of the DAISCH MOCA system is 30 ms, measured in a 25-meter open space environment, and is fast and data accurate.
Automatic Node Identification
After installing the sensors into the motion capture suit, each sensor will automatically recognize the position where it is installed on the body. It goes into ready state instantly — without per node configuration. There is a traditional motion capture equipment which takes 10-30 minutes to set up nodes, but if a system is well designed, this step can be omitted.
Sensor Data Preprocessing
A high precision, high stability, low noise sensor data is the key to human motion tracking. Under high precision demands, the influence of the following factors is still the most direct, namely, the error caused by the inherent characteristics of the sensor. Thus it is crucial to correct the raw sensor data prior to attitude calculation.
Accelerometer: Eliminating Peak Signals with Angular Acceleration Fusion
Systematic and human induced errors invariably occur in the measurement taken by an accelerometer. High frequency noise that can be effectively eliminated by a standard low-pass filter, is called systematic errors, and occurs during sensing. The main errors made by the human are caused by the jitter effect which are mostly due to the human body movements, these errors can be smoothed by using a median filter.
But with the fast motion there is a more critical issue:
When the accelerometer flips rapidly, for instance when a sensor on the body is rotated from front to back, the direction of gravitational acceleration will switch from the negative z-axis to the positive z-axis. At this change, the linear acceleration measurement of the accelerometer yields an abrupt peak signal. The wearer is not always able to move slowly in a real-time human motion tracking system and such large signals are prone to occur and negatively affect subsequent attitude analysis accuracy. A typical low-pass filter will eliminate most peak signals, but will also cause a considerable output delay (unacceptable in a real-time system).
The answer: angular acceleration fusion:
If the accelerometer detects a sudden change in the direction of gravity, it is called the peak signal. The gyroscope also senses a distinct decrease in rotational speed, from a calm state to one of movement. The accelerometer has a poor dynamic performance, and the instantaneous dynamic response of the gyroscope can be used to cancel out the peak signal. The time derivative of the gyroscope’s angular velocity data is used to get the instantaneous angular acceleration. If the translational motion is absent and there is no multi-axis rotation, linear acceleration and angular acceleration are proportional — and the abrupt change in linear acceleration can be remedied by the velocity change that is shown by the change in angular acceleration.
The correction formula is applied to each axis. For example, the z-axis:
The x- and y-axis values from the gyroscope are integrated and then the absolute value is corrected. The units are different so an appropriate scaling factor is applied during correction. Lastly the original direction of data is maintained. By the right hand rule, the direction of the angular velocity is perpendicular to the direction of rotation, so if you are turning around the z axis, the change in the angular velocity in the z axis will occur in the x and y axes.
Gyroscope: Zero-Bias Correction
Low frequency noise is present on the gyroscope. It can be broken down into systematic drift and random drift. Systematic drift is mostly regular, deterministic, and can be minimized by the internal low-pass filter of the sensor (e.g., non-orthogonality of the three sensor axes, scale factor errors). Random drift is time dependent and generally consists of a constant zero-offset bias, temperature drift and random walk.
By experiment it was found that the angular velocity is measured relatively accurately at each moment by the gyroscope, and the angle of rotation can be calculated by integrating the measured angular velocity. As the integration time increases, however, drift increases. In the case of temperature drift, the sensor should be preheated prior to start of attitude calculation. If offset is needed for constant offset bias, the offset is taken as the average of the first sample points and is subtracted from all subsequent calculations of offset. The number of gyroscopes to be averaged should be as large as practicable, and the sensors should be left on for some time before averaging to ensure that they are at a reasonably stable temperature. Mostly in practice, motion capture is done in an indoor environment where the capture session is relatively short, and the temperature measured by the sensor is assumed to be stable during the motion capture process.
Complementary Filtering for Attitude Fusion
Why Complementary Filtering?
The complementary filtering algorithm achieves attitude estimation by exploiting the frequency-domain complementary characteristics of the accelerometer and gyroscope — a 6-axis IMU configuration. The accelerometer provides relatively accurate pitch and roll estimates under static or low-speed conditions, exhibiting low-pass characteristics (its instantaneous values contain high-frequency noise, so low-pass filtering is needed). The gyroscope has excellent dynamic response: under rapid motion, the angular velocity it measures is relatively accurate, and the angle over time can be obtained by integrating angular velocity. However, as computation time increases, cumulative drift gradually builds up, requiring high-pass filtering.
A 6-axis IMU configuration (accelerometer + gyroscope) does not use a magnetometer. The yaw angle is obtained through gyroscope integration, while pitch and roll are periodically corrected using the gravity vector from the accelerometer. The low-drift characteristics of a high-precision IMU — such as DAISCH’s self-developed IMUs — help slow the accumulation of yaw error. The complementary filtering algorithm has clear and concise logic, high execution efficiency, and relatively low computational requirements.
The Complementary Filter with PI Controller
The complementary filter combines two signal paths:
- A low-pass path for the accelerometer (filtering out high-frequency motion noise; provides gravity reference for pitch and roll correction)
- A high-pass path for the gyroscope (filtering out low-frequency drift; provides responsive 3-axis angular velocity for all three Euler angles)
A PI (Proportional-Integral) regulator is introduced to control the error, providing adaptive and robust characteristics. The PI regulator has two critical parameters: Kp is the proportional term, which reacts quickly to deviations — increasing Kp speeds up system response, but excessive proportional control intensifies system oscillation. Ki is the integral term, which outputs the integral of the deviation over time — it gradually eliminates steady-state error as time progresses.
The 6-Axis Complementary Filter Implementation
The complementary filter for a 6-axis IMU (accelerometer + gyroscope only) proceeds through five steps:
Since the direction of gravitational acceleration in the geographic frame is always uniquely defined (pointing downward), convert the geographic gravity reference vector [0 0 1] into the body frame using the current attitude estimate.
Normalize the accelerometer measurement in the body frame to obtain the currently measured gravity direction vector.
In the body frame, compute the cross product of the measured acceleration vector and the theoretical gravity vector. The cross product yields the angular offset between the two vectors — this is the attitude error e, which encodes correction information for both pitch and roll. (In a 6-axis configuration, there is no magnetometer-derived yaw correction; yaw is maintained purely by gyroscope integration and is periodically constrained by assumptions about the wearer’s dominant motion plane.)
Apply PI regulation to the computed error offset, then add the resulting correction term to the gyroscope data in the body frame.
In the body frame, substitute the corrected gyroscope data into the quaternion differential equation for integration and update. Finally, convert the updated quaternion to obtain the calibrated Euler angles (roll, pitch, yaw).
Adaptive Dynamic Threshold for High-Speed Motion
When the body is in high-speed motion, the acceleration values obtained by the accelerometer contain not only gravitational acceleration but also nonlinear acceleration components from the body’s own movement. This causes the pitch and roll angle estimates derived from the accelerometer (which relies on the static assumption) to have increased error, essentially losing the ability to correct the gyroscope-based quaternion attitude calculation.
To address this, an adaptive dynamic threshold mechanism is introduced:
An adaptive error correction method is designed that uses the accelerometer itself to automatically adjust the error offset. The deviation between the current acceleration vector magnitude and the gravitational acceleration value is continuously monitored. When the sensor is in high-speed motion and the deviation exceeds a static threshold (defined using the noise variance of the accelerometer under static conditions), the system no longer trusts the error computed from the accelerometer data — effectively suspending its compensatory effect on the gyroscope quaternion attitude.
This prevents corrupted accelerometer readings during rapid movement from contaminating the attitude estimate, while still allowing the accelerometer to correct gyroscope drift whenever the wearer returns to a relatively static or slow-moving state.
System Performance Characteristics
The following data is indicative of what a production quality wearable IMU motion capture system can do, and assumes DAISCH MOCA is used as a reference.
Node Count and Data Rate
Full-body configuration requires 17 sensor nodes in the head, body and four limbs. All 17 nodes can deliver 6-axis inertial data at the same time, over the optimized wireless protocol with full frame-rate integrity without packet loss.
System Latency
From the capture of the sensor data to the 3D avatar’s response that is displayed on the screen takes 30ms end-to-end. It’s measured in a 25 meter open space and includes the complete pipeline delay, from sensor acquisition to wireless transmission, unpacking of the data, attitude computation and rendering.
Other systems with wired RS485 buses have achieved raw latency of up to 9.8 ms per frame at 60-120 frames per second data rates, which is the maximum data rate at which data is transmitted on the bus, but does not account for delays due to WiFi transmission and rendering. For real-time motion capture, which is a key use case for the DAISCH MOCA system, a latency of less than 30 milliseconds is a good enough value for the end-to-end wireless latency, which depends on the number of segments.For the four most important applications for which the DAISCH MOCA system is targeted (dance, martial arts, sports, and stunt performance), a wireless end-to-end latency of less than 30 milliseconds is acceptable.
Attitude Accuracy
The system is developed by IMU designed by the researchers themselves, and the real time human biomechanical model for attitude calculation is also developed by the researchers themselves, which provide an attitude accuracy of 0.1°. Most important, this accuracy is maintained throughout long duration capture sessions without the drift that is present in lower grade inertial systems.
For reference, the 360° roll, pitch, and yaw RMSE on a turntable using research prototypes similar to the present article with complementary filtering algorithms is < 0.53° (roll), < 0.98° (pitch), and < 0.76° (yaw). The shift of ~1° to 0.1° is made possible by mass customization, by using an IMU that is self-developed using the MEMS design, which is a challenge that consumer MEMS IMUs cannot achieve.
The following table compares three categories of motion capture suit and system approaches:
Comparison: Optical vs. Traditional Inertial vs. Next-Generation IMU
| Dimension | Optical Mocap | Traditional Inertial | Next-Gen IMU (DAISCH MOCA) |
|---|---|---|---|
| Position Accuracy | High | Drift issues | High (VSLAM-locked) |
| Venue Requirement | Dedicated studio + setup | Indoor, limited space | Any space |
| Equipment Cost | ¥500K–2M | Tens to hundreds of thousands | From ¥29,500 |
| Wearability | Professional operation needed | Cumbersome, multiple straps | Wear-and-go, zero setup |
| Occlusion Handling | Severely affected | Unaffected | Unaffected |
| Portability | Fixed installation | Relatively movable | Fully portable (integrated case) |
Remaining Challenges
Some movements are still difficult, even with production systems. This deviation can be visually detected when a sensor moves slightly for a specific action; for instance, the sensor on the thigh rotates a little bit as the leg is lifted. Small rotations in the auxiliary direction (e.g., rotation at the hip joints while rotating the upper body) can be partially missed by the algorithm. Current issues to be addressed are sensor offset in its initial calibration position, development of algorithm filters to enhance the accuracy, and having the model jitter as the processing pipeline lengthens.
Summary and Engineering Recommendations
The system consists of multi-IMU sensor data preparation, preprocessing (peak removal and bias correction), complementary filtering using PI regulation (adaptive dynamic threshold for the high-speed motion), quaternion-based attitude output, and skeletal kinematics for 3D avatar reproducing.
This pipeline in a production ready system such as DAISCH MOCA is augmented with:
- Self-developed IMUs taking the place of consumer MEMS IMUs with 0.1° attitude accuracy.
- The ability to overcome the position drift problem by solving it fundamentally at all times with IMU + VSLAM fusion positioning, addressing gaps where visual data is not available.The IMU + VSLAM fusion positioning to eliminate position drift fundamentally at all times, covering occlusion gaps where visual data is not available.
- Auto-identification of the nodes without manual per-sensor configuration
- A key advantage of the optimized wireless protocol is its ability to deliver an end-to-end latency of 30ms across 17 nodes.
- Built-in charging case for 3 hours charging and dual set hot-swap.
- Direct integration with the main robotics simulation and training platforms and frameworks with BVH standard format export.
The practical lessons to be learned for engineers designing and testing an IMU-based wearable motion capture suit system are:
- Preprocess before fusing: Correct each sensor’s raw data separately (angular acceleration fusion for accelerometer peaks, etc., for gyroscopes remove the zero-bias). The methods are applicable to all grade of sensors, but these methods are more harmful to apply to the high grade IMUs.
- Select complementary filtering for embedded real-time applications: This is more computationally efficient than an Extended Kalman Filter and yet it gives good accuracy for the majority of motion capture applications. The algorithm’s execution efficiency also makes it suitable for low cost, low power embedded processors.
- Carefully tune PI regulator: Kp determines convergence speed, Ki determines steady state convergence. Use conservative values and slowly increase the value looking for oscillations. The adaptive dynamic threshold (disabling correction during high speed motion) is crucial — if this is not implemented, then what the accelerometer returns during high speed movement will taint the attitude estimate.
- Set and Calibrate Initial Sensor Placement: Calculate the orientation offset in the form of a quaternion required to transform the sensor’s coordinate frame into the desired bone’s coordinate frame. If not, then it will cause rotational error to build up down the skeletal chain. This is greatly simplified with automatic node identification (as in DAISCH MOCA).
