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 PDF

Info

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
Application number
CN201710904721.9A
Other languages
Chinese (zh)
Other versions
CN107553496B (en
Inventor
张光肖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Science And Technology Ltd Of A Fanda Robot
Original Assignee
Nanjing Science And Technology Ltd Of A Fanda Robot
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Science And Technology Ltd Of A Fanda Robot filed Critical Nanjing Science And Technology Ltd Of A Fanda Robot
Priority to CN201710904721.9A priority Critical patent/CN107553496B/en
Priority to PCT/CN2017/109939 priority patent/WO2019061690A1/en
Publication of CN107553496A publication Critical patent/CN107553496A/en
Application granted granted Critical
Publication of CN107553496B publication Critical patent/CN107553496B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme 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

The determination of mechanical arm inverse kinematics method error and bearing calibration and device
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.
CN201710904721.9A 2017-09-29 2017-09-29 Method and device for determining and correcting errors of inverse kinematics solving method of mechanical arm Active CN107553496B (en)

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)

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

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

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

Patent Citations (5)

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

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