A human body dynamic joint angle measurement system
By configuring multiple sensors on the human body and calculating the angles in the joints using matrix and quaternary transformation technology, the problems of low efficiency and low accuracy of joint angle measurement in the prior art are solved, and dynamic measurement and multi-scene application are achieved.
Patent Information
- Application Number
- CN202111106187.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-22
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2041-09-22
AI Technical Summary
The existing human joint angle measurement methods require manual assistance, with a single application scenario and a high threshold for use, resulting in low measurement efficiency and low accuracy.
A dynamic joint angle measurement system for human body is designed, data is collected through N sensors arranged on the object to be tested, and the joint angle data is calculated using matrix transformation and quaternary transformation techniques, and motion trend prompts are provided.
It realizes accurate measurement of joint angles under dynamic conditions, reduces dependence on professionals, improves measurement efficiency and accuracy, and is suitable for a variety of measurement application scenarios.
Smart Images

Figure CN115919250B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the medical field, and in particular to a human body dynamic joint angle measurement system. Background Art
[0002] With the advent of the Internet era and the rapid development of medical technology, motion trend prediction has received more and more attention in the medical field. The measurement of human joint angles has also been continuously optimized and updated with technological iterations, and there are increasingly higher standards for the measurement of human joint angles.
[0003] The current method of measuring human joint angles requires keeping the limbs still and requires the assistance of professionals. For example, the protractor gauge measurement only measures the joint activity angle of the human body in a static state. If the human body is in a dynamic state, accurate measurement results cannot be obtained; the protractor gauge measurement requires the assistance of specialized medical personnel to wear and record the measurement results. Overall, the current method of measuring human joint angles has a single application scenario, a high threshold for use, and a strong dependence on professionals, which leads to low measurement efficiency and low measurement accuracy. Summary of the invention
[0004] The embodiment of the present application provides a human body dynamic joint angle measurement system, which can be applicable to a variety of measurement application scenarios and can improve measurement efficiency and measurement result accuracy.
[0005] On the one hand, the present application provides a human body dynamic joint angle measurement system method, comprising:
[0006] In T i At the time, the attitude and orientation angle in the carrier coordinate system collected by N sensors configured on the object to be measured is obtained; i is a positive integer, and N is a positive integer greater than 1;
[0007] Acquire the position coordinates of N sensors in the carrier coordinate system according to the attitude azimuth angle, and map the position coordinates corresponding to each sensor into quaternion variables;
[0008] Performing matrix transformation on the quaternion variables to obtain first rotation matrix variables corresponding to each sensor, and performing joint transformation operation on the first rotation matrix variables corresponding to each sensor to obtain target rotation matrix variables;
[0009] According to the target rotation matrix variable, generate i The angle data between the N sensors at the time;
[0010] According to T i The angle data at the time instant provides a motion trend prompt for the object to be measured.
[0011] Furthermore, the N sensors include sensor S i , i is a positive integer less than or equal to N; i At the moment, the attitude and orientation angle in the carrier coordinate system collected by N sensors configured on the object to be measured is obtained, including:
[0012] In T i At this moment, obtain the sensor S configured on the object to be measured i The collected X-axis acceleration data, Y-axis acceleration data, Z-axis acceleration data, X-axis angular velocity data, Y-axis angular velocity data, and Z-axis angular velocity data in the carrier coordinate system;
[0013] Performing attitude calculation on the X-axis acceleration data, the Y-axis acceleration data, the Z-axis acceleration data, the X-axis angular velocity data, the Y-axis angular velocity data, and the Z-axis angular velocity data to obtain the angle data of the carrier coordinate system rotating around the X-axis of the inertial coordinate system, the angle data of the carrier coordinate system rotating around the Y-axis of the inertial coordinate system, and the angle data of the carrier coordinate system rotating around the Z-axis of the inertial coordinate system;
[0014] The angle data of the carrier coordinate system rotating around the inertial coordinate system X axis, the angle data of the carrier coordinate system rotating around the inertial coordinate system Y axis and the angle data of the carrier coordinate system rotating around the inertial coordinate system Z axis are determined as sensor S i The corresponding attitude angle.
[0015] Further, the position coordinates of N sensors in the carrier coordinate system are acquired according to the attitude azimuth angle, and the position coordinates corresponding to each sensor are mapped into quaternion variables, including:
[0016] The position coordinates of N sensors in the carrier coordinate system are acquired according to the attitude azimuth angle, and the position coordinates corresponding to each sensor are mapped with imaginary units according to a linear relationship to obtain the quaternion variable.
[0017] Further, matrix transformation is performed on the quaternion variables to obtain first rotation matrix variables corresponding to each sensor, and the first rotation matrix variables corresponding to each sensor are jointly transformed to obtain target rotation matrix variables, including:
[0018] The sensor S i The real units and imaginary units of the corresponding quaternion variables are eliminated to obtain a fourth-order real matrix;
[0019] According to the sensor S i The corresponding quaternion variables are transformed from the carrier coordinate system to the inertial coordinate system in the order, and the fourth-order real matrix is transformed to obtain the sensor S iThe corresponding first rotation matrix variable; the origin of the inertial coordinate system coincides with the origin of the carrier coordinate system, and the directions of the axes of the inertial coordinate system and the world coordinate system coincide;
[0020] The first rotation matrix variables corresponding to each sensor are jointly transformed to obtain the target rotation matrix variables.
[0021] Furthermore, the N sensors also include sensor S j , j is a positive integer less than or equal to N; the first rotation matrix variables corresponding to each sensor are jointly transformed to obtain the target rotation matrix variables, including:
[0022] Will be with sensor S i Sensor S forming an angle relationship j The corresponding first rotation matrix variable is determined as the second rotation matrix variable;
[0023] The sensor S i The first rotation matrix variable is related to the sensor S j The product of the transpose of the first rotation matrix is determined as the updated position matrix variable;
[0024] According to the equivalence condition relationship between the updated position matrix variable and the second rotation matrix variable, the updated position matrix variable is integrated and verified to obtain a target rotation matrix variable.
[0025] Further, according to the target rotation matrix variable, generate i The angle data between the N sensors at a certain moment includes:
[0026] According to the equivalence condition between the target rotation matrix variable and the angle variable matrix used to calculate the angle data between the N sensors, a rotation matrix is generated in T i The angle data between the N sensors at the moment.
[0027] Furthermore, according to T i The angle data at the time instant provides a motion trend prompt for the object to be measured, including:
[0028] Get T i The target angle range of the angle data at the moment;
[0029] Obtaining a motion prompt table; the motion prompt table includes motion trend types corresponding to at least two angle ranges;
[0030] Searching the target motion trend type corresponding to the target angle range in the motion prompt table;
[0031] Prompt the object to be tested for its motion trend according to the target motion trend type.
[0032] On one hand, the present application provides a human body dynamic joint angle measurement system device, comprising:
[0033] Get module for use in T i At the time, the attitude and orientation angle in the carrier coordinate system collected by N sensors configured on the object to be measured is obtained; i is a positive integer, and N is a positive integer greater than 1;
[0034] A mapping module, used for obtaining the position coordinates of N sensors in the carrier coordinate system according to the attitude azimuth angle, and mapping the position coordinates corresponding to each sensor into a quaternion variable;
[0035] A matrix transformation module, used for performing matrix transformation on the quaternion variables to obtain first rotation matrix variables corresponding to each sensor, and performing joint transformation operation on the first rotation matrix variables corresponding to each sensor to obtain target rotation matrix variables;
[0036] Angle module, used to generate the target rotation matrix variable in T i The angle data between the N sensors at the time;
[0037] The motion result module is used to provide motion trend prompts for the object to be tested according to the angle data at time Ti.
[0038] The acquisition module includes:
[0039] A coordinate axis acquisition unit is used to acquire, at time Ti, X-axis acceleration data, Y-axis acceleration data, Z-axis acceleration data, X-axis angular velocity data, Y-axis angular velocity data, and Z-axis angular velocity data in the carrier coordinate system collected by the sensor Si configured on the object to be measured;
[0040] An attitude calculation unit is used to perform attitude calculation on the X-axis acceleration data, the Y-axis acceleration data, the Z-axis acceleration data, the X-axis angular velocity data, the Y-axis angular velocity data, and the Z-axis angular velocity data to obtain the angle data of the carrier coordinate system rotating around the X-axis of the inertial coordinate system, the angle data of the carrier coordinate system rotating around the Y-axis of the inertial coordinate system, and the angle data of the carrier coordinate system rotating around the Z-axis of the inertial coordinate system;
[0041] The attitude and orientation unit is used to determine the angle data of the carrier coordinate system rotating around the inertial coordinate system X-axis, the angle data of the carrier coordinate system rotating around the inertial coordinate system Y-axis and the angle data of the carrier coordinate system rotating around the inertial coordinate system Z-axis as the attitude and orientation angle corresponding to the sensor Si.
[0042] Among them, the mapping module is specifically used to obtain the position coordinates of N sensors in the carrier coordinate system according to the attitude azimuth angle, and obtain the quaternion variable after mapping the position coordinates corresponding to each sensor with imaginary units according to a linear relationship.
[0043] Among them, the matrix transformation module includes:
[0044] A unit elimination unit, used to eliminate the real units and imaginary units of the quaternion variable corresponding to the sensor Si to obtain a fourth-order real number matrix;
[0045] A coordinate system transformation unit, configured to transform the fourth-order real number matrix according to the order in which the quaternion variables corresponding to the sensor Si are transformed from the carrier coordinate system to the inertial coordinate system, so as to obtain a first rotation matrix variable corresponding to the sensor Si; the origin of the inertial coordinate system coincides with the origin of the carrier coordinate system, and the directions of the axes of the inertial coordinate system and the world coordinate system coincide;
[0046] The joint transformation unit is used to perform a joint transformation operation on the first rotation matrix variables corresponding to each sensor to obtain a target rotation matrix variable.
[0047] The joint transformation unit includes:
[0048] The second matrix subunit is used to connect the sensor S i Sensor S forming an angle relationship j The corresponding first rotation matrix variable is determined as the second rotation matrix variable;
[0049] Update matrix subunit, used to update sensor S i The first rotation matrix variable is related to the sensor S j The product of the transpose of the first rotation matrix is determined as the updated position matrix variable;
[0050] The target matrix subunit is used to perform integration verification processing on the update position matrix variable according to the equivalence condition relationship between the update position matrix variable and the second rotation matrix variable to obtain a target rotation matrix variable.
[0051] Among them, the angle module is specifically used to generate the angle data between the N sensors at time Ti according to the equivalence condition between the target rotation matrix variable and the angle variable matrix used to calculate the angle data between the N sensors.
[0052] Among them, the motion result module includes:
[0053] An angle range unit, used to obtain the target angle range of the angle data at time Ti;
[0054] A prompt table unit, used to obtain a motion prompt table; the motion prompt table includes motion trend types corresponding to at least two angle ranges;
[0055] A searching unit, used for searching the target motion trend type corresponding to the target angle range in the motion prompt table;
[0056] A trend prompting unit is used to provide a motion trend prompt to the object to be tested according to the target motion trend type.
[0057] Another aspect of the present application provides a computer device, including: a processor, a memory, and a network interface;
[0058] The processor is connected to the memory and the network interface, wherein the network interface is used to provide data communication function, the memory is used to store program code, and the processor is used to call the program code to execute the method in one aspect of the embodiment of the present application.
[0059] On the other hand, the present application provides a computer storage medium, which stores a computer program, and the computer program is suitable for being loaded by a processor and executing a method in one aspect of an embodiment of the present application.
[0060] The embodiment of the present application obtains the attitude azimuth angle in the carrier coordinate system collected by N sensors configured on the object to be measured at the Ti moment; i is a positive integer, and N is a positive integer greater than 1; according to the attitude azimuth angle, the position coordinates of the N sensors in the carrier coordinate system are obtained, and the position coordinates corresponding to each sensor are mapped to quaternion variables; the quaternion variables are matrix transformed to obtain the first rotation matrix variables corresponding to each sensor, and the first rotation matrix variables corresponding to each sensor are jointly transformed to obtain the target rotation matrix variables; according to the target rotation matrix variables, the angle data between the N sensors at the Ti moment is generated; according to the angle data at the Ti moment, the object to be measured is prompted for the movement trend. The present application obtains the joint angle angle data by performing matrix transformation and other operations on the data collected by the sensor, which can free the joint angle measurement method from the constraints of static measurement, and the present application does not require manual assistance testing, liberates productivity in the measurement step, realizes automation, improves practicality, and has higher multi-scenario applicability. Therefore, the present application can be applied to a variety of measurement application scenarios, and can improve measurement efficiency and measurement result accuracy. BRIEF DESCRIPTION OF THE DRAWINGS
[0061] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0062] Figure 1 This is a schematic diagram of a network architecture provided by an embodiment of the present application;
[0063] Figure 2a is a scene schematic diagram of a joint measurement system provided in an embodiment of the present application;
[0064] Figure 2b is a schematic diagram of joint angle measurement of a joint measurement system provided in an embodiment of the present application;
[0065] Figure 3 It is a flowchart of a data processing method provided in an embodiment of the present application;
[0066] Figure 4 It is a flowchart of a data processing method provided in an embodiment of the present application;
[0067] Figure 5a is a schematic diagram of coordinate changes of a joint measurement system provided in an embodiment of the present application;
[0068] Figure 5b is a schematic diagram of a wearing method of a joint measurement system provided in an embodiment of the present application;
[0069] Figure 5c It is a simplified diagram of a joint angle rotation of a joint measurement system provided by an embodiment of the present application;
[0070] Figure 6 is a structural schematic diagram of a data processing device provided in an embodiment of the present application;
[0071] Figure 7 It is a structural diagram of a computer device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0072] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0073] See also Figure 1, is a schematic diagram of a network architecture provided by an embodiment of the present invention. The network architecture may include a host device 100, a wireless transceiver device 200, a data wireless transfer device 300 and a sensor device group (such as Figure 1 As shown, specifically including sensor device 401, sensor device 402, etc.), the host device 100 can communicate with the wireless transceiver device 200 through wired transmission, the wireless transceiver device 200 can communicate with the data wireless transfer device 300 through a wireless network, the data wireless transfer device 300 can communicate with the sensor device group through a wireless network, and the sensor device groups can communicate with each other through a wireless network. The host device 100 may include a mobile phone, a tablet computer, a laptop computer, a PDA, and a mobile Internet device (MID). The wireless transceiver device 200 may include a router, a mobile phone, a tablet computer, a laptop computer, a PDA, and a mobile Internet device (MID). The data wireless transfer device 300 may include a base station, etc. The sensor device group may include detection devices such as force-sensitive originals. After the sensor device 401 and the sensor device 402 exchange data wirelessly, the data can be transmitted wirelessly to the data wireless transfer device 300. After the data wireless transfer device 300 receives the data, the data can be transmitted wirelessly to the wireless transceiver device 200. After the wireless transceiver device 200 receives the data, it transmits it to the host device 100 via wire. The host device 100 analyzes and processes the data to obtain the angle data.
[0074] See also Figure 2a , Figure 2a The figure is a scene diagram of a joint angle measurement system. The joint angle measurement system consists of three major modules: a host computer device and the wireless transceiver equipment connected to it, a data wireless transfer device, and a sensor device group. The joint angle measurement system can be used in the field of medical rehabilitation. The flexion and extension of human joint angles is one of the important indicators of human joint rehabilitation. Detecting the extreme angles of joints can provide important parameters for doctors' clinical diagnosis and patients' rehabilitation effect evaluation. Obtaining joint movement information can provide important basis for fall risk assessment and gait correction for the elderly and patients in rehabilitation. Figure 2aIn the embodiment, the infinite coupling mode of the joint angle measurement system makes the installation more flexible and convenient. The sensor device 401 and the sensor device 402 are the basis for obtaining the human joint posture and motion data. The data wireless transfer device 300 is the bridge for data communication and command transmission between the sensor device group and the interactive software. The interactive software is used to enhance the communication with the sensor device group and display the measured angle and its related posture parameters in real time. The two sensor device parts (sensor device 401 and sensor device 402) included in the system hardware and the sensors are used to perform data transmission and interaction in a wireless manner. The calculated joint angle (sensor device 401 will calculate the joint angle after receiving the data from sensor device 402) is sent by one of the sensor devices (the system uses sensor device 401) to the wireless transceiver device 200 in a wireless manner, and then the data is sent to the upper computer device 100 through wired transmission. At the same time, the control command sent by the upper computer device 100 to the data wireless transfer device 300 is also sent by the wireless transceiver device 200 connected to the upper computer device 100 by wire.
[0075] See also Figure 2b , Figure 2b This is a schematic diagram of the joint angle using the elbow joint as an example. Posture 201 represents the measurement specifications for the supine position, with the upper arms located on both sides of the trunk and the elbows flexed, with the palms facing up to make a fist. The measurement method is the sagittal plane measurement method, with the axis of the protractor located on the side of the joint, the protractor passing through the epicondyle of the humerus, and the fixed arm parallel to the midline of the humerus. The movable arm is parallel to the midline of the forearm, 201 is the supine joint angle, and the measurement specifications for the extended position can refer to the measurement specifications for the supine position. Posture 202 represents the measurement specifications for the extended position, and 202 is the extended joint angle. The joint angle measurement system provided above can be applied to a variety of application scenarios, lowering the threshold for use and reducing dependence on professionals.
[0076] See also Figure 3 , is a flow chart of a data processing method provided in an embodiment of the present application. The method may be executed by a host device, which may be a computer device. The method may include:
[0077] S301, at time Ti, obtaining the attitude and orientation angle in the carrier coordinate system collected by N sensors configured on the object to be measured; i is a positive integer, and N is a positive integer greater than 1;
[0078] Specifically, the Ti moment is a certain moment in the time series. After N sensors are configured on the object to be measured, the posture and orientation angles in the carrier coordinate system collected by the N sensors configured on the object to be measured are obtained. The posture and orientation angles can be angle data collected by the sensors. At least two sensors can form a joint angle, and N is a positive integer greater than 1.
[0079] S302, acquiring position coordinates of N sensors in the carrier coordinate system according to the attitude azimuth angle, and mapping the position coordinates corresponding to each sensor into quaternion variables;
[0080] Specifically, the distance between the direction of N sensors in the carrier coordinate system and the origin is obtained according to the attitude azimuth angle to obtain the position coordinates; the position coordinates corresponding to each sensor are mapped to quaternion variables, which can be variables obtained through quaternion transformation. Quaternions are simple hypercomplex numbers. Quaternions are composed of real numbers plus three imaginary units i, j and k, and i 2 =j 2 =k 2 =-1,
[0081] S303, performing matrix transformation on the quaternion variable to obtain a first rotation matrix variable corresponding to each sensor, and performing a joint transformation operation on the first rotation matrix variable corresponding to each sensor to obtain a target rotation matrix variable;
[0082] Specifically, a matrix transformation is performed on the quaternion variables, and the first rotation matrix variables corresponding to each sensor can be obtained according to the formula for rotation from the carrier coordinate system to the inertial coordinate system. The first rotation matrix variables corresponding to each sensor are jointly transformed to obtain the target rotation matrix variables. The target rotation matrix variables can be the variables obtained by the joint measurement system in the intermediate calculation step when calculating the joint angle data.
[0083] S304, generating angle data between the N sensors at time Ti according to the target rotation matrix variable;
[0084] Specifically, according to the target rotation matrix variable, the correspondence between the angle data and the target rotation matrix variable can be obtained. According to the correspondence, the angle data between the N sensors at time Ti can be derived. The angle data can be the joint angle formed by the limbs wearing sensors at both ends of the joint.
[0085] S305, providing a motion trend prompt for the object to be measured according to the angle data at time Ti;
[0086] Specifically, according to the range of the angle data at the moment Ti, it can be judged whether the current joint angle is at an angle beyond the natural state of the human body, and then the motion trend is predicted, and the motion trend prompt is given to the object to be tested. The motion trend can be a speculation on possible situations based on existing data.
[0087] The embodiment of the present application obtains the attitude azimuth angle in the carrier coordinate system collected by N sensors configured on the object to be measured at the Ti moment; i is a positive integer, and N is a positive integer greater than 1; according to the attitude azimuth angle, the position coordinates of the N sensors in the carrier coordinate system are obtained, and the position coordinates corresponding to each sensor are mapped to quaternion variables; the quaternion variables are matrix transformed to obtain the first rotation matrix variables corresponding to each sensor, and the first rotation matrix variables corresponding to each sensor are jointly transformed to obtain the target rotation matrix variables; according to the target rotation matrix variables, the angle data between the N sensors at the Ti moment is generated; according to the angle data at the Ti moment, the object to be measured is prompted for the movement trend. The present application obtains the joint angle angle data by performing matrix transformation and other operations on the data collected by the sensor, which can free the joint angle measurement method from the constraints of static measurement, and the present application does not require manual assistance testing, liberates productivity in the measurement step, realizes automation, improves practicality, and has higher multi-scenario applicability. Therefore, the present application can be applied to a variety of measurement application scenarios, and can improve measurement efficiency and measurement result accuracy.
[0088] See also Figure 4 , is a flow chart of a data processing method provided in an embodiment of the present application. The method may be executed by a host device, which may be a computer device. The method may include:
[0089] S401, at time Ti, obtain X-axis acceleration data, Y-axis acceleration data, Z-axis acceleration data, X-axis angular velocity data, Y-axis angular velocity data, and Z-axis angular velocity data in the carrier coordinate system collected by the sensor Si configured on the object to be measured; perform attitude calculation on the X-axis acceleration data, Y-axis acceleration data, Z-axis acceleration data, X-axis angular velocity data, Y-axis angular velocity data, and Z-axis angular velocity data to obtain the angle data of the carrier coordinate system rotating around the X-axis of the inertial coordinate system, the angle data of the carrier coordinate system rotating around the Y-axis of the inertial coordinate system, and the angle data of the carrier coordinate system rotating around the Z-axis of the inertial coordinate system; determine the angle data of the carrier coordinate system rotating around the X-axis of the inertial coordinate system, the angle data of the carrier coordinate system rotating around the Y-axis of the inertial coordinate system, and the angle data of the carrier coordinate system rotating around the Z-axis of the inertial coordinate system as the attitude azimuth angle corresponding to the sensor Si;
[0090] Specifically, after initializing the sensor Si configured on the object to be measured, read the six register values of the three axes in the carrier coordinate system collected by the sensor Si, including X-axis acceleration data, Y-axis acceleration data, Z-axis acceleration data, X-axis angular velocity data, Y-axis angular velocity data, and Z-axis angular velocity data. Use the above six data values to perform attitude solution. The result after solution is the degree of rotation of the carrier coordinate system where the sensor Si is located around the x-axis of the inertial coordinate system of the node, the degree of rotation of the carrier coordinate system around the y-axis of the inertial coordinate system of the node, and the degree of rotation of the carrier coordinate system around the z-axis of the inertial coordinate system of the node; the angle data of the rotation of the carrier coordinate system around the X-axis of the inertial coordinate system, the angle data of the rotation of the carrier coordinate system around the Y-axis of the inertial coordinate system, and the angle data of the rotation of the carrier coordinate system around the Z-axis of the inertial coordinate system are determined as the attitude azimuth angle corresponding to the sensor Si.
[0091] Optionally, the commonly used attitude calculation algorithms include Kalman filter algorithm, complementary filter algorithm, gradient descent method, etc. This application adopts the attitude calculation algorithm of complementary filter. The attitude calculation of complementary filter algorithm is accurate and highly sensitive, and can calculate the attitude of the object in all directions.
[0092] S402, acquiring the position coordinates of N sensors in the carrier coordinate system according to the attitude azimuth angle, and mapping the position coordinates corresponding to each sensor with an imaginary unit according to a linear relationship to obtain the quaternion variable;
[0093] Specifically, the position coordinates of N sensors in the carrier coordinate system can be obtained according to the attitude angle, and the position coordinates corresponding to each sensor are mapped with imaginary units according to the linear relationship to obtain the quaternion variable. For example, if the position coordinates of the sensor in the carrier coordinate system are (x, y, z), the position coordinates (x, y, z) can be mapped to q 0 +q 1 i+q 2 j+q 3 k.
[0094] S403, eliminating the real units and imaginary units of the quaternion variables corresponding to the sensor Si to obtain a fourth-order real matrix; transforming the fourth-order real matrix according to the order in which the quaternion variables corresponding to the sensor Si are transformed from the carrier coordinate system to the inertial coordinate system to obtain a first rotation matrix variable corresponding to the sensor Si; the origin of the inertial coordinate system coincides with the origin of the carrier coordinate system, and the directions of the axes of the inertial coordinate system and the world coordinate system coincide;
[0095] Specifically, the real units and imaginary units of the quaternion variables corresponding to the sensor Si are eliminated, leaving the real unit coefficients and the imaginary unit coefficients, and the remaining real unit coefficients and the imaginary unit coefficients are cyclically arranged to obtain a fourth-order real matrix, and the fourth-order real matrix is transformed according to the order in which the quaternion variables corresponding to the sensor Si are transformed from the carrier coordinate system to the inertial coordinate system to obtain the first rotation matrix variable corresponding to the sensor Si; for example, the quaternion variable corresponding to the sensor Si can be q 0 +q 1 i+q 2 j+q 3 k, after removing the real unit and imaginary unit of the quaternion variable corresponding to the sensor Si, the remaining real unit coefficient and imaginary unit coefficient are {q 0 ,q 1 ,q 2 ,q 3}, the remaining real unit coefficients and imaginary unit coefficients are cyclically arranged to obtain a fourth-order real matrix, and the fourth-order real matrix is transformed. According to the formula for coordinate system rotation, the first rotation matrix variable of the sensor Si carrier coordinate system rotating to the inertial coordinate system of the node can be obtained as (the carrier coordinate system of the sensor Si is represented by b, and the inertial coordinate system is represented by E), which is the first rotation matrix variable corresponding to the sensor Si
[0096]
[0097] Among them, the world coordinate system is the top-level spatial coordinate system in a given space, which is used to describe other coordinate systems, and other coordinate systems are all included in the world coordinate system; the carrier coordinate system is a coordinate system associated with a specific object. The carrier coordinate system is fixed to the object. When the object moves and rotates, the carrier coordinate system also moves and rotates with the object; the inertial coordinate system coincides with the origin of the carrier coordinate system, and the directions of the axes of the inertial coordinate system and the world coordinate system coincide; the inertial coordinate system exists to facilitate the conversion from the carrier coordinate system to the world coordinate system; the transformation from the carrier coordinate system to the inertial coordinate system is only rotation, and the transformation from the inertial coordinate system to the world coordinate system is only displacement; in this way, the transformation from the carrier coordinate system to the world coordinate system can be divided into two parts, translation and rotation (first rotate from the carrier coordinate system to the inertial coordinate system, and then translate from the inertial coordinate system to the world coordinate system), which do not interfere with each other and simplify understanding and calculation; for coordinate changes, please refer to Figure 5a , where 501 is the inertial coordinate system, 502 is the carrier coordinate system, and 503 is the world coordinate system.
[0098] S404, will be connected with sensor S i Sensor S forming an angle relationship j The corresponding first rotation matrix variable is determined as the second rotation matrix variable; the sensor Si The first rotation matrix variable is related to the sensor S j The product of the transpose of the first rotation matrix is determined as an update position matrix variable; according to the equivalence condition relationship between the update position matrix variable and the second rotation matrix variable, the update position matrix variable is integrated and verified to obtain a target rotation matrix variable;
[0099] When the object to be measured is the elbow, the wearing method of the sensor can be found in Figure 5b , so that the sensor S i The sensor Sj is placed in front of the positive direction of the y axis. i and the positive direction of the x-axis of the sensor Sj are placed to the left, then the sensor S i The z-axis of the sensor Sj will be perpendicular to the arm plane; it can also be the sensor S i Placed directly behind the sensor Sj in the positive direction of the y axis, sensor S i The sensor Sj is placed to the right of the positive direction of the x-axis. i The z-axis of the sensor Sj will be perpendicular to the arm plane. In general, the positive directions of the three axes of the two nodes should be pointed to the same direction. After the sensor is worn, you can get Figure 5b 504 joint angle data in. Figure 5b After wearing it correctly as shown, the processor inside the sensor will automatically complete the entire process without waiting or initialization calibration.
[0100] For the static angle of the joint, if the limb can be rotated right / left to a certain level, the angle data of the sensor at the other end of the limb can be directly read, which is the angle data of the joint. Figure 5c As shown in the figure, assuming that both ends of the joint are rotated right as a whole until one end is horizontal (at this time, the sensor Sj end is horizontal), then it is only necessary to directly read the sensor S i The angle data of the sensor S i The angle between the sensor Sj and the limb joint is the angle data. In practical applications, it is not convenient to keep the limb joint angle completely still, rotate right / left to one end horizontally, and then read the angle data of the sensor at the other end. Therefore, this algorithm uses the first rotation matrix variable from the carrier coordinate system to the inertial coordinate system in the reference end to continuously and in real time update the first rotation matrix variable from the carrier coordinate system to the inertial coordinate system in the mobile end, so that no matter what movement the limb joint makes, the posture at every moment can be correct. Figure 5cThe corresponding rotation from state 505 to state 506 is shown, and then the angle data of the mobile end is directly read to obtain the limb joint angle data. For example, the first rotation matrix variable from the carrier coordinate system of the sensor Sj (reference end) to the inertial coordinate system is used to continuously update the sensor S in real time. i The first rotation matrix variable from the carrier coordinate system (mobile terminal) to the inertial coordinate system is equivalent to performing Figure 5c The rotation from state 505 to state 506 is shown, and then the sensor S is read. i The angle data of the sensor S can be obtained i The angle formed by the sensor Sj is the joint angle data at this time.
[0101] Specifically, the sensor S i Sensor S forming an angle relationship j The corresponding first rotation matrix variable is determined as the second rotation matrix variable; the sensor S i The first rotation matrix variable is related to the sensor S j The product of the transpose of the first rotation matrix is determined as the updated position matrix variable; according to the equivalence relationship between the updated position matrix variable and the second rotation matrix variable, the updated position matrix variable is integrated and verified to obtain the target rotation matrix variable. For example, the quaternion variable corresponding to the sensor Si can be q 0 +q 1 i+q 2 j+q 3 k, sensor S j The corresponding quaternion variable can be q 4 +q 5 i+q 6 j+q 7 k, sensor S j The first rotation matrix variable is an orthogonal matrix, sensor S i The sensor S j The first rotation matrix variable is multiplied by the inverse matrix of the sensor S i The first rotation matrix variable is when the limb is rotated so that the sensor S j When one end of the sensor is horizontal, S i The first rotation matrix variable, that is, the sensor S j Updated Sensor S i The first rotation matrix variable is denoted as Then we can know
[0102]
[0103] Since the above matrix multiplication results in too long matrix elements, they are represented by g1-g9 respectively. g1-g9 specifically replace the following contents: Let g1, g2, g3, g4, g5, g6, g7, g8, g9 be equal to:
[0104] g1=(q0^2+q1^2-q2^2-q3^2)*(q4^2+q5^2-q6^2-q7^2)+(2*q0*q2-2*q 1*q3)*(2*q4*q6-2*q5*q7)+(2*q0*q3+2*q1*q2)*(2*q4*q7+2*q5*q6);
[0105] g2=(2*q4*q7+2*q5*q6)*(q0^2-q1^2+q2^2-q3^2)-(2*q0*q3-2*q1*q2 )*(q4^2+q5^2-q6^2-q7^2)-(2*q0*q1+2*q2*q3)*(2*q4*q6-2*q5*q7);
[0106] g3=(2*q0*q2+2*q1*q3)*(q4^2+q5^2-q6^2-q7^2)-(2*q0*q1-2*q2*q3 )*(2*q4*q7+2*q5*q6)-(2*q4*q6-2*q5*q7)*(q0^2-q1^2-q2^2+q3^2);
[0107] g4=(2*q0*q3+2*q1*q2)*(q4^2-q5^2+q6^2-q7^2)-(2*q0*q2-2*q1*q3 )*(2*q4*q5+2*q6*q7)-(2*q4*q7-2*q5*q6)*(q0^2+q1^2-q2^2-q3^2);
[0108] g5=(q0^2-q1^2+q2^2-q3^2)*(q4^2-q5^2+q6^2-q7^2)+(2*q0*q1+2*q 2*q3)*(2*q4*q5+2*q6*q7)+(2*q0*q3-2*q1*q2)*(2*q4*q7-2*q5*q6);
[0109] g6=(2*q4*q5+2*q6*q7)*(q0^2-q1^2-q2^2+q3^2)-(2*q0*q1-2*q2*q3 )*(q4^2-q5^2+q6^2-q7^2)-(2*q0*q2+2*q1*q3)*(2*q4*q7-2*q5*q6);
[0110] g7=(2*q4*q6+2*q5*q7)*(q0^2+q1^2-q2^2-q3^2)-(2*q0*q2-2*q1*q3 )*(q4^2-q5^2-q6^2+q7^2)-(2*q0*q3+2*q1*q2)*(2*q4*q5-2*q6*q7);
[0111] g8=(2*q0*q1+2*q2*q3)*(q4^2-q5^2-q6^2+q7^2)-(2*q0*q3-2*q1*q2 )*(2*q4*q6+2*q5*q7)-(2*q4*q5-2*q6*q7)*(q0^2-q1^2+q2^2-q3^2);
[0112] g9=(q0^2-q1^2-q2^2+q3^2)*(q4^2-q5^2-q6^2+q7^2)+(2*q0*q1-2*q 2*q3)*(2*q4*q5-2*q6*q7)+(2*q0*q2+2*q1*q3)*(2*q4*q6+2*q5*q7).
[0113] S405, generating the angle data between the N sensors at time Ti according to the equivalence condition between the target rotation matrix variable and the angle variable matrix used to calculate the angle data between the N sensors;
[0114] Specifically, according to the equivalence condition between the target rotation matrix variable and the angle variable matrix used to calculate the angle data between the N sensors, the angle data between the N sensors at time Ti is generated. For example, the angle variable matrix used to calculate the angle data between the N sensors is
[0115]
[0116] Angle variable matrix and the target rotation matrix variable These are two ways of expressing the first rotation matrix variable of the same sensor at the same time, so each element in the first rotation matrix variable is equal. Then: g7 = -sinγ; g8 = sinθcosγ; g9 = cosθcosγ; g4 = cosγsinψ; g1 = cosγcosψ; γ = -arcsin(g7); θ = arctan(g8 / g9); ψ = arc tan(g4 / g1); γ is the angle of rotation around the y-axis, that is, the pitch angle, ψ is the angle of rotation around the z-axis, that is, the yaw angle, and θ is the angle of rotation around the x-axis, that is, the roll angle. The joint angle data can be obtained by using the rotated sensor S iThe roll angle of the sensor S i The carrier coordinates are expressed as the degree of rotation around the inertial coordinate system x-axis of the node. The limb joint angle data is γ = |-arcsin(g7)|.
[0117] Among them, after the sensor is powered on, the degree of yaw should be 0 without any posture change; if the degree of yaw is not 0, the system will force the degree of yaw to be cleared, and then reversely derive the quaternion q0, q1, q2, q3, and then perform posture angle calculation based on the reversed q0, q1, q2, q3. Since the range of inward and outward turning of one end of the human body joint limb relative to the other end is limited, it is also applicable to use the degree of roll as the joint angle data.
[0118] S406, obtaining the target angle range of the angle data at time Ti; obtaining a motion prompt table; the motion prompt table includes at least two motion trend types corresponding to the angle ranges; searching the motion prompt table for the target motion trend type corresponding to the target angle range; and providing motion trend prompts to the object to be measured according to the target motion trend type;
[0119] Specifically, the target angle range of the angle data at the time Ti is obtained. The target angle range can be a joint angle guide for various normal human movements in medicine. A motion prompt table is obtained. The motion prompt table can include at least two motion trend types corresponding to the angle ranges, which can also include motion trend types corresponding to the angle ranges of multi-joint coordinated movements of the whole body during exercise. The object to be measured is prompted with a motion trend according to the target motion trend type. When the object to be measured is predicted to have a risk of falling according to the target motion trend type, the object to be measured is prompted with a risk of falling. The error of the angle data finally calculated in the host computer device is within 2 degrees. According to the relevant medical standards, the accuracy of the joint measurement system meets the requirements.
[0120] The embodiment of the present application obtains the posture azimuth angle in the carrier coordinate system collected by N sensors configured on the object to be measured at time Ti; i is a positive integer, and N is a positive integer greater than 1; according to the posture azimuth angle, the position coordinates of the N sensors in the carrier coordinate system are obtained, and the position coordinates corresponding to each sensor are mapped to quaternion variables; the quaternion variables are matrix transformed to obtain the first rotation matrix variables corresponding to each sensor, and the first rotation matrix variables corresponding to each sensor are jointly transformed to obtain the target rotation matrix variables; according to the target rotation matrix variables, the angle data between the N sensors at time Ti is generated; according to the angle data at time Ti, the movement trend of the object to be measured is prompted. The present application obtains the joint angle data by performing matrix transformation and other operations on the data collected by the sensor. The sensor obtains the angle data of the three axes of X, Y, and Z, the acceleration of the three axes of X, Y, and Z, and the angular velocity values of the three axes of X, Y, and Z, and further calculates the first rotation matrix variable of the sensor. Sensor modules are placed at both ends of the limb joints, and the sensor Si is used to calculate the sensor S j The angle data relative to the sensor Si is the joint angle. This application uses professional sensor analysis to calculate the sensor posture. After wearing the sensor in the correct way, no matter what movement posture the joint makes, its instantaneous posture can be used to calculate the joint angle data using this application. The inverse of the first rotation matrix variable from the carrier coordinate system of the reference end to the horizontal inertial coordinate system is multiplied by the first rotation matrix variable of the mobile end itself on the left, and the effect of rotating the reference end to a horizontal state of the entire limb joint is achieved. It is more flexible and more accurate than mechanical measurement. The design of the wireless communication method makes it easy to wear, and can free the joint angle measurement method from the constraints of static measurement. Moreover, this application does not require manual assistance in testing, and liberates productivity in the measurement step, realizes automation, improves practicality, and has higher multi-scenario applicability. Therefore, this application can be applied to a variety of measurement application scenarios, and can improve measurement efficiency and measurement result accuracy.
[0121] See also Figure 6 , is a schematic diagram of the structure of a data processing device provided in an embodiment of the present application. Figure 6 As shown, the data processing device 1 can be applied to the above Figure 1 Corresponding to any one of the computer devices in the embodiments, the data processing device 1 may include: an acquisition module 11, a mapping module 12, a matrix transformation module 13, an angle module 14, and a motion result module 15;
[0122] Acquisition module 11, for iAt the time, the attitude and orientation angle in the carrier coordinate system collected by N sensors configured on the object to be measured is obtained; i is a positive integer, and N is a positive integer greater than 1;
[0123] The specific implementation of the acquisition module 11 can be found in the above Figure 3 Step S301 in the embodiment will not be described in detail here.
[0124] A mapping module 12, used for obtaining the position coordinates of N sensors in the carrier coordinate system according to the attitude azimuth angle, and mapping the position coordinates corresponding to each sensor into a quaternion variable;
[0125] The specific implementation of the mapping module 12 can be found in the above Figure 3 Step S302 in the embodiment will not be described in detail here.
[0126] A matrix transformation module 13 is used to perform matrix transformation on the quaternion variables to obtain the first rotation matrix variables corresponding to each sensor, and perform joint transformation operation on the first rotation matrix variables corresponding to each sensor to obtain the target rotation matrix variables;
[0127] The specific implementation of the matrix transformation module 13 can be found in the above Figure 3 Step S303 in the embodiment will not be described in detail here.
[0128] Angle module 14, used for generating an angle matrix variable in T according to the target rotation matrix variable i The angle data between the N sensors at the time;
[0129] The specific implementation of the angle module 14 can be found in the above Figure 3 Step S304 in the embodiment will not be described in detail here.
[0130] A motion result module 15 is used to provide motion trend prompts to the object to be measured according to the angle data at time Ti;
[0131] The specific implementation of the above-mentioned motion result module 15 can be found in the above-mentioned Figure 3 Step S305 in the embodiment will not be described in detail here.
[0132] Wherein, the acquisition module 11 includes:
[0133] A coordinate axis acquisition unit 111 is used to acquire, at time Ti, X-axis acceleration data, Y-axis acceleration data, Z-axis acceleration data, X-axis angular velocity data, Y-axis angular velocity data, and Z-axis angular velocity data in the carrier coordinate system collected by the sensor Si configured on the object to be measured;
[0134] The specific implementation of the coordinate axis acquisition unit 111 can be found in the above Figure 4 Step S401 in the embodiment will not be described in detail here.
[0135] The attitude calculation unit 112 is used to perform attitude calculation on the X-axis acceleration data, the Y-axis acceleration data, the Z-axis acceleration data, the X-axis angular velocity data, the Y-axis angular velocity data, and the Z-axis angular velocity data to obtain the angle data of the carrier coordinate system rotating around the X-axis of the inertial coordinate system, the angle data of the carrier coordinate system rotating around the Y-axis of the inertial coordinate system, and the angle data of the carrier coordinate system rotating around the Z-axis of the inertial coordinate system;
[0136] The specific implementation of the above-mentioned posture solving unit 112 can refer to the above-mentioned Figure 4 Step S401 in the embodiment will not be described in detail here.
[0137] The attitude and orientation unit 113 is used to determine the angle data of the carrier coordinate system rotating around the inertial coordinate system X axis, the angle data of the carrier coordinate system rotating around the inertial coordinate system Y axis and the angle data of the carrier coordinate system rotating around the inertial coordinate system Z axis as the attitude and orientation angle corresponding to the sensor Si;
[0138] The specific implementation of the above-mentioned attitude and orientation unit 113 can refer to the above-mentioned Figure 4 Step S401 in the embodiment will not be described in detail here.
[0139] The mapping module 12 is specifically used to obtain the position coordinates of N sensors in the carrier coordinate system according to the attitude azimuth angle, and to map the position coordinates corresponding to each sensor with imaginary units according to a linear relationship to obtain the quaternion variable.
[0140] The specific implementation of the mapping module 12 can be found in the above Figure 4 Step S402 in the embodiment will not be described in detail here.
[0141] Wherein, the matrix transformation module 13 includes:
[0142] The unit elimination unit 131 is used to eliminate the real units and imaginary units of the quaternion variable corresponding to the sensor Si to obtain a fourth-order real matrix;
[0143] The specific implementation of the above-mentioned unit elimination unit 131 can refer to the above-mentioned Figure 4 Step S403 in the embodiment will not be described in detail here.
[0144] A coordinate system transformation unit 132 is used to transform the fourth-order real matrix according to the order in which the quaternion variables corresponding to the sensor Si are transformed from the carrier coordinate system to the inertial coordinate system to obtain a first rotation matrix variable corresponding to the sensor Si; the origin of the inertial coordinate system coincides with the origin of the carrier coordinate system, and the directions of the axes of the inertial coordinate system and the world coordinate system coincide;
[0145] The specific implementation of the coordinate system transformation unit 132 can be found in the above Figure 4 Step S403 in the embodiment will not be described in detail here.
[0146] The joint transformation unit 133 is used to perform a joint transformation operation on the first rotation matrix variables corresponding to each sensor to obtain a target rotation matrix variable.
[0147] The specific implementation of the above-mentioned joint transformation unit 133 can be referred to above Figure 4 Step S404 in the embodiment will not be described in detail here.
[0148] The joint transformation unit 133 includes:
[0149] The second matrix subunit 1331 is used to connect the sensor S i Sensor S forming an angle relationship j The corresponding first rotation matrix variable is determined as the second rotation matrix variable;
[0150] The specific implementation of the second matrix subunit 1331 can be found in the above Figure 4 Step S404 in the embodiment will not be described in detail here.
[0151] Update matrix subunit 1332, used to update sensor S i The first rotation matrix variable is related to the sensor S j The product of the transpose of the first rotation matrix is determined as the updated position matrix variable;
[0152] The specific implementation of the above-mentioned update matrix subunit 1332 can be referred to above Figure 4 Step S404 in the embodiment will not be described in detail here.
[0153] The target matrix subunit 1333 is used to perform integration verification processing on the update position matrix variable according to the equivalence condition relationship between the update position matrix variable and the second rotation matrix variable to obtain a target rotation matrix variable;
[0154] The specific implementation of the target matrix subunit 1333 can be found in the above Figure 4 Step S404 in the embodiment will not be described in detail here.
[0155] The angle module 14 is specifically used to generate the angle data between the N sensors at time Ti according to the equivalence condition between the target rotation matrix variable and the angle variable matrix used to calculate the angle data between the N sensors;
[0156] The specific implementation of the angle module 14 can be found in the above Figure 4 Step S405 in the embodiment will not be described in detail here.
[0157] The motion result module 15 includes:
[0158] An angle range unit 151 is used to obtain the target angle range of the angle data at time Ti;
[0159] The specific implementation of the angle range unit 151 can refer to the above Figure 4 Step S406 in the embodiment will not be described in detail here.
[0160] A prompt table unit 152 is used to obtain a motion prompt table; the motion prompt table includes motion trend types corresponding to at least two angle ranges;
[0161] The specific implementation of the prompt table unit 152 can refer to the above Figure 4 Step S406 in the embodiment will not be described in detail here.
[0162] A searching unit 153, configured to search the motion prompt table for the target motion trend type corresponding to the target angle range;
[0163] The specific implementation of the above-mentioned search unit 153 can refer to the above-mentioned Figure 4 Step S406 in the embodiment will not be described in detail here.
[0164] A trend prompting unit 154, configured to provide a motion trend prompt to the object to be measured according to the target motion trend type;
[0165] The specific implementation of the trend prompt unit 154 can be found in the above Figure 4 Step S406 in the embodiment will not be described in detail here.
[0166] The embodiment of the present application obtains the posture azimuth angle in the carrier coordinate system collected by N sensors configured on the object to be measured at time Ti; i is a positive integer, and N is a positive integer greater than 1; according to the posture azimuth angle, the position coordinates of the N sensors in the carrier coordinate system are obtained, and the position coordinates corresponding to each sensor are mapped to quaternion variables; the quaternion variables are matrix transformed to obtain the first rotation matrix variables corresponding to each sensor, and the first rotation matrix variables corresponding to each sensor are jointly transformed to obtain the target rotation matrix variables; according to the target rotation matrix variables, the angle data between the N sensors at time Ti is generated; according to the angle data at time Ti, the movement trend of the object to be measured is prompted. The present application obtains the joint angle data by performing matrix transformation and other operations on the data collected by the sensor. The sensor obtains the angle data of the three axes of X, Y, and Z, the acceleration of the three axes of X, Y, and Z, and the angular velocity values of the three axes of X, Y, and Z, and further calculates the first rotation matrix variable of the sensor. Sensor modules are placed at both ends of the limb joints, and the sensor Si is used to calculate the sensor S j The angle data relative to the sensor Si is the joint angle. This application can free the joint angle measurement method from the constraints of static measurement. The joint angle data calculation is processed inside the hardware sensor and does not need to be uploaded to a third-party platform for calculation. The design of the wireless communication method makes it easy to wear, the range of activities of the subject is less limited, and it has the flexibility of wearing sensors. In addition, this application does not require manual assistance in testing, which liberates productivity, realizes automation, and improves practicality in the measurement step. This application can also be used to measure changes in robot joint angles, providing ideas for solving problems such as inaccurate robot joint angle control, and has higher multi-scenario applicability. Therefore, this application can be applied to a variety of measurement application scenarios, which can improve measurement efficiency and measurement result accuracy.
[0167] See also Figure 7 , is a schematic diagram of the structure of another computer device provided in an embodiment of the present application. Figure 7 The computer device can be applied to the above Figure 1The computer device in the corresponding embodiment. The computer device 700 includes: a processor 701, a network interface 704 and a memory 705. In addition, the computer device 700 may also include: a user interface 703, and at least one communication bus 702. Among them, the communication bus 702 is used to realize the connection and communication between these components. Among them, the user interface 703 may include a display screen (Display), a keyboard (Keyboard), and the user interface 703 may optionally include a standard wired interface and a wireless interface. The network interface 704 may optionally include a standard wired interface and a wireless interface (such as a WI-FI interface). The memory 705 may be a high-speed RAM memory, or it may be a non-volatile memory (non-volatile memory), such as at least one disk storage. The memory 705 may optionally also be at least one storage device located away from the aforementioned processor 701. As Figure 7 As shown, the memory 705 as a computer storage medium may include an operating system, a network communication module, a user interface module, and a device control application program.
[0168] exist Figure 7 In the computer device 700 shown, the network interface 704 can provide a network communication function for communicating with a server; the user interface 703 is mainly used to provide an input interface for the user; and the processor 701 can be used to call the device control application stored in the memory 705 to achieve:
[0169] At time Ti, the processor 701 obtains the attitude azimuth angle in the carrier coordinate system collected by N sensors configured on the object to be measured; i is a positive integer, and N is a positive integer greater than 1; the position coordinates of the N sensors in the carrier coordinate system are obtained according to the attitude azimuth angle, and the position coordinates corresponding to each sensor are mapped to quaternion variables; the quaternion variables are matrix transformed to obtain the first rotation matrix variables corresponding to each sensor, and the first rotation matrix variables corresponding to each sensor are jointly transformed to obtain target rotation matrix variables; according to the target rotation matrix variables, the angle data between the N sensors at time Ti is generated; and the motion trend of the object to be measured is prompted according to the angle data at time Ti.
[0170] In one embodiment, the processor 701 includes the N sensors including sensor Si, where i is a positive integer less than or equal to N;
[0171] At time Ti, when acquiring the attitude and orientation angle in the carrier coordinate system collected by N sensors configured on the object to be measured, the following steps are specifically performed:
[0172] At time Ti, obtain X-axis acceleration data, Y-axis acceleration data, Z-axis acceleration data, X-axis angular velocity data, Y-axis angular velocity data, and Z-axis angular velocity data in the carrier coordinate system collected by sensor Si configured on the object to be measured; perform attitude calculation on the X-axis acceleration data, Y-axis acceleration data, Z-axis acceleration data, X-axis angular velocity data, Y-axis angular velocity data, and Z-axis angular velocity data to obtain the angle data of the carrier coordinate system rotating around the X-axis of the inertial coordinate system, the angle data of the carrier coordinate system rotating around the Y-axis of the inertial coordinate system, and the angle data of the carrier coordinate system rotating around the Z-axis of the inertial coordinate system; determine the angle data of the carrier coordinate system rotating around the X-axis of the inertial coordinate system, the angle data of the carrier coordinate system rotating around the Y-axis of the inertial coordinate system, and the angle data of the carrier coordinate system rotating around the Z-axis of the inertial coordinate system as the attitude azimuth angle corresponding to sensor Si.
[0173] In one embodiment, when the processor 701 obtains the position coordinates of N sensors in the carrier coordinate system according to the attitude azimuth angle and maps the position coordinates corresponding to each sensor to a quaternion variable, the processor 701 specifically performs the following steps:
[0174] The position coordinates of N sensors in the carrier coordinate system are acquired according to the attitude azimuth angle, and the position coordinates corresponding to each sensor are mapped with imaginary units according to a linear relationship to obtain the quaternion variable.
[0175] In one embodiment, the processor 701 includes the N sensors including sensor Si, where i is a positive integer less than or equal to N;
[0176] When performing matrix transformation on the quaternion variable to obtain the first rotation matrix variable corresponding to each sensor, and performing joint transformation operation on the first rotation matrix variable corresponding to each sensor to obtain the target rotation matrix variable, the following steps are specifically performed:
[0177] The real units and imaginary units of the quaternion variables corresponding to the sensor Si are eliminated to obtain a fourth-order real matrix; according to the order in which the quaternion variables corresponding to the sensor Si are transformed from the carrier coordinate system to the inertial coordinate system, the fourth-order real matrix is transformed to obtain the first rotation matrix variables corresponding to the sensor Si; the origin of the inertial coordinate system coincides with the origin of the carrier coordinate system, and the directions of the axes of the inertial coordinate system and the world coordinate system coincide; the first rotation matrix variables corresponding to each sensor are jointly transformed to obtain the target rotation matrix variables.
[0178] In one embodiment, the processor 701 includes the N sensors further including the sensor S j , j is a positive integer less than or equal to N;
[0179] When performing a joint transformation operation on the first rotation matrix variables corresponding to each sensor to obtain the target rotation matrix variables, the following steps are specifically performed:
[0180] Will be with sensor S i Sensor S forming an angle relationship j The corresponding first rotation matrix variable is determined as the second rotation matrix variable; the sensor S i The first rotation matrix variable is related to the sensor S j The product of the transpose of the first rotation matrix is determined as the update position matrix variable; according to the equivalence condition relationship between the update position matrix variable and the second rotation matrix variable, the update position matrix variable is integrated and checked to obtain the target rotation matrix variable.
[0181] In one embodiment, when the processor 701 generates the angle data between the N sensors at time Ti according to the target rotation matrix variable, the processor 701 specifically performs the following steps:
[0182] According to the equivalence condition between the target rotation matrix variable and the angle variable matrix used to calculate the angle data between the N sensors, the angle data between the N sensors at time Ti is generated.
[0183] In one embodiment, when the processor 701 provides a motion trend prompt for the object to be measured according to the angle data at time Ti, the processor 701 specifically performs the following steps:
[0184] Obtain the target angle range in which the angle data at time Ti is located; obtain a motion prompt table; the motion prompt table includes at least two motion trend types corresponding to the angle ranges; search the motion prompt table for the target motion trend type corresponding to the target angle range; and provide motion trend prompts to the object to be measured according to the target motion trend type.
[0185] The embodiment of the present application obtains the posture azimuth angle in the carrier coordinate system collected by N sensors configured on the object to be measured at time Ti; i is a positive integer, and N is a positive integer greater than 1; according to the posture azimuth angle, the position coordinates of the N sensors in the carrier coordinate system are obtained, and the position coordinates corresponding to each sensor are mapped to quaternion variables; the quaternion variables are matrix transformed to obtain the first rotation matrix variables corresponding to each sensor, and the first rotation matrix variables corresponding to each sensor are jointly transformed to obtain the target rotation matrix variables; according to the target rotation matrix variables, the angle data between the N sensors at time Ti is generated; according to the angle data at time Ti, the movement trend of the object to be measured is prompted. The present application obtains the joint angle data by performing matrix transformation and other operations on the data collected by the sensor. The sensor obtains the angle data of the three axes of X, Y, and Z, the acceleration of the three axes of X, Y, and Z, and the angular velocity values of the three axes of X, Y, and Z, and further calculates the first rotation matrix variable of the sensor. Sensor modules are placed at both ends of the limb joints, and the sensor Si is used to calculate the sensor S j The angle data relative to the sensor Si is the joint angle. The present application can make the joint angle measurement method get rid of the constraint condition of static measurement. It is not necessary to extend the limbs to a fixed position to wait for sensor calibration and initialization. After the sensor is worn in a specific direction, turn on the switch. After the wireless connection is successful, it can be used. The speed of wireless connection is very fast, which improves the user experience. There is no need to wait for the initialization process of the sensor and the operation steps such as the extension and flexion of the limbs to a fixed position to calibrate the node data. During the movement, one end of the human joint limb will flip relative to the other end. The present application can also overcome the problem of inaccurate measurement caused by the situation that one end of the human joint limb will flip relative to the other end during the movement, because the amplitude of the human joint side flip is limited, and the present application is still applicable, and the present application does not need manual assistance testing, and liberates productivity in the measurement step, realizes automation, improves practicality, and has higher multi-scenario applicability. Therefore, the present application can be applied to a variety of measurement application scenarios, which can improve measurement efficiency and measurement result accuracy.
[0186] It should be understood that the computer device 700 described in the embodiment of the present application can execute the above Figure 2a , Figure 2b , Figure 3 , Figure 4 , Figure 5a , Figure 5b , Figure 5c The description of the data processing method in any of the corresponding embodiments may also be performed as described above. Figure 1The description of the computer device in the corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated here.
[0187] In addition, it should be pointed out here that: the embodiment of the present application also provides a computer storage medium, and the computer storage medium stores a computer program executed by the computer device mentioned above, and the computer program includes program instructions. When the processor executes the program instructions, it can execute the above-mentioned Figure 2a , Figure 2b , Figure 3 , Figure 4 , Figure 5a , Figure 5b , Figure 5c The description of the data processing method in any corresponding embodiment will not be repeated here. In addition, the description of the beneficial effects of the same method will not be repeated. For technical details not disclosed in the computer storage medium embodiment involved in this application, please refer to the description of the method embodiment of this application.
[0188] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be implemented by instructing related hardware through a computer program, and the computer program can be stored in a computer-readable storage medium, and when the program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, the storage medium can be a disk, an optical disk, a read-only memory (ROM) or a random access memory (RAM), etc.
[0189] The above disclosure is only the preferred embodiment of the present application, which certainly cannot be used to limit the scope of rights of the present application. Therefore, equivalent changes made according to the claims of the present application are still within the scope covered by the present application.
Claims
1. A human body dynamic joint angle measurement system method, characterized in that: include: In T i At the time, the attitude and orientation angle in the carrier coordinate system collected by N sensors configured on the object to be measured is obtained; i is a positive integer, and N is a positive integer greater than 1; According to the attitude angle, the position coordinates of N sensors in the carrier coordinate system are obtained, and the position coordinates corresponding to each sensor are mapped into quaternion variables; the N sensors include sensor S k and S j , k and j are both positive integers less than or equal to N; The sensor S k The real units and imaginary units of the corresponding quaternion variables are eliminated to obtain a fourth-order real matrix; According to the sensor S k The corresponding quaternion variables are transformed from the carrier coordinate system to the inertial coordinate system in the order, and the fourth-order real matrix is transformed to obtain the sensor S k The corresponding first rotation matrix variable; the origin of the inertial coordinate system coincides with the origin of the carrier coordinate system, and the directions of the axes of the inertial coordinate system and the world coordinate system coincide; The sensor S k Sensor S forming an angle relationship j The corresponding first rotation matrix variable is determined as the second rotation matrix variable; The sensor S k The first rotation matrix variable is related to the sensor S j The product of the transpose of the first rotation matrix variable is determined as the target rotation matrix variable; According to the target rotation matrix variable, generate i The angle data between the N sensors at the time; Get T i The target angle range of the angle data at the moment; Obtaining a motion prompt table; the motion prompt table includes motion trend types corresponding to at least two angle ranges; Searching the target motion trend type corresponding to the target angle range in the motion prompt table; Prompt the object to be tested for its motion trend according to the target motion trend type.
2. The method according to claim 1, characterized in that In T i At the moment, the attitude and orientation angle in the carrier coordinate system collected by N sensors configured on the object to be measured is obtained, including: In T i At this moment, obtain the sensor S configured on the object to be measured k The collected X-axis acceleration data, Y-axis acceleration data, Z-axis acceleration data, X-axis angular velocity data, Y-axis angular velocity data, and Z-axis angular velocity data in the carrier coordinate system; Performing attitude calculation on the X-axis acceleration data, Y-axis acceleration data, Z-axis acceleration data, X-axis angular velocity data, Y-axis angular velocity data, and Z-axis angular velocity data to obtain the angle data of the carrier coordinate system rotating around the X-axis of the inertial coordinate system, the angle data of the carrier coordinate system rotating around the Y-axis of the inertial coordinate system, and the angle data of the carrier coordinate system rotating around the Z-axis of the inertial coordinate system; The angle data of the carrier coordinate system rotating around the inertial coordinate system X axis, the angle data of the carrier coordinate system rotating around the inertial coordinate system Y axis and the angle data of the carrier coordinate system rotating around the inertial coordinate system Z axis are determined as sensor S k The corresponding attitude angle.
3. The method according to claim 1, characterized in that The step of acquiring the position coordinates of N sensors in the carrier coordinate system according to the attitude azimuth angle and mapping the position coordinates corresponding to each sensor into a quaternion variable includes: The position coordinates of N sensors in the carrier coordinate system are acquired according to the attitude azimuth angle, and the position coordinates corresponding to each sensor are mapped with imaginary units according to a linear relationship to obtain the quaternion variable.
4. The method according to claim 1, characterized in that The target rotation matrix variable is generated in T i The angle data between the N sensors at a certain moment includes: According to the equivalence condition between the target rotation matrix variable and the angle variable matrix used to calculate the angle data between the N sensors, a rotation matrix is generated in T i The angle data between the N sensors at the moment.
5. A human body dynamic joint angle measurement system device, characterized in that: include: Get module for use in T i At the time, the attitude and orientation angle in the carrier coordinate system collected by N sensors configured on the object to be measured is obtained; i is a positive integer, and N is a positive integer greater than 1; A mapping module is used to obtain the position coordinates of N sensors in the carrier coordinate system according to the attitude angle, and maps the position coordinates corresponding to each sensor to a quaternion variable; the N sensors include sensor S k and S j , k and j are both positive integers less than or equal to N; The matrix transformation module is used to transform the sensor S k The real units and imaginary units of the corresponding quaternion variables are eliminated to obtain a fourth-order real matrix; according to the sensor S k The corresponding quaternion variables are transformed from the carrier coordinate system to the inertial coordinate system in the order, and the fourth-order real matrix is transformed to obtain the sensor S k The corresponding first rotation matrix variable; the origin of the inertial coordinate system coincides with the origin of the carrier coordinate system, and the directions of the axes of the inertial coordinate system and the world coordinate system coincide; the sensor S k Sensor S forming an angle relationship j The corresponding first rotation matrix variable is determined as the second rotation matrix variable; the sensor S k The first rotation matrix variable is related to the sensor S j The product of the transpose of the first rotation matrix variable is determined as the target rotation matrix variable; Angle module, used to generate the target rotation matrix variable in T i The angle data between the N sensors at the time; Motion result module, used to obtain T i The target angle range of the angle data at the moment; obtaining the motion prompt table; The motion prompt table includes motion trend types corresponding to at least two angle ranges respectively; searching the motion prompt table for the target motion trend type corresponding to the target angle range; Prompt the object to be tested for its motion trend according to the target motion trend type.
6. A computer device, characterized in that: include: Processor, memory, and network interface; The processor is connected to the memory and the network interface, wherein the network interface is used to provide a network communication function, the memory is used to store program codes, and the processor is used to call the program codes to execute the method described in any one of claims 1-4.
7. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores a computer program, which is suitable for being loaded by a processor and executing the method according to any one of claims 1 to 4.
Citation Information
Patent Citations
Method for monitoring lower limb movement of user
CN106618584A
Angle detection method and joint movement included angle detection system
CN107063173A