Robotic calibration method and welding system

CN117817715BActive Publication Date: 2026-10-16BEIJING BO TSING TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202311845337.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-12-28
Publication Date
2026-10-16
Estimated Expiration
2043-12-28

AI Technical Summary

Technical Problem

[0005]本申请的主要目的在于提供一种机器人标定方法和焊接系统,以至少解决现有技术的机器人标定过程采样点数量较多,标定效率低下的问题

Benefits of technology

[0017] By applying the technical solution of this application, the robot calibration method creatively proposes a dual-axis motion calibration scheme, which forms joint pairs by corresponding translational and rotational joints of the robot, and controls each joint pair to perform dual-axis motion to collect calibration data. This can effectively reduce the number of calibration sampling points, reduce the complexity of the calibration sampling process, and thus improve calibration efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN117817715B_ABST
    Figure CN117817715B_ABST
Patent Text Reader

Abstract

The application provides a robot calibration method and a welding system. The robot comprises a plurality of joint pairs, each joint pair comprising a prismatic joint and a rotary joint. The method comprises: controlling the rotary joints in the joint pairs to rotate in sequence by an angle, and obtaining a corresponding coordinate set; determining an axis direction vector of each prismatic joint and each rotary joint according to the coordinate set; determining an actual joint coordinate system of a first joint and a first conversion matrix according to an origin coordinate of a theoretical base coordinate system of the first joint, a theoretical joint coordinate system and the axis direction vector, and an origin coordinate of a theoretical base coordinate system of a second joint and the axis direction vector; determining an actual joint coordinate system and a second conversion matrix according to a theoretical base coordinate system and an actual joint coordinate system of an i-1th joint, and a theoretical joint coordinate system, an axis direction vector and the first conversion matrix of an i th joint; determining a first actual DH parameter, and controlling the robot to run.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of robot calibration technology, and more specifically, to a robot calibration method and a welding system. Background Technology

[0002] The actual kinematic model of a multi-axis robot differs from the ideal model due to manufacturing errors, assembly errors, and the influence of the working environment. When the robot operates according to instructions determined based on the ideal model, trajectory errors will occur, thus affecting the work performance. Common calibration techniques to eliminate the differences between the actual and theoretical models and improve the robot's absolute positioning accuracy include the error model method and the single-axis rotation method.

[0003] The error model method couples error factors such as geometric parameter errors and zero-position errors, resulting in incompletely accurate kinematic parameters. Furthermore, the robot's accuracy after calibration depends on the location of the sampling points; it exhibits high positioning accuracy within a small area near the sampling points, but its effect on improving positioning accuracy is limited outside of these sampling points. In addition, the total number of sampling points for the error model method should theoretically be no less than the cumulative number of kinematic parameters for each joint of the multi-axis robot. Therefore, calibration using the error model method requires collecting a large number of data points, making the calibration process cumbersome and time-consuming.

[0004] When determining the axes of a robot using the single-axis rotation method, most methods employ a single measurement, using the normal vector of the fitted plane as the direction vector of the axis. For robots with long reach, even a small fitting error in the axis direction vector can lead to significant geometric parameter errors, thus reducing calibration accuracy. Furthermore, to ensure the validity of the calibration results, each axis of a multi-axis robot requires at least four sampling points to fit its axis equation or direction vector; therefore, the single-axis rotation method also requires a high number of sampling points, resulting in low calibration efficiency. Summary of the Invention

[0005] The main objective of this application is to provide a robot calibration method and welding system to at least solve the problems of the large number of sampling points and low calibration efficiency in the existing robot calibration process.

[0006] To achieve the above objectives, according to one aspect of this application, a robot calibration method is provided. The robot includes a base and a plurality of first joints, each of which is arranged sequentially along a direction away from the base. Every two first joints form a joint pair, and the two first joints in the joint pair are a translational joint and a rotational joint, respectively. The method includes: with the translational joint in the target joint pair in an initial position, controlling the rotational joint in the target joint pair to rotate sequentially at least three times along a predetermined direction from a target position, and obtaining the robot end-effector coordinates corresponding to each rotation to obtain a coordinate set of the target joint pair, wherein the target joint pair is one of the plurality of joint pairs; determining the axial direction vectors of each translational joint and each rotational joint based on the coordinate sets of each joint pair; and determining the actual joint coordinate system of the first first joint based on the origin coordinates of the theoretical base coordinate system of the first first joint arranged along a direction away from the base, the theoretical joint coordinate system of the first first joint, the axial direction vector of the first first joint, the origin coordinates of the theoretical base coordinate system of the second first joint arranged along a direction away from the base, and the axial direction vector of the second first joint. The system comprises: a first transformation matrix, which is the transformation matrix of the actual joint coordinate system of the first first joint relative to the theoretical joint coordinate system of the first first joint; a second transformation matrix of the i-th first joint, which is determined based on the theoretical base coordinate system of the (i-1)th first joint arranged in a direction away from the base, the actual joint coordinate system of the (i-1)th first joint, the theoretical joint coordinate system of the i-th first joint, the axis direction vector of the i-th first joint passing through the third target origin, and the first transformation matrix; the second transformation matrix of the i-th first joint, which is the transformation matrix of the actual joint coordinate system of the i-th first joint relative to the actual joint coordinate system of the (i-1)th first joint arranged in a direction away from the base, where i ≥ 2, and the third target origin is the origin of the theoretical base coordinate system of the i-th first joint; and a plurality of first actual DH parameters of the links between the first joints, excluding the first first joint, are determined based on the second transformation matrix of each first joint, and the robot is controlled to run based on at least each of the first actual DH parameters.

[0007] Optionally, the initial position includes a relative first limit position and a second limit position. When the translational joint in the target joint pair is in the initial position, the rotational joint in the target joint pair is controlled to rotate sequentially at least three times along a predetermined direction from the target position, and the robot end-effector coordinates corresponding to each rotation are obtained to obtain the coordinate set of the target joint pair. This includes: when other joint pairs are at zero positions, controlling the translational joint in the target joint pair to move to the first limit position, where the other joint pairs are joint pairs other than the target joint pair; when the translational joint reaches the first limit position, controlling the rotational joint in the target joint pair to rotate sequentially along the predetermined direction from the target position, and obtaining the robot end-effector coordinates after rotating a first angle from the target position to obtain the first coordinate; obtaining the robot end-effector coordinates after rotating a second angle from the target position to obtain the second coordinate; and obtaining the robot end-effector coordinates after rotating a third angle from the target position to obtain the second coordinate. The robot's end-effector coordinates are used to obtain a third coordinate. The first angle, the second angle, and the third angle increase sequentially. The first coordinate, the second coordinate, and the third coordinate constitute the first sub-coordinate set of the target joint pair. The translational joint in the target joint pair is controlled to move to the second limit position. When the translational joint reaches the second limit position, the rotational joint in the target joint pair is controlled to rotate sequentially along the predetermined direction from the target position. The robot's end-effector coordinates after rotating from the target position by the first angle are obtained to obtain a fourth coordinate. The robot's end-effector coordinates after rotating from the target position by the second angle are obtained to obtain a fifth coordinate. The robot's end-effector coordinates after rotating from the target position by the third angle are obtained to obtain a sixth coordinate. The fourth coordinate, the fifth coordinate, and the sixth coordinate constitute the second sub-coordinate set of the target joint pair. The first sub-coordinate set and the second sub-coordinate set constitute the coordinate system of the target joint pair.

[0008] Optionally, determining the axial direction vectors of each translational joint and each rotational joint based on the coordinate set of each joint pair includes: determining a first vector based on the first, second, and third coordinates of the target joint pair, wherein the first vector is a normal vector of the plane including the first, second, and third coordinates; determining a second vector based on the fourth, fifth, and sixth coordinates of the target joint pair, wherein the second vector is a normal vector of the plane including the fourth, fifth, and sixth coordinates; determining the direction vector of the axis of symmetry between the first vector and the second vector passing through the first target origin to obtain the axial direction vector of the rotational joint in the target joint pair, wherein the first target origin is the origin of the theoretical base coordinate system of the rotational joint in the target joint pair; and obtaining the endpoint coordinates of a first line segment of predetermined length originating from the second target origin to obtain the seventh coordinate. The system obtains the endpoint coordinates of the second line segment of a predetermined length originating from the second target origin, thus obtaining the eighth coordinate; it also obtains the endpoint coordinates of the third line segment of a predetermined length originating from the second target origin, thus obtaining the ninth coordinate. The second target origin is the origin of the theoretical base coordinate system of the translational joint in the target joint pair. The line containing the first line segment passes through the second target origin and is parallel to the line connecting the first and fourth coordinates. The line containing the second line segment passes through the second target origin and is parallel to the line connecting the second and fifth coordinates. The line containing the third line segment passes through the second target origin and is parallel to the line connecting the third and sixth coordinates. Based on the seventh, eighth, and ninth coordinates, the normal vector of the plane including the seventh, eighth, and ninth coordinates is determined, thus obtaining the axial direction vector of the translational joint in the target joint pair.

[0009] Optionally, determining the actual joint coordinate system and a first transformation matrix of the first first joint based on the origin coordinates of the theoretical base coordinate system of the first first joint arranged in a direction away from the base, the theoretical joint coordinate system of the first first joint, the axial direction vector of the first first joint, the origin coordinates of the theoretical base coordinate system of the second first joint arranged in a direction away from the base, and the axial direction vector of the second first joint includes: determining the coordinate axis direction vector of the actual base coordinate system of the first first joint based on the axial direction vector of the first first joint and the axial direction vector of the second first joint; determining the origin coordinates of the actual base coordinate system of the first first joint as the target coordinates based on the axial direction vectors of the first first joint, the axial direction vectors of the second first joint, the origin coordinates of the theoretical base coordinate system of the first first joint, and the origin coordinates of the theoretical base coordinate system of the second first joint, wherein the target coordinates and the coordinate axis direction vectors constitute the actual base coordinate system of the first first joint. The actual joint coordinate system of the first joint is determined as the actual base coordinate system of the first joint; a first translation vector is determined based on the target coordinates, and a first initial transformation matrix is ​​determined based on the coordinate axis direction vector of the first joint and the first translation vector, wherein the first translation vector is the translation vector of the actual base coordinate system of the first joint relative to the theoretical base coordinate system of the first joint, and the first initial transformation matrix is ​​the transformation matrix of the actual base coordinate system of the first joint relative to the theoretical base coordinate system of the first joint; a second initial transformation matrix is ​​determined based on the theoretical joint coordinate system of the first joint and the theoretical base coordinate system of the first joint, and the first initial transformation matrix is ​​determined based on the first initial transformation matrix and the second initial transformation matrix, wherein the first initial transformation matrix is ​​the product of the inverse matrix of the second initial transformation matrix and the first initial transformation matrix, and the second initial transformation matrix is ​​the transformation matrix of the theoretical joint coordinate system of the first joint relative to the theoretical base coordinate system of the first joint.

[0010] Optionally, determining the coordinate axis direction vector of the actual base coordinate system of the first first joint based on the axial direction vector of the first first joint and the axial direction vector of the second first joint includes: determining the coordinate axis direction vector of the first first joint based on the axial direction vector of the first first joint. and the axial direction vector of the second first joint Determine the coordinate axis direction vector of the actual base coordinate system of the first joint. for: Determining the origin coordinates of the actual base coordinate system of the first joint as the target coordinates based on the axial direction vector of the first joint, the axial direction vector of the second joint, the origin coordinates of the theoretical base coordinate system of the first joint, and the origin coordinates of the theoretical base coordinate system of the second joint includes: determining the origin coordinates of the actual base coordinate system of the first joint as the target coordinates based on the axial direction vector of the first joint. The second axial direction vector of the first joint The origin coordinates (O) of the theoretical base coordinate system of the first joint 1x O 1y O 1z ) and the origin coordinates (O) of the theoretical base coordinates of the second first joint. 2x O 2y O 2z ), determine the target coordinates (O) oax O oay O oaz )for:

