CN113268136A - Method and device for resolving degree of freedom between thumb and palm and data glove - Google Patents

Method and device for resolving degree of freedom between thumb and palm and data glove Download PDF

Info

Publication number
CN113268136A
CN113268136A CN202010094836.8A CN202010094836A CN113268136A CN 113268136 A CN113268136 A CN 113268136A CN 202010094836 A CN202010094836 A CN 202010094836A CN 113268136 A CN113268136 A CN 113268136A
Authority
CN
China
Prior art keywords
quaternion
inertial sensor
moment
acquired
angular velocity
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.)
Granted
Application number
CN202010094836.8A
Other languages
Chinese (zh)
Other versions
CN113268136B (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.)
Beijing Haiyi Tongzhan Information Technology Co Ltd
Original Assignee
Beijing Haiyi Tongzhan Information 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 Beijing Haiyi Tongzhan Information Technology Co Ltd filed Critical Beijing Haiyi Tongzhan Information Technology Co Ltd
Priority to CN202010094836.8A priority Critical patent/CN113268136B/en
Publication of CN113268136A publication Critical patent/CN113268136A/en
Application granted granted Critical
Publication of CN113268136B publication Critical patent/CN113268136B/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/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • G06F3/014Hand-worn input/output arrangements, e.g. data gloves
    • 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/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

The embodiment of the invention relates to a method and a device for resolving the degree of freedom between a thumb and a palm and a data glove, wherein the method comprises the following steps: and extracting a first quaternion to a fourth quaternion from quaternions respectively acquired by the first inertial sensor and the second inertial sensor. Acquiring a fifth quaternion acquired by the first inertial sensor and a sixth quaternion acquired by the second inertial sensor at the kth moment; calculating a first reference quaternion and a second reference quaternion respectively corresponding to the fifth quaternion according to the first quaternion to the sixth quaternion; and calculating the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm of the data glove at the kth moment according to the fifth quaternion, the first reference quaternion and the second reference quaternion. The technical scheme provided by the application has the advantages of higher real-time performance and stronger stability. Two parameters of the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm in the data glove are measured and calculated, so that the gesture recognition precision is improved, and the complex gesture action is recognized conveniently.

Description

