A multi-node wearable joint posture measurement system and method

By managing multiple child nodes in a unified manner through a parent node, adaptive attitude estimation and asynchronous magnetometer processing are achieved, solving the problems of time skew, motion shock, and magnetic field interference in wearable joint attitude measurement systems, and improving measurement accuracy and stability.

CN123045334APending Publication Date: 2026-11-06MACAU UNIV OF SCI & TECH
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202611185646.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-08-06
Publication Date
2026-11-06

AI Technical Summary

Technical Problem

Existing wearable joint posture measurement systems suffer from time skew caused by asynchronous acquisition from multiple sensors, instability of posture calculation due to dynamic and violent motion impacts, and yaw drift caused by magnetic field disturbances in complex environments, resulting in insufficient measurement accuracy and stability.

Method used

A master node is used to manage multiple child nodes in a unified manner. The child node data is accessed in an orderly manner within the same sampling period through a shared communication bus. Combined with adaptive attitude estimation and asynchronous magnetometer processing, the attitude estimation parameters are dynamically adjusted to decouple relative joint attitudes and reduce the impact of magnetic field interference.

Benefits of technology

It effectively eliminates dynamic geometric errors caused by time misalignment, improves measurement accuracy and anti-interference capability, ensures the robustness and stability of attitude calculation under different motion states, and reduces power consumption.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN123045334A_ABST
    Figure CN123045334A_ABST
Patent Text Reader

Abstract

This invention discloses a multi-node wearable joint attitude measurement system and method. The system includes: multiple sub-nodes, each sub-node including a sub-inertial measurement unit (IMU) and a magnetometer; a parent node including a parent IMU and an edge computing module; wherein the parent node and the multiple sub-nodes adopt a topology structure of shared communication bus and independent node selection signal, and the multiple sub-nodes are accessed in an orderly manner within the same sampling period; the edge computing module includes an adaptive attitude estimation unit, a geomagnetic field data processing unit, and a relative attitude calculation unit; the adaptive attitude estimation unit is used to adaptively adjust the attitude estimation parameters, and combined with the heading error, to obtain the absolute attitude of the parent node and the absolute attitude of the multiple sub-nodes; the geomagnetic field data processing unit is used to obtain the heading error and input it to the adaptive attitude estimation unit; the relative attitude calculation unit is used to perform relative attitude calculation and output multiple relative joint attitudes, thereby improving measurement accuracy.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of wearable posture measurement and human motion analysis technology, and in particular to a multi-node wearable joint posture measurement system and method. Background Technology

[0002] Wearable joint posture measurement systems play a crucial role in modern medical rehabilitation, sports biomechanical analysis, and virtual reality (VR) full-body motion capture. However, existing wearable systems relying on inertial measurement units (IMUs) still suffer from the following technical limitations:

[0003] First, asynchronous acquisition by multiple sensors causes time skew. Traditional I2C / SPI polling mechanisms result in time skew of several milliseconds to tens of milliseconds in multi-node sampling. During violent movements, this deviation is amplified, causing the reference quaternion and the terminal quaternion involved in the calculation to be misaligned in the time dimension, resulting in severe geometric distortion and dynamic errors in the relative angle calculation.

[0004] Secondly, dynamic and violent motion impacts directly interfere with the stability of attitude estimation. Traditional attitude estimation algorithms use fixed PI gain (Kp / Ki) or equivalent acceleration correction weights, magnetic field correction weights, time constants, or observation noise parameters, which cannot take into account different motion states: slow convergence when stationary, and non-gravitational acceleration is mistakenly introduced during violent motion, leading to attitude divergence and collapse.

[0005] Third, magnetic field disturbances in complex environments cause yaw drift and increase system power consumption. In conventional nine-axis IMU solutions, magnetometers, accelerometers, and gyroscopes are sampled synchronously at high frequency. In complex environments, transient magnetic interference causes frequent yaw angle fluctuations, which also increases computational burden and power consumption. Existing solutions cannot achieve a reasonable balance between accurately eliminating long-term yaw axis drift and reducing power consumption. Summary of the Invention

[0006] This invention provides a multi-node wearable joint posture measurement system and method. Due to the time difference, dynamic and violent motion impact, and magnetic field interference that cause posture signal distortion in the hardware acquisition of multi-node sensors, the invention achieves low-latency and more realistic relative joint response by directly decoupling it on the wearable device side.

[0007] This invention provides a multi-node wearable joint posture measurement system, comprising:

[0008] Multiple sub-nodes are deployed on the distal segment of the joint to be tested. Each sub-node includes: a sub-inertial measurement unit (IMU) and a magnetometer; the sub-IMU is used to collect sub-IMU data of the joint to be tested; the magnetometer is used to collect geomagnetic field data.

[0009] A mother node, deployed in the proximal segment of the joint to be tested, includes: a mother IMU and an edge computing module;

[0010] The master IMU is used to acquire master IMU data of the joint under test;

[0011] The edge computing module is used to output multiple relative joint postures based on the parent IMU data, multiple child IMU data, and geomagnetic field data;

[0012] The parent node and the multiple child nodes adopt a topology structure of shared communication bus and independent node selection signal, and the multiple child nodes are accessed in an orderly manner within the same sampling period to obtain the sub-IMU data of the multiple child nodes;

[0013] The edge computing module includes: an adaptive attitude estimation unit, a geomagnetic field data processing unit, and a relative attitude calculation unit;

[0014] The adaptive attitude estimation unit is used to determine the current motion state based on the mother IMU data and multiple child IMU data, adaptively adjust the attitude estimation parameters, and combine the heading error to obtain the absolute attitude of the mother node and the absolute attitude of multiple child nodes.

[0015] The geomagnetic field data processing unit is used to obtain the heading error by asynchronously downsampling the geomagnetic field data and selectively performing tilt compensation based on the magnetic field quality, and input the error to the adaptive attitude estimation unit.

[0016] The relative attitude calculation unit is used to perform relative attitude calculation based on the absolute attitude of the parent node and the absolute attitudes of multiple child nodes, and output multiple relative joint attitudes.

[0017] According to the present invention, a multi-node wearable joint posture measurement system is provided, wherein the adaptive posture estimation unit includes: a first calculation subunit, a decision subunit, a configuration subunit, and an absolute posture output subunit;

[0018] The first calculation subunit is used to calculate the triaxial angular velocity magnitude, acceleration magnitude deviation, and short-time acceleration change of the current master IMU data and each of the sub-IMU data respectively, and obtain multiple corresponding calculation results;

[0019] The determination subunit is used to compare multiple corresponding calculation results with corresponding preset thresholds to determine whether the real-time motion state of each node is one of static, slight motion or violent motion.

[0020] The configuration subunit is used to configure different attitude estimation parameters for different motion states; the attitude estimation parameters are predetermined by offline calibration sample playback.

[0021] The absolute attitude output subunit is used to output the absolute attitude of the parent node and the absolute attitude of multiple child nodes by using the configured attitude estimation parameters and an attitude estimation algorithm.

[0022] The attitude estimation parameters include at least one of the following: proportional gain Kp, integral gain Ki, acceleration observation weight, magnetic field observation weight, filter time constant, or observation noise parameter.

[0023] According to the present invention, a multi-node wearable joint posture measurement system is provided, wherein different posture estimation parameters are configured for different motion states, specifically including:

[0024] When the real-time motion state is a stationary state, increase the weight of the acceleration observation;

