CN114967942B - Motion attitude analysis method, terminal and storage medium - Google Patents

Motion attitude analysis method, terminal and storage medium Download PDF

Info

Publication number
CN114967942B
CN114967942B CN202210344730.8A CN202210344730A CN114967942B CN 114967942 B CN114967942 B CN 114967942B CN 202210344730 A CN202210344730 A CN 202210344730A CN 114967942 B CN114967942 B CN 114967942B
Authority
CN
China
Prior art keywords
node module
vector
acceleration
coordinate system
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202210344730.8A
Other languages
Chinese (zh)
Other versions
CN114967942A (en
Inventor
李建
郑力兴
丁向
吕龙航
孙男男
常建
陈佳向
王冲
刘晓慈
侯卓楠
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hebei Jingran Technology Co ltd
Original Assignee
Hebei Jingran Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hebei Jingran Technology Co ltd filed Critical Hebei Jingran Technology Co ltd
Priority to CN202210344730.8A priority Critical patent/CN114967942B/en
Publication of CN114967942A publication Critical patent/CN114967942A/en
Application granted granted Critical
Publication of CN114967942B publication Critical patent/CN114967942B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/0346Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of the device orientation or free movement in a 3D space, e.g. 3D mice, 6-DOF [six degrees of freedom] pointers using gyroscopes, accelerometers or tilt-sensors
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/18Training appliances or apparatus for special sports for skiing

Abstract

The invention provides a motion attitude analysis method, a terminal and a storage medium. The method is applied to a motion data acquisition device and comprises a main node module and a plurality of secondary node modules, wherein the main node module is fixed at the main node position of a measured object and used for acquiring motion data and initial static data of the main node position; converting the motion data of the node from a measurement coordinate system to a geographic coordinate system according to the mapping relation to obtain position data in the geographic coordinate system; and obtaining attitude data at the same moment according to the position data of each node position in the geographic coordinate system at the same moment. The invention can realize the acquisition of accurate motion attitude data.

Description

Motion attitude analysis method, terminal and storage medium
Technical Field
The invention relates to the field of skiing sports training analysis, in particular to a method, a terminal and a storage medium for analyzing a sports gesture.
Background
At present, with people paying more attention to physical exercise, a lot of sports enter the sight of people, and many sports enthusiasts and beginners want to standardize the motion of the people during sports, so that the people all urgently want to provide equipment which can capture the motion of the people during sports for post analysis and standardization of the motion. The current motion capture method is mainly based on an optical motion capture method, which captures optical markers attached to a sporter through optical equipment, and infers the motion of the sporter according to imaging positions of the optical markers, so as to realize motion capture of the sporter.
The sports item in winter gradually walks into the visual field of people, the skiing sports also becomes a favorite sports item for the public, but the optical-based motion capture method is not suitable for the motion specification of athletes of the skiing sports, because the optical-based motion step method is suitable for the sports in small scenes, the sporter is required to be always in the sight of optical equipment, and the sporter cannot be shielded in the motion process, so that the motion specification is not accurate to be analyzed, and the inaccurate result can be generated for the motion capture and the motion specification analysis of the athletes if the conditions of large scenes and high dynamics are met.
Disclosure of Invention
The invention provides a motion attitude analysis method, a terminal and a storage medium, which aim to solve the problem of obtaining accurate motion attitude data.
In a first aspect, the present invention provides a motion gesture analysis method, including: the method is applied to a motion data acquisition device, which comprises a main node module and a plurality of secondary node modules, wherein the main node module is fixed at the main node position of a measured object, for each secondary node module, the secondary node module is fixed at the secondary node position of the measured object, the main node module is used for acquiring motion data and initial static data of the main node position of the measured object, and the secondary node module is used for acquiring motion data and initial static data of the secondary node position of the measured object, and comprises the following steps:
for each node position, determining a mapping relation between a measurement coordinate system of the node position and a preset geographic coordinate system according to initial static data of the node position, wherein the initial static data of the node position is acquired by a node module of the node position under the condition that the measured object keeps a preset static posture, and the node position comprises a main node position corresponding to a main node module and a secondary node position corresponding to each secondary node module;
converting the motion data of the node from the measuring coordinate system of the node to a preset geographical coordinate system according to the mapping relation between the measuring coordinate system of the node position and the geographical coordinate system to obtain the position data of the node position in the geographical coordinate system;
and obtaining the attitude data of the measured object at the moment according to the position data of each node position in the geographic coordinate system at the same moment.
In one possible implementation manner, the motion data or static data of the position of the main node includes longitude and latitude data, acceleration data, gravity acceleration data, specific force vector, angular velocity data, altitude data, heading angle data and geomagnetic vector;
for each secondary node position, the motion data or static data for that secondary node position includes acceleration data, gravitational acceleration data, specific force vectors, angular velocity data, and geomagnetic vectors.
In a possible implementation manner, for each node location, determining a mapping relationship between the measurement coordinate system of the node location and the preset geographic coordinate system according to the initial static data of the node location includes:
and determining a direction cosine matrix between the measurement coordinate system of the node position and the geographical coordinate system according to the gravity acceleration vector and the local geomagnetic vector in the geographical coordinate system and the specific force vector and the geomagnetic vector in the measurement coordinate system of the node position, wherein the direction cosine matrix is used for representing the mapping relation between the measurement coordinate system of the node position and a preset geographical coordinate system.
In a possible implementation manner, the determining, according to the gravity acceleration vector and the local geomagnetic vector in the geographic coordinate system, and the specific force vector and the geomagnetic vector in the measurement coordinate system of the node position, the direction cosine matrix between the measurement coordinate system of the node position and the geographic coordinate system includes:
determining a direction cosine matrix between a measurement coordinate system of the node position and the geographic coordinate system through a first formula
Figure BDA0003575958920000031
Wherein g is a gravity acceleration vector in the geographic coordinate system, the magnitude of g is a preset gravity acceleration value, f 'is a specific force vector in the measurement coordinate system of the node position, m is a geomagnetic vector in the geographic coordinate system, the magnitude of m is a preset geomagnetic vector value, m' is a geomagnetic vector in the measurement coordinate system of the node position, and C is a direction cosine matrix between the measurement coordinate system of the node position and the geographic coordinate system.
In a possible implementation manner, the primary node position is a preset position of the object to be measured, and for any secondary node module, the secondary node position corresponding to the secondary node module is a joint position of the object to be measured or a position between two joints of the object to be measured.
In a possible implementation manner, the master node module is used as a starting module, the master node module and a part of the secondary node modules in the plurality of secondary node modules form two upper limb lines, for any upper limb line, the upper limb line corresponds to an arm of the measured object, the upper limb line sequentially includes the master node module, a first secondary node module, a second secondary node module and a third secondary node module, the first secondary node module is fixed on a shoulder of the arm, the second secondary node module is fixed on a middle portion of an upper arm of the arm, and the third secondary node module is fixed on a middle portion of a lower arm of the arm, the method further includes:
obtaining the acceleration of the shoulder according to the acceleration of the main node module, the angular velocity of the primary node module and the spatial position vector from the main node module to the primary node module, wherein the acceleration of the shoulder is also used for representing the acceleration of the primary node;
obtaining the acceleration of the elbow according to the acceleration of the shoulder, the angular velocity of the second secondary node module and the space position vector from the shoulder to the elbow;
obtaining the acceleration of the second secondary node module according to the acceleration of the shoulder, the angular velocity of the second secondary node module and the space position vector from the shoulder to the second secondary node module;
obtaining the acceleration of the third time node module according to the acceleration of the elbow, the angular velocity of the third time node module and a space position vector from the elbow to the third time node module;
for any one of the first secondary node module, the second secondary node module and the third secondary node module, obtaining a specific vector of the secondary node module according to the acceleration of the secondary node module and a gravity acceleration vector in the geographic coordinate system, subtracting the specific vector of the secondary node module and a specific vector measurement value of a 3-axis accelerometer of the secondary node module to obtain a specific vector difference value of the secondary node module, subtracting a geomagnetic vector measurement value of a 3-axis magnetometer of the secondary node module and a geomagnetic vector in the geographic coordinate system to obtain a vector geomagnetic difference value of the secondary node module, and obtaining an angle error of the secondary node module according to the geomagnetic vector difference value and the specific vector difference value of the secondary node module, wherein the gravity acceleration vector in the geographic coordinate system is a preset gravity acceleration value, and the geomagnetic vector in the geographic coordinate system is a preset geomagnetic vector value;
and for any one of the first secondary node module, the second secondary node module and the third secondary node module, calculating a difference between an angle obtained by updating the angle according to the angular velocity output by the 3-axis gyroscope of the secondary node module and an angle error of the secondary node module to obtain a corrected angle value of the secondary node module.
In a possible implementation manner, the main node module is used as a starting module, and the one main node module and some of the secondary node modules in the plurality of secondary node modules form two lower limb lines, and for any lower limb line, the one lower limb line corresponds to one leg of the object to be measured, and the one lower limb line sequentially includes the main node module, a fourth node module and a fifth node module, the fourth node module is fixed to a middle thigh portion of the leg, and the fifth node module is fixed to a middle shank portion of the leg, and the method further includes:
obtaining the acceleration of the knee according to the acceleration of the main node module, the angular velocity of the fourth time node module and the spatial position vector from the main node module to the knee;
obtaining the acceleration of the fourth time node module according to the acceleration of the main node module, the angular velocity of the fourth time node module and the space position vector from the main node module to the fourth time node module;
obtaining the acceleration of the fifth node module according to the acceleration of the knee, the angular velocity of the fifth node module and the space position vector from the knee to the fifth node module;
for any one of the fourth time node module and the fifth time node module, obtaining a specific force vector of the sub node module according to the acceleration of the sub node module and a gravity acceleration vector in the geographic coordinate system, subtracting the specific force vector of the sub node module from a specific force vector measurement value of a 3-axis accelerometer of the sub node module to obtain a specific force vector difference value of the sub node module, and subtracting a geomagnetic vector measurement value of a 3-axis magnetometer of the sub node module from a geomagnetic vector in the geographic coordinate system to obtain an angle error of the sub node module, wherein the magnitude of the gravity acceleration vector in the geographic coordinate system is a preset gravity acceleration value, and the magnitude of the geomagnetic vector in the geographic coordinate system is a preset geomagnetic vector value;
and for any one of the fourth time node module and the fifth time node module, calculating a difference between the angle obtained by updating the angle according to the angular velocity output by the 3-axis gyroscope of the time node module and the angle error of the time node module, and obtaining the angle value corrected by the time node module.
In a possible implementation manner, the obtaining the acceleration of the shoulder according to the acceleration of the main node module, the angular velocity of the primary node module, and the spatial position vector from the main node module to the primary node module includes:
obtaining the acceleration of the shoulder according to a second formula
a′ 1 =a 0 +(ω 1 ) 2 l 1
Wherein, a' 1 Acceleration of the shoulder, a 0 As acceleration of the main node module, ω 1 Is the angular velocity, l, of the first secondary node module 1 A spatial position vector from the master node module to the first secondary node module;
for any one of the first secondary node module, the second secondary node module and the third secondary node module, obtaining a specific force vector of the secondary node module according to the acceleration of the secondary node module and the gravity acceleration vector in the geographic coordinate system includes:
obtaining the specific force vector of the secondary node module according to a third formula, wherein the third formula is
f 1 =a 1 -g
Wherein, f 1 Is the specific force vector of the secondary node module, a 1 And g is the acceleration of the secondary node module, and is the gravity acceleration vector in the geographic coordinate system, and the magnitude of g is a preset gravity acceleration value.
In a second aspect, the present invention provides a terminal, comprising a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor executes the computer program to implement the steps of the method according to the first aspect or any one of the possible implementation manners of the first aspect.
In a third aspect, the present invention provides a computer-readable storage medium storing a computer program which, when executed by a processor, performs the steps of the method according to the first aspect or any one of the possible implementations of the first aspect.
The invention provides a motion attitude analysis method, a terminal and a storage medium. The method comprises the steps of determining a mapping relation between a measurement coordinate system of each node position and a preset geographic coordinate system according to initial static data of each node position, obtaining attitude data of a main node position of a measured object according to a satellite positioning receiver, a barometer and a 9-axis sensor, obtaining attitude data of a secondary node position of the measured object according to the 9-axis sensor of each secondary node module, finally obtaining accurate motion attitude data according to the attitude data of the main node position and the attitude data of the secondary node position, providing a large amount of accurate motion data for motion training, facilitating subsequent motion analysis and motion specification and realizing motion capture under large-scene and high-dynamic conditions.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings required to be used in the embodiments or the prior art description will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and for those skilled in the art, other drawings may be obtained according to these drawings without inventive labor.
Fig. 1 is a flowchart of an implementation of a motion gesture analysis method according to an embodiment of the present invention;
FIG. 2 is a schematic view of a wearing structure of the exercise data acquisition device provided by the embodiment of the invention;
fig. 3 is a schematic structural diagram of a motion posture analysis device provided in an embodiment of the present invention;
fig. 4 is a schematic diagram of a terminal according to an embodiment of the present invention.
Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present invention with unnecessary detail.
In order to make the objects, technical solutions and advantages of the present invention more apparent, the following description is made by way of specific embodiments with reference to the accompanying drawings.
Fig. 1 shows a flowchart of an implementation of a motion gesture analysis method provided in an embodiment of the present invention, which is detailed as follows:
in step 101, for each node position, according to the initial static data of the node position, determining a mapping relationship between the measurement coordinate system of the node position and a preset geographic coordinate system, where the initial static data of the node position is acquired by the node module of the node position under the condition that the object to be measured maintains a preset static posture, and the node position includes a primary node position corresponding to the primary node module and a secondary node position corresponding to each secondary node module.
The method is applied to a motion data acquisition device which mainly comprises a main node module and a plurality of secondary node modules, wherein the main node module is fixed at the position of a main node of a measured object, for each secondary node module, the secondary node module is fixed at the position of a secondary node of the measured object, the main node module is used for acquiring motion data and initial static data of the position of the main node of the measured object, the secondary node modules are used for acquiring motion data and initial static data of the positions of the secondary nodes of the measured object, the main node module comprises a satellite positioning receiver, a barometric altimeter, a 9-axis sensor and a data storage unit, and each secondary node module comprises a 9-axis sensor.
The 9-axis sensors include a 3-axis accelerometer, a 3-axis gyroscope, and a 3-axis magnetometer.
The satellite positioning receiver in the device can be a GPS receiver, a Beidou satellite positioning receiver or a multi-mode satellite positioning receiver.
The data storage unit of the main node module mainly comprises a microprocessor, a memory card and the like.
A wearing structure diagram of the device is shown in fig. 2, at this time, the device is a master node module and ten secondary node modules, the master node module and the ten secondary node modules are connected in a wired communication manner, and the wired communication manner includes connection by using a bus communication manner through a preset type of data transmission protocol, such as TCP/IP and FTP, but is not limited thereto, and details are not specifically repeated.
The primary node module and the secondary node module can also be connected through a preset type of wireless communication mode, wherein the preset type of wireless communication mode includes bluetooth, NFC and ZigBee/802.15.4 protocols, but is not limited thereto, and details are not repeated.
The motion data or the static data at the position of the main node comprise longitude and latitude data, acceleration data, gravity acceleration data, specific force vector, angular velocity data, altitude data, heading angle data and geomagnetic vector;
for each secondary node position, the motion data or static data for that secondary node position includes acceleration data, gravitational acceleration data, specific force vectors, angular velocity data, and geomagnetic vectors.
The motion data or static data at the position of the main node is measured and collected by a main node module, and comprises longitude and latitude data measured by a satellite positioning receiver, altitude data measured by an air pressure altimeter, acceleration data, gravity acceleration data and specific force vectors measured by a 3-axis accelerometer in a 9-axis sensor, angular velocity data measured by a 3-axis gyroscope in the 9-axis sensor, and heading angle data and geomagnetic data measured by a 3-axis magnetometer in the 9-axis sensor.
For each secondary node position, the motion data or static data of the secondary node position is measured and collected by the secondary node module, and the motion data or the static data comprises acceleration data, gravity acceleration data and specific force vectors measured by a 3-axis accelerometer in a 9-axis sensor, angular velocity data measured by a 3-axis gyroscope in the 9-axis sensor and geomagnetic vectors measured by a 3-axis magnetometer in the 9-axis sensor.
Determining the mapping relation between the measurement coordinate system of the node position and the preset geographic coordinate system according to the static data of each node, which comprises the following steps:
for each node position, determining the mapping relation between the measurement coordinate system of the node position and the preset geographic coordinate system according to the initial static data of the node position comprises the following steps:
and determining a direction cosine matrix between the measurement coordinate system of the node position and the geographical coordinate system according to the gravity acceleration vector and the local geomagnetic vector in the geographical coordinate system and the specific force vector and the geomagnetic vector in the measurement coordinate system of the node position, wherein the direction cosine matrix is used for representing the mapping relation between the measurement coordinate system of the node position and a preset geographical coordinate system.
The static data of each node comprises a specific force vector and a geomagnetic vector and is the static data of the initial posture of preset duration collected by the tested object after wearing the motion data collection equipment.
In one possible implementation, the direction cosine matrix between the measuring coordinate system and the geographical coordinate system of the node position is determined by a first formula
Figure BDA0003575958920000091
Wherein g is a gravity acceleration vector in a geographic coordinate system, the magnitude of g is a preset gravity acceleration value, f 'is a specific force vector in a measurement coordinate system of the node position, m is a geomagnetic vector in the geographic coordinate system, the magnitude of m is a preset geomagnetic vector value, m' is a geomagnetic vector in the measurement coordinate system of the node position, and C is a direction cosine matrix between the measurement coordinate system of the node position and the geographic coordinate system.
It should be noted that, when solving the mapping relationship, it is necessary to solve the mapping relationship by combining the gravity acceleration vector in the geographic coordinate system and the local geomagnetic vector, and the specific force vector and the geomagnetic vector in the measurement coordinate system, because the gravity acceleration vector in the geographic coordinate system and the local geomagnetic vector, or the specific force vector and the geomagnetic vector in the measurement coordinate system, are vectors, and two sets of simultaneous solutions are required.
When the node is a main node, determining a direction cosine matrix between the measurement coordinate system of the main node position and the geographical coordinate system according to the gravity acceleration vector and the local geomagnetic vector in the geographical coordinate system, and the specific force vector and the geomagnetic vector in the measurement coordinate system of the main node position, and then the first formula can be specifically expressed as
Figure BDA0003575958920000092
Wherein g is a gravity acceleration vector in a geographic coordinate system, the magnitude of g is a preset gravity acceleration value, f m A specific force vector in a measurement coordinate system of the node position, m is a geomagnetic vector in a geographic coordinate system, the magnitude of m is a preset geomagnetic vector value, m m Is the geomagnetic vector in the measurement coordinate system of the position of the main node,
Figure BDA0003575958920000093
is a direction cosine matrix between a measuring coordinate system of the position of the main node and a geographic coordinate system.
When the node is any secondary node, determining a direction cosine matrix between the measuring coordinate system of the secondary node position and the geographic coordinate system according to the gravity acceleration vector and the local geomagnetic vector in the geographic coordinate system, and the specific force vector and the geomagnetic vector in the measuring coordinate system of the secondary node position, and then the first formula can be specifically expressed as
Figure BDA0003575958920000101
Wherein g is a gravity acceleration vector in a geographic coordinate system, the magnitude of g is a preset gravity acceleration value, f si A specific force vector in a measurement coordinate system of the position of the secondary node, m is a geomagnetic vector in a geographic coordinate system, the magnitude of m is a preset geomagnetic vector value, and m si Is the geomagnetic vector in the measurement coordinate system of the secondary node position,
Figure BDA0003575958920000102
is a direction cosine matrix between the measuring coordinate system and the geographic coordinate system of the secondary node position.
It should be noted that each secondary node position uniquely corresponds to one measurement coordinate system, and the direction cosine matrix between each secondary node position measurement coordinate system and the geographic coordinate system is sequentially determined by the above method.
Similarly, the mapping relationship may also use an attitude angle to represent the attitude of the node, and then the direction cosine matrix may be represented nonlinearly using three attitude angles, the above equation may be regarded as a nonlinear equation set with three attitude angles as unknowns, and the three attitude angles and the direction cosine matrix of the node may be solved by using a numerical solution or iterative computation, which is not specifically described in this embodiment.
In step 102, the motion data of the node is converted from the measured coordinate system of the node to a geographic coordinate system according to a mapping relationship between the measured coordinate system of the node position and a preset geographic coordinate system, so as to obtain position data of the node position in the geographic coordinate system.
The main node module comprises a satellite positioning receiver, an air pressure altimeter, a 9-axis sensor and a data storage unit, wherein the 9-axis sensor comprises a 3-axis accelerometer, a 3-axis gyroscope and a 3-axis magnetometer, the motion data of the main node position is measured by the sensor of the main node module, the satellite positioning receiver measures longitude and latitude data, the air pressure altimeter measures altitude data, the 3-axis accelerometer in the 9-axis sensor measures acceleration data, gravity acceleration data and specific force vectors, the 3-axis gyroscope in the 9-axis sensor measures angular velocity data, and the 3-axis magnetometer in the 9-axis sensor measures course angle data and geomagnetic data.
For each secondary node position, the motion data of the secondary node position is measured by the sensors of the secondary node module, and the motion data comprises acceleration data, gravity acceleration data and specific force vectors measured by a 3-axis accelerometer in a 9-axis sensor, angular velocity data measured by a 3-axis gyroscope in the 9-axis sensor, and geomagnetic vectors measured by a 3-axis magnetometer in the 9-axis sensor.
In step 103, posture data of the measured object at the same time is obtained according to the position data of each node position in the geographic coordinate system at the same time.
Wherein for the pose data for calculating the position of the master node:
the main node module comprises a satellite positioning receiver, a barometer, a 9-axis sensor and a data storage unit, wherein the 9-axis sensor comprises a 3-axis accelerometer, a 3-axis gyroscope and a 3-axis magnetometer, according to a relevant theory of combined navigation, the satellite positioning receiver, the 3-axis accelerometer in the 9-axis sensor and the 3-axis gyroscope in the 9-axis sensor can be regarded as a combined navigation system of a satellite positioning device and an inertial device, wherein the altitude precision output by the satellite positioning receiver is poor, the problem that the altitude precision of the satellite positioning receiver is poor is solved by using the barometer, the altitude data is measured by using the satellite positioning receiver, the altitude data is measured by the barometer, the combined navigation system of the satellite positioning device and the inertial device is poor in observation performance of a heading angle, and the accurate heading angle data can be obtained just by using the 3-axis magnetometer in the 9-axis sensor to measure a geomagnetic vector of a main node position, so that the accurate heading angle data is obtained by using the 3-axis magnetometer in the 9-axis sensor, the data measured by the sensor is no longer obtained by establishing a relevant filter of the relevant theory of combined navigation of the existing navigation technology.
For the pose data for calculating any one secondary node position:
each secondary node module only comprises a 9-axis sensor, acceleration, angular velocity and geomagnetic vectors of secondary node positions can be measured, in the motion training process, angles after angles are updated according to the angular velocities output by 3-axis gyroscopes of the 9-axis sensors, zero offset and accumulated errors can occur to the 3-axis gyroscopes, angular errors of the recursive secondary node positions are recurred, and the angular errors of the recursive secondary node positions are gradually dispersed along with time, so that the angular errors of the secondary node positions need to be corrected.
In one possible implementation, the positions for the respective nodes are: the primary node position is a preset position of the object to be tested, and for any secondary node module, the secondary node position corresponding to the secondary node module is a joint position of the object to be tested or a position between two joints of the object to be tested.
In one possible implementation manner, the primary node module is used as an initial module, and one primary node module and a part of secondary node modules in the plurality of secondary node modules form two upper limb lines.
As shown in fig. 2, two upper limb lines are formed: the primary node module 200, the secondary node module 201, the secondary node module 203 and the secondary node module 205 are arranged on one side, the primary node module 200, the secondary node module 202, the secondary node module 204 and the secondary node module 206 are arranged on the other side, the primary node module is fixed to the waist of the measured object, the secondary node module 201 and the secondary node module 202 are fixed to the shoulder of the measured object, the secondary node module 203 and the secondary node module 204 are fixed to the middle portions of the two upper arms of the measured object, and the secondary node module 205 and the secondary node module 206 are fixed to the middle portions of the two forearms of the measured object.
In the process of obtaining the angle error of the secondary node module, the 3-axis magnetometer in the 9-axis sensor of the secondary node module measures a geomagnetic vector measurement value, the 3-axis accelerometer measures a specific force vector of the secondary node, and when the angle of the secondary node has an error, the measurement deviation of the geomagnetic vector and the specific force vector can be caused.
For any upper limb circuit, the upper limb circuit corresponds to an arm of the object to be measured, the upper limb circuit sequentially comprises a main node module, a first secondary node module, a second secondary node module and a third secondary node module, the first secondary node module is fixed on the shoulder of the arm, the second secondary node module is fixed on the middle part of the upper arm of the arm, and the third secondary node module is fixed on the middle part of the lower arm of the arm:
obtaining the acceleration of the shoulder according to the acceleration of the main node module, the angular velocity of the first secondary node module and the space position vector from the main node module to the first secondary node module, wherein the acceleration of the shoulder is also used for expressing the acceleration of the first secondary node;
obtaining the acceleration of the elbow according to the acceleration of the shoulder, the angular velocity of the second secondary node module and the space position vector from the shoulder to the elbow;
obtaining the acceleration of the second secondary node module according to the acceleration of the shoulder, the angular velocity of the second secondary node module and the space position vector from the shoulder to the second secondary node module;
obtaining the acceleration of the third time node module according to the acceleration of the elbow, the angular velocity of the third time node module and the space position vector from the elbow to the third time node module;
for any one of a first secondary node module, a second secondary node module and a third secondary node module, obtaining a specific force vector of the secondary node module according to the acceleration of the secondary node module and a gravity acceleration vector in a geographic coordinate system, subtracting the specific force vector of the secondary node module from a specific force vector measured value of a 3-axis accelerometer of the secondary node module to obtain a specific force vector difference value of the secondary node module, subtracting a geomagnetic vector measured value of a 3-axis magnetometer of the secondary node module from a geomagnetic vector in the geographic coordinate system to obtain a geomagnetic vector difference value of the secondary node module, and obtaining an angle error of the secondary node module according to the geomagnetic vector difference value and the specific force vector difference value of the secondary node module, wherein the gravity acceleration vector in the geographic coordinate system is a preset gravity acceleration value, and the geomagnetic vector in the geographic coordinate system is a preset geomagnetic vector value;
and for any one of the first secondary node module, the second secondary node module and the third secondary node module, calculating the difference between the angle obtained after the angle is updated according to the angular speed output by the 3-axis gyroscope of the secondary node module and the angle error of the secondary node module, and obtaining the angle value corrected by the secondary node module.
In one possible implementation manner, the main node module is used as an initial module, and one main node module and a part of secondary node modules in the plurality of secondary node modules form two lower limb lines.
As shown in fig. 2, the two lower limb lines are respectively formed as follows: the main node module 200, the secondary node module 207 and the secondary node module 209 are arranged on one side, the main node module 200, the secondary node module 208 and the secondary node module 210 are arranged on the other side, the main node module 200 is fixed on the waist of the measured object, the secondary node module 207 and the secondary node module 208 are fixed on the middle parts of two thighs of the measured object, and the secondary node module 209 and the secondary node module 210 are fixed on the middle parts of two shanks of the measured object.
For any lower limb line, the lower limb line corresponds to one leg of the measured object, the lower limb line sequentially comprises a main node module, a fourth node module and a fifth node module, the fourth node module is fixed at the middle part of the thigh of the leg, the fifth node module is fixed at the middle part of the shank of the leg, and the correction process is as follows:
obtaining the acceleration of the knee according to the acceleration of the main node module, the angular velocity of the fourth time node module and the space position vector from the main node module to the knee;
obtaining the acceleration of the fourth node module according to the acceleration of the main node module, the angular velocity of the fourth node module and the space position vector from the main node module to the fourth node module;
obtaining the acceleration of a fifth node module according to the acceleration of the knee, the angular velocity of the fifth node module and the space position vector from the knee to the fifth node module;
for any one of the fourth node module and the fifth node module, obtaining a specific force vector of the secondary node module according to the acceleration of the secondary node module and a gravity acceleration vector in a geographic coordinate system, subtracting the specific force vector of the secondary node module from a specific force vector measurement value of a 3-axis accelerometer of the secondary node module to obtain a specific force vector difference value of the secondary node module, and subtracting a geomagnetic vector measurement value of a 3-axis magnetometer of the secondary node module from a geomagnetic vector in the geographic coordinate system to obtain an angle error of the secondary node module, wherein the gravity acceleration vector in the geographic coordinate system is a preset gravity acceleration value, and the geomagnetic vector in the geographic coordinate system is a preset geomagnetic vector value;
and for any one of the fourth time node module and the fifth time node module, calculating the difference between the angle obtained after the angle is updated according to the angular speed output by the 3-axis gyroscope of the time node module and the angle error of the time node module, and obtaining the angle value corrected by the time node module.
Since the mounting position of the first secondary node module is close to the shoulder, the acceleration of the first secondary node module can be considered to be equal to the acceleration of the shoulder.
Obtaining the acceleration of the shoulder through a second formula according to the acceleration of the main node module, the angular velocity of the primary node module and the space position vector from the main node module to the primary node module, wherein the second formula is
a′ 1 =a 0 +(ω 1 ) 2 l 1
Wherein, a' 1 Acceleration of the shoulder, a 0 As acceleration of the main node module, ω 1 Angular velocity of the first time node module,/ 1 Is the spatial position vector from the master node module to the first secondary node module.
The acceleration of the shoulder is also used to represent the acceleration of the first secondary node.
Obtaining the acceleration of the elbow through a second formula according to the acceleration of the shoulder, the angular velocity of the second secondary node module and the space position vector from the shoulder to the elbow, wherein the second formula is
a′ 2 =a′ 1 +(ω 2 ) 2 l 3
Wherein, a' 1 Acceleration of the shoulder, a 0 As acceleration of the main node module, ω 1 Angular velocity of the first time node module,/ 1 Is a 'spatial position vector of master node module to first secondary node module' 2 Acceleration of the elbow, ω 2 Angular velocity of the second sub-node module,/ 3 Is the shoulder to elbow spatial position vector.
According to the acceleration of the shoulder, the angular velocity of the second secondary node module and the space position vector from the shoulder to the second secondary node module, the acceleration of the second secondary node module is obtained through a second formula
a 2 =a′ 1 +(ω 2 ) 2 l 2
Wherein, a 2 Is the acceleration of the second secondary node module, a' 1 Acceleration of the shoulder, ω 2 Angular velocity of the second sub-node module,/ 2 Is the spatial location vector of the shoulder to the second secondary node module.
According to the acceleration of the elbow, the angular velocity of the third time node module and the space position vector from the elbow to the third time node module, the acceleration of the third time node module is obtained through a second formula, wherein the second formula is
a 3 =a′ 2 +(ω 3 ) 2 l 4
Wherein, a 3 Acceleration of the third secondary node module, a' 2 Acceleration of the shoulder, ω 3 Angular velocity of the third time node module,/ 4 Is the spatial position vector of the elbow to third secondary node module.
According to the acceleration of the main node module, the angular velocity of the fourth node module and the space position vector from the main node module to the knee, the acceleration of the knee is obtained through a second formula
a′ 3 =a 0 +(ω 4 ) 2 l 6
Wherein, a' 3 Acceleration of the knee, a 0 As acceleration, omega, of the module of the main node 3 Is a fourth time node moduleAngular velocity of the block,/ 6 Is the master node module to knee spatial position vector.
Obtaining the acceleration of the fourth time node module through a second formula according to the acceleration of the main node module, the angular velocity of the fourth time node module and the space position vector from the main node module to the fourth time node module, wherein the second formula is
a 4 =a 0 +(ω 4 ) 2 l 5
Wherein, a 4 Acceleration of the fourth time node module, a 0 As acceleration, omega, of the module of the main node 4 Angular velocity of the fourth time node module, l 5 And the space position vectors from the main node module to the fourth node module.
Obtaining the acceleration of the fifth node module through a second formula according to the acceleration of the knee, the angular velocity of the fifth node module and the space position vector from the knee to the fifth node module, wherein the second formula is
a 5 =a′ 3 +(ω 5 ) 2 l 7
Wherein, a 5 Acceleration of the fifth node module of a' 3 Acceleration of the knee, ω 5 Angular velocity of the fifth node module, l 7 Is the spatial position vector of the knee through the fifth node module.
For any one of the first secondary node module, the second secondary node module and the third secondary node module, according to the acceleration of the secondary node module and the gravity acceleration vector in the geographic coordinate system, the specific force vector of the secondary node module is obtained through a third formula, wherein the third formula is
f 1 =a 1 -g
Wherein f is 1 Is the specific force vector of the secondary node module, a 1 And g is the acceleration of the secondary node module, and is a gravity acceleration vector in a geographic coordinate system, and the magnitude of g is a preset gravity acceleration value.
Then the specific force vectors of the second sub-node module, the third sub-node module, the fourth sub-node module and the fifth sub-node module can be obtained through the third formula, and then
f 2 =a 2 -g
f 3 =a 3 -g
f 4 =a 4 -g
f 5 =a 5 -g
Wherein, f 2 Is the specific force vector of the second sub-node block, a 2 Acceleration of the second sub-node module, f 3 Is the specific force vector of the third time node module, a 3 Acceleration of the third time node module, f 4 Is the specific force vector of the fourth node module, a 4 Acceleration of the fourth time node module, f 5 Is the specific force vector of the fifth node module, a 5 And g is the acceleration of the fifth node module, the g is a gravity acceleration vector in a geographic coordinate system, and the magnitude of the g is a preset gravity acceleration value.
Fig. 2 is a schematic view of a wearing structure of the exercise data acquisition device in this embodiment, but is not limited thereto, the solving processes of the left and right sides are the same, and only one solving process is shown, and then according to fig. 2, the specific process of correcting the angle error according to the position of the secondary node is as follows:
correction procedure for upper limb line:
referring to fig. 2, the master node module 200, the first secondary node module 202, the second secondary node module 204, and the third secondary node module 206 are configured to calculate the acceleration of the master node module 200, the angular velocity of the first secondary node module 202, and the spatial position vector l from the master node module to the first secondary node module 1 Obtaining the acceleration of the shoulder, which is also used to represent the acceleration of the first secondary node 202;
based on the acceleration of the shoulder, the angular velocity of the second secondary node module 204, and the shoulder-to-elbow spatial position vector l 3 Obtaining the acceleration of the elbow;
based on the acceleration of the shoulder, the angular velocity of the second sub-node module 204, and the shoulder-to-second sub-node module spatial position vector l 2 Obtaining a second sub-node module 204Acceleration;
based on the acceleration of the elbow, the angular velocity of the third secondary node module 206, and the elbow to third secondary node module spatial position vector l 4 To obtain the acceleration of the third time node module 206;
for any one of the first secondary node module 202, the second secondary node module 204 and the third secondary node module 206, obtaining a specific force vector of the secondary node module according to the acceleration of the secondary node module and a gravity acceleration vector in a geographic coordinate system, subtracting the specific force vector of the secondary node module from a specific force vector measurement value of a 3-axis accelerometer of the secondary node module to obtain a specific force vector difference value of the secondary node module, subtracting a geomagnetic vector measurement value of a 3-axis magnetometer of the secondary node module from a geomagnetic vector in the geographic coordinate system to obtain a geomagnetic vector difference value of the secondary node module, and obtaining an angle error of the secondary node module according to the geomagnetic vector difference value and the specific force vector difference value of the secondary node module, wherein the gravity acceleration vector in the geographic coordinate system is a preset acceleration value, and the geomagnetic vector in the geographic coordinate system is a preset vector value;
for any one of the first secondary node module 202, the second secondary node module 204 and the third secondary node module 206, the difference is made between the angle obtained by updating the angle according to the angular velocity output by the 3-axis gyroscope of the secondary node module and the angle error of the secondary node module, so as to obtain the angle value corrected by the secondary node module.
Solving for the accelerations of the shoulder and elbow according to the data above, the second equation may be embodied as
a′ 1 =a 0 +(ω 1 ) 2 l 1
a′ 2 =a′ 1 +(ω 2 ) 2 l 3
Wherein, a' 1 Acceleration of the shoulder, a 0 As acceleration, omega, of the module of the main node 1 Angular velocity of the first time node module,/ 1 Is the spatial position vector, a ', of the master node module to the first secondary node module' 2 Is an elbowAcceleration of, ω 2 Angular velocity of the second sub-node module, /) 3 Is the shoulder to elbow spatial position vector;
according to the data, the acceleration of the first time node module, the second time node module and the third time node module is solved, and the concrete formula is
a 1 =a 0 +(ω 1 ) 2 l 1
a 2 =a′ 1 +(ω 2 ) 2 l 2
a 3 =a′ 2 +(ω 3 ) 2 l 4
Wherein, a 1 Acceleration of the first time node module, a 0 As acceleration, omega, of the module of the main node 1 Angular velocity of the first time node module,/ 1 Is the spatial position vector from the master node module to the first secondary node module, a 2 Is the acceleration of the second secondary node module, a' 1 Acceleration of the shoulder, ω 2 Angular velocity of the second sub-node module, /) 2 Is the spatial position vector of the shoulder to the second secondary node module, a 3 Acceleration of the third secondary node module, a' 2 Acceleration of the shoulder, ω 3 Angular velocity of the third time node module,/ 4 A spatial position vector from the elbow to the third secondary node module;
solving the specific force vectors of the first secondary node module, the second secondary node module and the third secondary node module according to the data, the third formula can be specifically expressed as
f 1 =a 1 -g
f 2 =a 2 -g
f 3 =a 3 -g
Wherein f is 1 Is the specific force vector of the first sub-node block, a 1 Acceleration of the first time node module, f 2 Is the specific force vector of the second sub-node block, a 2 Acceleration of the second sub-node module, f 3 Is the specific force vector of the third time node module, a 3 Is the third timeAnd g is a gravity acceleration vector in a geographic coordinate system, and the magnitude of g is a preset gravity acceleration value.
Correction process for lower limb line:
referring to FIG. 2, the master node module 200, the fourth time node module 208 and the fifth time node module 210 are based on the acceleration of the master node module 200, the angular velocity of the fourth time node module 208 and the spatial location vector l from the master node module 200 to the knee 6 Obtaining the acceleration of the knee;
based on the acceleration of the master node module 200, the angular velocity of the fourth time node module 208, and the spatial location vector l of the master node module 200 to the fourth time node module 208 5 To obtain the acceleration of the fourth time node module 208;
based on the knee acceleration, the angular velocity of the fifth node module 210, and the knee-to-fifth node module 210 spatial position vector l 7 To obtain the acceleration of the fifth node module 210;
for any one of the fourth time node module 208 and the fifth time node module 210, obtaining a specific force vector of the secondary node module according to the acceleration of the secondary node module and a gravity acceleration vector in a geographic coordinate system, subtracting the specific force vector of the secondary node module from a specific force vector measurement value of a 3-axis accelerometer of the secondary node module to obtain a specific force vector difference value of the secondary node module, and subtracting a geomagnetic vector measurement value of a 3-axis magnetometer of the secondary node module from a geomagnetic vector in the geographic coordinate system to obtain an angle error of the secondary node module, wherein the magnitude of the gravity acceleration vector in the geographic coordinate system is a preset gravity acceleration value, and the magnitude of the geomagnetic vector in the geographic coordinate system is a preset geomagnetic vector value;
for any one of the fourth time node module 208 and the fifth time node module 210, the angle obtained by updating the angle according to the angular velocity output by the 3-axis gyroscope of the time node module is different from the angle error of the time node module, so as to obtain the angle value corrected by the time node module.
Solving for the knee acceleration according to the data above, the second equation can be embodied as
a′ 3 =a 0 +(ω 4 ) 2 l 6
Wherein, a' 3 Acceleration of the knee, a 0 As acceleration, omega, of the module of the main node 3 Angular velocity of the fourth time node module,/ 6 A spatial position vector from the master node module to the knee;
according to the data, the acceleration of the fourth node module and the acceleration of the fifth node module are solved, and the concrete formula is
a 4 =a 0 +(ω 4 ) 2 l 5
a 5 =a′ 3 +(ω 5 ) 2 l 7
Wherein, a 4 Acceleration of the fourth time node module, a 0 As acceleration of the main node module, ω 4 Angular velocity of the fourth time node module,/ 5 Is a spatial position vector from the primary node module to the fourth node module, a 5 Acceleration of the fifth node module, a' 3 Acceleration of the knee, ω 5 Angular velocity of the fifth node module, l 7 A spatial position vector for the knee to fifth node module;
solving the specific force vectors of the fourth time node module and the fifth time node module according to the data, the third formula can be specifically expressed as
f 4 =a 4 -g
f 5 =a 5 -g
Wherein f is 4 Is the specific force vector of the fourth node module, a 4 Acceleration of the fourth time node module, f 5 Specific force vector of fifth node module, a 5 And g is the acceleration of the fifth node module, the g is the gravity acceleration vector in the geographic coordinate system, and the magnitude of the g is a preset gravity acceleration value.
The solving processes of the secondary node module 201, the secondary node module 203, the secondary node module 205, the secondary node module 207 and the secondary node module 209 are the same, and are not described in detail herein.
The embodiment of the invention provides a motion attitude analysis method, which comprises the steps of determining a mapping relation between a measuring coordinate system of each node position and a preset geographic coordinate system according to initial static data of each node position, obtaining attitude data of a main node position of a measured object according to a satellite positioning receiver, an air pressure altimeter and a 9-axis sensor, obtaining attitude data of a secondary node position of the measured object according to the 9-axis sensor of each secondary node module, and finally obtaining accurate motion attitude data according to the attitude data of the main node position and the attitude data of the secondary node position, so that a large amount of accurate motion data is provided for motion training, the subsequent motion analysis and motion specification are facilitated, and motion capture under large-scene and high-dynamic conditions is also realized.
The following are embodiments of the apparatus of the invention, reference being made to the corresponding method embodiments described above for details which are not described in detail therein.
Fig. 3 is a schematic structural diagram of a motion gesture analysis apparatus provided in an embodiment of the present invention, and for convenience of description, only the parts related to the embodiment of the present invention are shown, which are detailed as follows:
as shown in fig. 3, the motion posture analyzing apparatus 3 includes: a determination module 31, a conversion module 32 and an attitude data acquisition module 33;
the determining module 31 is configured to determine, for each node position, a mapping relationship between a measurement coordinate system of the node position and a preset geographic coordinate system according to initial static data of the node position, where the initial static data of the node position is acquired by a node module of the node position when a measured object maintains a preset static posture, and the node position includes a primary node position corresponding to the primary node module and a secondary node position corresponding to each secondary node module;
the conversion module 32 is configured to convert the motion data of the node from the measured coordinate system of the node to a geographic coordinate system according to a mapping relationship between the measured coordinate system of the node position and a preset geographic coordinate system, so as to obtain position data of the node position in the geographic coordinate system;
the attitude data obtaining module 33 is configured to obtain attitude data of the measured object at the same time according to position data of each node position in the geographic coordinate system at the same time.
The embodiment of the invention provides a motion attitude analysis device, which determines a mapping relation between a measurement coordinate system of each node position and a preset geographic coordinate system according to initial static data of each node position, obtains attitude data of a main node position of a measured object according to a satellite positioning receiver, an air pressure altimeter and a 9-axis sensor, obtains attitude data of a secondary node position of the measured object according to the 9-axis sensor of each secondary node module, and finally obtains accurate motion attitude data according to the attitude data of the main node position and the attitude data of the secondary node position, thereby providing a large amount of accurate motion data for motion training, facilitating subsequent motion analysis and motion specification and realizing motion capture under large-scene and high-dynamic conditions.
In one possible implementation, the motion data or static data at the position of the main node includes longitude and latitude data, acceleration data, gravity acceleration data, specific force vector, angular velocity data, altitude data, heading angle data, and geomagnetic vector;
for each secondary node position, the motion data or static data for that secondary node position includes acceleration data, gravitational acceleration data, specific force vectors, angular velocity data, and geomagnetic vectors.
In one possible implementation, the determining module is further configured to:
and determining a direction cosine matrix between the measurement coordinate system of the node position and the geographical coordinate system according to the gravity acceleration vector and the local geomagnetic vector in the geographical coordinate system and the specific force vector and the geomagnetic vector in the measurement coordinate system of the node position, wherein the direction cosine matrix is used for representing the mapping relation between the measurement coordinate system of the node position and a preset geographical coordinate system.
In one possible implementation, the determining module is further configured to:
determining a direction cosine matrix between a measuring coordinate system and a geographic coordinate system of the node position by a first formula
Figure BDA0003575958920000211
Wherein g is a gravity acceleration vector in a geographic coordinate system, the magnitude of g is a preset gravity acceleration value, f 'is a specific force vector in a measurement coordinate system of the node position, m is a geomagnetic vector in the geographic coordinate system, the magnitude of m is a preset geomagnetic vector value, m' is a geomagnetic vector in the measurement coordinate system of the node position, and C is a direction cosine matrix between the measurement coordinate system of the node position and the geographic coordinate system.
In a possible implementation manner, the primary node position is a preset position of the object to be measured, and for any secondary node module, the secondary node position corresponding to the secondary node module is a joint position of the object to be measured or a position between two joints of the object to be measured.
In one possible implementation manner, the gesture data obtaining module is further configured to:
obtaining the acceleration of the shoulder according to the acceleration of the main node module, the angular velocity of the first secondary node module and the space position vector from the main node module to the first secondary node module, wherein the acceleration of the shoulder is also used for expressing the acceleration of the first secondary node;
obtaining the acceleration of the elbow according to the acceleration of the shoulder, the angular velocity of the second secondary node module and the space position vector from the shoulder to the elbow;
obtaining the acceleration of the second secondary node module according to the acceleration of the shoulder, the angular velocity of the second secondary node module and the space position vector from the shoulder to the second secondary node module;
obtaining the acceleration of the third time node module according to the acceleration of the elbow, the angular velocity of the third time node module and the space position vector from the elbow to the third time node module;
for any one of a first secondary node module, a second secondary node module and a third secondary node module, obtaining a specific force vector of the secondary node module according to the acceleration of the secondary node module and a gravity acceleration vector in a geographic coordinate system, subtracting the specific force vector of the secondary node module from a specific force vector measured value of a 3-axis accelerometer of the secondary node module to obtain a specific force vector difference value of the secondary node module, subtracting a geomagnetic vector measured value of a 3-axis magnetometer of the secondary node module from a geomagnetic vector in the geographic coordinate system to obtain a geomagnetic vector difference value of the secondary node module, and obtaining an angle error of the secondary node module according to the geomagnetic vector difference value and the specific force vector difference value of the secondary node module, wherein the gravity acceleration vector in the geographic coordinate system is a preset gravity acceleration value, and the geomagnetic vector in the geographic coordinate system is a preset geomagnetic vector value;
and for any one of the first secondary node module, the second secondary node module and the third secondary node module, calculating the difference between the angle obtained after the angle is updated according to the angular speed output by the 3-axis gyroscope of the secondary node module and the angle error of the secondary node module, and obtaining the angle value corrected by the secondary node module.
In one possible implementation, the pose data acquisition module is further configured to:
obtaining the acceleration of the knee according to the acceleration of the main node module, the angular velocity of the fourth time node module and the space position vector from the main node module to the knee;
obtaining the acceleration of the fourth node module according to the acceleration of the main node module, the angular velocity of the fourth node module and the space position vector from the main node module to the fourth node module;
obtaining the acceleration of a fifth node module according to the acceleration of the knee, the angular velocity of the fifth node module and the space position vector from the knee to the fifth node module;
for any one of the fourth time node module and the fifth time node module, obtaining a specific force vector of the secondary node module according to the acceleration of the secondary node module and a gravity acceleration vector in a geographic coordinate system, subtracting the specific force vector of the secondary node module from a specific force vector measurement value of a 3-axis accelerometer of the secondary node module to obtain a specific force vector difference value of the secondary node module, and subtracting a geomagnetic vector measurement value of a 3-axis magnetometer of the secondary node module from a geomagnetic vector in the geographic coordinate system to obtain an angle error of the secondary node module, wherein the gravity acceleration vector in the geographic coordinate system is a preset gravity acceleration value, and the geomagnetic vector in the geographic coordinate system is a preset geomagnetic vector value;
and for any one of the fourth time node module and the fifth time node module, calculating a difference between the angle obtained by updating the angle according to the angular speed output by the 3-axis gyroscope of the second time node module and the angle error of the second time node module to obtain the angle value corrected by the second time node module.
In one possible implementation, the pose data acquisition module is further configured to:
obtaining the acceleration of the shoulder according to a second formula
a′ 1 =a 0 +(ω 1 ) 2 l 1
Wherein, a' 1 Acceleration of the shoulder, a 0 As acceleration of the main node module, ω 1 Angular velocity of the first time node module,/ 1 A space position vector from the main node module to the first secondary node module;
obtaining the specific force vector of the secondary node module according to a third formula
f 1 =a 1 -g
Wherein f is 1 Is the specific force vector of the secondary node module, a 1 And g is the acceleration of the secondary node module, the g is the gravity acceleration vector in the geographic coordinate system, and the magnitude of the g is a preset gravity acceleration value.
Fig. 4 is a schematic diagram of a terminal according to an embodiment of the present invention. As shown in fig. 4, the terminal 4 of this embodiment includes: a processor 40, a memory 41 and a computer program 42 stored in said memory 41 and executable on said processor 40. The processor 40, when executing the computer program 42, implements the steps in the above-described embodiments of the motion gesture analysis method, such as the steps 101 to 103 shown in fig. 1. Alternatively, the processor 40, when executing the computer program 42, implements the functions of the modules/units in the above-mentioned device embodiments, such as the modules/units 31 to 33 shown in fig. 3.
Illustratively, the computer program 42 may be partitioned into one or more modules/units that are stored in the memory 41 and executed by the processor 40 to implement the present invention. The one or more modules/units may be a series of computer program instruction segments capable of performing specific functions, which are used to describe the execution of the computer program 42 in the terminal 4. For example, the computer program 42 may be divided into the modules/units 31 to 33 shown in fig. 3.
The terminal 4 may be a desktop computer, a notebook, a palm computer, a cloud server, or other computing devices. The terminal 4 may include, but is not limited to, a processor 40, a memory 41. Those skilled in the art will appreciate that fig. 4 is only an example of a terminal 4 and does not constitute a limitation of terminal 4 and may include more or less components than those shown, or some components in combination, or different components, for example, the terminal may also include input output devices, network access devices, buses, etc.
The Processor 30 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic device, discrete hardware component, or the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The memory 41 may be an internal storage unit of the terminal 4, such as a hard disk or a memory of the terminal 4. The memory 41 may also be an external storage device of the terminal 4, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card) and the like provided on the terminal 3. Further, the memory 41 may also include both an internal storage unit and an external storage device of the terminal 4. The memory 41 is used for storing the computer program and other programs and data required by the terminal. The memory 41 may also be used to temporarily store data that has been output or is to be output.
It should be clear to those skilled in the art that, for convenience and simplicity of description, the foregoing division of the functional units and modules is only used for illustration, and in practical applications, the above function distribution may be performed by different functional units and modules as needed, that is, the internal structure of the apparatus may be divided into different functional units or modules to perform all or part of the above described functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the above embodiments, the description of each embodiment has its own emphasis, and reference may be made to the related description of other embodiments for parts that are not described or recited in any embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the technical solution. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
In the embodiments provided in the present invention, it should be understood that the disclosed apparatus/terminal and method may be implemented in other ways. For example, the above-described apparatus/terminal embodiments are merely illustrative, and for example, the division of the modules or units is only one type of logical function division, and other division manners may exist in actual implementation, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The integrated unit can be realized in a form of hardware, and can also be realized in a form of a software functional unit.
The integrated modules/units, if implemented in the form of software functional units and sold or used as separate products, may be stored in a computer readable storage medium. Based on such understanding, all or part of the flow in the method according to the above embodiments may be implemented by a computer program, which may be stored in a computer readable storage medium and used by a processor to implement the steps of the above embodiments of the motion gesture analysis method. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, usb disk, removable hard disk, magnetic disk, optical disk, computer Memory, read-Only Memory (ROM), random Access Memory (RAM), electrical carrier wave signals, telecommunications signals, software distribution medium, and the like. It should be noted that the computer readable medium may contain other components which may be suitably increased or decreased as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, computer readable media which may not include electrical carrier signals and telecommunications signals in accordance with legislation and patent practice.
The above-mentioned embodiments are only used to illustrate the technical solution of the present invention, and not to limit the same; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present invention, and are intended to be included within the scope of the present invention.