Method and device for resolving degree of freedom between thumb and palm and data glove
Technical Field
The embodiment of the invention relates to the technical field of computers, in particular to a method and a device for resolving the degree of freedom between a thumb and a palm and a data glove.
Background
The human hand is the main organ that the human body communicates with the outside world, can transmit multiple gesture information. The human hand is used as an information output organ and has the characteristics of multiple kinds of transferable information, large information quantity, strong mapping capability and the like. Because of these characteristics, the hand-worn device is concerned, and a great number of intelligent wearable devices are designed. In various intelligent hand wearing devices, the data gloves can make full use of hand posture information, so that the gloves have extremely strong development and research potentials.
In the prior art, the hand motion is analyzed and identified by using a data glove, and the main technology can be divided into two types:
(1) vision-based gesture recognition technology
The vision-based gesture recognition technology is that a single camera or a plurality of cameras are used for collecting hand pictures, the hand pictures are processed through proper image signals, and posture information of a human hand is recognized through a mode recognition algorithm. The visual gesture recognition technology has obvious advantages, the main hardware component is a camera, the hardware development difficulty is low, a software recognition algorithm is the core of the technology, the system cost is low, and the cost performance is very high.
(2) Hardware-based gesture recognition techniques
The hardware-based gesture recognition technology is that a sensor and an external structure are installed at key parts of a human hand so as to realize space positioning of the human hand and provide a tactile feedback function. Common sensors used by data gloves are optical fiber sensors, flexible sensors, and the like. The method has the advantages of extremely high space use flexibility, low secondary development cost, high stability and quick response.
The prior art has the following disadvantages:
(1) vision-based gesture recognition technology: although the visual gesture recognition can be completed only by the support of a camera, a complex algorithm is required as the support, and a lot of time and resources are spent on complex feature extraction and recognition operation. Furthermore, visual gesture recognition relies on cameras, which have limited placement areas and are not functional without this range, and may cause personal privacy exposure.
(2) Hardware-based gesture recognition techniques: although the data gloves based on the optical fiber sensors are high in comfort level and sensitive in response, the cost is high, fingers can only be roughly identified in bending, geographic space coordinates of hands cannot be identified, fatigue damage can be caused after the gloves are used for multiple times, and the measurement accuracy of angles is greatly influenced. The principle of the flexible sensor is basically consistent with that of an optical fiber data glove, the flexible sensor can only detect the bending condition of fingers, and the gesture recognition precision is not enough.
Disclosure of Invention
In view of this, in order to solve the technical problems in the prior art that the accuracy of complex gesture recognition is not sufficient for a data glove, or the algorithm is too complex, and the like, embodiments of the present invention provide a method and an apparatus for resolving the degree of freedom between a thumb and a palm, and a data glove.
In a first aspect, an embodiment of the present invention provides a method for resolving a degree of freedom between a thumb and a palm, where the method is applied to a data glove; the method comprises the following steps:
extracting a first quaternion, a second quaternion, a third quaternion and a fourth quaternion from quaternions respectively collected by a first inertial sensor and a second inertial sensor, wherein the first quaternion and the second quaternion are respectively: when the data glove is determined to be in a first preset initialization posture and in a static state, a first quaternion acquired by a first inertial sensor and a second quaternion acquired by a second inertial sensor; the third quaternion and the fourth quaternion are respectively: when the data glove is determined to be in a second preset initialization posture and in a static state, acquiring a third quaternion by the first inertial sensor and acquiring a fourth quaternion by the second inertial sensor;
acquiring a fifth quaternion acquired by the first inertial sensor and a sixth quaternion acquired by the second inertial sensor at the kth moment;
calculating a first reference quaternion and a second reference quaternion respectively corresponding to the fifth quaternion according to the first quaternion to the sixth quaternion;
and calculating the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm of the data glove at the kth moment according to the fifth quaternion, the first reference quaternion and the second reference quaternion, wherein k is a positive integer greater than 1.
In one possible embodiment, the first inertial sensor and the second inertial sensor are both further configured to acquire three-axis angular velocity data; extracting a first quaternion, a second quaternion, a third quaternion and a fourth quaternion from quaternions respectively collected by the first inertial sensor and the second inertial sensor, and specifically comprising:
determining a first moment when the data glove is in a first preset initialization posture and is in a static state according to the triaxial angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor;
determining a second moment when the data glove is in a second preset initialization posture and is in a static state according to the triaxial angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor;
acquiring a first quaternion acquired by a first inertial sensor and a second quaternion acquired by a second inertial sensor at a first moment; and acquiring a third quaternion acquired by the first inertial sensor and a fourth quaternion acquired by the second inertial sensor at a second moment.
In one possible embodiment, calculating the first reference quaternion and the second reference quaternion respectively corresponding to the fifth quaternion according to the first quaternion to the sixth quaternion specifically includes:
calculating a first reference quaternion corresponding to the fifth quaternion under the first preset initialization posture according to the sixth quaternion, the first quaternion and the second quaternion;
and calculating a second reference quaternion corresponding to the fifth quaternion under the second preset initialization posture according to the fifth quaternion, the third quaternion and the fourth quaternion.
In a possible embodiment, calculating, according to the sixth quaternion, the first quaternion and the second quaternion, a first reference quaternion corresponding to the fifth quaternion in the first preset initialization posture specifically includes:
calculating a first offset quaternion according to the first quaternion and the second quaternion;
and calculating a first reference quaternion corresponding to the fifth quaternion under the first preset initialization posture according to the sixth quaternion and the first offset quaternion.
In a possible embodiment, calculating, according to the fifth quaternion, the third quaternion and the fourth quaternion, a second reference quaternion corresponding to the fifth quaternion in the second preset initialization posture specifically includes:
calculating a second offset quaternion according to the third quaternion and the fourth quaternion;
and calculating a second reference quaternion corresponding to the fifth quaternion under a second preset initialization posture according to the fifth quaternion and the second offset quaternion.
In a possible embodiment, determining a first time when the data glove is in a first preset initialization posture and in a static state according to the three-axis angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor specifically includes:
acquiring triaxial angular velocity data acquired by a first inertial sensor at the t moment and triaxial angular velocity data acquired by a second inertial sensor at the t moment when the data glove is in a first preset initialization posture;
calculating thumb resultant angular velocity data at the t moment according to the triaxial angular velocity data acquired by the first inertial sensor at the t moment; calculating palm resultant angular velocity data at the t moment according to the triaxial angular velocity data acquired by the second inertial sensor at the t moment;
and when the thumb resultant angular velocity data and the palm resultant angular velocity data at the moment t are both smaller than a preset threshold, determining that the moment t is the first moment, wherein t is a positive integer, t is sequentially subjected to progressive value taking, and the initial value is 1.
In a possible embodiment, determining a second moment when the data glove is in a second preset initialization posture and in a static state according to the three-axis angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor specifically includes:
acquiring triaxial angular velocity data acquired by the first inertial sensor at the h moment and triaxial angular velocity data acquired by the second inertial sensor at the h moment when the data glove is in a second preset initialization posture;
calculating thumb resultant angular velocity data at the h moment according to the triaxial angular velocity data acquired by the first inertial sensor at the h moment, and calculating palm resultant angular velocity data at the h moment according to the triaxial angular velocity data acquired by the second inertial sensor at the h moment;
and when the thumb resultant angular velocity data and the palm resultant angular velocity data at the moment h are both smaller than a preset threshold, determining that the moment h is a second moment, wherein h is a positive integer, and h is sequentially subjected to progressive value taking and the initial value is 1.
In one possible embodiment, after acquiring the fifth quaternion acquired by the first inertial sensor and the sixth quaternion acquired by the second inertial sensor at the k-th time, the method further comprises:
and respectively carrying out normalization processing on the first quaternion, the second quaternion, the third quaternion, the fourth quaternion, the fifth quaternion and the sixth quaternion.
In one possible embodiment, the method for calculating the flexion-extension degree of freedom and the rotation degree of freedom between the thumb and the palm of the data glove at the k-th time according to the fifth quaternion, the first reference quaternion and the second reference quaternion, wherein k is a positive integer greater than 1 specifically comprises the following steps:
calculating the flexion and extension freedom degree between the thumb and the palm of the data glove at the kth moment according to the first reference quaternion and the fifth quaternion;
and calculating the rotational freedom degree between the thumb and the palm in the data glove at the k-th moment according to the fifth quaternion, the second reference quaternion and the flexion-extension freedom degree.
In one possible embodiment, the first preset initialization pose comprises: merging the initial postures; the second preset initialization pose comprises: rotating the initial position posture.
In a second aspect, an embodiment of the present invention provides a device for resolving a degree of freedom between a thumb and a palm, the device corresponding to a data glove, the device including:
the extraction unit is used for extracting a first quaternion, a second quaternion, a third quaternion and a fourth quaternion from quaternions respectively collected by the first inertial sensor and the second inertial sensor, wherein the first quaternion and the second quaternion are respectively: when the data glove is determined to be in a first preset initialization posture and in a static state, a first quaternion acquired by a first inertial sensor and a second quaternion acquired by a second inertial sensor; the third quaternion and the fourth quaternion are respectively: when the data glove is determined to be in a second preset initialization posture and in a static state, acquiring a third quaternion by the first inertial sensor and acquiring a fourth quaternion by the second inertial sensor;
acquiring a fifth quaternion acquired by the first inertial sensor and a sixth quaternion acquired by the second inertial sensor at the kth moment;
a processing unit, configured to calculate, according to the first to sixth quaternions, a first reference quaternion and a second reference quaternion respectively corresponding to the fifth quaternion;
and calculating the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm of the data glove at the kth moment according to the fifth quaternion, the first reference quaternion and the second reference quaternion, wherein k is a positive integer greater than 1.
In a third aspect, embodiments of the present invention provide a data glove, comprising at least: the glove comprises a glove body, a first inertial sensor arranged on a thumb of the glove, a second inertial sensor arranged in a palm, a processor and a memory;
the first inertial sensor is used for acquiring triaxial angular velocity data and quaternion corresponding to the thumb in real time;
the second inertial sensor is used for acquiring three-axis angular velocity data and quaternion corresponding to the palm in real time;
the processor is configured to execute a thumb-to-palm degree of freedom calculation program stored in the memory to implement the thumb-to-palm degree of freedom calculation method as described in any one of the embodiments of the first aspect.
In a fourth aspect, an embodiment of the present invention provides a computer storage medium storing one or more programs, the one or more programs being executable by the data glove as described in the third aspect to implement the method for resolving a degree of freedom between a thumb and a palm as described in any one of the embodiments of the first aspect.
According to the method for calculating the degree of freedom between the thumb and the palm, provided by the embodiment of the invention, the first quaternion to the fourth quaternion are respectively extracted from the quaternions respectively acquired by the first inertial sensor and the second inertial sensor. The first quaternion to the fourth quaternion are quaternions under a preset initialization posture. And acquiring a fifth quaternion acquired by the first inertial sensor and a sixth quaternion acquired by the second inertial sensor at any time (namely, the kth time). And calculating a first reference quaternion and a second reference quaternion corresponding to the fifth quaternion according to the first quaternion to the sixth quaternion. And finally, calculating the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm of the data glove at any moment according to the fifth quaternion, the first reference quaternion and the second reference quaternion. By the mode, the quaternions under different initialization postures are acquired by the aid of the inertial sensors corresponding to the thumb and the palm respectively, and the first reference quaternion and the second reference quaternion corresponding to the thumb at any moment are calculated by combining the quaternions acquired by the inertial sensors corresponding to the thumb and the palm at any moment respectively. Therefore, real-time calibration of the data glove is realized. And then two parameters of the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm in the data glove are calculated. Compared with the prior art, the technical scheme provided by the application does not need a complex algorithm for support, does not need to extract complex features, avoids the situation that the complex feature extraction and identification cost a lot of time and resources, and is high in instantaneity and strong in stability. Moreover, two parameters of the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm in the data glove are measured and calculated, so that the gesture recognition precision is improved, and the complex gesture action is recognized conveniently.
Drawings
Fig. 1 is a schematic flow chart of a method for resolving a degree of freedom between a thumb and a palm according to an embodiment of the present invention;
FIG. 2 is a graphical schematic diagram of the computational rotational degree of freedom provided by the present invention;
fig. 3 is a schematic structural diagram of a solution for the degree of freedom between the thumb and the palm according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a data glove according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
For the convenience of understanding of the embodiments of the present invention, the following description will be further explained with reference to specific embodiments, which are not to be construed as limiting the embodiments of the present invention.
Fig. 1 is a schematic flow chart of a method for resolving a degree of freedom between a thumb and a palm according to an embodiment of the present invention, and as shown in fig. 1, the method is applied to a data glove. The data glove at least comprises a glove body, a first inertial sensor mounted on a thumb of the glove, a second inertial sensor mounted in a palm of the hand, a processor and a memory. Before the method is executed, a testee is required to wear a data glove, adjust the gesture according to a preset initialization posture and stay for a certain time. For example, 2 seconds. Then, the following method of the present application is performed. The method comprises the following steps:
and 110, extracting a first quaternion, a second quaternion, a third quaternion and a fourth quaternion from the quaternions respectively acquired by the first inertial sensor and the second inertial sensor.
Specifically, the first inertial sensor mainly collects quaternion and triaxial angular velocity data of the thumb. The second sensor is used for acquiring quaternion and triaxial angular velocity data of the palm. Of course, the inertial sensor may also acquire three-axis acceleration data, as will be described below.
Wherein, the first quaternion and the second quaternion are respectively: when the data glove is determined to be in a first preset initialization posture and in a static state, a first quaternion acquired by a first inertial sensor and a second quaternion acquired by a second inertial sensor; the third quaternion and the fourth quaternion are respectively: and when the data glove is determined to be in the second preset initialization posture and in a static state, acquiring a third quaternion by the first inertial sensor and acquiring a fourth quaternion by the second inertial sensor.
Optionally, in a specific example, the first preset gesture may include a merge bit initial gesture. The second preset initialization pose comprises: rotating the initial position posture.
Wherein, the five fingers of the inertial data glove worn by the right hand are in a stretched and combined state and used as the combined position initial posture of the thumb; the four fingers are closed and straightened, and the thumb is far away from the index finger as far as possible and is kept parallel to the palm surface as the initial rotary posture of the thumb.
Optionally, the first quaternion, the second quaternion, the third quaternion and the fourth quaternion are extracted from quaternions respectively acquired from the first inertial sensor and the second inertial sensor, and may specifically be acquired as follows:
determining a first moment when the data glove is in a first preset initialization posture and is in a static state according to the triaxial angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor;
determining a second moment when the data glove is in a second preset initialization posture and is in a static state according to the triaxial angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor;
acquiring a first quaternion acquired by a first inertial sensor and a second quaternion acquired by a second inertial sensor at a first moment; and acquiring a third quaternion acquired by the first inertial sensor and a fourth quaternion acquired by the second inertial sensor at a second moment.
Further optionally, when determining the first time and the second time, the following may be obtained:
acquiring triaxial angular velocity data acquired by a first inertial sensor at the t moment and triaxial angular velocity data acquired by a second inertial sensor at the t moment when the data glove is in a first preset initialization posture;
calculating thumb resultant angular velocity data at the t moment according to the triaxial angular velocity data acquired by the first inertial sensor at the t moment; calculating palm resultant angular velocity data at the t moment according to the triaxial angular velocity data acquired by the second inertial sensor at the t moment;
and when the thumb resultant angular velocity data and the palm resultant angular velocity data at the moment t are both smaller than a preset threshold, determining that the moment t is the first moment, wherein t is a positive integer, t is sequentially subjected to progressive value taking, and the initial value is 1.
Similarly, when the data glove is in a second preset initialization posture, acquiring triaxial angular velocity data acquired by the first inertial sensor at the h moment and acquiring triaxial angular velocity data acquired by the second inertial sensor at the h moment;
calculating thumb resultant angular velocity data at the h moment according to the triaxial angular velocity data acquired by the first inertial sensor at the h moment, and calculating palm resultant angular velocity data at the h moment according to the triaxial angular velocity data acquired by the second inertial sensor at the h moment;
and when the thumb resultant angular velocity data and the palm resultant angular velocity data at the moment h are both smaller than a preset threshold, determining that the moment h is a second moment, wherein h is a positive integer, and h is sequentially subjected to progressive value taking and the initial value is 1.
In practice, when calculating the thumb joint angular velocity data at time t, for example, calculating the thumb joint angular velocity data, equation 1 can be used to calculate:
Figure BDA0002384514890000101
whereinx(T)、gty(T)、gtzAnd (T) is the angular velocity data of the X axis, the Y axis and the Z axis of the thumb at the time T.
Similarly, when calculating the palm-fit angular velocity data at time t, the data can be obtained by calculating according to formula 2:
Figure BDA0002384514890000102
wherein sp _ gyro (T) is palm and angular velocity data, gpx(T)、gpy(T)、gpzAnd (T) is the angular velocity data of the X axis, the Y axis and the Z axis of the palm at the time T.
And if the thumb joint angular velocity st _ gyro (T) and the palm joint angular velocity p _ gyro (T) are both smaller than the preset threshold value, determining that the thumb and the palm are both in a static state. When the thumb and the palm are both in a static state, the current moment can be determined as the first moment. Similarly, the formula similar to formula 1 and formula 2 is adopted for calculation when the h-th time is determined, and if the thumb joint angular velocity data and the palm joint angular velocity data at the h-th time can be determined to be less than the preset threshold, the h-th time can be determined to be the second time.
And step 120, acquiring a fifth quaternion acquired by the first inertial sensor and a sixth quaternion acquired by the second inertial sensor at the kth moment.
At the kth moment, the testee can control the thumb and the palm of the data glove to form any angle.
Step 130, calculating a first reference quaternion and a second reference quaternion respectively corresponding to the fifth quaternion according to the first quaternion to the sixth quaternion.
Specifically, a first reference quaternion corresponding to the fifth quaternion in the first preset initialization posture can be calculated according to the sixth quaternion, the first quaternion and the second quaternion;
and calculating a second reference quaternion corresponding to the fifth quaternion under the second preset initialization posture according to the fifth quaternion, the third quaternion and the fourth quaternion.
Optionally, calculating, according to the sixth quaternion, the first quaternion and the second quaternion, a first reference quaternion corresponding to the fifth quaternion in the first preset initialization posture, specifically including:
calculating a first offset quaternion according to the first quaternion and the second quaternion;
and calculating a first reference quaternion corresponding to the fifth quaternion under the first preset initialization posture according to the sixth quaternion and the first offset quaternion.
According to the fifth quaternion, the third quaternion and the fourth quaternion, calculating a second reference quaternion corresponding to the fifth quaternion in a second preset initialization posture, and specifically comprising:
calculating a second offset quaternion according to the third quaternion and the fourth quaternion;
and calculating a second reference quaternion corresponding to the fifth quaternion under a second preset initialization posture according to the fifth quaternion and the second offset quaternion.
And 140, calculating the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm of the data glove at the kth moment according to the fifth quaternion, the first reference quaternion and the second reference quaternion.
Specifically, the purpose of the scheme is to solve the angle data of two degrees of freedom of the thumb relative to the palm. Then, it is necessary to obtain quaternions (first to fourth quaternions) of the thumb merge bit and the initial bit of the rotation bit in step 110, and then obtain an offset quaternion from the palm quaternion according to the calculation. In the later stage, the relative angle between the thumb and the palm is mainly calculated by the action of any position of the glove, the palm drives the whole hand to move, the quaternions of the palm and the thumb at different moments are different, and the reference quaternion of the merging position of the palm and the thumb and the reference quaternion of the rotating position of the palm and the thumb can be obtained by offsetting the quaternions. Namely a first reference quaternion and a second reference quaternion.
The specific calculation process comprises the following steps:
the first quaternion collected by the first inertial sensor at the thumb tip when the merging position is static is q11 ═ q0,q1,q2,q3]The second quaternion acquired by the second inertial sensor corresponding to the palm is q0 ═ q00,q01,q02,q03](ii) a The third quaternion collected by the first inertial sensor at the thumb end when the rotation position is static is q12 ═ q10,q11,q12,q13]The fourth quaternion acquired by the second inertial sensor corresponding to the palm is q0 ═ q00’,q01’,q02’,q03’]The description is given for the sake of example.
After q11, q0, q12 and q 0' are collected, a normalization process may be performed.
The normalization processing on q11 is described as an example, and specifically includes the following steps:
Figure BDA0002384514890000121
q0(T)_n=q0(T)/norm (T) (equation 4)
q1(T)_n=q1(T)/norm (T) (equation 5)
q2(T)_n=q2(T)/norm (T) (equation 6)
q3(T)_n=q3(T)/norm (T) (equation 7)
Where norm (T) is the modulus of the quaternion at time t, q0(T)_n、q1(T)_n、q2(T)_n、q3(T) _ n is the attitude quaternion at time T obtained after normalization, and the thumb quaternion of the merging bit after normalization is nq11 ═ q0_n,q1_n,q2_n,q3_n](ii) a The other three normalized quaternions obtained by the same method are respectively
nq12=[q10_n,q11_n,q12_n,q13_n]
nq0=[q00_n,q01_n,q02_n,q03_n]
nq0’=[q00’_n,q01’_n,q02’_n,q03’_n]
Similarly, for the quaternion q _ finger at the thumb end and the quaternion q _ play at the palm end at any K time, nq _ finger and nq _ play are respectively obtained through normalization (normalization), so that the following subsequent use is facilitated.
Calculating a first offset quaternion from the first quaternion and the second quaternion, i.e. calculating a thumb merge quaternion nq11 ═ q0_n,q1_n,q2_n,q3_n]And palm quaternion nq0 ═ q00_n,q01_n,q02_n,q03_n]See in particular the following equation:
Q1=(nq0)-1(nq11) (equation 8)
Wherein (nq0)-1The inverse of nq 0.
And calculating a second offset quaternion according to the third quaternion and the fourth quaternion, namely calculating the offset quaternion of the thumb rotation position quaternion nq12 and the palm quaternion nq 0', which is specifically shown in the following formula:
Q2=(nq0’)-1(nq12) (equation 9)
After the first offset quaternion and the second offset quaternion are calculated, the first reference quaternion and the second reference quaternion need to be calculated. That is, a first reference quaternion with the thumb in the merge initial position and a second reference quaternion with the thumb in the rotate initial position at time k are calculated.
The specific process comprises the following steps:
nq11 ═ Q _ play × Q1 (equation 10)
Where Nq11 is the first reference quaternion, Nq _ play is the sixth quaternion, and Q1 is the first offset quaternion.
Nq22 ═ Q _ play × Q2 (equation 11)
Where Nq22 is the second reference quaternion, Nq _ play is the sixth quaternion, and Q2 is the second offset quaternion.
And finally, calculating the flexion-extension freedom degree between the thumb and the palm of the data glove at the kth moment mainly according to the first reference quaternion and the fifth quaternion.
Specifically, the angular difference between the quaternions can be calculated by using the dot product of the quaternions, so the flexion and extension angles of the thumb and the palm can be obtained by the included angle between the quaternions Nq11 and Nq _ finger:
Figure BDA0002384514890000131
Stretchangle=cos-1(θ) × 2 (formula 13)
Wherein, StretchangleThe degree of freedom of flexion and extension between the thumb and the palm of the data glove is shown.
When the rotational degree of freedom between the thumb and the palm in the data glove is calculated, the pythagorean theorem is also needed. And calculating the rotational freedom degree between the thumb and the palm in the data glove at the kth moment according to the fifth quaternion, the second reference quaternion and the flexion-extension freedom degree by using the pythagorean theorem.
Figure BDA0002384514890000141
angle=cos-1(α) × 2 (formula 15)
See in particular fig. 2. Angle can be regarded as angle AOA in delta AOA', and a plane AOB is regarded as a wrist surface perpendicular to a palm surface, and the angle of rotation between a thumb and the palm can be regarded as angle AOB when the rotation angle between the thumb and the palm is required to be obtained.
According to the cosine theorem of the triangle, the triangle can be calculated
Figure BDA0002384514890000142
Since A' B is perpendicular to the plane AOB, the calculation yields:
A’B2=OA2×cos2(Stretchangle) (formula 17)
AB2=AA’2-A’B2(formula 18)
OB2=OA2×sin2(Stretchangle) (formula 19)
Then, according to the cosine theorem, it can be found that:
Figure BDA0002384514890000143
Figure BDA0002384514890000144
the angle AOB is 180-angle BAO-angle ABO (formula 22)
ExtenangleEqual angle AOB (formula 23)
Finally, Exten is found out according to the formula 13 to the formula 23angleThat is, the rotational freedom between the thumb and the palm of the data glove at the kth moment is obtained. Wherein k is a positive integer greater than 1. Let k be a positive integer greater than 1 because, considering the initial state, at least the data glove is given to collect the data of the initial state, and then perform subsequent calculations. In general, the value of k should be a value greater than t and h.
Finally, through the calculation of the data glove, the values of the two degrees of freedom of flexion, extension and rotation of the thumb and the palm at the moment k can be transmitted through a communication technology (such as 5G), and the angles of the two degrees of freedom of the thumb of the bionic manipulator are controlled to execute specific application.
According to the method for calculating the degree of freedom between the thumb and the palm, provided by the embodiment of the invention, the first quaternion to the fourth quaternion are respectively extracted from the quaternions respectively acquired by the first inertial sensor and the second inertial sensor. The first quaternion to the fourth quaternion are quaternions under a preset initialization posture. And acquiring a fifth quaternion acquired by the first inertial sensor and a sixth quaternion acquired by the second inertial sensor at any time (namely, the kth time). And calculating a first reference quaternion and a second reference quaternion corresponding to the fifth quaternion according to the first quaternion to the sixth quaternion. And finally, calculating the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm of the data glove at any moment according to the fifth quaternion, the first reference quaternion and the second reference quaternion. By the mode, the quaternions under different initialization postures are acquired by the aid of the inertial sensors corresponding to the thumb and the palm respectively, and the first reference quaternion and the second reference quaternion corresponding to the thumb at any moment are calculated by combining the quaternions acquired by the inertial sensors corresponding to the thumb and the palm at any moment respectively. Therefore, real-time calibration of the data glove is realized. And then two parameters of the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm in the data glove are calculated. Compared with the prior art, the technical scheme provided by the application does not need a complex algorithm for support, does not need to extract complex features, avoids the situation that the complex feature extraction and identification cost a lot of time and resources, and is high in instantaneity and strong in stability. Moreover, two parameters of the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm in the data glove are measured and calculated, so that the gesture recognition precision is improved, and the complex gesture action is recognized conveniently.
Fig. 3 is a device for resolving a degree of freedom between a thumb and a palm according to an embodiment of the present invention, where the device includes: an extraction unit 301 and a processing unit 302.
An extracting unit 301, configured to extract a first quaternion, a second quaternion, a third quaternion, and a fourth quaternion from quaternions respectively acquired by the first inertial sensor and the second inertial sensor, where the first quaternion and the second quaternion are: when the data glove is determined to be in a first preset initialization posture and in a static state, a first quaternion acquired by a first inertial sensor and a second quaternion acquired by a second inertial sensor; the third quaternion and the fourth quaternion are respectively: when the data glove is determined to be in a second preset initialization posture and in a static state, acquiring a third quaternion by the first inertial sensor and acquiring a fourth quaternion by the second inertial sensor;
acquiring a fifth quaternion acquired by the first inertial sensor and a sixth quaternion acquired by the second inertial sensor at the kth moment;
a processing unit 302, configured to calculate, according to the first to sixth quaternions, a first reference quaternion and a second reference quaternion respectively corresponding to the fifth quaternion;
and calculating the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm of the data glove at the kth moment according to the fifth quaternion, the first reference quaternion and the second reference quaternion, wherein k is a positive integer greater than 1.
Optionally, the first inertial sensor and the second inertial sensor are both further configured to acquire three-axis angular velocity data;
the processing unit 302 is specifically configured to determine a first moment when the data glove is in a first preset initialization posture and in a static state according to the three-axis angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor;
and determining a second moment when the data glove is in a second preset initialization posture and is in a static state according to the triaxial angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor.
The extraction unit 301 is specifically configured to obtain a first quaternion acquired by the first inertial sensor at a first time and a second quaternion acquired by the second inertial sensor; and acquiring a third quaternion acquired by the first inertial sensor and a fourth quaternion acquired by the second inertial sensor at a second moment.
Optionally, the processing unit 302 is specifically configured to calculate, according to the sixth quaternion, the first quaternion and the second quaternion, a first reference quaternion corresponding to the fifth quaternion in the first preset initialization posture;
and calculating a second reference quaternion corresponding to the fifth quaternion under the second preset initialization posture according to the fifth quaternion, the third quaternion and the fourth quaternion.
Optionally, the processing unit 302 is specifically configured to calculate a first offset quaternion according to the first quaternion and the second quaternion;
and calculating a first reference quaternion corresponding to the fifth quaternion under the first preset initialization posture according to the sixth quaternion and the first offset quaternion.
Optionally, the processing unit 302 is specifically configured to calculate a second offset quaternion according to the third quaternion and the fourth quaternion;
and calculating a second reference quaternion corresponding to the fifth quaternion under a second preset initialization posture according to the fifth quaternion and the second offset quaternion.
Optionally, the extraction unit 301 is specifically configured to acquire triaxial angular velocity data acquired by the first inertial sensor at a t-th moment and triaxial angular velocity data acquired by the second inertial sensor at the t-th moment when the data glove is in the first preset initialization posture;
the processing unit 302 is specifically configured to calculate thumb resultant angular velocity data at a time t according to the triaxial angular velocity data acquired by the first inertial sensor at the time t; calculating palm resultant angular velocity data at the t moment according to the triaxial angular velocity data acquired by the second inertial sensor at the t moment;
and when the thumb resultant angular velocity data and the palm resultant angular velocity data at the moment t are both smaller than a preset threshold, determining that the moment t is the first moment, wherein t is a positive integer, t is sequentially subjected to progressive value taking, and the initial value is 1.
Optionally, the extraction unit 301 is specifically configured to obtain triaxial angular velocity data acquired by the first inertial sensor at the h-th moment and triaxial angular velocity data acquired by the second inertial sensor at the h-th moment when the data glove is in the second preset initialization posture;
the processing unit 302 is specifically configured to calculate thumb resultant angular velocity data at a time h according to the triaxial angular velocity data acquired by the first inertial sensor at the time h, and calculate palm resultant angular velocity data at the time h according to the triaxial angular velocity data acquired by the second inertial sensor at the time h;
and when the thumb resultant angular velocity data and the palm resultant angular velocity data at the moment h are both smaller than a preset threshold, determining that the moment h is a second moment, wherein h is a positive integer, and h is sequentially subjected to progressive value taking and the initial value is 1.
Optionally, the processing unit 302 is further configured to perform normalization processing on the first quaternion, the second quaternion, the third quaternion, the fourth quaternion, the fifth quaternion and the sixth quaternion, respectively.
Optionally, the processing unit 302 is specifically configured to calculate, according to the first reference quaternion and the fifth quaternion, a flexion-extension degree of freedom between the thumb and the palm in the data glove at the kth time;
and calculating the rotational freedom degree between the thumb and the palm in the data glove at the k-th moment according to the fifth quaternion, the second reference quaternion and the flexion-extension freedom degree.
Optionally, the first preset initialization gesture includes: merging the initial postures; the second preset initialization pose comprises: rotating the initial position posture.
The functions executed by each functional component in the device for calculating the degree of freedom between the thumb and the palm provided in this embodiment have been described in detail in the embodiment corresponding to fig. 1, and therefore, the details are not described herein again.
According to the device for calculating the degree of freedom between the thumb and the palm provided by the embodiment of the invention, the first quaternion to the fourth quaternion are respectively extracted from the quaternions respectively acquired by the first inertial sensor and the second inertial sensor. The first quaternion to the fourth quaternion are quaternions under a preset initialization posture. And acquiring a fifth quaternion acquired by the first inertial sensor and a sixth quaternion acquired by the second inertial sensor at any time (namely, the kth time). And calculating a first reference quaternion and a second reference quaternion corresponding to the fifth quaternion according to the first quaternion to the sixth quaternion. And finally, calculating the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm of the data glove at any moment according to the fifth quaternion, the first reference quaternion and the second reference quaternion. By the mode, the quaternions under different initialization postures are acquired by the aid of the inertial sensors corresponding to the thumb and the palm respectively, and the first reference quaternion and the second reference quaternion corresponding to the thumb at any moment are calculated by combining the quaternions acquired by the inertial sensors corresponding to the thumb and the palm at any moment respectively. Therefore, real-time calibration of the data glove is realized. And then two parameters of the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm in the data glove are calculated. Compared with the prior art, the technical scheme provided by the application does not need a complex algorithm for support, does not need to extract complex features, avoids the situation that the complex feature extraction and identification cost a lot of time and resources, and is high in instantaneity and strong in stability. Moreover, two parameters of the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm in the data glove are measured and calculated, so that the gesture recognition precision is improved, and the complex gesture action is recognized conveniently.
Fig. 4 is a schematic structural diagram of a data glove according to an embodiment of the present invention, where the data glove 400 shown in fig. 4 at least includes: a glove body (not shown), a first inertial sensor 401 mounted on the glove thumb, a second inertial sensor 402 mounted in the palm of the hand, at least one processor 403, a memory 404, at least one network interface 405 and other user interfaces 406. The various components of thumb and palm degree of freedom solution data glove 400 are coupled together by a bus system 407. It will be appreciated that the bus system 407 is used to enable communications among the components connected. The bus system 407 includes a power bus, a control bus, and a status signal bus in addition to a data bus. But for the sake of clarity the various buses are labeled as bus system 407 in figure 4.
The user interface 406 may include, among other things, a display, a keyboard, or a pointing device (e.g., a mouse, trackball, touch pad, or touch screen, among others.
It will be appreciated that memory 404 in embodiments of the invention may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The non-volatile memory may be a Read-only memory (ROM), a programmable Read-only memory (PROM), an erasable programmable Read-only memory (erasabprom, EPROM), an electrically erasable programmable Read-only memory (EEPROM), or a flash memory. The volatile memory may be a Random Access Memory (RAM) which functions as an external cache. By way of example, but not limitation, many forms of RAM are available, such as static random access memory (staticiram, SRAM), dynamic random access memory (dynamic RAM, DRAM), synchronous dynamic random access memory (syncronous DRAM, SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM ), Enhanced Synchronous DRAM (ESDRAM), Synchronous Link DRAM (SLDRAM), and direct memory bus RAM (DRRAM). The memory 404 described herein is intended to comprise, without being limited to, these and any other suitable types of memory.
In some embodiments, memory 404 stores the following elements, executable units or data structures, or a subset thereof, or an expanded set thereof: an operating system 4041 and application programs 4042.
The operating system 4041 includes various system programs, such as a framework layer, a core library layer, a driver layer, and the like, and is used for implementing various basic services and processing hardware-based tasks. The application 4042 includes various applications, such as a media player (MediaPlayer), a Browser (Browser), and the like, for implementing various application services. The program implementing the method of an embodiment of the present invention may be included in the application program 4042.
In the embodiment of the present invention, by calling the program or the instruction stored in the memory 404, specifically, the program or the instruction stored in the application 4042, the processor 403 is configured to execute the method steps provided by the method embodiments, for example, including:
extracting a first quaternion, a second quaternion, a third quaternion and a fourth quaternion from quaternions respectively acquired by the first inertial sensor and the second inertial sensor;
acquiring a fifth quaternion acquired by the first inertial sensor and a sixth quaternion acquired by the second inertial sensor at the kth moment;
calculating a first reference quaternion and a second reference quaternion respectively corresponding to the fifth quaternion according to the first quaternion to the sixth quaternion;
and calculating the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm of the data glove at the kth moment according to the fifth quaternion, the first reference quaternion and the second reference quaternion, wherein k is a positive integer greater than 1.
Optionally, determining a first moment when the data glove is in a first preset initialization posture and in a static state according to the triaxial angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor;
determining a second moment when the data glove is in a second preset initialization posture and is in a static state according to the triaxial angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor;
acquiring a first quaternion acquired by a first inertial sensor and a second quaternion acquired by a second inertial sensor at a first moment; and acquiring a third quaternion acquired by the first inertial sensor and a fourth quaternion acquired by the second inertial sensor at a second moment.
Optionally, calculating a first reference quaternion corresponding to the fifth quaternion in the first preset initialization posture according to the sixth quaternion, the first quaternion and the second quaternion;
and calculating a second reference quaternion corresponding to the fifth quaternion under the second preset initialization posture according to the fifth quaternion, the third quaternion and the fourth quaternion.
Optionally, calculating a first offset quaternion from the first quaternion and the second quaternion;
and calculating a first reference quaternion corresponding to the fifth quaternion under the first preset initialization posture according to the sixth quaternion and the first offset quaternion.
Optionally, calculating a second offset quaternion from the third quaternion and the fourth quaternion;
and calculating a second reference quaternion corresponding to the fifth quaternion under a second preset initialization posture according to the fifth quaternion and the second offset quaternion.
Optionally, acquiring triaxial angular velocity data acquired by the first inertial sensor at the t moment and triaxial angular velocity data acquired by the second inertial sensor at the t moment when the data glove is in the first preset initialization posture;
calculating thumb resultant angular velocity data at the t moment according to the triaxial angular velocity data acquired by the first inertial sensor at the t moment; calculating palm resultant angular velocity data at the t moment according to the triaxial angular velocity data acquired by the second inertial sensor at the t moment;
and when the thumb resultant angular velocity data and the palm resultant angular velocity data at the moment t are both smaller than a preset threshold, determining that the moment t is the first moment, wherein t is a positive integer, t is sequentially subjected to progressive value taking, and the initial value is 1.
Optionally, acquiring triaxial angular velocity data acquired by the first inertial sensor at the h moment and triaxial angular velocity data acquired by the second inertial sensor at the h moment when the data glove is in a second preset initialization posture;
calculating thumb resultant angular velocity data at the h moment according to the triaxial angular velocity data acquired by the first inertial sensor at the h moment, and calculating palm resultant angular velocity data at the h moment according to the triaxial angular velocity data acquired by the second inertial sensor at the h moment;
and when the thumb resultant angular velocity data and the palm resultant angular velocity data at the moment h are both smaller than a preset threshold, determining that the moment h is a second moment, wherein h is a positive integer, and h is sequentially subjected to progressive value taking and the initial value is 1.
Optionally, the first quaternion, the second quaternion, the third quaternion, the fourth quaternion, the fifth quaternion and the sixth quaternion are normalized respectively.
Optionally, calculating the flexion and extension freedom degree between the thumb and the palm in the data glove at the kth moment according to the first reference quaternion and the fifth quaternion;
and calculating the rotational freedom degree between the thumb and the palm in the data glove at the k-th moment according to the fifth quaternion, the second reference quaternion and the flexion-extension freedom degree.
Optionally, the first preset initialization gesture includes: merging the initial postures; the second preset initialization pose comprises: rotating the initial position posture.
The method disclosed in the above embodiments of the present invention may be applied to the processor 403, or implemented by the processor 403. The processor 403 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware or instructions in the form of software in the processor 403. The processor 403 may be a general-purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, or discrete hardware components. The various methods, steps and logic blocks disclosed in the embodiments of the present invention may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present invention may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software elements in the decoding processor. The software elements may be located in ram, flash, rom, prom, or eprom, registers, among other storage media that are well known in the art. The storage medium is located in the memory 404, and the processor 403 reads the information in the memory 404 and completes the steps of the method in combination with the hardware.
It is to be understood that the embodiments described herein may be implemented in hardware, software, firmware, middleware, microcode, or any combination thereof. For a hardware implementation, the processing units may be implemented in one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), general purpose processors, controllers, micro-controllers, microprocessors, other electronic units configured to perform the functions of the present application, or a combination thereof.
For a software implementation, the techniques herein may be implemented by means of units performing the functions herein. The software codes may be stored in a memory and executed by a processor. The memory may be implemented within the processor or external to the processor.
It should be noted that the functions performed by the processor 403 and the memory 404 are described in detail above, and the functions of the first inertial sensor 401 and the second inertial sensor 402 are indirectly described.
Here again, the following is explicitly stated:
the first inertial sensor 401 is used for acquiring triaxial angular velocity data and quaternion corresponding to a thumb in real time;
the second inertial sensor 402 is used to acquire three-axis angular velocity data and quaternion corresponding to the palm in real time.
The data glove provided in this embodiment may be the data glove shown in fig. 4, and may perform all the steps of the method for calculating the degree of freedom between the thumb and the palm shown in fig. 1, so as to achieve the technical effect of the method for calculating the degree of freedom between the thumb and the palm shown in fig. 1.
The embodiment of the invention also provides a storage medium (computer readable storage medium). The storage medium herein stores one or more programs. Among others, the storage medium may include volatile memory, such as random access memory; the memory may also include non-volatile memory, such as read-only memory, flash memory, a hard disk, or a solid state disk; the memory may also comprise a combination of memories of the kind described above.
When executed by one or more processors, the one or more programs in the storage medium implement the above-described method for resolving a degree of freedom between a thumb and a palm of a hand performed on the data glove side.
The processor is used for executing the thumb-palm freedom degree calculation program stored in the memory so as to realize the following steps of the thumb-palm freedom degree calculation method executed on the data glove side:
extracting a first quaternion, a second quaternion, a third quaternion and a fourth quaternion from quaternions respectively acquired by the first inertial sensor and the second inertial sensor;
acquiring a fifth quaternion acquired by the first inertial sensor and a sixth quaternion acquired by the second inertial sensor at the kth moment;
calculating a first reference quaternion and a second reference quaternion respectively corresponding to the fifth quaternion according to the first quaternion to the sixth quaternion;
and calculating the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm of the data glove at the kth moment according to the fifth quaternion, the first reference quaternion and the second reference quaternion, wherein k is a positive integer greater than 1.
Optionally, determining a first moment when the data glove is in a first preset initialization posture and in a static state according to the triaxial angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor;
determining a second moment when the data glove is in a second preset initialization posture and is in a static state according to the triaxial angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor;
acquiring a first quaternion acquired by a first inertial sensor and a second quaternion acquired by a second inertial sensor at a first moment; and acquiring a third quaternion acquired by the first inertial sensor and a fourth quaternion acquired by the second inertial sensor at a second moment.
Optionally, calculating a first reference quaternion corresponding to the fifth quaternion in the first preset initialization posture according to the sixth quaternion, the first quaternion and the second quaternion;
and calculating a second reference quaternion corresponding to the fifth quaternion under the second preset initialization posture according to the fifth quaternion, the third quaternion and the fourth quaternion.
Optionally, calculating a first offset quaternion from the first quaternion and the second quaternion;
and calculating a first reference quaternion corresponding to the fifth quaternion under the first preset initialization posture according to the sixth quaternion and the first offset quaternion.
Optionally, calculating a second offset quaternion from the third quaternion and the fourth quaternion;
and calculating a second reference quaternion corresponding to the fifth quaternion under a second preset initialization posture according to the fifth quaternion and the second offset quaternion.
Optionally, acquiring triaxial angular velocity data acquired by the first inertial sensor at the t moment and triaxial angular velocity data acquired by the second inertial sensor at the t moment when the data glove is in the first preset initialization posture;
calculating thumb resultant angular velocity data at the t moment according to the triaxial angular velocity data acquired by the first inertial sensor at the t moment; calculating palm resultant angular velocity data at the t moment according to the triaxial angular velocity data acquired by the second inertial sensor at the t moment;
and when the thumb resultant angular velocity data and the palm resultant angular velocity data at the moment t are both smaller than a preset threshold, determining that the moment t is the first moment, wherein t is a positive integer, t is sequentially subjected to progressive value taking, and the initial value is 1.
Optionally, acquiring triaxial angular velocity data acquired by the first inertial sensor at the h moment and triaxial angular velocity data acquired by the second inertial sensor at the h moment when the data glove is in a second preset initialization posture;
calculating thumb resultant angular velocity data at the h moment according to the triaxial angular velocity data acquired by the first inertial sensor at the h moment, and calculating palm resultant angular velocity data at the h moment according to the triaxial angular velocity data acquired by the second inertial sensor at the h moment;
and when the thumb resultant angular velocity data and the palm resultant angular velocity data at the moment h are both smaller than a preset threshold, determining that the moment h is a second moment, wherein h is a positive integer, and h is sequentially subjected to progressive value taking and the initial value is 1.
Optionally, the first quaternion, the second quaternion, the third quaternion, the fourth quaternion, the fifth quaternion and the sixth quaternion are normalized respectively.
Optionally, calculating the flexion and extension freedom degree between the thumb and the palm in the data glove at the kth moment according to the first reference quaternion and the fifth quaternion;
and calculating the rotational freedom degree between the thumb and the palm in the data glove at the k-th moment according to the fifth quaternion, the second reference quaternion and the flexion-extension freedom degree.
Optionally, the first preset initialization gesture includes: merging the initial postures; the second preset initialization pose comprises: rotating the initial position posture.
It should be noted that the functions performed by the processor 403 and the memory 404 are described in detail above, and the functions of the first inertial sensor 401 and the second inertial sensor 402 are indirectly described.
Here again, the following is explicitly stated:
the first inertial sensor 401 is used for acquiring triaxial angular velocity data and quaternion corresponding to a thumb in real time;
the second inertial sensor 402 is used to acquire three-axis angular velocity data and quaternion corresponding to the palm in real time.
Those of skill would further appreciate that the various illustrative components and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both, and that the various illustrative components and steps have been described above generally in terms of their functionality in order to clearly illustrate this interchangeability of hardware and software. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. 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.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied in hardware, a software module executed by a processor, or a combination of the two. A software module may reside in Random Access Memory (RAM), memory, Read Only Memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art.
The above embodiments are provided to further explain the objects, technical solutions and advantages of the present invention in detail, it should be understood that the above embodiments are merely exemplary embodiments of the present invention and are not intended to limit the scope of the present invention, and any modifications, equivalents, improvements and the like made within the spirit and principle of the present invention should be included in the scope of the present invention.