[0025] When the real-time motion state is a slight motion state, the acceleration observation weight, which is between the static and violent motion states, is used.

[0026] When the real-time motion state is a state of violent motion, the weight of the acceleration observation is reduced;

[0027] The acceleration observation weights are smoothly corrected by introducing a continuous attenuation coefficient between different motion states.

[0028] According to the present invention, a multi-node wearable joint posture measurement system is provided, wherein the relative posture calculation unit comprises:

[0029] The second calculation subunit is used to obtain the original relative poses of the multiple child nodes relative to the mother node by inversion and composition operations based on the absolute pose of the mother node and the absolute poses of the multiple child nodes.

[0030] The zero-baseline processing subunit is used to acquire the zero-baseline attitude, which is used to characterize the original relative attitude of the child node with respect to the parent node under the standard zero-baseline attitude.

[0031] The decoupling subunit is used to obtain multiple relative joint postures by applying an inverse transformation of the zero-baseline posture to the original relative posture.

[0032] According to the multi-node wearable joint attitude measurement system provided by the present invention, the heading error is obtained by asynchronously down-sampling the geomagnetic field data and selectively performing tilt compensation based on the magnetic field mass, specifically including:

[0033] The geomagnetic field data is updated asynchronously at a frequency lower than the attitude calculation frequency;

[0034] Based on the updated geomagnetic field data, the magnetic field mass is calculated;

[0035] If the magnetic field mass meets the preset mass threshold, the tilt angle of the geomagnetic field data is compensated using the roll angle and pitch angle in the current sub-IMU data to obtain the heading error;

[0036] If the magnetic field quality does not meet the preset quality threshold, the magnetometer is disabled or its weight is reduced.

[0037] Among them, magnetic field quality includes one or more of the following: magnetic field modulus, abrupt change in direction, or effectiveness judgment.

[0038] According to the multi-node wearable joint posture measurement system provided by the present invention, the parent node further includes a direct memory access (DMA) controller and / or a FIFO buffer.

[0039] According to the multi-node wearable joint posture measurement system provided by the present invention, the relative posture calculation unit further includes: a lightweight output subunit;

[0040] The lightweight output subunit is used to convert the multiple relative joint postures into lightweight data frames containing joint angle information, node identifiers and verification information, and then output them.

[0041] According to the present invention, a multi-node wearable joint posture measurement system is provided, wherein the parent node and multiple child nodes are reused for different human joints through a joint topology configuration table.

[0042] According to the present invention, a multi-node wearable joint posture measurement system is provided, wherein the shared communication bus is an SPI bus, the parent node is connected to each of the child nodes through the SPI bus, and each of the child nodes is configured with an independent chip select signal;

[0043] The mother node reads the sub-IMU data of each child node in a preset order and adds a sampling sequence number or timestamp to each sub-IMU data.

[0044] The present invention also provides a multi-node wearable joint posture measurement method, implemented based on any of the multi-node wearable joint posture measurement systems described above, comprising:

[0045] Acquire the mother IMU data from the mother node, the child IMU data from multiple child nodes, and the geomagnetic field data;

[0046] Based on the mother IMU data and the data from multiple child IMUs, the current motion state is determined, the attitude estimation parameters are adaptively adjusted, and the absolute attitude of the mother node and the absolute attitude of multiple child nodes are obtained by combining the heading error; wherein, the heading error is obtained by asynchronously downsampling the geomagnetic field data and selectively performing tilt compensation according to the magnetic field quality.

[0047] Based on the absolute pose of the parent node and the absolute poses of multiple child nodes, relative pose calculation is performed, and multiple relative joint poses are output.

[0048] The present invention also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the multi-node wearable joint posture measurement method as described above.

[0049] The present invention also provides a computer program product, including a computer program that, when executed by a processor, implements the multi-node wearable joint posture measurement method as described above.

[0050] Compared with the prior art, the beneficial effects of the present invention are:

[0051] (1) The present invention manages multiple child nodes in a unified manner through a mother node and completes the orderly access of multiple nodes within the same sampling period, which can reduce the sampling time skew between multiple nodes, thereby fundamentally eliminating the dynamic geometric error caused by time misalignment and improving the measurement accuracy.

[0052] (2) According to the real-time motion state, the present invention adaptively adjusts the attitude estimation parameters so that the device can converge faster when stationary and reduce the false injection of non-gravitational acceleration into attitude calculation when in violent motion, thereby improving the dynamic anti-interference capability and the robustness and accuracy of attitude calculation.

[0053] (3) The present invention adopts a relative attitude decoupling and zero baseline subtraction mechanism of parent and child nodes at the edge end to separate the overall spatial orientation change of the human body, the initial installation deviation of the node and the relative motion of the target joint, thereby avoiding the superposition of rotation sequence error and installation error caused by directly subtracting multiple absolute Euler angles, and significantly improving the decoupling accuracy and stability of the relative attitude of the joint.

[0054] (4) The present invention reduces the transient impact of magnetic field interference on yaw angle by using asynchronous magnetometer quality determination and low-weight heading compensation. Attached Figure Description

[0055] To more clearly illustrate the technical solutions in this invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0056] Figure 1 This is a schematic diagram of the structure of a multi-node wearable joint posture measurement system according to an embodiment of the present invention.

[0057] Figure 2 This is a schematic diagram of the hardware structure of a multi-node wearable joint posture measurement system according to an embodiment of the present invention.

[0058] Figure 3 This is a schematic diagram of the structure of an adaptive attitude estimation unit according to an embodiment of the present invention.

[0059] Figure 4 This is a schematic diagram of the relative attitude calculation unit according to an embodiment of the present invention.

[0060] Figure 5 This is a flowchart illustrating a multi-node wearable joint posture measurement method according to an embodiment of the present invention.

[0061] Figure 6 This is a flowchart illustrating the parent-child node relative quaternion zero-bit decoupling method according to an embodiment of the present invention. Detailed Implementation

[0062] To make the objectives, technical solutions, and advantages of this invention clearer, the technical solutions of this invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this invention. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without creative effort are within the scope of protection of this invention.

[0063] Wearable joint posture measurement systems are commonly used for detecting human movement, gait rehabilitation analysis, joint flexion angle measurement, or full-body motion capture in VR. The basic working principle of these systems is as follows: Inertial Measurement Units (IMUs), which include accelerometers, gyroscopes, and magnetometers, are attached to adjacent limbs of the body (e.g., the upper arm and forearm). By measuring the direction of gravity and angular velocity of motion using the sensors, the absolute orientation of each limb in Earth's space is calculated, and finally, the difference between the two values ​​is calculated to reflect the true degree of joint flexion.

[0064] However, in practical use, the existing technology has the following drawbacks:

[0065] The primary drawback of existing technologies lies in the poor synchronization and time-skew problem of multi-node data acquisition. Traditional wearable motion capture systems mostly use I2C buses or standard single-node SPI polling mechanisms to read sensor data distributed across different joints of the human body (such as the upper arm, forearm, thigh, and calf). Due to the unavoidable delay in the interrupt response of the microcontroller (MCU) at the software level, coupled with the physical time required for serial communication, there is a time difference of several milliseconds to tens of milliseconds in the sampling timestamps of the data when the main control unit reads data from different joint nodes sequentially. When calculating relative joint angles (such as the bending degree of the elbow or knee joint), this tiny time skew is amplified dramatically during vigorous human movement, causing a misalignment in the time dimension between the calculation reference and the end quaternion, resulting in severe geometric distortion and dynamic errors due to spatial relative quaternion decoupling.

