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 PDF

Info

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
Application number
CN201911033145.0A
Other languages
Chinese (zh)
Other versions
CN110531866B (en
Inventor
杭建伟
许秋子
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Ruili Visual Multimedia Technology Co Ltd
Shenzhen Realis Multimedia Technology Co Ltd
Original Assignee
Shenzhen Ruili Visual Multimedia Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Ruili Visual Multimedia Technology Co Ltd filed Critical Shenzhen Ruili Visual Multimedia Technology Co Ltd
Priority to CN201911033145.0A priority Critical patent/CN110531866B/en
Publication of CN110531866A publication Critical patent/CN110531866A/en
Application granted granted Critical
Publication of CN110531866B publication Critical patent/CN110531866B/en
Priority to PCT/CN2020/117614 priority patent/WO2021082827A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; 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

The method and relevant device of attitude algorithm are carried out based on improved inverse kinematics
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.
CN201911033145.0A 2019-10-29 2019-10-29 Method for performing attitude calculation based on improved inverse kinematics and related equipment Active CN110531866B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (8)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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