CN110531866A - The method and relevant device of attitude algorithm are carried out based on improved inverse kinematics - Google Patents
The method and relevant device of attitude algorithm are carried out based on improved inverse kinematics Download PDFInfo
- Publication number
- CN110531866A CN110531866A CN201911033145.0A CN201911033145A CN110531866A CN 110531866 A CN110531866 A CN 110531866A CN 201911033145 A CN201911033145 A CN 201911033145A CN 110531866 A CN110531866 A CN 110531866A
- Authority
- CN
- China
- Prior art keywords
- error vector
- iteration
- updated
- bone end
- current location
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/011—Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Image Analysis (AREA)
- Apparatus For Radiation Diagnosis (AREA)
Abstract
The present invention relates to movement capturing technology fields, disclose a kind of method and relevant device that attitude algorithm is carried out based on improved inverse kinematics, for improving the mobile precision for rotating to target position in skeleton end.It include: the target position of the rotation parameter collection for obtaining preset artis, the current location of bone end and bone end based on the method that improved inverse kinematics carry out attitude algorithm;The transposition of Jacobian matrix and Jacobian matrix is calculated according to current location and rotation parameter collection;Error vector is obtained according to current location and target position;Current location is updated according to error vector, Jacobian matrix, the transposition of Jacobian matrix and preset offset vector, judge whether the mould of updated error vector reduces, if, rotation parameter collection is then updated according to default iterative formula, when the number of iterations is not less than default iteration threshold or updated error vector converges on 0, stops iteration and update rotation parameter collection.
Description
Technical field
The present invention relates to movement capturing technology fields, more particularly to carry out attitude algorithm based on improved inverse kinematics
Method and relevant device.
Background technique
Human action capturing technology is the important channel of the man-machine interacting activities such as Making Movies special efficacy, realization virtual reality,
Realize that these applications must track the motion profile of human joint points by the measurement of athletic posture, therefore, based on mark
During the motion capture for remembering point, need to carry out attitude algorithm in the hope of the rotation information in joint each in skeleton.
In the prior art, bone is calculated commonly using inverse kinematics (inverse kinematics, IK) algorithm
Posture can get skeleton motion parameter by IK algorithm, the actual motion rail of skeleton end made by the kinematic parameter
Mark is substantially consistent with target trajectory, and resolving IK can be used Newton method, but need to calculate the inverse matrix of Jacobian matrix, so
And usually there is the irreversible situation of Jacobian matrix, thus lead to not the posture information for calculating bone.
Summary of the invention
It is a primary object of the present invention to solve in Inverse kinematics to occur avoiding in the irreversible situation of matrix
Finding the inverse matrix and the single transposition method of optimization, the problem of to improve accuracy.
To achieve the above object, first aspect present invention provides a kind of based on improved inverse kinematics progress posture solution
The method of calculation, comprising: obtain the mesh of the rotation parameter collection of preset artis, the current location of bone end and the bone end
Cursor position, the rotation parameter collection are used to indicate the rotation amount of the preset artis, and the bone end is according to the rotation
Parameter set moves closer to the target position from the current location;According to the current location of the bone end and the rotation
The transposition of Jacobian matrix and the Jacobian matrix is calculated in parameter set;According to the current location of the bone end and
The target position of the bone end obtains error vector;According to the error vector, the Jacobian matrix, the Jacobi
The transposition of matrix and preset offset vector update the current location of the bone end, judge the mould of updated error vector
Whether reduce, if so, the rotation parameter collection is updated according to default iterative formula, until the number of iterations is not less than default iteration
When threshold value or the updated error vector converge on 0, stops iteration and update the rotation parameter collection.
Optionally, in the first implementation of first aspect present invention, it is described according to the error vector, it is described refined
The current location for updating the bone end than matrix, the transposition of the Jacobian matrix and preset offset vector includes:
The current location of the bone end, the more new formula are updated according to more new formula are as follows: s '=s+ α (JJTE+ β e), 0 < α <
1, wherein s ' be updated bone end current location, s be the bone end current location, e be error vector,
J is Jacobian matrix, JTFor the transposition of Jacobian matrix, β e is preset offset vector.
Optionally, in second of implementation of first aspect present invention, the β in the preset offset vector is initially set
Value is set greater than 0, wherein β changes numerical value with iteration, if the mould of the error vector e constantly reduces, β constantly increases, if institute
The mould for stating error vector e increases, then β takes negative value.
Optionally, in the third implementation of first aspect present invention, the updated error vector of judgement
It includes: to be determined according to the current location of the updated bone end and the target position of the bone end that whether mould, which reduces,
Updated error vector;Judge the mould phase for the error vector that the mould of the updated error vector is generated with last iteration
Than whether reducing;If so, determining that the more new strategy for introducing the preset offset vector β e is effective, if not, it is determined that invalid.
Optionally, described according to the updated bone end in the 4th kind of implementation of first aspect present invention
The target position of the current location at end and the bone end determines that updated error vector includes: according to described updated
Difference between the current location of bone end and the target position of the bone end, obtain the updated error to
Amount.
Optionally, described if so, according to default iterative formula in the 5th kind of implementation of first aspect present invention
The rotation parameter collection is updated, until the number of iterations is not less than default iteration threshold or the updated error vector convergence
When 0, stop iteration updating the rotation parameter collection including: if it is determined that introducing the more new strategy of the preset offset vector β e has
Effect then updates the rotation parameter collection according to default iterative formula;The number of iterations is obtained, and the number of iterations is carried out to add 1
It calculates, the initial value of the number of iterations is 0;Judge whether the number of iterations is less than default iteration threshold;If the iteration
Number is not less than the default iteration threshold, then stops iteration and update the rotation parameter collection;If the number of iterations is less than institute
Default iteration threshold is stated, then judges whether the updated error vector converges on 0;If so, stopping described in iteration update
Rotation parameter collection, if it is not, then continuing iteration updates the rotation parameter collection.
Optionally, in the 6th kind of implementation of first aspect present invention, the basis presets iterative formula and updates institute
State rotation parameter collection include: according to the default iterative formula be calculated each iteration for update parameter set;According to institute
State each iteration for update parameter set obtain updated rotation parameter collection θ ', then θ '=θ+d θ, wherein θ is the rotation
Turn parameter set, d θ is parameter set of each iteration for update.
Optionally, described according to the default iterative formula meter in the 7th kind of implementation of first aspect present invention
Calculate obtain each iteration for update parameter set include: that the default iterative formula: Jd θ=JJ is setT(e+ Δ e), then root
According to the default iterative formula obtain each iteration for update parameter set, wherein Δ e be modification vector.
Optionally, in the 8th kind of implementation of first aspect present invention, the setting default iterative formula: Jd
θ= JJT(e+ Δ e), then according to the default iterative formula obtain each iteration for update parameter set, wherein Δ e
It include: setting JJ for modification vectorT(e+ Δ e)=JJTE+ β e, then JJTΔe-βe=0;By JJTSingular value decomposition is carried out, JJ is obtainedT
=UDVT, wherein U and VTThe respectively transposition of left singular matrix and right singular matrix, D are diagonal matrix;Obtain it is described correct to
Amount: Δ e=VEUTβ e, wherein by DTIn nonzero value replace with the inverse of the nonzero value and obtain matrix E;The Δ e is inputted
In the default iterative formula, obtain each iteration for update parameter set: d θ=JT(I+VEUTβ) e, wherein I is
Unit matrix.
Optionally, in the 9th kind of implementation of first aspect present invention, the judgement updated error to
It includes: to judge whether the mould of the updated error vector is greater than default error threshold that whether amount, which converges on 0,;If so, really
The fixed updated error vector does not converge on 0;If it is not, after then obtaining the error vector after current iteration and last iteration
Error vector, and according to preset formula to the error after the error vector and the last iteration after the current iteration to
Amount is calculated, and calculated result is obtained;Judge whether the calculated result is less than preset threshold value;If so, determining the update
Error vector afterwards converges on 0;If not, it is determined that the updated error vector does not converge on 0.
Optionally, in the tenth kind of implementation of first aspect present invention, it is described according to preset formula to described current
The error vector after error vector and the last iteration after iteration is calculated, and obtaining calculated result includes: according to pre-
Formula is set to the error vector after the last iterationWith the error vector after the current iterationIt is calculated, is obtained
Calculated result, the preset formula are as follows:
。
Second aspect of the present invention provides a kind of device that attitude algorithm is carried out based on improved inverse kinematics, comprising:
Acquiring unit, for obtaining rotation parameter collection, the current location of bone end and the mesh of the bone end of preset artis
Cursor position, the rotation parameter collection are used to indicate the rotation amount of the preset artis, and the bone end is according to the rotation
Parameter set moves closer to the target position from the current location;Computing unit, for according to the current of the bone end
The transposition of Jacobian matrix and the Jacobian matrix is calculated in position and the rotation parameter collection;According to the bone end
The target position of the current location at end and the bone end obtains error vector;Iteration updating unit, according to the error to
Amount, the transposition of the Jacobian matrix, the Jacobian matrix and preset offset vector update the current of the bone end
Position, judges whether the mould of updated error vector reduces, if so, updating the rotation parameter according to default iterative formula
Collection stops iteration more when the number of iterations is not less than default iteration threshold or the updated error vector converges on 0
The new rotation parameter collection.
Third aspect present invention provides a kind of equipment for carrying out attitude algorithm based on improved inverse kinematics, comprising:
Memory and at least one processor are stored with instruction, the memory and at least one described processor in the memory
It is interconnected by route;At least one described processor calls the described instruction in the memory, so that described based on improvement
Inverse kinematics carry out attitude algorithm equipment execute method described in above-mentioned first aspect.
The fourth aspect of the present invention provides a kind of computer readable storage medium, in the computer readable storage medium
It is stored with instruction, when run on a computer, so that computer executes method described in above-mentioned first aspect.
As can be seen from the above technical solutions, the invention has the following advantages that
In technical solution provided by the invention, the rotation parameter collection of preset artis, the current location of bone end and institute are obtained
The target position of bone end is stated, the rotation parameter collection is used to indicate the rotation amount of the preset artis, the bone end
End moves closer to the target position from the current location according to the rotation parameter collection;According to the current of the bone end
The transposition of Jacobian matrix and the Jacobian matrix is calculated in position and the rotation parameter collection;It is described pre- according to updating
The rotation parameter collection for setting artis obtains the current location of updated bone end;According to the updated bone end
Current location and the target position of the bone end obtain error vector;According to the error vector, the Jacobean matrix
Battle array, the transposition of the Jacobian matrix and preset offset vector update the current location of the bone end, after judging update
The mould of error vector whether reduce, if so, the rotation parameter collection is updated according to default iterative formula, until iteration time
When number converges on 0 not less than default iteration threshold or the updated error vector, stops iteration and update the rotation ginseng
Manifold.In the embodiment of the present invention, by the way that the inverse matrix of Jacobian matrix to be replaced with to the transposition of Jacobian matrix, avoid it is refined can
It is likely to irreversible situation than matrix, while to update by preset offset vector and having more directionality, to optimize update
After, entire algorithm, computational accuracy can be simplified to further increase, and then improve the movement of bone end and rotate to target
The precision of position.
Detailed description of the invention
Fig. 1 is the one embodiment for carrying out the method for attitude algorithm in the embodiment of the present invention based on improved inverse kinematics
Schematic diagram;
Fig. 2 is that another implementation for carrying out the method for attitude algorithm based on improved inverse kinematics in the embodiment of the present invention illustrates
It is intended to;
Fig. 3 is one embodiment signal for carrying out the device of attitude algorithm in the embodiment of the present invention based on improved inverse kinematics
Figure;
Fig. 4 is that another implementation for carrying out the device of attitude algorithm based on improved inverse kinematics in the embodiment of the present invention illustrates
It is intended to;
Fig. 5 is one embodiment signal for carrying out the equipment of attitude algorithm in the embodiment of the present invention based on improved inverse kinematics
Figure.
Specific embodiment
The embodiment of the invention provides a kind of methods based on improved inverse kinematics progress attitude algorithm and correlation to set
It is standby, for the transposition by the way that the inverse matrix of Jacobian matrix to be replaced with to Jacobian matrix, avoids Jacobian matrix and be likely to
Irreversible situation, while to update by preset offset vector and having more directionality, to optimize update after, can make
Entire algorithm is simplified, computational accuracy further increases, and then improves the mobile precision for rotating to target position in bone end.
In order to enable those skilled in the art to better understand the solution of the present invention, below in conjunction in the embodiment of the present invention
The embodiment of the present invention is described in attached drawing.
Description and claims of this specification and term " first ", " second ", " third ", " in above-mentioned attached drawing
The (if present)s such as four " are to be used to distinguish similar objects, without being used to describe a particular order or precedence order.It should manage
The data that solution uses in this way are interchangeable under appropriate circumstances, so that the embodiments described herein can be in addition to illustrating herein
Or the sequence other than the content of description is implemented.In addition, term " includes " or " having " and its any deformation, it is intended that covering is not
Exclusive includes, for example, the process, method, system, product or equipment for containing a series of steps or units be not necessarily limited to it is clear
Step or unit those of is listed on ground, but is not clearly listed or for these process, methods, product or is set
Standby intrinsic other step or units.
For ease of understanding, the detailed process of the embodiment of the present invention is described below, referring to Fig. 1, the present invention is implemented
The one embodiment of method for carrying out attitude algorithm based on improved inverse kinematics in example includes:
101, rotation parameter collection, the current location of bone end and the target position of bone end of preset artis, rotation are obtained
Turn the rotation amount that parameter set is used to indicate the preset artis, bone end is according to the rotation parameter collection namely with preset joint
The rotation of point moves closer to target position from current location;
Server obtains current rotation parameter collection, the current location of bone end and the target position of bone end of preset artis
It sets, rotation parameter collection is used to indicate the rotation amount of the preset artis, for example rotation amount includes shoulder, ancon, wrist, finger
The equal body parts skeletal joint point amount of movement on XYZ axis respectively, bone end is as the rotation of preset artis is from working as
Front position moves closer to target position.Wherein, bone end is rotated with the rotation of preset artis.Specifically, service
Rotation parameter collection θ, θ of the device setting comprising preset artis are a high dimension vector, and entire skeleton can be according to rotation parameter collection θ
It is moved, to reach the set goal position from current location, meanwhile, the present bit of bone end can be detected in server
It is set to s, the target position of bone end is t.
It should be noted that IK Solvers is to carry out reverse according to bone terminal position to go out above-mentioned rotation parameter collection θ, reversely
Work efficiency is high for dynamics, greatly reduces the joint number for needing to manually control.
102, Jacobian matrix and Jacobean matrix are calculated according to the current location of bone end and rotation parameter collection
The transposition of battle array;
Jacobian matrix and Jacobian matrix is calculated according to the current location and rotation parameter collection of bone end in server
Transposition.Specifically, server is calculated according to the rotation parameter collection θ of preset artis and the current location s of bone end,
Jacobian matrix of the s about θ is obtained, and sets J for Jacobian matrix;Server carries out transposition calculating to Jacobian matrix,
The transposition of Jacobian matrix is obtained, and sets J for the transposition of Jacobian matrixT。
It should be noted that Jacobian matrix is that first-order partial derivative is arranged in a certain way in vector calculus
Matrix, determinant are known as Jacobian.The importance of Jacobian matrix be it embody one can differential difference equation with to
The optimum linearity put out approaches, and therefore, Jacobian matrix is similar to the derivative of the function of many variables.
103, error vector is obtained according to the target position of the current location of bone end and bone end;
Server obtains error vector according to the current location of bone end and the target position of bone end.Wherein, error to
Amount is used to indicate deviation and direction between the current location of bone end and the target position of bone end.Specifically, clothes
Business device compares the current location s of bone end and the target position t of bone end, obtains error current vector e, the error vector
For e=t-s.
It is understood that server is calculated according to the rotation parameter collection of preset artis and the current location of bone end
Obtain the current location of updated bone end, the current location of updated bone end and the target position of bone end
Between there are error vector e, when the mould of error vector e is gradually reduced, server is determining the current location of bone end
Close to the target position of bone end;When the mould of error vector e is gradually increased, server determines the current location of bone end
Target position far from bone end.
104, bone is updated according to error vector, Jacobian matrix, the transposition of Jacobian matrix and preset offset vector
The current location of end, judges whether the mould of updated error vector reduces, and revolves if so, being updated according to default iterative formula
Turn parameter set, when the number of iterations is not less than default iteration threshold or updated error vector converges on 0, stops iteration
Update rotation parameter collection.
The error vector that is found out according to step 101-103, Jacobian matrix, the transposition of Jacobian matrix and in addition preset
The current location of bone end may be updated to get the current location of updated bone end out in offset vector, can find out later
Updated error vector, can determine whether the mould of updated error vector reduces at this time.It is to be appreciated that passing through first root
After the current location for updating policy update bone end according to the iteration of setting, it can be used for finding out error vector, by judging more
Whether the mould of the error vector after new reduces, and just can determine that whether the more new strategy of the setting is effective.Determine the update of the setting
After strategy is effective, then rotation parameter collection is updated according to default iterative formula, that is, solves the rotation of each artis in bone
Information, until when the number of iterations converges on 0 not less than default iteration threshold or updated error vector, with regard to stopping changing
In generation, updates rotation parameter collection, and by the motion profile of bone end, just reverse push exports the rotation information of each artis in bone.
It is understood that the time of the more consumption of the number of iterations is more long, the frame per second of image influences image to decline
Fluency, therefore, the present embodiment are to guarantee frame per second, are provided with iteration upper limit threshold, when the number of iterations has been more than the default iteration
Threshold value, then no matter whether error vector, which converges on 0, is automatically stopped iteration, wherein the initial value of the number of iterations is 0.Specifically,
Server repeats step 101 to step 104, until the number of iterations is not less than default iteration threshold or error vector convergence
When 0, stops iteration and update rotation parameter collection.
It is understood that server determines that bone end is accurately rotatably moved to mesh when error vector converges on 0
Cursor position.For example, server detects that the mould of updated error vector is 0.0001, server determines that the error vector restrains
In 0, so that it is determined that the current location of bone end reaches target position.Namely make error by setting iteration more new strategy
Vector gradually converges on 0, to acquire rotation parameter collection θ, completes the solution of inverse kinematics.
In the embodiment of the present invention, by the way that the inverse matrix of Jacobian matrix to be replaced with to the transposition of Jacobian matrix, avoid
Jacobian matrix is likely to irreversible situation, while to update by preset offset vector and having more directionality, to optimize
It updates after, entire algorithm, computational accuracy can be simplified to further increase, and then improve the movement of bone end and rotate to
The precision of target position.
Referring to Fig. 2, the another of the method for attitude algorithm is carried out in the embodiment of the present invention based on improved inverse kinematics
A embodiment includes:
201, rotation parameter collection, the current location of bone end and the target position of bone end of preset artis, rotation are obtained
Turn the rotation amount that parameter set is used to indicate preset artis, bone end moves closer to mesh from current location according to rotation parameter collection
Cursor position;The step is identical as step 101, and details are not described herein again.
202, Jacobian matrix and Jacobean matrix are calculated according to the current location of bone end and rotation parameter collection
The transposition of battle array;
Jacobian matrix J and Jacobian matrix is calculated according to the current location and rotation parameter collection of bone end in server
Transposition JT.Wherein, Jacobian matrix is the matrix that first-order partial derivative is arranged in a certain way, and determinant is known as Jacobi
Determinant.The importance of Jacobian matrix be it embody one can differential difference equation approached with the optimum linearity for providing a little, therefore,
In vector calculus, Jacobian matrix is similar to the derivative of the function of many variables.
Server carries out transposition calculating to Jacobian matrix, obtains Jacobi's transposed matrix.It is understood that theoretical
On, error vector e can be understood as e=J d θ (analytical expression), d θ=J-1E, it is possible thereby to d θ be solved, so that it is determined that closing
The rotation information of node, but J-1For the inverse matrix of J, J is likely to irreversible, also, when J dimension is big, seeks its inverse matrix needs
Consumption is a large amount of to calculate power, will affect real-time.Therefore, it is necessary to avoid seeking J as far as possible-1, one of which avoids J-1Mode be use J
Transposition JTReplace J-1Even d θ=JTE calculates the rotation information of artis.
203, error vector is obtained according to the target position of the current location of bone end and bone end;
Server obtains error vector according to the current location of bone end and the target position of bone end.Wherein, error to
Amount is used to indicate deviation and direction between the current location of bone end and the target position of bone end.Specifically, clothes
The target position of bone end is set t by business device;Server compares the current location s of bone end and the mesh of bone end
Mark appearance t, obtains error vector e.
It is understood that server is determining the current location of bone end just when the mould of error vector e is gradually reduced
In the target position close to bone end;When the mould of error vector e is gradually increased, server determines the present bit of bone end
Set the target position far from bone end.With the progress that iteration updates, the current location of updated bone end is got over
Come the target position closer to bone end.
204, bone is updated according to error vector, Jacobian matrix, the transposition of Jacobian matrix and preset offset vector
The current location of end;
, can be with the current location of progressive updating bone end according to more new formula in the present embodiment, the more new formula are as follows: s '=s+
α (JJTE+ β e), 0 < α < 1, wherein s ' is the current location of updated bone end, and s is the present bit of bone end
It sets, e is error vector, J is Jacobian matrix, JTFor the transposition of Jacobian matrix, β e is preset offset vector, that is to say, that
Obtain error vector, Jacobian matrix, Jacobian matrix transposition on the basis of, update working as bone end by introducing β e
Front position can make the update of current location have more directionality.It should be noted that the current location s ' of updated bone end
It can also be acquired by s '=s+ α Jd θ, 0 < α < 1, i.e., theoretically Jd θ=JJTE+ β e, d θ are related to posture information.Herein by
Then with the posture information of the unknown artis of inverse kinematics principle solving, so d θ is unknown.
The current location for updating bone end, and the β value of initial setting up can be realized by the β being arranged in preset offset vector
Greater than 0, wherein β changes numerical value with iteration, if the mould of error vector e constantly reduces, β constantly increases, if error vector e
Mould increases, then β takes negative value.For example, the mould that server iterative calculation for the first time obtains error vector e is 1, server changes for the second time
The mould that error vector e is calculated in generation is 2, and specification error increases, then server directly sets -1 for β;If server first
The mould that secondary iterative calculation obtains error vector is 1, and the mould that second of iterative calculation of server obtains error vector is 0.8, explanation
Error is reducing, then next server can constantly increase β value.
It is understood that the current location of updated bone end moves closer to the target position of bone end, together
When by constantly adjusting preset offset vector, it is ensured that the current location of updated bone end is leaned on along the direction of error vector
Close-target position.
Server can inversely release preset joint on skeleton chain according to the current location of updated bone end
Current pose, that is, rotation information of point exactly adjusts for example, the arm of server control role removes one fixed object of touching
Believed with reaching target position by the posture that the current location can inversely calculate arm joint point the current location of arm
Breath.
205, judge whether the mould of updated error vector reduces;
The current location that updated bone end can be obtained behind the current location of update bone end, according to updated bone
The current location of end and the target position of bone end determine updated error vector;Wherein, updated error vector
E ' is the difference between the current location s ' of updated bone end and the target position t of bone end: e '=t- s '.It can be with
Understand, when the mould of error vector constantly reduces, indicates that the current location of updated bone end moves closer to bone
The target position of end.
Judge whether the mould of updated error vector e ' subtracts compared with the mould for the error vector e that last iteration generates
It is small;
If so, determining that the more new strategy for introducing the preset offset vector β e is effective, if not, it is determined that it is invalid, i.e., by sentencing
Whether the mould of disconnected error vector reduces to determine whether more new strategy is effective.
206, if it is determined that the more new strategy for introducing preset offset vector β e is effective, then rotation is updated according to default iterative formula
Parameter set;
In the present embodiment, however, it is determined that the more new strategy for introducing preset offset vector β e is effective, can be first according to default iterative formula
Be calculated each iteration for update parameter set d θ (related to posture information);Specifically, default iterative formula: Jd is arranged
θ= JJT(e+ Δ e), then d θ can be obtained by presetting iterative formula according to this, wherein Δ e is modification vector.It should be noted that In
Obtain each iteration for update parameter set d θ before, need by verifying bone end current location update after corresponding mistake
Whether the mould of difference vector is reduced, and just can be carried out the step of solving d θ in next step, if so, showing to introduce preset offset vector
The more new strategy of β e is effective, next can just find out d θ, to achieve the purpose that calculate posture information by inverse kinematics.
As previously mentioned, although d θ=J can be enabledTE, but due to JTObviously it is not equal to J-1If according to s '=s+ α Jd θ=s+ α
JJTE, using JTIt can only guarantee s in close t, it cannot be guaranteed that updated current location s ' mono- surely reaches target position t, i.e., only
Only with JTReplace J-1Updating current location can make s ' close to t really, but if more canvassing, s should be close to the optimum way of t
It is close along the direction of e, and Jd θ=JJ at this timeTE is only consistent with e general orientation, i.e., the two inner product is positive number, the difference of the two direction
Different i.e. angle may be larger, may finally be unable to reach satisfactory result.
Therefore, in order to improve algorithm accuracy, it can allow two high dimension vectors in higher dimensional space towards more consistent, i.e., two
Person's angle is smaller, the update of current location can be allowed to have more directionality in this way.Need to be arranged a preset offset vector β e at this time,
Wherein, β is updated with iteration changes numerical value, if the mould of error vector e increases, it is determined that Jd θ and e towards inconsistent, the two is pressed from both sides
Angle increases, and can reduce angle by adjusting the β value in preset offset vector, that is, introduce preset offset vector and to update
It is more directional, improve iteration efficiency, further, by β e can reduce Jd θ and e towards difference, even Jd θ=
JJTE+ β e, but according to this equation, there is still a need for use J-1D θ is sought, to avoid using J-1, it is further introduced into modification vector Δ e,
Default iterative formula is set are as follows: Jd θ=JJT(e+ Δ e), then find out d θ=JT(e+ Δ e).Due to modification vector Δ e be it is unknown,
Δ e method for solving are as follows:
JJ is setT(e+ Δ e)=JJTE+ β e, then JJTΔe-βe=0;By JJTSingular value decomposition is carried out, JJ is obtainedT=UDVT, wherein
U and V is respectively left singular matrix and right singular matrix, and D is diagonal matrix, upper right footmarkTRepresent transposition symbol;According to U, D, V
It can be obtained modification vector: Δ e=VEUTβ e, wherein by DTIn nonzero value replace with the inverse of the nonzero value matrix can be obtained
Thus E just finds out Δ e;Then Δ e is inputted in default iterative formula, obtain each iteration for update parameter set: d θ=
JT(e+ Δ e)=JT(I+VEUTβ) e, wherein I is unit matrix.
After finding out d θ, updated rotation parameter collection θ ' can be obtained, then θ '=θ+d θ, wherein θ is rotation parameter collection,
It obtains θ ' and just represents rotation (posture) information for calculating artis in bone.Later just according to iterative step, by multiple
Desired rotation parameter collection θ ' is obtained after iteration, expectation rotation parameter collection phalanges bone end current location here reaches target position
Rotation (posture) information of corresponding skeletal joint point when setting.
207, the number of iterations is obtained, and the number of iterations is carried out to add 1 to calculate, the initial value of the number of iterations is 0;
Server obtains the number of iterations, and carries out adding 1 to calculate to the number of iterations, and the initial value of the number of iterations is 0.For example, when repeatedly
When the initial value of generation number is 0, after server carries out the current location of update bone end for the first time, the number of iterations 1;Service
After device carries out the current location that second updates bone end, the number of iterations 2, and so on, server updates bone every time
Behind the current location of end, the number of iterations is carried out plus 1 calculates.
208, judge whether the number of iterations is less than default iteration threshold;
Server judges whether the number of iterations is less than default iteration threshold.Wherein, iteration threshold is preset for ensuring image frame per second.
For example, it is 50 that default iteration threshold, which is arranged, in server, when the number of iterations is accumulated to 49 from 0, server ensures that the number of iterations is small
In default iteration threshold.
If 209, the number of iterations is not less than default iteration threshold, stops iteration and update rotation parameter collection;
For example, it is 50 that default iteration threshold, which is arranged, in server, when the number of iterations is accumulated to 50 from 0, server determines iteration time
Number directly stops iteration at this time and updates rotation parameter collection, i.e., no matter whether bone end reaches mesh not less than default iteration threshold
Cursor position stops iterative calculation rotation parameter collection.
If 210, the number of iterations is less than default iteration threshold, judge whether updated error vector converges on 0;
If the number of iterations is less than default iteration threshold, illustrate to can also continue to iteration, server judge updated error to
Whether amount converges on 0.Specifically, server judges whether the mould of updated error vector is less than or equal to default error threshold
Value;If the mould of updated error vector is greater than default error threshold, server determines that updated error vector does not restrain
In 0;If the mould of updated error vector is less than or equal to default error threshold, server obtains the mistake after current iteration
Error vector after difference vector and last iteration, and according to preset formula to after current iteration error vector and the last time change
Error vector after generation is calculated, and calculated result is obtained;Judge whether calculated result is less than preset threshold value;If calculated result is big
In or equal to preset threshold value, it is determined that updated error vector does not converge on 0;If calculated result is less than preset threshold value,
Determine that updated error vector converges on 0.
Further, server is according to preset formula to the error vector after last iterationWith the mistake after current iteration
Difference vectorIt is calculated, obtains calculated result, preset formula are as follows:
。
It is understood that the deterministic process can be set certain judgment threshold range, for example, updated error to
The mould of amount is less than default error threshold 5mm, and calculated result is calculated according to preset formulaIt is 0.000000001, calculates
As a result it is less than preset threshold value 0.00000001, it is believed that satisfaction converges on 0 condition, illustrates, updated current location is
Reach target position.
If 211, updated error vector converges on 0, stops iteration and update rotation parameter collection, if it is not, then continuing to change
In generation, updates rotation parameter collection.
If updated error vector converges on 0, server stops iterative calculation rotation parameter collection, if it is not, then continuing
Iterate to calculate rotation parameter collection, the i.e. operation of circulation progress step 201-211.
It should be noted that the skeleton chain iteration for multi-joint updates, it can be from the bone end of skeleton chain
End starts, and the rotation angle in each joint is altered in steps, and wherein skeleton chain includes root node, each middle joint point and bone
Bone end.Specifically, rotating the joint of bone end first, the current location of bone end is obtained;If bone end is current
Position does not reach the target position of bone end, then obtains a upper joint for current joint, changes a joint on current joint
Rotation angle, until the root node of skeleton chain.If the mesh of bone end has not been reached yet in the current location of bone end
Cursor position then rotates angle since the artis of bone end again, until the current location and bone end of bone end
Error vector between target position levels off to 0, stops the current location that iteration updates bone end, being simultaneously stopped iterative calculation
Rotation parameter collection.
In the embodiment of the present invention, by the way that the inverse matrix of Jacobian matrix to be replaced with to the transposition of Jacobian matrix, avoid
Jacobian matrix is likely to irreversible situation, while to update by preset offset vector and having more directionality, to optimize
It updates after, entire algorithm, computational accuracy can be simplified to further increase, and then improve the movement of bone end and rotate to
The precision of target position, also, after being further introduced into modification vector, convenient for calculating desired rotation parameter collection.
The method for carrying out attitude algorithm based on improved inverse kinematics in the embodiment of the present invention is described above,
The device for carrying out attitude algorithm based on improved inverse kinematics in the embodiment of the present invention is described below, referring to Fig. 3,
The one embodiment of device for carrying out attitude algorithm based on improved inverse kinematics in the embodiment of the present invention includes:
Acquiring unit 301, for obtaining the current location and bone end of the rotation parameter collection of preset artis, bone end
Target position, rotation parameter collection are used to indicate the rotation amount of preset artis, and bone end is according to rotation parameter collection from present bit
It sets and moves closer to target position;
Computing unit 302, for the current location and rotation parameter collection according to bone end be calculated Jacobian matrix and
The transposition of Jacobian matrix;Error vector is obtained according to the target position of the current location of bone end and bone end;
Iteration updating unit 303, for according to error vector, Jacobian matrix, the transposition of Jacobian matrix and preset offset
Vector updates the current location of bone end, and judges whether the mould of updated error vector reduces, if so, according to default
Iterative formula updates rotation parameter collection, until the number of iterations is not less than default iteration threshold or the convergence of updated error vector
When 0, stops iteration and update rotation parameter collection.
In the embodiment of the present invention, by the way that the inverse matrix of Jacobian matrix to be replaced with to the transposition of Jacobian matrix, avoid
Jacobian matrix is likely to irreversible situation, while to update by preset offset vector and having more directionality, to optimize
It updates after, entire algorithm, computational accuracy can be simplified to further increase, and then improve the movement of bone end and rotate to
The precision of target position, also, after being further introduced into modification vector, convenient for calculating desired rotation parameter collection.
Referring to Fig. 4, the another of the device of attitude algorithm is carried out in the embodiment of the present invention based on improved inverse kinematics
A embodiment,
Referring to the iteration updating unit 303 in Fig. 3 further include:
Iteration updates subelement 3031, for updating the current location of bone end, more new formula according to more new formula are as follows: and s '=
S+ α (JJTE+ β e), 0 < α < 1, wherein s ' is the current location of updated bone end, and s is the present bit of bone end
It sets, e is error vector, J is Jacobian matrix, JTFor the transposition of Jacobian matrix, β e is preset offset vector;It is arranged preset inclined
β initial value in the amount of shifting to is greater than 0, and wherein β changes numerical value with iteration, if the mould of error vector e constantly reduces, β is continuous
Increase, if the mould of error vector e increases, β takes negative value.
Subelement 3032 is iterated to calculate, for according to the current location of updated bone end and the bone end
Difference between target position obtains updated error vector.
Judgment sub-unit 3033, the error vector that mould and last iteration for judging updated error vector generate
Mould compared to whether reduce;If so, determining that the more new strategy for introducing preset offset vector β e is effective, if not, it is determined that invalid;
If it is determined that the more new strategy for introducing preset offset vector β e is effective, then rotation parameter collection is updated according to default iterative formula;It obtains
The number of iterations, and the number of iterations is carried out to add 1 to calculate, the initial value of the number of iterations is 0;It is default to judge whether the number of iterations is less than
Iteration threshold;If the number of iterations is not less than default iteration threshold, stops iteration and update rotation parameter collection;If the number of iterations is less than
Default iteration threshold, then judge whether updated error vector converges on 0;If updated error vector converges on 0, stop
Only iteration updates rotation parameter collection, if it is not, then continuing iteration updates rotation parameter collection, the i.e. behaviour of circulation progress step 201-211
Make.
Optionally, iteration updates subelement 3031 and can also be specifically used for:
According to default iterative formula be calculated each iteration for update parameter set;Default iterative formula is set are as follows: Jd θ=
JJT(e+ Δ e), d θ is parameter set of each iteration for update, then obtains d θ according to default iterative formula, wherein Δ e is to repair
Positive vector;Further, to find out Δ e, JJ is setT(e+ Δ e)=JJTE+ β e, then JJTΔe-βe=0;By JJTCarry out singular value
It decomposes, obtains JJT=UDVT, wherein U and VTThe respectively transposition of left singular matrix and right singular matrix, D are diagonal matrix;It obtains
Obtain modification vector: Δ e=VEUTβ e, wherein by DTIn nonzero value replace with the inverse of the nonzero value matrix E can be obtained;It will meter
The Δ e of calculating is inputted in default iterative formula, obtain each iteration for update parameter set: d θ=JT(I+VEUTβ) e,
In, I is unit matrix;The last parameter set according to each iteration found out for update obtains updated rotation parameter collection
θ ', then θ '=θ+d θ, wherein θ is rotation parameter collection, and d θ is parameter set of each iteration for update.
Optionally, judgment sub-unit 3033 can also be specifically used for:
Judge whether the mould of updated error vector is greater than default error threshold;
If the mould of updated error vector is greater than default error threshold, it is determined that updated error vector does not converge on 0;
If updated error vector is less than or equal to default error threshold, error vector after obtaining current iteration and upper
Error vector after an iteration, and according to preset formula to the error after the error vector and last iteration after current iteration
Vector is calculated, and calculated result is obtained;
Judge whether calculated result is less than preset threshold value;
If calculated result is more than or equal to preset threshold value, it is determined that updated error vector does not converge on 0;
If calculated result is less than preset threshold value, it is determined that updated error vector converges on 0.
Optionally, iterative calculation subelement 3032 can also be specifically used for:
According to preset formula to the error vector after last iterationWith the error vector after current iterationIt is calculated, is obtained
To calculated result, preset formula are as follows:
。
In the embodiment of the present invention, by the way that the inverse matrix of Jacobian matrix to be replaced with to the transposition of Jacobian matrix, avoid
Jacobian matrix is likely to irreversible situation, while to update by preset offset vector and having more directionality, to optimize
It updates after, entire algorithm, computational accuracy can be simplified to further increase, and then improve the movement of bone end and rotate to
The precision of target position, also, after being further introduced into modification vector, convenient for calculating desired rotation parameter collection.
Above figure 3 and Fig. 4 from the angle of modular functionality entity in the embodiment of the present invention based on improved reversed fortune
Dynamic learn carries out the device of attitude algorithm and is described in detail, below from the angle of hardware handles in the embodiment of the present invention based on changing
Into inverse kinematics carry out attitude algorithm equipment be described in detail.
Fig. 5 is a kind of knot of equipment that attitude algorithm is carried out based on improved inverse kinematics provided in an embodiment of the present invention
Structure schematic diagram, the equipment 500 can generate bigger difference because configuration or performance are different, may include one or more
Processor (central processing units, CPU) 501(is for example, one or more processors) and memory
509, such as one or more seas storage medium 508(of one or more storage application programs 507 or data 506
Amount storage equipment).Wherein, memory 509 and storage medium 508 can be of short duration storage or persistent storage.Storage is stored in be situated between
The program of matter 508 may include one or more modules (diagram does not mark), and each module may include to based on improvement
Inverse kinematics carry out attitude algorithm equipment in series of instructions operation.Further, processor 501 can be set
To communicate with storage medium 508, storage medium is executed in the equipment 500 for carrying out attitude algorithm based on improved inverse kinematics
Series of instructions operation in 508.
The equipment 500 that attitude algorithm is carried out based on improved inverse kinematics can also include one or more power supplys
502, one or more wired or wireless network interfaces 503, one or more input/output interfaces 504, and/or,
One or more operating systems 505, such as Windows Serve, Mac OS X, Unix, Linux, FreeBSD etc..
It will be understood by those skilled in the art that the device structure of attitude algorithm is carried out shown in Fig. 5 based on improved inverse kinematics
The restriction to the equipment for carrying out attitude algorithm based on improved inverse kinematics is not constituted, may include more or more than illustrating
Few component perhaps combines certain components or different component layouts.
It is apparent to those skilled in the art that for convenience and simplicity of description, the system of foregoing description,
The specific work process of device and unit, can refer to corresponding processes in the foregoing method embodiment, and details are not described herein.
In several embodiments provided by the present invention, it should be understood that disclosed system, device and method can be with
It realizes by another way.For example, the apparatus embodiments described above are merely exemplary, for example, the unit
It divides, only a kind of logical function partition, there may be another division manner in actual implementation, such as multiple units or components
It can be combined or can be integrated into another system, or some features can be ignored or not executed.Another point, it is shown or
The mutual coupling, direct-coupling or communication connection discussed can be through some interfaces, the indirect coupling of device or unit
It closes or communicates to connect, can be electrical property, mechanical or other forms.
The unit as illustrated by the separation member may or may not be physically separated, aobvious as unit
The component shown may or may not be physical unit, it can and it is in one place, or may be distributed over multiple
In network unit.It can select some or all of unit therein according to the actual needs to realize the mesh of this embodiment scheme
's.
It, can also be in addition, the functional units in various embodiments of the present invention may be integrated into one processing unit
It is that each unit physically exists alone, can also be integrated in one unit with two or more units.Above-mentioned integrated list
Member both can take the form of hardware realization, can also realize in the form of software functional units.
If the integrated unit is realized in the form of SFU software functional unit and sells or use as independent product
When, it can store in a computer readable storage medium.Based on this understanding, technical solution of the present invention is substantially
The all or part of the part that contributes to existing technology or the technical solution can be in the form of software products in other words
It embodies, which is stored in a storage medium, including some instructions are used so that a computer
Equipment (can be personal computer, server or the network equipment etc.) executes the complete of each embodiment the method for the present invention
Portion or part steps.And storage medium above-mentioned include: USB flash disk, mobile hard disk, read-only memory (read-only memory,
ROM), random access memory (random access memory, RAM), magnetic or disk etc. are various can store program
The medium of code.
The above, the above embodiments are merely illustrative of the technical solutions of the present invention, rather than its limitations;Although referring to before
Stating embodiment, invention is explained in detail, those skilled in the art should understand that: it still can be to preceding
Technical solution documented by each embodiment is stated to modify or equivalent replacement of some of the technical features;And these
It modifies or replaces, the spirit and scope for technical solution of various embodiments of the present invention that it does not separate the essence of the corresponding technical solution.
Claims (14)
1. a kind of method for carrying out attitude algorithm based on improved inverse kinematics characterized by comprising
Obtain the target position of the rotation parameter collection of preset artis, the current location of bone end and the bone end, institute
State the rotation amount that rotation parameter collection is used to indicate the preset artis, the bone end is according to the rotation parameter collection from institute
It states current location and moves closer to the target position;
According to the current location of the bone end and the rotation parameter collection be calculated Jacobian matrix and it is described it is refined can
Than the transposition of matrix;
Error vector is obtained according to the target position of the current location of the bone end and the bone end;
It is updated according to the error vector, the Jacobian matrix, the transposition of the Jacobian matrix and preset offset vector
The current location of the bone end, judges whether the mould of updated error vector reduces, if so, public according to default iteration
Formula updates the rotation parameter collection, until the number of iterations is not less than default iteration threshold or the updated error vector receipts
It holds back when 0, stops iteration and update the rotation parameter collection.
2. the method according to claim 1, wherein it is described according to the error vector, the Jacobian matrix,
The current location that the transposition of the Jacobian matrix and preset offset vector update the bone end includes:
The current location of the bone end, the more new formula are updated according to more new formula are as follows:
S '=s+ α (JJTE+ β e), 0 < α < 1, wherein s ' is the current location of updated bone end, and s is the bone
The current location of end, e is error vector, J is Jacobian matrix, JTFor the transposition of Jacobian matrix, β e is preset offsets to
Amount.
3. according to the method described in claim 2, it is characterized in that, the β initial setting in the preset offset vector is greater than
0, wherein β with iteration change numerical value, if the mould of the error vector e constantly reduces, β constantly increases, if the error to
The mould for measuring e increases, then β takes negative value.
4. according to the method in claim 2 or 3, which is characterized in that whether the mould for judging updated error vector
Reduction includes:
Updated mistake is determined according to the target position of the current location of the updated bone end and the bone end
Difference vector;
Judge whether the mould of the updated error vector reduces compared with the mould for the error vector that last iteration generates;
If so, determining that the more new strategy for introducing the preset offset vector β e is effective, if not, it is determined that invalid.
5. according to the method described in claim 4, it is characterized in that, the present bit according to the updated bone end
It sets and determines that updated error vector includes: with the target position of the bone end
According to the difference between the current location of the updated bone end and the target position of the bone end, obtain
The updated error vector.
6. according to the method described in claim 4, it is characterized in that, described if so, according to the update of default iterative formula
Rotation parameter collection stops when the number of iterations is not less than default iteration threshold or the updated error vector converges on 0
Only the iteration update rotation parameter collection includes:
If it is determined that the more new strategy for introducing the preset offset vector β e is effective, then the rotation is updated according to default iterative formula
Parameter set;
The number of iterations is obtained, and the number of iterations is carried out to add 1 to calculate, the initial value of the number of iterations is 0;
Judge whether the number of iterations is less than default iteration threshold;
If the number of iterations is not less than the default iteration threshold, stops iteration and update the rotation parameter collection;
If the number of iterations is less than the default iteration threshold, judge whether the updated error vector converges on 0;
If so, stopping iteration updating the rotation parameter collection, if it is not, then continuing iteration updates the rotation parameter collection.
7. according to the method described in claim 6, it is characterized in that, the basis, which presets iterative formula, updates the rotation parameter
Collection includes:
According to the default iterative formula be calculated each iteration for update parameter set;
Parameter set according to each iteration for update obtains updated rotation parameter collection θ ', then θ '=θ+d θ,
In, θ is the rotation parameter collection, and d θ is parameter set of each iteration for update.
8. the method according to the description of claim 7 is characterized in that described be calculated every time according to the default iterative formula
Iteration for update parameter set include:
The default iterative formula: Jd θ=JJ is setT(e+ Δ e), then according to the default iterative formula obtain it is described every time repeatedly
The alternative parameter set in update, wherein Δ e is modification vector.
9. according to the method described in claim 8, it is characterized in that, the setting default iterative formula: Jd θ=JJT(e+
Δ e), then according to the default iterative formula obtain each iteration for update parameter set, wherein Δ e be correct to
Amount includes:
JJ is setT(e+ Δ e)=JJTE+ β e, then JJTΔe-βe=0;
By JJTSingular value decomposition is carried out, JJ is obtainedT=UDVT, wherein U and VTRespectively turn of left singular matrix and right singular matrix
It sets, D is diagonal matrix;
Obtain the modification vector: Δ e=VEUTβ e, wherein by DTIn nonzero value replace with the inverse of the nonzero value and obtain
Matrix E;
The Δ e is inputted in the default iterative formula, obtain each iteration for update parameter set: d θ=JT(I+
VEUTβ) e, wherein I is unit matrix.
10. according to the method described in claim 6, it is characterized in that, described judge whether the updated error vector is received
It holds back and includes: in 0
Judge whether the mould of the updated error vector is greater than default error threshold;
If so, determining that the updated error vector does not converge on 0;
If it is not, then obtaining the error vector after current iteration and the error vector after last iteration, and according to preset formula pair
The error vector after error vector and the last iteration after the current iteration is calculated, and calculated result is obtained;
Judge whether the calculated result is less than preset threshold value;
If so, determining that the updated error vector converges on 0;
If not, it is determined that the updated error vector does not converge on 0.
11. according to the method described in claim 10, it is characterized in that, it is described according to preset formula to the current iteration after
Error vector after error vector and the last iteration is calculated, and obtaining calculated result includes:
According to preset formula to the error vector after the last iterationWith the error vector after the current iterationIt carries out
It calculates, obtains calculated result, the preset formula are as follows:
。
12. a kind of device for carrying out attitude algorithm based on improved inverse kinematics characterized by comprising
Acquiring unit, for obtaining the rotation parameter collection of preset artis, the current location and the bone end of bone end
Target position, the rotation parameter collection is used to indicate the rotation amount of the preset artis, and the bone end is according to
Rotation parameter collection moves closer to the target position from the current location;
Computing unit, for Jacobian matrix to be calculated according to the current location and the rotation parameter collection of the bone end
And the transposition of the Jacobian matrix;It is obtained according to the target position of the current location of the bone end and the bone end
To error vector;
Iteration updating unit, for according to the error vector, the Jacobian matrix, the Jacobian matrix transposition and
Preset offset vector updates the current location of the bone end, judges whether the mould of updated error vector reduces, if so,
Then update the rotation parameter collection according to presetting iterative formula, until the number of iterations be not less than default iteration threshold or it is described more
When error vector after new converges on 0, stops iteration and update the rotation parameter collection.
13. a kind of equipment for carrying out attitude algorithm based on improved inverse kinematics characterized by comprising memory and place
Device is managed, instruction, the memory and the processor are stored in the memory and is interconnected by route;
The processor calls the described instruction in the memory, so that the equipment is executed as appointed in claim 1-11
Method described in meaning one.
14. a kind of computer readable storage medium, is stored thereon with computer program, it is characterised in that: the computer program
It is realized when being executed by processor such as the step of any one of claim 1-11 the method.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911033145.0A CN110531866B (en) | 2019-10-29 | 2019-10-29 | Method for performing attitude calculation based on improved inverse kinematics and related equipment |
PCT/CN2020/117614 WO2021082827A1 (en) | 2019-10-29 | 2020-09-25 | Posture calculation method employing improved inverse kinematics, and related apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911033145.0A CN110531866B (en) | 2019-10-29 | 2019-10-29 | Method for performing attitude calculation based on improved inverse kinematics and related equipment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110531866A true CN110531866A (en) | 2019-12-03 |
CN110531866B CN110531866B (en) | 2020-03-13 |
Family
ID=68672118
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911033145.0A Active CN110531866B (en) | 2019-10-29 | 2019-10-29 | Method for performing attitude calculation based on improved inverse kinematics and related equipment |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN110531866B (en) |
WO (1) | WO2021082827A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111539300A (en) * | 2020-04-20 | 2020-08-14 | 上海曼恒数字技术股份有限公司 | Human motion capture method, device, medium and equipment based on IK algorithm |
CN111571586A (en) * | 2020-05-07 | 2020-08-25 | 江苏原力数字科技股份有限公司 | Dynamic constraint method for inverse dynamics freedom degree |
CN111583366A (en) * | 2020-05-07 | 2020-08-25 | 江苏原力数字科技股份有限公司 | Rapid reverse dynamics angle hard constraint method |
CN112200893A (en) * | 2020-12-10 | 2021-01-08 | 成都完美时空网络技术有限公司 | Animation generation method, device and equipment for virtual article and storage medium |
WO2021082827A1 (en) * | 2019-10-29 | 2021-05-06 | 深圳市瑞立视多媒体科技有限公司 | Posture calculation method employing improved inverse kinematics, and related apparatus |
CN114147714A (en) * | 2021-12-02 | 2022-03-08 | 浙江机电职业技术学院 | Autonomous robot mechanical arm control parameter calculation method and system |
CN117542123A (en) * | 2024-01-09 | 2024-02-09 | 轻威科技(绍兴)有限公司 | Human skeleton resolving method and system based on sparse 6 nodes |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101390351A (en) * | 2004-11-15 | 2009-03-18 | 高通股份有限公司 | Eigenvalue decomposition and singular value decomposition of matrices using jacobi rotation |
CN101842755A (en) * | 2007-08-28 | 2010-09-22 | 萨里大学 | Inverse kinematics |
CN101927495A (en) * | 2010-08-25 | 2010-12-29 | 中山大学 | Repetitive motion planning method for redundant manipulator |
CN102426709A (en) * | 2011-08-19 | 2012-04-25 | 北京航空航天大学 | Real-time motion synthesis method based on fast inverse kinematics |
US20160335790A1 (en) * | 2015-05-13 | 2016-11-17 | Intel Corporation | Iterative closest point technique based on a solution of inverse kinematics problem |
CN106844985A (en) * | 2017-02-06 | 2017-06-13 | 中国科学院计算技术研究所 | The fast solution method and system of a kind of high-freedom degree Robotic inverse kinematics |
CN107030698A (en) * | 2017-05-09 | 2017-08-11 | 中国科学院计算技术研究所 | The inverse kinematics system of robot |
CN108876815A (en) * | 2018-04-28 | 2018-11-23 | 深圳市瑞立视多媒体科技有限公司 | Bone computation method for attitude, personage's dummy model driving method and storage medium |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107972030B (en) * | 2017-11-10 | 2020-07-07 | 浙江科技学院 | Initial position correction method in redundant mechanical arm repeated movement |
CN110531866B (en) * | 2019-10-29 | 2020-03-13 | 深圳市瑞立视多媒体科技有限公司 | Method for performing attitude calculation based on improved inverse kinematics and related equipment |
-
2019
- 2019-10-29 CN CN201911033145.0A patent/CN110531866B/en active Active
-
2020
- 2020-09-25 WO PCT/CN2020/117614 patent/WO2021082827A1/en active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101390351A (en) * | 2004-11-15 | 2009-03-18 | 高通股份有限公司 | Eigenvalue decomposition and singular value decomposition of matrices using jacobi rotation |
CN101842755A (en) * | 2007-08-28 | 2010-09-22 | 萨里大学 | Inverse kinematics |
CN101927495A (en) * | 2010-08-25 | 2010-12-29 | 中山大学 | Repetitive motion planning method for redundant manipulator |
CN102426709A (en) * | 2011-08-19 | 2012-04-25 | 北京航空航天大学 | Real-time motion synthesis method based on fast inverse kinematics |
US20160335790A1 (en) * | 2015-05-13 | 2016-11-17 | Intel Corporation | Iterative closest point technique based on a solution of inverse kinematics problem |
CN106844985A (en) * | 2017-02-06 | 2017-06-13 | 中国科学院计算技术研究所 | The fast solution method and system of a kind of high-freedom degree Robotic inverse kinematics |
CN107030698A (en) * | 2017-05-09 | 2017-08-11 | 中国科学院计算技术研究所 | The inverse kinematics system of robot |
CN108876815A (en) * | 2018-04-28 | 2018-11-23 | 深圳市瑞立视多媒体科技有限公司 | Bone computation method for attitude, personage's dummy model driving method and storage medium |
Non-Patent Citations (3)
Title |
---|
ANDREAS ARISTIDOU等: "FABRIK: A fast, iterative solver for the Inverse Kinematics problem", 《GRAPHICAL MODELS》 * |
HAO WANG等: "Accuracy estimation of a stretch-retractable", 《 INDUSTRIAL ROBOT》 * |
郭彬: "基于运动捕获的角色运动合成研究与实现", 《中国优秀硕士学位论文全文数据库(信息科技辑)》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021082827A1 (en) * | 2019-10-29 | 2021-05-06 | 深圳市瑞立视多媒体科技有限公司 | Posture calculation method employing improved inverse kinematics, and related apparatus |
CN111539300A (en) * | 2020-04-20 | 2020-08-14 | 上海曼恒数字技术股份有限公司 | Human motion capture method, device, medium and equipment based on IK algorithm |
CN111571586A (en) * | 2020-05-07 | 2020-08-25 | 江苏原力数字科技股份有限公司 | Dynamic constraint method for inverse dynamics freedom degree |
CN111583366A (en) * | 2020-05-07 | 2020-08-25 | 江苏原力数字科技股份有限公司 | Rapid reverse dynamics angle hard constraint method |
CN112200893A (en) * | 2020-12-10 | 2021-01-08 | 成都完美时空网络技术有限公司 | Animation generation method, device and equipment for virtual article and storage medium |
WO2022121463A1 (en) * | 2020-12-10 | 2022-06-16 | 成都完美时空网络技术有限公司 | Animation generation method and apparatus for action of using virtual item in game, and device |
CN114147714A (en) * | 2021-12-02 | 2022-03-08 | 浙江机电职业技术学院 | Autonomous robot mechanical arm control parameter calculation method and system |
CN114147714B (en) * | 2021-12-02 | 2023-06-09 | 浙江机电职业技术学院 | Method and system for calculating control parameters of mechanical arm of autonomous robot |
CN117542123A (en) * | 2024-01-09 | 2024-02-09 | 轻威科技(绍兴)有限公司 | Human skeleton resolving method and system based on sparse 6 nodes |
CN117542123B (en) * | 2024-01-09 | 2024-04-26 | 轻威科技(绍兴)有限公司 | Human skeleton resolving method and system based on sparse 6 nodes |
Also Published As
Publication number | Publication date |
---|---|
WO2021082827A1 (en) | 2021-05-06 |
CN110531866B (en) | 2020-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110531866A (en) | The method and relevant device of attitude algorithm are carried out based on improved inverse kinematics | |
Pineau et al. | Point-based value iteration: An anytime algorithm for POMDPs | |
CN113554736B (en) | Skeleton animation vertex correction method and model learning method, device and equipment | |
CN107457780B (en) | Method and device for controlling mechanical arm movement, storage medium and terminal equipment | |
WO2007076119A2 (en) | Reconstruction, retargetting, tracking, and estimation of pose of articulated systems | |
Nemec et al. | Door opening by joining reinforcement learning and intelligent control | |
CN106681343B (en) | A kind of spacecraft attitude tracking low complex degree default capabilities control method | |
CN104834809B (en) | Based on the seven freedom mechanical arm inverse kinematics method for solving of artificial bee colony search | |
CN114237041B (en) | Space-ground cooperative fixed time fault tolerance control method based on preset performance | |
CN108255058A (en) | Service robot inverse kinematics method and apparatus under intelligent space | |
JP2023524252A (en) | Generative nonlinear human shape model | |
CN108393886A (en) | Optimization energy cooperates with method for carrying with the distributed multiple mobile manipulators of operational readiness | |
CN112947086B (en) | Self-adaptive compensation method for actuator faults in formation control of heterogeneous multi-agent system consisting of unmanned aerial vehicle and unmanned vehicle | |
CN107529498A (en) | A kind of method that robot for space arrests noncooperative target | |
CN115690267B (en) | Animation processing method, device, equipment, storage medium and product | |
Yu et al. | A robotic auto-focus system based on deep reinforcement learning | |
Naderi et al. | Learning physically based humanoid climbing movements | |
Chen et al. | [Retracted] Design and Research of the AI Badminton Model Based on the Deep Learning Neural Network | |
Pantrigo et al. | Combining particle filter and population-based metaheuristics for visual articulated motion tracking | |
CN112836617B (en) | IPSO-BPNN-based long-term human body lower limb movement prediction method | |
Ayusawa et al. | Fast inverse kinematics based on pseudo-forward dynamics computation: application to musculoskeletal inverse kinematics | |
CN112530000B (en) | Method for reproducing movement of virtual arm under task constraint | |
TWI534739B (en) | Method for reconstructing occluded skeletons | |
Reinhart et al. | Efficient policy search with a parameterized skill memory | |
WO2021004507A1 (en) | Method and apparatus for controlling virtual character |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |