Industrial robot TCP calibration method, system, equipment and medium
By establishing point-to-surface contact between the industrial robot tool TCP and the operating platform, a set of calibration equations is constructed, and haptic sensors are used to automate rotation. This solves the problems of complex operation and low automation in existing TCP calibration methods, and achieves a high-efficiency and low-cost calibration process.
Patent Information
- Application Number
- CN202511028675.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-25
- Publication Date
- 2025-11-04
AI Technical Summary
Existing industrial robot TCP calibration methods are complex to operate, have low automation levels, high labor costs, and their calibration accuracy is greatly affected by position and distance.
By making point-to-surface contact between the tool TCP and the operating platform, the orientation of the flange coordinate system is recorded, and a set of calibration equations is constructed. The tool TCP is then automatically rotated using a tactile sensor to obtain its precise orientation in the robot coordinate system.
It simplifies operations, reduces labor costs, improves the automation and accuracy of calibration, and avoids complex operations and high costs.
Smart Images

Figure CN120886247A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of industrial robot control, and in particular to an industrial robot TCP calibration method, system, device and medium. BACKGROUND
[0002] Various tools such as welding guns, spray guns, etc. can be installed on the industrial robot arm to perform corresponding work, and the specific structure is as shown in Figure 1 Before the work is carried out, the pose T of the tool center point (TCP) coordinate system of these tools in the robot flange coordinate system must be determined, which is called tool calibration. The accuracy of T is very critical to determine the trajectory accuracy of the tool held by the robot. At the same time, since the tool held by the industrial robot will change accordingly when performing different tasks, the tool coordinate system calibration of the robot is often needed.
[0003] Currently, there are two main TCP calibration methods, namely the 6-point calibration method and the bullseye calibration method. Among them, the 6-point calibration method (as shown in Figure 2 uses point-to-point contact for calibration, but point-to-point contact requires workers to manually operate the robot, which cannot realize automatic calibration; at the same time, the calibration accuracy of this method will decrease sharply as the distance between the actual position of the robot TCP point and the fixed point increases, which requires workers to operate the TCP of the robot to accurately aim at a target similar to a needle tip with various different poses, which is high in labor cost.
[0004] The bullseye calibration method (as shown in Figure 3 uses point-to-line contact for calibration, which has a high degree of automation and the robot can automatically perform all calibration actions, but the point-to-line contact is difficult to operate and the operation process is too complex, which is only suitable for occasions that require fine correction of TCP.
[0005] In summary, the calibration methods in the prior art have the problems of complex operation and low automation degree. SUMMARY
[0006] In order to solve the problem of complex operation and low automation degree of the calibration method in the prior art.
[0007] The purpose of the present application is achieved by adopting the following technical solutions:
[0008] In a first aspect, the present application provides an industrial robot TCP calibration method, wherein the industrial robot is installed on an operation platform, and a tool TCP is detachably and fixedly connected to a flange plate of the industrial robot.
[0009] The method comprises:
[0010] When the tool TCP is adjusted to above the operation platform, a first pose of the flange plate coordinate system in the robot coordinate system at this time is recorded, and a projection position of the center of the flange plate coordinate system on the operation platform is determined;
[0011] The origin of the tool TCP is point-plane contacted with the projection position, a second pose of the tool TCP coordinate system in the robot coordinate system at this time is determined according to the projection position and the first pose, and a third pose of the flange plate coordinate system in the robot coordinate system at this time is recorded;
[0012] An initial pose of the tool TCP coordinate system in the flange plate coordinate system is determined according to the second pose and the third pose;
[0013] With the origin of the tool TCP coordinate system in the initial pose as the rotation center, the tool TCP is controlled to rotate around the coordinate axes of the tool TCP coordinate system for multiple times, and the origin of the tool TCP is point-plane contacted with the operation platform downward, to obtain the poses of the origin of the flange plate coordinate system in the robot coordinate system at different rotation angles, and a calibration equation set of the tool TCP calibration is constructed;
[0014] According to the poses of the origin of the flange plate coordinate system in the robot coordinate system at different rotation angles, the calibration equation set is solved to obtain the accurate pose of the tool TCP coordinate system in the flange plate coordinate system.
[0015] Preferably, the point-plane contact of the origin of the tool TCP with the projection position comprises:
[0016] The tool TCP is operated to rotate, so that any two axes of the X axis, the Y axis and the Z axis of the tool TCP coordinate system point to the directions of any two axes of the X axis, the Y axis and the Z axis of the robot coordinate system;
[0017] The origin of the tool TCP is point-plane contacted with the projection position on the operation platform by using a tactile sensor.
[0018] Further, the functional expression of the projection position is:
[0019]
[0020] Wherein, P is the projection position; h is the distance between the center of the flange plate coordinate system and the operation platform; t 0x , t 0y , t 0z are the directions of the X axis, the Y axis and the Z axis of the flange plate coordinate system in the robot coordinate system, respectively.
[0021] Furthermore, the distance between the origin of the tool's TCP coordinate system and the projected position on the operating platform before point-to-plane contact is greater than 300mm.
[0022] Preferably, the functional expression for the first attitude is:
[0023]
[0024] Among them, T b The first orientation of the flange coordinate system in the robot coordinate system; T 0x T 0y and T 0z These represent the X, Y, and Z axes of the tool's TCP coordinate system pointing in the robot coordinate system at this moment; t x t y t z These are the coordinates of the origin of the flange coordinate system in the robot coordinate system.
[0025] Furthermore, the functional expression for the second attitude is:
[0026]
[0027] Where T0 is the second pose of the tool's TCP coordinate system in the robot coordinate system; T 0x T 0y and T 0z These represent the X, Y, and Z axes of the tool's TCP coordinate system pointing in the robot coordinate system at this moment; P is the projection position.
[0028] Furthermore, the functional expression for the third posture is:
[0029]
[0030] Where B0 represents the third pose of the flange coordinate system in the robot coordinate system; B 0x B 0y and B 0z These represent the orientations of the X, Y, and Z axes in the flange coordinate system within the robot coordinate system; b x b y b z These are the coordinates of the origin of the flange coordinate system in the robot coordinate system.
[0031] Furthermore, the functional expression for the initial pose is:
[0032]
[0033] Among them, T CP0 This is the initial pose. T0 is a third pose of the flange plate coordinate system in the robot coordinate system, and T0 is a second pose of the tool TCP in the robot coordinate system.
[0034] Preferably, the origin of the flange plate coordinate system is taken as the rotation center, and the origin of the flange plate coordinate system is rotated around the coordinate axis of the tool TCP coordinate system to obtain the pose of the origin of the flange plate coordinate system in the robot coordinate system at different rotation angles.
[0035] The tool TCP is controlled to return to the initial pose, and the origin of the tool TCP coordinate system is taken as the rotation center. The origin of the tool TCP is controlled to rotate along any coordinate axis in the tool TCP coordinate system, and the origin of the tool TCP is controlled to vertically downwardly contact the operation platform to obtain the pose of the origin of the flange plate coordinate system in the robot coordinate system after rotation.
[0036] The tool TCP is controlled to return to the initial pose, and the above rotation operation is repeated at different rotation angles to obtain the pose of the origin of the flange plate coordinate system in the robot coordinate system at different rotation angles.
[0037] Further, the function expression of the calibration equation set is:
[0038] X i =B i T
[0039] Wherein, X i is the coordinate of the i-th tool TCP coordinate system in the robot coordinate system; B i is the pose of the i-th flange plate coordinate system in the robot coordinate system; and T is the calibration pose.
[0040] Further, the calibration equation set is multiple; and the calibration equation set is solved to obtain the accurate pose of the tool TCP coordinate system in the flange plate coordinate system, including:
[0041] Based on each calibration equation set, the pose of the origin of the flange plate coordinate system in the robot coordinate system at different rotation angles in the calibration equation set is calculated to obtain multiple coordinates of the tool TCP coordinate system in the robot coordinate system.
[0042] Based on the multiple coordinates of the tool TCP coordinate system in the robot coordinate system, the distance values between the origins of the tool TCP coordinate system and the operation platform are calculated according to the plane equation of the operation platform.
[0043] The multiple distance values are summed to obtain the distance total sum of the calibration equation set.
[0044] In the distance sum of the plurality of calibration equations, the minimum distance sum is determined; the pose of the tool TCP coordinate system in the flange plate coordinate system is determined as the accurate pose of the tool TCP coordinate system in the flange plate coordinate system.
[0045] In a second aspect, the present application provides an industrial robot TCP calibration system, wherein the industrial robot is installed on an operation platform, and a tool TCP is detachably fixedly connected to a flange plate of the industrial robot.
[0046] The system comprises a projection position determination module, an initial pose determination module, a calibration equation set module and an accurate pose solving module.
[0047] The projection position determination module is configured to record a first attitude of the flange plate coordinate system in the robot coordinate system when the tool TCP is adjusted to above the operation platform, and determine a projection position of the center of the flange plate coordinate system on the operation platform.
[0048] The initial pose determination module is configured to perform point-surface contact between the origin of the tool TCP and the projection position, determine a second attitude of the tool TCP coordinate system in the robot coordinate system according to the projection position and the first attitude, and record a third attitude of the flange plate coordinate system in the robot coordinate system; and determine an initial pose of the tool TCP coordinate system in the flange plate coordinate system according to the second attitude and the third attitude.
[0049] The calibration equation set module is configured to take the origin of the tool TCP coordinate system in the initial pose as a rotation center, control the tool TCP to rotate around the coordinate axes of the tool TCP coordinate system multiple times, and perform point-surface contact between the origin of the tool TCP and the operation platform downward, to obtain the poses of the origin of the flange plate coordinate system in the robot coordinate system under multiple different rotation angles, and construct a calibration equation set for tool TCP calibration.
[0050] The accurate pose module is configured to solve the calibration equation set according to the poses of the origin of the flange plate coordinate system in the robot coordinate system under multiple different rotation angles, to obtain the accurate pose of the tool TCP coordinate system in the flange plate coordinate system.
[0051] Further, the functional expression of the projection position is:
[0052]
[0053] wherein P is the projection position; h is the distance between the center of the flange plate coordinate system and the operation platform; t 0x , t 0y, t 0z are the directions of the X-axis, Y-axis and Z-axis of the flange coordinate system in the robot coordinate system respectively.
[0054] Further, the distance between the origin of the tool TCP coordinate system and the projection position on the operation platform before the point-plane contact is greater than 300mm.
[0055] Further, the function expression of the first pose is:
[0056]
[0057] wherein, T b is the first pose of the flange coordinate system in the robot coordinate system; T 0x , T 0y and T 0z are the directions of the X-axis, Y-axis and Z-axis of the tool TCP coordinate system in the robot coordinate system respectively; t x , t y , t z are the coordinates of the origin of the flange coordinate system in the robot coordinate system.
[0058] Preferably, the initial pose determination module comprises a point-plane contact submodule, a second pose submodule, a third pose submodule and an initial pose submodule.
[0059] The point-plane contact submodule is configured to rotate the tool TCP so that any two axes of the X-axis, Y-axis and Z-axis of the tool TCP coordinate system are directed to any two axes of the X-axis, Y-axis and Z-axis of the robot coordinate system; and the origin of the tool TCP and the projection position on the operation platform are in point-plane contact through a tactile sensor.
[0060] The second pose submodule is configured to determine the second pose of the tool TCP coordinate system in the robot coordinate system according to the projection position and the first pose.
[0061] The third pose submodule is configured to determine the third pose of the flange coordinate system in the robot coordinate system according to the projection position and the first pose.
[0062] The initial pose submodule is configured to determine the initial pose of the tool TCP coordinate system in the flange coordinate system according to the second pose and the third pose.
[0063] Further, the function expression of the second pose is:
[0064]
[0065] Wherein, T0 is the second pose of the tool TCP coordinate system in the robot coordinate system; T 0x , T 0y and T 0z are the directions of the X axis, Y axis and Z axis of the tool TCP coordinate system in the robot coordinate system respectively; and P is the projection position.
[0066] Further, the function expression of the third pose is:
[0067]
[0068] Wherein, B0 is the third pose of the flange coordinate system in the robot coordinate system; B 0x , B 0y and B 0z are the directions of the X axis, Y axis and Z axis of the flange coordinate system in the robot coordinate system respectively; b x , b y and b z are the coordinates of the origin of the flange coordinate system in the robot coordinate system.
[0069] Further, the function expression of the initial pose is:
[0070]
[0071] Wherein, T CP0 is the initial pose, B0 is the third pose of the flange coordinate system in the robot coordinate system, and T0 is the second pose of the tool TCP in the robot coordinate system.
[0072] Preferably, the calibration equation set module is specifically configured to control the tool TCP to return to the initial pose, take the origin of the tool TCP coordinate system in the initial pose as the rotation center, control the tool TCP to rotate along any coordinate axis in the tool TCP coordinate system, control the origin of the tool TCP to vertically downwardly contact the operation platform to obtain the pose of the origin of the rotated flange coordinate system in the robot coordinate system; control the tool TCP to return to the initial pose, and repeat the above rotation operation under different rotation angles to obtain the poses of the origin of the flange coordinate system in the robot coordinate system under different rotation angles.
[0073] Further, the function expression of the calibration equation set is:
[0074] Xi i = Bi i Ti
[0075] Wherein, Xi i is the coordinate of the i-th tool TCP coordinate system in the robot coordinate system; Bii is the pose of the i-th flange coordinate system in the robot coordinate system; T is the calibration pose.
[0076] Preferably, the precise pose module is specifically used for calculating a plurality of coordinates of the tool TCP coordinate system in the robot coordinate system based on each calibration equation group according to the pose of the origin of the flange coordinate system in the robot coordinate system at a plurality of different rotation angles in the calibration equation group; and calculating a plurality of distance values between the origins of the tool TCP coordinate system and the operation platform based on the coordinates of the tool TCP coordinate system in the robot coordinate system according to the plane equation of the operation platform.
[0077] The distance values are summed to obtain a distance sum of the calibration equation group; the smallest distance sum is determined from the distance sums of the plurality of calibration equation groups; and the pose at which the point and the plane are in contact when the calibration equation group corresponding to the smallest distance sum is constructed is determined as the precise pose of the tool TCP coordinate system in the flange coordinate system.
[0078] In a third aspect, the present application provides an electronic device, comprising: at least one processor and a memory; the memory and the processor are connected through a bus;
[0079] The memory is used for storing one or more programs.
[0080] When the one or more programs are executed by the at least one processor, an industrial robot TCP calibration method as described above is implemented.
[0081] In a fourth aspect, the present application provides a computer readable storage medium having a computer program stored thereon, wherein the computer program is executed to implement an industrial robot TCP calibration method as described above.
[0082] Compared with the prior art, the present application has the following beneficial effects:
[0083] The application provides an industrial robot TCP calibration method and system, first guiding a tool TCP to above an operation platform, measuring the distance between the origin of the tool TCP coordinate system and the operation platform, recording the first posture of the flange coordinate system in the robot coordinate system at this time, and roughly measuring the projection position of the flange center on the operation platform; determining the second posture of the tool TCP coordinate system in the robot coordinate system and the third posture of the flange coordinate system in the robot coordinate system through point-surface contact between the origin of the tool TCP coordinate system and the projection position; determining the initial posture of the tool TCP coordinate system in the flange coordinate system according to the second posture and the third posture; and constructing a calibration equation group of the tool TCP calibration through multiple rotations along the coordinate axes in the flange coordinate system at the initial posture, so as to optimize the solution of the accurate posture of the TCP in the flange coordinate system, thereby completing the calibration of the work. The method of the application only needs to guide the robot to above the operation platform, measures the distance between the tool TCP and the operation platform at this time by using a tape measure, acquires the initial posture through point-surface contact, constructs a calibration equation group through automatic rotation at the initial posture, and then solves and realizes the calibration of the tool TCP, so that the method is simple in operation, low in labor cost, and can realize high automation. BRIEF DESCRIPTION OF DRAWINGS
[0084] Figure 1 A coordinate system in the robot of the application is shown in the figure;
[0085] Figure 2 A point-to-point TCP calibration method of the application is shown in the figure;
[0086] Figure 3 A point-to-line TCP calibration method of the application is shown in the figure;
[0087] Figure 4 A flowchart of an industrial robot TCP calibration method in embodiment 1 of the application is shown in the figure;
[0088] Figure 5 A circular motion of the robot around a point at the initial TCP in embodiment 1 of the application is shown in the figure;
[0089] Figure 6 The influence of uneven plane on the calibration accuracy is shown in the figure;
[0090] Figure 7 An industrial robot TCP calibration system in embodiment 2 of the application is shown in the figure;
[0091] Figure 8 A structure of an electronic device in embodiment 3 of the application is shown in the figure. DETAILED DESCRIPTION
[0092] In the following, only certain exemplary embodiments are simply described. As those skilled in the art can recognize, the described embodiments can be modified in various different ways without departing from the spirit or scope of the present application. Therefore, the drawings and description are considered to be exemplary in nature rather than limiting.
[0093] Embodiments of the present application will be described in detail below with reference to the accompanying drawings.
[0094] Embodiment 1
[0095] A TCP calibration method for an industrial robot, as shown in Figure 1 and Figure 4 The industrial robot is mounted on an operation platform, and a tool TCP is detachably fixedly connected to a flange plate of the industrial robot.
[0096] The method comprises:
[0097] Step S1: When the tool TCP is adjusted above the operation platform, a first pose of the flange plate coordinate system in the robot coordinate system at this time is recorded, and a projection position of the center of the flange plate coordinate system on the operation platform is determined;
[0098] Step S2: The origin of the tool TCP is in point-plane contact with the projection position, a second pose of the tool TCP coordinate system in the robot coordinate system at this time is determined according to the projection position and the first pose, a third pose of the flange plate coordinate system in the robot coordinate system at this time is recorded, and the tool TCP is rotated around the coordinate axis of the tool TCP coordinate system according to the second pose and the third pose;
[0099] Step S3: The initial pose of the tool TCP coordinate system in the flange plate coordinate system is determined according to the second pose and the third pose;
[0100] Step S4: The origin of the tool TCP coordinate system at the initial pose is taken as the rotation center, the tool TCP is controlled to rotate around the coordinate axis of the tool TCP coordinate system multiple times, and the origin of the tool TCP is in point-plane contact with the operation platform downward, the poses of the origin of the flange plate coordinate system in the robot coordinate system at multiple different rotation angles are obtained, and a calibration equation group for tool TCP calibration is constructed;
[0101] Step S5: According to the poses of the origin of the flange plate coordinate system in the robot coordinate system at multiple different rotation angles, the calibration equation group is solved to obtain the accurate pose of the tool TCP coordinate system in the flange plate coordinate system.
[0102] The application provides a TCP calibration method based on a tactile sensor. A tool TCP of an industrial robot is contacted with a grounded metal plane, and spatial coordinates of multiple contact points are recorded, so that calibration of the tool TCP (for example, a welding gun) is realized.
[0103] The hardware involved in the method of the application is necessary for the robot during use, and does not need to be additionally purchased. The tactile sensor is used in point-plane contact, the cost of the tactile sensor of the robot is low, and generally is a wire, for example, a welding wire. When the wire is contacted with the grounded metal surface, the robot can sense the change of voltage, and is instantly stopped, and the TCP posture at the place is recorded. The tactile sensor has a wide application, and is applied in carrying and welding work, and is generally used to compensate for the defects of insufficient precision of a laser sensor. Meanwhile, the grounded metal plane can be a work platform on which a workpiece is placed, and does not need to be additionally purchased.
[0104] The method of the application has low labor cost. The calibration of the TCP is realized by measuring the intersection point of the robot and the grounded metal plane. Essentially, the method 1 in the background art is through point-point contact, and the method 2 is through point-line contact; and the method of the application is through point-plane contact to form an equation group, and then the calibration of the tool TCP is realized. Apparently, the difficulty of point-plane contact is far less than that of point-line or point contact. Meanwhile, the method of the application further reduces the operation difficulty and improves the automation level by skillfully using the rough TCP to control the robot TCP.
[0105] It needs to be further explained that the tool TCP (tool center point) coordinate system in the embodiment of the application is a coordinate system of a reference point of a tool at the end of the robot, and represents the position of the tool in the entire robot coordinate system. The tool TCP is connected with the industrial robot through a flange, and the flange has a flange coordinate system at the center of the flange, and represents the position of the flange in the robot coordinate system. Both are shown in Figure 1 By rotating different joints of the robot, the position of the tool TCP coordinate system and the flange coordinate system in the robot coordinate system can be adjusted.
[0106] The posture of the tool TCP coordinate system in the robot flange coordinate system is T, and the process is called calibration of the tool. See formula (1) shown.
[0107] X R =BTX l (1)
[0108] Wherein, X l is the position of a point in the tool coordinate system, and B is the posture of the robot flange coordinate system in the robot coordinate system. X Ris the position of the point in the robot coordinate system. The process of determining T is the process of calibrating the tool TCP of the robot. Specifically, when the tool TCP is adjusted to above the operation platform in step S1 of the embodiment of the present application, the first pose of the flange coordinate system in the robot coordinate system at this time is recorded, and the projected position of the center of the flange coordinate system on the operation platform is determined; that is, the operator adjusts the tool TCP origin (the center point of the TCP coordinate system) of the robot to above the metal platform (i.e., the operation platform).
[0109] It needs to be further explained that, in order to ensure that the tool of the robot does not collide with the work platform during rotation. Because the tactile sensor is irrelevant to the distance between the TCP origin and the plane when measuring the position of the metal plane, the distance can be large.
[0110] It needs to be further explained that, in order to prevent the welding torch from colliding with the metal plane during sampling, it should generally be greater than 300 mm (i.e., the distance between the origin of the tool TCP coordinate system and the projected position on the operation platform before the point-plane contact is greater than 300 mm).
[0111] The pose (i.e., the first pose) of the center of the robot flange at this time is recorded as:
[0112]
[0113] wherein T b is the first pose of the flange coordinate system in the robot coordinate system; T 0x , T 0y and T 0z are the directions of the X-axis, Y-axis and Z-axis of the TCP at this time in the robot coordinate system; t x , t y and t z are the coordinates of the origin of the flange coordinate system in the robot coordinate system.
[0114] It needs to be further explained that, the flange coordinate system is shown in Figure 1 . The Z-axis of the flange coordinate system is vertically downward, the distance h between the center of the flange coordinate system and the metal plane is measured with a tape measure, and the projected position of the center of the flange coordinate system on the metal platform is marked with chalk. The measurement error here is large, and the error within 100 mm is acceptable.
[0115] This error has little effect on the final calibration result. The distance from the center of the flange coordinate system to the metal plane is measured with a tape measure, and the projection of the center of the flange coordinate system to the metal plane is estimated with the naked eye. Because its error is large, generally about 20 mm, this pose cannot be used to guide the robot to carry out various operations, such as welding, etc. But it is very important for the present application, and its role is:
[0116] 1) In the process of calibration sampling, the robot is guided to reach a reasonable position without colliding with other objects or a certain position that the robot cannot reach;
[0117] 2) An initial solution is provided for the optimization solution to obtain an accurate solution. However, the initial solution has very low accuracy requirements, and an error within 100 mm is completely acceptable. Therefore, the difficulty of measurement work is very small.
[0118] At this time, the functional expression of the projection position of the center of the flange plate coordinate system on the metal platform is:
[0119]
[0120] Wherein, P is the projection position; h is the distance between the center of the flange plate coordinate system and the operation platform; t 0x , t 0y , t 0z are the directions of the X axis, Y axis and Z axis of the flange plate coordinate system in the robot coordinate system.
[0121] Specifically, the point-plane contact between the origin of the tool TCP and the projection position in step S2 of the embodiment of the application comprises: rotating the tool TCP to make any two axes of the X axis, Y axis and Z axis of the tool TCP coordinate system point to the directions of any two axes of the X axis, Y axis and Z axis of the robot coordinate system; and performing point-plane contact between the origin of the tool TCP and the projection position on the operation plane by using a tactile sensor.
[0122] It needs to be further explained that the TCP origin of the robot touches the projection position, which does not need to be very accurate, and the error is within 10 mm. At the same time, two axes of the X, Y and Z axes of the robot TCP coordinate system point to the known direction in the robot coordinate system. For example, for the robot TCP shown in Figure 1 , when touching the projection position, the Z axis (blue) is vertically downward, that is, opposite to the direction of the Z axis of the robot coordinate system; and the X axis points to the opposite direction of the X axis of the robot coordinate system.
[0123] At this time, the posture of the robot TCP in the robot coordinate system (i.e. the second posture) is:
[0124]
[0125] Wherein: T0 is the second posture of the tool TCP coordinate system in the robot coordinate system; T 0x , T 0y and T 0zThese represent the orientations of the X, Y, and Z axes of the TCP coordinate system in the robot coordinate system. Generally, the two axes of the TCP coordinate system (XYZ) are parallel to the two axes of the robot coordinate system. These three values are determined by observation and are known quantities. P represents the projected position.
[0126] Record the attitude of the flange coordinate system in the robot coordinate system at this moment (i.e., the third attitude) as follows:
[0127]
[0128] Where B0 represents the third pose of the flange coordinate system in the robot coordinate system; b x b y b z These are the origin coordinates of the flange coordinate system, which can be queried by accessing the robot system; B 0x B 0y and B 0z These represent the x, y, and z axes in the flange coordinate system, respectively, and can also be queried by accessing the robot system. B 0x0 B 0x1 B 0x2 B respectively 0x In the flange coordinate system, x points to the coordinate value; B 0y0 B 0y1 B 0y2 B respectively 0y In the flange coordinate system, y points to the coordinate value; B 0z0 B 0z1 B 0z2 B respectively 0z In the flange coordinate system, z points to the coordinate value.
[0129] Because the zero point of the tool's TCP coordinate system is in contact with the plane at this time, therefore in formula (1)
[0130]
[0131] Among them, X l This indicates the position of the zero point in the tool coordinate system.
[0132] Specifically, in step S3 of this embodiment, the initial pose of the tool TCP coordinate system in the flange coordinate system is determined based on the second pose and the third pose. That is, according to formula (1), the initial pose of the robot TCP in the flange coordinate system is:
[0133]
[0134] Among them, T CP0 This is the initial pose. T0 is a second pose of the robot TCP in the robot coordinate system.
[0135] It needs to be further explained that the initial pose of the TCP in the flange coordinate system in the embodiment of the application is very different from the corresponding exact solution (such as generally about 20 mm), and cannot be directly used for guiding the robot to carry out various operations, such as welding. However, it has two important functions: 1) guiding the robot to reach a reasonable position in the sampling process of calibration, so as to avoid collision with other objects or a position that the robot cannot reach; 2) providing an initial solution for optimizing the exact solution, so as to avoid an unexpected local optimization solution of the optimization. However, the initial solution has very low accuracy requirements, and the error is within 100 mm. Therefore, the difficulty of the measurement work is very small. The formula (6) of the application gives a calculation method of the initial pose.
[0136] Specifically, the step S4 in the embodiment of the application includes the following steps:
[0137] controlling the tool TCP to return to the initial pose, taking the origin of the tool TCP coordinate system in the initial pose as the rotation center, controlling the tool TCP to rotate along any coordinate axis in the tool TCP coordinate system, and controlling the origin of the tool TCP to vertically downwardly contact the operation platform to obtain the pose of the origin of the rotated flange coordinate system in the robot coordinate system;
[0138] controlling the tool TCP to return to the initial pose, and repeating the above rotation operation under different rotation angles to obtain the pose of the origin of the flange coordinate system in the robot coordinate system under different rotation angles.
[0139] It needs to be further explained that according to the formula (1), the position of the TCP coordinate system origin (center point) in the robot coordinate system is:
[0140] X0=B0T(7)
[0141] wherein, the parameter B0 is a measurement value read from the robot system, that is, the pose of the flange coordinate system in the robot coordinate system in the initial pose, which is an accurate value; T is a calibration pose; and X0 is the coordinate of the TCP coordinate system origin in the robot coordinate system in the initial pose.
[0142] If the parameter T value is accurate, the value of X0 determined according to the formula (6) will be consistent with the actual coordinate where the robot tool TCP is located, on the metal plane (point-plane contact with the metal plane). However, the accurate value of T is not known at this time, resulting in the point not coinciding with the metal plane.
[0143] The tool TCP of the industrial robot returns to the initial pose (i.e. the third pose B0), and the coordinate value of the pose is kept unchanged. The B 0y axis is rotated by an angle α to obtain the y axis B 0x of the pose B1 (corresponding to the calibrated pose T1). Figure 5 The z axis B 1y of the pose B1 is:
[0144] B 1y = B 0x cosα + (B 0x × B 0y ) sinα + B 0x (B 0x · B 0y )(1-cosα)(8)
[0145] B 1x = B 0x (9)
[0146] where B 1y is the direction of the y axis of the flange coordinate system at this time, B 1x is the direction of the x axis of the flange coordinate system at this time, and α is the rotation angle.
[0147] The z axis B 1z of the pose B1 is:
[0148]
[0149] where B 1z is the direction of the z axis of the flange coordinate system at this time.
[0150] The expression of the pose B1 at this time is:
[0151]
[0152] It can be seen that, relative to the pose B0, the pose B1 not only changes in direction, but also its coordinates are raised by 0.5h. It can be seen that in the subsequent sampling process, the rotation center of the robot movement is above the metal plane, with a distance of 0.5h, mainly to avoid collision in the subsequent sampling.
[0153] Similarly, the other two axes can be rotated to obtain new poses B iWhen the angle a changes, the flange rotates around the rotation center. If the error of the initial coordinate system is small, the tool held by the robot rotates around the TCP center no matter how the angle changes, and the projection of the actual TCP of the robot on the metal plane is a point. However, according to the i-th rough measurement, the error of the two may be about 50 mm. The actual TCP of the robot rotates around the rough TCP, and the rotation radius is the error of the two, as shown in the following formula: Figure 5 As shown in the above process, the expression of the pose B2 is determined at the calibration pose T2, and the expression of the pose B3 is determined at the calibration pose T3. It can be seen that if the initial coordinate system is not estimated, the rotation radius R is infinite. This will lead to the determined sampling points, and the robot cannot reach or collide with other objects.
[0154] In this way, the coordinates of the origin of the tool TCP in the robot coordinate system are calculated according to the tool TCP coordinate system under the initial pose when the origin of the tool TCP is in contact with the metal plane. i , the coordinates of the origin of the tool TCP in the robot coordinate system are calculated according to the tool TCP coordinate system under the initial pose when the origin of the tool TCP is in contact with the metal plane.
[0155] X i =B i T(12)
[0156] Wherein, X i is the coordinate of the i-th TCP origin in the robot coordinate system; B i is the pose of the i-th flange coordinate system in the robot coordinate system; T is the calibration pose.
[0157] Specifically, the calibration equation set in step S5 of the embodiment of the application is multiple; the calibration equation set is solved to obtain the accurate pose of the tool TCP coordinate system in the flange coordinate system, comprising:
[0158] Based on each of the calibration equation sets, the coordinates of the tool TCP coordinate system in the robot coordinate system are calculated according to the poses of the origins of the flange coordinate system in the robot coordinate system under multiple different rotation angles in the calibration equation set;
[0159] Based on the coordinates of the tool TCP coordinate system in the robot coordinate system, the distance values between the origins of the tool TCP coordinate system and the operation platform are calculated according to the plane equation of the operation platform;
[0160] The distance values are summed to obtain the distance sum of the calibration equation set;
[0161] Among the sums of distances in the multiple calibration equation sets, the smallest sum of distances is determined; the pose corresponding to the point-to-surface contact when constructing the calibration equation set corresponding to the smallest sum of distances is determined as the precise pose of the tool TCP coordinate system in the flange coordinate system.
[0162] It should be further explained that the equation of the metal plane on which the industrial robot is located in this embodiment of the invention is:
[0163] Ax + By + Cz + D = 0 (13)
[0164] Where A, B, C, and D are constants, and x, y, and z are the coordinate variables of a point in space.
[0165] Position B i Mid-position component b i Extract it to get X i The formula:
[0166]
[0167] In the formula, t ix t iy t iz These represent the directions of the X, Y, and Z axes of the flange coordinate system in the robot coordinate system at this time.
[0168] X is calculated using formula (13). i Distance from the metal plane:
[0169]
[0170] Following the above method, according to different poses B i Eight to ten points were continuously collected (i.e., point-to-surface contact was performed). The equation of the metal plane was obtained by fitting the data from the collected points. At the highest calibration accuracy, X... i The distance from the metal plane is theoretically 0.
[0171] According to formula (14), calculate the sum E of these points and the metal plane:
[0172]
[0173] Where E is the sum of the distances between the point and the operating plane; d i For the i-th X i The distance from the metal plane, where n is the number of coordinate systems.
[0174] Repeat the above process for multiple iterations, according to different poses B i, continuously collect points of point-face contact to construct multiple calibration equation groups. That is, continue to collect multiple points to construct calibration equation groups under the same calibration posture T. It should be noted that the posture matrix of the flange coordinate system corresponding to each calibration equation group in the multiple calibration equation groups is different, but the calibration matrix is the same.
[0175] According to the fitting of the metal plane equation of the points of point-face contact in each calibration equation group, the distance between the points and the metal plane is calculated, and the total sum E of the distances between multiple points and the operation plane is obtained.
[0176] The initial value of the TCP initial posture and D in the estimated plane equation is taken as the initial value, E in formula 15 is taken as the optimization target, and Newton's descent method and other optimization algorithms are used to optimize and solve formula (15). When E is the minimum value, it is proved that the calibration posture T at this time is the optimal solution, and the calibration posture corresponding to the construction of the calibration equation group at this time is the accurate posture of the tool TCP coordinate system in the flange coordinate system.
[0177] The initial value of the TCP initial posture is very important. If there is no initial value, the local optimization solution given by the optimization algorithm is probably not the desired value.
[0178] The parameters A, B, and C reflect the normal direction of the plane. D is related to the coordinates of the points passed by the plane. In this way, the measurement difficulty of parameters A, B, and C is relatively small, and a level ruler can be used for measurement, and the accuracy is very high. The values of A, B, and C should be accurately measured and taken as known quantities to improve the optimization efficiency. At the same time, in most cases, the metal plane is generally horizontal, and the levelness is checked by a level meter, and the accuracy is very high. At this time, A, B, and C are all 0. Before the TCP is calibrated, the base point of the flange coordinate system is needed to touch the metal plane, which requires the tool to be disassembled, and the operation difficulty is too large. Therefore, the measurement difficulty of D is relatively large, and it can be regarded as a position quantity, and a rough estimated range can be given. Specifically, in order to further prove the feasibility of the method of the present application, the influence of the tactile sensor and the flatness on the error is analyzed, which is as follows:
[0179] 1) h i The accuracy of the value. The value is the vertical distance between the TCP of the robot and the metal plane at T i . The value is measured by the tactile sensor, and the error is generally about 0.2mm, which can meet the needs.
[0180] 2) The flatness of the plane. If the parameters A, B, and C are taken as known quantities, the normal direction of the metal surface deviates from the formula, which will also cause the distance between the point and the surface to deviate, as shown inFigure 6 For example, when the planar direction deviation is a, the distance deviation H between the point and the plane (i.e. the distance between point A and point B in the figure) is,
[0181] H = tan(a) L (16)
[0182] Where a is the planar direction deviation, H is the distance deviation between the point and the plane, and L is the height.
[0183] According to formula 13 and the attached Figure 6 Commonly used levels have an error of 0.02 mm / m when measuring, and when L is 100 mm, the error caused by the unevenness of the metal plane and the inaccurate initial TCP posture is only 0.002 mm. For welding and other work, the error of the calibration is less than 0.1 mm. It can be seen that the unevenness of the plane has a very small effect on the calibration accuracy of the TCP posture.
[0184] It should be further explained that in the embodiment of the application, the initial posture of the TCP in the flange coordinate system is used to control the TCP origin to contact the metal plane in a plurality of different postures, and the posture of the flange coordinate system in the robot coordinate system at this time is recorded. With the coplanarity of each contact point as the optimization target, an optimization equation set is constructed to optimize and solve the accurate posture of the TCP in the flange coordinate system to complete the calibration of the work.
[0185] The application mainly provides a full-automatic TCP calibration method for an industrial robot of a tactile sensor. The worker only needs to manually guide the robot to above the metal plane, i.e. the workbench, measure the distance between the TCP and the metal plane by using a tape measure, and start the program to automatically complete the calibration of the TCP.
[0186] The 6-point calibration method in the prior art needs to use the TCP point (i.e. the origin of the work coordinate system) on the robot tool to accurately reach a certain fixed point in at least 6 different postures, i.e. to make point-to-point contact, and collect the position of the flange coordinate system in the robot coordinate system at this time to form a plurality of equation sets as shown in formula 1 and solve them, as shown in formula 2. The advantage of this method is that additional equipment does not need to be purchased, the cost is low, and the worker can directly operate the robot to complete the calibration of the tool coordinate system. However, this method needs the worker to manually operate the robot when making point-to-point contact, and cannot realize the automation of the calibration; at the same time, the calibration accuracy of this method will be sharply reduced with the increase of the distance between the actual position reached by the TCP point of the robot and the fixed point, which requires the worker to operate the TCP of the robot to accurately align a needle-like target in various different postures, and the labor cost is high. Figure 2
[0187] The prior art bovine eye calibration method uses point-to-line contact. The bovine eye is essentially a photoelectric switch. The tool blocks the light to be 1, and the light is not blocked to be 0. The device does not have a ranging function, etc. as shown in Figure 3 For a welding gun and the like, the tool coordinate system origin is located at the tip of the tool. The workpiece will coincide the TCP with the light in different postures. In this way, the workpiece coordinate system origin in different postures will form a straight line in the robot coordinate system, and then form an equation set, thereby realizing the calibration of the tool TCP. The advantage of this method is that the degree of automation is high, and the robot can automatically perform all the calibration actions. However, there are two disadvantages: 1) a device as shown in Figure 3 is needed to be specially made, because the device is basically not needed in other production work of the robot, which increases the additional cost. 2) the TCP tip of the robot needs to pass through the yellow line shown in Figure 1 at least 4 times. However, the diameter of the yellow line is very small, generally not more than 1 mm, and the diameter of the TCP tip is also less than 1 mm. Once the initial tool coordinate error is greater than 10 mm, it is very difficult to make the line and the point coincide. Therefore, the device is generally used in occasions that need to correct the TCP in a fine manner. For example, the TCP of the welding gun has been accurately calibrated by hand, but the welding wire is ablated by 2 mm during use, and the device can be used to automatically correct the error in a small range. If there is no initial accurate tool coordinate system, the worker needs to guide the robot to make the point and the line coincide, and the workload is similar to that of method 1. Therefore, in actual application, the use amount of the device is very small.
[0188] The hardware involved in the method of the present application is all necessary for the robot in the process of use to complete other applications, and no additional hardware needs to be purchased. First, the cost of the touch sensor of the robot is very low, generally a wire such as a welding wire. When the wire touches the grounded metal surface, the robot will sense the change of voltage, stop immediately, and record the TCP posture at the place. The touch sensor has a wide range of applications, and is used in handling and welding work. It is generally used to make up for the defects of the low precision of the laser sensor. At the same time, the grounded metal plane can be a work platform on which the workpiece is placed, and no additional purchase is needed.
[0189] The labor cost of the method of the present application is low. The present application realizes the calibration of the TCP by measuring the intersection point of the robot and the grounded metal plane. Essentially, the method forms an equation set by point-to-surface contact, and then realizes the calibration of the tool TCP. Obviously, the difficulty of point-to-surface contact is far less than that of point-to-point or point-to-line. At the same time, the present application also ingeniously uses the rough TCP to control the robot TCP, further reducing the operation difficulty and improving the automation level.
[0190] The present application can be used to quickly calibrate the pose of the TCP of a tool held by a robot in the flange coordinate system, under the premise that the robot has a tactile sensor. The most typical tool is a welding gun. The welding wire in the welding gun can be used as a tactile sensor. When the welding wire contacts a metal surface, the position of the point can be quickly measured according to the voltage change. When calibrating the TCP of the welding gun using the present application, the worker only needs to guide the welding gun to about 500 mm above the metal plane and roughly measure the distance from the center of the flange to the metal surface with a tape measure, and then the calibration of the TCP can be automatically completed according to the method of the present application. The present application has the advantages of low cost and high efficiency.
[0191] Embodiment 2
[0192] The present application based on the same inventive concept also provides an industrial robot TCP calibration system. The industrial robot is installed on an operation platform, and a tool TCP is detachably and fixedly connected to a flange of the industrial robot. As shown in the figure, the system comprises a projection position determination module, an initial pose determination module, a calibration equation set module and an accurate pose solving module. Figure 7
[0193] The projection position determination module is used to record the first attitude of the flange coordinate system in the robot coordinate system when the tool TCP is adjusted to above the operation platform, and determine the projection position of the center of the flange coordinate system on the operation platform.
[0194] The initial pose determination module is used to make the origin of the tool TCP in point-face contact with the projection position, determine the second attitude of the tool TCP coordinate system in the robot coordinate system according to the projection position and the first attitude, and record the third attitude of the flange coordinate system in the robot coordinate system at this time; and determine the initial pose of the tool TCP coordinate system in the flange coordinate system according to the second attitude and the third attitude.
[0195] The calibration equation set module is used to take the origin of the tool TCP coordinate system in the initial pose as the center of rotation, control the tool TCP to rotate around the coordinate axis of the tool TCP coordinate system multiple times, and make the origin of the tool TCP in point-face contact with the operation platform downward, to obtain the pose of the origin of the flange coordinate system in the robot coordinate system under multiple different rotation angles, and construct a calibration equation set for tool TCP calibration.
[0196] The accurate pose module is used to solve the calibration equation set according to the pose of the origin of the flange coordinate system in the robot coordinate system under multiple different rotation angles, to obtain the accurate pose of the tool TCP coordinate system in the flange coordinate system.
[0197] Specifically, the projection position determining module in the embodiment of the present application comprises a first attitude sub-module and a projection position sub-module; the first attitude sub-module is specifically configured to record a first attitude of the flange plate coordinate system in the robot coordinate system when the tool TCP is adjusted to above the operation platform; and the projection position sub-module is specifically configured to determine a projection position of the center of the flange plate coordinate system on the operation platform.
[0198] Further, the function expression of the projection position in the projection position sub-module in the embodiment of the present application is:
[0199]
[0200] wherein, P is the projection position; h is the distance between the center of the flange plate coordinate system and the operation platform; t 0x , t 0y , t 0z are the directions of the X-axis, Y-axis and Z-axis of the flange plate coordinate system in the robot coordinate system, respectively.
[0201] Further, the distance between the origin of the tool TCP coordinate system and the projection position on the operation platform before point-plane contact in the projection position sub-module in the embodiment of the present application is greater than 300 mm.
[0202] Further, the function expression of the first attitude in the first attitude sub-module in the embodiment of the present application is:
[0203]
[0204] wherein, T b is the first attitude of the flange plate coordinate system in the robot coordinate system; T 0x , T 0y and T 0z are the directions of the X-axis, Y-axis and Z-axis of the tool TCP coordinate system in the robot coordinate system, respectively; t x , t y , t z are the coordinates of the origin of the flange plate coordinate system in the robot coordinate system, respectively.
[0205] Specifically, the initial pose determining module in the embodiment of the present application comprises a point-plane contact sub-module, a second attitude sub-module, a third attitude sub-module and an initial pose sub-module;
[0206] The point-plane contact sub-module is specifically configured to rotate the tool TCP so that any two axes of the X-axis, Y-axis and Z-axis of the tool TCP coordinate system are directed to the directions of any two axes of the X-axis, Y-axis and Z-axis of the robot coordinate system; and the origin of the tool TCP and the projection position on the operation platform are in point-plane contact by using a tactile sensor.
[0207] The second attitude submodule is configured to determine a second attitude of the tool TCP coordinate system in the robot coordinate system according to the projection position and the first attitude.
[0208] The third attitude submodule is configured to determine a third attitude of the flange coordinate system in the robot coordinate system according to the projection position and the first attitude.
[0209] The initial pose submodule is configured to determine an initial pose of the tool TCP coordinate system in the flange coordinate system according to the second attitude and the third attitude.
[0210] Further, in the embodiment of the present application, the function expression of the second attitude in the second attitude submodule is:
[0211]
[0212] Wherein, T0 is the second attitude of the tool TCP coordinate system in the robot coordinate system; T 0x , T 0y and T 0z are the directions of the X axis, the Y axis and the Z axis of the tool TCP coordinate system in the robot coordinate system respectively; and P is the projection position.
[0213] Further, in the embodiment of the present application, the function expression of the third attitude in the third attitude submodule is:
[0214]
[0215] Wherein, B0 is the third attitude of the flange coordinate system in the robot coordinate system; B 0x , B 0y and B 0z are the directions of the X axis, the Y axis and the Z axis of the flange coordinate system in the robot coordinate system respectively; b x , b y and b z are the coordinates of the origin of the flange coordinate system in the robot coordinate system.
[0216] Further, in the embodiment of the present application, the function expression of the initial pose in the initial pose submodule is:
[0217]
[0218] Wherein, T CP0 is the initial pose, B0 is the third attitude of the flange coordinate system in the robot coordinate system, and T0 is the second attitude of the tool TCP in the robot coordinate system.
[0219] Specifically, the calibration equation set module is specifically configured to control the tool TCP to return to the initial pose, control the tool TCP to rotate along any coordinate axis in the tool TCP coordinate system with the origin of the tool TCP coordinate system as the rotation center, control the origin of the tool TCP to make point-face contact with the operation platform vertically downward, and obtain the pose of the origin of the rotated flange plate coordinate system in the robot coordinate system; control the tool TCP to return to the initial pose, and repeat the above rotation operation at different rotation angles to obtain the pose of the origin of the flange plate coordinate system in the robot coordinate system at multiple different rotation angles.
[0220] Further, the function expression of the calibration equation set in the calibration equation set module is:
[0221] X i =B i T
[0222] wherein, X i is the coordinate of the i-th tool TCP coordinate system in the robot coordinate system; B i is the pose of the i-th flange plate coordinate system in the robot coordinate system; and T is the calibration attitude.
[0223] Specifically, the precise pose module is specifically configured to calculate, based on each calibration equation set, the coordinates of multiple tool TCP coordinate systems in the robot coordinate system according to the poses of the origins of the flange plate coordinate systems in the robot coordinate system at multiple different rotation angles in the calibration equation set; calculate, based on the coordinates of the multiple tool TCP coordinate systems in the robot coordinate system, the distance values between the origins of the multiple tool TCP coordinate systems and the operation platform according to the plane equation of the operation platform;
[0224] Sum the multiple distance values to obtain the distance sum of the calibration equation set; determine the smallest distance sum from the distance sums of the multiple calibration equation sets; and determine the pose at which point-face contact is made when the calibration equation set is constructed corresponding to the smallest distance sum as the precise pose of the tool TCP coordinate system in the flange plate coordinate system.
[0225] Embodiment 3:
[0226] Based on the same inventive concept, like Figure 8As shown, the present application also provides an electronic device, which can be a computer device, a single-chip microcomputer device, a smart mobile device, etc. The electronic device in the embodiment can include a processor, a memory, a transceiver component, etc. The memory, the processor and the transceiver component are connected through a bus; the memory can be used to store an execution program, and the exemplary execution program can include instructions; the processor is used to execute the instructions stored in the memory. The memory can also be used to store data, which can be called and / or modified when the instructions are executed.
[0227] The processor can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field-programmable gate arrays (FPGA) or other programmable logic devices, discrete gates or transistor logic devices, discrete hardware components, etc., which are the computing core and control core of the terminal, and are suitable for implementing one or more instructions, and are specifically suitable for loading and executing one or more instructions in the storage medium to implement a corresponding method flow or a corresponding function, so as to implement the steps of the industrial robot TCP calibration method in the above embodiment.
[0228] Embodiment 4:
[0229] Based on the same inventive concept, the present application also provides a storage medium, specifically a computer readable storage medium (Memory), which is a memory device in a computer device, and is used to store programs and data. It can be understood that the computer readable storage medium here can include the built-in storage medium in the computer device, and of course can also include the expansion storage medium supported by the computer device. The computer readable storage medium provides a storage space, which stores the operating system of the terminal. Moreover, one or more instructions suitable for being loaded and executed by the processor are also stored in the storage space, and these instructions can be one or more computer programs (including program codes). It should be noted that the computer readable storage medium here can be a high-speed RAM memory, or a non-volatile memory such as at least one disk memory. One or more instructions stored in the computer readable storage medium can be loaded and executed by the processor to implement the steps of the industrial robot TCP calibration method in the above embodiment.
[0230] Those skilled in the art will appreciate that embodiments of the present application can be readily used as a method, a system, or a computer program product. Accordingly, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application can take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage devices, and the like) embodying computer readable program code.
[0231] The present application is described in reference to the flowchart illustrations and / or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the 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 processing system 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, create means for implementing the functions specified in the flowchart illustrations and / or block diagrams block or blocks. Figure 1 one or more functions specified in the flowchart illustrations and / or block diagrams block or blocks. Figure 1 one or more functions specified in the flowchart illustrations and / or block diagrams block or blocks.
[0232] These computer program instructions can also be stored in a computer- readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instructions which implement the flowchart illustrations and / or block diagrams block or blocks. Figure 1 one or more functions specified in the flowchart illustrations and / or block diagrams block or blocks. Figure 1 one or more functions specified in the flowchart illustrations and / or block diagrams block or blocks.
[0233] These computer program instructions can also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the flowchart illustrations and / or block diagrams block or blocks. Figure 1 one or more functions specified in the flowchart illustrations and / or block diagrams block or blocks. Figure 1 one or more functions specified in the flowchart illustrations and / or block diagrams block or blocks.
[0234] The foregoing is merely illustrative of the principles of this application and various modifications can be made by those skilled in the art without departing from the scope and spirit of the application. The above specification, examples and data provide a complete description of the manufacture and use of the composition of the application. The compositions herein have structural requirements as set forth in the description, figures, and claims. Since many modifications, variations, and changes in detail can be made to the described embodiments, it is intended that only such modifications and variations are within the scope of the application as further described in the appended claims, and their equivalents.
Claims
1. A method for TCP calibration of an industrial robot, characterized in that, The industrial robot is installed on an operation platform, and a tool TCP is detachably fixedly connected to a flange plate of the industrial robot; The method comprises: When the tool TCP is adjusted to above the operation platform, a first pose of the flange plate coordinate system in the robot coordinate system at this time is recorded, and a projection position of the center of the flange plate coordinate system on the operation platform is determined; The origin of the tool TCP is in point-face contact with the projection position, a second pose of the tool TCP coordinate system in the robot coordinate system at this time is determined according to the projection position and the first pose, a third pose of the flange plate coordinate system in the robot coordinate system at this time is recorded, and an initial pose of the tool TCP coordinate system in the flange plate coordinate system is determined according to the second pose and the third pose; The origin of the tool TCP coordinate system in the initial pose is taken as a rotation center, the tool TCP is controlled to rotate around the coordinate axes of the tool TCP coordinate system for multiple times, and the origin of the tool TCP is in point-face contact with the operation platform vertically downward, so that the poses of the origin of the flange plate coordinate system in the robot coordinate system at multiple different rotation angles are obtained, and a calibration equation group of tool TCP calibration is constructed; The calibration equation group is solved according to the poses of the origin of the flange plate coordinate system in the robot coordinate system at multiple different rotation angles, so that an accurate pose of the tool TCP coordinate system in the flange plate coordinate system is obtained. The point-face contact between the origin of the tool TCP and the projection position comprises:
2. The method of claim 1, wherein, The tool TCP is rotated so that any two axes of the X axis, the Y axis and the Z axis of the tool TCP coordinate system are directed to the directions of any two axes of the X axis, the Y axis and the Z axis of the robot coordinate system; The origin of the tool TCP and the projection position on the operation platform are in point-face contact through a tactile sensor. The function expression of the projection position is:
3. The method of claim 2, wherein, The distance between the origin of the tool TCP coordinate system and the projection position on the operation platform before the point-face contact is greater than 300 mm. Wherein, P is the projection position; h is the distance between the center of the flange plate coordinate system and the operation platform; t 0x , t 0y , t 0z are the directions of the X-axis, Y-axis and Z-axis of the flange plate coordinate system in the robot coordinate system, respectively.
4. The method of claim 2, wherein, The function expression of the first pose is:
5. The method of claim 1, wherein, The function expression of the second pose is: Wherein, T b is the first pose of the flange coordinate system in the robot coordinate system; T 0x , T 0y and T 0z are the directions of the X-axis, Y-axis and Z-axis of the tool TCP coordinate system in the robot coordinate system respectively; t x , t y and t z are the coordinates of the origin of the flange coordinate system in the robot coordinate system.
6. The method of claim 5, wherein, The function expression of the third pose is: Wherein, T0 is the second pose of the tool TCP coordinate system in the robot coordinate system; T 0x , T 0y , and T 0z are the directions of the X-axis, Y-axis, and Z-axis of the tool TCP coordinate system in the robot coordinate system at this time, respectively; and P is the projection position.
7. The method of claim 6, wherein, The function expression of the initial pose is: Wherein, B0 is the third attitude of the flange plate coordinate system in the robot coordinate system; B 0x , B 0y , and B 0z are the directions of the X-axis, Y-axis, and Z-axis of the flange plate coordinate system in the robot coordinate system, respectively; b x , b y , and b z are the coordinates of the origin of the flange plate coordinate system in the robot coordinate system, respectively.
8. The method of claim 7, wherein, The point-face contact between the origin of the tool TCP and the projection position comprises: wherein T CP0 is the initial pose, is the third pose of the flange coordinate system in the robot coordinate system, and T0is the second pose of the tool TCP in the robot coordinate system.
9. The method of claim 1, wherein, The tool TCP is controlled to return to the initial pose, the origin of the tool TCP coordinate system in the initial pose is taken as a rotation center, the tool TCP is controlled to rotate along any coordinate axis in the tool TCP coordinate system, the origin of the tool TCP is in point-face contact with the operation platform vertically downward, and the pose of the origin of the flange plate coordinate system in the robot coordinate system after rotation is obtained. Controlling the tool TCP to return to the initial pose, repeating the above rotating operation at different rotating angles to obtain the poses of the origin of the flange coordinate system in the robot coordinate system at different rotating angles.
10. The method of claim 9, wherein, The function expression of the calibration equation set is: X i = B i T wherein X i is the coordinate of the i-th tool TCP coordinate frame in the robot coordinate frame; B i is the pose of the i-th flange coordinate frame in the robot coordinate frame; T is the calibrated pose.
11. The method of claim 10, wherein, The calibration equation set is multiple; the solving of the calibration equation set to obtain the accurate pose of the tool TCP coordinate system in the flange coordinate system comprises: Based on each calibration equation set, the coordinates of the tool TCP coordinate system in the robot coordinate system are calculated according to the poses of the origin of the flange coordinate system in the robot coordinate system at different rotating angles in the calibration equation set; based on the coordinates of the tool TCP coordinate system in the robot coordinate system, the distance values between the origins of the tool TCP coordinate system and the operation platform are calculated according to the plane equation of the operation platform; the distance values are summed to obtain the distance sum of the calibration equation set; In the distance sums of the calibration equation sets, the minimum distance sum is determined; the pose at which the point and the plane are in contact when the calibration equation set is constructed is determined as the accurate pose of the tool TCP coordinate system in the flange coordinate system.
12. An industrial robot TCP calibration system, characterized by The industrial robot is installed on an operation platform, and a tool TCP is detachably and fixedly connected to a flange of the industrial robot; The system comprises a projection position determination module, an initial pose determination module, a calibration equation set module and an accurate pose solving module; The projection position determination module is used to record the first attitude of the flange coordinate system in the robot coordinate system when the tool TCP is adjusted above the operation platform, and determine the projection position of the center of the flange coordinate system on the operation platform; The initial pose determination module is used to make the origin of the tool TCP in point and plane contact with the projection position, determine the second attitude of the tool TCP coordinate system in the robot coordinate system according to the projection position and the first attitude, and record the third attitude of the flange coordinate system in the robot coordinate system; The initial pose of the tool TCP coordinate system in the flange coordinate system is determined according to the second attitude and the third attitude; The calibration equation set module is used to control the tool TCP to rotate around the coordinate axis of the tool TCP coordinate system multiple times with the origin of the tool TCP coordinate system at the initial pose as the rotating center, and make the origin of the tool TCP in point and plane contact with the operation platform downward to obtain the poses of the origin of the flange coordinate system in the robot coordinate system at different rotating angles, and construct the calibration equation set of the tool TCP calibration; The accurate pose module is used to solve the calibration equation set according to the poses of the origin of the flange coordinate system in the robot coordinate system at different rotating angles to obtain the accurate pose of the tool TCP coordinate system in the flange coordinate system.
13. The system of claim 12, wherein, The function expression of the projection position is: Wherein, P is the projection position; h is the distance between the center of the flange plate coordinate system and the operation platform; t 0x , t 0y , t 0z are the directions of the X-axis, Y-axis and Z-axis of the flange plate coordinate system in the robot coordinate system, respectively.
14. The system of claim 12, wherein, The distance between the tool TCP coordinate system and the projection position on the operation platform before point-plane contact is greater than 300 mm.
15. The system of claim 12, wherein, The function expression of the first attitude is: Wherein, T b is the first pose of the flange coordinate system in the robot coordinate system; T 0x , T 0y and T 0z are the directions of the X axis, Y axis and Z axis of the tool TCP coordinate system in the robot coordinate system respectively; t x , t y and t z are the coordinates of the origin of the flange coordinate system in the robot coordinate system.
16. The system of claim 12, wherein, The initial attitude determination module comprises a point-plane contact submodule, a second attitude submodule, a third attitude submodule, and an initial attitude submodule; The point-plane contact submodule is configured to rotate the tool TCP so that any two axes of the X axis, the Y axis, and the Z axis of the tool TCP coordinate system point to any two axes of the X axis, the Y axis, and the Z axis of the robot coordinate system; and the origin of the tool TCP and the projection position on the operation platform perform point-plane contact through a tactile sensor. The second attitude submodule is configured to determine the second attitude of the tool TCP coordinate system in the robot coordinate system according to the projection position and the first attitude. The third attitude submodule is configured to determine the third attitude of the flange plate coordinate system in the robot coordinate system according to the projection position and the first attitude. The initial attitude submodule is configured to determine the initial attitude of the tool TCP coordinate system in the flange plate coordinate system according to the second attitude and the third attitude.
17. The system of claim 16, wherein, The function expression of the second attitude is: Wherein, T0 is the second pose of the tool TCP coordinate system in the robot coordinate system; T 0x , T 0y , and T 0z are the directions of the X axis, Y axis, and Z axis of the tool TCP coordinate system in the robot coordinate system at this time, respectively; and P is the projection position.
18. The system of claim 16, wherein, The function expression of the third attitude is: Wherein, B0 is the third attitude of the flange plate coordinate system in the robot coordinate system; B 0x , B 0y and B 0z are the directions of the X axis, the Y axis and the Z axis of the flange plate coordinate system in the robot coordinate system respectively; b x , b y and b z are the coordinates of the origin of the flange plate coordinate system in the robot coordinate system respectively.
19. The system of claim 18, wherein, The function expression of the initial attitude is: wherein T CP0 is the initial pose, is the third pose of the flange coordinate system in the robot coordinate system, and T0is the second pose of the tool TCP in the robot coordinate system.
20. The system of claim 12, wherein, The calibration equation set module is specifically configured to control the tool TCP to return to the initial attitude, control the tool TCP to rotate around the origin of the tool TCP coordinate system at the initial attitude, control the origin of the tool TCP to perform point-plane contact with the operation platform vertically downward, and obtain the attitude of the origin of the rotated flange plate coordinate system in the robot coordinate system; control the tool TCP to return to the initial attitude, and repeatedly perform the above rotation operation at different rotation angles to obtain the attitude of the origin of the flange plate coordinate system in the robot coordinate system at multiple different rotation angles.
21. The system of claim 20, wherein, The function expression of the calibration equation set is: X i = B i T wherein X i is the coordinate of the i-th tool TCP coordinate frame in the robot coordinate frame; B i is the pose of the i-th flange coordinate frame in the robot coordinate frame; T is the calibrated pose.
22. The system of claim 21, wherein, The precise attitude module is specifically configured to, based on each calibration equation set, calculate the coordinates of multiple tool TCP coordinate systems in the robot coordinate system according to the attitude of the origin of the flange plate coordinate system in the robot coordinate system at multiple different rotation angles in the calibration equation set; and based on the coordinates of the multiple tool TCP coordinate systems in the robot coordinate system, calculate the distance values between the origins of the multiple tool TCP coordinate systems and the operation platform according to the plane equation of the operation platform. The distance values are summed to obtain the distance sum of the calibration equation set; the smallest distance sum is determined from the distance sums of the multiple calibration equation sets; and the attitude at which point-plane contact is performed when the calibration equation set is constructed is determined as the precise attitude of the tool TCP coordinate system in the flange plate coordinate system.
23. An electronic device, comprising: comprises: at least one processor and a memory; the memory and the processor are connected through a bus; the memory is configured to store one or more programs; When the one or more programs are executed by the at least one processor, a method for TCP calibration of an industrial robot as claimed in any one of claims 1 to 11 is implemented.
24. A computer readable storage medium having stored thereon a computer program which, when executed by a computer, implements a method for TCP calibration of an industrial robot as claimed in any one of claims 1 to 11.