[0066] The second major drawback of existing technologies is the rigidity of the PI (proportional-integral) gain in the traditional Mahony filtering algorithm. The classic Mahony complementary filtering algorithm is widely used in IMU attitude calculation. Its core principle is to use the gravity vector and geomagnetic vector measured by accelerometers and magnetometers, calculate the attitude error through the cross product of these vectors, and then use this error to compensate for the low-frequency drift of the gyroscope via a PI controller. However, traditional schemes set the proportional gain (Kp) and integral gain (Ki) to fixed constant parameters. This fixed-parameter mechanism cannot take into account the physical characteristics of the human body under different motion states: when the wearer is in a completely still state, the gravity vector is extremely pure and stable; if Kp is too small, the system's initial alignment and convergence speed will be extremely slow. Conversely, when the wearer performs vigorous movements such as running, jumping, or swinging their arms, the accelerometer output signal will contain a large amount of strong high-frequency dynamic acceleration interference generated by limb impact. At this point, a fixed high Kp will cause the filter to over-rely on the noisy acceleration vector, incorrectly introducing non-gravitational motion acceleration into the attitude calculation loop, resulting in severe mathematical divergence and attitude collapse in the calculated pitch and roll angles in an instant.

[0067] The third major drawback of existing technologies lies in the yaw angle drift caused by high-frequency magnetometer sampling and the power consumption bottleneck of system edge nodes. In conventional nine-axis (accelerometer, gyroscope, magnetometer) IMU attitude calculation, the magnetometer is usually set to sample at high frequency in perfect synchronization with the accelerometer and gyroscope. However, in indoor or complex industrial environments, the space is filled with various hard-iron and soft-iron interference sources. Introducing high-frequency magnetometer data not only significantly increases the computational burden on the microcontroller, but also causes frequent glitches and fluctuations in the yaw angle due to transient magnetic field disturbances. In addition, the lack of an effective asynchronous frequency reduction and fusion mechanism makes it impossible for existing systems to achieve a reasonable balance between accurately eliminating long-term yaw axis drift and reducing the power consumption of the edge computing node bus, which severely shortens the battery life of wearable devices.

[0068] Therefore, the core problem to be solved by the embodiments of the present invention is: how to eliminate the time difference of multiple sensor acquisitions from the hardware level during the actual operation of the wearable multi-node attitude measurement system, and to distinguish and eliminate the influence of dynamic and severe impacts and magnetic field interference on the attitude signal in real time, so as to directly decouple low-latency and more realistic relative joint response results on the wearable device side.

[0069] The following is a detailed description of a multi-node wearable joint posture measurement system disclosed in an embodiment of the present invention.

[0070] like Figure 1 As shown, the present invention provides a multi-node wearable joint posture measurement system, comprising:

[0071] Multiple sub-nodes 40, each sub-node 401 including: a sub-inertial measurement unit (IMU) 4011 and a magnetometer 4012; the sub-IMU 4011 is used to collect sub-IMU data of the joint under test; the magnetometer 4012 is used to collect geomagnetic field data;

[0072] A mother node 10 includes: a mother IMU 101 and an edge computing module 102;

[0073] The mother IMU101 is used to collect mother IMU data of the joint under test;

[0074] The edge computing module 102 is used to output multiple relative joint postures based on the mother IMU data, multiple child IMU data and geomagnetic field data;

[0075] The mother node 10 and the multiple child nodes 40 adopt a topology structure of shared communication bus 20 and independent node selection signal 30, and perform ordered access to the multiple child nodes within the same sampling period to obtain the sub-IMU data of the multiple child nodes.

[0076] The edge computing module 102 includes: an adaptive attitude estimation unit 1021, a geomagnetic field data processing unit 1022, and a relative attitude calculation unit 1023;

[0077] The adaptive attitude estimation unit 1021 is used to determine the current motion state based on the mother IMU data and multiple child IMU data, adaptively adjust the attitude estimation parameters, and combine the heading error to obtain the absolute attitude of the mother node and the absolute attitude of multiple child nodes.

[0078] The geomagnetic field data processing unit 1022 is used to obtain the heading error by asynchronously downsampling the geomagnetic field data and selectively performing tilt compensation according to the magnetic field quality, and input it to the adaptive attitude estimation unit.

[0079] The relative attitude calculation unit 1023 is used to perform relative attitude calculation based on the absolute attitude of the mother node and the absolute attitude of multiple child nodes, and output multiple relative joint attitudes.

[0080] Specifically, the mother IMU in the mother node refers to the onboard mother IMU, which is a sensor containing a three-axis accelerometer and a three-axis gyroscope. The child IMU in the child node refers to the external child IMU, which is a sensor containing a three-axis accelerometer and a three-axis gyroscope. Each child node is also configured with a magnetometer. The reason for not using a nine-axis IMU and choosing a discrete design is to manage the magnetometer separately. The magnetometer can provide magnetic field observation information or magnetic quality judgment information. It can participate in attitude estimation when heading assistance is needed, and can also be disabled or downweighted by software policies in strong magnetic interference or strong dynamic scenarios.

[0081] The parent node can be installed on the proximal segment of the joint under test or on the reference rigid body to provide the attitude reference of the parent node; the child node can be installed on the distal segment of the joint under test or on the rigid body to be measured.

[0082] The edge computing unit is located within the parent node and communicates with the parent IMU and multiple child nodes. It is used to uniformly receive data from the parent IMU, the sub-IMU data from each child node, and the geomagnetic field data from each child node, and completes attitude calculation and joint relative attitude output at the device end.

[0083] In the adaptive attitude estimation unit, adaptive adjustment of attitude estimation parameters means that the unit can dynamically select or adjust parameters related to the reliability of sensor data in the attitude estimation algorithm, such as acceleration observation weights and magnetic field observation weights, according to changes in real-time motion state, so that the system maintains stable attitude calculation performance under different motion intensities. Incorporating heading error means including this error as a yaw correction in the attitude calculation process to suppress long-term yaw angle drift.

[0084] In the geomagnetic field data processing unit, asynchronous frequency reduction sampling means that the update rate of geomagnetic field data is lower than the update rate of the main attitude calculation, so as to reduce the computational burden and the impact of transient magnetic interference. Selective tilt compensation based on magnetic field quality means that compensation is only performed when the magnetic field data quality is reliable, and no compensation or reduction of its impact is performed when the magnetic field data quality is unreliable, thereby avoiding the introduction of erroneous magnetic field information into the attitude calculation.

[0085] In the relative attitude calculation unit, relative attitude calculation refers to eliminating the influence of the overall spatial orientation of the parent node on the attitude of the child node through mathematical operations, and obtaining the relative attitude of the child node relative to the parent node. This relative attitude is the bending or rotation angle of the joint.

[0086] The three units communicate with each other through an internal data interface, without relying on external host computers or cloud resources, thus realizing an edge computing architecture that completes all attitude calculations and outputs on the wearable device.

[0087] The shared communication bus can be a multi-point SPI bus, a standard I2C bus, or a wireless communication bus; there are no restrictions here.

