Embodiment
In the detailed description that above these and other some objects of the present invention, function and the above accompanying drawing of advantages are done, can see clearlyer.
Please refer to Fig. 1, Fig. 1 is the structural drawing of motion recognition system of the present invention, as seen from Figure 1, this motion recognition system by data acquisition transport module, data reception module, driver module, data processing module, pattern matching module and action display module totally 6 parts form, wherein data acquisition transport module, data processing module, action matching module are the cores of system.
Data acquisition transport module of the present invention comprises 3-axis acceleration sensor, microprocessor and data transmission module.This data acquisition transport module is mainly responsible for data based certain host-host protocol that 3-axis acceleration sensor is gathered, by wired or wireless channel, data are sent to data reception module, the data that simultaneously on microprocessor, data read from acceleration transducer are microprocessor during buffer memory, data are encrypted, then the data transmission of encrypting is arrived to data transmission module, and data transmission module sends to data reception module by the data of encryption.Than optics motion recognition system and existing acceleration sensor system, the realization of data acquisition transport module is more succinct, to user's experience, system bulk and complexity, all has greatly improved.
Data reception module, by after the wired or wireless data demodulates receiving, uploads to driver module.Driver module device registration port, and order is by the data buffer storage after demodulation, utilizes afterwards corresponding to the cryptographic protocol in data acquisition module and key, and data are decrypted.Acceleration information after deciphering is transferred to data processing module.After data processing module, pattern matching module, action display module are processed, calculate speed, the track of motion and the operation of moving after coupling, transmit back respectively driver module, through the display driver in driver module and human-computer interaction device, drive, system applies interface is provided to upper strata.
It should be noted that, data acquisition transport module can not be encrypted data yet.Like this, in driven by program module, also without deciphering filtration drive, process.
Data after encrypt/decrypt filtration drive is processed, by the data transmission after deciphering in data processing module static-motion detection block (or directly the data that receive from data reception module directly being delivered to static-motion detection block).In the middle of static-motion detection block, module is by calculating size and the corresponding variance of signal, and judge by static-motion detection algorithm (specifically describing hereinafter) whether signal belongs to the data in Large Amplitude Motion state procedure, and the partial data in motion process is stored.By the information notification action display module of initial motion, by acceleration of gravity separation module, the gravitational acceleration component of all sampled points in motion valid data is separated with acceleration of motion afterwards, calculate the acceleration that the space motion of each sampled point in cartesian coordinate system produces, and utilize every bit acceleration of gravity to calculate every bit residing attitude (in static-motion detection block and acceleration of gravity separation module, all having used new algorithm to obtain better effect) in Cartesian coordinates in the distribution situation of three axles.
Data after acceleration of gravity separating treatment are sent to pattern matching module, in human action data in various scenes and the mapping ensemblen of operational order, carry out matched and searched, and the operational order after coupling is sent to human-computer interaction device drive to be used for realizing and in application program, click the operational orders such as selection, or in amusement game, impact the operational orders such as enemy.Human motion acceleration information after acceleration of gravity separating treatment is sent to action display module, together with the initial motion information of the human motion from static-motion detection block, by equation of motion V=V simultaneously
0+ a*t (speed=initial velocity+acceleration * time), S=V
0* t+0.5*a*t
2(displacement=initial velocity * time+0.5* acceleration * time square) calculates movement velocity and track (example for cartesian coordinate system, the present invention also can adopt other algorithms), and the result of speed and track is sent to the display driver of computing machine, demonstrate in real time human action.
Below in conjunction with accompanying drawing, specifically describe structure and the effect of each module:
(1) data acquisition transport module
Fig. 2 is the structural drawing of data acquisition transport module, and this module is mainly comprised of three parts: 3-axis acceleration sensor, microprocessor and data transmission module, and between each module, by bus communication, wherein the function of each submodule is as follows:
3-axis acceleration sensor
With the acceleration information in frequency F collection ± N (g) scope of fixing, (g represents the size of normal acceleration of gravity to 3-axis acceleration sensor, gather negative N times of acceleration of gravity and arrive the acceleration of motion data within the scope of positive N times acceleration of gravity), and upgrade fixing memory address space in acceleration transducer with fixed frequency F, every group of data are comprised of the accekeration of X Y Z axis and the temperature of sampled point respectively, and every group of data are stored in the data storage cell in 3-axis acceleration sensor.
Microcontroller
The single-chip microcomputer or the arm processor that adopt low-power consumption, communicated and be connected with acceleration sensor module by bus interface.
In addition miniature control module removes to read the data storage cell of acceleration transducer equally with fixed frequency F, according to the public keys in chip and cryptographic algorithm, every group of data are encrypted, and the data storage cell at microcontroller is cached by the data of encrypting simultaneously.And the data of encrypting are sent to data transmission module.
Data transmission module
Support wired and wireless two kinds of communications modes.Wireline interface can be used USB, serial ports, parallel port, the various protocols such as live wire (fire wire).Wave point utilizes radio frequency baseband chip, supports the data transmission of the 100Kbps of remote and low-power consumption.Can adopt bluetooth, infrared, Zigbee and other simple transport protocols.
(2) data reception module
By data receiver and be cached to specified memory region, and notify driver module to read.The transformat of same corresponding data transport module, supports wired and wireless two kinds of communications modes.
(3) driver module
Referring to accompanying drawing 3, it is driver module structural drawing, and driver module structure is mainly divided into three layers: data bus drives; Encrypting and decrypting filtration drive; Human-computer interaction device drives and figure display driver.
Data bus drives
Data bus drives is responsible for sensor acceleration information and interrupt control instruction read and transmit from hardware bus, according to the difference of data transfer mode, be divided into wire transmission and wireless radio frequency transmission, corresponding data bus drives and is respectively wireline equipment driving and the driving of wireless interface receiving end.After reading demodulating data, data bus drives data buffer storage to calculator memory.
Encrypt/decrypt filtration drive
For example, because all data all can carry out encrypting (adopting RSA cryptographic algorithms and key) according to the cryptographic algorithm in hardware microprocessor and public keys, in encrypting and decrypting filtration drive, with corresponding private cipher key, carry out data deciphering, and the data after deciphering are carried out to verification.When data fit requires and data volume reaches while triggering the thresholding sending, send data to static-motion detection block.
Human-computer interaction device drives
After being disposed, the operational order that pattern matching module obtains coupling sends to human-computer interaction device and drives, human-computer interaction device drives the input equipment driving model requirement of following operating system Plays, the general controls interface of application program-oriented method is provided, like this can be on the pattern manipulation interface of computer operating system the function of analog mouse, keyboard and game action identification opertaing device.
Display driver
Action display module is coming from entire motion that static-motion detection block and acceleration of gravity separation module obtain respectively and the accekeration of initial motion, calculate movement velocity and track under cartesian coordinate system, send to display driver, display driver is responsible for showing the motion of human body on computer screen.
(4) data processing module
Static-motion detection block that data processing module comprises and acceleration of gravity separation module, the action that motion recognition system can accurately be identified, all meet human body and start after variable motion again static process by stationary state, this be because meet the exercise data of this process initial, finish the data that two parts all belong to approximate stationary state, middle respectively organize the sampled data that data are the 3-axis acceleration sensors in variable motion.
Referring to accompanying drawing 1.Traditional based on acceleration sensing and gyrostatic motion recognition system in, the technology that detects static motion has larger limitation, be mainly that data due to sensor are subject to the proper vibration of object and the impact of the inherent error of sensor self, cannot whether correct judgement occur to make to user's athletic performance.Native system, aspect the static-motion detection of processing, has fully utilized signal and has processed and machine learning correlation technique, and static-motion state detection can reach more than 90% precision.
Fig. 4 has provided static-motion detection block workflow diagram.As can see from Figure 4, static-motion detection block has two states, and (status identifier is ∏, and ∏=0 represents staticly in advance, and ∏=1, represents to move in advance for pre-stationary state and pre-motion state.Be not to represent that data must be to belong to stationary state or motion state, but as interim system detected state sign).
Driver module is packaged into one group by continuous N frame data, sends to static-motion detection block.When now static-motion detection block detected state ∏ is pre-stationary state, enter Rule of judgment i, if the variance of these group data is greater than threshold value θ, system detected state ∏ enters pre-motion state.The data that now last group of N frame data are organized pre-motion state together with this store buffer memory into, and the data of this section of pre-motion state are walked around to acceleration of gravity separation module, directly send to action display module, notification action display module starts the drafting of motion original state simultaneously, when human body setting in motion, system has been moved without waiting for, just can will move initial direction and Speed display out.
When static-motion detection block state ∏ becomes pre-motion state, (the preceding paragraph has mentioned when entering pre-motion state) jumps to Rule of judgment ii, if data variance is now greater than threshold value θ, or when the mould of the average of data and normal acceleration of gravity g difference is greater than Δ, these data continue to send to buffer memory.If two conditions of this group data do not meet, the mould that interclass variance is less than threshold value θ and data mean value and normal acceleration of gravity g difference is less than Δ, and system enters pre-stationary state.(value of θ and Δ, is by the empirical value that experiment draws to human action, and the 3-axis acceleration sensor of employing is different, and the value of θ and Δ is not identical yet.The BMA150 sensor of Bosch for example, θ herein and Δ are got respectively 0.25 (m/s
2)
2and 2m/s
2)
When entering pre-stationary state, static-motion detection block is carried out last judgement to data length in buffer memory, detect data length and whether be greater than that (the duration of action is greater than T with frequency F in the T time, for example T can get 0.5 second) size of data of sampling, and judge the acceleration amplitude Ω that whether exists the mould of the difference of one group of its average of data and normal acceleration of gravity to be greater than effective exercise in data.If these two conditions are not all satisfied, system empties the data in the middle of buffer memory; If meet two conditions simultaneously, system sends to acceleration of gravity separation module by data, notifies graphics module to wait for the transmission of valid data simultaneously.(Ω is by the empirical value that experiment draws to human action, and the 3-axis acceleration sensor of employing is different, and the value of Ω is not identical yet.The BMA150 sensor of Bosch for example, Ω herein gets 1m/s
2)
Whole static-motion detection block be based in experiment to the analysis design of exercise data characteristic, can detect the human motion that the duration is greater than T, and the vibration of extraneous high-frequency, human vas can be flowed and noise and the unconscious shake of some human bodies filtering from signal of heartbeat.Meanwhile, when entering pre-motion state, with regard to notification action display module, prepare to draw initial motion direction, reached higher real-time.
Acceleration of gravity separation module
Because the data of acceleration transducer collection are comprised of acceleration of gravity and acceleration of motion linear superposition, expect human motion relevant information, need to obtain simple acceleration of motion data.Acceleration of gravity separation module can be realized acceleration of gravity is separated from the data of 3-axis acceleration sensor sampling, obtains simple acceleration of motion data.
Algorithm (one):
The motion that acceleration motion recognition system catches is comprised of 3 d-line motion and three-dimensional spinning motion, make the accurate identification to motion, recognition system will calculate the attitude of track and the every bit of motion, this need to solve a sextuple equation, the data of sensor are comprised of acceleration of gravity vector acceleration of motion vector linear, additive simultaneously, sensor image data and acceleration of gravity vector linearity need to be subtracted each other, just can obtain acceleration of motion vector.
And independent 3-axis acceleration sensor can only be real-time three-dimensional acceleration data are provided, cannot obtain the unique solution of motion, this is also that conventional motion detection system must be used the gyrostatic reason of rotator inertia.In more detail, legacy system need to utilize rotator inertia gyroscope to provide the system space attitude of each sampling instant, thereby acceleration of gravity vector and acceleration of motion vector are separated.
And native system has only adopted single 3-axis acceleration sensor, just can calculate common athletic posture and track, this is because this motion recognition system is mainly for human motion characteristic, has proposed following constraint condition and algorithm:
Constraint condition one: people's joint motions are to accelerate from static process, then decelerate to (referred to herein as the athletic performance unit) of static composition, more complicated motion is also produced by the process repeating above.Therefore system is organized complete athletic performance unit for each and is calculated, the valid data of system acquisition are treated to following form by static motion detection block: the beginning of data and end comprise respectively the data of one group of stationary state, and the middle data of respectively organizing are valid data that in human motion, 3-axis acceleration sensor sampling obtains.
Constraint condition two: human cinology studies have shown that, people's action is naturally to optimize the most labour-saving mode, this is also that reform of nature environment forms.So system is utilized each stationary state data of organizing complete athletic performance starting and ending, and (scalar value and gravity acceleration g are approximate, now only have terrestrial gravitation to act on acceleration transducer), calculating system space attitude that motion starts and finish and being labeled as respectively that attitude starts (Posture_Start) and attitude finishes (Posture_End), the conversion of two kinds of attitudes of system postulation in whole motion is herein that user rotates minimum angle along the rotating shaft of some correspondences, be that human body is issued to identical movement effects in the minimum method of acting, these two of fixed rotating shaft and minimum corners are assumed to be system and solve the sextuple transcendental equation that only has three-dimensional data input, the constraint condition of extra two dimensions is provided, can obtain the solution of sextuple transcendental equation.
Therefore this motion recognition system and method, can only be used 3-axis acceleration sensor just can calculate conventional movement locus and the attitude of human body.
Referring to accompanying drawing 5, the conventional movement locus of human body and attitude that it obtains for using 3-axis acceleration sensor.
When accelerometer horizontal positioned, according to it, measure the direction of accelerating and set up fixed coordinate system O-X
iy
iz
i.When accelerometer attitude changes, coordinate system rotates with accelerometer, obtains O-X
jy
jz
j.At fixed coordinate system O-X
iy
iz
iunder, the measured value of acceleration of gravity equals acceleration of gravity vector at O-X
iy
iz
icoordinate.Obviously the acceleration of gravity of now measuring is g
i=(0,0 ,-g)
t.When accelerometer is at O-X
jy
jz
jin the time of static under attitude, the gravity acceleration g of measurement
j=(a
x, a
y, a
z)
t.If by coordinate system O-X
jy
jz
jto O-X
iy
iz
itransformation matrix be
according to coordinate transform, have,
Obtain like this:
So can obtain like this:
According to the standard notation of coordinate transform, define one group of parameters R PY angle (α, beta, gamma), represent O-X
jy
jz
jcoordinate system first turns α around its Z axis, then around its Y-axis β, finally around its Z axis γ, obtains O-X
iy
iz
i.Obtain like this by fixed coordinate system O-X
jy
jz
jto O-X
iy
iz
itransformation matrix
another be expressed as follows.So can obtain equally a system of equations, solve this equation and can obtain accelerometer attitude.But this solution of equations has many groups.When accelerometer initial attitude and final carriage have separate more, it is very complicated that problem becomes.Therefore, simplification problem, fixedly initial attitude.Be assumed to be horizontal positioned or vertically place.
In addition, also can think from O-X
jy
jz
jto O-X
iy
iz
iconversion be around O-X
jy
jz
junder a fixed vector k=(k
x, k
y, k
z)
t, rotate θ angle and obtain, transformation matrix
another kind of method for expressing be:
When known initial attitude, there is separate in the final carriage after matrix equation solves more.Now, to each final carriage, can find a corresponding (k
i, θ
i), i=1,2 ...
Order: θ
j=min{ θ
i, i=1,2 ....Accelerometer is by initial attitude process (k
j, θ
j) conversion obtains final carriage.Can think like this in whole process, conversion is all around k
jaxle carries out.So whole rotation process can difference become much around k
jthe a succession of low-angle rotation of carrying out.
Algorithm is as follows: the attitude of accelerometer represents with the coordinate system connecting firmly on accelerometer, supposes that initial attitude is T
0, termination attitude is T
n.Schematic diagram is referring to accompanying drawing 6.
As can be seen from Figure 6, the acceleration that initial time is measured is g
0=(a
x0, a
y0, a
z0)
t≈ (0 ,-g, 0)
t.The acceleration that stops constantly measuring is g
n=(a
xN, a
yN, a
zN)
t.Suppose initial attitude T
0to stopping attitude T
ntransformation matrix be
stop attitude T
nto initial attitude T
0transformation matrix be
:
Suppose to stop attitude T
ntransform to initial attitude T
0rPY angle be (α, beta, gamma),
Obtain system of equations:
This system of equations has separate more, for each group (α, beta, gamma) substitution attitude matrix of system of equations
it is inverted, obtain matrix
Suppose by initial attitude T
0transform to attitude T
nbe equivalent to around T
0the interior fixedly vector of unit length k=(k of coordinate system
x, k
y, k
z)
trotate θ angle and obtain,
Obtain following system of equations:
So obtain:
Limit θ ∈ (0,180 °), can try to achieve θ, further obtain:
Because equation exists ill solution situation, in reality, system requirements θ departs from 0 and 180 °, and this is because equation accurate Fast Convergent now.
The solution of system of equations (1) has many groups, and each group is separated to (α
i, β
i, γ
i), can obtain one group of unique (k
i, θ
i).?
corresponding (the k that exists
j, θ
j).
If in the acceleration information that accelerometer obtains in each sampling, the influence value of acceleration of gravity is followed successively by g
i=(a
xi, a
yi, a
zi)
t, i=0,2 ... N.During each sampled point, the attitude of accelerometer is T
i, i=0,2 ... N, from T
0to initial attitude T
itransformation matrix be
obviously
(unit matrix).?
Utilize (k
j, θ
j), estimate each transformation matrix
here the method adopting is to assert
At each sampled point, the acceleration collecting is A
i=(A
xi, A
yi, A
zi)
t, i=0,2 ... N
Remove after the impact that gravity produces on each axle, acceleration of motion is a
i'=a
i-g
i.A now
i' be at attitude T
iunder information, need to be transformed into initial attitude T
0under, at each sampled point, the acceleration information under initial attitude is:
As shown in Figure 7, from the entire motion data of static-motion detection block in acceleration of gravity separation module by twice use.First be used to calculate minimum corner and the corresponding rotor shaft direction of motion, obtain the attitude transition matrix of each data acquisition sampling point
utilize afterwards
calculate acceleration of gravity at the component of X/Y/Z axle, from the entire motion data from static-motion detection block, each sampling number is according to [a
x, a
y, a
z] middle separated, obtain the acceleration information in actual complete human body motion process, finally utilize the acceleration information in actual complete human body motion process, through an integrating meter, calculate movement velocity, then calculate movement locus through an integrating meter.Utilize simultaneously
the distribution situation of calculating the acceleration of gravity that acceleration of gravity produces with terrestrial attraction at the component of X/Y/Z axle, calculates each data acquisition sampling point spatial attitude of equipment constantly.Acceleration, speed, displacement in final actual complete human body motion process, together with the spatial attitude of equipment, formed entire motion data jointly.
Algorithm (two):
Except above-mentioned algorithm (), separated the data that also can acceleration of gravity be gathered from sensor by other algorithms.
By static-motion detection block detect motion start after, first the data-at-rest before motion being started is as initialized first group of stationary posture μ 1, and with the sensing data of this attitude μ 1, as gravity acceleration g 1 component (gx1 at x/y/z axle when the attitude μ 1, gy1, gz1), and 3-axis acceleration data (axi, ayi in shorter set time next, azi) remove the component (gx1 of gravity acceleration g 1 x/y/z axle now, gy1, gz1)
(Axi,Ayi,Azi)=(axi,ayi,azi)-(gx1,gy1,gz1);
(Axi, Ayi, Azi) is interior during this period of time acceleration of motion numerical value, calculates movement velocity and track, and mates with limited group of movement instruction in the middle of pattern match database, draws one group of definite direction of motion α 1 (kx1, ky1, kz1).
(Axj,Ayj,Azj)=(axj,ayj,azj)-(gx2,gy2,gz2);
When static-motion detection block detects motion and finishes, the stationary posture when finishing is as second group of stationary posture μ 2, and by the 3-axis acceleration sensor data of this attitude μ 2, as gravity acceleration g 2 component (gx2 at x/y/z axle when the attitude μ 2, gy2, gz2), and the 3-axis acceleration data (axj in the shorter set time before motion is finished, ayj, azj), remove acceleration of gravity (gx2, gy2, gz2)
(Axj, Ayj, Azj) obtains interior during this period of time acceleration of motion numerical value, movement velocity and track, and again mate with limited group of movement instruction in the middle of pattern match database, show that another organizes definite direction of motion α 2 (kx2, ky2, kz2).
After calculating two groups of front and back direction of motion α 1 and α 2, calculate the transition matrix Tr of α 1 to α 2,
(kx2,ky2,kz2)=(kx1,ky1,kz1)*Tr;
In motion, start, to finishing total M sampled point, the transformation matrices Tr of direction to be assigned as to M part Tri, (Tri)
m=Tr, calculates each sampled point spatial attitude μ i of equipment constantly.
The μ i obtaining with Tri, transforms correction to every bit acceleration of motion in entire motion data, obtains finally obtaining entire motion acceleration information, through an integrating meter, calculates movement velocity, then calculates movement locus through an integrating meter.。
Acceleration, speed, displacement in final actual complete human body motion process, the spatial attitude μ i together with equipment, has formed entire motion data jointly.
(5) pattern matching module:
Referring to Fig. 8, it is pattern matching module.The entire motion data that the utilization of pattern matching module is imported into after processing.According to computer patterns matching theory, pattern match module is carried out matching degree calculating and is inquired about and set up mapping in operational order database and movement velocity track data storehouse, obtain motion action pattern corresponding in operational order database, and provide operational order to application program.
Demand for somatic sensation television game application, solution in the present invention can be by the speed calculating and trace information, by data, being trained and tested the priori data obtaining to form matching database, is limited group of motion action in scene of game by speed and trajectory map.Such as waving arm, jettisoning in the game of: sports class, step, touch the patterns such as ball; The patterns such as the aiming in first person shooting game, shooting, under the prerequisite that does not change the traditional logic of games and flow process, the motion of people's four limbs, head and torso portion is carried out to Tracking Recognition, thereby realize without button, real-time, real somatic sensation television game, experience.
For anthropomorphic type machine people, control the demand of application, can train and test the priori data obtaining by data and form matching database, human action is mapped as to robot manipulation's instruction, such as: carry arm, wave arm, fall arm etc., solution of the present invention can be simplified the volume of opertaing device greatly, strengthen mutual fluency and the emulation of controlling, make people for the control ability of robot and experience greatly and improve.
For haptic interaction application, the present invention can be used for acquisition operations terminal angle information, and the attitude information calculating is mapped in virtual scene, carries out dynamic real time collision detection with virtual scene, realizes real-time haptic interaction.
For traditional personal computer desktop application scene, the present invention can realize the control function of mouse in two dimensional surface and 3 D stereo visual field, not only can substitute the operating function of existing conventional mouse completely, and more adapt to the application demand of following 3 D stereo desktop environment.
(6) action display module
Referring to accompanying drawing 9, it is action display module.Action display module has two parallel data processing modules: real-time pre-action display module and complete action display module, corresponding input data are respectively from the pre-exercise data of static-motion detection block, and entire motion speed, the track data of acceleration of gravity separation module.
In real time pre-action display module is that exercise data that static motion detection block is entered to last group of data-at-rest after pre-motion state and current group simply goes acceleration of gravity to process (to suppose the original state in motion, acceleration of gravity is constant in the distribution of three axle X/Y/Z, the acceleration information value that is about to X/Y/Z under stationary state is above the component on three axles as gravity acceleration g, the acceleration information receiving is deducted to the component on three axles of gravity acceleration g), computing velocity, track obtains the direction of first motion, and data are sent to display driver to start drawing.The object of design is like this, and when user uses equipment setting in motion, the direction of initial motion and speed can show, and without data, will wait until after complete release, through acceleration of gravity separation module, processes and could show.Give like this user's experience effect of a kind of approximate real-time of user.
Complete action display module is responsible for the acceleration information of acceleration of gravity separation module, according to sampling time interval, calculating speed and movement locus, and the data that calculate are sent to display driver, and in three-dimensional animation, draws and rebuild user's motion.
Programmable system application interface (on Fig. 1)
Referring to Fig. 1, the system architecture that the present invention is designed and algorithm solution, in the face of developer provides programmable system application interface, possess good extendability and application.Only need be for application scenarios, set up pattern match database, and provide hardware plan, any competent developer all can be convenient to use this interface and programmes, be used for developing types of applications (somatic sensation television game, robot telepilot, 3D desktop control etc.), thereby the present invention possesses good commercial application prospect.
In conjunction with above-mentioned description, we can obtain beneficial effect of the present invention, can locate accurately and identify the action of human body, in game control, robot control, computer desktop operation, provide action recognition easily, the data acquisition transport module of this recognition system only adopts 3-axis acceleration sensor, avoid using volume that gyroscope brings and the restriction of cost, and in real-time and precision, all reached good effect.
Major technique in the present invention is these points:
1, non-gyroscope removes acceleration of gravity algorithm
(1) valid data signal based on 3-axis acceleration sensor, by the minimum optimized algorithm of moving corner, solve one section of complete action from start to end in process, the minimum angles of rotating around certain direction, and utilize the direction vector of axle and the size of corner solve, rotative component is separated on each sampled point, the attitude of every bit and acceleration of gravity are set up to corresponding mapping, remove the impact of acceleration of gravity on signal under different attitudes, obtain acceleration of motion information accurately, then calculate speed and the track of motion.
(2) valid data signal based on 3-axis acceleration sensor, before motion is started, data-at-rest after end is as two groups of stationary posture initial and that finish, and by the data of this attitude, the acceleration information closing in the shorter set time is removed to acceleration of gravity, acceleration of motion numerical value, movement velocity and track in obtaining during this period of time, and mate with the movement instruction of limited quantity in the middle of pattern match database, draw definite direction of motion.Before and after calculating, after two groups of direction of motion, system is cut apart the variation of direction and is revised each spot speed and track in entire motion data, obtains movable information.
(2) static motion detection algorithm:
Acceleration signal is carried out to matched filtering processing, the correspondence of Rule of judgment I/II in continuous data based Fig. 4 is used, it is the detection that Rule of judgment I triggers motion initial state, Rule of judgment II triggers the detection of motion done state, avoided slightly trembling and the interference of the intrinsic vibrations of object of staff, thus the algorithm of identification static detection and action start-stop.
The concrete application of acceleration motion recognition system of the present invention and method is described below.
Game action identification equipment:
The present invention can be in computer game or family game machine game, the identification of two dimension and three-dimensional motion.When user makes the action of simulation of real scenes, there is the action that the game action identification equipment of the acceleration action recognition technology of non-gyroscope technology makes user and rebuild out by calculating on computers, and set up mapping with the steering order in game.
For two dimensional motion identification in game, choosing for playing card in snipsnapsnorum for example, user can be worn on equipment the back of the hand top, when the translation of user left and right, can select the playing card of holding in hand in the middle of playing, when user wishes to get while maybe needing to choose the playing card of appointment, user only needs fast moving forward or backward to wear the hand of equipment, can allow computing machine identify corresponding operation.This mode is closer to the hand motion of playing cards in real scene.
For three-dimensional motion, identify, the racked swing for example playing tennis, user can be worn on equipment the back of the hand top, and can select to hold tennis racket or other any objects, when user makes once complete racked swing according to the prompting of game picture, game action identification equipment is separated the valid data in the process of swinging the bat by static-motion detection block, and obtains the relevant informations such as complete trajectory that user brandishes racket, speed through system-computed.Pattern matching module, according to movement velocity, trace information, calculates direction, strength and the rotation of batting.
The equipment with 3D mouse function:
Traditional mouse is by machinery or optics, to resolve on two dimensional surface, obtains the translation of user on horizontal plane.The mouse device with the acceleration action recognition technology of non-gyroscope technology, has pinpoint function in three dimensions.When user by the hand of holding equipment in three dimensions during some direction motions, the cursor of mouse also can move thereupon.For traditional two-dimensional operation interface, equipment and system can be converted into three-dimensional motion the projection of two dimensional surface, the action of clicking for mouse right and left key, user can or move up and down in the direction perpendicular to two dimensional surface by quick whipping palm, just can realize corresponding click function.
Meanwhile, the mouse with the acceleration action recognition technology of non-gyroscope technology can not look like traditional machinery or optical mouse, is subject to the restriction of surface in contact.The mouse with the technology of the present invention can, on any surface, be controlled the cursor of mouse of computer desktop even in the air.
Robot motion control inputs equipment:
For anthropomorphic type machine people, control the demand of application, user can wear the arm of robot motion control inputs equipment by movement, human action is mapped as to robot manipulation's instruction, such as: carry arm, wave arm, fall arm etc.When user wants the major beat of robot to control, no longer need to input the instruction of large amount of complex, only need to make corresponding action, just can make consistent complicated arm action by control.The robot motion control inputs equipment with the technology of the present invention, with respect to traditional solutions such as 6 dimension mechanical drive input equipments, can greatly simplify the volume of opertaing device, strengthen mutual fluency and the emulation of controlling, make people for the control ability of robot and experience greatly and improve.
It will be apparent to one skilled in the art that in the present invention and can carry out numerous modifications and variations, and do not depart from the spirit and scope of the present invention.Therefore, the invention is intended to covering and drop on the modifications and variations of the present invention in claims and equivalent scope thereof.