[0011] in, (n 0ax1 n 0ax2 n 0ax3 ) is the x-axis direction vector of the actual base coordinate system of the first joint. The first initial transformation matrix is ​​determined based on the coordinate axis direction vector of the first joint and the first translation vector, including: the projection coordinates of the x-axis direction vector of the actual base coordinate system of the first joint onto the x-axis of the theoretical base coordinate system of the first joint, the projection coordinates of the x-axis direction vector onto the y-axis of the theoretical base coordinate system of the first joint, and the projection coordinates of the x-axis direction vector onto the z-axis of the theoretical base coordinate system of the first joint; the first initial transformation matrix is ​​determined based on the coordinate axis direction vector of the first joint and the first translation vector, including: the projection coordinates of the x-axis direction vector of the first joint onto the x-axis of the theoretical base coordinate system of the first joint. and the first translation vector Determine the first initial transformation matrix for: in,

[0012] Optionally, determining the actual joint coordinate system of the i-th first joint and the second transformation matrix of the i-th first joint based on the theoretical base coordinate system of the (i-1)-th first joint arranged in a direction away from the base, the actual joint coordinate system of the (i-1)-th first joint, the theoretical joint coordinate system of the i-th first joint, the axial direction vector of the i-th first joint passing through the third target origin, and the first transformation matrix includes: a first determining step, determining that the first Z-axis direction vector is the axial direction vector of the i-th first joint passing through the third target origin, the first Z-axis direction vector is the Z-axis direction vector of the actual joint coordinate system of the i-th first joint, and determining that the intersection of the first Z-axis direction vector and the predetermined plane is the origin coordinate of the actual joint coordinate system of the i-th first joint, the predetermined plane being the X-axis direction vector of the actual joint coordinate system of the (i-1)-th first joint. The plane of the axis and the Z-axis; the second determining step, determining the rotation axis and rotation angle of the i-th first joint according to the second Z-axis direction vector and the first Z-axis direction vector, and determining the second translation vector of the i-th first joint according to the difference between the origin coordinates of the actual joint coordinate system of the i-th first joint and the origin coordinates of the theoretical joint coordinate system of the i-th first joint, wherein the second Z-axis direction vector is the Z-axis direction vector of the theoretical joint coordinate system of the i-th first joint; the control step, controlling the theoretical joint coordinate system of the i-th first joint to rotate around the rotation axis by the rotation angle and then translate along the second translation vector to obtain the actual joint coordinate system of the i-th first joint and the third initial transformation matrix of the i-th first joint, wherein the third initial transformation matrix of the i-th first joint is the transformation matrix of the actual joint coordinate system of the i-th first joint relative to the theoretical joint coordinate system of the i-th first joint.The third determining step involves determining a fourth initial transformation matrix based on the theoretical joint coordinate system of the i-th first joint and the theoretical base coordinate system of the (i-1)-th first joint. Then, based on the third initial transformation matrix of the i-th first joint, the fourth initial transformation matrix, and the third initial transformation matrix of the (i-1)-th first joint, the second transformation matrix of the i-th first joint is determined to be the product of the inverse of the third initial transformation matrix of the (i-1)-th first joint, the fourth initial transformation matrix, and the third initial transformation matrix of the i-th first joint. The fourth initial transformation matrix is ​​the transformation matrix of the theoretical joint coordinate system of the i-th first joint relative to the theoretical base coordinate system of the (i-1)-th first joint. The third initial transformation matrix of the (i-1)-th first joint is calculated at least based on the first transformation matrix.

[0013] Optionally, after determining the actual joint coordinate system of the i-th first joint and the second transformation matrix of the i-th first joint based on the theoretical base coordinate system of the (i-1)-th first joint arranged in a direction away from the base, the actual joint coordinate system of the (i-1)-th first joint, the theoretical joint coordinate system of the i-th first joint, the axial direction vector of the i-th first joint passing through the third target origin, and the first transformation matrix, the method further includes: a fourth determining step, determining whether i is greater than a predetermined value, the predetermined value being the number of joint pairs; and a looping step, in which, if i is less than or equal to the predetermined value, i is incremented by 1 to obtain an updated i, and the first determining step, the second determining step, the control step, the third determining step, and the fourth determining step are executed cyclically until i is greater than the predetermined value.

[0014] Optionally, the actual DH parameters of the i-th first joint include the link torsional characteristic angle α. i-1 Length a of the connecting rod i-1 Joint angle θ i and connecting rod offset d i Based on the second transformation matrix of each of the first joints except the first first joint, the actual DH parameters of the links between each of the first joints are determined, and the first actual DH parameters of each of the first joints are obtained, including: based on the second transformation matrix of the i-th first joint. T and formula: The first actual DH parameter of the i-th first joint is calculated.

[0015] Optionally, the robot further includes at least one second joint, all of which are of the same type, namely either the translational joint or the rotary joint. Before controlling the robot to run at least according to each of the first actual DH parameters, the method further includes: determining the axis equation of each second joint using a single-axis rotation method; determining the actual DH parameters of the link of the second joint according to the axis equation to obtain second actual DH parameters; and controlling the robot to run at least according to each of the first actual DH parameters, including: controlling the robot to run according to each of the first actual DH parameters and each of the second actual DH parameters.

[0016] According to another aspect of this application, a welding system is provided, comprising: a welding robot; a controller for the welding robot, including one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including methods for performing any one of the methods described.

[0017] By applying the technical solution of this application, the robot calibration method creatively proposes a dual-axis motion calibration scheme, which forms joint pairs by corresponding translational and rotational joints of the robot, and controls each joint pair to perform dual-axis motion to collect calibration data. This can effectively reduce the number of calibration sampling points, reduce the complexity of the calibration sampling process, and thus improve calibration efficiency. Attached Figure Description

[0018] The accompanying drawings, which form part of this application, are used to provide a further understanding of this application. The illustrative embodiments and descriptions of this application are used to explain this application and do not constitute an undue limitation of this application. In the drawings:

[0019] Figure 1 A hardware structure block diagram of a mobile terminal for performing a robot calibration method according to an embodiment of this application is shown;

[0020] Figure 2 A flowchart illustrating a robot calibration method according to an embodiment of this application is shown;

[0021] Figure 3 A schematic diagram of the biaxial motion of a joint pair and the acquisition of robot end-effector coordinates provided according to an embodiment of this application is shown;

[0022] Figure 4 A schematic diagram of the axial direction vector of a rotary joint provided according to an embodiment of this application is shown;

[0023] Figure 5A schematic diagram of the axial direction vector of a translational joint provided according to an embodiment of this application is shown;

[0024] Figure 6 A schematic diagram of the actual base coordinate system of the first joint provided according to an embodiment of this application is shown;

[0025] Figure 7 A schematic diagram of the origin of the actual joint coordinate system of each first joint provided according to an embodiment of this application is shown;

[0026] Figure 8 A schematic diagram illustrating the transformation from the theoretical joint coordinate system to the actual joint coordinate system of the first joint according to an embodiment of this application is shown.

[0027] Figure 9 A structural block diagram of a robot calibration device provided according to an embodiment of this application is shown.

[0028] The above figures include the following reference numerals:

[0029] 102. Processor; 104. Memory; 106. Transmission device; 108. Input / output device. Detailed Implementation

[0030] It should be noted that, unless otherwise specified, the embodiments and features described in this application can be combined with each other. This application will now be described in detail with reference to the accompanying drawings and embodiments.

[0031] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0032] It should be noted that the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be used interchangeably where appropriate for the embodiments of this application described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0033] As described in the background section, in the prior art, the robot calibration process involves a large number of sampling points and low calibration efficiency. To solve the above-mentioned technical problems, the embodiments of this application provide a robot calibration method and a welding system.

[0034] The technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention.

[0035] The methods and embodiments provided in this application can be executed on a mobile terminal, computer terminal, or similar computing device. Taking running on a mobile terminal as an example, Figure 1 This is a hardware structure block diagram of a mobile terminal for a robot calibration method according to an embodiment of the present invention. Figure 1 As shown, a mobile terminal may include one or more ( Figure 1 Only one is shown in the diagram. A processor 102 (which may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.) and a memory 104 for storing data are also shown. The mobile terminal may further include a transmission device 106 for communication functions and an input / output device 108. Those skilled in the art will understand that... Figure 1 The structure shown is for illustrative purposes only and does not limit the structure of the mobile terminal. For example, the mobile terminal may also include components that are larger than... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0036] The memory 104 can be used to store computer programs, such as application software programs and modules, like the computer program corresponding to the robot calibration method in this embodiment of the invention. The processor 102 executes various functional applications and data processing by running the computer program stored in the memory 104, thereby implementing the method described. The memory 104 may include high-speed random access memory and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the mobile terminal via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof. The transmission device 106 is used to receive or send data via a network. Specific examples of such networks may include wireless networks provided by the mobile terminal's communication provider. In one example, the transmission device 106 includes a network interface controller (NIC), which can be connected to other network devices via a base station to communicate with the Internet. In one example, the transmission device 106 may be a radio frequency (RF) module, which is used to communicate with the Internet wirelessly.

[0037] This embodiment provides a robot calibration method that runs on a mobile terminal, computer terminal, or similar computing device. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Also, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0038] Figure 2 This is a flowchart of a robot calibration method according to an embodiment of this application. The robot includes a base and a plurality of first joints, with each first joint arranged sequentially along a direction away from the base. Every two first joints form a joint pair, and the two first joints in the joint pair are respectively a translational joint and a rotational joint, as shown below. Figure 2 As shown, the method includes the following steps:

[0039] Step S201: When the translational joint in the target joint pair is in the initial position, control the rotational joint in the target joint pair to rotate sequentially at least three times from the target position along a predetermined direction, and obtain the robot end-effector coordinates after each rotation to obtain the coordinate set of the target joint pair, wherein the target joint pair is one of the multiple joint pairs;

[0040] Specifically, the predetermined direction can be clockwise or counterclockwise. In three-dimensional space, the robot's end effector coordinates are three-dimensional coordinates, and the number of angles controlling the rotation of the rotary joints is a multiple of 3. The number of robot end effector coordinates included in the coordinate set is also a multiple of 3. Each rotary joint can rotate at the same or different angles each time. Different rotary joints correspond to the same target position, and the angle of rotation starting from the target position is the same. That is, the first rotation angle of each rotary joint is the same, the second rotation angle is the same, and the third rotation angle is the same. The target position can be the joint's limit position or any other suitable position that the rotary joint can reach.

[0041] Step S202: Determine the axial direction vector of each translational joint and each rotational joint based on the coordinate set of each joint pair;

[0042] Step S203: Based on the origin coordinates of the theoretical base coordinate system of the first first joint arranged in a direction away from the base, the theoretical joint coordinate system of the first first joint, the axial direction vector of the first first joint, the origin coordinates of the theoretical base coordinate system of the second first joint arranged in a direction away from the base, and the axial direction vector of the second first joint, determine the actual joint coordinate system of the first first joint and a first transformation matrix. The first transformation matrix is ​​the transformation matrix of the actual joint coordinate system of the first first joint relative to the theoretical joint coordinate system of the first first joint.

[0043] Specifically, the theoretical base coordinate system of the first joint is the base coordinate system corresponding to the theoretical kinematic model of the robot, and the theoretical joint coordinate system of the first joint is the joint coordinate system corresponding to the theoretical kinematic model. For the first joint, the theoretical base coordinate system and the theoretical joint coordinate system coincide, and the actual base coordinate system and the actual joint coordinate system coincide. The first joint arranged in the direction away from the base is the first joint closest to the base among all the first joints. The first joint arranged in the direction away from the base may be a translational joint or a rotational joint, depending on the robot's own structure. The same applies to the other i-th joints.

[0044] Step S204: Based on the theoretical base coordinate system of the (i-1)th first joint arranged in a direction away from the base, the actual joint coordinate system of the (i-1)th first joint, the theoretical joint coordinate system of the ith first joint, the axial direction vector of the ith first joint passing through the third target origin, and the first transformation matrix, determine the actual joint coordinate system of the ith first joint and the second transformation matrix of the ith first joint. The second transformation matrix of the ith first joint is the transformation matrix of the actual joint coordinate system of the ith first joint relative to the actual joint coordinate system of the (i-1)th first joint arranged in a direction away from the base, i≥2, and the third target origin is the origin of the theoretical base coordinate system of the ith first joint.

[0045] Step 205: Determine the actual DH parameters of the links between each of the first joints based on the second transformation matrix of each of the first joints except the first first joint, obtain multiple first actual DH parameters, and control the robot to run based on at least each of the first actual DH parameters.

[0046] Specifically, the first actual DH parameter of the second first joint is the actual DH parameter of the link between the second first joint and the first first joint, and the first actual DH parameter of the i-th first joint is the actual DH parameter of the link between the i-th first joint and the (i-1)-th first joint. The actual DH parameters are also called kinematic model geometric parameters, specifically including joint angles, link torsional characteristic angles, link lengths, and link offsets.

[0047] In the aforementioned embodiment, the translational and rotational joints of the robot are paired. First, the translational joints in the pair are kept in their initial positions, and the rotational joints are controlled to rotate. The robot's end-effector coordinates are obtained during the rotation process, thus establishing the coordinate system of the pair. Then, based on the coordinate sets of each pair, the axial direction vectors of the translational and rotational joints in each pair are determined. Next, based on the origin coordinates, theoretical joint coordinate system, and axial direction vector of the theoretical base coordinate system of the first joint arranged along the direction away from the base, and the origin coordinates and axial direction vector of the theoretical base coordinate system of the second joint, the actual joint coordinate system of the first joint and its transformation matrix relative to the theoretical joint coordinate system are determined. Then, based on the theoretical base coordinate system and actual joint coordinate system of the (i-1)th joint, and the theoretical joint coordinate system, axial direction vector, and first transformation matrix of the ith joint, a second transformation matrix of the ith joint relative to the (i-1)th joint's actual joint coordinate system is determined. Finally, based on these second transformation matrices, the actual DH parameters of each link of the robot are determined, thereby controlling the robot's operation based on these actual DH parameters. Compared to the existing technology that uses single-joint sequential calibration, resulting in a large number of sampling points and low calibration efficiency, this application creatively proposes a dual-axis motion calibration scheme. This scheme forms joint pairs by corresponding translational and rotational joints of the robot, and controls each joint pair to perform dual-axis motion to collect calibration data. This can effectively reduce the number of calibration sampling points, reduce the complexity of the calibration sampling process, and thus improve calibration efficiency.

[0048] Specifically, if the robot includes f translational joints and g rotational joints, then min{f, g} joint pairs can be formed. Any one translational joint from the f translational joints and any one rotational joint from the g rotational joints can be selected to form a joint pair. The joints forming the joint pairs are called the first joints, and the joints not forming the joint pairs are called the second joints. For example, if f > g, in addition to the g joint pairs, there are (fg) remaining translational joints, and these (fg) translational joints are all the second joints. If f = g, all translational joints have corresponding rotational joints, and the robot does not include the second joints.

[0049] In one alternative, the initial position includes a relative first limit position and a second limit position. Step S201: With the translational joint in the target joint pair in the initial position, the rotational joint in the target joint pair is controlled to rotate sequentially at least three times along a predetermined direction from the target position, and the robot end-effector coordinates corresponding to each rotation are obtained to obtain the coordinate set of the target joint pair. Specifically, this includes the following steps:

[0050] Step S2011: When other joint pairs are in the zero position, control the translational joint in the target joint pair to move to the first limit position, wherein the other joint pairs are the joint pairs other than the target joint pair;

[0051] Specifically, the first extreme position is a limit position that the translational joint can reach, and the second extreme position is another limit position that the translational joint can reach. In practical applications, the translational joint in the target joint pair of the robot can be continuously moved in the negative direction until the laser tracker can no longer obtain measurement data or the limit position of the joint's movement range is reached. This position is taken as the negative extreme position where the translational joint meets the measurable condition, thus obtaining the first extreme position, and the translational joint is fixed at this first extreme position.

[0052] Step S2012: When the translational joint reaches the first limit position, control the rotational joints in the target joint pair to rotate sequentially from the target position along the predetermined direction, and obtain the robot end-effector coordinates after rotating from the target position by a first angle to obtain the first coordinates, obtain the robot end-effector coordinates after rotating from the target position by a second angle to obtain the second coordinates, and obtain the robot end-effector coordinates after rotating from the target position by a third angle to obtain the third coordinates. The first angle, the second angle, and the third angle increase sequentially, and the first coordinates, the second coordinates, and the third coordinates constitute the first sub-coordinate set of the target joint pair.

[0053] Specifically, a laser tracker is used to obtain the coordinates of the robot's end effector corresponding to the angle of rotation of the rotary joint. The target position can be either the positive or negative limit position of the rotary joint. In one embodiment of this application, the target position is the negative limit position of the rotary joint. Specifically, the target joint pair of the robot can be continuously rotated in the negative direction until the laser tracker can no longer obtain measurement data, thereby obtaining the negative limit position of the rotary joint that meets the measurable conditions. The method for obtaining the positive limit position is similar and will not be described in detail here. Before controlling the rotation of the rotary joint, the robot is controlled to run at a low speed.

[0054] Step S2013: Control the translational joint in the target joint alignment to move to the second extreme position;

[0055] Specifically, the translational joint in the target joint pair of the robot can be made to move continuously in the positive direction until the laser tracker can no longer obtain measurement data or the joint movement range is reached. This position is taken as the positive limit position of the translational joint that satisfies the measurable condition, and the second limit position is obtained. The translational joint is then fixed at this second limit position.

[0056] Step S2014: When the translational joint reaches the second limit position, control the rotary joints in the target joint pair to rotate sequentially from the target position along the predetermined direction, and obtain the robot end-effector coordinates after rotating from the target position by the first angle to obtain the fourth coordinate, obtain the robot end-effector coordinates after rotating from the target position by the second angle to obtain the fifth coordinate, and obtain the robot end-effector coordinates after rotating from the target position by the third angle to obtain the sixth coordinate. The fourth coordinate, the fifth coordinate, and the sixth coordinate constitute the second sub-coordinate set of the target joint pair, and the first sub-coordinate set and the second sub-coordinate set constitute the coordinate system of the target joint pair.

[0057] In the aforementioned embodiment, while keeping other joint pairs fixed at zero positions, the translational and rotational joints in the target joint pair are controlled to move in coordination, and the robot's end-effector coordinates are collected to obtain the first and second sub-coordinate sets of the target joint pair. This further reduces the number of calibration sampling points and thus further improves calibration efficiency. Furthermore, by collecting the robot's end-effector coordinates when the translational joint is at its first and second extreme positions and the corresponding rotational joint angles, accurate data support is provided for subsequent calculations of the axial direction vectors of the translational and rotational joints in the joint pair.

[0058] Further, step S202: determining the axial direction vector of each translational joint and each rotational joint based on the coordinate set of each joint pair can be implemented as follows:

[0059] Step S2021: Determine a first vector based on the first coordinate, the second coordinate, and the third coordinate of the target joint pair. The first vector is the normal vector of the plane including the first coordinate, the second coordinate, and the third coordinate.

[0060] Specifically, such as Figure 3 As shown, determining the first vector based on the first coordinate, the second coordinate, and the third coordinate of the target joint pair may include: determining a vector pointing from the first coordinate to the second coordinate based on the first coordinate A0, the second coordinate B0, and the third coordinate C0 of the target joint pair. and the vector pointing from the first coordinate to the third coordinate According to the vector sum vector Determine the normal vector of the first rotation plane P0 of the rotary joint in the target joint pair. The first vector is obtained. Here, α is the first angle, β is the second angle, and γ is the third angle.

[0061] Step S2022: Determine a second vector based on the fourth coordinate, the fifth coordinate, and the sixth coordinate of the target joint pair. The second vector is the normal vector of the plane including the fourth coordinate, the fifth coordinate, and the sixth coordinate.

[0062] Specifically, such as Figure 3 As shown, determining the second vector based on the fourth, fifth, and sixth coordinates of the target joint pair may include: determining a vector pointing from the fourth coordinate to the fifth coordinate based on the fourth coordinate A1, fifth coordinate B1, and sixth coordinate C1 of the target joint pair. and the vector pointing from the fourth coordinate to the sixth coordinate According to the vector sum vector Determine the normal vector of the second rotation plane P1 of the rotary joint in the target joint pair. The second vector is obtained.

[0063] Step S2023: Determine the direction vector of the axis of symmetry between the first vector and the second vector passing through the first target origin, and obtain the axis direction vector of the rotary joint in the target joint pair. The first target origin is the origin of the theoretical base coordinate system of the rotary joint in the target joint pair.

[0064] Specifically, such as Figure 4 As shown, a straight line Ln0 is drawn along the first vector from the origin O of the theoretical base coordinate system of the rotary joint, and a straight line Ln1 is drawn along the second vector from the origin O of the theoretical base coordinate system of the rotary joint. The axis of symmetry of these two lines is Ln. s Direction vector As the axial direction vector of the rotary joint;

[0065] Specifically, determining the direction vector of the axis of symmetry between the first vector and the second vector passing through the first target origin, and obtaining the axis direction vector of the rotational joint in the target joint pair, includes: calculating the unit vector [n] of the first vector. 011 n 021 n 031 ] T ; Calculate the direction vector [n] of the second direction. 111 n 121 n 131 ] T ; Calculate the axial direction vector of the rotary joint. for

[0066] Step S2024: Obtain the endpoint coordinates of the first line segment of a predetermined length starting from the second target origin to obtain the seventh coordinate; obtain the endpoint coordinates of the second line segment of the predetermined length starting from the second target origin to obtain the eighth coordinate; obtain the endpoint coordinates of the third line segment of the predetermined length starting from the second target origin to obtain the ninth coordinate. The second target origin is the origin of the theoretical base coordinate system of the translational joint in the target joint pair. The straight line containing the first line segment passes through the second target origin and is parallel to the line connecting the first coordinate and the fourth coordinate. The straight line containing the second line segment passes through the second target origin and is parallel to the line connecting the second coordinate and the fifth coordinate. The straight line containing the third line segment passes through the second target origin and is parallel to the line connecting the third coordinate and the sixth coordinate.

[0067] Specifically, such as Figure 5 As shown, the seventh coordinate, the eighth coordinate, and the ninth coordinate can be obtained by: calculating the direction vector of the line A0A1 between the first coordinate A0 and the fourth coordinate A1. The direction vector of the line B0B1 between the second coordinate B0 and the fifth coordinate B1 The direction vector of the line C0C1 between the third coordinate C0 and the sixth coordinate C1 Passing through the second target origin O, along respectively and Draw a straight line L A L B and L C Taking the second target origin O as the endpoint, on the straight line L A L B and L C The predetermined length of line segment S is cut off from the top. A S B and S C ; Calculate S A S B and S C The endpoints are used to obtain the seventh coordinate P. A The eighth coordinate P B and the ninth coordinate P C .

[0068] Step S2025: Based on the seventh coordinate, the eighth coordinate, and the ninth coordinate, determine the normal vector of the plane including the seventh coordinate, the eighth coordinate, and the ninth coordinate, and obtain the axial direction vector of the translational joint in the target joint pair.

[0069] Specifically, such as Figure 5 As shown, first based on the seventh coordinate P A The eighth coordinate P B and the ninth coordinate P C Determine plane P t The normal vector is then determined. The axial direction vector of the translational joint is obtained.

[0070] In the aforementioned embodiment, by analyzing the robot end-effector coordinates of each joint pair, the axial direction vectors of the rotary and translational joints in the joint pair are fitted and solved, thereby achieving a relatively simple and easy way to obtain the axial direction vectors of the translational and rotary joints in each joint pair.

[0071] To further ensure the accuracy of the determined actual joint coordinate system and first transformation matrix of the first first joint, thereby further improving the absolute positioning accuracy of the robot end effector, according to some other exemplary embodiments of this application, step S203: determining the actual joint coordinate system and first transformation matrix of the first first joint based on the origin coordinates of the theoretical base coordinate system of the first first joint arranged in a direction away from the base, the theoretical joint coordinate system of the first first joint, the axial direction vector of the first first joint, the origin coordinates of the theoretical base coordinate system of the second first joint arranged in a direction away from the base, and the axial direction vector of the second first joint, specifically includes:

[0072] Step S2031: Determine the coordinate axis direction vector of the actual base coordinate system of the first joint based on the axis direction vector of the first joint and the axis direction vector of the second joint.

[0073] Step S2032: Based on the axial direction vector of the first first joint, the axial direction vector of the second first joint, the origin coordinates of the theoretical base coordinate system of the first first joint, and the origin coordinates of the theoretical base coordinate system of the second first joint, determine the origin coordinates of the actual base coordinate system of the first first joint as the target coordinates. The target coordinates and the coordinate axis direction vectors constitute the actual base coordinate system of the first first joint, and determine the actual joint coordinate system of the first first joint as the actual base coordinate system of the first first joint.

[0074] Step S2033: Determine a first translation vector based on the target coordinates, and determine a first initial transformation matrix based on the coordinate axis direction vector of the first joint and the first translation vector. The first translation vector is the translation vector of the actual base coordinate system of the first joint relative to the theoretical base coordinate system of the first joint, and the first initial transformation matrix is ​​the transformation matrix of the actual base coordinate system of the first joint relative to the theoretical base coordinate system of the first joint.

[0075] Step S2034: Determine a second initial transformation matrix based on the theoretical joint coordinate system of the first first joint and the theoretical base coordinate system of the first first joint, and determine the first transformation matrix as the product of the inverse of the second initial transformation matrix and the first initial transformation matrix based on the first initial transformation matrix and the second initial transformation matrix, wherein the second initial transformation matrix is ​​the transformation matrix of the theoretical joint coordinate system of the first first joint relative to the theoretical base coordinate system of the first first joint.

[0076] Specifically, determining the coordinate axis direction vector of the actual base coordinate system of the first joint based on the axial direction vector of the first joint and the axial direction vector of the second joint includes: determining the coordinate axis direction vector of the first joint based on the axial direction vector of the first joint. and the axial direction vector of the second first joint Determine the coordinate axis direction vector of the actual base coordinate system of the first joint. for: In this embodiment, based on the theoretical kinematic model, the coordinate axis direction vector of the actual base coordinate system of the first joint is calculated using the axial direction vector of the first joint and the axial direction vector of the second joint, thereby obtaining the coordinate axis of the actual base coordinate system.

[0077] Specifically, determining the origin coordinates of the actual base coordinate system of the first joint as the target coordinates based on the axial direction vector of the first joint, the axial direction vector of the second joint, the origin coordinates of the theoretical base coordinate system of the first joint, and the origin coordinates of the theoretical base coordinate system of the second joint includes: determining the origin coordinates of the actual base coordinate system of the first joint as the target coordinates based on the axial direction vector of the first joint. The second axial direction vector of the first joint The origin coordinates (O) of the theoretical base coordinate system of the first joint 1x O 1y O 1z) and the origin coordinates (O) of the theoretical base coordinates of the second first joint. 2x O 2y O 2z ), determine the target coordinates (O) oax O oay O oaz )for:

[0078] in,

[0079] (n 0ax1 n 0ax2 n 0ax3 ) is the x-axis direction vector of the actual base coordinate system of the first joint. The projection coordinates of the x-axis direction vector of the actual base coordinate system of the first joint onto the x-axis of the theoretical base coordinate system of the first joint are: the projection coordinates of the x-axis direction vector onto the y-axis of the theoretical base coordinate system of the first joint are: and the projection coordinates of the x-axis direction vector onto the z-axis of the theoretical base coordinate system of the first joint are:

[0080] Specifically, based on the target coordinates (O) oax O oay O oaz ), determine the first translation vector as That is, the first translation vector is a column vector.

[0081] Specifically, determining the first initial transformation matrix based on the coordinate axis direction vector of the first joint and the first translation vector includes: determining the first initial transformation matrix based on the coordinate axis direction vector of the first joint. and the first translation vector Determine the first initial transformation matrix for:

[0082] Since the actual base coordinate system of the first joint coincides with the actual joint coordinate system, the first initial transformation matrix is ​​the same as the transformation matrix of the joint coordinate system of the first joint relative to the theoretical base coordinate system of the first joint. In this embodiment, the coordinate axis direction vector of the first joint... as well as They are all column vectors.

[0083] Specifically, determine the first transformation matrix for in, Let be the first initial transformation matrix. It is the inverse of the second initial transformation matrix.

[0084] like Figure 6 As shown, based on the kinematic model in robot theory, the origin O of the theoretical base coordinate system passing through the i-th joint is... i (O ix O iy O iz ) along the axial direction vector of the determined i-th joint Draw a straight line L i ; Consider L1 as the actual base coordinate system of the first joint {0 a Z of} 0a The axis, using the cross product axis of L1 and L2 as the coordinate system {0 a} of X 0a Axis, Z 0a With X 0a The cross product axis is used as the coordinate system {0 a}Y 0a Axis, and Z 0a Axis and X 0a The intersection of the axes is used as the coordinate system {0} a The origin O of} 0a (O oax O oay O oaz The actual joint coordinate system {1a} of the first joint coincides with the actual base coordinate system {0a}, thus the actual joint coordinate system of the first joint can be obtained.

[0085] Optionally, step S204, determining the actual joint coordinate system of the i-th first joint and the second transformation matrix of the i-th first joint based on the theoretical base coordinate system of the (i-1)-th first joint arranged along a direction away from the base, the actual joint coordinate system of the (i-1)-th first joint, the theoretical joint coordinate system of the i-th first joint, the axial direction vector of the i-th first joint passing through the third target origin, and the first transformation matrix, includes:

[0086] Step S2041: First determination step, determining the first Z-axis direction vector as the axis direction vector of the i-th first joint passing through the third target origin, the first Z-axis direction vector as the direction vector of the Z-axis of the actual joint coordinate system of the i-th first joint, and determining the intersection point of the first Z-axis direction vector and the predetermined plane as the origin coordinate of the actual joint coordinate system of the i-th first joint according to the first Z-axis direction vector and the predetermined plane, the predetermined plane being a plane including the X-axis and the Z-axis of the actual joint coordinate system of the (i-1)-th first joint;

[0087] Specifically, such as Figure 7 As shown, starting from the second joint, the straight line passing through the origin of the theoretical base coordinate system and extending along the axial direction vector is taken as the Z-axis of the actual joint coordinate system of that joint, and this straight line is intersected with the predetermined plane X. (i-1) a OZ (i-1)a The intersection point is taken as the origin O of the actual joint coordinate system of the joint. ia Among them, the predetermined plane X (i-1)a OZ (i-1)a It is the plane of the X-axis and Z-axis of the actual joint coordinate system of the (i-1)th first joint.

[0088] Step S2042: Second determination step, based on the second Z-axis direction vector and the first Z-axis direction vector, determine the rotation axis and rotation angle of the i-th first joint, and based on the difference between the origin coordinates of the actual joint coordinate system of the i-th first joint and the origin coordinates of the theoretical joint coordinate system of the i-th first joint, determine the second translation vector of the i-th first joint, wherein the second Z-axis direction vector is the Z-axis direction vector of the theoretical joint coordinate system of the i-th first joint;

[0089] Specifically, such as Figure 8 As shown, the second translation vector is the translation vector of the actual joint coordinate system of the i-th first joint relative to the theoretical joint coordinate system of the i-th first joint. The specific implementation of determining the rotation axis and rotation angle of the i-th first joint based on the second Z-axis direction vector and the first Z-axis direction vector can be as follows: based on the second Z-axis direction vector... With the first Z-axis direction vector Determine the rotation axis of the i-th first joint for Determine the rotation angle δ of the i-th first joint. i for The specific implementation method for determining the second translation vector of the i-th first joint based on the difference between the origin coordinates of the actual joint coordinate system of the i-th first joint and the origin coordinates of the theoretical joint coordinate system of the i-th first joint is as follows: Determine the second translation vector of the i-th first joint. The coordinates are the difference, i.e., O. ia -O i , of which O ia Let O be the origin coordinate of the actual joint coordinate system of the i-th first joint. i Let be the origin coordinates of the theoretical joint coordinate system for the i-th first joint.

[0090] Step S2043: Control step, control the theoretical joint coordinate system of the i-th first joint to rotate around the rotation axis by the rotation angle and then translate along the second translation vector to obtain the actual joint coordinate system of the i-th first joint and the third initial transformation matrix of the i-th first joint. The third initial transformation matrix of the i-th first joint is the transformation matrix of the actual joint coordinate system of the i-th first joint relative to the theoretical joint coordinate system of the i-th first joint.

[0091] Specifically, the third initial transformation matrix is ​​obtained. for Among them, (P) ix P iy P iz ) represents the coordinates of the second translation vector, Trans() is the transformation function, and Rot() is the shift function.

[0092] Step S2044: Third determination step, based on the theoretical joint coordinate system of the i-th first joint and the theoretical base coordinate system of the (i-1)-th first joint, determine the fourth initial transformation matrix, and based on the third initial transformation matrix of the i-th first joint, the fourth initial transformation matrix, and the third initial transformation matrix of the (i-1)-th first joint, determine the second transformation matrix of the i-th first joint as the product of the inverse of the third initial transformation matrix of the (i-1)-th first joint, the fourth initial transformation matrix, and the third initial transformation matrix of the i-th first joint, wherein the fourth initial transformation matrix is ​​the transformation matrix of the theoretical joint coordinate system of the i-th first joint relative to the theoretical base coordinate system of the (i-1)-th first joint, and the third initial transformation matrix of the (i-1)-th first joint is calculated at least based on the first transformation matrix.

[0093] The above embodiment can accurately calculate the actual joint coordinate system of the i-th first joint and the transformation matrix of the i-th first joint relative to the (i-1)-th first joint, thereby facilitating the subsequent calculation of more accurate actual DH parameters and further ensuring accurate control of the robot based on the actual DH parameters.

[0094] In another embodiment of this application, after determining the actual joint coordinate system and the second transformation matrix of the i-th first joint based on the theoretical base coordinate system of the (i-1)-th first joint arranged in a direction away from the base, the actual joint coordinate system of the (i-1)-th first joint, the theoretical joint coordinate system of the i-th first joint, the axial direction vector of the i-th first joint passing through the third target origin, and the first transformation matrix, the method further includes: a fourth determining step, determining whether i is greater than a predetermined value, the predetermined value being the number of joint pairs; a looping step, in which, if i is less than or equal to the predetermined value, i is incremented by 1 to obtain an updated i, and the first determining step, the second determining step, the control step, the third determining step, and the fourth determining step are executed cyclically until i is greater than the predetermined value. Through the looping process, the actual joint coordinate system and the second transformation matrix of each first joint arranged in a direction away from the base, except for the first first joint, can be calculated sequentially.

[0095] Optionally, the actual DH parameters of the i-th first joint include the link torsional characteristic angle α. i-1 Length a of the connecting rod i-1 Joint angle θ i and connecting rod offset d i Based on the second transformation matrix of each of the first joints except the first first joint, the actual DH parameters of the links between each of the first joints are determined, and the first actual DH parameters of each of the first joints are obtained, including: based on the second transformation matrix of the i-th first joint. and the formula:

[0096]

[0097] The first actual DH parameter of the i-th first joint is calculated.

[0098] Based on the above formula, we can obtain n x =cosθ i o x =sinθ i a y =-sinα i-1 a z =cosα i-1 p y =-sinα i- 1d i p z =cosα i-1 d i a i-1 =p x .

[0099] When cosθ i ≠0 and cosα i-1 ≠0 o'clock,

[0100] When cosθ i =0 or cosα i-1 When = 0,

[0101] When sinθ i =1 or cosα i-1 When θ = 1, i =90° or α i-1 =90°;

[0102] When sinθ i = -1 or cosα i-1 When θ = -1, i = -90° or α i-1 = -90°.

[0103] in, This represents the pose and angle state matrix of the robot's end effector in the world coordinate system. The specific meanings of each letter are based on existing technology and will not be explained individually here. x p y p z These represent the Cartesian coordinates of the robot's end effector in the world coordinate system.