[0088] An independent node select signal is a control signal or identifier used by the parent node to uniquely select a target child node for communication on the shared communication bus. Each child node corresponds to a unique node select signal. The parent node activates the corresponding child node by asserting a specific node select signal, thereby achieving time-division multiplexing and ordered access. For example, the independent node select signal can be an independent chip select signal CSx for each child node (in the SPI bus architecture), a unique device address for each child node (in the I2C bus architecture), or a unique network identifier or address code for each child node (in wireless networks), and there are no restrictions on this.

[0089] Ordered access to multiple child nodes within the same sampling period means that the parent node uses a unified sampling period (a fixed time interval in the parent node's main loop) as a time base, and sequentially selects and reads the sensor data of all child nodes within this period. Specifically, the parent node's main loop uses a fixed time interval (e.g., 10ms, corresponding to 100Hz) as the sampling period. At the beginning of each period, the parent node asserts the independent node selection signal of each child node in a preset order, sequentially reads the latest sensor data of each child node, and completes the data reading of all child nodes before the end of the period. Since the data of all child nodes is read within the same sampling period, and the parent node can attach a unified time identifier to the data within this period, the parent IMU data and the data of each child IMU are aligned in the time dimension, thus avoiding the sampling time skew problem caused by the asynchronous clocks or interrupt response delays in the traditional multi-node independent sampling method.

[0090] For example, the shared communication bus is an SPI bus, and the parent node connects to each of the child nodes through the SPI bus. Each of the child nodes is configured with an independent chip select signal. The parent node reads the sub-IMU data of each of the child nodes in a preset order and adds a sampling sequence number or timestamp to each of the sub-IMU data.

[0091] like Figure 2 As shown, in terms of the specific hardware implementation of the system, both the mother and child IMUs can be implemented using the BMI270 high-precision composite sensor, the magnetometer uses the MMC5633NJL magnetic sensor, and the edge computing unit serves as the main controller, implemented using the ESP32-S3 chip, which is a microcontroller unit (MCU) with dual-core edge computing capabilities, completing multi-channel IMU data acquisition, attitude calculation, joint relative attitude calculation, and wireless data transmission. Other sensors or microcontrollers with the same functions can also be used, and there are no restrictions here.

[0092] Multiple external child nodes are connected to the parent node via a shared SPI bus. The shared SPI bus includes SCLK, MOSI, and MISO signals, and each child node is distinguished by an independent node select signal (e.g., independent chip select signals CS1 to CS5 or node select signals NS_1 to NS_5). This architecture allows the main control module to access multiple child nodes in a time-division multiplexing manner on the same communication bus, avoiding the need to configure a separate complete communication link for each IMU, thereby reducing wiring complexity and hardware size.

[0093] It is understandable that the parent node is configured with an external IMU controlled power supply module to provide VIMU power to each child node. This module is used to manage the power supply of the external IMU nodes in a unified manner, enabling multiple child nodes to maintain a consistent power-on state within the same acquisition system, and providing the hardware foundation for subsequent node status detection, anomaly recovery, and multi-node synchronous sampling.

[0094] In joint posture calculation, the parent node serves as the reference node (parent node), and the child node serves as the measurement node (child node). The system calculates the relative posture based on the posture of the parent node and the posture of the child node, thereby obtaining the motion posture between the joint or limb segment to be measured.

[0095] Optionally, the parent node and multiple child nodes can be reused for different human joints through a joint topology configuration table. That is, this hardware topology allows the same parent-child node system to be reused for different joints or limbs of the human body, simply by changing the installation position of the child nodes and the joint configuration relationship in the software, without relying on fixed finger numbers or a single wearing position. This configuration layer may include: node label configuration, used to define the parent node and each child node;

[0096] Joint connection configuration is used to define which parent node and which child node constitute each joint;

[0097] Application mode configuration allows you to select different measurement scenarios such as fingers, wrists, elbows, shoulders, knees, and ankles;

[0098] Output channel configuration determines whether the output is a relative quaternion, a relative Euler angle, or a target joint angle;

[0099] Zero-position calibration configuration is used to save the initial relative attitude baseline under different wearing positions.

[0100] In this way, the hardware does not need to be redesigned for each joint, and the algorithm is not bound to a single hand model. Instead, it achieves the reuse of different joints throughout the body through an abstract configuration of "parent node-child node-joint connection".

[0101] To further reduce the sampling phase difference between multiple nodes, the parent node also includes a direct memory access (DMA) controller and / or a FIFO buffer; the DMA controller automatically moves the sensor data of each child node directly from the SPI data register to the designated memory buffer without CPU intervention.

[0102] It should be noted that configuring only the DMA controller, configuring only the FIFO buffer, and configuring both the DMA controller and the FIFO buffer can all reduce the sampling phase difference between multiple nodes to varying degrees. Those skilled in the art can choose the appropriate implementation method according to the actual application scenario and the requirements for time accuracy.

[0103] The above method manages multiple child nodes in a unified manner through a parent node and completes ordered access to multiple nodes within the same sampling period. This reduces the sampling time skew between multiple nodes, thereby fundamentally eliminating dynamic geometric errors caused by time misalignment and improving measurement accuracy. By combining dynamic adaptive adjustment of attitude estimation parameters with selective magnetometer fusion, high-precision and interference-resistant joint attitude measurement is achieved in wearable high-dynamic scenarios.

[0104] Optionally, the adaptive attitude estimation unit 1022 includes: a first calculation subunit 10221, a decision subunit 10222, a configuration subunit 10223, and an absolute attitude output subunit 10224.

[0105] The first calculation subunit 10221 is used to calculate the triaxial angular velocity magnitude, acceleration magnitude deviation, and short-time acceleration change of the current mother IMU data and each of the sub-IMU data respectively, and obtain multiple corresponding calculation results;

[0106] The determination subunit 10222 is used to compare the multiple corresponding calculation results with the corresponding preset thresholds to determine the real-time motion state of each node as one of static, slight motion or violent motion.

[0107] The configuration subunit 10223 is used to configure different attitude estimation parameters for different motion states; the attitude estimation parameters are predetermined by offline calibration sample playback.

[0108] The absolute attitude output subunit 10224 is used to output the absolute attitude of the parent node and the absolute attitude of multiple child nodes by using the configured attitude estimation parameters and an attitude estimation algorithm.

[0109] The attitude estimation parameters include at least one of the following: proportional gain Kp, integral gain Ki, acceleration observation weight, magnetic field observation weight, filter time constant, or observation noise parameter.

[0110] Optionally, configuring different attitude estimation parameters for different motion states specifically includes:

[0111] When the real-time motion state is a stationary state, increase the weight of the acceleration observation;

[0112] When the real-time motion state is a slight motion state, the acceleration observation weight, which is between the static and violent motion states, is used.

[0113] When the real-time motion state is a state of violent motion, the weight of the acceleration observation is reduced;

[0114] The acceleration observation weights are smoothly corrected by introducing a continuous attenuation coefficient between different motion states.

[0115] Specifically, such as Figure 3 As shown, the adaptive attitude estimation unit includes a first calculation subunit, a decision subunit, a configuration subunit, and an absolute attitude output subunit.

[0116] The first calculation subunit calculates the triaxial angular velocity modulus Norm, acceleration modulus deviation Ea, and short-time acceleration change DeltaA of the current master IMU data and each sub-IMU data.

[0117] For example, the following formula can be used for calculation:

[0118] Triaxial angular velocity modulus :

[0119] ; (1)

[0120] Acceleration Magnitude Deviation :

[0121] (2)

[0122] and short-time changes in acceleration :

[0123] (3)

[0124] in, , , These represent the three-axis angular velocities. If the angular velocity is expressed in degrees per second, then the unit of Norm is dps. If the angular velocity is expressed in radians per second, then the corresponding threshold is converted proportionally. Represents the real-time acceleration vector; This is the original acceleration vector obtained from the current sampling. This is the acceleration vector after low-pass filtering. The reference value for the gravitational modulus obtained during the static calibration phase is usually close to 1g.

[0125] The determination subunit compares the Norm, Ea, and DeltaA output by the first calculation subunit with the corresponding preset thresholds to determine the current real-time motion state of each IMU node as one of static, slight motion, or violent motion. The preset thresholds are obtained through offline calibration sample statistical calibration: for example (1) collecting samples of known motion states (static, slight motion, violent motion); (2) performing statistical analysis on the Norm, Ea, and DeltaA in the samples (such as taking the 95th percentile, median, etc.); (3) extracting the boundary values ​​that distinguish different motion states from the statistical results as preset thresholds.

[0126] The configuration subunit configures different attitude estimation parameters for different motion states based on the determined motion state. These attitude estimation parameters are predetermined through offline calibration sample playback.

[0127] For example, the configuration strategy for acceleration observation weights under different motion states is as follows:

[0128] When the real-time motion state is stationary, the accelerometer data mainly reflects the direction of gravity and has high reliability. Therefore, the weight of the acceleration observation is increased, making the attitude estimation algorithm more reliant on the accelerometer for roll and pitch angle correction.

[0129] When the real-time motion state is a slight motion state, the accelerometer data contains a small amount of motion acceleration, and the reliability is moderate. Therefore, an acceleration observation weight between the static and violent motion states is adopted to maintain a certain correction capability while avoiding the introduction of too much interference.

[0130] When the real-time motion state is a state of violent motion, the accelerometer data contains a large amount of motion acceleration, which cannot truly reflect the direction of gravity and has low reliability. Therefore, the weight of the acceleration observation is reduced to reduce the interference of motion acceleration on attitude calculation.

[0131] Furthermore, when switching between different motion states, in order to avoid attitude jitter caused by abrupt changes in acceleration observation weights, a continuous attenuation coefficient is introduced to smoothly correct the acceleration observation weights, so that the weight values ​​transition continuously at the state boundaries, ensuring the stability of attitude calculation.

[0132] The absolute attitude output sub-unit utilizes the updated attitude estimation parameters from the configuration sub-unit to perform attitude estimation algorithms (such as Mahony complementary filtering, VQF, Madgwick filtering, or extended Kalman filtering) on ​​the parent IMU data and the data from each child IMU, outputting the absolute attitude of the parent node and the absolute attitude of each child node. The absolute attitude is typically represented in quaternion form, characterizing the orientation of each node relative to the world coordinate system.

[0133] The aforementioned adaptive attitude estimation unit improves the accuracy of motion state recognition by jointly determining the motion state using three features; it dynamically adjusts the attitude estimation parameters according to different motion states, enabling the attitude estimation algorithm to maintain stable solution accuracy across the entire motion range; and it achieves smooth parameter transition through continuous decay coefficients, avoiding attitude jitter during state switching.

[0134] Optionally, the relative attitude calculation unit 1023 includes:

[0135] The second calculation subunit 10231 is used to obtain the original relative poses of the multiple child nodes relative to the mother node by inversion and composition operations based on the absolute pose of the mother node and the absolute poses of the multiple child nodes.

[0136] The zero-baseline processing subunit 10232 is used to acquire the zero-baseline attitude, which is used to characterize the original relative attitude of the child node with respect to the parent node under the standard zero-baseline attitude.

[0137] The decoupling subunit 10233 is used to obtain multiple relative joint postures by applying the inverse transformation of the zero-baseline posture to the original relative posture.

[0138] Specifically, such as Figure 4 As shown, the relative attitude calculation unit includes a second calculation subunit, a zero-baseline processing subunit, and a decoupling subunit.

[0139] The second computational subunit, based on the absolute attitude of the parent node and the absolute attitudes of each child node output by the adaptive attitude estimation unit, obtains the original relative attitude of each child node with respect to the parent node through inversion and composition operations. Treating the absolute attitude of the parent node as a reference, mathematical transformations are used to eliminate the influence of the overall spatial orientation of the parent node on the child node attitudes, while preserving the relative rotational relationship between the child nodes and the parent node. This operation is performed in quaternion space, avoiding the gimbal lock problem that may arise from direct subtraction of Euler angles.

[0140] The zero-baseline processing subunit can retrieve the zero-baseline attitude from pre-stored memory. The zero-baseline attitude refers to the original relative attitude of the child node with respect to the parent node at the current moment, recorded when the user maintains a standard zero-baseline posture (such as standing naturally with arms extended). This baseline attitude reflects fixed deviations introduced by factors such as sensor installation position, strap tightness, and housing orientation, and can be stored in non-volatile memory for subsequent decoupling.

[0141] The decoupling subunit applies an inverse transformation of the zero-baseline attitude to the original relative attitude output by the second calculation subunit, thereby eliminating the initial sensor installation deviation and obtaining the true relative joint attitude. This process is equivalent to "zeroing" the zero-baseline attitude, ensuring that the subsequently output joint angles always use the user-defined standard attitude as the reference zero point.

[0142] The aforementioned relative attitude calculation unit avoids the gimbal lock problem of Euler angle subtraction by calculating the relative attitude in quaternion space; it eliminates sensor installation deviation by recording and subtracting the zero baseline, so that the joint angle measurement is not affected by the wearing position and the tightness of the binding; the decoupling process is completed at the edge end without the need for the host computer to participate, thus ensuring real-time performance.

[0143] Optionally, the relative attitude calculation unit 1023 further includes: a lightweight output subunit 10234;

[0144] The lightweight output subunit 10234 is used to convert the multiple relative joint postures into lightweight data frames containing joint angle information, node identifiers and verification information, and then output them.

[0145] Specifically, the lightweight output sub-unit converts the calculated relative joint poses into lightweight data frames and outputs them.

[0146] The lightweight data frame can be a simplified data structure containing joint angle information (such as relative roll angle, relative pitch angle, and relative yaw angle), node identifiers (such as parent node number and child node number), and verification information (such as checksum or CRC) to ensure the integrity and traceability of data transmission. This significantly reduces the amount of data transmitted per transmission. For example, a current debugging telemetry packet containing raw IMU values, attitude values, and diagnostic values ​​from six IMUs is 1400 bytes, while for application output, the relative angle result of a single joint core can be compressed to approximately 16 bytes, and for five joints, approximately 80 bytes. This reduces the amount of transmitted data by approximately 94.3% compared to the full debugging telemetry data, facilitating its expansion into various wearable joint motion detection scenarios such as wrist, elbow, shoulder, knee, and ankle.

[0147] Through this lightweight output subunit, the system completes the entire process from raw data acquisition to joint posture output locally on the parent node, without having to upload the raw data to the host computer for processing, effectively reducing the bandwidth requirements of wireless transmission and system power consumption.

[0148] Optionally, the heading error is obtained by asynchronously downsampling the geomagnetic field data and selectively performing tilt compensation based on the magnetic field mass, specifically including:

[0149] The geomagnetic field data is updated asynchronously at a frequency lower than the attitude calculation frequency;

[0150] Based on the updated geomagnetic field data, the magnetic field mass is calculated;

[0151] If the magnetic field mass meets the preset mass threshold, the tilt angle of the geomagnetic field data is compensated using the roll angle and pitch angle in the current sub-IMU data to obtain the heading error;

[0152] If the magnetic field quality does not meet the preset quality threshold, the magnetometer is disabled or its weight is reduced.

[0153] Among them, magnetic field quality includes one or more of the following: magnetic field modulus, abrupt change in direction, or effectiveness judgment.

[0154] Specifically, the geomagnetic field data is updated asynchronously at a frequency lower than the attitude calculation frequency (the operating frequency of the system's main loop). For example, the attitude calculation frequency is 100Hz, while the geomagnetic field data update frequency is 25Hz, meaning the geomagnetic field data is updated once every four attitude calculation cycles, thereby reducing the computational burden and minimizing the impact of transient magnetic interference.

[0155] After each update, magnetic field quality is calculated based on the updated geomagnetic field data. Magnetic field quality includes one or more of the following: magnetic field modulus (to determine if the current magnetic field strength is within the normal geomagnetic field range), directional abrupt change (to determine if there is an abnormal jump in the magnetic field direction), or validity assessment (to determine if the magnetometer data is valid). These indicators are used to comprehensively evaluate the reliability of the current magnetic field environment.

[0156] If the magnetic field quality meets the preset quality threshold, it indicates that the current magnetic field environment is reliable. Then, the roll and pitch angles that have converged in the current sub-IMU data are used to perform tilt compensation on the geomagnetic field data, project the three-dimensional magnetic field vector onto the horizontal plane, and then calculate the heading error. This error is then input into the adaptive attitude estimation unit to correct yaw drift.

[0157] If the magnetic field quality does not meet the preset quality threshold, it indicates that the current magnetic field environment is disturbed (such as being near a ferromagnetic material or a strong current conductor). At this time, the magnetometer channel is disabled or its weight is reduced to avoid introducing incorrect magnetic field information into the attitude calculation and to prevent the yaw angle from changing transiently due to magnetic interference.

[0158] The aforementioned geomagnetic field data processing unit reduces computational burden and the impact of transient magnetic interference through asynchronous downsampling; it ensures that magnetometer data is introduced only in a reliable environment through magnetic field quality gating, avoiding yaw jumps caused by magnetic interference; and it ensures the accuracy of heading correction in dynamic scenarios through tilt compensation, achieving stable output of yaw angle in highly dynamic scenarios.

[0159] The following describes a multi-node wearable joint posture measurement method provided by the present invention. The multi-node wearable joint posture measurement method described below can be referred to in correspondence with the multi-node wearable joint posture measurement system described above.

[0160] like Figure 5 As shown, the present invention also provides a multi-node wearable joint posture measurement method, implemented based on any of the multi-node wearable joint posture measurement systems described above, comprising the following steps:

[0161] Step 500: Obtain the mother IMU data of the mother node, the IMU data of multiple child nodes, and the geomagnetic field data.

[0162] Step 501: Based on the mother IMU data and the data of multiple child IMUs, determine the current motion state, adaptively adjust the attitude estimation parameters, and combine the heading error to obtain the absolute attitude of the mother node and the absolute attitude of multiple child nodes; wherein, the heading error is obtained by asynchronously down-sampling the geomagnetic field data and selectively performing tilt compensation according to the magnetic field quality.

[0163] Step 502: Based on the absolute pose of the parent node and the absolute poses of multiple child nodes, perform relative pose calculation and output multiple relative joint poses.

[0164] To facilitate understanding of the embodiments of the present invention, the Mahony complementary filtering algorithm is used as the attitude estimation algorithm below, and the proportional-integral parameters Kp and Ki are used as attitude estimation parameters to illustrate the method of the embodiments of the present invention.

[0165] After the system hardware is built, the first step is to perform adaptive response calibration of dynamic motion characteristics and attitude estimation parameters. This calibration step does not directly preset fuzzy "static" or "violent motion" states, but rather collects static samples, slight joint motion samples, and violent motion samples under the actual sampling frequency, sensor range, and installation method of the system under test. The deviations of the three-axis angular velocity modulus and acceleration modulus, as well as the short-term changes in acceleration, are statistically analyzed to determine the motion state threshold and the corresponding attitude estimation parameters.

[0166] The preset threshold calibration method and the attitude estimation parameter determination method are as follows:

[0167] (1) Calculation of motion state characteristics:

[0168] The system reads the triaxial angular velocity, triaxial acceleration and geomagnetic field data of the sub-IMU and the magnetometer in each sampling period, and performs unit conversion, low-pass filtering and gyroscope zero bias subtraction on the raw data.

[0169] The triaxial angular velocity modulus is then obtained using formulas (1), (2), and (3). Acceleration modulus deviation and short-time changes in acceleration .

[0170] (2) Preset threshold calibration:

[0171] The collection time for stationary samples was 10 seconds, while the collection time for samples with slight movement and samples with vigorous movement was 30 seconds each.

[0172] The 95th percentile value of the statistical results of Norm in the stationary samples is taken and a safety margin is added to obtain the stationary angular velocity threshold. .

[0173] The median or 75th percentile of the Norm statistical results in the samples of strenuous exercise is used to obtain the reference threshold for strenuous exercise. .

[0174] The acceleration threshold is obtained by statistical analysis of the acceleration modulus fluctuation during the stationary phase and the acceleration modulus deviation during the violent motion phase.

[0175] The threshold calibration results are as follows:

[0176] Table 1. Preset threshold calibration results of Mahony complementary filtering algorithm

[0177]

[0178] It should be noted that the calibration can be recalculated using the same method for different sensor ranges, sampling frequencies, or wearing locations. , , , , And the corresponding PI gain,

[0179] (3) Determine the motion state based on the preset threshold:

[0180] Based on the thresholds in Table 1, the system classifies motion states into three categories according to the following criteria:

[0181] At rest: Norm < 1.2 dps, and E a <0.04g, and DeltaA<0.035g;

[0182] Slight motion state: Norm ≥ 1.2 dps and < 120 dps, or acceleration no longer fully meets the rest condition but does not reach the violent motion condition;

[0183] Intense exercise: Norm ≥ 120 dps, or Ea ≥ 0.20g.

[0184] (4) Determination of attitude estimation parameters:

[0185] The PI gain is determined through calibrated sample playback. Specifically, for each group of candidate K... p K i The same batch of calibration samples was played back offline under the specified parameters. The convergence time of the static segment, the attitude jitter of the slight motion segment, the attitude residual error of the violent motion segment, and the recovery time after the motion stopped were calculated. The optimal set of parameters was selected based on the above indicators. To prevent the integral term from accumulating error bias under strong dynamic impact, K... i Set to a low value during strenuous exercise.

[0186] The results of the attitude estimation parameters are shown in Table 2:

[0187] Table 2. Different motion states and their corresponding PI parameters (Kp, Ki).

[0188]

[0189] After introducing the preset threshold calibration and attitude estimation parameter determination, the following section explains how the attitude estimation parameters are adaptively adjusted, the core attitude is calculated, the decoupling of the actual joint relative attitude is performed, and the experimental verification is carried out during real-time motion.

[0190] (1) Online data collection:

[0191] The edge computing module of the mother IMU collects sub-IMU data and geomagnetic field data from each child node through a shared bus. The sub-IMU data includes acceleration data and angular velocity data.

[0192] (2) Data preprocessing:

[0193] The computational subunit of the adaptive attitude estimation unit in the edge computing module performs unit conversion, low-pass filtering, gyroscope zero bias subtraction, and sampling time dt update on all collected data.

[0194] (3) Calculation of motion characteristics

[0195] The triaxial angular velocity modulus is calculated using formulas (1), (2), and (3). Acceleration modulus deviation and short-time changes in acceleration .

[0196] (4) Determination of motion state

[0197] Compare the preset thresholds in Table 1 with the motion characteristics calculated in step (3) to determine whether the current motion state is a static state, a slight motion state, or a violent motion state.

[0198] (5) Attitude estimation parameter adjustment

[0199] After determining the current motion state, the attitude estimation parameters are updated based on the current motion state and Table 2, that is, the PI parameters are updated based on the running state.

[0200] Furthermore, to avoid sudden gain changes caused by switching between three gears, the system uses a base K... p Superimposed continuous attenuation coefficient F:

[0201]

[0202]

[0203] in, The base proportional gain corresponding to the above three states, This indicates that the result is limited to between 0.45 and 1.00. This continuous decay coefficient means that as the angular velocity and acceleration modulus deviation increase, the system places less trust in the acceleration correction term, thereby reducing the probability of non-gravitational acceleration being mistakenly introduced into the attitude calculation loop.

[0204] (6) Core attitude calculation

[0205] In the core attitude calculation phase, the system updates the attitude estimation parameters based on the current motion state, and the attitude estimation backend (i.e., the attitude estimation algorithm) updates the attitude quaternions (i.e., absolute attitude) of each IMU node. The system performs filtering updates using the online updated Kp_online and the corresponding Ki. For magnetometer data, the system adopts a low-frequency asynchronous update method; when the magnetic field magnitude or magnetic field direction changes beyond a preset range, the magnetometer channel is disabled or downweighted; when the magnetic field quality meets the conditions, the roll and pitch angles in the current attitude are used to compensate for the tilt angle of the magnetic field vector, and the yaw error is injected into the attitude calculation loop as a low-frequency correction. Thus, low-frequency drift of the yaw angle can be compensated without significantly increasing the computational burden of the main loop.

[0206] Through this step, each node first obtains its own attitude quaternion relative to the world coordinate system, i.e., its absolute attitude.

[0207] (7) Decoupling of relative attitude of real joints

[0208] To further decouple the actual joint relative poses from multiple absolute poses, this invention employs... Figure 6 The parent-child node relative quaternion zero-baseline decoupling process is shown. This process does not use direct Euler angle subtraction, but instead completes parent node pose cancellation, child node relative rotation calculation, and zero-baseline subtraction in quaternion space. The method includes the following steps:

[0209] Define the following coordinate system:

[0210] World coordinate system W: A global reference coordinate system jointly determined by the direction of gravity and the reference direction of the magnetic field;

[0211] Parent node coordinate system P: The IMU node coordinate system installed on the proximal limb of the joint under test or on the reference rigid body;

[0212] Sub-node coordinate system C: IMU node coordinate system installed on the distal limb of the joint under test or the rigid body under test.

[0213] The parent node serves as the reference node (parent node), and the child node serves as the measurement node (child node).

[0214] Let the parent node's pose quaternion be:

[0215]

[0216] Let the child node pose quaternion be:

[0217]

[0218] in, This represents a unit quaternion that rotates from the parent node's coordinate system P to the world coordinate system W. This represents the unit quaternion used to rotate from the child node coordinate system C to the world coordinate system W. In other words, and It is not an abstract quaternion in any coordinate system, but the absolute attitude in the world coordinate system obtained after attitude calculation of two IMU nodes.

[0219] In step 600, the absolute attitude input is as shown in formulas (6) and (7).

[0220] because and All are unit quaternions, and the inverse of the parent node's pose is equal to its conjugate:

[0221]

[0222] The primitive relative quaternion between parent and child nodes is defined as follows:

[0223]

[0224] It can also be written as:

[0225]

[0226] This indicates the inverse operation, which involves rotating the absolute orientation in the reverse direction. This represents the conjugate operation. The physical meaning of this formula is: first, the reverse rotation of the parent node's posture cancels out the overall orientation of the human body or the spatial orientation of the proximal limbs; then, the current rotation of the child node relative to the parent node is preserved. Therefore, when the human body turns around, raises its arm, or rotates as a whole, the common spatial orientation component will be canceled out in the quaternion product.

[0227] In step 601, the method for calculating the original relative quaternion is as shown in formula (9) or formula (10).

[0228] If there exist two quaternions:

[0229]

[0230] The Hamiltonian product of the two is:

[0231]

[0232] in:

[0233]

[0234] Substituting the poses of the parent and child nodes, let:

[0235] ; (18)

[0236] ; (19)

[0237] Substituting formulas (18) and (19) into formulas (14) through (17) and solving them simultaneously, we can obtain the original quaternions of the relative attitude. The four components.

[0238] In wearable systems, when each IMU node is fixed to the human body or carrier surface, there is usually an initial installation angle deviation. If used directly... As a joint output, this initial installation deviation will accumulate in the output angle over a long period. Therefore, this invention requires the user to maintain a standard zero-position posture after wearing the device and performs a zeroing action. The original relative quaternions of parent and child at the zeroing time t0 are recorded as the zero-position baseline. :

[0239] ; (20)

[0240] In step 602, the zero baseline processing is implemented by formula (20).

[0241] At any subsequent sampling time t, the system first calculates the current original relative quaternion. Then, subtraction is performed using the inverse of the zero baseline:

[0242] ; (twenty one)

[0243] because For a unit quaternion, the above formula can also be written as:

[0244] (twenty two)

[0245] in, This is the quaternion of the relative joint posture after deducting the initial installation deviation. This zero-point baseline can be saved in the runtime state; if it is necessary to retain the wear calibration results after power failure, it can also be written to the non-volatile memory NVS.

[0246] In step 603, the relative posture of the zero-position joint is achieved by formula (21) or formula (22).

[0247] get Subsequently, the system can convert these angles into roll, pitch, and yaw angles, or further project them into single-degree-of-freedom or multi-degree-of-freedom joint angles, depending on the application requirements. Unlike the direct subtraction of Euler angles, the relative attitude in this process is first completed in quaternion space, thus avoiding additional errors due to the non-interchangeable order of different rotation axes and reducing the risk of gimbal lock-up when approaching large-angle rotations.

[0248] In step 604, the joint angle output can be converted according to application requirements.

[0249] In step 605, during the edge encapsulation and transmission step, the edge computing module does not need to upload all raw acceleration, angular velocity, and magnetic field data. Instead, it can output the joint relative attitude, data sequence number, timestamp, and checksum field. Core output fields may include relative roll, pitch, yaw, packet sequence number, and checksum, or they can be output directly. Quaternions are used so that the host computer can continue to perform three-dimensional posture display or human kinematic analysis.

[0250] (8) Experimental verification

[0251] To verify the decoupling effect and anti-dynamic interference capability of the multi-node wearable joint posture measurement system provided in this embodiment of the invention, the following verification experiment was designed:

[0252] The parent node and multiple child nodes are rigidly fixed to the same carrier (such as a rigid plate or metal block), keeping the relative position and orientation of all nodes fixed. Since all nodes are on the same rigid body, ideally the relative angle between the parent node and each child node should be zero, which can be used to evaluate the decoupling effect and system accuracy.

[0253] Table 3 Comparison of relative angle errors for different attitude calculation methods

[0254]

[0255] Experiments show that the method of this invention can reduce the relative attitude error caused by the overall motion compared to directly outputting the absolute attitude or subtracting Euler angles.

[0256] On the other hand, the present invention also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, implements the multi-node wearable joint posture measurement method provided by the methods described above.

[0257] In another aspect, the present invention also provides a computer program product, the computer program product including a computer program that can be stored on a non-transitory computer-readable storage medium, and when the computer program is executed by a processor, the computer is able to execute the multi-node wearable joint posture measurement method provided by the above methods.

[0258] The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. Those skilled in the art can understand and implement this without any creative effort.

[0259] Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus necessary general-purpose hardware platforms, and of course, it can also be implemented by hardware. Based on this understanding, the above technical solutions, in essence or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, magnetic disk, optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute the methods described in the various embodiments or some parts of the embodiments.

[0260] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, and not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features; and these modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A multi-node wearable joint posture measurement system, characterized in that, include: Multiple sub-nodes are deployed on the distal segment of the joint to be tested. Each sub-node includes: a sub-inertial measurement unit (IMU) and a magnetometer; the sub-IMU is used to collect sub-IMU data of the joint to be tested; the magnetometer is used to collect geomagnetic field data. A mother node, deployed in the proximal segment of the joint to be tested, includes: a mother IMU and an edge computing module; The master IMU is used to acquire master IMU data of the joint under test; The edge computing module is used to output multiple relative joint postures based on the parent IMU data, multiple child IMU data, and geomagnetic field data; The parent node and the multiple child nodes adopt a topology structure of shared communication bus and independent node selection signal, and the multiple child nodes are accessed in an orderly manner within the same sampling period to obtain the sub-IMU data of the multiple child nodes; The edge computing module includes: an adaptive attitude estimation unit, a geomagnetic field data processing unit, and a relative attitude calculation unit; The adaptive attitude estimation unit is used to determine the current motion state based on the mother IMU data and multiple child IMU data, adaptively adjust the attitude estimation parameters, and combine the heading error to obtain the absolute attitude of the mother node and the absolute attitude of multiple child nodes. The geomagnetic field data processing unit is used to obtain the heading error by asynchronously downsampling the geomagnetic field data and selectively performing tilt compensation based on the magnetic field quality, and input the error to the adaptive attitude estimation unit. The relative attitude calculation unit is used to perform relative attitude calculation based on the absolute attitude of the parent node and the absolute attitudes of multiple child nodes, and output multiple relative joint attitudes.

2. The multi-node wearable joint posture measurement system according to claim 1, characterized in that, The adaptive attitude estimation unit includes: a first calculation subunit, a decision subunit, a configuration subunit, and an absolute attitude output subunit; The first calculation subunit is used to calculate the triaxial angular velocity magnitude, acceleration magnitude deviation, and short-time acceleration change of the current master IMU data and each of the sub-IMU data respectively, and obtain multiple corresponding calculation results; The determination subunit is used to compare multiple corresponding calculation results with corresponding preset thresholds to determine whether the real-time motion state of each node is one of static, slight motion or violent motion. The configuration subunit is used to configure different attitude estimation parameters for different motion states; the attitude estimation parameters are predetermined by offline calibration sample playback. The absolute attitude output subunit is used to output the absolute attitude of the parent node and the absolute attitude of multiple child nodes by using the configured attitude estimation parameters and an attitude estimation algorithm. The attitude estimation parameters include at least one of the following: proportional gain Kp, integral gain Ki, acceleration observation weight, magnetic field observation weight, filter time constant, or observation noise parameter.

3. The multi-node wearable joint posture measurement system according to claim 2, characterized in that, The configuration of different attitude estimation parameters for different motion states specifically includes: When the real-time motion state is a stationary state, increase the weight of the acceleration observation; When the real-time motion state is a slight motion state, the acceleration observation weight, which is between the static and violent motion states, is used. When the real-time motion state is a state of violent motion, the weight of the acceleration observation is reduced; The acceleration observation weights are smoothly corrected by introducing a continuous attenuation coefficient between different motion states.

4. The multi-node wearable joint posture measurement system according to claim 2, characterized in that, The relative attitude calculation unit includes: The second calculation subunit is used to obtain the original relative poses of the multiple child nodes relative to the mother node by inversion and composition operations based on the absolute pose of the mother node and the absolute poses of the multiple child nodes. The zero-baseline processing subunit is used to acquire the zero-baseline attitude, which is used to characterize the original relative attitude of the child node with respect to the parent node under the standard zero-baseline attitude. The decoupling subunit is used to obtain multiple relative joint postures by applying an inverse transformation of the zero-baseline posture to the original relative posture.

5. The multi-node wearable joint posture measurement system according to claim 1, characterized in that, The heading error is obtained by asynchronously downsampling the geomagnetic field data and selectively compensating for tilt angle based on the magnetic field mass, specifically including: The geomagnetic field data is updated asynchronously at a frequency lower than the attitude calculation frequency; Based on the updated geomagnetic field data, the magnetic field mass is calculated; If the magnetic field mass meets the preset mass threshold, the tilt angle of the geomagnetic field data is compensated using the roll angle and pitch angle in the current sub-IMU data to obtain the heading error; If the magnetic field quality does not meet the preset quality threshold, the magnetometer is disabled or its weight is reduced. Among them, magnetic field quality includes one or more of the following: magnetic field modulus, abrupt change in direction, or effectiveness judgment.

6. The multi-node wearable joint posture measurement system according to claim 1, characterized in that, The parent node also includes a direct memory access DMA controller and / or a FIFO buffer.

7. The multi-node wearable joint posture measurement system according to claim 4, characterized in that, The relative attitude calculation unit further includes: a lightweight output subunit; The lightweight output subunit is used to convert the multiple relative joint postures into lightweight data frames containing joint angle information, node identifiers and verification information, and then output them.

8. The multi-node wearable joint posture measurement system according to claim 2, characterized in that, The parent node and multiple child nodes are reused for different human joints through a joint topology configuration table.

9. The multi-node wearable joint posture measurement system according to claim 1, characterized in that, The shared communication bus is an SPI bus, and the parent node is connected to each of the child nodes through the SPI bus. Each child node is configured with an independent chip select signal. The mother node reads the sub-IMU data of each child node in a preset order and adds a sampling sequence number or timestamp to each sub-IMU data.

10. A multi-node wearable joint posture measurement method, characterized in that, Based on the multi-node wearable joint posture measurement system as described in any one of claims 1 to 9, including: Acquire the mother IMU data from the mother node, the child IMU data from multiple child nodes, and the geomagnetic field data; Based on the mother IMU data and the data from multiple child IMUs, the current motion state is determined, the attitude estimation parameters are adaptively adjusted, and the absolute attitude of the mother node and the absolute attitude of multiple child nodes are obtained by combining the heading error; wherein, the heading error is obtained by asynchronously downsampling the geomagnetic field data and selectively performing tilt compensation according to the magnetic field quality. Based on the absolute pose of the parent node and the absolute poses of multiple child nodes, relative pose calculation is performed, and multiple relative joint poses are output.