CN107553496A - The determination of mechanical arm inverse kinematics method error and bearing calibration and device - Google Patents
The determination of mechanical arm inverse kinematics method error and bearing calibration and device Download PDFInfo
- Publication number
- CN107553496A CN107553496A CN201710904721.9A CN201710904721A CN107553496A CN 107553496 A CN107553496 A CN 107553496A CN 201710904721 A CN201710904721 A CN 201710904721A CN 107553496 A CN107553496 A CN 107553496A
- Authority
- CN
- China
- Prior art keywords
- error
- joint variable
- inverse kinematics
- data
- inverse
- 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
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
Abstract
A kind of determination of mechanical arm inverse kinematics method error and bearing calibration and device, wherein, this method includes:Error solution is carried out to inverse kinematics method to be detected, obtains the result of error solution, and the result solved according to error establishes error model;Obtain the moving target data of object;According to moving target data, the computation of inverse- kinematics is carried out according to inverse kinematics method to be detected, obtains joint variable data;According to joint variable data, solved by error, determine the error current of inverse kinematics method to be detected;According to error current, using error model, joint variable data are corrected.Because the program before operation by establishing error model, solved during operation by error and determine error current, and carry out corresponding Data correction using error model, thus solve in existing method can not real-time online determine inverse kinematics method error, can not correction data error in time technical problem.
Description
Technical field
The present invention relates to manipulator motion control technology field, more particularly to a kind of mechanical arm inverse kinematics method
The determination and bearing calibration of error and device.
Background technology
In manipulator motion control technology field, it is often necessary to by carry out positive kinematics solution, inverse kinematics with
Specific mapping relations between the working space of mechanical arm and joint space are determined, and then establish out accurate mechanical arm
Motion of the kinematics model to mechanical arm is specifically controlled.
Above-mentioned positive kinematics solve each joint variable that can generally include according to mechanical arm, are solved using positive kinematics
Method, calculate position and the attitude information of the end effector for determining mechanical arm;Above-mentioned inverse kinematics can generally include
According to the position of the end effector of mechanical arm and attitude information, using inverse kinematics method, calculate and determine mechanical arm
Each joint variable.When it is implemented, the method for solving used is different, obtained resultant error is also variant.In order to more
Add the motion for being accurately controlled mechanical arm, it is necessary to the error of used method for solving be accurately determined out, so as to timely
It is modified, adjusts.Wherein, can be more smart because the determination process of positive kinematics method for solving error is relatively simple
Determine specific positive kinematics method for solving error in true ground.But the solution of inverse kinematics method error, due to asking
How accurately solution preocess is relatively more complicated, and amount of calculation is relatively large, efficiently and in real time determine inverse kinematics method
The problem of error is always this area concern.
At present, it is contemplated that determine that the process of inverse kinematics method error is complex, in order to determine the inverse fortune of mechanical arm
It is dynamic to learn method for solving error, it is to be solved by way of verifying in advance mostly.I.e. in mechanical arm carrying out practically or had
Before body simulation, the Arithmetic of inverse kinematics error of correlation is solved in advance, and in mechanical arm carrying out practically or mould can not be carried out
During plan, caused error in the inverse kinematics method running of mechanical arm is specifically determined in real time, led
The error condition that technical staff is caused when can not obtain specific implementation online, influences the modifications and adaptations subsequently to mechanical arm control.
In summary, existing method is when it is implemented, inverse kinematics method error, nothing can not be determined in real time, online by often existing
The technical problem of the timely on-line correction data error of method.
In view of the above-mentioned problems, not yet propose effective solution at present.
The content of the invention
The application embodiment provide a kind of mechanical arm inverse kinematics method error determination and bearing calibration and
Device, with solve to have present in method can not real-time online determine inverse kinematics method error, can not timely correction number
According to the technical problem of error.
The application embodiment provides a kind of determination and bearing calibration of mechanical arm inverse kinematics method error, bag
Include:
Error solution is carried out to inverse kinematics method to be detected, obtains the result of error solution, and according to described
The result that error solves establishes error model;
Obtain the moving target data of object;
According to the moving target data, inverse kinematics meter is carried out according to the inverse kinematics method to be detected
Calculate, obtain joint variable data;
According to the joint variable data, solved by error, determine the current of inverse kinematics method to be detected
Error;
According to the error current, the joint variable data are corrected using the error model.
In one embodiment, it is described to inverse kinematics method progress error solution to be detected, including:
Obtain random number seed, configuration data;
According to the random number seed, multiple random number arrays are determined, and using the multiple random number array as multiple
First joint variable;
Positive kinematics calculating is carried out to the multiple first joint variable, obtains position and the posture of multiple end effectors
Information;
Using the inverse kinematics method to be detected, position and attitude information to the multiple end effector
The computation of inverse- kinematics is carried out, obtains multiple second joint variables;
According to the configuration data, the multiple first joint variable, the multiple second joint variable, the mistake is determined
The result that difference solves.
In one embodiment, closed according to the configuration data, the multiple first joint variable, the multiple second
Variable is saved, determines the result that the error solves, including:
The sum of the total and the multiple second joint variable of more the multiple first joint variable, obtains the first ratio
Relatively result, inverse kinematics success rate is determined according to first comparative result;
Compare the first joint variable value and corresponding second joint variate-value, obtain the second comparative result, according to described
Two comparative results determine the inverse kinematics error of joint variable;
According to the configuration data, by the inverse kinematics success rate, and/or, the inverse motion of the joint variable
Learn and solve the result that error solves as the error.
In one embodiment, the object includes at least one of:Mechanical arm, mobile chassis.
In one embodiment, according to the moving target data, according to the inverse kinematics side to be detected
Method carries out the computation of inverse- kinematics, obtains joint variable data, including:
According to the moving target data, first position and the attitude information of the end effector of object are generated;
According to the inverse kinematics method to be detected to the first position of the end effector of the object and
Attitude information carries out the computation of inverse- kinematics, obtains multiple 3rd joint variables, and using the multiple 3rd joint variable as institute
State joint variable data.
In one embodiment, according to the joint variable data, solved by error, determine inverse motion to be detected
The error current of method for solving is learned, including:
To the joint variable data carry out positive kinematics calculating, obtain object end effector the second place and
Attitude information;
The first position and attitude information for comparing the end effector of the object are held with the end of corresponding object
The second place of row device and attitude information, the 3rd comparative result is obtained, and currently missed using the 3rd comparative result as described
Difference.
In one embodiment, according to the error current, using the error model, to the joint variable data
It is corrected, including:
Determine whether the error current is more than error tolerances;
In the case where the error current is more than the error tolerances, by the error model, worked as according to described
Preceding error, determines error compensation amount;
Corresponding 3rd joint variable in the joint variable data is corrected using the error compensation amount, obtained
Joint variable data after correction.
In one embodiment, after the joint variable data after being corrected, methods described also includes:To the school
Joint variable data after just carry out error solution, to determine the error current after correcting, and determine current after the correction
Whether error is more than the error tolerances.
In one embodiment, methods described also includes:
In the case where the error current is less than or equal to the error tolerances, using the model of object according to
Joint variable data carry out the motion planning of object, wherein, the model of the object is ROS models.
The application embodiment further provides a kind of determination of mechanical arm inverse kinematics method error and means for correcting,
Including:
Module is established, for carrying out error solution to inverse kinematics method to be detected, obtains the knot of error solution
Fruit, and the result solved according to the error establishes error model;
Acquisition module, for obtaining the moving target data of object;
Computing module, for according to the moving target data, entering according to the inverse kinematics method to be detected
Row the computation of inverse- kinematics, obtain joint variable data;
Determining module, for according to the joint variable data, being solved by error, determining that inverse kinematics to be detected is asked
The error current of solution method;
Correction module, for according to the error current, using the error model, being carried out to the joint variable data
Correction.
In the application embodiment, by carrying out error solution before operation, and error model is established according to solving result;
By carrying out error solution during operation, to determine the error current in running, and worked as using error model according to above-mentioned
Preceding error carries out Data correction, thus solve present in existing method can not real-time online determine inverse kinematics method
Error, can not correction data error in time technical problem, inverse kinematics method can in real time, efficiently be determined by reaching
Error, and the technique effect of Data correction corresponding to progress in time.
Brief description of the drawings
Below by a manner of clearly understandable, preferred embodiment is described with reference to the drawings, to the inverse fortune of mechanical arm of the present invention
The dynamic determination for learning method for solving error and above-mentioned characteristic, technical characteristic, advantage and its implementation of bearing calibration and device are given
To further illustrate.
Fig. 1 is determination and the correction side of the mechanical arm inverse kinematics method error provided according to the application embodiment
The process chart of method;
Fig. 2 is determination and the correction dress of the mechanical arm inverse kinematics method error provided according to the application embodiment
The composition structure chart put;
Fig. 3 is determination and the correction side of the mechanical arm inverse kinematics method error provided based on the application embodiment
The electronic equipment composition structure chart of method;
Fig. 4 is to provide mechanical arm inverse kinematics method error according to the application embodiment in a Sample Scenario
Determination and bearing calibration and device design implementation structural representation;
Fig. 5 is to provide mechanical arm inverse kinematics method error using the application embodiment in a Sample Scenario
Determination and bearing calibration and device carry out the schematic flow sheet of complete error solution, correction and motion planning;
Fig. 6 is to provide mechanical arm inverse kinematics method error using the application embodiment in a Sample Scenario
Determination and bearing calibration and device carry out the schematic flow sheet of specific error solution;
Fig. 7 is to provide mechanical arm inverse kinematics method error using the application embodiment in a Sample Scenario
Determination and bearing calibration and device carry out the schematic flow sheet of specific error solution and error correction;
Fig. 8 is to provide mechanical arm inverse kinematics method error using the application embodiment in a Sample Scenario
Determination and bearing calibration and device carry out the schematic flow sheet of specific motion planning.
Embodiment
In order that those skilled in the art more fully understand the technical scheme in the application, it is real below in conjunction with the application
The accompanying drawing in example is applied, the technical scheme in the embodiment of the present application is clearly and completely described, it is clear that described implementation
Example only some embodiments of the present application, rather than whole embodiments.It is common based on the embodiment in the application, this area
The every other embodiment that technical staff is obtained under the premise of creative work is not made, it should all belong to the application protection
Scope.
In view of the determination method of existing mechanical arm inverse kinematics method error, due to inverse kinematics method
The determination process of error itself is comparatively laborious, often can only be by way of priori, to used inverse before specific implementation
Kinematics solution method error is predefined.Therefore, it is impossible to determine online in mechanical arm specific implementation or simulation process
Error condition, more can not in specific implementation or simulation process for occur error timely be corrected.I.e. existing side
Method, can not on-line correction number in time when it is implemented, inverse kinematics method error can not be determined in real time, online by often existing
According to the technical problem of error.Basic reason for producing above-mentioned technical problem, the application consider that elder generation can be passed through existing
On the basis of the mode tested determines error, the data for determining to ask for using error before operation first establish an error model;Having
During running body, introduce another online error solution and determine error current, and inverse motion is asked using above-mentioned error model
The joint variable data that solution obtains are corrected in time, so as to solve present in existing method can not real-time online determine it is inverse
Kinematics solution method error, can not correction data error in time technical problem;Reached can in real time, efficiently determine it is inverse
Kinematics solution method error, and the technique effect of Data correction corresponding to progress in time.
Based on above-mentioned thinking thinking, the application embodiment provides a kind of mechanical arm inverse kinematics method error
It is determined that and bearing calibration.The mechanical arm inverse kinematics method provided according to the application embodiment shown in Fig. 1 is provided
The process chart of determination and the bearing calibration of error.The mechanical arm inverse kinematics method that the application embodiment provides is missed
The determination and bearing calibration of difference, when it is implemented, may comprise steps of.
S11:Error solution is carried out to inverse kinematics method to be detected, obtains the result of error solution, and according to
The result that the error solves establishes error model.
In the present embodiment, above-mentioned inverse kinematics method to be detected specifically can be used for mechanical arm or its
His object, such as the equipment such as mobile chassis, carry out used specific method for solving during the computation of inverse- kinematics solution.Its
In, above-mentioned inverse kinematics method can specifically include:Geometric method, algebraic approach, analytic method, Intelligent Composite algorithm etc..Certainly,
Above-mentioned cited several method for solving are intended merely to that present embodiment is better described.When it is implemented, can also be according to tool
Body situation and service requirement, selection use other method for solving in addition to the above-mentioned method enumerated.On the other hand, the application does not limit
It is fixed.
In the present embodiment, it is also necessary to supplement, when it is implemented, the mechanical arm that can be provided according to the application is inverse
The determination method of kinematics solution method error is determined to the specific error of one or more of inverse kinematics methods, and
Corrected accordingly according to the result data that identified error obtains to corresponding inverse kinematics method;Can also be right
The specific error of a variety of inverse kinematics methods is determined, according to different inverse kinematics method errors, with reference to tool
Body situation, select suitable inverse kinematics method.
In one embodiment, inverse kinematics method to be detected can be carried out before operation during specific implementation
Advance error checking (i.e. error solves), in this way, the error model that can subsequently use for reference can be established relatively accurately.
When it is implemented, above-mentioned carry out error solution to inverse kinematics method to be detected, the result of error solution is obtained, can be with
Including herein below:
S1:Obtain random number seed, configuration data;
S2:According to the random number seed, multiple random number arrays are determined, and using the multiple random number array as more
Individual first joint variable;
S3:To the multiple first joint variable carry out positive kinematics calculating, obtain multiple end effectors position and
Attitude information;
S4:Using the inverse kinematics method to be detected, position and posture to the multiple end effector
Information carries out the computation of inverse- kinematics, obtains multiple second joint variables;
S5:According to the configuration data, the multiple first joint variable, the multiple second joint variable, institute is determined
State the result of error solution.
In one embodiment, the configuration data can specifically include at least one of:Number is solved (to solve
Cycle-index), the result type etc. that solves of error to be obtained.Wherein, the result type that the error solves specifically can be with
Including:Inverse kinematics success rate, the inverse kinematics error of joint variable, repetitive positioning accuracy error etc..On also,
Configuration data is stated when it is implemented, being inputted by user or being specified.In this way, when it is implemented, can according to the specific requirement of user,
The first solution procedure is regulated and controled accordingly by the particular content for the configuration data for being inputted or being specified by user, to be expired
The result that the error that sufficient client needs solves.So as to reach according to specific user requirement, performance, neatly customize
Corresponding first solution procedure, and the result for meeting that the error of specific requirement solves is obtained, it is convenient for users to use, improve
User experience.
In the present embodiment, above-mentioned random number seed according to system time when it is implemented, can determine.Specifically,
It can be used system time as random number seed.And then can according to random number seed, using nonce generation function,
Generate multiple random number arrays., wherein it is desired to explanation, the total and joint of object to be studied of above-mentioned random number array
The group number of variable is identical.I.e., it is possible to think that each random number array corresponds to a joint variable data.Therefore, it is specific real
Shi Shi, to carry out positive kinematics calculating, it can be obtained multiple using above-mentioned multiple random number arrays as multiple first joint variables
The position of end effector and attitude information.
In the present embodiment, in order to carry out error solution to inverse kinematics method to be detected, during specific implementation
The position for the multiple end effectors that first positive kinematics can be calculated and attitude information are gone out as input data with inverse
Corresponding multiple second joint variables, subsequently to compare the second obtained variable with the first variable, to determine to have
The error condition of body.
In one embodiment, in order to obtaining satisfactory result data, above-mentioned basis by way of priori
The configuration data, the multiple first joint variable, the multiple second joint variable, determine the knot that the error solves
Fruit, when it is implemented, herein below can be included:
S5-1:The sum of the total and the multiple second joint variable of more the multiple first joint variable, is obtained
First comparative result, inverse kinematics success rate is determined according to first comparative result;
S5-2:Compare the first joint variable value and corresponding second joint variate-value, obtain the second comparative result, according to institute
State the inverse kinematics error that the second comparative result determines joint variable;
S5-3:According to the configuration data, by the inverse kinematics success rate, and/or, the joint variable it is inverse
The result that kinematics solution error solves as the error.
In one embodiment, asked when it is implemented, inverse kinematics to be detected can be cleared out according to below equation
The inverse kinematics success rate of solution method:
R=(N/M) × 100%
In above formula, R is specifically as follows inverse kinematics success rate, and N is specifically as follows the total of multiple first joint variables
Number, M are specifically as follows the sum of multiple second joint variables.Wherein, because inverse kinematics method to be detected is specifically asked
Error is there may be during solution, when solving second joint variable, may there is position and appearance according to portion distal end actuator
State information can not smoothly determine corresponding to second joint variable situation.Therefore, multiple second joint variables sum often
Less than or equal to the sum of multiple first joint variables.
In one embodiment, in order to relatively accurately determine the inverse kinematics error of above-mentioned joint variable,
Each second joint variable and the first joint variable corresponding with the second joint variable it can be compared respectively during specific implementation
Compared with to determine the inverse kinematics error of each joint variable.
In the present embodiment, when it is implemented, the configuration data that can be inputted or specify according to user, is solved to error
The result data that process is regulated and controled or obtained to solution arranges.For example, the solution number in configuration data is 4, then
It can carry out 4 errors according to the information in configuration data according to above-mentioned solution mode and solve, and 4 times are solved obtained phase
Pass data (including:Inverse kinematics success rate, inverse kinematics error of joint variable etc.) arranged, obtain user
The result data of customization.Further for example, the data type in configuration data is inverse kinematics success rate, then can be according to configuration
Customization requirement in data, only inverse kinematics success rate is carried out to arrange the result solved as above-mentioned error.
In the present embodiment, the error model of user's requirement is met in order to establish, can be according to configuration during specific implementation
Information in data, the customization requirement of user is determined, and then required according to the customization of user, the knot solved using above-mentioned error
Fruit, establish corresponding error model.Wherein, above-mentioned error model can specifically include the error model of multiple types, for example, can
Be for some joint variable inverse kinematics error error model or for inverse kinematics into
The error model of power, it can also be the error model for repeatable accuracy error.When it is implemented, above-mentioned specific error mould
The configuration information that type can be inputted or specified according to user specifically determines.
S12:Obtain the moving target data of object.
In one embodiment, the object can be specifically but not limited at least one of following:Mechanical arm,
Mobile chassis etc..Wherein, above-mentioned mechanical arm can be specifically series connection mechanical arm.Above-mentioned series connection mechanical arm, is called articulated mechanical arm,
It is a kind of robot device with multiple joint variables.Certainly, it is necessary to which explanation, above-mentioned cited object are simply
It is better described present embodiment.When it is implemented, as the case may be, above-mentioned object can also be that other need to apply
To the device of inverse kinematics method.
In the present embodiment, above-mentioned moving target data can be specifically that requirement control targe thing completes some specified fortune
The related data of moving-target action.For example, object is mechanical arm, above-mentioned moving target data can be specifically the above-mentioned machine of control
Tool arm completes the related data from specified location crawl part action;Accordingly, according to the related moving target of the moving target
Data can be specifically position and the attitude information for each end effector for specifically being completed above-mentioned target action mechanical arm
Delta data.
In the present embodiment, the moving target data of above-mentioned acquisition object can be specifically that user passes through keyboard, mouse
The equipment such as mark input director data corresponding with the moving target;Can also be the target action specified by visual grasping,
And according to the target action captured, moving target data corresponding to generation.
S13:According to the moving target data, inverse kinematics is carried out according to the inverse kinematics method to be detected
Calculate, obtain joint variable data.
In one embodiment, for the ease of can subsequently determine the inverse kinematics method in carrying out practically situation
Correlated error, when it is implemented, can will above-mentioned moving target data substitute into target model in specifically be run, with
The joint variable data under true running situation are obtained, subsequently specifically to analyze, to compare:
S1:According to the moving target data, first position and the attitude information of the end effector of object are generated;
S2:First position according to the inverse kinematics method to be detected to the end effector of the object
Carry out the computation of inverse- kinematics with attitude information, obtain multiple 3rd joint variables, and using the multiple 3rd joint variable as
The joint variable data.
S14:According to the joint variable data, solved by error, determine inverse kinematics method to be detected
Error current.
In the present embodiment, check in real time in order to realize during operation and calculate inverse motion to be detected
Learn method for solving error, can in the following manner, in the case where taking into account data processing amount and complex disposal process degree,
Introduce error to solve, to determine the error current of inverse kinematics method to be detected online in real time:
S1:Positive kinematics calculating is carried out to the joint variable data, obtains the second of the end effector of object
Put and attitude information;
S2:Compare the first position of the end effector of the object and the end of attitude information and corresponding object
The second place of actuator and attitude information, the 3rd comparative result is obtained, and using the 3rd comparative result as described current
Error.
In the present embodiment, the joint variable data above by inverse kinematics method acquisition to be detected are made
For input data, positive kinematics calculating is carried out, the second place and the posture of the end effector of corresponding object can be obtained
Information;And then can be by the second place of the end effector of the object of acquisition and attitude information with carrying out the computation of inverse- kinematics
The first position of the end effector of object before and attitude information are compared, and inverse motion is determined according to difference condition
The Real-time Error in the detailed process solved is learned, as above-mentioned error current.That is, error current may be considered using to be detected
Inverse kinematics method carrying out practically when obtain Real-time Error.
In the present embodiment, the first position of the end effector of the above-mentioned object and attitude information with it is right
The second place of the end effector for the object answered and attitude information, the 3rd comparative result is obtained, when it is implemented, can wrap
Include herein below:Determine that the first position of the end effector of object and the end of the sum of attitude information and object perform
The second place of device and the total difference of attitude information;And/or the it is determined that second place of the end effector of each object
With the numerical value of attitude information and the first position of the end effector of corresponding object and the difference of the numerical value of attitude information;
And/or record determines to determine that the first position of the end effector of object and attitude information, the end of object perform respectively
Specific time used in the second place of device and attitude information, and analysis time difference etc..
In one embodiment, while target exercise data is obtained, monitoring instruction can also be obtained, wherein, institute
Monitoring instruction is stated to be used to indicate the specific data type or data volume to be detected in error current.For example, when it is implemented,
It can be indicated according to monitoring, only by the first position of the end effector of object and the end of the sum and object of attitude information
The second place of end actuator and the total difference of attitude information are as error current.Above-mentioned monitoring instruction specifically can by with
Family requires voluntarily to determine with implementation as the case may be, to realize that customization of the user to above-mentioned error current obtains.
S15:According to the error current, the joint variable data are corrected using the error model.
In one embodiment, in order to according to determined by error current, in carrying out practically data carry out and
When, effective correction, it is above-mentioned according to the error current, school is carried out to the joint variable data using the error model
Just, when it is implemented, herein below can be included:
S1:Determine whether the error current is more than error tolerances;
S2:In the case where the error current is more than the error tolerances, by the error model, according to described
Error current, determine error compensation amount;
S3:Corresponding 3rd joint variable in the joint variable data is corrected using the error compensation amount,
Joint variable data after being corrected.
When in one embodiment, in order to accurately evaluate inverse kinematics method specific implementation to be detected
Whether reliable, within the acceptable range whether, present embodiment also introduces error tolerances to caused error, to judge
Whether inverse kinematics method error to be detected belongs to tolerance interval.Wherein, above-mentioned error tolerances specifically can root
According to concrete condition, design requirement is specifically produced, is voluntarily set as needed by user.Certainly, in the present embodiment, also may be used
With the error tolerances for several conventional parameters being provided in advance and correspondingly numerical value is given tacit consent to the most, select to use for user, to improve
The Experience Degree of user.
In the embodiment of the present application, compared to prior art, tied by first carrying out error solution before operation, and according to solving
Fruit establishes error model;By carrying out error solution during operation, to determine the error current in running, and error is utilized
Model carries out Data correction according to above-mentioned error current, thus solve present in existing method can not real-time online determine it is inverse
Kinematics solution method error, can not correction data error in time technical problem, inverse fortune can in real time, efficiently be determined by reaching
It is dynamic to learn method for solving error, and the technique effect of Data correction corresponding to progress in time.
In one embodiment, after the joint variable data after being corrected, methods described can also specifically include:
Error solution is carried out to the joint variable data after the correction, to determine the error current after correcting, and determines the correction
Whether error current afterwards is more than the error tolerances.
In the present embodiment, first-order error can be carried out again to the joint variable data after correction in the manner described above to ask
Solution, to determine whether the joint variable data after correcting meet to require.If being unsatisfactory for requiring, for example, the joint after correction becomes
Error current after being corrected corresponding to amount data is still more than error tolerances, then the joint variable data after correction can be entered
The correction process of row again, to the last obtain and meet to require, i.e., error is less than or equal to the joint variable number of error tolerances
Untill.
In one embodiment, when it is implemented, specific default correction time can also be customized according to the requirement of user
Above-mentioned joint variable data so can repeatedly be corrected by number according to user-defined default number of corrections, so as to
Obtain more accurate, the less joint variable data of error.In the present embodiment, it is further illustrated that be, it is understood that there may be to certain
After individual data carry out more survey corrections, still it is unsatisfactory for requiring, i.e., is still more than error tolerances, then may determine that the data are corresponding
In the singular point of the inverse kinematics method, the data are recorded, preserved, there is provided be corresponding to carry out other to user
Analysis, processing.
In one embodiment, error solution is being carried out to inverse kinematics method to be detected, is obtaining error and ask
After the result of solution, methods described can also carry out advance according to the result that error solves to inverse kinematics method to be detected
Evaluation, and then can choose whether to use other inverse kinematics methods according to advance evaluation.Specifically, for example, according to
The result generation that error solves is evaluated as effect and especially paid no attention in advance on A class inverse kinematics methods to be detected
Think, then can abandon subsequently carrying out error solution to A class inverse kinematics method to be detected, use other kinds of inverse fortune instead
Dynamic method for solving of learning carries out error determination.
In one embodiment, after satisfactory inverse kinematics method to be detected is determined, the side
Method can also specifically include herein below:In the case where the error current is less than or equal to the error tolerances, mesh is utilized
The model for marking thing carries out the motion planning of object according to the joint variable data, wherein, the model of the object is ROS
Model.
In the present embodiment, the model of above-mentioned object can specifically be built in such a way:
S1:The threedimensional model of object is drawn in ROS systems.
Specifically, for example, Machine Design Software on Drawing mechanical arm or the movements such as SW, ProE can be utilized in ROS systems
The threedimensional model on chassis.
In the present embodiment, above-mentioned ROS systems (i.e. Robot Operating System) are specifically that one kind is increased income machine
Device people's operating system.Specifically, it uses distributed organizational structure, by a series of independent operating process group of weak couplings
Into, therefore with very high the characteristics of freely code migrating is with being multiplexed.It can with more convenient utilize multilingual (such as C+
+, Python etc.) write corresponding robot modeling and motion control code, the software kit that can also be integrated in itself by system
The robot operating system of rapid deployment oneself, realize the fast verification work of robot model, algorithm etc..So as to significantly
Ground reduces the complexity of the basic checking work of robot research, has preferable using effect.
S2:On the basis of the threedimensional model of above-mentioned object, the description file of corresponding object is write.
Specifically, for example, the script description language such as URDF or XCRO can be utilized to write the several of each joint in object
What feature and body dynamics information, and the description file write is loaded into the threedimensional model of above-mentioned object, so as to
With the model of object used in acquisition.
In one embodiment, when it is implemented, can in the following manner, with the model using object according to institute
State joint variable data and carry out the specific motion planning of object:
S1:Read the model of object.Specifically, the description file of object is loaded into, so as to obtain object correlation
Physical parameter.
S2:According to the model of object, MoveIt motion plannings base configuration file corresponding to generation, to configure ROS systems
The motion planning storehouse of MoveIt modules.Specifically, MoveIt Setup Assistant tool instruments can be called, set silent
The motion planning storehouse recognized is OMPL.
S3:Move_Group_Interfac programs are generated, that is, call the relevant interface function of ROS systems to write MoveIt
Interface routine, to read the joint variable data after the error current and correction that kinematics solution method obtains, and according to school
Joint variable data after just carry out motion planning, so as to produce the motion message sequence of object, i.e., corresponding object
Each end effector position and attitude information.
S4:On the basis of S3, GUI (Rviz Plugin) configuration file is generated.I.e. be loaded into Rviz plug-in units, with realize with
The motion state of the form real-time display object of 3D animations.In this way, user can intuitively and easily see object according to upper
State the process that the joint variable data that inverse kinematics method to be detected obtains specifically are moved.
S5:Control_Manager configuration files are generated, mechanical movement message sequence caused by motion planning is sent
To the drive module of object, so as to drive object to realize predetermined action according to above-mentioned data message.Specifically, pass through issue
The FollowJointTrajectoryAction message of ROS systems is realized.
As can be seen from the above description, the mechanical arm inverse kinematics method that the application embodiment provides is missed
The determination and bearing calibration of difference, by first carrying out error solution before operation, and error model is established according to solving result;During operation
By carrying out error solution, to determine real-time error current in running, and using error model according to above-mentioned current
Error carries out specific Data correction, thus solve present in existing method can not real-time online determine inverse kinematics
Method error, can not correction data error in time technical problem, reach can in real time, efficiently determine inverse kinematics side
Method error, and the technique effect of Data correction corresponding to progress in time;Introduced during further through being solved in specific error
Configuration data, error solution procedure is regulated and controled accordingly using configuration data, to reach the needs according to user, obtains phase
The data answered, customization of the user to data volume and data type in error solving result is facilitated, improves user experience.
Based on same inventive concept, a kind of mechanical arm inverse kinematics method is additionally provided in embodiment of the present invention and is missed
The determination of difference and means for correcting, as described in following embodiment.Because device solves the principle of problem and the inverse motion of mechanical arm
Learn determination and the bearing calibration phase of method for solving error
Seemingly, therefore the determination of mechanical arm inverse kinematics method error and the implementation of means for correcting may refer to mechanical arm
The implementation of determination and the bearing calibration of inverse kinematics method error, repeat part and repeat no more.It is used below, term
" unit " or " module " can realize the combination of the software and/or hardware of predetermined function.Although described by following examples
Device is preferably realized with software, but hardware, or software and hardware combination realization and may and be contemplated.
Referring to Fig. 2, it is the determination of mechanical arm inverse kinematics method error and one kind of means for correcting of the application embodiment
Structure chart is formed, the device can include:Establish module 21, acquisition module 22, computing module 23, determining module 24, straightening die
Block 25, the structure is specifically described below.
Module 21 is established, specifically can be used for carrying out error solution to inverse kinematics method to be detected, missed
The result that difference solves, and the result solved according to the error establishes error model.
Acquisition module 22, it specifically can be used for the moving target data for obtaining object.
Computing module 23, specifically it can be used for according to the moving target data, according to the inverse kinematics to be detected
Method for solving carries out the computation of inverse- kinematics, obtains joint variable data.
Determining module 24, it specifically can be used for, according to the joint variable data, solving, determining to be detected by error
The error current of inverse kinematics method.
It correction module 25, specifically can be used for according to the error current, using the error model, the joint become
Amount data are corrected.
In one embodiment, in order to relatively accurately determine the result of error solution, when it is implemented, on
State establish module 21 specifically can by it is interior set with lower unit determine error solve result:
Acquiring unit, it specifically can be used for obtaining random number seed, configuration data;
It first determining unit, specifically can be used for according to the random number seed, determine multiple random number arrays, and by institute
Multiple random number arrays are stated as multiple first joint variables;
First computing unit, it specifically can be used for carrying out positive kinematics calculating to the multiple first joint variable, obtain
The position of multiple end effectors and attitude information;
Second computing unit, it specifically can be used for utilizing the inverse kinematics method to be detected, to the multiple
The position of end effector and attitude information carry out the computation of inverse- kinematics, obtain multiple second joint variables;
Second determining unit, specifically it can be used for according to the configuration data, the multiple first joint variable, described more
Individual second joint variable, determine the result that the error solves.
In one embodiment, in order to as the case may be, generate the result that the error of user's customization solves, have
When body is implemented, above-mentioned second determining unit can perform according to following procedure:The sum of more the multiple first joint variable
With the sum of the multiple second joint variable, the first comparative result is obtained, inverse motion is determined according to first comparative result
Learn and solve success rate;Compare the first joint variable value and corresponding second joint variate-value, obtain the second comparative result, according to institute
State the inverse kinematics error that the second comparative result determines joint variable;According to the configuration data, by the inverse kinematics
Success rate is solved, and/or, the result that the inverse kinematics error of the joint variable solves as the error.
In one embodiment, in order to according to the moving target data, according to the inverse motion to be detected
Learn method for solving and carry out the computation of inverse- kinematics, obtain joint variable data, computing module 23 can specifically include following structure list
Member:
Generation unit, it specifically can be used for the of end effector for according to the moving target data, generating object
One position and attitude information;
3rd computing unit, specifically it can be used for according to the inverse kinematics method to be detected to the object
End effector first position and attitude information carry out the computation of inverse- kinematics, obtain multiple 3rd joint variables, and by institute
Multiple 3rd joint variables are stated as the joint variable data.
In one embodiment, in order to according to the joint variable data, being solved, determined to be detected by error
Inverse kinematics method error current, above-mentioned determining module 24 can specifically include following construction unit:
4th computing unit, it specifically can be used for carrying out positive kinematics calculating to the joint variable data, obtain target
The second place of the end effector of thing and attitude information;
Comparing unit, specifically can be used for the end effector of object described in comparison first position and attitude information with
The second place of the end effector of corresponding object and attitude information, the 3rd comparative result is obtained, and the described 3rd is compared
Relatively result is as the error current.
In one embodiment, in order to according to the error current, using the error model, to the joint
Variable data is corrected, and above-mentioned correction module 25 can specifically include following construction unit:
3rd determining unit, is specifically determined for whether the error current is more than error tolerances;
4th determining unit, it specifically can be used for, in the case where the error current is more than the error tolerances, leading to
The error model is crossed, according to the error current, determines error compensation amount;
Unit is corrected, specifically can be used for using the error compensation amount to the in the joint variable data the corresponding 3rd
Joint variable is corrected, the joint variable data after being corrected.
In one embodiment, after the joint variable data after being corrected, in order to the joint variable after correction
The error condition of data is specifically determined that described device can also specifically include:Module is tested again, specifically can be used for described
Joint variable data after correction carry out error solution, to determine the error current after correcting, and determine working as after the correction
Whether preceding error is more than the error tolerances.
Each embodiment in this specification is described by the way of progressive, identical similar portion between each embodiment
Divide mutually referring to what each embodiment stressed is the difference with other embodiment.It is real especially for system
For applying example, because it is substantially similar to embodiment of the method, so description is fairly simple, related part is referring to embodiment of the method
Part explanation.
It should be noted that system, device, module or unit that above-mentioned embodiment illustrates, specifically can be by computer
Chip or entity are realized, or are realized by the product with certain function.For convenience of description, in this manual, retouch
It is divided into various units when stating apparatus above with function to describe respectively.Certainly, can be the function of each unit when implementing the application
Realized in same or multiple softwares and/or hardware.
In addition, in this manual, adjective can be only used for an element or dynamic such as first and second
Make to make a distinction with another element or action, without requiring or implying any actual this relation or order.Permit in environment
Perhaps in the case of, be should not be interpreted as limited to reference to element or part or step (s) in only element, part or step one
It is individual, and can be one or more of element, part or step etc..
As can be seen from the above description, the mechanical arm inverse kinematics method that the application embodiment provides is missed
The determination of difference and means for correcting, first carry out error solution, and establish error according to solving result by establishing module before operation
Model;Other error solution procedure is introduced during operation by determining module, to determine current in real time in running miss
Difference, and specific Data correction is carried out according to above-mentioned error current using error model by correction module, thus solve existing
Have present in method can not real-time online determine inverse kinematics method error, can not correction data error in time technology
Problem, inverse kinematics method error can in real time, efficiently be determined by reaching, and the skill of Data correction corresponding to progress in time
Art effect;Configuration data is introduced during further through the specific error solution of carry out in module is established, using configuring number
Regulated and controled accordingly according to error solution procedure, to reach the needs according to user, obtain corresponding data, facilitate user
Customization to data volume and data type in error solving result, improves user experience.
The application can specifically refer to real based on the application shown in Fig. 3 embodiment further provides a kind of electronic equipment
The electronic equipment composition structure chart of determination and the bearing calibration of the mechanical arm inverse kinematics method error that the mode of applying provides, institute
Input equipment 31, processor 32, memory 33 can specifically be included by stating electronic equipment.Wherein, the input equipment 31 specifically may be used
For inputting the moving target data of object, inverse kinematics method to be detected and being customized according to user's request
Configuration data.The processing implement body can be used for carrying out error solution to inverse kinematics method to be detected, obtain
The result that error solves, and the result solved according to the error establishes error model;According to the moving target data, according to
The inverse kinematics method to be detected carries out the computation of inverse- kinematics, obtains joint variable data;Become according to the joint
Data are measured, is solved by error, determines the error current of inverse kinematics method to be detected;According to the error current,
The joint variable data are corrected using the error model.The memory 33 specifically can be used for input equipment 31
Caused each result data and the error model established in the data of input, and processor running
In the present embodiment, the input equipment can be specifically to enter row information exchange between user and computer system
One of main device.The input equipment can include keyboard, mouse, camera, scanner, light pen, writing input board, language
Sound input unit etc.;Input equipment is used to initial data be input to the programs for handling these numbers in computer.The input
Equipment, which can also obtain, receives the data that other modules, unit, equipment transmit.The processor can be by any appropriate
Mode is realized.For example, processor can take such as microprocessor or processor and storage can be by (micro-) computing device
Computer readable program code (such as software or firmware) computer-readable medium, gate, switch, application specific integrated circuit
(Application Specific Integrated Circuit, ASIC), programmable logic controller (PLC) and embedded microcontroller
Form etc..The storage implement body can be used to protect stored memory device in modern information technologies.The storage
Device includes many levels, in digital display circuit, as long as can preserve binary data can be memory;In integrated circuit
In, a circuit with store function without physical form is also memory, such as RAM, FIFO;In systems, have
The storage device of physical form is also memory, such as memory bar, TF card.
In the present embodiment, the function and effect of electronic equipment specific implementation, can be compareed with other embodiment
Explain, will not be repeated here.
A kind of computer-readable storage medium is additionally provided in this theory application embodiment, the computer-readable storage medium is stored with
Computer program instructions, realized when the computer program instructions are performed:Inverse kinematics method to be detected is entered
Row error solves, and obtains the result of error solution, and the result solved according to the error establishes error model;Obtain object
Moving target data;According to the moving target data, inverse fortune is carried out according to the inverse kinematics method to be detected
Dynamic learn calculates, and obtains joint variable data;According to the joint variable data, solved by error, determine inverse fortune to be detected
The dynamic error current for learning method for solving;According to the error current, the joint variable data are entered using the error model
Row correction.
In the present embodiment, above-mentioned storage medium includes but is not limited to random access memory (Random Access
Memory, RAM), read-only storage (Read-Only Memory, ROM), caching (Cache), hard disk (Hard Disk
Drive, HDD) or storage card (Memory Card).The memory can be used for storing computer program instructions.
In the present embodiment, the function and effect of the programmed instruction specific implementation of computer-readable storage medium storage, can
To compare explanation with other embodiment, will not be repeated here.
It is embodied at one in Sample Scenario, the mechanical arm inverse kinematics method error provided using the application
It is determined that and bearing calibration and device the mechanical arm inverse kinematics method error in specific production design is carried out it is specific really
It is fixed.Specific implementation process can refer to herein below and perform.
Referred to during specific implementation and provide mechanical arm according to the application embodiment in a Sample Scenario shown in Fig. 4
The structural representation of the implementation of the determination and bearing calibration of inverse kinematics method error and device design.In this implementation
In mode, above-mentioned implementation can specifically include following structure:Mechanical arm ROS models describing module, input module, error meter
Calculate and compensating module, manipulator motion planning module, manipulator motion display module, mechanical arm execution module.
Wherein, above-mentioned input module and error calculation to compensating module when it is implemented, related kinematics can be applied to
Calculate, so-called kinematic calculation specifically includes:Positive kinematics solve and inverse kinematics.Specifically, positive kinematics solve, i.e.,
Each joint variable of series connection mechanical arm is provided, calculates and solves mechanical arm tail end executing agency locus coordinate and pose (i.e.
The position of the end effector of object and attitude information) process.You need to add is that the usual phase of positive kinematics solving precision
To higher, micron level can be reached.Inverse kinematics, that is, provide the space coordinates of the end effector mechanism of series connection mechanical arm
And pose, calculate the joint variable in each joint of mechanical arm.Wherein, asked at present using relatively extensive inverse kinematics
Solution method can include following a few classes:Geometric method, algebraic approach, analytic method, Intelligent Composite algorithm etc..Above-mentioned every class algorithm or side
Method all has certain solving precision, solving speed, solves error.This is also that present embodiment needs to verify and determine in real time
Content.
The application embodiment is applied to provide mechanical arm inverse kinematics side refering in a Sample Scenario shown in Fig. 5
The determination and bearing calibration of method error and device carry out the schematic flow sheet of complete error solution, correction and motion planning.It is logical
Cross above-mentioned implementation and carry out the motion planning after specific inverse kinematics method error is determined, corrects and corrected, tool
Body can perform according to following steps:
Step 1:Establish the ROS models (i.e. the model of object) of mechanical arm.
In the present embodiment, the step for, can specifically be subdivided into two steps.It is that mechanical arm threedimensional model is drawn first,
In present embodiment, the 3D models of the Machine Design three-dimensional drawing Software on Drawing mechanical arms such as SW, ProE can be used;Followed by machinery
Arm describes file edit, can be specifically to use the script description languages such as URDF or XCRO in the model of mechanical arm in ROS systems
The geometric properties and movable information in each joint of mechanical arm are write, and are loaded into the mechanical arm threedimensional model of previous step.
Step 2:Arithmetic of inverse kinematics is verified and error model is established (i.e. error solves).
In the present embodiment, the certificate parameter (i.e. configuration data) of user's input can be received during specific implementation first,
Certificate parameter can specifically include:The data volume (i.e. cycle-index) of checking, the data class for needing to preserve (such as joint variable
Error, repetitive positioning accuracy error etc.) parameter, error calculation then is carried out to Arithmetic of inverse kinematics to be verified, and establish mistake
Differential mode type.
Compared to other existing methods, present embodiment can provide user according to certainly more conveniently by this configuration data
Oneself needs to customize the freedom of oneself specific data volume and data type.
For step 2, being carried in a Sample Scenario using the application embodiment shown in Fig. 6 figures can be specifically referred to
The flow that determination and bearing calibration and device for mechanical arm inverse kinematics method error carry out specific error solution is shown
It is intended to, is performed according to following steps:
Step 2.1:Random number seed initializes.
In the present embodiment, can be using system time as random number seed, and random number seed is utilized, by random
Number produces function and generates N number of random number array, and each array is corresponding in turn in a joint variable of series connection mechanical arm, and each
Random number array is within the effective range of joint variable.
Step 2.2:Positive kinematics calculate.
In the present embodiment, specifically the N number of joint variable array generated at random can be carried out into positive kinematics to calculate
To the position of N number of end effector and attitude information, because the accuracy of positive kinematics understands that result of calculation here has very
High precision, can be as the theory input of the computation of inverse- kinematics.
Step 2.3:The computation of inverse- kinematics.
In the present embodiment, can using the position of N number of end effector obtained by above-mentioned calculating and attitude information as
The input of inverse kinematics method (inverse kinematics method i.e. to be detected) to be verified, wherein, each end performs
The position of device and attitude information correspond to a result of calculation.Joint variable array corresponding to being produced if success, if lost
Lose, return to 0.In the present embodiment, M joint variable array (M≤N) has successfully been tried to achieve.
Step 2.4:Error calculation.
In the present embodiment, the solution of Arithmetic of inverse kinematics can be obtained first according to the result of calculation of previous step
Success rate R:R=(N/M) × 100%;
Meanwhile the M joint variable arrays randomly generated are corresponded to according to the M joint variable successfully obtained array, pass through
The inverse kinematics error that can be obtained by every group of joint variable is compared to the two.
2.5:Data output and preservation are carried out to the inverse kinematics method error of above-mentioned determination.
2.6:If the inverse kinematics method error of above-mentioned acquisition meets condition or requirement, mistake can be further established
Differential mode type, inverse kinematics method to be detected is used as using the Arithmetic of inverse kinematics to be detected.Otherwise it is assumed that the algorithm is discontented with
Sufficient application requirement, the inverse kinematics method based on another middle algorithm is selected to carry out error solution.
Step 3:Input motion target, monitoring parameters (obtaining moving target data, monitoring instruction) are set.
In the present embodiment, user can be set the input mechanical arm extraterrestrial target to be reached with concrete condition and configure phase
Error tolerances (also referred to as maximum tolerance error), joint variable scope, the maximum answered solve time parameter.In present embodiment
In, the extraterrestrial target of user's input, which obtains target exercise data, to be obtained by multiple means such as artificial, program, visions
The real-time extraterrestrial target taken.
Step 4:Kinematics solution error calculation and compensation (i.e. error solution and error correction).
In the present embodiment, configuration parameter set in step 3 will be read out and carries out the calculating of correlation, most
More accurate the computation of inverse- kinematics result (the joint variable data after correcting) will be produced afterwards.
In the present embodiment, the application is applied in a Sample Scenario when it is implemented, can refer to shown in Fig. 7
The determination and bearing calibration of embodiment offer mechanical arm inverse kinematics method error and device carry out specific error and asked
Solution and the schematic flow sheet of error correction, are performed according to following steps:
Step 4.1:Target point is read (equivalent to moving target data are obtained).
In the present embodiment, specifically, the target information of user's input can be read in, that is, the end for mechanical arm of connecting is held
The locus of row device and attitude information are typically according to the data for needing to input under mechanical arm actual motion state here or are referred to
Order.
Step 4.2:The computation of inverse- kinematics.
In the present embodiment, specifically, can be transferred to the information as the input of Arithmetic of inverse kinematics to be detected
Inverse kinematics program records the T that starts the clock simultaneously1, time T is recorded if success returning result2And result is preserved,
This calculating time is T:T=T2-T1.If wait T3The time non-returning result of inverse kinematics program is then recorded as time-out.
Above-mentioned temporal information is recorded, to feed back to user.
Further, it is possible to which the series connection joint of mechanical arm variable array that above-mentioned result of calculation is gone out carries out scope monitoring, judge
Whether each joint variable within effective range and records judged result.
Step 4.3:Positive kinematics calculate.
In the present embodiment, positive fortune can be passed to using the effective result of above-mentioned judgement as the input of direct kinematics
It is dynamic to learn calculation procedure, the spatial attitude and positional information of robot arm end effector are obtained, by the information and the mechanical arm of input
End effector locus and attitude information be compared, obtain difference be inverse kinematics algorithm calculating miss
Poor discreet value (i.e. error current).
Step 4.4:Error is estimated.
In the present embodiment, above-mentioned error discreet value and error permission (i.e. error tolerances) can be compared
Compared with judging its validity.If it is judged that error amount be more than error tolerances then need to data carry out error correction.
Step 4.5:Error correction.
In the present embodiment, when it is implemented, corresponding error correction can be carried out in such a way:First with by mistake
Differential mode type, the error discreet value obtained in step 4.4 is inputted into above-mentioned error model, provides the joint variable offset of error;
And then positive kinematics calculation procedure is re-entered after being modified using joint variable offset to joint of mechanical arm variable,
Its error is reappraised;Again by the error amount reappraised compared with error permission, its validity is judged;Most
The computation of inverse- kinematics result (the joint variable data after correcting) after being compensated afterwards, and the data are exported and protected
Deposit.
In the present embodiment, it is necessary to which explanation, can set circulation compensation number to carry out error compensation procedure
Limitation, Expected Results is unable to reach to repeatedly compensation then judges that the point is corresponding to the unusual of the inverse kinematics algorithm
Point, the point is given into record and feeds back to customer analysis, processing.
After the relatively small joint variable data of error after being corrected, methods described can also specifically include following step
Suddenly:
Step 5:Manipulator motion planning (carries out object using the model of object according to the joint variable data
Motion planning).
In the present embodiment, caused inverse kinematics result in read step 3, is established in combination with step 1
Mechanical arm ROS models carry out mechanical arm motion planning, finally will produce manipulator motion message sequence.
In the present embodiment, implement specifically, can refer to shown in Fig. 8 in a Sample Scenario using the application
Mode provides the determination of mechanical arm inverse kinematics method error and bearing calibration and device carry out specific motion planning
Schematic flow sheet.Wherein, this process is can specifically to be completed by configuring the MoveIt modules of ROS systems, specific real
Existing process includes herein below:
Step 5.1:Read mechanical arm ROS models.The description file of mechanical arm is loaded into, so as to obtain the physics of mechanical arm
Parameter.
Step 5.2:Write MoveIt motion planning base configuration files.The effect of this step is configuration ROS system MoveIt moulds
The motion planning storehouse of block, concrete methods of realizing are the Setup Assistant tool instruments for calling MoveIt, set acquiescence
Motion planning storehouse is OMPL.
Step 5.3:Write Move_Group_Interfac programs.The interface function for calling ROS related writes MoveIt
Interface routine, effect is to read kinematics solution error calculation and the inverse kinematics result after compensation, and according to the knot
Fruit carries out motion planning, so as to produce manipulator motion message sequence.
Step 5.4:Write GUI (Rviz Plugin) configuration file.Rviz plug-in units are loaded into, so as to realize with 3D animations
Form real-time display mechanical arm motion state, such user can be visually seen the motion process of mechanical arm.
Step 5.5:Write Control_Manager configuration files.The effect of this step is by machine caused by motion planning
Tool motion message sequence is sent to the drive module of mechanical arm, so as to drive mechanical arm to realize predetermined action.Particularly pass through
The FollowJointTrajectoryAction message of ROS systems is issued to realize.
Configured accordingly according to above-mentioned several steps, it is possible to which realization is asked according to specific inverse kinematics algorithm
Inverse kinematics method error, and then accurate result after being corrected, to carry out the fortune of mechanical arm
Dynamic planning.
It should be noted that the above-mentioned configuration process that present embodiment proposes is most using script realization, and each
What independent step had a maturation writes specification, thus configuration process is simple, and efficiency of the practice is of a relatively high.
Step 6:The motion of mechanical arm is shown.
In the present embodiment, when it is implemented, the motion state of the form real-time display mechanical arms such as 3D animations can be used,
Can also mechanical graphics arm joint motions curve.In this way, can facilitate user intuitively observe mechanical arm motion state and
Joint motions process, further improves user experience.In present embodiment, it can specifically pass through the Rviz plug-in units of ROS systems
Above-mentioned motion is completed with rqt_plot plug-in units to show.
Step 7:Mechanical arm performs.
In the present embodiment, caused manipulator motion message sequence in step 5 will can be sent to mechanical arm drive
It is dynamic, and drive mechanical arm to perform corresponding act.
In the manner described above, the acquisition opportunity that user can also be as needed to inverse kinematics method error determines
System, specifically, can include:If selecting advance Validation Mode, can be solved by error can obtain corresponding inverse kinematics
The error information of derivation algorithm, facilitate user to carry out first time checking to inverse kinematics method in advance, can further divide
The error source of inverse kinematics method is analysed, to establish error model;If select on-line monitoring pattern, it is possible to ask by error
Solution, the error current of inverse kinematics method is calculated in real time and carries out corresponding correction, so that it is guaranteed that inverse kinematics method is given
The result gone out has suitable precision, so as to ensure that operating steadily for mechanical arm is reliable.
In the present embodiment, it is necessary to supplement, the step of above-mentioned implementation process is related to relatively fewer, efficiency of the practice phase
To higher;Many places carry out relevant configuration using script, convenient to reuse and cut therefore simple with configuration process, easily
Realize the fast verification to mechanical arm Arithmetic of inverse kinematics.
By above-mentioned Sample Scenario, the mechanical arm inverse kinematics method error that the application embodiment provides is demonstrated
Determination and bearing calibration and device, pass through first progress error solution before operation, and error model established according to solving result;Fortune
Error solution procedure is introduced during row, to determine the error current in running, and using error model according to above-mentioned current
Error carries out Data correction, thus solve present in existing method can not real-time online determine that inverse kinematics method is missed
Difference, can not correction data error in time technical problem, reaching can in real time, efficiently determine that inverse kinematics method is missed
Difference, and the technique effect of Data correction corresponding to progress in time.
Although mentioning different embodiments in teachings herein, the application is not limited to be capable
Situation described by industry standard or embodiment etc., some professional standards or the implementation described using self-defined mode or embodiment
On the basis of embodiment amended slightly can also realize above-described embodiment it is identical, it is equivalent or it is close or deformation after it is anticipated that
Implementation result.Using the embodiment of the data acquisition after these modifications or deformation, processing, output, judgment mode etc., still may be used
To belong within the scope of the optional embodiment of the application.
It is also known in the art that in addition to realizing controller in a manner of pure computer readable program code, it is complete
Entirely can by by method and step carry out programming in logic come controller with gate, switch, application specific integrated circuit, may be programmed
The form of logic controller and embedded microcontroller etc. realizes identical function.Therefore this controller is considered one kind
Hardware component, and what its inside was included is used to realize that the device of various functions can also to be considered as the structure in hardware component.Or
Person even, not only can be able to will be the software module of implementation method but also can be hardware for realizing that the device of various functions is considered as
Structure in part.
The application can be described in the general context of computer executable instructions, such as program
Module.Usually, program module includes performing particular task or realizes routine, program, object, the group of particular abstract data type
Part, data structure, class etc..The application can also be put into practice in a distributed computing environment, in these DCEs,
By performing task by communication network and connected remote processing devices.In a distributed computing environment, program module can
With in the local and remote computer-readable storage medium including storage device.
Each embodiment in this specification is described by the way of progressive, same or analogous portion between each embodiment
Divide mutually referring to what each embodiment stressed is the difference with other embodiment.The application can be used for crowd
In more general or special purpose computing system environments or configuration.Such as:Personal computer, server computer, handheld device or
Portable set, laptop device, multicomputer system, the system based on microprocessor, set top box, programmable electronics are set
Standby, network PC, minicom, the DCE etc. of mainframe computer including any of the above system or equipment.
Although depicting the application by embodiment, it will be appreciated by the skilled addressee that the application have it is many deformation and
Change is without departing from spirit herein, it is desirable to which appended embodiment includes these deformations and changed without departing from the application.
Claims (10)
1. a kind of determination and bearing calibration of mechanical arm inverse kinematics method error, it is characterised in that including:
Error solution is carried out to inverse kinematics method to be detected, obtains the result of error solution, and according to the error
The result of solution establishes error model;
Obtain the moving target data of object;
According to the moving target data, the computation of inverse- kinematics is carried out according to the inverse kinematics method to be detected, is obtained
To joint variable data;
According to the joint variable data, solved by error, determine the error current of inverse kinematics method to be detected;
According to the error current, the joint variable data are corrected using the error model.
2. according to the method for claim 1, it is characterised in that described that inverse kinematics method to be detected is missed
Difference solves, including:
Obtain random number seed, configuration data;
According to the random number seed, multiple random number arrays are determined, and using the multiple random number array as multiple first
Joint variable;
Positive kinematics calculating is carried out to the multiple first joint variable, obtains position and the posture letter of multiple end effectors
Breath;
Using the inverse kinematics method to be detected, position and attitude information to the multiple end effector are carried out
The computation of inverse- kinematics, obtain multiple second joint variables;
According to the configuration data, the multiple first joint variable, the multiple second joint variable, determine that the error is asked
The result of solution.
3. according to the method for claim 2, it is characterised in that become according to the configuration data, the multiple first joint
Amount, the multiple second joint variable, the result that the error solves is determined, including:
The sum of the total and the multiple second joint variable of more the multiple first joint variable, obtains first and compares knot
Fruit, inverse kinematics success rate is determined according to first comparative result;
Compare the first joint variable value and corresponding second joint variate-value, obtain the second comparative result, according to the described second ratio
Relatively result determines the inverse kinematics error of joint variable;
According to the configuration data, by the inverse kinematics success rate, and/or, the inverse kinematics of the joint variable is asked
The result that solution error solves as the error.
4. according to the method for claim 1, it is characterised in that the object includes at least one of:Mechanical arm, shifting
Dynamic chassis.
5. according to the method for claim 1, it is characterised in that according to the moving target data, according to described to be detected
Inverse kinematics method carry out the computation of inverse- kinematics, obtain joint variable data, including:
According to the moving target data, first position and the attitude information of the end effector of object are generated;
According to first position of the inverse kinematics method to be detected to the end effector of the object and posture
Information carries out the computation of inverse- kinematics, obtains multiple 3rd joint variables, and using the multiple 3rd joint variable as the pass
Save variable data.
6. according to the method for claim 1, it is characterised in that according to the joint variable data, solved by error, really
The error current of fixed inverse kinematics method to be detected, including:
Positive kinematics calculating is carried out to the joint variable data, obtains the second place and the posture of the end effector of object
Information;
Compare the first position of the end effector of the object and the end effector of attitude information and corresponding object
The second place and attitude information, obtain the 3rd comparative result, and using the 3rd comparative result as the error current.
7. according to the method for claim 1, it is characterised in that right using the error model according to the error current
The joint variable data are corrected, including:
Determine whether the error current is more than error tolerances;
In the case where the error current is more than the error tolerances, by the error model, currently missed according to described
Difference, determine error compensation amount;
Corresponding 3rd joint variable in the joint variable data is corrected using the error compensation amount, corrected
Joint variable data afterwards.
8. according to the method for claim 7, it is characterised in that after the joint variable data after being corrected, the side
Method also includes:Error solution is carried out to the joint variable data after the correction, to determine the error current after correcting, and determined
Whether the error current after the correction is more than the error tolerances.
9. according to the method for claim 7, it is characterised in that methods described also includes:
In the case where the error current is less than or equal to the error tolerances, using the model of object according to the joint
Variable data carries out the motion planning of object, wherein, the model of the object is ROS models.
10. determination and the means for correcting of a kind of mechanical arm inverse kinematics method error, it is characterised in that including:
Module is established, for carrying out error solution to inverse kinematics method to be detected, obtains the result of error solution, and
Error model is established according to the result that the error solves;
Acquisition module, for obtaining the moving target data of object;
Computing module, for according to the moving target data, being carried out according to the inverse kinematics method to be detected inverse
Kinematic calculation, obtain joint variable data;
Determining module, for according to the joint variable data, being solved by error, determining inverse kinematics side to be detected
The error current of method;
Correction module, for according to the error current, using the error model, school to be carried out to the joint variable data
Just.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710904721.9A CN107553496B (en) | 2017-09-29 | 2017-09-29 | Method and device for determining and correcting errors of inverse kinematics solving method of mechanical arm |
PCT/CN2017/109939 WO2019061690A1 (en) | 2017-09-29 | 2017-11-08 | Mechanical arm inverse kinematics solution error determination and correction method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710904721.9A CN107553496B (en) | 2017-09-29 | 2017-09-29 | Method and device for determining and correcting errors of inverse kinematics solving method of mechanical arm |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107553496A true CN107553496A (en) | 2018-01-09 |
CN107553496B CN107553496B (en) | 2020-09-22 |
Family
ID=60983566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710904721.9A Active CN107553496B (en) | 2017-09-29 | 2017-09-29 | Method and device for determining and correcting errors of inverse kinematics solving method of mechanical arm |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107553496B (en) |
WO (1) | WO2019061690A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109296019A (en) * | 2018-11-08 | 2019-02-01 | 北京拓疆者智能科技有限公司 | Digger arm motion control method, system and device |
WO2019205238A1 (en) * | 2018-04-28 | 2019-10-31 | 深圳市瑞立视多媒体科技有限公司 | Bone pose calculation method, figure virtual model driving method and storage medium |
CN110962125A (en) * | 2019-12-05 | 2020-04-07 | 齐鲁工业大学 | Cutting machining robot body parameter description method based on sensitivity analysis |
CN111283675A (en) * | 2018-12-07 | 2020-06-16 | 北京猎户星空科技有限公司 | Robot action regression control method and device, robot and storage medium |
CN114603552A (en) * | 2020-12-08 | 2022-06-10 | 北京配天技术有限公司 | Robot simulation method, electronic device and storage medium |
WO2023088423A1 (en) * | 2021-11-22 | 2023-05-25 | 维沃移动通信有限公司 | Positioning method and apparatus, and terminal and network side device |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314690A (en) * | 2011-06-07 | 2012-01-11 | 北京邮电大学 | Method for separating and identifying kinematical parameters of mechanical arm |
KR101398215B1 (en) * | 2013-03-05 | 2014-05-26 | 한국기계연구원 | Dual arm robot control apparatus and method with error recovery function |
CN104199999A (en) * | 2014-07-17 | 2014-12-10 | 中国人民解放军国防科学技术大学 | Quantitative analysis method of influence of joint centralization error on locating precision of multi-freedom-degree mechanical arm tail end |
CN106826822A (en) * | 2017-01-25 | 2017-06-13 | 南京阿凡达机器人科技有限公司 | A kind of vision positioning and mechanical arm crawl implementation method based on ROS systems |
CN106846468A (en) * | 2017-01-25 | 2017-06-13 | 南京阿凡达机器人科技有限公司 | A kind of mechanical arm modeling and motion planning implementation method based on ROS systems |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8065060B2 (en) * | 2006-01-18 | 2011-11-22 | The Board Of Regents Of The University And Community College System On Behalf Of The University Of Nevada | Coordinated joint motion control system with position error correction |
JP5011525B2 (en) * | 2006-08-03 | 2012-08-29 | 国立大学法人東京工業大学 | Inverse kinematics of 6-degree-of-freedom robot arm by sequential search method, and robot system, control method, and program using the same |
KR101162432B1 (en) * | 2010-03-12 | 2012-07-04 | 경북대학교 산학협력단 | Error compensation method for multi-axis controlled machines |
CN102509025A (en) * | 2011-11-25 | 2012-06-20 | 苏州大学 | Method for quick solution of six-degree-of-freedom humanoid dexterous arm inverse kinematics |
CN105975795B (en) * | 2016-05-23 | 2017-08-25 | 湖北工业大学 | A kind of high-precision anti-solution of joint series Mechanical transmission test |
CN106325207B (en) * | 2016-10-08 | 2019-03-12 | 南京工业大学 | A kind of practical inverse kinematics compensation method of five-shaft numerical control gear making machine geometric error |
-
2017
- 2017-09-29 CN CN201710904721.9A patent/CN107553496B/en active Active
- 2017-11-08 WO PCT/CN2017/109939 patent/WO2019061690A1/en active Application Filing
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314690A (en) * | 2011-06-07 | 2012-01-11 | 北京邮电大学 | Method for separating and identifying kinematical parameters of mechanical arm |
KR101398215B1 (en) * | 2013-03-05 | 2014-05-26 | 한국기계연구원 | Dual arm robot control apparatus and method with error recovery function |
CN104199999A (en) * | 2014-07-17 | 2014-12-10 | 中国人民解放军国防科学技术大学 | Quantitative analysis method of influence of joint centralization error on locating precision of multi-freedom-degree mechanical arm tail end |
CN106826822A (en) * | 2017-01-25 | 2017-06-13 | 南京阿凡达机器人科技有限公司 | A kind of vision positioning and mechanical arm crawl implementation method based on ROS systems |
CN106846468A (en) * | 2017-01-25 | 2017-06-13 | 南京阿凡达机器人科技有限公司 | A kind of mechanical arm modeling and motion planning implementation method based on ROS systems |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019205238A1 (en) * | 2018-04-28 | 2019-10-31 | 深圳市瑞立视多媒体科技有限公司 | Bone pose calculation method, figure virtual model driving method and storage medium |
CN109296019A (en) * | 2018-11-08 | 2019-02-01 | 北京拓疆者智能科技有限公司 | Digger arm motion control method, system and device |
CN111283675A (en) * | 2018-12-07 | 2020-06-16 | 北京猎户星空科技有限公司 | Robot action regression control method and device, robot and storage medium |
CN110962125A (en) * | 2019-12-05 | 2020-04-07 | 齐鲁工业大学 | Cutting machining robot body parameter description method based on sensitivity analysis |
CN110962125B (en) * | 2019-12-05 | 2022-10-04 | 齐鲁工业大学 | Cutting machining robot body parameter description method based on sensitivity analysis |
CN114603552A (en) * | 2020-12-08 | 2022-06-10 | 北京配天技术有限公司 | Robot simulation method, electronic device and storage medium |
WO2023088423A1 (en) * | 2021-11-22 | 2023-05-25 | 维沃移动通信有限公司 | Positioning method and apparatus, and terminal and network side device |
Also Published As
Publication number | Publication date |
---|---|
CN107553496B (en) | 2020-09-22 |
WO2019061690A1 (en) | 2019-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107553496A (en) | The determination of mechanical arm inverse kinematics method error and bearing calibration and device | |
Ye et al. | Synthesis of detailed hand manipulations using contact sampling | |
Pai et al. | Augmented reality–based programming, planning and simulation of a robotic work cell | |
EP1774443A1 (en) | System and method for simulating human movement using profile paths | |
Chatzilygeroudis et al. | Benchmark for bimanual robotic manipulation of semi-deformable objects | |
Lamberti et al. | Virtual character animation based on affordable motion capture and reconfigurable tangible interfaces | |
CN109940619A (en) | Trajectory planning method, electronic device and storage medium | |
Arnay et al. | Teaching kinematics with interactive schematics and 3D models | |
Manou et al. | Off-line programming of an industrial robot in a virtual reality environment | |
Fu et al. | Active learning-based grasp for accurate industrial manipulation | |
CN111185909B (en) | Robot operation condition acquisition method and device, robot and storage medium | |
CN113934630A (en) | Software testing method, device, equipment and medium based on image recognition | |
CN111080755A (en) | Motion calculation method and device, storage medium and electronic equipment | |
CN110142748A (en) | A kind of quick teaching system of robot suitable for spraying welding profession and method | |
Dyck et al. | Mixed mock-up–development of an interactive augmented reality system for assembly planning | |
KR20230056004A (en) | Apparatus and Method for Providing a Surgical Environment based on a Virtual Reality | |
US20040054510A1 (en) | System and method for simulating human movement | |
CN107738256A (en) | A kind of teach-by-doing apery teaching robot's programing system | |
US20070171227A1 (en) | Methods and Apparatus for Accelerated Animation Using Point Multiplication | |
Spitzhirn et al. | Hybrid work systems—platform-based work planning—designing productive and human-centered work processes | |
Al-Junaid | ANN based robotic arm visual servoing nonlinear system | |
Gonzalez et al. | A robotic arm simulator software tool for use in introductory robotics courses | |
CN111696180A (en) | Method, system, device and storage medium for generating virtual dummy | |
Woo et al. | An efficient method for camera calibration using multilayer perceptron type neural network | |
KR20200097896A (en) | Apparatus and method for generating manipulator URDF file |
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 |