[0104] In this application, each joint that can form the joint pair is referred to as the first joint. However, in actual applications, the robot may also have joints that do not form the joint pair. For example, in a robot, if the total number of translational joints is greater than the total number of rotational joints, or vice versa, there may be translational or rotational joints that do not form the joint pair. These joints are referred to as second joints. In this case, to further ensure the high positioning accuracy of the calibrated robot end effector, the robot may optionally include at least one second joint. All second joints are of the same type, namely, either the translational joint or the rotational joint. Before controlling the robot to run at least according to each of the first actual DH parameters, the method further includes: determining the axis equation of each second joint using a single-axis rotation method; determining the actual DH parameters of the link of the second joint according to the axis equation to obtain the second actual DH parameters; and controlling the robot to run at least according to each of the first actual DH parameters, including: controlling the robot to run according to each of the first actual DH parameters and each of the second actual DH parameters.

[0105] Specifically, based on each of the first actual DH parameters and each of the second actual DH parameters, the specific implementation of controlling the robot's operation can be as follows: for the planned desired pose of the robot's end effector, inverse kinematics calculation is performed based on the actual kinematic model to obtain the generalized displacement values ​​of each joint, and then the robot's movement is driven by the generalized displacement values ​​of each joint corresponding to the desired pose, thereby improving the robot's absolute positioning accuracy.

[0106] In addition, there are cases where the total number of translational joints and the total number of rotational joints of the robot are the same. In this case, the translational joints can be paired with the rotational joints one by one. In this case, there is no need to calibrate the second joint, and the robot can be controlled directly according to the first actual DH parameters.

[0107] The scheme described in this application can effectively reduce the number of calibration sampling points and reduce the complexity of the calibration sampling process. Furthermore, by forming joint pairs with translational and rotational joints to perform dual-axis motion control calibration, this application ensures that each joint axis of the multi-axis robot is measured twice or three times, increasing the number of measurements for each axis and reducing the fitting error of the axis direction vector. Ultimately, it can quickly complete the calibration of the robot's actual kinematic model and improve the absolute positioning accuracy of the robot's end effector.

[0108] It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions, and although a logical order is shown in the flowchart, in some cases the steps shown or described may be executed in a different order than that shown here.

[0109] This application also provides a robot calibration device. It should be noted that the robot calibration device of this application can be used to execute the robot calibration method provided in this application. This device is used to implement the embodiments and preferred embodiments, and details already described will not be repeated. As used below, the term "module" can refer to a combination of software and / or hardware that implements a predetermined function. Although the device described in the following embodiments is preferably implemented in software, hardware implementation, or a combination of software and hardware, is also possible and contemplated.

[0110] The robot calibration device provided in the embodiments of this application will be described below.

[0111] Figure 9 This is a schematic diagram of a robot calibration device according to an embodiment of this application. The robot includes a base and a plurality of first joints, with each first joint arranged sequentially along a direction away from the base. Every two first joints form a joint pair, and the two first joints in the joint pair are respectively a translational joint and a rotational joint, as shown below. Figure 9As shown, the device includes:

[0112] The control unit 10 is configured to control the rotary joint in the target joint pair to rotate sequentially at least three times along a predetermined direction from the target position when the translational joint in the target joint pair is in the initial position, and to obtain the robot end coordinates corresponding to each rotation, thereby obtaining the coordinate set of the target joint pair, wherein the target joint pair is one of the multiple joint pairs.

[0113] Specifically, the predetermined direction can be clockwise or counterclockwise. In three-dimensional space, the robot's end effector coordinates are three-dimensional coordinates, and the number of angles controlling the rotation of the rotary joints is a multiple of 3. The number of robot end effector coordinates included in the coordinate set is also a multiple of 3. Each rotary joint can rotate at the same or different angles each time. Different rotary joints correspond to the same target position, and the angle of rotation starting from the target position is the same. That is, the first rotation angle of each rotary joint is the same, the second rotation angle is the same, and the third rotation angle is the same. The target position can be the joint's limit position or any other suitable position that the rotary joint can reach.

[0114] The first determining unit 20 is used to determine the axial direction vector of each translational joint and each rotational joint based on the coordinate set of each joint pair.

[0115] The second determining unit 30 is configured to determine the actual joint coordinate system of the first first joint and a first transformation matrix based on the origin coordinates of the theoretical base coordinate system of the first first joint arranged in a direction away from the base, the theoretical joint coordinate system of the first first joint, the axial direction vector of the first first joint, the origin coordinates of the theoretical base coordinate system of the second first joint arranged in a direction away from the base, and the axial direction vector of the second first joint. The first transformation matrix is ​​a transformation matrix of the actual joint coordinate system of the first first joint relative to the theoretical joint coordinate system of the first first joint.

[0116] Specifically, the theoretical base coordinate system of the first joint is the base coordinate system corresponding to the theoretical kinematic model of the robot, and the theoretical joint coordinate system of the first joint is the joint coordinate system corresponding to the theoretical kinematic model. For the first joint, the theoretical base coordinate system and the theoretical joint coordinate system coincide, and the actual base coordinate system and the actual joint coordinate system coincide. The first joint arranged in the direction away from the base is the first joint closest to the base among all the first joints. The first joint arranged in the direction away from the base may be a translational joint or a rotational joint, depending on the robot's own structure. The same applies to the other i-th joints.

[0117] The third determining unit 40 is configured to determine the actual joint coordinate system of the i-th first joint and the second transformation matrix of the i-th first joint based on the theoretical base coordinate system of the (i-1)-th first joint arranged in a direction away from the base, the actual joint coordinate system of the (i-1)-th first joint, the theoretical joint coordinate system of the i-th first joint, the axial direction vector of the i-th first joint passing through the third target origin, and the first transformation matrix. The second transformation matrix of the i-th first joint is the transformation matrix of the actual joint coordinate system of the i-th first joint relative to the actual joint coordinate system of the (i-1)-th first joint arranged in a direction away from the base, where i ≥ 2, and the third target origin is the origin of the theoretical base coordinate system of the i-th first joint.

[0118] The fourth determining unit 50 is used to determine the actual DH parameters of the links between each of the first joints based on the second transformation matrix of each of the first joints except the first first joint, to obtain a plurality of first actual DH parameters, and to control the operation of the robot based on at least each of the first actual DH parameters.

[0119] Specifically, the first actual DH parameter of the second first joint is the actual DH parameter of the link between the second first joint and the first first joint, and the first actual DH parameter of the i-th first joint is the actual DH parameter of the link between the i-th first joint and the (i-1)-th first joint. The actual DH parameters are also called kinematic model geometric parameters, specifically including joint angles, link torsional characteristic angles, link lengths, and link offsets.

[0120] In this embodiment, the robot's translational and rotational joints are combined into joint pairs. A control unit keeps the translational joints in their initial positions and controls the rotation of the rotational joints, acquiring the robot's end-effector coordinates during rotation to obtain the coordinate system of the joint pair. A first determining unit determines the axial direction vectors of the translational and rotational joints in each joint pair based on the obtained coordinate sets. A second determining unit determines the origin coordinates of the theoretical base coordinate system of the first joint arranged along the direction away from the base, the theoretical joint coordinate system, the axial direction vectors, and the theoretical base coordinate system of the second joint. The origin coordinates and axis direction vector are used to determine the actual joint coordinate system of the first joint and its transformation matrix relative to the theoretical joint coordinate system. The third determining unit determines the second transformation matrix of the actual joint coordinate system of the (i-1)th first joint relative to the (i-1)th first joint based on the theoretical base coordinate system and actual joint coordinate system of the (i-1)th first joint, as well as the theoretical joint coordinate system, axis direction vector, and first transformation matrix of the ith first joint. The fourth determining unit determines the actual DH parameters of each link of the robot based on these second transformation matrices, thereby controlling the robot's operation according to these actual DH parameters. Compared to the existing technology that uses single-joint sequential calibration, resulting in a large number of sampling points and low calibration efficiency, this application creatively proposes a dual-axis motion calibration scheme. It forms joint pairs by corresponding translational and rotational joints of the robot and controls each joint pair to perform dual-axis motion to collect calibration data. This effectively reduces the number of calibration sampling points, lowers the complexity of the calibration sampling process, and thus improves calibration efficiency.

[0121] Specifically, if the robot includes f translational joints and g rotational joints, then min{f, g} joint pairs can be formed. Any one translational joint from the f translational joints and any one rotational joint from the g rotational joints can be selected to form a joint pair. The joints forming the joint pairs are called the first joints, and the joints not forming the joint pairs are called the second joints. For example, if f > g, in addition to the g joint pairs, there are (fg) remaining translational joints, and these (fg) translational joints are all the second joints. If f = g, all translational joints have corresponding rotational joints, and the robot does not include the second joints.

[0122] In one alternative embodiment, the initial position includes a relative first limit position and a second limit position, and the control unit specifically includes:

[0123] The first control module is used to control the translational joint in the target joint pair to move to the first extreme position when other joint pairs are in the zero position, wherein the other joint pairs are joint pairs other than the target joint pair;

[0124] Specifically, the first extreme position is a limit position that the translational joint can reach, and the second extreme position is another limit position that the translational joint can reach. In practical applications, the translational joint in the target joint pair of the robot can be continuously moved in the negative direction until the laser tracker can no longer obtain measurement data or the limit position of the joint's movement range is reached. This position is taken as the negative extreme position where the translational joint meets the measurable condition, thus obtaining the first extreme position, and the translational joint is fixed at this first extreme position.

[0125] The second control module is configured to, when the translational joint reaches the first limit position, control the rotary joints in the target joint pair to rotate sequentially along the predetermined direction from the target position, and obtain the robot end-effector coordinates after rotating from the target position by a first angle to obtain a first coordinate, obtain the robot end-effector coordinates after rotating from the target position by a second angle to obtain a second coordinate, and obtain the robot end-effector coordinates after rotating from the target position by a third angle to obtain a third coordinate, wherein the first angle, the second angle, and the third angle increase sequentially, and the first coordinate, the second coordinate, and the third coordinate constitute a first sub-coordinate set of the target joint pair;

[0126] Specifically, a laser tracker is used to obtain the coordinates of the robot's end effector corresponding to the angle of rotation of the rotary joint. The target position can be either the positive or negative limit position of the rotary joint. In one embodiment of this application, the target position is the negative limit position of the rotary joint. Specifically, the target joint pair of the robot can be continuously rotated in the negative direction until the laser tracker can no longer obtain measurement data, thereby obtaining the negative limit position of the rotary joint that meets the measurable conditions. The method for obtaining the positive limit position is similar and will not be described in detail here. Before controlling the rotation of the rotary joint, the robot is controlled to run at a low speed.

[0127] The third control module is used to control the translational joint in the target joint pair to move to the second extreme position;

[0128] Specifically, the translational joint in the target joint pair of the robot can be made to move continuously in the positive direction until the laser tracker can no longer obtain measurement data or the joint movement range is reached. This position is taken as the positive limit position of the translational joint that satisfies the measurable condition, and the second limit position is obtained. The translational joint is then fixed at this second limit position.

[0129] The fourth control module is configured to, when the translational joint reaches the second limit position, control the rotary joints in the target joint pair to rotate sequentially along the predetermined direction from the target position, and obtain the robot end-effector coordinates after rotating from the target position by the first angle to obtain a fourth coordinate, obtain the robot end-effector coordinates after rotating from the target position by the second angle to obtain a fifth coordinate, and obtain the robot end-effector coordinates after rotating from the target position by the third angle to obtain a sixth coordinate. The fourth coordinate, the fifth coordinate, and the sixth coordinate constitute the second sub-coordinate set of the target joint pair, and the first sub-coordinate set and the second sub-coordinate set constitute the coordinate system of the target joint pair.

[0130] In the aforementioned embodiment, while keeping other joint pairs fixed at zero positions, the translational and rotational joints in the target joint pair are controlled to move in coordination, and the robot's end-effector coordinates are collected to obtain the first and second sub-coordinate sets of the target joint pair. This further reduces the number of calibration sampling points and thus further improves calibration efficiency. Furthermore, by collecting the robot's end-effector coordinates when the translational joint is at its first and second extreme positions and the corresponding rotational joint angles, accurate data support is provided for subsequent calculations of the axial direction vectors of the translational and rotational joints in the joint pair.