Claims (7)

1. A motion attitude analysis method is applied to a motion data acquisition device, the device comprises a main node module and a plurality of secondary node modules, the main node module is fixed at the main node position of a measured object, for each secondary node module, the secondary node module is fixed at the secondary node position of the measured object, the main node module is used for acquiring motion data and initial static data of the main node position of the measured object, and the secondary node module is used for acquiring motion data and initial static data of the secondary node position of the measured object, the method comprises the following steps:
for each node position, determining a mapping relation between a measurement coordinate system of the node position and a preset geographic coordinate system according to initial static data of the node position, wherein the initial static data of the node position is acquired by a node module of the node position under the condition that the measured object keeps a preset static posture, and the node position comprises a main node position corresponding to a main node module and a secondary node position corresponding to each secondary node module;
converting the motion data of the node from the measuring coordinate system of the node to a preset geographical coordinate system according to the mapping relation between the measuring coordinate system of the node position and the geographical coordinate system to obtain the position data of the node position in the geographical coordinate system;
obtaining attitude data of the measured object at the same moment according to position data of each node position in the geographic coordinate system at the same moment;
the motion data or the static data at the position of the main node comprise longitude and latitude data, acceleration data, gravity acceleration data, specific force vectors, angular velocity data, altitude data, heading angle data and geomagnetic vectors;
for each secondary node position, the motion data or static data of the secondary node position comprises acceleration data, gravity acceleration data, specific force vector, angular velocity data and geomagnetic vector;
the primary node position is a preset position of the object to be tested, and for any secondary node module, the secondary node position corresponding to the secondary node module is a joint position of the object to be tested or a position between two joints of the object to be tested;
the method comprises the following steps that the main node module is used as an initial module, the main node module and partial secondary node modules in the secondary node modules form two upper limb lines, for any upper limb line, the upper limb line corresponds to one arm of the tested object, the upper limb line sequentially comprises the main node module, a first secondary node module, a second secondary node module and a third secondary node module, the first secondary node module is fixed on the shoulder of the arm, the second secondary node module is fixed on the middle part of the upper arm of the arm, and the third secondary node module is fixed on the middle part of the lower arm of the arm, and the method further comprises the following steps:
obtaining the acceleration of a shoulder according to the acceleration of the main node module, the angular velocity of the primary node module and the spatial position vector from the main node module to the primary node module, wherein the acceleration of the shoulder is also used for representing the acceleration of the primary node;
obtaining the acceleration of the elbow according to the acceleration of the shoulder, the angular velocity of the second secondary node module and the space position vector from the shoulder to the elbow;
obtaining the acceleration of the second secondary node module according to the acceleration of the shoulder, the angular velocity of the second secondary node module and the space position vector from the shoulder to the second secondary node module;
obtaining the acceleration of the third time node module according to the acceleration of the elbow, the angular velocity of the third time node module and a space position vector from the elbow to the third time node module;
for any one of the first secondary node module, the second secondary node module and the third secondary node module, obtaining a specific vector of the secondary node module according to the acceleration of the secondary node module and a gravity acceleration vector in the geographic coordinate system, subtracting the specific vector of the secondary node module and a specific vector measurement value of a 3-axis accelerometer of the secondary node module to obtain a specific vector difference value of the secondary node module, subtracting a geomagnetic vector measurement value of a 3-axis magnetometer of the secondary node module and a geomagnetic vector in the geographic coordinate system to obtain a vector geomagnetic difference value of the secondary node module, and obtaining an angle error of the secondary node module according to the geomagnetic vector difference value and the specific vector difference value of the secondary node module, wherein the gravity acceleration vector in the geographic coordinate system is a preset gravity acceleration value, and the geomagnetic vector in the geographic coordinate system is a preset geomagnetic vector value;
and for any one of the first secondary node module, the second secondary node module and the third secondary node module, calculating a difference between an angle obtained by updating the angle according to the angular velocity output by the 3-axis gyroscope of the secondary node module and the angle error of the secondary node module, and obtaining the angle value corrected by the secondary node module.
2. The method of claim 1, wherein determining, for each node location, a mapping between the measured coordinate system of the node location and a preset geographic coordinate system based on the initial static data of the node location comprises:
and determining a direction cosine matrix between the measuring coordinate system of the node position and the geographical coordinate system according to the gravity acceleration vector and the local geomagnetic vector in the geographical coordinate system as well as the specific force vector and the geomagnetic vector in the measuring coordinate system of the node position, wherein the direction cosine matrix is used for representing the mapping relation between the measuring coordinate system of the node position and the preset geographical coordinate system.
3. The method of claim 2, wherein determining the direction cosine matrix between the measured coordinate system of the node location and the geographic coordinate system according to the gravity acceleration vector and the local geomagnetic vector in the geographic coordinate system, and the specific force vector and the geomagnetic vector in the measured coordinate system of the node location comprises:
determining a direction cosine matrix between a measurement coordinate system of the node position and the geographic coordinate system through a first formula
Figure FDA0004102727540000031
Wherein g is a gravity acceleration vector in the geographic coordinate system, the magnitude of g is a preset gravity acceleration value, f A specific force vector in a measurement coordinate system of the node position, m is a geomagnetic vector in the geographic coordinate system, the magnitude of m is a preset geomagnetic vector value, and m Is the geomagnetic vector in the measurement coordinate system of the node position, and C is the measurement coordinate system of the node position and the geographyDirection cosine matrices between coordinate systems.
4. The method according to claims 1 to 3, wherein the primary node module is used as a starting module, the primary node module and some of the secondary node modules form two lower limb lines, for any lower limb line, the lower limb line corresponds to one leg of the measured object, the lower limb line comprises the primary node module, a fourth node module and a fifth node module in sequence, the fourth node module is fixed to a middle thigh portion of the leg, and the fifth node module is fixed to a middle shank portion of the leg, and the method further comprises:
obtaining the acceleration of the knee according to the acceleration of the main node module, the angular velocity of the fourth time node module and the spatial position vector from the main node module to the knee;
obtaining the acceleration of the fourth time node module according to the acceleration of the main node module, the angular velocity of the fourth time node module and the space position vector from the main node module to the fourth time node module;
obtaining the acceleration of the fifth node module according to the acceleration of the knee, the angular velocity of the fifth node module and the space position vector from the knee to the fifth node module;
for any one of the fourth time node module and the fifth time node module, obtaining a specific force vector of the time node module according to the acceleration of the time node module and the gravity acceleration vector in the geographic coordinate system, subtracting the specific force vector of the time node module from the specific force vector measurement value of the 3-axis accelerometer of the time node module to obtain a specific force vector difference value of the time node module, and subtracting the geomagnetic vector measurement value of the 3-axis magnetometer of the time node module from the geomagnetic vector in the geographic coordinate system to obtain an angle error of the time node module, wherein the gravity acceleration vector in the geographic coordinate system is accelerated by a preset gravity value, and the geomagnetic vector in the geographic coordinate system is a preset geomagnetic vector value;
and for any one of the fourth time node module and the fifth time node module, calculating a difference between the angle obtained by updating the angle according to the angular velocity output by the 3-axis gyroscope of the time node module and the angle error of the time node module, and obtaining the angle value corrected by the time node module.
5. The method of claim 4, wherein obtaining the acceleration of the shoulder based on the acceleration of the primary node module, the angular velocity of the primary node module, and the spatial location vector from the primary node module to the primary node module comprises:
obtaining the acceleration of the shoulder according to a second formula, wherein the second formula is a 10 +(ω 1 ) 2 l 1
Wherein, a 1 Acceleration of the shoulder, a 0 As acceleration, ω, of the master node module 1 Is the angular velocity, l, of the first secondary node module 1 A spatial position vector from the master node module to the first secondary node module;
the obtaining, for any one of the first secondary node module, the second secondary node module, and the third secondary node module, a specific force vector of the secondary node module according to the acceleration of the secondary node module and the gravity acceleration vector in the geographic coordinate system includes:
obtaining the specific force vector of the secondary node module according to a third formula, wherein the third formula is f 11 -
Wherein, f 1 Is the specific force vector of the secondary node module, a 1 And g is the acceleration of the secondary node module, and is the gravity acceleration vector in the geographic coordinate system, and the magnitude of g is a preset gravity acceleration value.
6. A terminal comprising a memory, a processor and a computer program stored in the memory and executable on the processor, characterized in that the processor implements the steps of the method according to any of the preceding claims 1 to 5 when executing the computer program.
7. A computer-readable storage medium, in which a computer program is stored which, when being executed by a processor, carries out the steps of the method according to any one of claims 1 to 5 above.
CN202210344730.8A 2022-03-31 2022-03-31 Motion attitude analysis method, terminal and storage medium Active CN114967942B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210344730.8A CN114967942B (en) 2022-03-31 2022-03-31 Motion attitude analysis method, terminal and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210344730.8A CN114967942B (en) 2022-03-31 2022-03-31 Motion attitude analysis method, terminal and storage medium

