A robot kinematics self-calibration device, method, system and electronic equipment
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-17
- Publication Date
- 2026-08-11
Smart Images

Figure CN117301073B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robot calibration, and in particular to a robot kinematics self-calibration device, method, system, and electronic device. Background Technology
[0002] With the development of intelligent manufacturing technology, the application scenarios of robots are constantly expanding to fields with high requirements for positioning accuracy, such as automobile assembly, electronic product assembly, and medical auxiliary equipment, which also puts forward higher requirements for the absolute positioning accuracy of robots.
[0003] Extensive research has been conducted on robot motion calibration, but most work still relies on external precision instruments such as laser trackers and coordinate measuring machines. This method is not only costly but also difficult to meet the efficiency requirements of mass production where multiple robots need to be calibrated simultaneously. Another widely used method is robot self-calibration based on point and plane constraints, which reduces the cost of robot motion calibration to some extent and improves calibration flexibility. However, this method requires fixed points or known planes for attachment in the operating environment, which undoubtedly adds extra workload to robot calibration and does not solve the problem of simultaneous calibration of multiple robots. In addition, most studies only consider position calibration and do not consider posture. Summary of the Invention
[0004] The purpose of this invention is to provide a robot kinematic self-calibration device, method, system, and electronic device that can simultaneously calibrate the robot's position and attitude, improving calibration efficiency. It can be performed at any time and place, is simple to operate, and is inexpensive.
[0005] To achieve the above objectives, the present invention provides the following solution:
[0006] A robot kinematics self-calibration device, the calibration device comprising a tactile array sensor, a contact probe, and a host computer;
[0007] The contact probe includes a base and multiple probes; the mounting surface of the base is fixedly connected to the mounting end face of the first robotic arm under test; one end of each probe is fixedly connected to the detection surface of the base; the other end of each probe is used to contact the detection surface of the tactile array sensor.
[0008] The tactile array sensor includes multiple periodically arranged tactile sensing units; the shape of the tactile sensing unit in vertical projection is square; the mounting surface of the tactile array sensor is fixedly connected to the mounting end face of the second robotic arm under test; the detection surface of the tactile array sensor is parallel to the mounting end face of the second robotic arm under test.
[0009] The first robotic arm under test drives the contact probe so that the other end of the probe comes into contact with the detection surface of the tactile array sensor driven by the second robotic arm under test.
[0010] The tactile array sensor is connected to the host computer; when the other end of each probe contacts the detection surface of the tactile array sensor, the tactile array sensor collects the pressure applied by the probe and sends the pressure to the host computer;
[0011] The host computer is used to determine the contact position between each probe and the detection surface of the tactile array sensor based on the pressure. By having multiple probes of the first robotic arm under test and the tactile array sensor of the second robotic arm under test make multiple contacts, multiple sets of joint angle data and corresponding multiple sets of contact positions are obtained. Based on each set of joint angle data and the corresponding sets of contact positions, the first kinematic parameter error of the first robotic arm under test and the second kinematic parameter error of the second robotic arm under test are calculated. The joint angle data includes the first joint angle of each axis of the first robotic arm under test and the corresponding second joint angle of each axis of the second robotic arm under test. The contact position is the tactile sensing unit that contacts the multiple probes.
[0012] Optionally, the plurality of probes includes a first probe, a second probe, and a third probe; the connecting line of the vertical projections of the first probe, the second probe, and the third probe is an isosceles right triangle.
[0013] Optionally, the vertical projection of the tactile array sensor is square.
[0014] Optionally, the side length of the vertical projection of the tactile array sensor is greater than the side length of the vertical side of the isosceles right triangle.
[0015] Optionally, the other end of the probe is spherical.
[0016] Optionally, the side length of the vertical projection of the tactile sensing unit is greater than the diameter of the cross-section at the other end of the probe.
[0017] A robot kinematics self-calibration method, applied to the aforementioned robot kinematics self-calibration device, wherein the calibration method includes:
[0018] The pressure collected by the tactile array sensor is acquired and the contact position of the probe is determined based on the pressure, as well as the joint angle data of the first and second robotic arms under test;
[0019] Multiple probes of the first robotic arm under test and the tactile array sensor of the second robotic arm under test are contacted multiple times to obtain multiple sets of joint angle data and corresponding multiple sets of contact positions;
[0020] Based on the joint angle data of each group and the corresponding contact positions of each group, the first kinematic error model of the first manipulator under test and the second kinematic error model of the second manipulator under test are constructed according to the MDH method. The first coordinate of the center of the circle where the contact position is located in the base coordinate system of the second manipulator under test and the second coordinate of the center of the circle where the ends of the multiple probes are located in the base coordinate system of the second manipulator under test are obtained.
[0021] A first equation is constructed based on the first plane containing the circle where the contact position is located and the second plane containing the circles where the ends of the plurality of probes are located.
[0022] A second equation is constructed based on the distance between the first coordinate and the second coordinate as a preset value;
[0023] Solving the first equation and the second equation yields the kinematic parameter errors of the first and second robotic arms under test.
[0024] A robot kinematics self-calibration system, applying the above-mentioned robot kinematics self-calibration method, wherein the calibration system includes:
[0025] The first acquisition module is used to acquire the pressure collected by the tactile array sensor and determine the contact position of the probe based on the pressure, as well as the joint angle data of the first and second robotic arms under test.
[0026] The second acquisition module acquires multiple sets of joint angle data and corresponding multiple sets of contact positions by having multiple probes of the first robotic arm under test and the tactile array sensor of the second robotic arm under test make multiple contacts.
[0027] The coordinate determination module is used to construct a first kinematic error model of the first manipulator under test and a second kinematic error model of the second manipulator under test based on the joint angle data of each group and the corresponding contact positions of each group, and the MDH method, respectively, to obtain the first coordinate of the center of the circle where the contact position is located in the base coordinate system of the second manipulator under test and the second coordinate of the center of the circle where the ends of the multiple probes are located in the base coordinate system of the second manipulator under test.
[0028] The first construction module is used to construct a first equation based on the first plane where the circle where the contact position is located is parallel to the second plane where the circles where the ends of the plurality of probes are located;
[0029] The second construction module is used to construct a second equation based on a preset value of the distance between the first coordinate and the second coordinate;
[0030] The solution module is used to solve the first equation and the second equation to obtain the kinematic parameter errors of the first manipulator under test and the kinematic parameter errors of the second manipulator under test.
[0031] An electronic device includes a memory and a processor, the memory storing a computer program, and the processor running the computer program to cause the electronic device to perform the above-described robot kinematics self-calibration method.
[0032] Optionally, the memory is a readable storage medium.
[0033] According to specific embodiments provided by the present invention, the present invention discloses the following technical effects:
[0034] 1. By controlling the movement of the first and second robotic arms under test, the angles of each joint of the two robots can be collected through contact, thus avoiding the calculation of a large number of inverse Jacobian matrices in robot kinematics in traditional methods.
[0035] 2. A closed loop is formed by the contact probes at the ends of two robots and the tactile array sensor. This eliminates the need for high-cost equipment such as laser trackers and avoids the requirement for fixed points or known planes in the environment. The calibration tools are simple and can be performed at any time and place.
[0036] 3. Equation 1 is established by utilizing the parallel relationship between the plane where the center of the probe tip contact ball is located and the plane where the tactile array sensor is located. Equation 2 is established by utilizing the distance d / 2 between the center of the circle where the center of the three probe tip contact ball is located and the center of the circle where the three contacted tactile sensing array units are located. This utilizes both position information and attitude information for calibration.
[0037] 4. It can simultaneously calibrate the kinematic parameters of two robots, improving calibration efficiency and making it suitable for applications requiring the calibration of a large number of robots. Attached Figure Description
[0038] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0039] Figure 1 It is a simplified diagram of the calibration site;
[0040] Figure 2 This is a simplified diagram of a tactile array sensor;
[0041] Figure 3 This is a simplified diagram of a three-point contact probe;
[0042] Figure 4 This is a simplified diagram of the actual contact between a three-point contact probe and a tactile array sensor;
[0043] Figure 5 This is a block diagram of the method of the present invention in practical application;
[0044] Figure 6 This is a flowchart of the robot kinematics self-calibration method of the present invention.
[0045] Explanation of reference numerals in the attached figures:
[0046] 1. Tactile array sensor, 2. Contact probe, 3. First robotic arm under test, 4. Second robotic arm under test, 2-1. First probe, 2-2. Second probe, 2-3. Third probe, 1-1. First tactile sensing unit, 1-2. Second tactile sensing unit, 1-3. Third tactile sensing unit. Detailed Implementation
[0047] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0048] The purpose of this invention is to provide a robot kinematics self-calibration device, method, system, and electronic device that can simultaneously calibrate the robot's position and attitude, improving calibration efficiency. It can be performed at any time and place, is simple to operate, and has low cost. Furthermore, this invention does not rely on external measuring instruments and belongs to the category of self-calibration methods.
[0049] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.
[0050] Example 1
[0051] like Figures 1-4 As shown, the present invention provides a robot kinematics self-calibration device, which includes a tactile array sensor, a contact probe, and a host computer.
[0052] The contact probe includes a base and multiple probes; the mounting surface of the base is fixedly connected to the mounting end face of the first robotic arm under test; one end of each probe is fixedly connected to the detection surface of the base; and the other end of each probe is used to contact the detection surface of the tactile array sensor.
[0053] The tactile array sensor includes multiple periodically arranged tactile sensing units; the vertical projection shape of each tactile sensing unit is square; the mounting surface of the tactile array sensor is fixedly connected to the mounting end face of the second robotic arm under test; the detection surface of the tactile array sensor is parallel to the mounting end face of the second robotic arm under test. Specifically, the tactile sensing unit is a pressure sensor.
[0054] The first robotic arm under test drives the contact probe so that the other end of the probe comes into contact with the detection surface of the tactile array sensor driven by the second robotic arm under test.
[0055] The tactile array sensor is connected to the host computer; when the other end of each probe contacts the detection surface of the tactile array sensor, the tactile array sensor collects the pressure applied by the probe and sends the pressure to the host computer.
[0056] The host computer is used to determine the contact position between each probe and the detection surface of the tactile array sensor based on the pressure. By having multiple probes of the first robotic arm under test and the tactile array sensor of the second robotic arm under test make multiple contacts, multiple sets of joint angle data and corresponding multiple sets of contact positions are obtained. Based on each set of joint angle data and the corresponding sets of contact positions, the first kinematic parameter error of the first robotic arm under test and the second kinematic parameter error of the second robotic arm under test are calculated. The joint angle data includes the first joint angle of each axis of the first robotic arm under test and the corresponding second joint angle of each axis of the second robotic arm under test. The contact position is the tactile sensing unit that contacts the multiple probes.
[0057] In one specific implementation, the plurality of probes includes a first probe, a second probe, and a third probe; the connecting line of the vertical projections of the first probe, the second probe, and the third probe is an isosceles right triangle.
[0058] Specifically, the vertical projection of the tactile array sensor is square in shape.
[0059] Furthermore, the side length of the vertical projection of the tactile array sensor is greater than the side length of the vertical side of the isosceles right triangle.
[0060] In one specific implementation, the other end of the probe is spherical. The other end of the probe is the tip contact point; the tip contact point is a small ball with a diameter of d, which is circular in its vertical projection.
[0061] Specifically, the side length of the vertical projection of the tactile sensing unit is greater than the diameter of the cross-section at the other end of the probe.
[0062] In practical applications, the tactile array sensor is a square with a side length of L, containing an N×N uniformly distributed tactile sensing array, where each unit is a square with a side length of m. The tactile array sensor is mounted on the end of robot A, parallel to the mounting surface.
[0063] The three-point contact probe, also known as the contact probe in this invention, consists of three probes of length K, evenly distributed in an isosceles right triangle. The length of the right-angled side of the triangle is H. The diameter d of the contact point at the probe tip is smaller than the side length m of the array unit, and H is smaller than L, meaning the three-point contact probe is within the envelope of the array sensor. The three-point contact probe is vertically mounted on the end effector of robot B.
[0064] The tactile array sensor is used to detect the contact of the three-point contact probe and display the position of the contacted tactile sensing array unit; the three-point contact probe is used to contact the tactile array sensor.
[0065] When the three-point contact probe and the tactile array sensor come into contact, the data transmitted by the tactile array sensor changes under pressure (if the tactile array sensor used in this invention is an 8×8 array, it will transmit 64 data points at a certain frequency; the data will increase when the array unit is subjected to pressure). The change in the transmitted data indicates that the three-point contact probe and the tactile array sensor have made contact. The three largest of the 64 transmitted data points indicate the specific location of the three array units that have been contacted. The tactile array sensor is used to sense both contact and non-contact states. During each contact, it is essential to ensure that the three probe tips are in contact with all three array units on the tactile array sensor.
[0066] Example 2
[0067] To implement the device corresponding to Embodiment 1 above and achieve the corresponding functions and technical effects, a robot kinematics self-calibration method is provided below, such as... Figure 5 and Figure 6 As shown, the calibration method includes:
[0068] Step S1: Obtain the pressure collected by the tactile array sensor and determine the contact position of the probe based on the pressure, as well as the joint angle data of the first and second robotic arms under test.
[0069] Step S2: Multiple probes of the first robotic arm under test and the tactile array sensor of the second robotic arm under test are contacted multiple times to obtain multiple sets of joint angle data and corresponding multiple sets of contact positions.
[0070] In practical applications, the joint angles of each axis of the two robots and the positions of the three tactile sensing array units contacted by the three-point contact probe are collected each time the two robots make contact. The movement of robot A (the second robot arm under test) and robot B (the first robot arm under test) is controlled so that the tactile array sensor and the three-point contact probe (contact probe) make contact multiple times. The joint angles of each axis of robot A and robot B at each contact are recorded. The corresponding positions of the three probes and the three tactile sensing array units they contact are recorded as follows: the first probe contacts the first tactile sensing unit, the second probe contacts the second tactile sensing unit, and the third probe contacts the third tactile sensing unit.
[0071] Furthermore, for any N-axis robot, control robot A and robot B to make contact in a shared operating space, where the contact force is controlled within 0 to 1 N, sensor deformation is negligible, and they are treated as rigid bodies; record the angle values of each joint of robot A and robot B at the time of contact and the positions of the tactile sensor array units (1-1, 1-2, 1-3) that the three probes (2-1, 2-2, 2-3) respectively contact; change the robot configuration, repeat the above steps to make contact multiple times and collect multiple sets of joint axis angle data.
[0072] Step S3: Based on the joint angle data of each group and the corresponding contact positions of each group, construct the first kinematic error model of the first manipulator under test and the second kinematic error model of the second manipulator under test respectively based on the MDH method, and obtain the first coordinate of the center of the circle where the contact position is located in the base coordinate system of the second manipulator under test and the second coordinate of the center of the circle where the ends of the multiple probes are located in the base coordinate system of the second manipulator under test.
[0073] In practical applications, kinematic error models of robot A and robot B are established based on the MDH method to obtain the transformation matrix of the center of the contact point of the three-point contact probe relative to the base coordinate system of robot B and the transformation matrix of the three contacted array units relative to the base coordinate system of robot A, and the base coordinate system of robot B is transformed to the base coordinate system of robot A.
[0074] Furthermore, Cartesian coordinate systems are constructed at each joint of robot A and robot B, and the actual transformation matrices from the base coordinate systems of robot A and robot B to the flange coordinate system are derived using the forward kinematics of the MDH model. The nominal transformation matrix from adjacent coordinate system i to i-1 is shown in formula (1):
[0075]
[0076] This can be deduced as:
[0077]
[0078] In formula (2), c represents cosine and s represents sinine. Represents the rotation of the coordinate systems of adjacent links. Represents the translation of the coordinate systems of adjacent links, where 0 <i<N+1。
[0079] Due to the existence of link geometric parameter errors, the actual transformation relationship from adjacent coordinate system i to i-1 is shown in formula (3):
[0080]
[0081] In formula (3), Δα i-1 , Δa i-1 , Δθ i , Δd i This indicates the error in kinematic parameters.
[0082] The actual transformation matrix from the base coordinate system of robot A and robot B to the flange coordinate system is shown in formula (4):
[0083]
[0084] In formula (4) This represents the actual transformation matrix from the robot A base coordinate system to the flange coordinate system. This represents the actual transformation matrix from the robot B base coordinate system to the flange coordinate system.
[0085] The actual transformation matrix from the robot A flange coordinate system to the coordinate systems of the three contacted tactile sensing array units is established. The transformation matrix between the coordinate systems of the three contacted array units and the robot A flange coordinate system is obtained by translation along the X, Y, and Z directions, as shown in formula (5):
[0086]
[0087]
[0088]
[0089] In equation (5) (x) 1-1 y 1-1 z 1-1 ), (x 1-2 y 1-2 z 1-2 ), (x 1-3 y 1-3 z1-3 The numbers 1, 2, and 3 represent the distances the origins of coordinate systems 1-1, 1-2, and 1-3 are translated along the X, Y, and Z axes, respectively.
[0090] Since the translation distances in equation (5) are all measured, there is a certain measurement error. Furthermore, the tactile array sensors are installed as a whole at the end. Therefore, the translation error of the origin of each array unit coordinate system relative to the robot A flange coordinate system is the same. That is, the actual transformation matrix from the robot A flange coordinate system to the coordinate systems of the three contacted tactile sensing array units is shown in equation (6):
[0091]
[0092]
[0093]
[0094] In formula (6) (Δx 1-1 Δy 1-1 Δz 1-1 The distance error represents the translation of the origin of coordinate systems 1-1, 1-2, and 1-3 along the X, Y, and Z axes.
[0095] Establish the actual transformation matrix from the robot B flange coordinate system to the center of the three probe tip contact points. The transformation matrix between the coordinate systems of the three probe tip contact point centers and the robot B flange coordinate system is obtained by translation along the X, Y, and Z directions, as shown in formula (7):
[0096]
[0097]
[0098]
[0099] In equation (7) (x) 2-1 y 2-1 z 2-1 ), (x 2-2 y 2-2 z 2-2 ), (x 2-3 y 2-3 z 2-3 The numbers ) represent the distances the origins of coordinate systems 2-1, 2-2, and 2-3 are translated along the X, Y, and Z axes, respectively.
[0100] Since the translation distances in equation (7) are all measured, there is a certain measurement error. Therefore, the actual transformation matrix from the robot B flange coordinate system to the coordinate system of the center of the three probe tip contact points is shown in equation (8):
[0101]
[0102]
[0103]
[0104] In formula (8) (Δx 2-1 Δy 2-1 Δz 2-1 ), (Δx 2-2 Δy 2-2 Δz 2-2 ), (Δx 2-3 Δy 2-3 Δz 2-3 The numbers ) represent the distance errors of the translation of the origin of coordinate systems 2-1, 2-2, and 2-3 along the X, Y, and Z axes, respectively.
[0105] The actual transformation matrix from the base coordinate system of robot A to the coordinate systems of the three contacting tactile sensing array units and the actual transformation matrix from the base coordinate system of robot B to the coordinate systems of the centers of the three probe tip contact spheres are shown in formula (9):
[0106]
[0107] Step S4: Construct a first equation based on the first plane containing the circle where the contact position is located and the second plane containing the circles where the ends of the plurality of probes are located.
[0108] Step S5: Construct a second equation based on the distance between the first coordinate and the second coordinate as a preset value.
[0109] Step S6: Solve the first equation and the second equation to obtain the kinematic parameter errors of the first robotic arm under test and the kinematic parameter errors of the second robotic arm under test.
[0110] In practical applications, Equation 1 is established based on the parallel relationship between the plane containing the center of the three-point contact probe tip and the plane containing the tactile array sensor, and serves as the first equation in this invention. Equation 2 is established based on the distance d / 2 between the center of the circle containing the centers of the three probe tip contact points and the center of the circle containing the three contacted array units (the preset value), and serves as the second equation in this invention. Since the probe tip contact point is a small ball with a diameter of d, the first coordinate is the center of the circle containing the centers of the three probe tip contact points, and the second coordinate is the center of the circle containing the three contacted array units. Therefore, during contact, the actual distance between the first and second coordinates is half the diameter of the probe tip contact point ball. Solving Equations 1 and 2 yields the kinematic parameter errors of Robot A and Robot B.
[0111] Furthermore, the actual transformation matrix between the base coordinate system of robot B and the base coordinate system of robot A is calculated. The transformation relationship between the base coordinate system of robot B and the base coordinate system of robot A is obtained by rotation and translation around the three axes X, Y, and Z, as shown in formula (10):
[0112]
[0113] In formula (10), φ, θ, and ψ represent the angles of rotation about the X, Y, and Z axes, respectively, and a x a y a z These represent the distances translated along the X, Y, and Z axes, respectively.
[0114] However, due to installation errors between the two robots, the actual conversion relationship between the base coordinate system of robot B and the base coordinate system of robot A is shown in formula (11):
[0115]
[0116] In formula (11) ξ x ξ y ξ z δ represents the rotational error about the X, Y, and Z axes, respectively. x δ x δ z These represent the translation errors along the X, Y, and Z axes, respectively.
[0117] The actual transformation matrices from the coordinate system of the three probe tip contact points of robot B to the base coordinate system of robot A, and the transformation relationship from the coordinate system of the three tactile sensing array units of robot A to the base coordinate system of robot A are shown in formula (12):
[0118]
[0119] The results of the above formulas are all 4×4 matrices. Only the fourth column vector, representing the position, is extracted and represented as follows:
[0120] The equation of the plane where the tactile array sensor is located at the moment of contact can be obtained from the positions of the three tactile sensing array units on robot A at the moment of contact, as shown in equation (13):
[0121] A1x+B1y+C1Z+D1=0 (13)
[0122] Based on the positions of the centers of the three probe tips on robot B at the moment of contact, the equation of the plane containing the centers of the three probe tips is shown in equation (14) below:
[0123] A²x + B²y + C²z + D² = 0 (14)
[0124] Based on the fact that the plane where the tactile array sensor is located and the plane where the center of the contact point of the three-point contact probe tip are located are parallel, we can obtain equation one (15):
[0125] A1 / A2=B1 / B2=C1 / C2 (15)
[0126] Based on the position coordinates of the three tactile sensing array units that are in contact, the center coordinates E1 of the circle they are in can be obtained. Based on the position coordinates of the center of the three probe tip contact points, the center coordinates E2 of the circle they are in can be obtained. Based on the distance d / 2 between E1 and E2 at the time of contact, equation two (16) is established:
[0127] ||E1-E2||=d / 2 (16)
[0128] Solving equations one (15) and two (16) will yield the kinematic parameter errors of robot A and robot B.
[0129] The above equation contains a total of 4×N×2+3+3×3+6 error parameters, of which the error parameter based on the MDH method (Δα) i-1 , Δa i-1 , Δθ i , Δd i There are N×2 sets of transformation error parameters between the coordinate systems of the three contacting tactile sensing array units and the robot A flange coordinate system; there are 3 transformation error parameters between the center of the three probe tip contact points and the robot B flange coordinate system; and there are 6 transformation error parameters between the robot B base coordinate system and the robot A base coordinate system. Solving equations one and two will yield the kinematic parameter errors of robots A and B.
[0130] In this invention, when the three-point contact probe and the array sensor are in contact, the distance between the center of the circumcircle of the three probe tip contact points and the center of the circumcircle of the three array units is the radius of the probe tip contact point, i.e., d / 2, so as to realize the calibration using position information, corresponding to formula (16); when the three-point contact probe and the array sensor are in contact, the plane where the center of the three probe tip contact points is located and the plane where the center of the three array units is located (which is also the plane where the sensor is located) are parallel, so as to realize the calibration using attitude information by making the normal vectors of the two planes parallel, corresponding to formula (13), formula (14) and formula (15).
[0131] All error parameters consist of the following four parts: (1) In the MDH-based modeling method, each joint has four kinematic parameters: α i-1a i-1 θ i d i Let Δα represent the torsion angle, link length, joint angle, and link offset parameter of the i-th joint, respectively. i-1 , Δa i-1 , Δθ i , Δd i For the corresponding error, corresponding to formula (3), there are 4×N×2 error parameters based on the MDH method for two N-DOF robots. 4 means that there are 4 error parameters for each joint, N means that there are n joints, and 2 means that there are two robots; (2) The tactile array sensor is installed at the end in a whole, so the translation error of each array unit relative to the robot A flange coordinate system is the same, that is, there are 3 errors: Δx 1-1 Δy 1-1 Δz 1-1 , corresponding to formula (6); (3) There are 3×3 transformation error parameters between the center of the three probe tip contact ball and the robot B flange coordinate system: the center of each probe tip contact ball has translation error along the X, Y, and Z axes relative to the robot B flange coordinate system, and there are a total of 3 probes, corresponding to formula (8); (4) There are 6 transformation relationship errors between the robot B base coordinate system and the robot A base coordinate system, including rotation error around the X, Y, and Z axes and translation error along the X, Y, and Z axes, corresponding to formula (11).
[0132] Once the above error parameters are obtained, inverse kinematics calculations can be performed on the robot based on the actual kinematic parameters to achieve compensation and improve the robot's absolute positioning accuracy.
[0133] Example 3
[0134] In order to execute the method corresponding to Embodiment 2 above and achieve the corresponding functions and technical effects, a robot kinematics self-calibration system is provided below. The calibration system includes:
[0135] The first acquisition module is used to acquire the pressure collected by the tactile array sensor and determine the contact position of the probe based on the pressure, as well as the joint angle data of the first and second robotic arms under test.
[0136] The second acquisition module acquires multiple sets of joint angle data and corresponding multiple sets of contact positions by repeatedly contacting multiple probes of the first robotic arm under test and the tactile array sensor of the second robotic arm under test.
[0137] The coordinate determination module is used to construct a first kinematic error model of the first manipulator under test and a second kinematic error model of the second manipulator under test based on the joint angle data of each group and the corresponding contact positions of each group, according to the MDH method. The module obtains the first coordinate of the center of the circle where the contact position is located in the base coordinate system of the second manipulator under test and the second coordinate of the center of the circle where the ends of the multiple probes are located in the base coordinate system of the second manipulator under test.
[0138] The first construction module is used to construct a first equation based on the first plane where the contact position is located and the second plane where the ends of the plurality of probes are located.
[0139] The second construction module is used to construct a second equation based on a preset value of the distance between the first coordinate and the second coordinate.
[0140] The solution module is used to solve the first equation and the second equation to obtain the kinematic parameter errors of the first manipulator under test and the kinematic parameter errors of the second manipulator under test.
[0141] Example 4
[0142] This invention provides an electronic device, including a memory and a processor. The memory stores a computer program, and the processor runs the computer program to enable the electronic device to perform the robot kinematics self-calibration method of Embodiment 1.
[0143] Alternatively, the aforementioned electronic device may be a server.
[0144] In addition, embodiments of the present invention also provide a computer-readable storage medium storing a computer program that, when executed by a processor, implements the robot kinematics self-calibration method of Embodiment 1.
[0145] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the systems disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the descriptions are relatively simple; relevant parts can be referred to the method section.
[0146] This document uses specific examples to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. Furthermore, those skilled in the art will recognize that, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of the present invention.
Claims
1. A robot kinematics self-calibration device, characterized in that, The self-calibration device includes a tactile array sensor, a contact probe, and a host computer. The contact probe includes a base and multiple probes; the mounting surface of the base is fixedly connected to the mounting end face of the first robotic arm under test; one end of each probe is fixedly connected to the detection surface of the base; the other end of each probe is used to contact the detection surface of the tactile array sensor. The tactile array sensor includes multiple periodically arranged tactile sensing units; the shape of the tactile sensing unit in vertical projection is square; the mounting surface of the tactile array sensor is fixedly connected to the mounting end face of the second robotic arm under test; the detection surface of the tactile array sensor is parallel to the mounting end face of the second robotic arm under test. The first robotic arm under test drives the contact probe so that the other end of the probe comes into contact with the detection surface of the tactile array sensor driven by the second robotic arm under test. The tactile array sensor is connected to the host computer; when the other end of each probe contacts the detection surface of the tactile array sensor, the tactile array sensor collects the pressure applied by the probe and sends the pressure to the host computer; The host computer is used to determine the contact position between each probe and the detection surface of the tactile array sensor based on the pressure. Through multiple contacts between the multiple probes of the first robotic arm under test and the tactile array sensor of the second robotic arm under test, multiple sets of joint angle data and corresponding contact positions are acquired. Based on each set of joint angle data and corresponding contact positions, the first kinematic parameter error of the first robotic arm under test and the second kinematic parameter error of the second robotic arm under test are calculated. The joint angle data includes the first joint angle of each axis of the first robotic arm under test and the corresponding second joint angle of each axis of the second robotic arm under test. The contact positions are multiple contact points formed by the contact between the multiple probes and the detection surface of the tactile array sensor. The plurality of probes includes a first probe, a second probe, and a third probe; the line connecting the vertical projections of the first probe, the second probe, and the third probe is an isosceles right triangle.
2. The robot kinematics self-calibration device according to claim 1, characterized in that, The vertical projection of the tactile array sensor is square.
3. The robot kinematics self-calibration device according to claim 2, characterized in that, The side length of the vertical projection of the tactile array sensor is greater than the side length of the vertical side of the isosceles right triangle.
4. The robot kinematics self-calibration device according to claim 1, characterized in that, The other end of the probe is spherical.
5. The robot kinematics self-calibration device according to claim 4, characterized in that, The side length of the vertical projection of the tactile sensing unit is greater than the diameter of the cross-section at the other end of the probe.
6. A robot kinematics self-calibration method, applied to the robot kinematics self-calibration device according to any one of claims 1-5, characterized in that, The self-calibration method includes: The pressure collected by the tactile array sensor is acquired and the contact position of the probe is determined based on the pressure, as well as the joint angle data of the first and second robotic arms under test; Multiple probes of the first robotic arm under test and the tactile array sensor of the second robotic arm under test are contacted multiple times to obtain multiple sets of joint angle data and corresponding multiple sets of contact positions; Based on the joint angle data of each group and the corresponding contact positions of each group, the first kinematic error model of the first manipulator under test and the second kinematic error model of the second manipulator under test are constructed according to the MDH method. The first coordinate of the center of the circle where the contact position is located in the base coordinate system of the second manipulator under test and the second coordinate of the center of the circle where the ends of the multiple probes are located in the base coordinate system of the second manipulator under test are obtained. A first equation is constructed based on the first plane containing the circle where the contact position is located and the second plane containing the circles where the ends of the plurality of probes are located. A second equation is constructed based on the distance between the first coordinate and the second coordinate as a preset value; Solving the first equation and the second equation yields the kinematic parameter errors of the first and second robotic arms under test.
7. A robot kinematics self-calibration system, employing the robot kinematics self-calibration method of claim 6, characterized in that, The self-calibration system includes: The first acquisition module is used to acquire the pressure collected by the tactile array sensor and determine the contact position of the probe based on the pressure, as well as the joint angle data of the first and second robotic arms under test. The second acquisition module acquires multiple sets of joint angle data and corresponding multiple sets of contact positions by having multiple probes of the first robotic arm under test and the tactile array sensor of the second robotic arm under test make multiple contacts. The coordinate determination module is used to construct a first kinematic error model of the first manipulator under test and a second kinematic error model of the second manipulator under test based on the joint angle data of each group and the corresponding contact positions of each group, and the MDH method, respectively, to obtain the first coordinate of the center of the circle where the contact position is located in the base coordinate system of the second manipulator under test and the second coordinate of the center of the circle where the ends of the multiple probes are located in the base coordinate system of the second manipulator under test. The first construction module is used to construct a first equation based on the first plane where the circle where the contact position is located is parallel to the second plane where the circles where the ends of the plurality of probes are located; The second construction module is used to construct a second equation based on a preset value of the distance between the first coordinate and the second coordinate; The solution module is used to solve the first equation and the second equation to obtain the kinematic parameter errors of the first manipulator under test and the kinematic parameter errors of the second manipulator under test.
8. An electronic device, characterized in that, It includes a memory and a processor, the memory being used to store a computer program, and the processor running the computer program to cause the electronic device to perform the robot kinematics self-calibration method according to claim 6.
9. An electronic device according to claim 8, characterized in that, The memory is a readable storage medium.
Citation Information
Patent Citations
Mechanical arm kinematics parameter calibration method based on measuring of laser tracker
CN110281241A
Industrial robot absolute precision calibration system and calibration method
CN111660295A