[0131] Further, the first determining unit includes:

[0132] The first determining module is used to determine a first vector based on the first coordinate, the second coordinate, and the third coordinate of the target joint pair, wherein the first vector is a normal vector of the plane including the first coordinate, the second coordinate, and the third coordinate;

[0133] Specifically, such as Figure 3 As shown, the first determining module may include: a first determining submodule, configured to determine a vector pointing from the first coordinate to the second coordinate based on the first coordinate A0, the second coordinate B0, and the third coordinate C0 of the target joint pair. and the vector pointing from the first coordinate to the third coordinate The second determining submodule is used to determine the vector. sum vector Determine the normal vector of the first rotation plane P0 of the rotary joint in the target joint pair. The first vector is obtained. Here, α is the first angle, β is the second angle, and γ is the third angle.

[0134] The second determining module is used to determine a second vector based on the fourth coordinate, the fifth coordinate, and the sixth coordinate of the target joint pair, wherein the second vector is a normal vector of the plane including the fourth coordinate, the fifth coordinate, and the sixth coordinate;

[0135] Specifically, such as Figure 3 As shown, the second determining module may include: a third determining submodule, used to determine a vector pointing from the fourth coordinate to the fifth coordinate based on the fourth coordinate A1, the fifth coordinate B1, and the sixth coordinate C1 of the target joint pair. and the vector pointing from the fourth coordinate to the sixth coordinate The fourth determination submodule is used to determine the vector. sum vector Determine the normal vector of the second rotation plane P1 of the rotary joint in the target joint pair. The second vector is obtained.

[0136] The third determining module is used to determine the direction vector of the axis of symmetry between the first vector and the second vector passing through the first target origin, and to obtain the axis direction vector of the rotary joint in the target joint pair, wherein the first target origin is the origin of the theoretical base coordinate system of the rotary joint in the target joint pair;

[0137] Specifically, such as Figure 4 As shown, a straight line Ln0 is drawn along the first vector from the origin O of the theoretical base coordinate system of the rotary joint, and a straight line Ln1 is drawn along the second vector from the origin O of the theoretical base coordinate system of the rotary joint. The axis of symmetry of these two lines is Ln. s Direction vector As the axial direction vector of the rotary joint;

[0138] The third determining module includes: a first calculation submodule, used to calculate the unit vector [n] of the first vector. 011 n 021 n 031 ] T ; Calculate the direction vector [n] of the second direction. 111 n 121 n 131 ] T The second calculation submodule is used to calculate the axial direction vector of the rotary joint. for

[0139] The acquisition module is used to acquire the endpoint coordinates of a first line segment of a predetermined length originating from the second target origin, to obtain a seventh coordinate; acquire the endpoint coordinates of a second line segment of the predetermined length originating from the second target origin, to obtain an eighth coordinate; and acquire the endpoint coordinates of a third line segment of the predetermined length originating from the second target origin, to obtain a ninth coordinate. The second target origin is the origin of the theoretical base coordinate system of the translational joint in the target joint pair. The straight line containing the first line segment passes through the second target origin and is parallel to the line connecting the first coordinate and the fourth coordinate. The straight line containing the second line segment passes through the second target origin and is parallel to the line connecting the second coordinate and the fifth coordinate. The straight line containing the third line segment passes through the second target origin and is parallel to the line connecting the third coordinate and the sixth coordinate.

[0140] Specifically, such as Figure 5 As shown, the seventh coordinate, the eighth coordinate, and the ninth coordinate can be obtained by: calculating the direction vector of the line A0A1 between the first coordinate A0 and the fourth coordinate A1. The direction vector of the line B0B1 between the second coordinate B0 and the fifth coordinate B1 The direction vector of the line C0C1 between the third coordinate C0 and the sixth coordinate C1 Passing through the second target origin O, along respectively and Draw a straight line L A L B and L C Taking the second target origin O as the endpoint, on the straight line L A L B and L C The predetermined length of line segment S is cut off from the top. A S B and S C ; Calculate S A S B and S C The endpoints are used to obtain the seventh coordinate P. A The eighth coordinate P B and the ninth coordinate P C .

[0141] The fourth determining module is used to determine the normal vector of the plane including the seventh coordinate, the eighth coordinate, and the ninth coordinate based on the seventh coordinate, the eighth coordinate, and the ninth coordinate, so as to obtain the axial direction vector of the translational joint in the target joint pair.

[0142] Specifically, such as Figure 5 As shown, Figure 5As shown, first based on the seventh coordinate P A The eighth coordinate P B and the ninth coordinate P C Determine plane P t The normal vector is then determined. The axial direction vector of the translational joint is obtained.

[0143] In the aforementioned embodiment, by analyzing the robot end-effector coordinates of each joint pair, the axial direction vectors of the rotary and translational joints in the joint pair are fitted and solved, thereby achieving a relatively simple and easy way to obtain the axial direction vectors of the translational and rotary joints in each joint pair.

[0144] To further ensure the accuracy of the determined actual joint coordinate system and the first transformation matrix of the first joint, thereby further improving the absolute positioning accuracy of the robot's end effector, according to some other exemplary embodiments of this application, the second determining unit specifically includes:

[0145] The fifth determining module is used to determine the coordinate axis direction vector of the actual base coordinate system of the first joint based on the axis direction vector of the first joint and the axis direction vector of the second joint.

[0146] The sixth determining module is used to determine the origin coordinates of the actual base coordinate system of the first first joint as the target coordinates based on the axis direction vector of the first first joint, the axis direction vector of the second first joint, the origin coordinates of the theoretical base coordinate system of the first first joint, and the origin coordinates of the theoretical base coordinate system of the second first joint. The target coordinates and the coordinate axis direction vector constitute the actual base coordinate system of the first first joint, and the actual joint coordinate system of the first first joint is determined as the actual base coordinate system of the first first joint.

[0147] The seventh determining module is used to determine a first translation vector based on the target coordinates, and to determine a first initial transformation matrix based on the coordinate axis direction vector of the first joint and the first translation vector. The first translation vector is the translation vector of the actual base coordinate system of the first joint relative to the theoretical base coordinate system of the first joint, and the first initial transformation matrix is ​​the transformation matrix of the actual base coordinate system of the first joint relative to the theoretical base coordinate system of the first joint.

[0148] The eighth determining module is used to determine a second initial transformation matrix based on the theoretical joint coordinate system of the first first joint and the theoretical base coordinate system of the first first joint, and to determine the first transformation matrix as the product of the inverse matrix of the second initial transformation matrix and the first initial transformation matrix based on the first initial transformation matrix and the second initial transformation matrix, wherein the second initial transformation matrix is ​​the transformation matrix of the theoretical joint coordinate system of the first first joint relative to the theoretical base coordinate system of the first first joint.

[0149] Specifically, the fifth determining module includes: a fifth determining submodule, configured to determine the axial direction vector of the first joint. and the axial direction vector of the second first joint Determine the coordinate axis direction vector of the actual base coordinate system of the first joint. for: In this embodiment, based on the theoretical kinematic model, the coordinate axis direction vector of the actual base coordinate system of the first joint is calculated using the axial direction vector of the first joint and the axial direction vector of the second joint, thereby obtaining the coordinate axis of the actual base coordinate system.

[0150] Specifically, the sixth determining module includes: a sixth determining submodule, configured to determine the axial direction vector of the first joint. The second axial direction vector of the first joint The origin coordinates (O) of the theoretical base coordinate system of the first joint 1x O 1y O 1z ) and the origin coordinates (O) of the theoretical base coordinates of the second first joint. 2x O 2y O 2z ), determine the target coordinates (O) oax O oay O oaz )for:

[0151] in,

[0152] (n 0ax1 n 0ax2 n 0ax3 ) is the x-axis direction vector of the actual base coordinate system of the first joint. The projection coordinates of the x-axis direction vector of the actual base coordinate system of the first joint onto the x-axis of the theoretical base coordinate system of the first joint are: the projection coordinates of the x-axis direction vector onto the y-axis of the theoretical base coordinate system of the first joint are: and the projection coordinates of the x-axis direction vector onto the z-axis of the theoretical base coordinate system of the first joint are:

[0153] Specifically, based on the target coordinates (O) oax O oay O oaz ), determine the first translation vector as That is, the first translation vector is a column vector.

[0154] Specifically, the seventh determining module includes: a seventh determining submodule, configured to determine the coordinate axis direction vector of the first joint. and the first translation vector Determine the first initial transformation matrix for:

[0155] Since the actual base coordinate system of the first joint coincides with the actual joint coordinate system, the first initial transformation matrix is ​​the same as the transformation matrix of the joint coordinate system of the first joint relative to the theoretical base coordinate system of the first joint. In this embodiment, the coordinate axis direction vector of the first joint... as well as They are all column vectors.

[0156] Specifically, determine the first transformation matrix for in, Let be the first initial transformation matrix. It is the inverse of the second initial transformation matrix.

[0157] like Figure 6 As shown, based on the kinematic model in robot theory, the origin O of the theoretical base coordinate system passing through the i-th joint is... i (O ix O iy O iz ) along the axial direction vector of the determined i-th joint Draw a straight line L i ; Consider L1 as the actual base coordinate system of the first joint {0 a Z of} 0a The axis, using the cross product axis of L1 and L2 as the coordinate system {0 a} of X 0a Axis, Z0a With X 0a The cross product axis is used as the coordinate system {0 a}Y 0a Axis, and Z 0a Axis and X 0a The intersection of the axes is used as the coordinate system {0} a The origin O of} 0a (O oax O oay O oaz The actual joint coordinate system {1a} of the first joint coincides with the actual base coordinate system {0a}, thus the actual joint coordinate system of the first joint can be obtained.

[0158] Optionally, the third determining unit includes:

[0159] The ninth determining module is used in the first determining step to determine that the first Z-axis direction vector is the axis direction vector of the i-th first joint passing through the third target origin, the first Z-axis direction vector is the direction vector of the Z-axis of the actual joint coordinate system of the i-th first joint, and determines the intersection point of the first Z-axis direction vector and the predetermined plane as the origin coordinate of the actual joint coordinate system of the i-th first joint based on the first Z-axis direction vector and the predetermined plane, the predetermined plane being a plane including the X-axis and the Z-axis of the actual joint coordinate system of the (i-1)-th first joint;

[0160] Specifically, such as Figure 7 As shown, starting from the second joint, the straight line passing through the origin of the theoretical base coordinate system and extending along the axial direction vector is taken as the Z-axis of the actual joint coordinate system of that joint, and this straight line is intersected with the predetermined plane X. (i-1) a OZ (i-1)a The intersection point is taken as the origin O of the actual joint coordinate system of the joint. ia Among them, the predetermined plane X (i-1)a OZ (i-1)a It is the plane of the X-axis and Z-axis of the actual joint coordinate system of the (i-1)th first joint.

[0161] The tenth determining module is used in the second determining step to determine the rotation axis and rotation angle of the i-th first joint based on the second Z-axis direction vector and the first Z-axis direction vector, and to determine the second translation vector of the i-th first joint based on the difference between the origin coordinates of the actual joint coordinate system of the i-th first joint and the origin coordinates of the theoretical joint coordinate system of the i-th first joint, wherein the second Z-axis direction vector is the Z-axis direction vector of the theoretical joint coordinate system of the i-th first joint;

[0162] Specifically, such as Figure 8 As shown, the second translation vector is the translation vector of the actual joint coordinate system of the i-th first joint relative to the theoretical joint coordinate system of the i-th first joint. The specific implementation of determining the rotation axis and rotation angle of the i-th first joint based on the second Z-axis direction vector and the first Z-axis direction vector can be as follows: based on the second Z-axis direction vector... With the first Z-axis direction vector Determine the rotation axis of the i-th first joint for Determine the rotation angle δ of the i-th first joint. i for The specific implementation method for determining the second translation vector of the i-th first joint based on the difference between the origin coordinates of the actual joint coordinate system of the i-th first joint and the origin coordinates of the theoretical joint coordinate system of the i-th first joint is as follows: Determine the second translation vector of the i-th first joint. The coordinates are the difference, i.e., O. ia -O i , of which O ia Let O be the origin coordinate of the actual joint coordinate system of the i-th first joint. i Let be the origin coordinates of the theoretical joint coordinate system for the i-th first joint.

[0163] The fifth control module is used to control the steps of rotating the theoretical joint coordinate system of the i-th first joint around the rotation axis by the rotation angle and then translating it along the second translation vector to obtain the actual joint coordinate system of the i-th first joint and the third initial transformation matrix of the i-th first joint. The third initial transformation matrix of the i-th first joint is the transformation matrix of the actual joint coordinate system of the i-th first joint relative to the theoretical joint coordinate system of the i-th first joint.

[0164] Specifically, the third initial transformation matrix is ​​obtained. for Among them, (P) ix P iy P iz ) represents the coordinates of the second translation vector, Trans() is the transformation function, and Rot() is the shift function.

[0165] The eleventh determining module is used in the third determining step to determine a fourth initial transformation matrix based on the theoretical joint coordinate system of the i-th first joint and the theoretical base coordinate system of the (i-1)-th first joint. It also determines the second transformation matrix of the i-th first joint as the product of the inverse of the third initial transformation matrix of the (i-1)-th first joint, the fourth initial transformation matrix, and the third initial transformation matrix of the i-th first joint, based on the third initial transformation matrix of the i-th first joint, the fourth initial transformation matrix, and the third initial transformation matrix of the i-th first joint. The fourth initial transformation matrix is ​​the transformation matrix of the theoretical joint coordinate system of the i-th first joint relative to the theoretical base coordinate system of the (i-1)-th first joint. The third initial transformation matrix of the (i-1)-th first joint is calculated at least based on the first transformation matrix.

[0166] The above embodiment can accurately calculate the actual joint coordinate system of the i-th first joint and the transformation matrix of the i-th first joint relative to the (i-1)-th first joint, thereby facilitating the subsequent calculation of more accurate actual DH parameters and further ensuring accurate control of the robot based on the actual DH parameters.

[0167] In another embodiment of this application, the device further includes: a fifth determining unit, configured to, after determining the actual joint coordinate system of the i-th first joint and the second transformation matrix of the i-th first joint based on the theoretical base coordinate system of the (i-1)th first joint arranged in a direction away from the base, the actual joint coordinate system of the (i-1)th first joint, the theoretical joint coordinate system of the i-th first joint, the axial direction vector of the i-th first joint passing through the third target origin, and the first transformation matrix, execute a fourth determining step to determine whether i is greater than a predetermined value, the predetermined value being the number of joint pairs; and a looping unit, configured to loop the step, incrementing i by 1 if i is less than or equal to the predetermined value to obtain an updated i, and looping the first determining step, the second determining step, the control step, the third determining step, and the fourth determining step until i is greater than the predetermined value. Through the looping process, the actual joint coordinate system and the second transformation matrix of each first joint arranged in a direction away from the base, except for the first first joint, can be calculated sequentially.

[0168] Optionally, the actual DH parameters of the i-th first joint include the link torsional characteristic angle α. i-1 Length a of the connecting rod i-1 Joint angle θ i and connecting rod offset di The fourth determining unit includes: a calculation module, configured to calculate based on the second transformation matrix of the i-th first joint. and the formula:

[0169]

[0170] The first actual DH parameter of the i-th first joint is calculated.

[0171] Based on the above formula, we can obtain n x =cosθ i o x =sinθ i a y =-sinα i-1 a z =cosα i-1 p y =-sinα i- 1d i p z =cosα i-1 d i a i-1 =p x .

[0172] When cosθ i ≠0 and cosα i-1 ≠0 o'clock,

[0173] When cosθ i =0 or cosα i-1 When = 0,

[0174] When sinθ i =1 or cosα i-1 When θ = 1, i =90° or α i-1 =90°;

[0175] When sinθ i = -1 or cosα i-1 When θ = -1, i = -90° or α i-1 = -90°.

[0176] in, This represents the pose and angle state matrix of the robot's end effector in the world coordinate system. The specific meanings of each letter are based on existing technology and will not be explained individually here. x p y p zThese represent the Cartesian coordinates of the robot's end effector in the world coordinate system.

[0177] In this application, each joint that can form the joint pair is referred to as the first joint. However, in actual applications, the robot may also have joints that do not form the joint pair. For example, in a robot, if the total number of translational joints is greater than the total number of rotational joints, or vice versa, there may be translational or rotational joints that do not form the joint pair. These joints are referred to as second joints. In this case, to further ensure the high positioning accuracy of the calibrated robot end effector, the robot may optionally include at least one second joint. All second joints are of the same type, namely, either translational joints or rotational joints. The device further includes: a sixth determining unit, used to determine the axis equation of each second joint using a single-axis rotation method before controlling the robot to run, at least according to each of the first actual DH parameters; a seventh determining unit, used to determine the actual DH parameters of the link of the second joint according to the axis equation, to obtain the second actual DH parameters; and the fourth determining unit includes: a sixth control module, used to control the robot to run according to each of the first actual DH parameters and each of the second actual DH parameters.

[0178] Specifically, based on each of the first actual DH parameters and each of the second actual DH parameters, the specific implementation of controlling the robot's operation can be as follows: for the planned desired pose of the robot's end effector, inverse kinematics calculation is performed based on the actual kinematic model to obtain the generalized displacement values ​​of each joint, and then the robot's movement is driven by the generalized displacement values ​​of each joint corresponding to the desired pose, thereby improving the robot's absolute positioning accuracy.

[0179] In addition, there are cases where the total number of translational joints and the total number of rotational joints of the robot are the same. In this case, the translational joints can be paired with the rotational joints one by one. In this case, there is no need to calibrate the second joint, and the robot can be controlled directly according to the first actual DH parameters.

[0180] The scheme described in this application can effectively reduce the number of calibration sampling points and reduce the complexity of the calibration sampling process. Furthermore, by forming joint pairs with translational and rotational joints to perform dual-axis motion control calibration, this application ensures that each joint axis of the multi-axis robot is measured twice or three times, increasing the number of measurements for each axis and reducing the fitting error of the axis direction vector. Ultimately, it can quickly complete the calibration of the robot's actual kinematic model and improve the absolute positioning accuracy of the robot's end effector.

[0181] The robot calibration device includes a processor and a memory. The control unit, the first determining unit, the second determining unit, the third determining unit, and the fourth determining unit are all stored as program units in the memory. The processor executes the program units stored in the memory to achieve the corresponding functions. All modules are located in the same processor; alternatively, the modules are located in different processors in any combination.

[0182] The processor contains a kernel, which retrieves the corresponding program units from memory. One or more kernels can be configured, and adjusting kernel parameters can at least address the problem of the large number of sampling points and low calibration efficiency in existing robot calibration processes.

[0183] The memory may include non-permanent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM, and the memory includes at least one memory chip.

[0184] This application provides a welding system, including: a welding robot; a controller for the welding robot, including one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include methods for performing any one of the methods described.

[0185] In the welding system described above, the controller uses the method described above to calibrate the welding robot. This method pairs the robot's translational and rotary joints. First, the translational joints in the pair are kept in their initial positions, and the rotary joints are controlled to rotate. The robot's end-effector coordinates are obtained during the rotation process, thus obtaining the coordinate system of the pair. Then, based on the obtained coordinate sets of each pair, the axial direction vectors of the translational and rotary joints in each pair are determined. Afterwards, based on the origin coordinates of the theoretical base coordinate system of the first joint arranged along the direction away from the base, the theoretical joint coordinate system, the axial direction vector, and the second... The origin coordinates and axis direction vector of the theoretical base coordinate system of the first joint are used to determine the actual joint coordinate system of the first joint and its transformation matrix relative to the theoretical joint coordinate system. Then, based on the theoretical base coordinate system and actual joint coordinate system of the (i-1)th first joint, as well as the theoretical joint coordinate system, axis direction vector, and first transformation matrix of the ith first joint, a second transformation matrix is ​​determined relative to the actual joint coordinate system of the (i-1)th first joint. Finally, based on these second transformation matrices, the actual DH parameters of each link of the robot are determined, and the robot's operation is controlled according to these actual DH parameters. Compared to the existing technology that uses single-joint sequential calibration, resulting in a large number of sampling points and low calibration efficiency, this application creatively proposes a dual-axis motion calibration scheme. It forms joint pairs by corresponding translational and rotational joints of the robot and controls each joint pair to perform dual-axis motion to collect calibration data. This effectively reduces the number of calibration sampling points, lowers the complexity of the calibration sampling process, and thus improves calibration efficiency.

[0186] This invention provides a computer-readable storage medium including a stored program, wherein the program, when running, controls the device where the computer-readable storage medium is located to execute the robot calibration method.

[0187] This invention provides a processor for running a program, wherein the program executes the robot calibration method during runtime.

[0188] This invention provides a device including a processor, a memory, and a program stored in the memory and executable on the processor. The processor executes the program to at least implement the method described herein. The device described herein may be a server, PC, PAD, mobile phone, etc.

[0189] This application also provides a computer program product that, when executed on a data processing device, is adapted to execute a program that initializes at least the steps of the robot calibration method described above.

[0190] It will be apparent to those skilled in the art that the modules or steps of the present invention can be implemented using general-purpose computing devices. They can be centralized on a single computing device or distributed across a network of multiple computing devices. They can be implemented using device-executable program code, and thus can be stored in a storage device for execution by a computing device. In some cases, the steps shown or described can be performed in a different order than those presented herein, or they can be fabricated as separate integrated circuit modules, or multiple modules or steps can be fabricated as a single integrated circuit module. Thus, the present invention is not limited to any particular hardware and software combination.

[0191] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0192] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0193] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0194] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0195] In a typical configuration, a computing device includes one or more processors (CPU), input / output interfaces, network interfaces, and memory.

[0196] Memory may include non-persistent memory in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0197] Computer-readable media includes both permanent and non-permanent, removable and non-removable media that can store information using any method or technology. Information can be computer-readable instructions, data structures, modules of programs, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transferable medium that can be used to store information accessible by a computing device. As defined herein, computer-readable media does not include transient computer-readable media, such as modulated data signals and carrier waves.

[0198] It should also be noted that 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 process, method, article, or apparatus. Unless otherwise specified, 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 that element.

[0199] The above description is merely a preferred embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A robot calibration method, characterized in that, The robot includes a base and a plurality of first joints, with each first joint arranged sequentially along a direction away from the base. Each pair of two first joints forms a joint pair, wherein the two first joints in the joint pair are a translational joint and a rotational joint, respectively. The method includes: With the translational joint in the target joint pair in its initial position, the rotational joint in the target joint pair is controlled to rotate sequentially at least three times from the target position along a predetermined direction, and the robot end-effector coordinates corresponding to each rotation are obtained to obtain the coordinate set of the target joint pair, wherein the target joint pair is one of the multiple joint pairs. Based on the coordinate set of each joint pair, determine the axial direction vector of each translational joint and each rotational joint; Based on the origin coordinates of the theoretical base coordinate system of the first first joint arranged in a direction away from the base, the theoretical joint coordinate system of the first first joint, the axial direction vector of the first first joint, the origin coordinates of the theoretical base coordinate system of the second first joint arranged in a direction away from the base, and the axial direction vector of the second first joint, the actual joint coordinate system of the first first joint and a first transformation matrix are determined. The first transformation matrix is ​​the transformation matrix of the actual joint coordinate system of the first first joint relative to the theoretical joint coordinate system of the first first joint. Based on the theoretical base coordinate system of the (i-1)th first joint arranged in a direction away from the base, the actual joint coordinate system of the (i-1)th first joint, the theoretical joint coordinate system of the ith first joint, the axial direction vector of the ith first joint passing through the third target origin, and the first transformation matrix, the actual joint coordinate system of the ith first joint and the second transformation matrix of the ith first joint are determined. The second transformation matrix of the ith first joint is the transformation matrix of the actual joint coordinate system of the ith first joint relative to the actual joint coordinate system of the (i-1)th first joint arranged in a direction away from the base, where i ≥ 2. The third target origin is the origin of the theoretical base coordinate system of the ith first joint. Based on the second transformation matrix of each of the first joints except the first first joint, the actual DH parameters of the links between each of the first joints are determined, resulting in a plurality of first actual DH parameters, and the robot is controlled to operate based on at least each of the first actual DH parameters.

2. The method according to claim 1, characterized in that, The initial position includes a relative first limit position and a second limit position. With the translational joint in the target joint pair in the initial position, the rotational joint in the target joint pair is controlled to rotate sequentially at least three times along a predetermined direction from the target position, and the robot end-effector coordinates are obtained after each rotation to obtain the coordinate set of the target joint pair, including: With other joint pairs in the zero position, the translational joint in the target joint pair is controlled to move to the first extreme position, wherein the other joint pairs are joint pairs other than the target joint pair; When the translational joint reaches the first limit position, the rotational joints in the target joint pair are controlled to rotate sequentially from the target position along the predetermined direction. The robot end-effector coordinates after rotating from the target position by a first angle are obtained to obtain the first coordinate. The robot end-effector coordinates after rotating from the target position by a second angle are obtained to obtain the second coordinate. The robot end-effector coordinates after rotating from the target position by a third angle are obtained to obtain the third coordinate. The first angle, the second angle, and the third angle increase sequentially. The first coordinate, the second coordinate, and the third coordinate constitute the first sub-coordinate set of the target joint pair. Control the translational joint in the target joint pair to move to the second extreme position; When the translational joint reaches the second limit position, the rotational joints in the target joint pair are controlled to rotate sequentially from the target position along the predetermined direction. The robot end-effector coordinates after rotating from the target position by the first angle are obtained to obtain the fourth coordinate. The robot end-effector coordinates after rotating from the target position by the second angle are obtained to obtain the fifth coordinate. The robot end-effector coordinates after rotating from the target position by the third angle are obtained to obtain the sixth coordinate. The fourth coordinate, the fifth coordinate, and the sixth coordinate constitute the second sub-coordinate set of the target joint pair. The first sub-coordinate set and the second sub-coordinate set constitute the coordinate system of the target joint pair.

3. The method according to claim 2, characterized in that, Based on the coordinate set of each joint pair, the axial direction vector of each translational joint and each rotational joint is determined, including: Based on the first coordinate, second coordinate, and third coordinate of the target joint pair, a first vector is determined, wherein the first vector is the normal vector of the plane including the first coordinate, the second coordinate, and the third coordinate; Based on the fourth coordinate, the fifth coordinate, and the sixth coordinate of the target joint pair, a second vector is determined, wherein the second vector is the normal vector of the plane including the fourth coordinate, the fifth coordinate, and the sixth coordinate; Determine the direction vector of the axis of symmetry between the first vector and the second vector passing through the first target origin, and obtain the axis direction vector of the rotary joint in the target joint pair. The first target origin is the origin of the theoretical base coordinate system of the rotary joint in the target joint pair. Obtain the endpoint coordinates of the first line segment of a predetermined length originating from the second target origin to obtain the seventh coordinate; obtain the endpoint coordinates of the second line segment of the predetermined length originating from the second target origin to obtain the eighth coordinate; obtain the endpoint coordinates of the third line segment of the predetermined length originating from the second target origin to obtain the ninth coordinate. The second target origin is the origin of the theoretical base coordinate system of the translational joint in the target joint pair. The straight line containing the first line segment passes through the second target origin and is parallel to the line connecting the first coordinate and the fourth coordinate. The straight line containing the second line segment passes through the second target origin and is parallel to the line connecting the second coordinate and the fifth coordinate. The straight line containing the third line segment passes through the second target origin and is parallel to the line connecting the third coordinate and the sixth coordinate. Based on the seventh coordinate, the eighth coordinate, and the ninth coordinate, the normal vector of the plane including the seventh coordinate, the eighth coordinate, and the ninth coordinate is determined, and the axial direction vector of the translational joint in the target joint pair is obtained.

4. The method according to claim 1, characterized in that, Based on the origin coordinates of the theoretical base coordinate system of the first first joint arranged in a direction away from the base, the theoretical joint coordinate system of the first first joint, the axial direction vector of the first first joint, the origin coordinates of the theoretical base coordinate system of the second first joint arranged in a direction away from the base, and the axial direction vector of the second first joint, the actual joint coordinate system of the first first joint and the first transformation matrix are determined, including: Based on the axial direction vector of the first first joint and the axial direction vector of the second first joint, the coordinate axis direction vector of the actual base coordinate system of the first first joint is determined. Based on the axial direction vector of the first joint, the axial direction vector of the second joint, the origin coordinates of the theoretical base coordinate system of the first joint, and the origin coordinates of the theoretical base coordinate system of the second joint, the origin coordinates of the actual base coordinate system of the first joint are determined as the target coordinates. The target coordinates and the coordinate axis direction vectors constitute the actual base coordinate system of the first joint, and the actual joint coordinate system of the first joint is determined as the actual base coordinate system of the first joint. Based on the target coordinates, a first translation vector is determined, and based on the coordinate axis direction vector of the first joint and the first translation vector, a first initial transformation matrix is ​​determined. The first translation vector is the translation vector of the actual base coordinate system of the first joint relative to the theoretical base coordinate system of the first joint, and the first initial transformation matrix is ​​the transformation matrix of the actual base coordinate system of the first joint relative to the theoretical base coordinate system of the first joint. Based on the theoretical joint coordinate system of the first joint and the theoretical base coordinate system of the first joint, a second initial transformation matrix is ​​determined. Based on the first initial transformation matrix and the second initial transformation matrix, the first transformation matrix is ​​determined to be the product of the inverse of the second initial transformation matrix and the first initial transformation matrix. The second initial transformation matrix is ​​the transformation matrix of the theoretical joint coordinate system of the first joint relative to the theoretical base coordinate system of the first joint.

5. The method according to claim 4, characterized in that, Determining the coordinate axis direction vector of the actual base coordinate system of the first joint based on the axial direction vector of the first joint and the axial direction vector of the second joint includes: determining the coordinate axis direction vector of the first joint based on the axial direction vector of the first joint. and the axial direction vector of the second first joint Determine the coordinate axis direction vector of the actual base coordinate system of the first joint. for: ; Based on the axial direction vector of the first first joint, the axial direction vector of the second first joint, the origin coordinates of the theoretical base coordinate system of the first first joint, and the origin coordinates of the theoretical base coordinate system of the second first joint, the origin coordinates of the actual base coordinate system of the first first joint are determined as the target coordinates, including: According to the axial direction vector of the first joint The axial direction vector of the second first joint The origin coordinates of the theoretical base coordinate system of the first joint And the origin coordinates of the theoretical base coordinates of the second first joint. Determine the target coordinates for: , in, , ( , , () is the x-axis direction vector of the actual base coordinate system of the first joint. , The projection coordinates of the x-axis direction vector of the actual base coordinate system of the first joint onto the x-axis of the theoretical base coordinate system of the first joint. The x-axis direction vector is projected onto the y-axis of the theoretical base coordinate system of the first joint. The x-axis direction vector is projected onto the z-axis of the theoretical base coordinate system of the first joint. Determining a first initial transformation matrix based on the coordinate axis direction vector of the first joint and the first translation vector includes: determining the first initial transformation matrix based on the coordinate axis direction vector of the first joint. and the first translation vector Determine the first initial transformation matrix. for: , in, .

6. The method according to claim 1, characterized in that, Based on the theoretical base coordinate system of the (i-1)th first joint arranged in a direction away from the base, the actual joint coordinate system of the (i-1)th first joint, the theoretical joint coordinate system of the ith first joint, the axial direction vector of the ith first joint passing through the third target origin, and the first transformation matrix, the actual joint coordinate system of the ith first joint and the second transformation matrix of the ith first joint are determined, including: The first determining step involves determining that the first Z-axis direction vector is the axial direction vector of the i-th first joint passing through the origin of the third target, the first Z-axis direction vector being the direction vector of the Z-axis of the actual joint coordinate system of the i-th first joint, and determining that the intersection of the first Z-axis direction vector and the predetermined plane is the origin coordinate of the actual joint coordinate system of the i-th first joint, the predetermined plane being a plane including the X-axis and the Z-axis of the actual joint coordinate system of the (i-1)-th first joint. The second determining step involves determining the rotation axis and rotation angle of the i-th first joint based on the second Z-axis direction vector and the first Z-axis direction vector, and determining the second translation vector of the i-th first joint based on the difference between the origin coordinates of the actual joint coordinate system of the i-th first joint and the origin coordinates of the theoretical joint coordinate system of the i-th first joint, wherein the second Z-axis direction vector is the Z-axis direction vector of the theoretical joint coordinate system of the i-th first joint. The control step involves controlling the theoretical joint coordinate system of the i-th first joint to rotate around the rotation axis by the rotation angle and then translate along the second translation vector to obtain the actual joint coordinate system of the i-th first joint and the third initial transformation matrix of the i-th first joint. The third initial transformation matrix of the i-th first joint is the transformation matrix of the actual joint coordinate system of the i-th first joint relative to the theoretical joint coordinate system of the i-th first joint. The third determining step involves determining a fourth initial transformation matrix based on the theoretical joint coordinate system of the i-th first joint and the theoretical base coordinate system of the (i-1)-th first joint, and determining the second transformation matrix of the i-th first joint as the product of the inverse of the third initial transformation matrix of the (i-1)-th first joint, the fourth initial transformation matrix, and the third initial transformation matrix of the i-th first joint, based on the third initial transformation matrix of the i-th first joint, the fourth initial transformation matrix, and the third initial transformation matrix of the i-th first joint. The fourth initial transformation matrix is ​​the transformation matrix of the theoretical joint coordinate system of the i-th first joint relative to the theoretical base coordinate system of the (i-1)-th first joint, and the third initial transformation matrix of the (i-1)-th first joint is calculated at least based on the first transformation matrix.

7. The method according to claim 6, characterized in that, After determining the actual joint coordinate system of the i-th first joint and the second transformation matrix of the i-th first joint based on the theoretical base coordinate system of the (i-1)-th first joint arranged in a direction away from the base, the actual joint coordinate system of the (i-1)-th first joint, the theoretical joint coordinate system of the i-th first joint, the axial direction vector of the i-th first joint passing through the third target origin, and the first transformation matrix, the method further includes: The fourth determination step is to determine whether i is greater than a predetermined value, where the predetermined value is the number of joint pairs; In the loop step, if i is less than or equal to the predetermined value, the count of i is incremented by 1 to obtain the updated i, and the first determination step, the second determination step, the control step, the third determination step, and the fourth determination step are executed in a loop until i is greater than the predetermined value.

8. The method according to claim 1, characterized in that, The actual DH parameters of the i-th first joint include the link torsional characteristic angle. Link length Joint angle and link offset Based on the second transformation matrix of each of the first joints except the first first joint, the actual DH parameters of the links between each of the first joints are determined, and the first actual DH parameters of each of the first joints are obtained, including: According to the second transformation matrix of the i-th first joint and the formula: The first actual DH parameter of the i-th first joint is calculated.

9. The method according to claim 1, characterized in that, The robot also includes at least one second joint, all of which are of the same type, namely either a translational joint or a rotational joint. Before controlling the robot to operate based at least on each of the first actual DH parameters, the method further includes: The axis equations of each of the second joints were determined using the single-axis rotation method; Based on the axis equation, the actual DH parameters of the connecting rod in the second joint are determined, thus obtaining the second actual DH parameters. Controlling the robot's operation based at least on each of the first actual DH parameters includes: The robot is controlled to operate based on each of the first actual DH parameters and each of the second actual DH parameters.

10. A welding system, characterized in that, include: Welding robots; The controller of the welding robot includes one or more processors, a memory, and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include methods for performing any one of claims 1 to 9.

Citation Information

Patent Citations

  • Method for calibrating kinematics parameter of robot based on drawstring displacement sensors

    CN107553493A

  • Robot calibrating method based on zero force control

    CN110450165A