Publications (2)

Publication Number Publication Date
CN114967942A CN114967942A (en) 2022-08-30
CN114967942B true CN114967942B (en) 2023-04-18

Family

ID=82977897

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210344730.8A Active CN114967942B (en) 2022-03-31 2022-03-31 Motion attitude analysis method, terminal and storage medium

Country Status (1)

Country Link
CN (1) CN114967942B (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010103966A1 (en) * 2009-03-10 2010-09-16 アルプス電気株式会社 Geomagnetism detection device

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004264060A (en) * 2003-02-14 2004-09-24 Akebono Brake Ind Co Ltd Error correction method in attitude detector, and action measuring instrument using the same
CN102184549B (en) * 2011-04-29 2012-10-10 闫文闻 Motion parameter determination method and device and motion auxiliary equipment
CN109785416A (en) * 2018-12-18 2019-05-21 武汉西山艺创文化有限公司 A kind of three-dimensional motion capture system and method
CN111693024A (en) * 2020-06-11 2020-09-22 秦奕天 Wearable human body sensing monitoring equipment based on nine-axis inertia measurement unit
CN112790760A (en) * 2021-01-05 2021-05-14 北京诺亦腾科技有限公司 Three-dimensional motion attitude capturing method, device, processing equipment and system
CN113793360B (en) * 2021-08-31 2024-02-06 大连理工大学 Three-dimensional human body reconstruction method based on inertial sensing technology

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010103966A1 (en) * 2009-03-10 2010-09-16 アルプス電気株式会社 Geomagnetism detection device

Also Published As

Publication number Publication date
CN114967942A (en) 2022-08-30

Similar Documents

Publication Publication Date Title
Wu et al. Fast complementary filter for attitude estimation using low-cost MARG sensors
CN107490378B (en) Indoor positioning and navigation method based on MPU6050 and smart phone
CN110197615B (en) Method and device for generating map
WO2016198009A1 (en) Heading checking method and apparatus
CN109186633B (en) On-site calibration method and system of composite measuring device
CN110440827B (en) Parameter error calibration method and device and storage medium
CN106370178B (en) Attitude measurement method and device of mobile terminal equipment
CN108088467A (en) A kind of method of calibration and device based on POS terminal and digital aviation measuring camera
JP2017207456A (en) Attitude estimation device, attitude estimation method, control program, and recording medium
CN107727114B (en) Acceleration calibration method and system based on gyroscope, service terminal and memory
CN109764870B (en) Carrier initial course estimation method based on transformation estimation modeling scheme
CN107830858A (en) A kind of mobile phone course estimation method based on gravity auxiliary
CN104266648A (en) Indoor location system based on Android platform MARG sensor
CN108801250B (en) Real-time attitude acquisition method and device based on underwater robot
CN113820735A (en) Method for determining position information, position measuring device, terminal, and storage medium
US20170074689A1 (en) Sensor Fusion Method for Determining Orientation of an Object
CN113009816B (en) Method and device for determining time synchronization error, storage medium and electronic device
CN114111776A (en) Positioning method and related device
CN112860823B (en) Terminal pointing display method and device, storage medium and electronic equipment
CN114967942B (en) Motion attitude analysis method, terminal and storage medium
CN112985394A (en) Positioning method and device, and storage medium
CN110058324B (en) Strapdown gravimeter horizontal component error correction method using gravity field model
CN111382701A (en) Motion capture method, motion capture device, electronic equipment and computer-readable storage medium
Sang et al. A self-developed indoor three-dimensional pedestrian localization platform based on MEMS sensors
CN111811421B (en) High-speed real-time deformation monitoring method and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant