WO2019061690A1 - 机械臂逆运动学求解方法误差的确定及校正方法和装置 - Google Patents

机械臂逆运动学求解方法误差的确定及校正方法和装置 Download PDF

Info

Publication number
WO2019061690A1
WO2019061690A1 PCT/CN2017/109939 CN2017109939W WO2019061690A1 WO 2019061690 A1 WO2019061690 A1 WO 2019061690A1 CN 2017109939 W CN2017109939 W CN 2017109939W WO 2019061690 A1 WO2019061690 A1 WO 2019061690A1
Authority
WO
WIPO (PCT)
Prior art keywords
error
solution
data
inverse kinematics
joint
Prior art date
Application number
PCT/CN2017/109939
Other languages
English (en)
French (fr)
Inventor
张光肖
Original Assignee
南京阿凡达机器人科技有限公司
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 南京阿凡达机器人科技有限公司 filed Critical 南京阿凡达机器人科技有限公司
Publication of WO2019061690A1 publication Critical patent/WO2019061690A1/zh

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls

Definitions

  • the invention relates to the technical field of mechanical arm motion control, in particular to a method and a device for determining and correcting an error of an inverse kinematic solution method of a mechanical arm.
  • the above positive kinematics solution may generally include calculating a position and attitude information of an end effector of the robot arm using a forward kinematics solution method according to each joint variable of the robot arm; the inverse kinematics solution may generally include an end according to the arm
  • the position and attitude information of the actuator is calculated using the inverse kinematics solution method to determine the joint variables of the manipulator.
  • the solution method used is different, and the error of the obtained results is also different. In order to be able to control the movement of the robot arm more precisely, it is necessary to accurately determine the error of the solution method used, so that correction and adjustment can be performed in time.
  • the process of determining the error of the forward kinematics method is relatively simple, the specific positive kinematics method error can be determined more accurately.
  • the solution of the inverse kinematics solution error because the solution process is relatively more complex, and the computational complexity is relatively large, how to accurately, efficiently and in real time determine the inverse kinematics solution error has been a concern in this field.
  • the embodiment of the present application provides a method and a device for determining and correcting errors of an inverse kinematics solution of a mechanical arm, so as to solve the technical problem that the error of the inverse kinematics method cannot be determined in real time and the data error cannot be corrected in time. .
  • the embodiment of the present application provides a method for determining and correcting an error of an inverse kinematic solution method of a mechanical arm, including:
  • the inverse kinematic solution method for detecting is used to solve the error, and the error solution result is obtained, and an error model is established according to the result of the error solution;
  • the joint variable data is corrected using the error model based on the current error.
  • the inverse kinematic solution method to be detected performs an error solution, including:
  • determining the result of the error solution according to the configuration data, the plurality of first joint variables, and the plurality of second joint variables including:
  • the inverse kinematics is solved for success, and/or an inverse kinematic solution error of the joint variable is used as a result of the error solution.
  • the target comprises at least one of the following: a robotic arm, a moving chassis.
  • inverse kinematics calculation is performed according to the inverse kinematics solving method to be detected, and the joint variable data is obtained, including:
  • the current error of the inverse kinematics method to be detected is determined by the error solution according to the joint variable data, including:
  • Correction of joint variable data including:
  • the error compensation amount is determined according to the current error by the error model
  • the corresponding third joint variable in the joint variable data is corrected by the error compensation amount to obtain corrected joint variable data.
  • the method further comprises: performing an error solution on the corrected joint variable data to determine a corrected current error, and determining the corrected Whether the current error is greater than the error tolerance.
  • the method further includes:
  • motion planning of the target object is performed according to the joint variable data using a model of the target object, wherein the model of the target object is a ROS model.
  • the embodiment of the present application further provides a device for determining and correcting an error of an inverse kinematic solution method of a mechanical arm, including:
  • An acquisition module configured to acquire moving target data of the target
  • a calculation module configured to perform inverse kinematic calculation according to the inverse kinematics method to be detected according to the moving target data, to obtain joint variable data
  • a determining module configured to determine, according to the joint variable data, an error of the inverse kinematics method to be detected by using an error solution
  • a correction module configured to correct the joint variable data by using the error model according to the current error.
  • the error is solved before running, and the error model is established according to the solution result; the error is solved during operation to determine the current error during the operation, and the error model is used to perform data correction according to the current error. Therefore, the error of the inverse kinematics solution method that cannot be determined in real time in the existing method is solved, and the data error cannot be corrected in time.
  • the technical problem achieves the technical effect that the inverse kinematics solution error can be determined in real time and efficiently, and the corresponding data correction is performed in time.
  • FIG. 1 is a process flow diagram of a method for determining and correcting an error of a method for solving an inverse kinematics of a mechanical arm according to an embodiment of the present application;
  • FIG. 2 is a structural diagram of determining and correcting an error of a method for solving an inverse kinematics of a mechanical arm according to an embodiment of the present application;
  • FIG. 3 is a structural diagram of an electronic device according to a method for determining and correcting an error of a method for solving an inverse kinematics of a mechanical arm according to an embodiment of the present application;
  • FIG. 4 is a schematic structural diagram of an apparatus for determining and correcting a method for determining an error of an inverse kinematics of a mechanical arm according to an embodiment of the present application;
  • FIG. 5 is a schematic flow chart of applying a method and apparatus for determining and correcting errors of an inverse kinematics method of a mechanical arm in a scene example to perform complete error solving, correction, and motion planning;
  • FIG. 6 is a schematic flow chart of applying a method and apparatus for determining and correcting errors of an inverse kinematics method of a mechanical arm according to an embodiment of the present application;
  • FIG. 7 is a schematic flow chart of applying a method and apparatus for determining and correcting errors of an inverse kinematics method of a mechanical arm in a scenario example to perform specific error solving and error correction;
  • FIG. 8 is a schematic flow chart of a method and apparatus for determining and correcting an error of a method for solving an inverse kinematics of a mechanical arm according to an embodiment of the present application.
  • the process of determining the error of the inverse kinematics method is cumbersome, and it can only be used in a priori manner, before the implementation.
  • the kinematic solution method error is predetermined. Therefore, it is impossible to determine the error condition during the implementation or simulation of the robot arm online, and it is impossible to timely correct the error in the specific implementation or simulation process. That is to say, when the existing method is implemented, there is often a technical problem that the inverse kinematics method error cannot be determined in real time and online, and the data error cannot be corrected online in time.
  • the present application considers that an error model can be established by using the pre-run error to determine the error in the existing prior determination of the error; in the specific operation, another An online error solution determines the current error, and uses the above error model to correct the joint variable data obtained by the inverse motion correction in time, thereby solving the error that cannot be determined in real time by the inversion method in the existing method.
  • the technical problem of correcting the data error achieving the technical effect that the inverse kinematics method error can be determined in real time and efficiently, and the corresponding data correction is performed in time.
  • the embodiment of the present application provides a method for determining and correcting an error of a method for solving an inverse kinematics of a mechanical arm. Please refer to the processing flowchart of the method for determining and correcting the error of the inverse kinematics of the mechanical arm according to the embodiment of the present application.
  • the method for determining and correcting the error of the inverse kinematics method of the mechanical arm provided by the embodiment of the present application may include the following steps.
  • S11 The inverse kinematic solution method to be detected is subjected to error solution, and the error solution result is obtained, and an error model is established according to the result of the error solution.
  • the inverse kinematics solving method to be detected may specifically be a specific solving method used for solving an inverse kinematic calculation for a robot arm or other object, such as a mobile chassis.
  • the inverse kinematics solving method may specifically include: a geometric method, an algebraic method, an analytical method, an intelligent composite algorithm, and the like.
  • the specific error of one or several inverse kinematics solving methods may be determined according to the method for determining the error of the inverse kinematic solution method of the mechanical arm provided by the present application. And according to the determined error, the corresponding result data obtained by the corresponding inverse kinematics method is corrected accordingly; the specific errors of various inverse kinematics solving methods can also be determined, according to different inverse kinematics method error, combined For the specific situation, choose the appropriate inverse kinematics solution method.
  • the inverse kinematics method to be detected before the operation may be subjected to a prior error check (ie, error solution), so that the error model that can be used for reference later can be established more accurately.
  • error solution ie, error solution
  • the inverse kinematics method to be detected is solved by an error, and the result of the error solution is obtained, which may include the following contents:
  • S2 determining, according to the random number seed, an array of a plurality of random numbers, and using the plurality of random number arrays as a plurality of first joint variables;
  • S3 Perform positive kinematic calculation on the plurality of first joint variables to obtain position and posture information of the plurality of end effectors;
  • the configuration data may specifically include at least one of the number of times of solution (ie, the number of cycles to be solved), the type of result of the error solution to be acquired, and the like.
  • the result type of the error solution may specifically include: an inverse kinematics solution success rate, an inverse kinematic solution error of the joint variable, and a repeated positioning accuracy error.
  • the first solution process may be correspondingly performed through the specific content of the configuration data input or specified by the user. The regulation is to obtain the result of the error solution to meet the customer's needs. Therefore, according to the specific user requirements and implementation conditions, the corresponding first solution process can be flexibly customized, and the result of the error solution satisfying the specific requirements can be obtained, which is convenient for the user to use and improves the user experience.
  • the random number seed when the random number seed is specifically implemented, it may be determined according to the system time. Specifically, the system time can be used as a random number seed. Further, a plurality of random number arrays can be generated by using a random number generating function based on the random number seed. It should be noted that the total number of the random number arrays is the same as the number of the joint variables of the target to be studied. That is, each of the random number arrays can be considered to correspond to one joint variable data. Therefore, in a specific implementation, the plurality of random number arrays may be used as a plurality of first joint variables to perform forward kinematic calculation, and position and posture information of the plurality of end effectors are obtained.
  • the error is solved for the inverse kinematics method to be detected.
  • the position and attitude information of the plurality of end effectors calculated by the forward kinematics may be used as input data to inversely calculate the corresponding
  • a plurality of second joint variables are provided so that the obtained second variable can be compared with the first variable to determine a specific error condition.
  • the error is determined according to the configuration data, the plurality of first joint variables, and the plurality of second joint variables.
  • the results when implemented, can include the following:
  • S5-1 comparing a total number of the plurality of first joint variables and a total number of the plurality of second joint variables to obtain a first comparison result, and determining an inverse kinematics solution success rate according to the first comparison result;
  • S5-3 Solving the inverse kinematics success rate according to the configuration data, and/or an inverse kinematic solution error of the joint variable as a result of the error solution.
  • the inverse kinematics solution success rate of the inverse kinematics solution to be detected may be determined according to the following formula:
  • R may specifically solve the success rate of inverse kinematics
  • N may be a plurality of first
  • the total number of joint variables, M may be the total number of multiple second joint variables. Among them, there may be errors in the inverse kinematics solution to be detected.
  • the total number of multiple second joint variables tends to be less than or equal to the total number of multiple first joint variables.
  • the second joint variable and the first joint variable corresponding to the second joint variable may be respectively compared in the specific implementation, Determine the inverse kinematic solution error for each joint variable.
  • the error solving process may be adjusted according to user input or specified configuration data, or the result data obtained by the solution may be sorted. For example, if the number of solves in the configuration data is 4, the error calculation can be performed 4 times according to the above-mentioned solution method according to the information in the configuration data, and the relevant data obtained by solving 4 times (including: inverse kinematics solution success rate, joint) The inverse kinematics solution error of the variable, etc. is collated to obtain user-customized result data. For example, if the data type in the configuration data is the inverse kinematics solution success rate, only the inverse kinematics solution success rate can be collated as the result of the above error solution according to the customization requirements in the configuration data.
  • the specific requirements of the user may be determined according to the information in the configuration data, and then the result of the above error solution is used according to the customization requirements of the user to establish a corresponding error.
  • the error model may specifically include multiple types of error models.
  • the error model may be an inverse kinematic solution error for a joint variable, or may be an error model for solving the inverse kinematics success rate. It is an error model for the repeatability error.
  • the specific error model described above may be specifically determined according to user input or specified configuration information.
  • the target may specifically be, but is not limited to, at least one of the following: a robotic arm, a moving chassis, and the like.
  • the mechanical arm may be a serial mechanical arm.
  • the tandem robot arm also called the joint robot arm, is a robotic device having a plurality of joint variables.
  • the above-mentioned objects are merely for better explanation of the present embodiment. In specific implementation, depending on the specific situation, the above object may also be other devices or devices that need to be applied to the inverse kinematics solution method.
  • the moving target data may specifically be related data that requires the control target to complete a certain moving target action.
  • the target object is a robot arm
  • the moving target data may specifically be related data for controlling the mechanical arm to complete the action of grabbing the part from the specified position; correspondingly, the moving target data related to the moving target may be specifically completed. Change data of position and attitude information of each end effector of the target action robot arm.
  • the moving target data of the acquiring target may be that the user inputs instruction data corresponding to the moving target through a device such as a keyboard or a mouse; or may perform a target action by visually grasping, and according to the Grab the target action and generate the corresponding moving target data.
  • the above-mentioned moving target data may be substituted into the target model for specific operation to obtain a real operation situation.
  • S2 Perform inverse kinematic calculation on the first position and posture information of the end effector of the target according to the inverse kinematics method to be detected, to obtain a plurality of third joint variables, and obtain the plurality of A three joint variable is used as the joint variable data.
  • the data processing amount and the data processing amount can be balanced in the following manner.
  • the error solution is introduced to determine the current error of the inverse kinematics method to be detected online in real time:
  • the joint variable data obtained by the inverse kinematics solving method to be detected is used as input data, and the kinematics calculation is performed, and the second position and posture information of the end effector of the corresponding target can be obtained; Further, the second position and posture information of the end effector of the obtained target object can be compared with the first position and posture information of the end effector of the target before the inverse kinematic calculation, and the inverse kinematics can be determined according to the difference.
  • the real-time error in the specific process of solving is taken as the above current error. That is, the current error can be considered to be the real-time error obtained when the inverse kinematics solution method to be detected is applied.
  • the first position and posture information of the end effector of the target object and the second position and posture information of the end effector of the corresponding target are compared to obtain a third comparison result.
  • the method may include: determining a difference between a first position of the end effector of the target and a total number of posture information and a total number of second positions and posture information of the end effector of the target; and/or determining each target a difference between the second position of the end effector and the value of the posture information and the value of the first position and posture information of the end effector of the corresponding object; and/or, the recording determines the end effector of the target to be determined separately The first position and posture information, the second position of the end effector of the target, and the specific time used for the posture information, and analysis of the time difference and the like.
  • the monitoring indication may also be acquired while acquiring the target motion data, wherein the monitoring indication is used to indicate a specific data type or data amount to be detected in the current error. For example, in a specific implementation, only the difference between the first position of the end effector and the total position information of the end effector of the target and the second position and the total position information of the end effector of the target may be used as the current error according to the monitoring indication. .
  • the above monitoring indication can be specifically determined by the user. The specific situation and implementation requirements are determined by themselves to achieve the user's customized acquisition of the above current error.
  • the joint variable data is corrected according to the current error according to the current error, specifically When implemented, it can include the following:
  • S3 correct the third joint variable in the joint variable data by using the error compensation amount to obtain corrected joint variable data.
  • the present embodiment in order to more accurately evaluate whether the inverse kinematics method to be detected is reliable in implementation, whether the generated error is within an acceptable range, the present embodiment also introduces an error tolerance value for judging Whether the inverse kinematic solution method error to be detected is within an acceptable range.
  • the above error tolerance value may be specifically set by the user according to specific conditions and specific production design requirements.
  • the default error tolerance values of several commonly used parameters and corresponding values may be provided in advance for the user to select and use to improve the user experience.
  • the error is solved before running, and the error model is established according to the solution result; the error is solved by running to determine the current error during the operation, and the error is utilized.
  • the model performs data correction based on the above current error, thus solving the technical problem that the existing method cannot determine the error of the inverse kinematics method in real time, and can not correct the data error in time, so that the inverse kinematics solving method can be determined in real time and efficiently. Error, and timely technical effects of corresponding data correction.
  • the method may further include: performing error solution on the corrected joint variable data to determine a corrected current error, and determining the correction. Whether the current error is greater than the error tolerance.
  • the corrected joint variable data can be re-executed in the above manner.
  • An error is solved to determine if the corrected joint variable data meets the requirements. If the requirement is not met, for example, the corrected current error corresponding to the corrected joint variable data is still greater than the error tolerance value, the corrected joint variable data may be corrected again until the final requirement is met, that is, the error The joint variable data is less than or equal to the error tolerance.
  • the specific preset correction times may be customized according to the requirements of the user, so that the joint variable data may be corrected multiple times according to the preset number of preset corrections by the user, so that the accuracy can be obtained accurately. Joint variable data with less error.
  • the data may be determined to correspond to the inverse kinematics solution method. The singularity points, the data is recorded, saved, and provided to the user for other corresponding analysis and processing.
  • the method may also pre-evaluate the inverse kinematics method to be detected according to the result of the error solution, and then According to the pre-evaluation, whether to adopt other inverse kinematics solving methods is selected. Specifically, for example, the pre-evaluation of the A-class inverse kinematics method to be detected generated according to the result of the error solution is particularly unsatisfactory, and the A-type inverse kinematics method for subsequent detection may be discarded to solve the error. Use other types of inverse kinematics to determine the error.
  • the method may further include the following: using the target if the current error is less than or equal to the error tolerance
  • the model of the object performs motion planning of the target according to the joint variable data, wherein the model of the target is a ROS model.
  • model of the target object may be specifically constructed as follows:
  • a three-dimensional model of a robot arm or a moving chassis can be drawn in a ROS system using mechanical design software such as SW or ProE.
  • the ROS system ie, the Robot Operating System
  • the ROS system is specifically an open source robot operating system. Specifically, it uses a distributed organizational structure, consisting of a series The column is composed of low-coupling independent running processes, so it has very high freedom of code porting and multiplexing. It is convenient to use multiple languages (such as C++, Python, etc.) to write the corresponding robot modeling and motion control code, or to quickly deploy your own robot operating system with the software package integrated by the system itself, to realize robot models, algorithms, etc. Quick verification work. Therefore, the complexity of the basic verification work of the robot research can be greatly reduced, and the use effect is better.
  • the geometric feature and the motion feature information of each joint in the target can be written by using a script description language such as URDF or XCRO, and the prepared description file is loaded into the three-dimensional model of the target object described above, thereby obtaining the The model of the target used.
  • a script description language such as URDF or XCRO
  • the target specific motion planning may be performed according to the joint variable data by using a model of the target:
  • S1 Read the model of the target. Specifically, the description file of the target is loaded to obtain physical parameters related to the target.
  • S3 Generate Move_Group_Interfac program, which calls the relevant interface function of ROS system to write the interface program of MoveIt to read the current error obtained by the kinematics solution method and the corrected joint variable data, and perform motion planning based on the corrected joint variable data. , thereby generating a sequence of motion messages of the target, ie, respective end effector position and attitude information of the corresponding target.
  • S4 Generate a GUI (Rviz Plugin) configuration file based on S3. That is, the Rviz plugin is loaded to realize the real-time display of the motion state of the object in the form of 3D animation. In this way, the user can intuitively and conveniently see the process of the specific motion of the target object according to the joint variable data obtained by the inverse kinematics solution method to be detected.
  • GUI Raster Plugin
  • S5 Generate a Control_Manager configuration file to move the mechanical motion generated by the motion planning
  • the message sequence is sent to the driver module of the target, thereby driving the target to perform a predetermined action in accordance with the above data information. Specifically, it is implemented by issuing the FollowJointTrajectoryAction message of the ROS system.
  • the method for determining and correcting the error of the inverse kinematic solution method of the mechanical arm provided by the embodiment of the present application first solves the error before running, and establishes an error model according to the solution result; The error is solved to determine the current error in real time during the operation, and the error model is used to perform specific data correction according to the current error. Therefore, the error of the inverse kinematic solution method that cannot be determined in real time in the existing method can be solved.
  • the technical problem of correcting the data error can achieve the technical effect of determining the inverse kinematics solution error in real time and efficiently, and timely performing the corresponding data correction; and introducing the configuration data in the process of solving the specific error, using the configuration data pair
  • the error solving process is regulated accordingly, so as to obtain corresponding data according to the needs of the user, which facilitates the user to customize the data amount and data type in the error solving result, and improves the user experience.
  • an embodiment of the present invention also provides a device for determining and correcting the error of the inverse kinematics of the mechanical arm, as described in the following embodiments. Since the principle of solving the problem of the device is similar to the method of determining and correcting the error of the inverse kinematics of the manipulator, the error of the inverse kinematic solution method of the manipulator and the implementation of the correcting device can be found in the determination of the error of the inverse kinematics of the manipulator. And the implementation of the calibration method, the repetition will not be repeated.
  • the term "unit” or "module” may implement a combination of software and/or hardware of a predetermined function.
  • FIG. 2 is a structural diagram of the apparatus for determining and correcting the error of the inverse kinematics method of the mechanical arm according to the embodiment of the present application.
  • the apparatus may include: an establishing module 21, an obtaining module 22, a calculating module 23, and a determining module. 24. Correction module 25, which will be specifically described below.
  • the module 21 is configured to perform an error solution for the inverse kinematics method to be detected, obtain a result of the error solution, and establish an error model according to the result of the error solution.
  • the obtaining module 22 is specifically configured to acquire moving target data of the target.
  • the calculating module 23 is specifically configured to: according to the moving target data, according to the to-be-checked
  • the inverse kinematics method is used to perform inverse kinematics calculations to obtain joint variable data.
  • the determining module 24 is specifically configured to determine, according to the joint variable data, an error of the inverse kinematics method to be detected by using an error solution.
  • the correction module 25 is specifically configured to correct the joint variable data by using the error model according to the current error.
  • the establishing module 21 may specifically determine the result of the error solution by using the following units:
  • the obtaining unit may be specifically configured to obtain a random number seed and configuration data.
  • the first determining unit may be specifically configured to determine, according to the random number seed, an array of multiple random numbers, and use the multiple random number array as a plurality of first joint variables;
  • the first calculating unit may be specifically configured to perform positive kinematic calculation on the plurality of first joint variables to obtain position and posture information of the plurality of end effectors;
  • the second calculating unit may be configured to perform inverse kinematic calculation on the position and posture information of the plurality of end effectors by using the inverse kinematics solving method to be detected to obtain a plurality of second joint variables;
  • the second determining unit may be specifically configured to determine a result of the error solution according to the configuration data, the plurality of first joint variables, and the plurality of second joint variables.
  • the second determining unit may be executed according to the following procedure: comparing the total number of the plurality of first joint variables with the a total number of the plurality of second joint variables, obtaining a first comparison result, determining an inverse kinematics solution success rate according to the first comparison result; comparing the first joint variable value with the corresponding second joint variable value to obtain a second comparison result Determining an inverse kinematic solution error of the joint variable according to the second comparison result; determining the inverse kinematics success rate according to the configuration data, and/or an inverse kinematic solution error of the joint variable as a The result of the error solution.
  • joint variable data is obtained, and the calculation module 23 specifically may include the following structural units:
  • the generating unit may be specifically configured to generate first position and posture information of the end effector of the target according to the moving target data;
  • the third calculating unit may be configured to perform inverse kinematic calculation on the first position and posture information of the end effector of the target according to the inverse kinematics solving method to be detected, to obtain a plurality of third joint variables, And using the plurality of third joint variables as the joint variable data.
  • the determining module 24 may specifically include the following structural units:
  • the fourth calculating unit may be specifically configured to perform positive kinematic calculation on the joint variable data to obtain second position and posture information of the end effector of the target object;
  • the comparing unit may be specifically configured to compare the first position and posture information of the end effector of the target with the second position and posture information of the end effector of the corresponding target, to obtain a third comparison result, and The third comparison result is taken as the current error.
  • the correction module 25 may specifically include the following structural units:
  • the third determining unit may be specifically configured to determine whether the current error is greater than an error tolerance value
  • the fourth determining unit may be specifically configured to determine, by using the error model, an error compensation amount according to the current error, if the current error is greater than the error tolerance value;
  • the correcting unit may be specifically configured to correct the corresponding third joint variable in the joint variable data by using the error compensation amount to obtain corrected joint variable data.
  • the device may further include: a retest module, which may be specifically used to The corrected joint variable data is subjected to error solution to determine the corrected current error, and it is determined whether the corrected current error is greater than the error tolerance.
  • a retest module which may be specifically used to The corrected joint variable data is subjected to error solution to determine the corrected current error, and it is determined whether the corrected current error is greater than the error tolerance.
  • system, device, module or unit illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product having a certain function.
  • the above devices are described separately in terms of functions divided into various units.
  • the functions of each unit may be implemented in the same software or software and/or hardware when implementing the present application.
  • the apparatus for determining and correcting the error of the inverse kinematics solution method of the mechanical arm provided by the embodiment of the present application first solves the error before the operation of the module, and establishes an error model according to the solution result;
  • the additional error solving process is introduced by the determining module to determine the current error in real time during the running process, and the correction module uses the error model to perform specific data correction according to the current error, thereby solving the problem that the existing method cannot be real-time.
  • the error of the inverse kinematics method is determined online, and the technical problem of data error cannot be corrected in time, so that the error of the inverse kinematics method can be determined in real time and efficiently, and the corresponding data correction effect can be performed in time;
  • the configuration data is introduced in the process of solving the specific error, and the error solving process is adjusted accordingly by using the configuration data to obtain the corresponding data according to the needs of the user, which facilitates the user to calculate the data amount and data type in the error solution result. Customization, improve User experience.
  • the embodiment of the present application further provides an electronic device.
  • the device may specifically include an input device 31, The processor 32 and the memory 33.
  • the input device 31 can be specifically configured to input moving target data of the target, an inverse kinematic solution method to be detected, and configuration data customized according to user requirements.
  • the processor may be specifically configured to perform an error solution for the inverse kinematics method to be detected, obtain a result of the error solution, and establish an error model according to the result of the error solution; according to the motion target data, according to the to-be-detected
  • the inverse kinematics solving method performs inverse kinematics calculation to obtain joint variable data; according to the joint variable data, the current error of the inverse kinematics solving method to be detected is determined by error solving; and the current error is utilized according to the current error
  • the error model corrects the joint variable data.
  • the memory 33 can be specifically used for inputting data input by the device 31, and various result data and an established error model generated during the operation of the processor.
  • the input device may specifically be one of main devices for exchanging information between the user and the computer system.
  • the input device may include a keyboard, a mouse, a camera, a scanner, a light pen, a handwriting input pad, a voice input device, etc.; the input device is used to input raw data and a program for processing the numbers into the computer.
  • the input device can also acquire data transmitted by other modules, units, and devices.
  • the processor can be implemented in any suitable manner.
  • a processor can employ, for example, a microprocessor or processor and a computer readable medium, logic gate, switch, or application-specific integrated circuit (such as software or firmware) that can be executed by the (micro)processor.
  • the memory may specifically be a memory device for storing information in modern information technology.
  • the memory includes many levels. In the digital system, as long as the binary data can be saved, the memory can be stored; in the integrated circuit, a circuit having a storage function without a physical form is also called a memory, such as a RAM, a FIFO, etc.; Among them, a storage device having a physical form is also called a memory, such as a memory stick, a TF card, or the like.
  • a computer storage medium is also provided in the application embodiment, and the computer storage medium stores computer program instructions, which are implemented when the computer program instructions are executed:
  • the inverse kinematics solution method is used to solve the error, and the error solution result is obtained, and an error model is established according to the result of the error solution; and the moving target data of the target object is obtained;
  • the storage medium includes, but is not limited to, a random access memory (RAM), a read-only memory (ROM), a cache, and a hard disk drive (HDD). Or a memory card.
  • RAM random access memory
  • ROM read-only memory
  • HDD hard disk drive
  • the memory can be used to store computer program instructions.
  • the error determination and correction method and apparatus for the inverse kinematics solution method of the mechanical arm provided by the present application are used to specifically determine the error of the inverse kinematic solution method of the mechanical arm in a specific production design.
  • the specific implementation process can be implemented by referring to the following.
  • the implementation apparatus may specifically include the following structures: a robot arm ROS model description module, an input module, an error calculation and compensation module, a robot arm motion planning module, a robot arm motion display module, and a robot arm execution module.
  • the above input module and the error calculation and compensation module are specifically implemented, and are applied to relevant kinematic calculations, and the so-called kinematic calculations specifically include: positive kinematics solution and inverse kinematics solution.
  • the positive kinematics solution that is, the respective joint variables of the tandem robot arm are given, and the process of solving the spatial position coordinates and the pose of the actuator end mechanism (ie, the position and posture information of the end effector of the target object) is calculated. It should be added that the accuracy of positive kinematics is usually relatively high and can reach the micron level.
  • the inverse kinematics solution gives the spatial coordinates and pose of the end effector of the tandem manipulator and calculates the joint variables of the joints of the manipulator.
  • the relatively widely used inverse kinematics solution can include the following types: geometric method, algebraic method, Analytic methods, intelligent composite algorithms, etc.
  • geometric method algebraic method
  • Analytic methods intelligent composite algorithms
  • Each of the above algorithms or methods has a certain solution accuracy, solution speed, and solution error. This is also the content that this embodiment requires verification and real-time determination.
  • FIG. 5 a schematic diagram of a complete error solution, correction, and motion planning using the method for determining and correcting the error of the inverse kinematics of the mechanical arm by applying the embodiment of the present application is provided.
  • the specific inverse kinematic solution method error determination, correction and corrected motion planning are performed by the above-mentioned implementation device, and the specific steps can be performed as follows:
  • Step 1 Establish the ROS model of the robot arm (ie the model of the target).
  • this step can be specifically divided into two steps.
  • the first is the three-dimensional model drawing of the mechanical arm.
  • the 3D model of the mechanical arm can be drawn by mechanical design of the three-dimensional drawing software such as SW, ProE, etc.; then the description file of the mechanical arm is written, specifically the mechanical arm in the ROS system.
  • the geometric features and motion information of each joint of the robot arm are written in a script description language such as URDF or XCRO, and the three-dimensional model of the robot arm in the previous step is loaded.
  • Step 2 Inverse kinematics algorithm verification and error model establishment (ie error solution).
  • the verification parameter (ie, configuration data) input by the user may be first received in the specific implementation, and the verification parameter may specifically include: the amount of data to be verified (ie, the number of cycles), the type of data to be saved (eg, the error of the joint variable, Repeat the positioning accuracy error and other parameters, and then calculate the error by the inverse kinematics algorithm to be verified, and establish an error model.
  • the amount of data to be verified ie, the number of cycles
  • the type of data to be saved eg, the error of the joint variable, Repeat the positioning accuracy error and other parameters, and then calculate the error by the inverse kinematics algorithm to be verified, and establish an error model.
  • the present embodiment can more conveniently provide the user with the freedom to customize his specific data amount and data type according to his own needs.
  • step 2 the flow chart of the method for determining and correcting the error of the inverse method of the mechanical arm inverse kinematics in the application of the embodiment of the present application, which is shown in FIG. Step execution:
  • Step 2.1 Random number seed initialization.
  • the system time may be used as a random number seed, and the random number seed is used to generate an N random number array by a random number generating function, and each array sequentially corresponds to a joint variable of the tandem robot arm, and each The array of random numbers is within the valid range of the joint variable.
  • Step 2.2 Positive kinematics calculation.
  • the randomly generated N joint variable arrays can be positive kinematically calculated to obtain the position and attitude information of the N end effectors. Due to the accuracy of the forward kinematics, the calculation result here is very high. Accuracy can be used as a theoretical input for inverse kinematics calculations.
  • Step 2.3 Inverse kinematics calculation.
  • the position and attitude information of the N end-executors calculated above may be used as input of an inverse kinematics solution to be verified (ie, an inverse kinematics method to be detected), wherein each end The position and attitude information of the actuator corresponds to a calculation result. If successful, an array of corresponding joint variables is generated, and if it fails, it returns 0. In the present embodiment, M joint variable arrays (M ⁇ N) have been successfully obtained.
  • Step 2.4 Error calculation.
  • the solution success rate R of the inverse kinematics algorithm can be obtained first according to the calculation result of the previous step:
  • the inverse kinematics solution error of each set of joint variables can be obtained by comparing the two.
  • the error model may be further established, and the inverse kinematics algorithm to be detected is used as the inverse kinematics solution to be detected. Otherwise, it is considered that the algorithm does not meet the application requirements, and the inverse kinematics solving method based on another algorithm is selected to solve the error.
  • Step 3 Enter the moving target and set the monitoring parameters (ie, obtain the moving target data and monitor the indication).
  • the user can set the spatial target to be reached by the input robot arm and configure the corresponding error tolerance value (also called the maximum tolerance error), the joint variable range, and the maximum solution time parameter.
  • the spatial target acquisition target motion data input by the user may specifically be a real-time spatial target acquired by various means such as manual, program, and visual.
  • Step 4 Kinematics solution error calculation and compensation (ie error solution and error correction).
  • the configuration parameters set in step 3 are read and related calculations are performed, and finally a more accurate inverse kinematics calculation result (ie, corrected joint variable data) is generated.
  • Step 4.1 Target point reading (equivalent to obtaining moving target data).
  • the target information input by the user that is, the spatial position and posture information of the end effector of the serial robot arm can be read, and here, data or instructions that need to be input according to the actual operating state of the robot arm are generally used.
  • Step 4.2 Inverse kinematics calculation.
  • the information may be transmitted to the inverse kinematics solution as an input of the inverse kinematics algorithm to be detected, and the start calculation time is recorded. If the result is successfully returned, the time is recorded and the result is saved, and the calculation time is current. for:. If the wait time inverse kinematics solver does not return a result, it is recorded as a timeout. The above time information is recorded to be fed back to the user.
  • the range of the series mechanical arm joint variable arrays calculated by the above calculation may be subjected to range monitoring to determine whether each joint variable is within the effective range and the judgment result is recorded.
  • Step 4.3 Positive kinematics calculation.
  • the result of the above determination can be passed to the forward kinematics calculation program as the input of the forward kinematics, and the spatial attitude and position information of the end effector of the robot arm can be obtained, and the information and the input robot arm can be obtained.
  • the spatial position and attitude information of the end effector are compared, and the difference is the estimated error of the inverse kinematics algorithm (ie, the current error).
  • Step 4.4 Error estimation.
  • the error prediction value and the error tolerance can be compared to determine the validity. If the determined error value is greater than the error tolerance, the data needs to be error corrected.
  • Step 4.5 Error correction.
  • the corresponding error correction can be performed in the following manner: firstly, using the error model, the error prediction value obtained in step 4.4 is input into the error model to give an error of the joint variable compensation value; The joint variable can be corrected by the joint variable compensation value and then re-entered into the positive kinematics calculation program to re-evaluate the error; then the re-evaluated error value is compared with the error tolerance to judge its validity; The compensated inverse kinematics calculation result (ie, the corrected joint variable data), and the data is output and saved.
  • the number of loop compensations may be set to limit the error compensation process, and if the multiple compensation fails to achieve the desired effect, the point is determined to be a singular point corresponding to the inverse kinematics algorithm. The point is recorded and fed back to the user for analysis and processing.
  • the method may specifically include the following steps:
  • Step 5 Manipulator motion planning (ie, using the model of the target to perform motion planning of the target based on the joint variable data).
  • the inverse kinematics solution result generated in step 3 is read, and the motion planning of the robot arm is performed in conjunction with the ROS model of the robot arm established in step 1, and finally a robot arm motion message sequence is generated.
  • the process diagram of determining and correcting the error of the inverse calculation method of the mechanical arm in the embodiment of the present application shown in FIG. 8 for performing specific motion planning may be referred to. .
  • this process can be specifically implemented by configuring the MoveIt module of the ROS system, and the specific implementation process includes the following contents:
  • Step 5.1 Read the robotic arm ROS model. That is, the description file of the robot arm is loaded, thereby obtaining the physical parameters of the robot arm.
  • Step 5.2 Write the MoveIt Motion Planning Library configuration file. This step is to configure the motion planning library of the MoveIt module of the ROS system.
  • the specific implementation method is to call the Setup Assistant tool of MoveIt and set the default motion planning library to OMPL.
  • Step 5.3 Write the Move_Group_Interfac program.
  • the function is to write the interface program of MoveIt, which is to read the inverse kinematics solution result after the kinematic solution error calculation and compensation, and perform motion planning based on the result, thereby generating a robot arm motion message sequence.
  • Step 5.4 Write a GUI (Rviz Plugin) configuration file. That is, the Rviz plug-in is loaded, so that the motion state of the robot arm can be displayed in real time in the form of 3D animation, so that the user can visually see the movement process of the robot arm.
  • GUI Raster Plugin
  • Step 5.5 Write the Control_Manager configuration file.
  • the function of this step is to send a sequence of mechanical motion messages generated by the motion planning to the drive module of the robot arm, thereby driving the robot arm to perform a predetermined action. Specifically, it is implemented by issuing the FollowJointTrajectoryAction message of the ROS system.
  • the inverse kinematic solution method error obtained by the specific inverse kinematics algorithm can be realized, and the corrected accurate result can be obtained, so as to carry out the motion planning of the robot arm.
  • Step 6 The movement of the robot arm is displayed.
  • the motion state of the mechanical arm can be displayed in real time in the form of 3D animation or the like, and the joint motion curve of the mechanical arm can also be drawn. In this way, the user can intuitively observe the movement state of the arm and the joint motion process, thereby further improving the user experience.
  • the above motion display can be specifically implemented by the Rviz plugin and the rqt_plot plugin of the ROS system.
  • Step 7 The robotic arm is executed.
  • the robot arm motion message sequence generated in step 5 can be transmitted to the robot arm drive, and the robot arm can be driven to perform a corresponding action.
  • the user can also customize the acquisition timing of the inverse kinematic solution method error according to the need, and specifically, if the pre-verification mode is selected, the error data corresponding to the inverse kinematics algorithm can be obtained by the error solution.
  • the first verification of the dynamic solution method can further analyze the error source of the inverse kinematics method to establish the error model; if the online monitoring mode is selected, the current error of the inverse kinematics solution method can be calculated in real time through the error solution. Corresponding corrections are made to ensure that the results given by the inverse kinematics method are fairly accurate, thus ensuring smooth and reliable operation of the manipulator.
  • the method and device for determining and correcting the error of the inverse kinematics solution of the mechanical arm provided by the embodiment of the present application are verified.
  • the error is solved before running, and the error model is established according to the solution result;
  • the process is used to determine the current error during the operation, and the error model is used to correct the data according to the current error. Therefore, the error of the inverse kinematic solution method that cannot be determined in real time in the existing method is solved, and the data error cannot be corrected in time.
  • the technical problem is to achieve the technical effect that the inverse kinematics solution error can be determined in real time and efficiently, and the corresponding data correction is performed in time.
  • the controller can be logically programmed by means of logic gates, switches, ASICs, programmable logic controllers, and embedding.
  • program modules include routines, programs, objects, components, data structures, classes, and the like that perform particular tasks or implement particular abstract data types.
  • the present application can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are connected through a communication network.
  • program modules can be located in both local and remote computer storage media including storage devices.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Manipulator (AREA)

Abstract

一种机械臂逆运动学求解方法误差的确定及校正方法和装置,通过在运行前建立误差模型,运行时通过误差求解确定当前误差,并利用误差模型进行相应的数据校正,解决了现有方法中无法实时在线确定逆运动学求解方法误差,无法及时校正数据误差的技术问题。方法包括:对待检测的逆运动学求解方法进行误差求解,得到误差求解的结果,并根据误差求解的结果建立误差模型(S11);获取目标物的运动目标数据(S12);根据运动目标数据,按照待检测的逆运动学求解方法进行逆运动学计算,得到关节变量数据(S13);根据关节变量数据,通过误差求解,确定待检测的逆运动学求解方法的当前误差(S14);根据当前误差,利用误差模型,对关节变量数据进行校正(S15)。

Description

机械臂逆运动学求解方法误差的确定及校正方法和装置
本申请要求2017年09月29日提交的申请号为:201710904721.9、发明名称为“机械臂逆运动学求解方法误差的确定及校正方法和装置”的中国专利申请的优先权,其全部内容合并在此。
技术领域
本发明涉及机械臂运动控制技术领域,特别是涉及一种机械臂逆运动学求解方法误差的确定及校正方法和装置。
背景技术
在机械臂运动控制技术领域,常常需要通过进行正运动学求解、逆运动学求解以确定机械臂的工作空间和关节空间之间具体的映射关系,进而建立出较为准确的机械臂的运动学模型对机械臂的运动进行具体控制。
上述正运动学求解通常可以包括根据机械臂的各个关节变量,利用正运动学求解方法,计算确定机械臂的末端执行器的位置和姿态信息;上述逆运动学求解通常可以包括根据机械臂的末端执行器的位置和姿态信息,利用逆运动学求解方法,计算确定机械臂的各个关节变量。具体实施时,采用的求解方法不同,得到的结果误差也有差异。为了能够更加精准地控制机械臂的运动,需要准确地确定出所使用的求解方法的误差,以便可以及时进行修正、调整。其中,由于正运动学求解方法误差的确定过程相对比较简单,已经能较精确的地确定出具体的正运动学求解方法误差。但是,逆运动学求解方法误差的求解,由于求解过程相对更为复杂,且计算量相对较大,如何准确、高效、实时地确定逆运动学求解方法误差一直是本领域关注的问题。
目前,考虑到确定逆运动学求解方法误差的过程较为复杂,为了确定机械臂逆运动学求解方法误差,大多是通过预先验证的方式进行求解。即在机械臂具体运行或进行具体模拟前,对相关的逆运动学算法误差进行预先求解,而不能在机械臂具体运行或进行模拟期间,实时地对机械臂的逆 运动学求解方法运行过程中产生的误差进行具体的确定,导致技术人员无法在线获得具体实施时的误差情况,影响后续对机械臂控制的改进和调整。综上可知,现有方法具体实施时,往往存在无法实时、在线确定逆运动学求解方法误差,无法及时在线校正数据误差的技术问题。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本申请实施方式提供了一种机械臂逆运动学求解方法误差的确定及校正方法和装置,以解决有方法中存在的无法实时在线确定逆运动学求解方法误差,无法及时校正数据误差的技术问题。
本申请实施方式提供了一种机械臂逆运动学求解方法误差的确定及校正方法,包括:
对待检测的逆运动学求解方法进行误差求解,得到误差求解的结果,并根据所述误差求解的结果建立误差模型;
获取目标物的运动目标数据;
根据所述运动目标数据,按照所述待检测的逆运动学求解方法进行逆运动学计算,得到关节变量数据;
根据所述关节变量数据,通过误差求解,确定待检测的逆运动学求解方法的当前误差;
根据所述当前误差,利用所述误差模型对所述关节变量数据进行校正。
在一个实施方式中,所述对待检测的逆运动学求解方法进行误差求解,包括:
获取随机数种子、配置数据;
根据所述随机数种子,确定多个随机数数组,并将所述多个随机数数组作为多个第一关节变量;
对所述多个第一关节变量进行正运动学计算,得到多个末端执行器的位置和姿态信息;
利用所述待检测的逆运动学求解方法,对所述多个末端执行器的位置 和姿态信息进行逆运动学计算,得到多个第二关节变量;
根据所述配置数据、所述多个第一关节变量、所述多个第二关节变量,确定所述误差求解的结果。
在一个实施方式中,根据所述配置数据、所述多个第一关节变量、所述多个第二关节变量,确定所述误差求解的结果,包括:
比较所述多个第一关节变量的总数和所述多个第二关节变量的总数,得到第一比较结果,根据所述第一比较结果确定逆运动学求解成功率;
比较第一关节变量值与对应的第二关节变量值,得到第二比较结果,根据所述第二比较结果确定关节变量的逆运动学求解误差;
根据所述配置数据,将所述逆运动学求解成功率,和/或,所述关节变量的逆运动学求解误差作为所述误差求解的结果。
在一个实施方式中,所述目标物包括以下至少之一:机械臂、移动底盘。
在一个实施方式中,根据所述运动目标数据,按照所述待检测的逆运动学求解方法进行逆运动学计算,得到关节变量数据,包括:
根据所述运动目标数据,生成目标物的末端执行器的第一位置和姿态信息;
按照所述待检测的逆运动学求解方法对所述目标物的末端执行器的第一位置和姿态信息进行逆运动学计算,得到多个第三关节变量,并将所述多个第三关节变量作为所述关节变量数据。
在一个实施方式中,根据所述关节变量数据,通过误差求解,确定待检测的逆运动学求解方法的当前误差,包括:
对所述关节变量数据进行正运动学计算,得到目标物的末端执行器的第二位置和姿态信息;
比较所述目标物的末端执行器的第一位置和姿态信息与对应的目标物的末端执行器的第二位置和姿态信息,得到第三比较结果,并将所述第三比较结果作为所述当前误差。
在一个实施方式中,根据所述当前误差,利用所述误差模型,对所述 关节变量数据进行校正,包括:
确定所述当前误差是否大于误差容许值;
在所述当前误差大于所述误差容许值的情况下,通过所述误差模型,根据所述当前误差,确定误差补偿量;
利用所述误差补偿量对所述关节变量数据中对应的第三关节变量进行校正,得到校正后的关节变量数据。
在一个实施方式中,在得到校正后的关节变量数据后,所述方法还包括:对所述校正后的关节变量数据进行误差求解,以确定校正后的当前误差,并确定所述校正后的当前误差是否大于所述误差容许值。
在一个实施方式中,所述方法还包括:
在所述当前误差小于等于所述误差容许值的情况下,利用目标物的模型根据所述关节变量数据进行目标物的运动规划,其中,所述目标物的模型为ROS模型。
本申请实施方式还提供了一种机械臂逆运动学求解方法误差的确定及校正装置,包括:
建立模块,用于对待检测的逆运动学求解方法进行误差求解,得到误差求解的结果,并根据所述误差求解的结果建立误差模型;
获取模块,用于获取目标物的运动目标数据;
计算模块,用于根据所述运动目标数据,按照所述待检测的逆运动学求解方法进行逆运动学计算,得到关节变量数据;
确定模块,用于根据所述关节变量数据,通过误差求解,确定待检测的逆运动学求解方法的当前误差;
校正模块,用于根据所述当前误差,利用所述误差模型,对所述关节变量数据进行校正。
在本申请实施方式中,通过运行前进行误差求解,并根据求解结果建立误差模型;运行时通过进行误差求解,以确定出运行过程中的当前误差,并利用误差模型根据上述当前误差进行数据校正,因而解决了现有方法中存在的无法实时在线确定逆运动学求解方法误差,无法及时校正数据误差 的技术问题,达到可以实时、高效地确定出逆运动学求解方法误差,并及时进行对应的数据校正的技术效果。
附图说明
下面将以明确易懂的方式,结合附图说明优选实施方式,对本发明的机械臂逆运动学求解方法误差的确定及校正方法和装置的上述特性、技术特征、优点及其实现方式予以进一步说明。
图1是根据本申请实施方式提供的机械臂逆运动学求解方法误差的确定及校正方法的处理流程图;
图2是根据本申请实施方式提供的机械臂逆运动学求解方法误差的确定及校正装置的组成结构图;
图3是基于本申请实施方式提供的机械臂逆运动学求解方法误差的确定及校正方法的电子设备组成结构图;
图4是在一个场景示例中根据本申请实施方式提供机械臂逆运动学求解方法误差的确定及校正方法和装置设计的实施装置的结构示意图;
图5是在一个场景示例中应用本申请实施方式提供机械臂逆运动学求解方法误差的确定及校正方法和装置进行完整的误差求解、校正及运动规划的流程示意图;
图6是在一个场景示例中应用本申请实施方式提供机械臂逆运动学求解方法误差的确定及校正方法和装置进行具体的误差求解的流程示意图;
图7是在一个场景示例中应用本申请实施方式提供机械臂逆运动学求解方法误差的确定及校正方法和装置进行具体的误差求解以及误差校正的流程示意图;
图8是在一个场景示例中应用本申请实施方式提供机械臂逆运动学求解方法误差的确定及校正方法和装置进行具体的运动规划的流程示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整 地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
考虑到现有的机械臂逆运动学求解方法误差的确定方法,由于逆运动学求解方法误差的确定过程本身比较繁琐,往往只能在通过先验的方式,在具体实施前对所采用的逆运动学求解方法误差进行预先确定。因此,无法在线确定出机械臂具体实施或模拟过程中的误差情况,更无法在具体实施或模拟过程中针对出现的误差进行及时的修正。即现有方法具体实施时,往往存在无法实时、在线确定逆运动学求解方法误差,无法及时在线校正数据误差的技术问题。针对产生上述技术问题的根本原因,本申请考虑可以在现有的通过先验的方式确定误差的基础上,利用运行前误差确定求取的数据先建立一个误差模型;在具体运行时,引入另一次在线的误差求解确定出当前误差,并利用上述误差模型对逆运动求解得到的关节变量数据进行及时校正,从而解决了现有方法中存在的无法实时在线确定逆运动学求解方法误差,无法及时校正数据误差的技术问题;达到了可以实时、高效地确定逆运动学求解方法误差,并及时进行对应的数据校正的技术效果。
基于上述思考思路,本申请实施方式提供了一种机械臂逆运动学求解方法误差的确定及校正方法。请参阅图1所示的根据本申请实施方式提供的机械臂逆运动学求解方法误差的确定及校正方法的处理流程图。本申请实施方式提供的机械臂逆运动学求解方法误差的确定及校正方法,具体实施时,可以包括以下步骤。
S11:对待检测的逆运动学求解方法进行误差求解,得到误差求解的结果,并根据所述误差求解的结果建立误差模型。
在本实施方式中,上述待检测的逆运动学求解方法具体可以是用于对机械臂或其他目标物,例如移动底盘等设备,进行逆运动学计算求解时所使用的具体的求解方法。其中,上述逆运动学求解方法具体可以包括:几何法、代数法、解析法、智能复合算法等。当然,上述所列举的几种求解 方法只是为了更好地说明本实施方式。具体实施时,也可以根据具体情况和运行要求,选择使用除上述列举的方法以外的其他求解方法。对此,本申请不作限定。
在本实施方式中,还需要补充的是,具体实施时,可以根据本申请提供的机械臂逆运动学求解方法误差的确定方法对一种或几种逆运动学求解方法的具体误差进行确定,并根据所确定的误差对对应的逆运动学求解方法得到的结果数据进行相应的校正;也可以对多种逆运动学求解方法的具体误差进行确定,根据不同的逆运动学求解方法误差,结合具体情况,选出合适的逆运动学求解方法。
在一个实施方式中,具体实施时可以在运行前对待检测的逆运动学求解方法进行预先的误差校验(即误差求解),如此,可以较为准确地建立后续可供参考使用的误差模型。具体实施时,上述对待检测的逆运动学求解方法进行误差求解,得到误差求解的结果,可以包括以下内容:
S1:获取随机数种子、配置数据;
S2:根据所述随机数种子,确定多个随机数数组,并将所述多个随机数数组作为多个第一关节变量;
S3:对所述多个第一关节变量进行正运动学计算,得到多个末端执行器的位置和姿态信息;
S4:利用所述待检测的逆运动学求解方法,对所述多个末端执行器的位置和姿态信息进行逆运动学计算,得到多个第二关节变量;
S5:根据所述配置数据、所述多个第一关节变量、所述多个第二关节变量,确定所述误差求解的结果。
在一个实施方式中,所述配置数据具体可以包括以下至少之一:求解次数(即求解的循环次数)、待获取的误差求解的结果类型等。其中,所述误差求解的结果类型具体可以包括:逆运动学求解成功率、关节变量的逆运动学求解误差、重复定位精度误差等。并且,上述配置数据具体实施时,由用户输入或指定。如此,具体实施时,可以根据用户的具体要求,通过由用户输入或指定的配置数据的具体内容对第一求解过程进行相应 的调控,以获得满足客户需要的误差求解的结果。从而可以达到根据具体的用户要求、实施情况,灵活地定制相应的第一求解过程,并获得满足具体要求的误差求解的结果,方便了用户的使用,提高了用户体验度。
在本实施方式中,上述随机数种子具体实施时,可以根据系统时间确定。具体的,可以将系统时间作为随机数种子使用。进而,可以根据随机数种子,利用随机数产生函数,生成多个随机数数组。其中,需要说明的是,上述随机数数组的总数与待研究目标物的关节变量的组数相同。即,可以认为每一个随机数数组对应于一个关节变量数据。因此,具体实施时,可以将上述多个随机数数组作为多个第一关节变量,以进行正运动学计算,得到多个末端执行器的位置和姿态信息。
在本实施方式中,为了对待检测的逆运动学求解方法进行误差求解,具体实施时可以先将正运动学计算得到的多个末端执行器的位置和姿态信息作为输入数据,以反算出对应的多个第二关节变量,以便后续可以将得到的第二变量与第一变量做比较,以确定具体的误差情况。
在一个实施方式中,为了能通过先验的方式获得符合要求的结果数据,上述根据所述配置数据、所述多个第一关节变量、所述多个第二关节变量,确定所述误差求解的结果,具体实施时,可以包括以下内容:
S5-1:比较所述多个第一关节变量的总数和所述多个第二关节变量的总数,得到第一比较结果,根据所述第一比较结果确定逆运动学求解成功率;
S5-2:比较第一关节变量值与对应的第二关节变量值,得到第二比较结果,根据所述第二比较结果确定关节变量的逆运动学求解误差;
S5-3:根据所述配置数据,将所述逆运动学求解成功率,和/或,所述关节变量的逆运动学求解误差作为所述误差求解的结果。
在一个实施方式中,具体实施时,可以按照以下公式结算出待检测的逆运动学求解方法的逆运动学求解成功率:
R=(N/M)×100%
上式中,R具体可以为逆运动学求解成功率,N具体可以为多个第一 关节变量的总数,M具体可以为多个第二关节变量的总数。其中,由于待检测的逆运动学求解方法具体求解时可能存在误差,在求解第二关节变量时,可能会存在根据部分末端执行器的位置和姿态信息无法顺利确定对应的第二关节变量的情况。因此,多个第二关节变量的总数往往会小于等于多个第一关节变量的总数。
在一个实施方式中,为了较为准确地确定出上述关节变量的逆运动学求解误差,具体实施时可以分别每个第二关节变量和与该第二关节变量对应的第一关节变量进行比较,以确定出每个关节变量的逆运动学求解误差。
在本实施方式中,具体实施时,可以根据用户输入或指定的配置数据,对误差求解过程进行调控或者对求解得到的结果数据进行整理。例如,配置数据中的求解次数为4,则可以根据配置数据中的信息,按照上述求解方式进行4次误差求解,并将4次求解得到的相关数据(包括:逆运动学求解成功率、关节变量的逆运动学求解误差等)进行整理,得到用户定制的结果数据。还例如,配置数据中的数据类型为逆运动学求解成功率,则可以根据配置数据中的定制要求,仅将逆运动学求解成功率进行整理作为上述误差求解的结果。
在本实施方式中,为了建立符合用户要求的误差模型,具体实施时可以根据配置数据中的信息,确定用户的定制要求,进而根据用户的定制要求,利用上述误差求解的结果,建立相应的误差模型。其中,上述误差模型具体可以包括多个类型的误差模型,例如,可以是针对某一个关节变量的逆运动学求解误差的误差模型,也可以是针对逆运动学求解成功率的误差模型,还可以是针对重复精度误差的误差模型。具体实施时,上述具体的误差模型可以根据用户输入或指定的配置信息具体确定。
S12:获取目标物的运动目标数据。
在一个实施方式中,所述目标物具体可以是但不限于以下中的至少之一:机械臂、移动底盘等。其中,上述机械臂具体可以是串联机械臂。上述串联机械臂,又叫关节机械臂,是一种具有多个关节变量的机械人装置。 当然,需要说明的是,上述所列举的目标物只是为了更好地说明本实施方式。具体实施时,根据具体情况,上述目标物也可以是其他需要应用到逆运动学求解方法的设备或装置。
在本实施方式中,上述运动目标数据具体可以是要求控制目标物完成某个指定运动目标动作的相关数据。例如,目标物是机械臂,上述运动目标数据具体可以是控制上述机械臂完成从指定位置抓取零件动作的相关数据;相应的,根据该运动目标相关的运动目标数据具体可以是得到具体完成上述目标动作机械臂的各个末端执行器的位置和姿态信息的变化数据。
在本实施方式中,上述获取目标物的运动目标数据具体可以是用户通过键盘、鼠标等设备输入与所述运动目标对应的指令数据;也可以是通过视觉抓取指定的目标动作,并根据所抓取的目标动作,生成对应的运动目标数据。
S13:根据所述运动目标数据,按照所述待检测的逆运动学求解方法进行逆运动学计算,得到关节变量数据。
在一个实施方式中,为了便于后续可以确定具体运行情况中的逆运动学求解方法的相关误差,具体实施时,可以将上述运动目标数据代入目标的模型中进行具体的运行,以得到真实运行情况下的关节变量数据,以便后续具体的分析、比较:
S1:根据所述运动目标数据,生成目标物的末端执行器的第一位置和姿态信息;
S2:按照所述待检测的逆运动学求解方法对所述目标物的末端执行器的第一位置和姿态信息进行逆运动学计算,得到多个第三关节变量,并将所述多个第三关节变量作为所述关节变量数据。
S14:根据所述关节变量数据,通过误差求解,确定待检测的逆运动学求解方法的当前误差。
在本实施方式中,为了实现在运行的过程中实时地检查、并计算待检测的逆运动学求解方法的误差,可以通过以下方式,在兼顾数据处理量和 处理过程复杂程度的情况下,引入误差求解,以实时地在线确定待检测的逆运动学求解方法的当前误差:
S1:对所述关节变量数据进行正运动学计算,得到目标物的末端执行器的第二位置和姿态信息;
S2:比较所述目标物的末端执行器的第一位置和姿态信息与对应的目标物的末端执行器的第二位置和姿态信息,得到第三比较结果,并将所述第三比较结果作为所述当前误差。
在本实施方式中,将上述通过待检测的逆运动学求解方法获得的关节变量数据作为输入数据,进行正运动学计算,可以得到相应的目标物的末端执行器的第二位置和姿态信息;进而可以将获得的目标物的末端执行器的第二位置和姿态信息与进行逆运动学计算之前的目标物的末端执行器的第一位置和姿态信息进行比较,根据差异情况确定出逆运动学求解的具体过程中的实时误差,作为上述当前误差。即,当前误差可以认为是应用待检测的逆运动学求解方法具体运行时获得实时误差。
在本实施方式中,上述比较所述目标物的末端执行器的第一位置和姿态信息与对应的目标物的末端执行器的第二位置和姿态信息,得到第三比较结果,具体实施时,可以包括以下内容:确定目标物的末端执行器的第一位置和姿态信息的总数与目标物的末端执行器的第二位置和姿态信息的总数的差值;和/或,确定每个目标物的末端执行器的第二位置和姿态信息的数值与对应的目标物的末端执行器的第一位置和姿态信息的数值的差值;和/或,记录确定分别确定目标物的末端执行器的第一位置和姿态信息、目标物的末端执行器的第二位置和姿态信息所使用的具体时间,并分析时间差值等。
在一个实施方式中,在获取目标运动数据的同时,还可以获取监测指示,其中,所述监测指示用于指示当前误差中的待检测的具体数据类型或者数据量。例如,具体实施时,可以根据监测指示,仅将目标物的末端执行器的第一位置和姿态信息的总数与目标物的末端执行器的第二位置和姿态信息的总数的差值作为当前误差。上述监测指示具体可以由用户根据 具体情况和实施要求自行确定,以实现用户对上述当前误差的定制获取。
S15:根据所述当前误差,利用所述误差模型对所述关节变量数据进行校正。
在一个实施方式中,为了能根据所确定的当前误差,对具体运行中的数据进行及时、有效的校正,上述根据所述当前误差,利用所述误差模型对所述关节变量数据进行校正,具体实施时,可以包括以下内容:
S1:确定所述当前误差是否大于误差容许值;
S2:在所述当前误差大于所述误差容许值的情况下,通过所述误差模型,根据所述当前误差,确定误差补偿量;
S3:利用所述误差补偿量对所述关节变量数据中对应的第三关节变量进行校正,得到校正后的关节变量数据。
在一个实施方式中,为了能较准确地评价待检测的逆运动学求解方法具体实施时是否可靠,产生的误差是否在可接受的范围内,本实施方式还引入了误差容许值,用以判断待检测的逆运动学求解方法误差是否属于可接受范围。其中,上述误差容许值具体可以根据具体情况、具体的生产设计要求,由用户根据需要自行设置。当然,在本实施方式中,也可以事先提供几个常用的参数及对应数值最为默认的误差容许值,供用户选择使用,以提高用户的体验度。
在本申请实施例中,相较于现有技术,通过运行前先进行误差求解,并根据求解结果建立误差模型;运行时通过进行误差求解,以确定出运行过程中的当前误差,并利用误差模型根据上述当前误差进行数据校正,因而解决了现有方法中存在的无法实时在线确定逆运动学求解方法误差,无法及时校正数据误差的技术问题,达到可以实时、高效地确定逆运动学求解方法误差,并及时进行对应的数据校正的技术效果。
在一个实施方式中,在得到校正后的关节变量数据后,所述方法具体还可以包括:对所述校正后的关节变量数据进行误差求解,以确定校正后的当前误差,并确定所述校正后的当前误差是否大于所述误差容许值。
在本实施方式中,可以按照上述方式对校正后的关节变量数据再进行 一次误差求解,以确定校正后的关节变量数据是否满足要求。如果不满足要求,例如,校正后的关节变量数据对应的校正后的当前误差依旧大于误差容许值,则可以对校正后的关节变量数据进行再一次的校正处理,直到最后获得满足要求,即误差小于等于误差容许值的关节变量数据为止。
在一个实施方式中,具体实施时,还可以根据用户的要求定制具体的预设校正次数,如此可以按照用户定义的预设校正次数,对上述关节变量数据进行多次校正,从而可以获得较为准确、误差较小的关节变量数据。在本实施方式中,还要说明的是,可能存在对某个数据进行多测校正后,依然不满足要求,即依然大于误差容许值,则可以判断该数据对应于该逆运动学求解方法的奇异点,将该数据予以记录、保存,提供给用户以便进行其他相应的分析、处理。
在一个实施方式中,在对待检测的逆运动学求解方法进行误差求解,得到误差求解的结果后,所述方法也可以根据误差求解的结果对待检测的逆运动学求解方法进行预先评价,进而可以根据预先评价选择是否采用其他的逆运动学求解方法。具体的,例如,根据误差求解的结果生成的关于待检测的A类逆运动学求解方法的预先评价为效果特别不理想,则可以放弃后续对待检测的A类逆运动学求解方法进行误差求解,换用其他类型的逆运动学求解方法进行误差确定。
在一个实施方式中,在确定出符合要求的待检测的逆运动学求解方法后,所述方法具体还可以包括以下内容:在所述当前误差小于等于所述误差容许值的情况下,利用目标物的模型根据所述关节变量数据进行目标物的运动规划,其中,所述目标物的模型为ROS模型。
在本实施方式中,上述目标物的模型具体可以按照以下方式构建:
S1:在ROS系统中绘制目标物的三维模型。
具体的,例如,可以在ROS系统中利用SW、ProE等机械设计软件绘制机械臂或移动底盘的三维模型。
在本实施方式中,上述ROS系统(即Robot Operating System)具体是一种开源机器人操作系统。具体的,它采用分布式的组织架构,由一系 列低耦合度的独立运行进程组成,因此具有非常高自由的代码移植和复用的特点。可以较为方便地利用多种语言(例如C++、Python等)编写相应的机器人建模和运动控制代码,也可以借助系统本身集成的软件包快速部署自己的机器人操作系统,实现机器人模型、算法等的快速验证工作。从而可以大大地降低了机器人研究基础性验证工作的复杂度,具有较好的使用效果。
S2:在上述目标物的三维模型的基础上,编写对应的目标物的描述文件。
具体的,例如,可以利用URDF或XCRO等脚本描述语言编写目标物中各个关节的几何特征和运动特征信息,并将编写好的描述文件载入上述的目标物的三维模型中,从而可以获得所使用的目标物的模型。
在一个实施方式中,具体实施时,可以通过以下方式,以利用目标物的模型根据所述关节变量数据进行目标物具体的运动规划:
S1:读取目标物的模型。具体的,载入目标物的描述文件,从而获得目标物相关的物理参数。
S2:根据目标物的模型,生成对应的MoveIt运动规划库配置文件,以配置ROS系统MoveIt模块的运动规划库。具体的,可以调用MoveIt的Setup Assistant tool工具,设置默认的运动规划库为OMPL。
S3:生成Move_Group_Interfac程序,即调用ROS系统的相关接口函数编写MoveIt的接口程序,以读取运动学求解方法得到的当前误差与校正后的关节变量数据,并根据校正后的关节变量数据进行运动规划,从而产生目标物的运动消息序列,即对应的目标物的各个末端执行器位置和姿态信息。
S4:在S3的基础上,生成GUI(Rviz Plugin)配置文件。即载入Rviz插件,以实现以3D动画的形式实时显示目标物的运动状态。如此,用户可以直观、方便地看到目标物按照上述待检测的逆运动学求解方法得到的关节变量数据进行具体运动的过程。
S5:生成Control_Manager配置文件,以将运动规划产生的机械运动 消息序列发送给目标物的驱动模块,从而驱动目标物按照上述数据信息实现预定动作。具体的,通过发布ROS系统的FollowJointTrajectoryAction消息来实现的。
从以上的描述中,可以看出,本申请实施方式提供的机械臂逆运动学求解方法误差的确定及校正方法,通过运行前先进行误差求解,并根据求解结果建立误差模型;运行时通过进行误差求解,以确定出运行过程中实时的当前误差,并利用误差模型根据上述当前误差进行具体的数据校正,因而解决了现有方法中存在的无法实时在线确定逆运动学求解方法误差,无法及时校正数据误差的技术问题,达到可以实时、高效地确定逆运动学求解方法误差,并及时进行对应的数据校正的技术效果;又通过在具体的误差求解的过程中引入配置数据,利用配置数据对误差求解过程进行相应的调控,以达到根据用户的需要,得到相应的数据,方便了用户对误差求解结果中的数据量和数据类型的定制,提高了用户体验度。
基于同一发明构思,本发明实施方式中还提供了一种机械臂逆运动学求解方法误差的确定及校正装置,如下面的实施方式所述。由于装置解决问题的原理与机械臂逆运动学求解方法误差的确定及校正方法相似,因此机械臂逆运动学求解方法误差的确定及校正装置的实施可以参见机械臂逆运动学求解方法误差的确定及校正方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。请参阅图2,是本申请实施方式的机械臂逆运动学求解方法误差的确定及校正装置的一种组成结构图,该装置可以包括:建立模块21、获取模块22、计算模块23、确定模块24、校正模块25,下面对该结构进行具体说明。
建立模块21,具体可以用于对待检测的逆运动学求解方法进行误差求解,得到误差求解的结果,并根据所述误差求解的结果建立误差模型。
获取模块22,具体可以用于获取目标物的运动目标数据。
计算模块23,具体可以用于根据所述运动目标数据,按照所述待检 测的逆运动学求解方法进行逆运动学计算,得到关节变量数据。
确定模块24,具体可以用于根据所述关节变量数据,通过误差求解,确定待检测的逆运动学求解方法的当前误差。
校正模块25,具体可以用于根据所述当前误差,利用所述误差模型,对所述关节变量数据进行校正。
在一个实施方式中,为了能够较为准确地确定出误差求解的结果,具体实施时,上述建立模块21具体可以通过内设的以下单元确定出误差求解的结果:
获取单元,具体可以用于获取随机数种子、配置数据;
第一确定单元,具体可以用于根据所述随机数种子,确定多个随机数数组,并将所述多个随机数数组作为多个第一关节变量;
第一计算单元,具体可以用于对所述多个第一关节变量进行正运动学计算,得到多个末端执行器的位置和姿态信息;
第二计算单元,具体可以用于利用所述待检测的逆运动学求解方法,对所述多个末端执行器的位置和姿态信息进行逆运动学计算,得到多个第二关节变量;
第二确定单元,具体可以用于根据所述配置数据、所述多个第一关节变量、所述多个第二关节变量,确定所述误差求解的结果。
在一个实施方式中,为了能够根据具体情况,生成用户定制的误差求解的结果,具体实施时,上述第二确定单元可以按照以下程序执行:比较所述多个第一关节变量的总数和所述多个第二关节变量的总数,得到第一比较结果,根据所述第一比较结果确定逆运动学求解成功率;比较第一关节变量值与对应的第二关节变量值,得到第二比较结果,根据所述第二比较结果确定关节变量的逆运动学求解误差;根据所述配置数据,将所述逆运动学求解成功率,和/或,所述关节变量的逆运动学求解误差作为所述误差求解的结果。
在一个实施方式中,为了能够根据所述运动目标数据,按照所述待检测的逆运动学求解方法进行逆运动学计算,得到关节变量数据,计算模块 23具体可以包括以下结构单元:
生成单元,具体可以用于根据所述运动目标数据,生成目标物的末端执行器的第一位置和姿态信息;
第三计算单元,具体可以用于按照所述待检测的逆运动学求解方法对所述目标物的末端执行器的第一位置和姿态信息进行逆运动学计算,得到多个第三关节变量,并将所述多个第三关节变量作为所述关节变量数据。
在一个实施方式中,为了能够根据所述关节变量数据,通过误差求解,确定待检测的逆运动学求解方法的当前误差,上述确定模块24具体可以包括以下结构单元:
第四计算单元,具体可以用于对所述关节变量数据进行正运动学计算,得到目标物的末端执行器的第二位置和姿态信息;
比较单元,具体可以用于比较所述目标物的末端执行器的第一位置和姿态信息与对应的目标物的末端执行器的第二位置和姿态信息,得到第三比较结果,并将所述第三比较结果作为所述当前误差。
在一个实施方式中,为了能够根据所述当前误差,利用所述误差模型,对所述关节变量数据进行校正,上述校正模块25具体可以包括以下结构单元:
第三确定单元,具体可以用于确定所述当前误差是否大于误差容许值;
第四确定单元,具体可以用于在所述当前误差大于所述误差容许值的情况下,通过所述误差模型,根据所述当前误差,确定误差补偿量;
校正单元,具体可以用于利用所述误差补偿量对所述关节变量数据中对应的第三关节变量进行校正,得到校正后的关节变量数据。
在一个实施方式中,在得到校正后的关节变量数据后,为了对校正后的关节变量数据的误差情况进行具体确定,所述装置具体还可以包括:再验模块,具体可以用于对所述校正后的关节变量数据进行误差求解,以确定校正后的当前误差,并确定所述校正后的当前误差是否大于所述误差容许值。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
需要说明的是,上述实施方式阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,在本说明书中,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
此外,在本说明书中,诸如第一和第二这样的形容词仅可以用于将一个元素或动作与另一元素或动作进行区分,而不必要求或暗示任何实际的这种关系或顺序。在环境允许的情况下,参照元素或部件或步骤(等)不应解释为局限于仅元素、部件、或步骤中的一个,而可以是元素、部件、或步骤中的一个或多个等。
从以上的描述中,可以看出,本申请实施方式提供的机械臂逆运动学求解方法误差的确定及校正装置,通过建立模块在运行前先进行误差求解,并根据求解结果建立误差模型;运行时通过确定模块引入另外的误差求解过程,以确定出运行过程中实时的当前误差,并通过校正模块利用误差模型根据上述当前误差进行具体的数据校正,因而解决了现有方法中存在的无法实时在线确定逆运动学求解方法误差,无法及时校正数据误差的技术问题,达到可以实时、高效地确定逆运动学求解方法误差,并及时进行对应的数据校正的技术效果;又通过在建立模块中的进行具体的误差求解的过程中引入配置数据,利用配置数据对误差求解过程进行相应的调控,以达到根据用户的需要,得到相应的数据,方便了用户对误差求解结果中的数据量和数据类型的定制,提高了用户体验度。
本申请实施方式还提供了一种电子设备,具体可以参阅图3所示的基于本申请实施方式提供的机械臂逆运动学求解方法误差的确定及校正方法的电子设备组成结构图,所述电子设备具体可以包括输入设备31、处 理器32、存储器33。其中,所述输入设备31具体可以用于输入目标物的运动目标数据、待检测的逆运动学求解方法、以及根据用户需求定制的配置数据。所述处理器具体可以用于对待检测的逆运动学求解方法进行误差求解,得到误差求解的结果,并根据所述误差求解的结果建立误差模型;根据所述运动目标数据,按照所述待检测的逆运动学求解方法进行逆运动学计算,得到关节变量数据;根据所述关节变量数据,通过误差求解,确定待检测的逆运动学求解方法的当前误差;根据所述当前误差,利用所述误差模型对所述关节变量数据进行校正。所述存储器33具体可以用于输入设备31输入的数据,以及处理器运行过程中产生的各个结果数据和建立的误差模型。
在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器包括很多层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该电子设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本说申请实施方式中还提供了一种计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现:对待 检测的逆运动学求解方法进行误差求解,得到误差求解的结果,并根据所述误差求解的结果建立误差模型;获取目标物的运动目标数据;
根据所述运动目标数据,按照所述待检测的逆运动学求解方法进行逆运动学计算,得到关节变量数据;根据所述关节变量数据,通过误差求解,确定待检测的逆运动学求解方法的当前误差;根据所述当前误差,利用所述误差模型对所述关节变量数据进行校正。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard Disk Drive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
在一个具体实施场景示例中,应用本申请提供的机械臂逆运动学求解方法误差的确定及校正方法和装置对具体生产设计中的机械臂逆运动学求解方法误差进行具体的确定。具体实施过程可以参阅以下内容执行。
具体实施时请参阅图4所示的在一个场景示例中根据本申请实施方式提供机械臂逆运动学求解方法误差的确定及校正方法和装置设计的实施装置的结构示意图。在本实施方式中,上述实施装置具体可以包括以下结构:机械臂ROS模型描述模块、输入模块、误差计算与补偿模块、机械臂运动规划模块、机械臂运动显示模块、机械臂执行模块。
其中,上述输入模块和误差计算与补偿模块具体实施时,会应用到相关的运动学计算,所谓运动学计算具体包括:正运动学求解和逆运动学求解。具体的,正运动学求解,即给出串联机械臂的各个关节变量,计算求解机械臂末端执行机构空间位置坐标和位姿(即目标物的末端执行器的位置和姿态信息)的过程。需要补充的是,正运动学求解精度通常相对较高,可以达到微米级别。逆运动学求解,即给出串联机械臂的末端执行机构的空间坐标和位姿,计算出机械臂的各个关节的关节变量。其中,目前应用相对比较广泛的逆运动学求解方法可以包括有以下几类:几何法、代数法、 解析法、智能复合算法等。上述每类算法或方法都具有一定的求解精度、求解速度、求解误差。这也是本实施方式需要验证和实时确定的内容。
参阅图5所示的一个场景示例中应用本申请实施方式提供机械臂逆运动学求解方法误差的确定及校正方法和装置进行完整的误差求解、校正及运动规划的流程示意图。通过上述实施装置进行具体的逆运动学求解方法误差确定、校正以及校正后的运动规划,具体可以按照以下步骤执行:
步骤1:建立机械臂的ROS模型(即目标物的模型)。
在本实施方式中,这一步骤具体可以细分为两步。首先是机械臂三维模型绘制,在本实施方式中,可以用SW、ProE等机械设计三维绘图软件绘制机械臂的3D模型;然后是机械臂描述文件编写,具体可以是在ROS系统中机械臂的模型中用URDF或XCRO等脚本描述语言编写机械臂各个关节的几何特征和运动信息,并载入上一步的机械臂三维模型。
步骤2:逆运动学算法验证及误差模型建立(即误差求解)。
在本实施方式中,具体实施时可以首先接收用户输入的验证参数(即配置数据),验证参数具体可以包括:验证的数据量(即循环次数)、需要保存的数据种类(例如关节变量误差、重复定位精度误差等)参数,然后对待验证的逆运动学算法进行误差计算,并建立误差模型。
相较于其他现有方法,本实施方式可以更方便地通过此配置数据提供用户根据自己需要定制自己具体数据量和数据类型的自由。
对于步骤2,具体可以参阅图6图所示的在一个场景示例中应用本申请实施方式提供机械臂逆运动学求解方法误差的确定及校正方法和装置进行具体的误差求解的流程示意图,按照以下步骤执行:
步骤2.1:随机数种子初始化。
在本实施方式中,可以以系统时间作为随机数种子,并利用随机数种子,通过随机数产生函数生成N个随机数数组,每个数组依次对应于串联机械臂的一个关节变量,且每个随机数数组均在关节变量的有效范围之内。
步骤2.2:正运动学计算。
在本实施方式中,具体可以将随机生成的N个关节变量数组进行正运动学计算得到N个末端执行器的位置和姿态信息,由于正运动学的精确性可知这里的计算结果具有很高的精度,可以作为逆运动学计算的理论输入。
步骤2.3:逆运动学计算。
在本实施方式中,可以将上述计算所得的N个末端执行器的位置和姿态信息作为待验证的逆运动学求解方法(即待检测的逆运动学求解方法)的输入,其中,每个末端执行器的位置和姿态信息对应于一个计算结果。如果成功则产生对应的关节变量数组,如果失败则返回0。在本实施方式中,成功地求得了M个关节变量数组(M≤N)。
步骤2.4:误差计算。
在本实施方式中,可以根据上一步的计算结果首先可以获得逆运动学算法的求解成功率R:;
同时,根据M个成功求出的关节变量数组对应M个随机产生的关节变量数组,通过对二者进行比较就可以得到每组关节变量的逆运动学求解误差。
2.5:对上述确定的逆运动学求解方法误差进行数据输出和保存。
2.6:如果上述获取的逆运动学求解方法误差满足条件或要求,可以进一步建立误差模型,以所述待检测逆运动学算法作为待检测逆运动学求解方法。否则认为该算法不满足应用要求,选择基于另一中算法的逆运动学求解方法进行误差求解。
步骤3:输入运动目标,设置监测参数(即获取运动目标数据、监测指示)。
在本实施方式中,用户可以具体情况设置输入机械臂要到达的空间目标并配置相应的误差容许值(也称最大容忍误差)、关节变量范围、最大求解时间参数。在本实施方式中,用户输入的空间目标获取目标运动数据具体可以是通过人工、程序、视觉等多种手段获取的实时空间目标。
步骤4:运动学求解误差计算与补偿(即误差求解以及误差校正)。
在本实施方式中,将对步骤3中所设置的配置参数进行读取并进行相关的计算,最后将产生较为准确逆运动学计算结果(即校正后的关节变量数据)。
在本实施方式中,具体实施时,可以参阅图7所示的在一个场景示例中应用本申请实施方式提供机械臂逆运动学求解方法误差的确定及校正方法和装置进行具体的误差求解以及误差校正的流程示意图,按照以下步骤执行:
步骤4.1:目标点读取(相当于获取运动目标数据)。
在本实施方式中,具体的,可以读入用户输入的目标信息,即串联机械臂的末端执行器的空间位置和姿态信息,这里通常是根据机械臂实际运行状态下需要输入的数据或指令。
步骤4.2:逆运动学计算。
在本实施方式中,具体的,可以将该信息作为待检测逆运动学算法的输入传递至逆运动学求解程序同时记录开始计算时间,如果成功返回结果则记录时间并保存结果,本次计算时间为:。如果等待时间逆运动学求解程序未返回结果则记录为超时。将上述时间信息进行记录,以反馈给用户。
进一步,可以将上述计算结果出的串联机械臂关节变量数组进行范围监测,判断每个关节变量是否均在有效范围之内并记录判断结果。
步骤4.3:正运动学计算。
在本实施方式中,可以将上述判断有效的结果作为正向运动学的输入传入正向运动学计算程序,得到机械臂末端执行器的空间姿态和位置信息,将该信息与输入的机械臂的末端执行器的空间位置和姿态信息进行比较,得到差值即为逆运动学求解算法的计算误差预估值(即当前误差)。
步骤4.4:误差预估。
在本实施方式中,可以将上述误差预估值与误差容许度(即误差容许值)进行比较,判断其有效性。如果判断出的误差值大于误差容许值则需要对数据进行误差校正。
步骤4.5:误差矫正。
在本实施方式中,具体实施时,可以按照以下方式进行相应的误差校正:先利用误差模型,将步骤4.4中得到的误差预估值输入上述误差模型,给出误差的关节变量补偿值;进而可以利用关节变量补偿值对机械臂关节变量进行修正后重新输入正运动学计算程序,对其误差进行重新评估;再将重新评估的误差值与误差容许度进行比较,判断其有效性;最后得到补偿后的逆运动学计算结果(即校正后的关节变量数据),并对该数据进行输出和保存。
在本实施方式中,需要说明的是,可以设置循环补偿次数以对误差补偿过程进行限制,对多次补偿无法达到预期效果的则判定该点为对应于该逆运动学求解算法的奇异点,将该点予以记录反馈给用户分析、处理。
在获得校正后误差相对较小的关节变量数据后,所述方法具体还可以包括以下步骤:
步骤5:机械臂运动规划(即利用目标物的模型根据所述关节变量数据进行目标物的运动规划)。
在本实施方式中,读取步骤3中产生的逆运动学求解结果,同时结合步骤1中建立的机械臂的ROS模型进行机械臂的运动规划,最后将产生机械臂运动消息序列。
在本实施方式中,具体的,可以参阅图8所示的在一个场景示例中应用本申请实施方式提供机械臂逆运动学求解方法误差的确定及校正方法和装置进行具体的运动规划的流程示意图。其中,这一过程是具体可以通过配置ROS系统的MoveIt模块完成的,具体的实现过程包括以下内容:
步骤5.1:读取机械臂ROS模型。即载入机械臂的描述文件,从而获得机械臂的物理参数。
步骤5.2:编写MoveIt运动规划库配置文件。本步骤作用是配置ROS系统MoveIt模块的运动规划库,具体实现方法是调用MoveIt的Setup Assistant tool工具,设置默认的运动规划库为OMPL。
步骤5.3:编写Move_Group_Interfac程序。即调用ROS相关的接口 函数编写MoveIt的接口程序,作用是读取运动学求解误差计算与补偿后的逆运动学求解结果,并根据该结果进行运动规划,从而产生机械臂运动消息序列。
步骤5.4:编写GUI(Rviz Plugin)配置文件。即载入Rviz插件,从而实现以3D动画的形式实时显示机械臂的运动状态,如此用户可以直观看到机械臂的运动过程。
步骤5.5:编写Control_Manager配置文件。这一步的作用是将运动规划产生的机械运动消息序列发送给机械臂的驱动模块,从而驱动机械臂实现预定动作。具体的是通过发布ROS系统的FollowJointTrajectoryAction消息来实现的。
按照上述几个步骤进行相应的配置,就可以实现根据特定的逆运动学求解算法求得的逆运动学求解方法误差,进而可以得到校正后较为准确的结果,以便进行机械臂的运动规划。
需要说明的是,本实施方式提出的上述配置过程多数采用脚本语言实现,且每个单独的步骤都有成熟的编写规范,因而配置过程简单,实施效率相对较高。
步骤6:机械臂的运动显示。
在本实施方式中,具体实施时,可以用3D动画等形式实时显示机械臂的运动状态,也可以绘制机械臂的关节运动曲线。如此,可以方便用户直观地观察机械臂的运动状态和关节运动过程,进一步提高用户体验度。本实施方式中,具体可以通过ROS系统的Rviz插件和rqt_plot插件完成上述运动显示。
步骤7:机械臂执行。
在本实施方式中,可以将将步骤5中产生的机械臂运动消息序列发送给机械臂驱动,并驱动机械臂执行对应的动作。
按照上述方式,用户还可以根据需要对逆运动学求解方法误差的获取时机进行定制,具体的,可以包括:如果选择预先验证模式,可以通过误差求解可以获取对应逆运动学求解算法的误差数据,方便用户事先对逆运 动学求解方法进行第一次验证,进一步可以分析逆运动学方法的误差来源,以建立误差模型;如果选择在线监测模式,就可以通过误差求解,实时计算出逆运动学求解方法的当前误差并进行对应校正,从而确保逆运动学方法给出的结果具有相当的精度,从而保证机械臂的运行平稳可靠。
在本实施方式中,需要补充的是,上述实施过程涉及的步骤相对较少,实施效率相对较高;多处采用脚本语言进行相关配置,方便重用和裁剪,因此具有配置过程简单,容易实现对机械臂逆运动学算法的快速验证。
通过上述场景示例,验证了本申请实施方式提供的机械臂逆运动学求解方法误差的确定及校正方法和装置,通过运行前先进行误差求解,并根据求解结果建立误差模型;运行时引入误差求解过程,以确定出运行过程中的当前误差,并利用误差模型根据上述当前误差进行数据校正,因而解决了现有方法中存在的无法实时在线确定逆运动学求解方法误差,无法及时校正数据误差的技术问题,达到可以实时、高效地确定逆运动学求解方法误差,并及时进行对应的数据校正的技术效果。
尽管本申请内容中提到不同的具体实施方式,但是,本申请并不局限于必须是行业标准或实施例所描述的情况等,某些行业标准或者使用自定义方式或实施例描述的实施基础上略加修改后的实施方案也可以实现上述实施例相同、等同或相近、或变形后可预料的实施效果。应用这些修改或变形后的数据获取、处理、输出、判断方式等的实施例,仍然可以属于本申请的可选实施方案范围之内。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描 述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的实施方式包括这些变形和变化而不脱离本申请。

Claims (10)

  1. 一种机械臂逆运动学求解方法误差的确定及校正方法,其特征在于,包括:
    对待检测的逆运动学求解方法进行误差求解,得到误差求解的结果,并根据所述误差求解的结果建立误差模型;
    获取目标物的运动目标数据;
    根据所述运动目标数据,按照所述待检测的逆运动学求解方法进行逆运动学计算,得到关节变量数据;
    根据所述关节变量数据,通过误差求解,确定待检测的逆运动学求解方法的当前误差;
    根据所述当前误差,利用所述误差模型对所述关节变量数据进行校正。
  2. 根据权利要求1所述的方法,其特征在于,所述对待检测的逆运动学求解方法进行误差求解,包括:
    获取随机数种子、配置数据;
    根据所述随机数种子,确定多个随机数数组,并将所述多个随机数数组作为多个第一关节变量;
    对所述多个第一关节变量进行正运动学计算,得到多个末端执行器的位置和姿态信息;
    利用所述待检测的逆运动学求解方法,对所述多个末端执行器的位置和姿态信息进行逆运动学计算,得到多个第二关节变量;
    根据所述配置数据、所述多个第一关节变量、所述多个第二关节变量,确定所述误差求解的结果。
  3. 根据权利要求2所述的方法,其特征在于,根据所述配置数据、所述多个第一关节变量、所述多个第二关节变量,确定所述误差求解的结果,包括:
    比较所述多个第一关节变量的总数和所述多个第二关节变量的总数,得到第一比较结果,根据所述第一比较结果确定逆运动学求解成功率;
    比较第一关节变量值与对应的第二关节变量值,得到第二比较结果,根据所述第二比较结果确定关节变量的逆运动学求解误差;
    根据所述配置数据,将所述逆运动学求解成功率,和/或,所述关节变量的逆运动学求解误差作为所述误差求解的结果。
  4. 根据权利要求1所述的方法,其特征在于,所述目标物包括以下至少之一:机械臂、移动底盘。
  5. 根据权利要求1所述的方法,其特征在于,根据所述运动目标数据,按照所述待检测的逆运动学求解方法进行逆运动学计算,得到关节变量数据,包括:
    根据所述运动目标数据,生成目标物的末端执行器的第一位置和姿态信息;
    按照所述待检测的逆运动学求解方法对所述目标物的末端执行器的第一位置和姿态信息进行逆运动学计算,得到多个第三关节变量,并将所述多个第三关节变量作为所述关节变量数据。
  6. 根据权利要求1所述的方法,其特征在于,根据所述关节变量数据,通过误差求解,确定待检测的逆运动学求解方法的当前误差,包括:
    对所述关节变量数据进行正运动学计算,得到目标物的末端执行器的第二位置和姿态信息;
    比较所述目标物的末端执行器的第一位置和姿态信息与对应的目标物的末端执行器的第二位置和姿态信息,得到第三比较结果,并将所述第三比较结果作为所述当前误差。
  7. 根据权利要求1所述的方法,其特征在于,根据所述当前误差,利用所述误差模型,对所述关节变量数据进行校正,包括:
    确定所述当前误差是否大于误差容许值;
    在所述当前误差大于所述误差容许值的情况下,通过所述误差模型,根据所述当前误差,确定误差补偿量;
    利用所述误差补偿量对所述关节变量数据中对应的第三关节变量进行校正,得到校正后的关节变量数据。
  8. 根据权利要求7所述的方法,其特征在于,在得到校正后的关节变量数据后,所述方法还包括:对所述校正后的关节变量数据进行误差求解,以确定校正后的当前误差,并确定所述校正后的当前误差是否大于所述误差容许值。
  9. 根据权利要求7所述的方法,其特征在于,所述方法还包括:
    在所述当前误差小于等于所述误差容许值的情况下,利用目标物的模型根据所述关节变量数据进行目标物的运动规划,其中,所述目标物的模型为ROS模型。
  10. 一种机械臂逆运动学求解方法误差的确定及校正装置,其特征在于,包括:
    建立模块,用于对待检测的逆运动学求解方法进行误差求解,得到误差求解的结果,并根据所述误差求解的结果建立误差模型;
    获取模块,用于获取目标物的运动目标数据;
    计算模块,用于根据所述运动目标数据,按照所述待检测的逆运动学求解方法进行逆运动学计算,得到关节变量数据;
    确定模块,用于根据所述关节变量数据,通过误差求解,确定待检测的逆运动学求解方法的当前误差;
    校正模块,用于根据所述当前误差,利用所述误差模型,对所述关 节变量数据进行校正。
PCT/CN2017/109939 2017-09-29 2017-11-08 机械臂逆运动学求解方法误差的确定及校正方法和装置 WO2019061690A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710904721.9A CN107553496B (zh) 2017-09-29 2017-09-29 机械臂逆运动学求解方法误差的确定及校正方法和装置
CN201710904721.9 2017-09-29

Publications (1)

Publication Number Publication Date
WO2019061690A1 true WO2019061690A1 (zh) 2019-04-04

Family

ID=60983566

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/109939 WO2019061690A1 (zh) 2017-09-29 2017-11-08 机械臂逆运动学求解方法误差的确定及校正方法和装置

Country Status (2)

Country Link
CN (1) CN107553496B (zh)
WO (1) WO2019061690A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108876815B (zh) * 2018-04-28 2021-03-30 深圳市瑞立视多媒体科技有限公司 骨骼姿态计算方法、人物虚拟模型驱动方法及存储介质
CN109296019A (zh) * 2018-11-08 2019-02-01 北京拓疆者智能科技有限公司 挖掘机臂运动控制方法、系统及装置
CN111283675B (zh) * 2018-12-07 2021-08-13 北京猎户星空科技有限公司 一种机器人动作回归控制方法、装置、机器人和存储介质
CN110962125B (zh) * 2019-12-05 2022-10-04 齐鲁工业大学 一种基于灵敏度分析的切削加工机器人本体参数描述方法
CN114603552B (zh) * 2020-12-08 2024-05-10 北京配天技术有限公司 一种机器人仿真方法、电子设备和存储介质
CN116170871A (zh) * 2021-11-22 2023-05-26 维沃移动通信有限公司 定位方法、装置、终端及网络侧设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008036742A (ja) * 2006-08-03 2008-02-21 Tokyo Institute Of Technology 逐次検索法による6自由度ロボットアームの逆運動学、およびそれを使用するロボットのシステム、制御方法、プログラム
US20110224958A1 (en) * 2010-03-12 2011-09-15 Kyungpook National University Industryacademic Cooperation Foundation Error compensation method for multi-axis controlled machines
CN102509025A (zh) * 2011-11-25 2012-06-20 苏州大学 一种六自由度仿人灵巧臂逆运动学的快速求解方法
US20140107832A1 (en) * 2006-01-18 2014-04-17 Board of Regents of the Nevada System of Higher Ed cation, on behalf of the University of Nevada Coordinated joint motion control system with position error correction
CN105975795A (zh) * 2016-05-23 2016-09-28 湖北工业大学 一种高精度的多关节串联机械臂运动学反解解法
CN106325207A (zh) * 2016-10-08 2017-01-11 南京工业大学 一种五轴数控制齿机床几何误差实际逆向运动学补偿方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102314690A (zh) * 2011-06-07 2012-01-11 北京邮电大学 机械臂运动学参数分离辨识方法
KR101398215B1 (ko) * 2013-03-05 2014-05-26 한국기계연구원 오류 복구 기능을 갖는 양팔 로봇 제어장치 및 그 복구방법
CN104199999B (zh) * 2014-07-17 2018-01-12 中国人民解放军国防科学技术大学 一种关节对中误差对多自由度机械臂末端定位精度影响的定量分析方法
CN106846468B (zh) * 2017-01-25 2021-05-07 南京阿凡达机器人科技有限公司 一种基于ros系统的机械臂建模及运动规划实现方法
CN106826822B (zh) * 2017-01-25 2019-04-16 南京阿凡达机器人科技有限公司 一种基于ros系统的视觉定位及机械臂抓取实现方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140107832A1 (en) * 2006-01-18 2014-04-17 Board of Regents of the Nevada System of Higher Ed cation, on behalf of the University of Nevada Coordinated joint motion control system with position error correction
JP2008036742A (ja) * 2006-08-03 2008-02-21 Tokyo Institute Of Technology 逐次検索法による6自由度ロボットアームの逆運動学、およびそれを使用するロボットのシステム、制御方法、プログラム
US20110224958A1 (en) * 2010-03-12 2011-09-15 Kyungpook National University Industryacademic Cooperation Foundation Error compensation method for multi-axis controlled machines
CN102509025A (zh) * 2011-11-25 2012-06-20 苏州大学 一种六自由度仿人灵巧臂逆运动学的快速求解方法
CN105975795A (zh) * 2016-05-23 2016-09-28 湖北工业大学 一种高精度的多关节串联机械臂运动学反解解法
CN106325207A (zh) * 2016-10-08 2017-01-11 南京工业大学 一种五轴数控制齿机床几何误差实际逆向运动学补偿方法

Also Published As

Publication number Publication date
CN107553496A (zh) 2018-01-09
CN107553496B (zh) 2020-09-22

Similar Documents

Publication Publication Date Title
WO2019061690A1 (zh) 机械臂逆运动学求解方法误差的确定及校正方法和装置
US11548145B2 (en) Deep machine learning methods and apparatus for robotic grasping
RU2700246C1 (ru) Способ и система захвата объекта с помощью роботизированного устройства
US10372228B2 (en) Method and system for 3D hand skeleton tracking
KR102576842B1 (ko) 핸드-아이 캘리브레이션을 수행하는 로봇 및 전자 장치
JP6640060B2 (ja) ロボットシステム
JP5561384B2 (ja) 認識プログラム評価装置および認識プログラム評価方法
US20180286030A1 (en) System and method for testing an electronic device
JP7458741B2 (ja) ロボット制御装置及びその制御方法及びプログラム
CN109144252B (zh) 对象确定方法、装置、设备和存储介质
US10606266B2 (en) Tracking a target moving between states in an environment
CN113934630A (zh) 基于图像识别的软件测试方法、装置、设备及介质
CN110303474A (zh) 使用图像处理修正机器人的示教的机器人系统
US11205066B2 (en) Pose recognition method and device
KR20230056004A (ko) 가상 현실 기반의 수술 환경을 제공하는 장치 및 방법
CN115035042A (zh) 动作迁移模型的评价方法、装置、电子设备及存储介质
US11607806B2 (en) Techniques for generating controllers for robots
CN115319739A (zh) 一种基于视觉机械臂抓取工件方法
CN110456644B (zh) 确定自动化设备的执行动作信息的方法、装置及电子设备
JP2020075337A (ja) ロボット制御装置、ロボット制御方法、及びロボット制御プログラム
CN113378773B (zh) 手势识别方法、装置、设备、存储介质以及程序产品
CN111523452B (zh) 用于检测图像中人体位置的方法和装置
CN117115325A (zh) 涂胶视觉模型的生成方法、存储介质与计算机设备
US11156973B2 (en) Super-linear approximation of dynamic property values in a process control environment
Marín et al. Multirobot Internet-based architecture for telemanipulation: experimental validation

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17926466

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17926466

Country of ref document: EP

Kind code of ref document: A1