Claims (13)

1. A method for resolving a degree of freedom between a thumb and a palm, the method being applied to a data glove, the method comprising:
extracting a first quaternion, a second quaternion, a third quaternion and a fourth quaternion from quaternions respectively acquired by a first inertial sensor and a second inertial sensor, wherein the first quaternion and the second quaternion are respectively: when the data glove is determined to be in a first preset initialization posture and in a static state, a first quaternion acquired by the first inertial sensor and a second quaternion acquired by the second inertial sensor; the third quaternion and the fourth quaternion are respectively: when the data glove is determined to be in a second preset initialization posture and in a static state, acquiring a third quaternion by the first inertial sensor and acquiring a fourth quaternion by the second inertial sensor;
acquiring a fifth quaternion acquired by the first inertial sensor and a sixth quaternion acquired by the second inertial sensor at the kth moment;
calculating a first reference quaternion and a second reference quaternion respectively corresponding to the fifth quaternion according to the first quaternion to the sixth quaternion;
and calculating the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm of the data glove at the k-th moment according to the fifth quaternion, the first reference quaternion and the second reference quaternion, wherein k is a positive integer greater than 1.
2. The method of claim 1, wherein the first inertial sensor and the second inertial sensor are each further used to acquire three-axis angular velocity data; the method includes the steps of extracting a first quaternion, a second quaternion, a third quaternion and a fourth quaternion from quaternions respectively collected by a first inertial sensor and a second inertial sensor, and specifically includes the following steps:
determining a first moment when the data glove is in a first preset initialization posture and is in a static state according to the triaxial angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor;
determining a second moment when the data glove is in a second preset initialization posture and is in a static state according to the triaxial angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor;
acquiring a first quaternion acquired by the first inertial sensor at the first moment and a second quaternion acquired by the second inertial sensor; and acquiring a third quaternion acquired by the first inertial sensor and a fourth quaternion acquired by the second inertial sensor at the second moment.
3. The method according to claim 1 or 2, wherein the calculating a first reference quaternion and a second reference quaternion corresponding to the fifth quaternion respectively according to the first quaternion to the sixth quaternion specifically comprises:
calculating a first reference quaternion corresponding to the fifth quaternion under the first preset initialization posture according to the sixth quaternion, the first quaternion and the second quaternion;
and calculating a second reference quaternion corresponding to the fifth quaternion under the second preset initialization posture according to the fifth quaternion, the third quaternion and the fourth quaternion.
4. The method according to claim 3, wherein the calculating, according to the sixth quaternion, the first quaternion and the second quaternion, a first reference quaternion corresponding to the fifth quaternion in the first preset initialization posture specifically includes:
calculating a first offset quaternion according to the first quaternion and the second quaternion;
and calculating a first reference quaternion corresponding to the fifth quaternion under the first preset initialization posture according to the sixth quaternion and the first offset quaternion.
5. The method according to claim 3, wherein the calculating, according to a fifth quaternion, the third quaternion and the fourth quaternion, a second reference quaternion corresponding to the fifth quaternion in the second preset initialization posture specifically includes:
calculating a second offset quaternion according to the third quaternion and the fourth quaternion;
and calculating a second reference quaternion corresponding to the fifth quaternion under the second preset initialization posture according to the fifth quaternion and the second offset quaternion.
6. The method according to claim 2, wherein the determining a first time at which the data glove is in a first preset initialization posture and in a stationary state according to the three-axis angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor specifically comprises:
acquiring triaxial angular velocity data acquired by the first inertial sensor at the t moment and triaxial angular velocity data acquired by the second inertial sensor at the t moment when the data glove is in the first preset initialization posture;
calculating thumb resultant angular velocity data at the t moment according to the triaxial angular velocity data acquired by the first inertial sensor at the t moment; calculating palm resultant angular velocity data at the t moment according to the triaxial angular velocity data acquired by the second inertial sensor at the t moment;
and when the thumb resultant angular velocity data and the palm resultant angular velocity data at the moment t are both smaller than a preset threshold, determining that the moment t is the first moment, wherein t is a positive integer, t is sequentially subjected to progressive value taking, and the initial value is 1.
7. The method according to claim 2, wherein the determining, according to the three-axis angular velocity data respectively acquired by the first inertial sensor and the second inertial sensor, a second time when the data glove is in a second preset initialization posture and in a stationary state specifically includes:
acquiring triaxial angular velocity data acquired by the first inertial sensor at the h moment and triaxial angular velocity data acquired by the second inertial sensor at the h moment when the data glove is in a second preset initialization posture;
calculating thumb resultant angular velocity data at the h moment according to the triaxial angular velocity data acquired by the first inertial sensor at the h moment, and calculating palm resultant angular velocity data at the h moment according to the triaxial angular velocity data acquired by the second inertial sensor at the h moment;
and when the thumb joint angular velocity data and the palm joint angular velocity data at the h moment are both smaller than a preset threshold value, determining that the h moment is a second moment, wherein h is a positive integer, h is sequentially subjected to progressive value taking, and the initial value is 1.
8. The method of claim 1, wherein after acquiring the fifth quaternion acquired by the first inertial sensor and the sixth quaternion acquired by the second inertial sensor at time k, the method further comprises:
respectively carrying out normalization processing on the first quaternion, the second quaternion, the third quaternion, the fourth quaternion, the fifth quaternion and the sixth quaternion.
9. The method according to any one of claims 1, 2 or 4 to 8, wherein the calculating of the flexion and rotation degrees of freedom between the thumb and the palm of the data glove at the k-th moment from the fifth quaternion, the first reference quaternion and the second reference quaternion, where k is a positive integer greater than 1, comprises:
calculating the flexion and extension freedom degree between the thumb and the palm of the data glove at the kth moment according to the first reference quaternion and the fifth quaternion;
and calculating the rotational freedom between the thumb and the palm of the data glove at the k-th moment according to the fifth quaternion, the second reference quaternion and the flexion-extension freedom.
10. The method of claim 9, wherein the first preset initialization gesture comprises: merging the initial postures; the second preset initialization pose comprises: rotating the initial position posture.
11. A thumb-palm degree of freedom solution apparatus, the apparatus corresponding to a data glove, the apparatus comprising:
an extraction unit, configured to extract a first quaternion, a second quaternion, a third quaternion, and a fourth quaternion from quaternions respectively acquired by the first inertial sensor and the second inertial sensor, where the first quaternion and the second quaternion are: when the data glove is determined to be in a first preset initialization posture and in a static state, a first quaternion acquired by the first inertial sensor and a second quaternion acquired by the second inertial sensor; the third quaternion and the fourth quaternion are respectively: when the data glove is determined to be in a second preset initialization posture and in a static state, acquiring a third quaternion by the first inertial sensor and acquiring a fourth quaternion by the second inertial sensor;
acquiring a fifth quaternion acquired by the first inertial sensor and a sixth quaternion acquired by the second inertial sensor at the kth moment;
a processing unit, configured to calculate, according to the first to sixth quaternions, a first reference quaternion and a second reference quaternion respectively corresponding to the fifth quaternion;
and calculating the flexion and extension freedom degree and the rotation freedom degree between the thumb and the palm of the data glove at the k-th moment according to the fifth quaternion, the first reference quaternion and the second reference quaternion, wherein k is a positive integer greater than 1.
12. A data glove, characterized in that it comprises at least: the glove comprises a glove body, a first inertial sensor arranged on a thumb of the glove, a second inertial sensor arranged in a palm, a processor and a memory;
the first inertial sensor is used for acquiring triaxial angular velocity data and quaternion corresponding to a thumb in real time;
the second inertial sensor is used for acquiring three-axis angular velocity data and quaternion corresponding to the palm in real time;
the processor is used for executing a thumb-palm degree of freedom calculation program stored in the memory so as to realize the thumb-palm degree of freedom calculation method of any one of claims 1-10.
13. A computer storage medium storing one or more programs executable by the data glove of claim 12 to implement the method of resolving a degree of freedom between a thumb and a palm of any of claims 1-10.
CN202010094836.8A 2020-02-14 2020-02-14 Thumb and palm degree of freedom resolving method and device and data glove Active CN113268136B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010094836.8A CN113268136B (en) 2020-02-14 2020-02-14 Thumb and palm degree of freedom resolving method and device and data glove

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010094836.8A CN113268136B (en) 2020-02-14 2020-02-14 Thumb and palm degree of freedom resolving method and device and data glove

Publications (2)

Publication Number Publication Date
CN113268136A true CN113268136A (en) 2021-08-17
CN113268136B CN113268136B (en) 2024-05-17

Family

ID=77227473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010094836.8A Active CN113268136B (en) 2020-02-14 2020-02-14 Thumb and palm degree of freedom resolving method and device and data glove

Country Status (1)

Country Link
CN (1) CN113268136B (en)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130057469A1 (en) * 2010-05-11 2013-03-07 Nippon Systemware Co Ltd Gesture recognition device, method, program, and computer-readable medium upon which program is stored
CN106055091A (en) * 2016-05-16 2016-10-26 电子科技大学 Hand posture estimation method based on depth information and calibration method
US20180052517A1 (en) * 2016-05-16 2018-02-22 Andrea Bulgarelli System and method for communicating inputs and outputs via a wearable apparatus
CN108073283A (en) * 2017-12-07 2018-05-25 袁峰 The computational methods and gloves of hand joint
US20180335843A1 (en) * 2017-05-16 2018-11-22 Finch Technologies Ltd. Tracking finger movements to generate inputs for computer systems
CN110109551A (en) * 2019-05-17 2019-08-09 中国科学院电子学研究所 Gesture identification method, device, equipment and storage medium
TW201947366A (en) * 2018-05-17 2019-12-16 晶翔機電股份有限公司 Motion analysis device and motion analysis method
CN110721465A (en) * 2019-09-02 2020-01-24 重庆大学 Game gloves that real-time developments were tracked

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130057469A1 (en) * 2010-05-11 2013-03-07 Nippon Systemware Co Ltd Gesture recognition device, method, program, and computer-readable medium upon which program is stored
CN106055091A (en) * 2016-05-16 2016-10-26 电子科技大学 Hand posture estimation method based on depth information and calibration method
US20180052517A1 (en) * 2016-05-16 2018-02-22 Andrea Bulgarelli System and method for communicating inputs and outputs via a wearable apparatus
US20180335843A1 (en) * 2017-05-16 2018-11-22 Finch Technologies Ltd. Tracking finger movements to generate inputs for computer systems
CN108073283A (en) * 2017-12-07 2018-05-25 袁峰 The computational methods and gloves of hand joint
TW201947366A (en) * 2018-05-17 2019-12-16 晶翔機電股份有限公司 Motion analysis device and motion analysis method
CN110109551A (en) * 2019-05-17 2019-08-09 中国科学院电子学研究所 Gesture identification method, device, equipment and storage medium
CN110721465A (en) * 2019-09-02 2020-01-24 重庆大学 Game gloves that real-time developments were tracked

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘源: "人手抓取运动解析及姿势协同仿人手研究", 《中国优秀博士学位论文全文数据库(信息科技辑)》 *
王伟栋;费洁;杨英东;钱峰;: "基于MEMS的数据手套传感技术研究", 电子设计工程, no. 21 *

