A method, apparatus, device, and storage medium for calibrating absolute accuracy of a robot.
By calibrating and fitting the target ball TCP at the robot's end effector, a user coordinate system was established, which solved the problem of absolute accuracy error in the robot within a small range and achieved high-precision absolute accuracy calibration of the robot.
Patent Information
- Application Number
- CN202211715300.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-28
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2042-12-28
AI Technical Summary
In existing technologies, robots have large absolute accuracy errors within a small range, which makes them unable to meet the needs of practical applications. This is mainly due to accuracy problems caused by joint errors, kinematic errors, and other factors.
By determining the calibration accuracy of the target ball TCP and recording coordinate values through random motion within the target range, the solution with the minimum error is obtained by data fitting, and a user coordinate system is established to improve the robot's absolute accuracy.
High-precision absolute accuracy calibration of robots was achieved within a small area, reducing costs and eliminating reliance on external hardware or software connections, while ensuring stable and undiminished accuracy.
Smart Images

Figure CN115781689B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of machine vision technology, and in particular to a method, apparatus, device and storage medium for calibrating absolute accuracy of a robot. Background Technology
[0002] With the rapid development of machine vision, especially 3D (Three Dimension) machine vision, it has been widely used in industrial scenarios, such as the field of industrial robots. However, although 3D vision provides high-precision positioning results in practical applications, its large absolute accuracy error in the robotics field leads to inaccurate robot movement, thus failing to meet the needs of practical applications.
[0003] For example, the errors generated by each joint of the robot accumulate continuously, eventually affecting the spatial positioning accuracy of the end effector's 6 axes (taking 6 axes as an example). Among all the axis errors, the errors of axes 1, 2, and 3 have the greatest impact on the overall robot accuracy. However, in a small space, since the motion changes of axes 1, 2, and 3 are very small, it can be approximated as a small 3-axis robot. Therefore, the absolute accuracy of the robot in this small space is much higher than the absolute accuracy of the robot in a large space because there are fewer error sources.
[0004] It should be noted that the precision indicators of robots are mainly divided into absolute precision and repeatability. The absolute precision error of a robot is mainly caused by joint errors (such as encoder errors), kinematic errors (such as the link errors of each joint and actual assembly errors), and other factors such as the rigidity of connecting parts, gear backlash, and temperature differences. Typically, the repeatability of industrial robots is around 0.1 mm, and the absolute precision is around 1 mm.
[0005] In summary, how to improve the absolute accuracy of robots within a small range is a problem that still needs to be solved. Summary of the Invention
[0006] In view of this, the purpose of this application is to provide a method, apparatus, device, and storage medium for calibrating the absolute accuracy of a robot, which can greatly improve the absolute accuracy of the robot. The specific solution is as follows:
[0007] In a first aspect, this application discloses a method for calibrating the absolute accuracy of a robot, including:
[0008] Determine the calibration accuracy of the target ball TCP located on the end effector axis of the target robot, and determine whether the calibration accuracy meets the preset conditions;
[0009] If the calibration accuracy meets the preset conditions, the target robot is moved to the target range space to be calibrated and performs random motion, and the first robot coordinate value at the target ball TCP and the first target ball coordinate value at the target ball TCP detected by the measurement system are recorded.
[0010] Based on the coordinates of the first target ball, the coordinates of the first robot are fitted to obtain the solution with the smallest error in the transformation relationship from the robot coordinate system to the measurement system coordinate system.
[0011] Based on the solution with the minimum error, a user coordinate system based on the measurement system is established in the controller of the target robot so that the target robot can be calibrated within the target range space by invoking the user coordinate system.
[0012] Optionally, the robot absolute accuracy calibration method further includes:
[0013] Record the second robot coordinates at the end flange TCP and the second target ball coordinates at the target ball TCP detected by the measurement system when the target robot performs random movement within a preset spatial range;
[0014] The coordinates of the target ball TCP relative to the flange TCP at the end of the target robot are calculated using the coordinates of the second robot and the second target ball.
[0015] Optionally, recording the second robot coordinates at the end flange TCP and the second target ball coordinates at the target ball TCP detected by the measurement system when the target robot performs random movement within a preset spatial range includes:
[0016] The target robot is allowed to move randomly to a predetermined number of points within a predetermined space, and the second robot coordinates at the end flange TCP and the second target ball coordinates at the target ball TCP detected by the measurement system are recorded.
[0017] Optionally, calculating the coordinates of the target ball TCP relative to the flange TCP at the end of the target robot using the second robot coordinates and the second target ball coordinates includes:
[0018] The second robot coordinates and the second target ball coordinates are substituted into a preset robot TCP calibration algorithm to calculate the coordinates of the target ball TCP relative to the flange TCP at the end of the target robot.
[0019] Optionally, determining the calibration accuracy of the target ball TCP located on the end effector axis of the target robot includes:
[0020] The target robot is repositioned around the target ball TCP located on the end axis of the target robot to obtain the spatial position change error value of the target ball TCP. The calibration accuracy of the target ball TCP is determined by using the spatial position change error value and the coordinate value of the target ball TCP relative to the flange TCP at the end of the target robot.
[0021] Optionally, obtaining the spatial position change error value of the target ball TCP includes:
[0022] The measurement system detects the spatial position error range of the target ball TCP to obtain the spatial position change error value of the target ball TCP under different postures of the target robot.
[0023] Optionally, moving the target robot to the target range space to be calibrated and performing random motion includes:
[0024] The target robot is moved to the target range space to be calibrated, and then performs random movements covering the entire target range space a preset number of times.
[0025] Secondly, this application discloses a robot absolute accuracy calibration device, comprising:
[0026] The calibration accuracy determination module is used to determine the calibration accuracy of the target ball TCP located on the end effector axis of the target robot.
[0027] The judgment module is used to determine whether the calibration accuracy meets the preset conditions;
[0028] The coordinate value recording module is used to move the target robot to the target range space to be calibrated and make random movements if the calibration accuracy meets the preset conditions, and record the first robot coordinate value at the target ball TCP and the first target ball coordinate value at the target ball TCP detected by the measurement system.
[0029] The data fitting module is used to perform data fitting on the first robot coordinate values based on the first target ball coordinate values, so as to obtain the solution with the smallest error in the transformation relationship from the robot coordinate system to the measurement system coordinate system;
[0030] The coordinate system establishment module is used to establish a user coordinate system based on the measurement system in the controller of the target robot according to the solution with the minimum error, so as to calibrate the target robot by calling the user coordinate system within the target range space.
[0031] Thirdly, this application discloses an electronic device, including a processor and a memory; wherein, when the processor executes a computer program stored in the memory, it implements the aforementioned robot absolute accuracy calibration method.
[0032] Fourthly, this application discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the aforementioned robot absolute precision calibration method.
[0033] As can be seen, this application first determines the calibration accuracy of the target ball TCP located on the end effector axis of the target robot, and then determines whether the calibration accuracy meets a preset condition. If the calibration accuracy meets the preset condition, the target robot is moved to the target range space to be calibrated and performs random motion. The first robot coordinate value at the target ball TCP and the first target ball coordinate value detected by the measurement system at the target ball TCP are recorded. Then, based on the first target ball coordinate value, data fitting is performed on the first robot coordinate value to obtain the solution with the smallest error in the transformation relationship from the robot coordinate system to the measurement system coordinate system. Then, based on the solution with the smallest error, a user coordinate system based on the measurement system is established in the controller of the target robot so that the target robot can be calibrated within the target range space by calling the user coordinate system. This application obtains high-precision absolute robot accuracy within the target range space by using a measurement device to recalibrate the robot coordinate system with the smallest error within the target range space where high precision is required. Attached Figure Description
[0034] To more clearly illustrate the technical solutions in the embodiments of this application or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0035] Figure 1 This is a flowchart of a robot absolute accuracy calibration method disclosed in this application;
[0036] Figure 2 This is a flowchart of a specific robot absolute accuracy calibration method disclosed in this application;
[0037] Figure 3 This is a schematic diagram of the structure of a robot absolute accuracy calibration device disclosed in this application;
[0038] Figure 4 This is a structural diagram of an electronic device disclosed in this application. Detailed Implementation
[0039] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0040] This application discloses a method for calibrating the absolute accuracy of a robot. (See also...) Figure 1 As shown, the method includes:
[0041] Step S11: Determine the calibration accuracy of the target ball TCP located on the end axis of the target robot, and determine whether the calibration accuracy meets the preset conditions.
[0042] It should be noted that in this embodiment, the measurement system needs to be placed next to the target robot to be calibrated beforehand for detection of the target robot, and a target ball adapted to the measurement system needs to be installed at the end of the target robot. During the specific calibration process, the calibration accuracy of the target ball TCP (Tool Center Point) located on the end axis of the target robot is first determined, and then it is determined whether the calibration accuracy meets preset conditions, such as whether the calibration accuracy meets a preset threshold. The measurement system includes, but is not limited to, a system composed of measuring equipment such as a laser tracker and a coordinate measuring machine, and the target robot includes, but is not limited to, an assembly robot and a robotic arm.
[0043] In this embodiment, determining the calibration accuracy of the target ball TCP located on the end effector axis of the target robot can specifically include: allowing the target robot to perform a repositioning motion around the target ball TCP located on the end effector axis of the target robot to obtain the spatial position change error value of the target ball TCP; and using the spatial position change error value and the coordinate value of the target ball TCP relative to the flange TCP of the end effector of the target robot to determine the calibration accuracy of the target ball TCP. That is, by allowing the target robot to perform a repositioning motion around the target ball TCP located on the end effector axis of the target robot, the spatial position change error value of the target ball TCP under different postures of the target robot is obtained, and then the calibration accuracy of the target ball TCP can be determined by the aforementioned spatial position change error value and the coordinate value of the target ball TCP relative to the flange TCP of the end effector of the target robot.
[0044] Step S12: If the calibration accuracy meets the preset conditions, the target robot is moved to the target range space to be calibrated and performs random motion, and the first robot coordinate value at the target ball TCP and the first target ball coordinate value at the target ball TCP detected by the measurement system are recorded.
[0045] In this embodiment, if the calibration accuracy meets the preset conditions, the target robot is moved to the target range space to be calibrated and performs random motion. During the random motion, the robot coordinates at the target ball TCP and the coordinates at the target ball TCP detected by the measurement system are recorded to obtain the first robot coordinates and the first target ball coordinates. It should be noted that the target range space to be calibrated refers to any small area within a larger space reachable by the target robot, such as within the field of view of a 3D camera. The first robot coordinates are obtained based on the base coordinate system.
[0046] In this embodiment, moving the target robot to the target area space to be calibrated and performing random movements can specifically include: moving the target robot to the target area space to be calibrated and performing random movements covering the entire target area space a preset number of times. It should be noted that after moving the target robot to the target area space to be calibrated, the target robot is further subjected to random movements covering the entire target area space a preset number of times; that is, the random movement route should cover the entire small area space to be calibrated. For example, within the field of view of a 3D camera, the robot performs 50 random movements covering the entire field of view space of the 3D camera, while simultaneously recording the robot coordinates at the target ball TCP and the target ball coordinates obtained by the measurement system.
[0047] Step S13: Using the coordinates of the first target ball as a reference, perform data fitting on the coordinates of the first robot to obtain the solution with the smallest error in the transformation relationship from the robot coordinate system to the measurement system coordinate system.
[0048] In this embodiment, the target robot is moved to the target area space to be calibrated and performs random motion. After recording the first robot coordinate value at the target ball TCP and the first target ball coordinate value detected by the measurement system at the target ball TCP, further, based on the first target ball coordinate value, the first robot coordinate value is fitted to obtain the solution with the minimum error in the transformation relationship from the robot coordinate system to the measurement system coordinate system, i.e., the optimal solution. The data fitting method includes, but is not limited to, the least squares method.
[0049] Step S14: Based on the solution with the minimum error, establish a user coordinate system in the controller of the target robot according to the measurement system, so as to calibrate the target robot by calling the user coordinate system within the target range space.
[0050] In this embodiment, after obtaining the solution with the minimum error in the transformation relationship from the robot coordinate system to the measurement system coordinate system, further, based on the solution with the minimum error, that is, based on the calculation result of the measurement system coordinate system relative to the robot coordinate system, a user coordinate system based on the measurement system is established in the controller of the target robot. That is, the measurement system is taken as the origin of the user coordinate system. In this way, within the target range space, the target robot can obtain a very high absolute accuracy calibration result by calling the user coordinate system.
[0051] As can be seen, this embodiment first determines the calibration accuracy of the target ball TCP located on the end effector axis of the target robot, and determines whether the calibration accuracy meets a preset condition. If the calibration accuracy meets the preset condition, the target robot is moved to the target range space to be calibrated and performs random motion. The first robot coordinate value at the target ball TCP and the first target ball coordinate value detected by the measurement system at the target ball TCP are recorded. Then, based on the first target ball coordinate value, data fitting is performed on the first robot coordinate value to obtain the solution with the smallest error in the transformation relationship from the robot coordinate system to the measurement system coordinate system. Then, based on the solution with the smallest error, a user coordinate system based on the measurement system is established in the controller of the target robot so that the target robot can be calibrated within the target range space by calling the user coordinate system. This embodiment uses a measuring device to recalibrate the robot coordinate system with the smallest error within the target range space where high precision is required, thereby obtaining high absolute robot accuracy within the target range space.
[0052] This application discloses a specific method for calibrating the absolute accuracy of a robot. (See also...) Figure 2 As shown, the method includes:
[0053] Step S21: Record the second robot coordinates at the end flange TCP and the second target ball coordinates at the target ball TCP detected by the measurement system when the target robot moves randomly within the preset space.
[0054] In this embodiment, to calibrate the robot TCP, the target robot to be calibrated is first allowed to move randomly within a preset spatial range, such as the preset spatial range of an assembly robot. During the random movement, the robot coordinates at the TCP of the end flange of the target robot and the coordinates at the TCP of the target ball detected by the measurement system are recorded to obtain the second robot coordinates and the second target ball coordinates. The preset spatial range refers to all the larger spatial ranges that the target robot can reach.
[0055] In this embodiment, recording the second robot coordinates at the end flange TCP and the second target ball coordinates at the target ball TCP detected by the measurement system when the target robot moves randomly within a preset spatial range can specifically include: allowing the target robot to move randomly to a preset number of points within the preset spatial range, and recording the second robot coordinates at the end flange TCP and the second target ball coordinates at the target ball TCP detected by the measurement system. For example, the target robot moves randomly to 50 points within the assembly workspace, and simultaneously records the robot coordinates at the end flange TCP and the target ball coordinates obtained by the measurement system. It should be noted that, preferably, the preset number is 50. The fewer the number selected, the less accurate the calibration; the more the number selected, the more time is wasted. Therefore, the selection should be based on the specific application.
[0056] Step S22: Calculate the coordinates of the target ball TCP relative to the flange TCP at the end of the target robot using the coordinates of the second robot and the second target ball.
[0057] In this embodiment, after recording the second robot coordinates at the end flange TCP and the second target ball coordinates at the target ball TCP detected by the measurement system when the target robot moves randomly within a preset space range, the coordinates of the target ball TCP relative to the end flange TCP of the target robot can be calculated using the second robot coordinates and the second target ball coordinates.
[0058] Specifically, calculating the coordinates of the target ball TCP relative to the flange TCP of the target robot end effector using the second robot coordinates and the second target ball coordinates can include: substituting the second robot coordinates and the second target ball coordinates into a preset robot TCP calibration algorithm to calculate the coordinates of the target ball TCP relative to the flange TCP of the target robot end effector. For example, substituting the aforementioned 50 sets of robot coordinate data and 50 sets of target ball coordinate data from the target robot end effector flange into the robot TCP calibration algorithm to calculate the coordinates of the target ball TCP relative to the target robot end effector flange TCP.
[0059] Step S23: The target robot is made to perform a repositioning motion around the target ball TCP located on the end axis of the target robot, so as to detect the spatial position error range of the target ball TCP through the measurement system and obtain the spatial position change error value of the target ball TCP under different postures of the target robot.
[0060] In this embodiment, after calculating the coordinates of the target ball TCP relative to the flange TCP at the end of the target robot using the second robot coordinates and the second target ball coordinates, the target robot can be repositioned around the target ball TCP located on the end axis of the target robot. The spatial position error range of the target ball TCP is detected by the measurement system, and then the spatial position change error value of the target ball TCP under different postures of the target robot is obtained through the spatial position error range.
[0061] Step S24: Determine the calibration accuracy of the target ball TCP using the spatial position change error value and the coordinate value of the target ball TCP relative to the flange TCP at the end of the target robot, and determine whether the calibration accuracy meets the preset conditions.
[0062] Step S25: If the calibration accuracy meets the preset conditions, the target robot is moved to the target range space to be calibrated and performs random motion, and the first robot coordinate value at the target ball TCP and the first target ball coordinate value at the target ball TCP detected by the measurement system are recorded.
[0063] Step S26: Using the coordinates of the first target ball as a reference, perform data fitting on the coordinates of the first robot to obtain the solution with the smallest error in the transformation relationship from the robot coordinate system to the measurement system coordinate system.
[0064] Step S27: Based on the solution with the minimum error, establish a user coordinate system in the controller of the target robot based on the measurement system, so as to calibrate the target robot within the target range space by calling the user coordinate system.
[0065] For more detailed processing procedures regarding steps S24 to S27, please refer to the corresponding content disclosed in the foregoing embodiments, which will not be repeated here.
[0066] As can be seen, this embodiment first records the second robot coordinates at the end flange TCP and the second target ball coordinates at the target ball TCP detected by the measurement system when the target robot moves randomly within a preset spatial range. Then, it calculates the coordinates of the target ball TCP relative to the end flange TCP of the target robot using the second robot coordinates and the second target ball coordinates. Next, it allows the target robot to perform repositioning motion around the target ball TCP located on the end axis of the target robot, so that the spatial position error range of the target ball TCP can be detected by the measurement system, and the spatial position change error value of the target ball TCP under different postures of the target robot can be obtained. The spatial position change error value and the coordinates of the target ball TCP relative to the end flange TCP of the target robot are then used to calculate the coordinates of the target ball TCP relative to the end flange TCP of the target robot. The calibration accuracy of the target ball TCP is determined by the coordinate values of the flange TCP at the end of the target robot. Further, the target robot is moved randomly within the target area to be calibrated, and the first robot coordinate values at the target ball TCP and the first target ball coordinate values detected by the measurement system at the target ball TCP are recorded. Then, using the first target ball coordinate values as a reference, data fitting is performed on the first robot coordinate values to obtain the solution with the minimum error in the transformation relationship from the robot coordinate system to the measurement system coordinate system. Finally, based on the solution with the minimum error, a user coordinate system based on the measurement system is established in the controller of the target robot so that the target robot can be calibrated within the target area by calling the user coordinate system. Therefore, this application proposes a simple and practical robot absolute accuracy optimization scheme. By using a measuring device to recalibrate the robot coordinate system with the minimum error within a small area requiring precision, high robot absolute accuracy is obtained within a small area. It requires no external hardware or software connection, is low in cost, and is easy to use; its absolute accuracy is close to the robot's accuracy limit. Since the accuracy timeliness depends on the mechanical structure, the accuracy will not be lost as long as the robot's mechanical structure does not change. It can be applied to most small-scale robot absolute accuracy application scenarios.
[0067] Accordingly, this application also discloses a robot absolute accuracy calibration device, see [link to relevant documentation]. Figure 3 As shown, the device includes:
[0068] The calibration accuracy determination module 11 is used to determine the calibration accuracy of the target ball TCP located on the end axis of the target robot.
[0069] The judgment module 12 is used to determine whether the calibration accuracy meets the preset conditions;
[0070] The coordinate value recording module 13 is used to move the target robot to the target range space to be calibrated and make random movements if the calibration accuracy meets the preset conditions, and record the first robot coordinate value at the target ball TCP and the first target ball coordinate value at the target ball TCP detected by the measurement system.
[0071] The data fitting module 14 is used to perform data fitting on the first robot coordinate values based on the first target ball coordinate values, so as to obtain the solution with the smallest error in the transformation relationship from the robot coordinate system to the measurement system coordinate system.
[0072] The coordinate system establishment module 15 is used to establish a user coordinate system based on the measurement system in the controller of the target robot according to the solution with the minimum error, so as to calibrate the target robot by calling the user coordinate system within the target range space.
[0073] The specific workflow of each of the above modules can be found in the relevant content disclosed in the foregoing embodiments, and will not be repeated here.
[0074] As can be seen, in this embodiment, the calibration accuracy of the target ball TCP located on the end effector axis of the target robot is first determined, and it is judged whether the calibration accuracy meets the preset conditions. If the calibration accuracy meets the preset conditions, the target robot is moved to the target range space to be calibrated and performs random motion. The first robot coordinate value at the target ball TCP and the first target ball coordinate value detected by the measurement system at the target ball TCP are recorded. Then, based on the first target ball coordinate value, the first robot coordinate value is fitted to obtain the solution with the smallest error in the transformation relationship from the robot coordinate system to the measurement system coordinate system. Then, based on the solution with the smallest error, a user coordinate system based on the measurement system is established in the controller of the target robot so that the target robot can be calibrated within the target range space by calling the user coordinate system. This embodiment of the application obtains high-precision absolute robot accuracy within the target range space by using a measuring device to recalibrate the robot coordinate system with the smallest error within the target range space where precision is required.
[0075] In some specific embodiments, the robot absolute accuracy calibration device may further include:
[0076] The first coordinate value recording unit is used to record the second robot coordinate value at the end flange TCP and the second target ball coordinate value at the target ball TCP detected by the measurement system when the target robot performs random movement within a preset space range;
[0077] The first coordinate value calculation unit is used to calculate the coordinate value of the target ball TCP relative to the flange TCP at the end of the target robot using the second robot coordinate value and the second target ball coordinate value.
[0078] In some specific embodiments, the first coordinate value recording unit may specifically include:
[0079] The second coordinate value recording unit is used to allow the target robot to move randomly to a preset number of points within a preset space range, and to record the second robot coordinate value at the end flange TCP of the robot and the second target ball coordinate value at the target ball TCP detected by the measurement system.
[0080] In some specific embodiments, the first coordinate value calculation unit may specifically include:
[0081] The second coordinate value calculation unit is used to substitute the second robot coordinate value and the second target ball coordinate value into a preset robot TCP calibration algorithm to calculate the coordinate value of the target ball TCP relative to the flange TCP at the end of the target robot.
[0082] In some specific embodiments, the calibration accuracy determination module 11 may specifically include:
[0083] A repositioning unit is used to enable the target robot to perform repositioning motion around the target ball TCP located on the end axis of the target robot.
[0084] The calibration accuracy determination unit is used to obtain the spatial position change error value of the target ball TCP, and use the spatial position change error value and the coordinate value of the target ball TCP relative to the flange TCP of the target robot end to determine the calibration accuracy of the target ball TCP.
[0085] In some specific embodiments, the calibration accuracy determination unit may specifically include:
[0086] The error value acquisition unit is used to detect the spatial position error range of the target ball TCP through the measurement system, so as to obtain the spatial position change error value of the target ball TCP under different postures of the target robot.
[0087] In some specific embodiments, the coordinate value recording module 13 may specifically include:
[0088] The random movement unit is used to move the target robot to the target range space to be calibrated, and to perform random movements covering the entire target range space a preset number of times.
[0089] Furthermore, embodiments of this application also disclose an electronic device, Figure 4 This is a structural diagram of an electronic device 20 according to an exemplary embodiment. The content of the diagram should not be construed as limiting the scope of this application.
[0090] Figure 4 This is a schematic diagram of the structure of an electronic device 20 provided in an embodiment of this application. Specifically, the electronic device 20 may include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 stores a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the robot absolute accuracy calibration method disclosed in any of the foregoing embodiments. Alternatively, the electronic device 20 in this embodiment may specifically be an electronic computer.
[0091] In this embodiment, the power supply 23 is used to provide operating voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and is not specifically limited here; the input / output interface 25 is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.
[0092] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk or optical disk, etc. The resources stored thereon can include operating system 221, computer program 222, etc., and the storage method can be temporary storage or permanent storage.
[0093] The operating system 221 is used to manage and control the various hardware devices on the electronic device 20 and the computer program 222, which may be Windows Server, Netware, Unix, Linux, etc. In addition to including a computer program capable of performing the robot absolute accuracy calibration method executed by the electronic device 20 as disclosed in any of the foregoing embodiments, the computer program 222 may further include computer programs capable of performing other specific tasks.
[0094] Furthermore, this application also discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the aforementioned robot absolute accuracy calibration method. Specific steps of this method can be found in the corresponding content disclosed in the foregoing embodiments, and will not be repeated here.
[0095] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.
[0096] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0097] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.
[0098] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0099] The above provides a detailed description of a robot absolute accuracy calibration method, apparatus, device, and storage medium provided in this application. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.
Claims
1. A method for calibrating the absolute accuracy of a robot, characterized in that, include: Determine the calibration accuracy of the target ball TCP located on the end effector axis of the target robot, and determine whether the calibration accuracy meets the preset conditions; If the calibration accuracy meets the preset conditions, the target robot is moved to the target range space to be calibrated and performs random motion, and the first robot coordinate value at the target ball TCP and the first target ball coordinate value at the target ball TCP detected by the measurement system are recorded. Based on the coordinates of the first target ball, the coordinates of the first robot are fitted to obtain the solution with the smallest error in the transformation relationship from the robot coordinate system to the measurement system coordinate system. Based on the solution with the minimum error, a user coordinate system based on the measurement system is established in the controller of the target robot so that the target robot can be calibrated within the target range space by calling the user coordinate system. The step of fitting the first robot coordinate values to obtain the solution with the minimum error in the transformation relationship from the robot coordinate system to the measurement system coordinate system includes: using the least squares method to fit the first robot coordinate values to obtain the solution with the minimum error in the transformation relationship from the robot coordinate system to the measurement system coordinate system. The step of determining the calibration accuracy of the target ball TCP located on the end axis of the target robot includes: allowing the target robot to perform a repositioning motion around the target ball TCP located on the end axis of the target robot to obtain the spatial position change error value of the target ball TCP, and using the spatial position change error value and the coordinate value of the target ball TCP relative to the flange TCP of the end of the target robot to determine the calibration accuracy of the target ball TCP; The step of obtaining the spatial position change error value of the target ball TCP includes: detecting the spatial position error range of the target ball TCP through the measurement system to obtain the spatial position change error value of the target ball TCP under different postures of the target robot.
2. The robot absolute accuracy calibration method according to claim 1, characterized in that, Also includes: Record the second robot coordinates at the end flange TCP and the second target ball coordinates at the target ball TCP detected by the measurement system when the target robot performs random movement within a preset spatial range; The coordinates of the target ball TCP relative to the flange TCP at the end of the target robot are calculated using the coordinates of the second robot and the second target ball.
3. The robot absolute accuracy calibration method according to claim 2, characterized in that, The recording of the second robot coordinates at the end flange TCP and the second target ball coordinates at the target ball TCP detected by the measurement system when the target robot performs random movement within a preset spatial range includes: The target robot is allowed to move randomly to a predetermined number of points within a predetermined space, and the second robot coordinates at the end flange TCP and the second target ball coordinates at the target ball TCP detected by the measurement system are recorded.
4. The robot absolute accuracy calibration method according to claim 2, characterized in that, The step of calculating the coordinates of the target ball TCP relative to the flange TCP at the end of the target robot using the second robot coordinates and the second target ball coordinates includes: The second robot coordinates and the second target ball coordinates are substituted into a preset robot TCP calibration algorithm to calculate the coordinates of the target ball TCP relative to the flange TCP at the end of the target robot.
5. The robot absolute accuracy calibration method according to any one of claims 1 to 4, characterized in that, Moving the target robot to the target area space to be calibrated and performing random motion includes: The target robot is moved to the target range space to be calibrated, and then performs random movements covering the entire target range space a preset number of times.
6. A robot absolute accuracy calibration device, characterized in that, include: The calibration accuracy determination module is used to determine the calibration accuracy of the target ball TCP located on the end effector axis of the target robot. The judgment module is used to determine whether the calibration accuracy meets the preset conditions; The coordinate value recording module is used to move the target robot to the target range space to be calibrated and make random movements if the calibration accuracy meets the preset conditions, and record the first robot coordinate value at the target ball TCP and the first target ball coordinate value at the target ball TCP detected by the measurement system. The data fitting module is used to perform data fitting on the first robot coordinate values based on the first target ball coordinate values, so as to obtain the solution with the smallest error in the transformation relationship from the robot coordinate system to the measurement system coordinate system; The coordinate system establishment module is used to establish a user coordinate system based on the measurement system in the controller of the target robot according to the solution with the minimum error, so as to calibrate the target robot by calling the user coordinate system within the target range space; The data fitting module is specifically used to perform data fitting on the first robot coordinate values using the least squares method to obtain the solution with the smallest error in the transformation relationship from the robot coordinate system to the measurement system coordinate system. The calibration accuracy determination module is specifically used to make the target robot perform repositioning motion around the target ball TCP located on the end axis of the target robot, so as to obtain the spatial position change error value of the target ball TCP, and use the spatial position change error value and the coordinate value of the target ball TCP relative to the flange TCP of the end of the target robot to determine the calibration accuracy of the target ball TCP; The calibration accuracy determination module is also used to detect the spatial position error range of the target ball TCP through the measurement system, so as to obtain the spatial position change error value of the target ball TCP under different postures of the target robot.
7. An electronic device, characterized in that, It includes a processor and a memory; wherein, when the processor executes a computer program stored in the memory, it implements the robot absolute accuracy calibration method as described in any one of claims 1 to 5.
8. A computer-readable storage medium, characterized in that, Used to store computer programs; wherein, when the computer programs are executed by a processor, they implement the robot absolute accuracy calibration method as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Laser-tracker-based calibration method for six-degree-of-freedom robot tool coordinate system
CN107560538A
Robot 3D visual hand-eye calibration method based on sphere target
CN110116411A