Also Published As

Publication number Publication date
CN113268136B (en) 2024-05-17

Similar Documents

Publication Publication Date Title
Fang et al. 3D human gesture capturing and recognition by the IMMU-based data glove
EP3707584B1 (en) Method for tracking hand pose and electronic device thereof
Chang et al. Sensor glove based on novel inertial sensor fusion control algorithm for 3-D real-time hand gestures measurements
Fang et al. A novel data glove using inertial and magnetic sensors for motion capture and robotic arm-hand teleoperation
Fang et al. Development of a wearable device for motion capturing based on magnetic and inertial measurement units
CN108279773B (en) Data glove based on MARG sensor and magnetic field positioning technology
Choi et al. Development of a low-cost wearable sensing glove with multiple inertial sensors and a light and fast orientation estimation algorithm
Wang et al. Hand gesture recognition framework using a lie group based spatio-temporal recurrent network with multiple hand-worn motion sensors
Kim et al. Recognition of sign language with an inertial sensor-based data glove
WO2019028650A1 (en) Gesture acquisition system
CN111240468B (en) Calibration method and device for hand motion capture, electronic equipment and storage medium
Liu et al. A new IMMU-based data glove for hand motion capture with optimized sensor layout
CN115919250A (en) Human dynamic joint angle measuring system
Fang et al. A novel data glove for fingers motion capture using inertial and magnetic measurement units
CN113268136B (en) Thumb and palm degree of freedom resolving method and device and data glove
Tsekleves et al. Wii your health: a low-cost wireless system for home rehabilitation after stroke using Wii remotes with its expansions and blender
Katusin Glove for Augmented and Virtual Reality
WO2019152566A1 (en) Systems and methods for subject specific kinematic mapping
Davarzani et al. Design and fabrication of sensing system for rehabilitation of finger
CN113467599B (en) Method and device for resolving flexibility between fingers and palms and data glove
TWI663526B (en) Motion analysis device and motion analysis method
Wang et al. HMM-based IMU data processing for arm gesture classification and motion tracking
Calella et al. HandMagic: Towards user interaction with inertial measuring units
Sun et al. Development of lower limb motion detection based on LPMS
Zaldívar-Colado et al. Design of a high precision Data glove based on inertial sensors

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Technology Information Technology Co.,Ltd.

Address before: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant before: Jingdong Shuke Haiyi Information Technology Co.,Ltd.

Address after: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Daxing District, Beijing, 100176

Applicant after: Jingdong Shuke Haiyi Information Technology Co.,Ltd.

Address before: 601, 6 / F, building 2, No. 18, Kechuang 11th Street, Beijing Economic and Technological Development Zone, Beijing 100176

Applicant before: BEIJING HAIYI TONGZHAN INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant