Automatic correction method and system for robotic arm
By installing a spherical and distance sensing module with a known radius on the robotic arm, the automatic correction method of multiple distance sensors and contour sensors is used to solve the problem of poor accuracy in the existing methods, and efficient and accurate coordinate system correction is achieved.
Patent Information
- Application Number
- CN202110895517.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-07-06
- Filing Date
- 2021-08-05
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2041-08-05
AI Technical Summary
The existing robotic arm and contour sensor coordinate system correction methods require solid feature points or fixtures as media, resulting in poor calibration accuracy and multiple operations, which is time-consuming and labor-consuming.
Using a sphere, distance sensing module and contour sensor with known radius, the plane and circle fitting equations are sensed through multiple distance sensors, combined with Pissor theorem, the coordinate system relationship between the robot arm and the contour sensor is automatically corrected to avoid the intervention of solid feature points and fixtures.
It realizes one-time correction without the intervention of physical feature points and fixtures, improves the accuracy and efficiency of coordinate system correction, and simplifies the operation process.
Smart Images

Figure CN115582831B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method for calibrating a robotic arm, and more particularly to a method for automatically calibrating the relative relationship between the robotic arm and a contour sensor coordinate system. The present invention also relates to a system for automatically calibrating the relative relationship between the robotic arm and the contour sensor coordinate system. Background Art
[0002] With the development of automated production, robotic arms are becoming increasingly widely used in the industrial sector, significantly improving the efficiency and quality of industrial production. In the field of robotic arm automation, tools are typically mounted directly on the robotic arm, and manual instruction is used to generate robotic arm movements to achieve automated applications. However, with the diversification of robotic arm applications and the development of autonomous decision-making technology, an increasing number of applications are using sensor-derived information for online judgment and action generation. Therefore, the accuracy of these movements is affected by the accuracy of the relative relationships between the sensor coordinate system, the workpiece position coordinate system, and the robotic arm. Therefore, the accuracy of the coordinate system transformation relationship has become a critical indicator for the robotic arm to achieve precise operation.
[0003] Automated applications that use robotic arms to perform autonomous decision-making first require confirming the relative relationships among sensor position, workpiece position, tool position, and the robotic arm's coordinate system. However, errors in the coordinate system positions can occur due to factors such as positioning accuracy and manufacturing tolerances. Therefore, before the robotic arm can execute an action, the relative positions of each coordinate system must be calibrated to obtain accurate coordinate values.
[0004] Traditional calibration methods require manual or sensor identification of physical feature points, then controlling the robotic arm to align the tool center point (TCP) with several specified points in the coordinate system, and recording the coordinate values to complete the calibration of the coordinate system position.
[0005] However, when using robotic arms with sensors to execute motion decisions, the sensors must be fixed before sensing can begin. However, each sensor size has tolerances and is difficult to accurately position, requiring personnel to recalibrate each sensor position. This process often consumes time and manpower.
[0006] When there are no physical feature points in the coordinate system (such as the calibration of the sensor coordinate system), although automatic calibration methods are currently available, these methods require the use of a fixture as a medium and a CAD model to complete the coordinate system calibration. Therefore, the correctness of the fixture's external dimensions will affect the calibration results. In addition, this method requires the sensor or fixture to be installed on a robotic arm, and the robotic arm is used to make the fixture and sensor move relative to each other to obtain complete point cloud information. Therefore, it is affected by the movement accuracy of the robotic arm. In addition, this method uses numerical approximation to calculate the closest solution, which may also cause numerical divergence and fail to obtain calibration results. Therefore, the calibration accuracy is difficult to improve.
[0007] Therefore, how to develop a "method and system for automatically calibrating the relative relationship between the coordinate system of the robotic arm and the contour sensor"? This coordinate system does not require the presence of physical feature points, does not require the use of a fixture as a calibration medium, does not require the assistance of a CAD model, and does not require the coordinates of the device to be calibrated in space beforehand. The coordinate system position can be calibrated in a single operation. This solves the problem of poor calibration accuracy caused by existing methods that require the coordinate system to have physical feature points or use a fixture as a medium, and improves calibration accuracy. This is an urgent issue that people in the relevant technical field need to solve. Summary of the Invention
[0008] In one embodiment, the present invention provides a method for automatically calibrating the relative relationship between a robot arm and a contour sensor coordinate system, comprising the following steps:
[0009] (a) A sphere of known radius is placed on the flange surface of a robotic arm. A distance sensing module and a profile sensor are provided. The distance sensing module includes at least three distance sensors, and the axes of the distance sensors share a common sensing plane and intersect at an intersection point. The sphere, the robotic arm, the flange surface, the distance sensing module, and the profile sensor each have a sphere coordinate system, a robotic arm coordinate system, a flange surface coordinate system, a distance sensing module coordinate system, and a profile sensor coordinate system.
[0010] (b) controlling the movement of the robotic arm so that the sphere moves along the three axes of the robotic arm coordinate system to establish a transformation relationship between the robotic arm coordinate system and the distance sensing module coordinate system;
[0011] (c) Using the distance sensing information from the distance sensing module, control the robotic arm to move the center of the sphere to the intersection point in different postures so that the origin of the distance sensing module coordinate system coincides with the center of the sphere, and record the joint angles of each axis of the robotic arm as the tool center point correction point information;
[0012] (d) Calculate the position of the sphere's center relative to the flange surface coordinate system to use as the coordinate of the tool center point;
[0013] (e) controlling the robotic arm to different positions so that the profile sensor can extract information about the sphere, obtaining cross-sectional profile information of the sphere from the profile sensor, and calculating the center position of the circle using a circle fitting method combined with the Pythagorean theorem to serve as calibration point information relative to the profile sensor's coordinate system; and
[0014] (f) Calculate the relative relationship between the contour sensor coordinate system and the robotic arm coordinate system, and input the calculated coordinate values into the control module to complete the calibration.
[0015] In one embodiment, the present invention provides an automatic calibration system for the relative relationship between a robot arm and a contour sensor coordinate system, comprising:
[0016] A round ball is provided on the flange surface of the robot arm;
[0017] a distance sensing module comprising at least three distance sensors, wherein axes of the distance sensors share a common sensing plane and intersect at an intersection;
[0018] a profile sensor for sensing a two-dimensional cross-sectional profile of the sphere; and
[0019] A control module is electrically connected to the distance sensing module, the contour sensor and the robotic arm; the control module controls the robotic arm to move the ball to obtain calibration point information. BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Figure 1 A front-view schematic diagram of an embodiment of a system for automatically correcting the relative relationship between a robotic arm and a contour sensor coordinate system;
[0021] Figure 2 for Figure 1 A schematic diagram of a top view of the distance sensing module and the profile sensor according to an embodiment;
[0022] Figure 3 for Figure 1 A schematic diagram of the conversion relationship between the robot arm coordinate system and the distance sensing module coordinate system of the embodiment;
[0023] Figure 4A and Figure 4B for Figure 1 Schematic diagrams of the operation of the embodiment from the front and top;
[0024] Figure 5 and Figure 6 、 Figure 6A 、 Figure 6B for Figure 1 A schematic diagram of an embodiment using sensing information from a distance sensing module to calculate the coordinates of a circle center;
[0025] Figure 7 for Figure 1Schematic diagram of the embodiment for calculating the actual coordinates of the tool center point;
[0026] Figure 8 for Figure 1 Schematic diagram of the embodiment using the circle equation with the minimum error square method to minimize the radius error and perform fitting to calculate the coordinates of the circle center and the circle radius;
[0027] Figure 9 Flowchart of an embodiment of the method for automatically calibrating the relative relationship between the robot arm and the contour sensor coordinate system of the present invention.
[0028] Explanation of symbols
[0029] 100: Automatic correction system for the relative relationship between the robotic arm and the contour sensor coordinate system
[0030] 10: Ball
[0031] 20: Distance sensing module
[0032] 30:Contour sensor
[0033] 40: Control module
[0034] 200:Robotic Arm
[0035] 202: Flange surface
[0036] 21-23: Distance sensor
[0037] 900: Flow of the automatic correction method for the relative relationship between the robot arm and the contour sensor coordinate system
[0038] 902~912: Steps
[0039] A0,B0,C0,A 01 ,B 01 ,C 01 :Circular coordinates
[0040] C S1 ,C S2 ,C S3 :Section circle
[0041] d0: height
[0042] H 10 :Section position
[0043] H 20 :Sensing plane of the distance sensing module
[0044] H 30 :Sensing plane of the profile sensor
[0045] I1, I2, I3: axis
[0046] L1, L2: straight line
[0047] M0: Center of the sphere
[0048] O 20 :Intersection
[0049] O: starting point
[0050] P: Tool center calibration point
[0051] Rs: radius of the sphere
[0052] R0,R 01 ,R 02 ,R 03 : Section circle radius
[0053] T1, T2, T3: Transformation Matrix
[0054] U1, V1, W1: vector
[0055] V1, V2: perpendicular bisector
[0056] X1,Y1,Z1,X2,Y2,Z2,X3,Y3,Z3,X C ,Y C :coordinate
[0057] X R ,Y R ,Z R ,X f ,Y f ,Z f ,X t ,Y t ,Z t ,X M ,Y M ,Z M ,X L ,Y L ,Z L :Axis
[0058] θ1,θ2,θ3: Angle DETAILED DESCRIPTION
[0059] See also Figure 1 and Figure 2 As shown, the present invention provides an automatic calibration system 100 for the relative relationship between a robot arm and a contour sensor coordinate system, which includes a sphere 10 , a distance sensing module 20 , a contour sensor 30 and a control module 40 .
[0060] The ball 10 is mounted on the flange 202 of the robot arm 200. The material of the ball 10 is not limited, for example, a rigid metal material such as stainless steel, but is not limited thereto.
[0061] The distance sensing module 20 includes three distance sensors 21 - 23 .
[0062] The contour sensor 30 is used to sense the two-dimensional cross-sectional contour of the sphere 10 . The contour sensor 30 may be a two-dimensional contour sensor or a three-dimensional contour sensor.
[0063] Figure 1 The display robot arm 200, the distance sensing module 20 and the contour sensor 30 are connected to the control module 40. Figure 2 The control module 40 is omitted. The control module 40 controls the movement of the robot arm 20, the distance sensing module 20, and the contour sensor 30, as well as the calculation and analysis during the calibration process. Typically, the control module 40 is a computer with computing power, but is not limited thereto.
[0064] In actual use, the robot arm 200 uses tools mounted on the flange surface 202 to perform various operations. This embodiment utilizes the distance sensing module 20 and a sphere 10 of known radius mounted on the flange surface 202 of the robot arm 200 to calibrate the relative position of the robot arm 200 and the contour sensor 30.
[0065] See also Figure 1 and Figure 2 As shown, this case uses the distance sensing information of the distance sensors 21 to 23 in combination with the Pythagorean theorem and the circle equation to complete the tool center point calibration, and finally uses the tool center point calibration result in combination with the circle fitting equation to calculate the relative relationship between the contour sensor 30 and the robot arm coordinate system.
[0066] Define the radius of the known sphere 10 as R s , the robot arm 200 has a robot arm coordinate system X R -Y R -Z R , the flange surface 202 has a flange surface coordinate system X f -Y f -Z f , the profile sensor 30 has a profile sensor coordinate system X L -Y L -Z L , the sphere 10 has a spherical coordinate system X t -Y t -Z t The distance sensing module 20 has a distance sensing module coordinate system X M -Y M -Z M .
[0067] The axes of the distance sensors 21 to 23 are I1, I2, and I3 respectively. The three axes I1, I2, and I3 need to sense the same plane H. 20 and intersect at an intersection point O 20 , and the angular relationship between the three axes I1, I2, and I3 is known, the angles θ1, θ2, and θ3 of the three axes I1, I2, and I3 can be 120 degrees uniformly distributed, or the angles θ1, θ2, and θ3 can be unequally distributed. And the intersection O 20 As the distance sensing module coordinate system X M -Y M -Z M The origin, such as Figure 2 shown.
[0068] See also Figures 3 to 6 As shown, the robot arm 200 has a known radius R s The center of the sphere 10, M0, is along the robot arm coordinate system X R -Y R -Z R The robot arm coordinate system X can be calculated by moving in the direction of R -Y R -Z R and the distance sensing module coordinate system X M -Y M -Z M Conversion relationships, such as Figure 3 The specific method is as follows: steps (a1) to (f1).
[0069] Step (a1): Control the robot arm 200 to move so that the ball 10 mounted on the flange surface 202 of the robot arm 200 moves along the robot arm coordinate system X R -Y R -Z R The three axes of the distance sensor 21 to 23 are moved into the distance sensing module 20, so that the three distance sensors 21 to 23 can simultaneously read the distance information between the distance sensors 21 to 23 and the ball 10, and the sensing plane H formed by the distance sensing module 20 at the moving starting position 20 Not with the maximum radius R of the sphere 10 s Section position H 10 Coplanar, and record this coordinate relative to the distance sensing module coordinate system X M -Y M -Z M The coordinates of the starting point O are as follows: Figure 4A 、 Figure 4B As shown. Figure 4A 、 Figure 4B The display control module 40 is omitted.
[0070] Step (b1): Calculate the distance information sensed by the distance sensors 21-23 to determine the distance between the sphere 10 and the sensing plane H. 20 The upper three points are relative to the distance sensing module coordinate system X M -Y M -Z M The coordinates of the circle are A0, B0, and C0, and the position of the center of the cross section Os is calculated as the starting point, such as Figure 5 、 Figure 6 As shown, the specific method is as follows: steps (a11) to (d11).
[0071] Step (a11): Calculate using distance sensors 21-23 Among them, l i The intersection of the axes I1, I2, I3 and the sphere 10 relative to the distance sensing module coordinate system Z M The distance, t i The coordinate system X of the axes I1, I2, and I3 and the distance sensing module M Angle.
[0072] Step (b11): Construct the straight lines L1 and L2 of the two points with the circular coordinates A0 and B0 and the two points with the circular coordinates B0 and C0, and calculate the perpendicular bisectors V1 and V2, as shown in the following example: Figure 5 As shown, the two perpendicular midlines V1 and V2 are used to calculate the cross-section center Os relative to the distance sensing module coordinate system X M -Y M -Z M Coordinate F0.
[0073] Step (c11): Calculate the section circle C using coordinate F0 S The radius R0 = ‖F0-A0‖.
[0074] Step (d11): Calculate the position of the sphere center M0 relative to the cross-section circle C using the Pythagorean theorem S Height If the center of the sphere M0 is located on the cross-sectional circle C S If d0 < 0, then d0 > 0. Figure 6 shown.
[0075] The position of the sphere center M0 can be determined by the initial state. For example, the position of the sphere center M0 in the initial state is located on the cross-section circle C. S Below, and during the movement, the section circle C S If the radius R0 keeps increasing or decreasing, the center M0 will remain on the cross-section circle C. S Below; if during the movement, the section circle C S The radius R0 increases and then decreases, which means that the center M0 moves to the cross-section circle C. S Above.
[0076] After executing step (b1), proceed to steps (c1) to (f1). Step (c1): Move the robot arm 200 from the starting point O as the moving starting point, along the robot arm coordinate system X R Move the coordinates F in the direction of the target by any length and calculate the coordinates F in the same way as in steps (a11) to (d11) above. x , radius R x , height d x , calculate the robot arm coordinate system X R Relative to the distance sensing module coordinate system X M -Y M -Z M Vector
[0077] Step (d1): Move the robot arm 200 from the starting point O as the starting point, along the robot arm coordinate system Y R Move the axis to any length and calculate the coordinates F in the same way as steps (a) to (d) above. y , radius R y , height d y , calculate the robot arm coordinate system Y R Relative to the distance sensing module coordinate system X M -Y M -Z M Vector
[0078] Step (e1): Move the robot arm 200 from the starting point O as the starting point, along the robot arm coordinate system Z R Move the coordinates F in the direction of the target by any length and calculate the coordinates F in the same way as in steps (a1) to (d1) above. z , radius R z , height d z , calculate the robot arm coordinate system Z R Relative to the distance sensing module coordinate system X M -Y M -Z M Vector
[0079] Step (f1): Get the robot arm coordinate system X R -Y R -Z R and the distance sensing module coordinate system X M -Y M -Z M Conversion relationship Among them, S R is along the robot arm coordinate system X R -YR -Z R The amount of movement, S M is the coordinate system X along the distance sensing module M -Y M -Z M The amount of movement.
[0080] See also Figure 1 、 Figure 2 、 Figure 6A As shown, when the robot arm coordinate system X is completed R -Y R -Z R and the distance sensing module coordinate system X M -Y M -Z M After the conversion relationship is established, the center M0 of the sphere 10 can be controlled to move in different postures relative to the distance sensing module coordinate system X M -Y M -Z M Origin O 20 coincides, and serves as a correction point for calculating the tool center point (the radius R on the robot arm 200 is known). S The center M0 of the sphere 10 is relative to the flange surface coordinate system X f -Y f -Z f The process is as follows: (a2) to (d2).
[0081] Step (a2): Obtain the cross-sectional circle C using the information from the distance sensing module 20 S1 The coordinates of the three points on the circle are A0, B0, and C0, and the section circle C is calculated. S1 The center coordinate C′ is used Control section circle C S The center of the cross section O S and the distance sensing module coordinate system Z M coincide.
[0082] Step (b2): Control the robot arm 200 along Direction movement, and use the distance sensing module 20 to instantly intercept the cross-sectional circle C S1 Coordinates of the three points on the circle A 01 、B 01 、C 01 And calculate the section circle C S1 Radius R 01 , if R 01 = radius R of sphere 10 s When, it represents the sensing plane H 20If the point coincides with the center of the sphere M0, the point is recorded as the tool center point (TCP) calibration point information. If the number of recorded calibration points is greater than 4, the calibration point acquisition is complete; if the number of calibration points is less than 4, proceed to step (c2).
[0083] Step (c2): Generate azimuth increment ΔR using a random number generator x ,ΔR y ,ΔR z .
[0084] Step (d2): Let the robot arm's azimuth angle (Euler angle) be R x =R x +ΔR x ,R y =R y +ΔR y ,R z =R z +ΔR z , move the robot arm 200 to the new azimuth coordinates. If the set of azimuth angles exceeds the motion range limit, return to steps (c2) and (d2) to regenerate the azimuth angles. Otherwise, return to step (a2) to regenerate the calibration point information.
[0085] See also Figure 1 、 Figure 2 、 Figure 7 As shown, after obtaining enough tool center calibration point information, the tool center calibration calculation process can be entered to calculate the known radius R on the robot arm 200. S The center M0 of the sphere 10 is relative to the flange surface coordinate system X f -Y f -Z f The position of the tool center point is the coordinate of the tool center point. The spatial coordinates of the calibration point P (equivalent to the center of the sphere 10 M0) can be calculated using the link parameters, joint coordinates and tool center point relative to the flange surface coordinate system X f -Y f -Z f Information obtained:
[0086] T 1i T2=P
[0087] in, For the i-th correction point, the coordinates are converted from the flange surface coordinate system X f -Y f -Z f Convert to the robot arm coordinate system X R -Y R -Z R The 4×4 homogeneous transformation matrix represented by R 1iis the 3×3 orientation transformation matrix of the upper left corner of the homogeneous transformation matrix; L 1i is a vector consisting of the elements of the first three columns of the fourth row of the homogeneous transformation matrix. This 4×4 homogeneous transformation matrix can be substituted into the link parameters and joint coordinates to become a constant matrix.
[0088] T2=[T x T y T z 1] T is the coordinate of the tool center point relative to the flange surface 202, P = [P x P y P z 1] T The calibration point is in space relative to the robot arm coordinate system X R -Y R -Z R After obtaining the four calibration points, you can use:
[0089]
[0090] The coordinates of the tool center point are calculated to complete the tool center calibration.
[0091] See also Figure 1 、 Figure 2 、 Figure 4A 、 Figure 4B 、 Figure 6 、 Figure 8 As shown, after obtaining the coordinates of the tool center point, the known radius R on the robot arm 200 can be s The ball 10 moves to the contour sensor coordinate system X L -Y L -Z L The position of the contour can be extracted and the known radius R can be obtained at the same time s The center M0 of the sphere 10 is relative to the robot arm coordinate system X R -Y R -Z R Coordinate B j With the profile sensor coordinate system X L -Y L -Z L Coordinate W j The process is as follows: (a3) to (e3).
[0092] Step (a3): Let j = 1, and move the robot arm 200 so that the ball 10 mounted on the flange surface 202 of the robot arm 200 moves into the distance sensing module 20, so that the three distance sensors 21-23 and the profile sensor 30 can read the information relative to the ball 10 at the same time, and the sensing plane H formed by the distance sensing module 20 20The maximum radius R of the sphere 10 s Section position H 10 Can be coplanar or non-coplanar.
[0093] Step (b3): Record the coordinates of the center M0 of the sphere 10 relative to the robot arm coordinate system X R -Y R -Z R The coordinates are B j Point B j =T 1j T2, To change the coordinate from the flange surface coordinate system X f -Y f -Z f Convert to the robot arm coordinate system X R -Y R -Z R Represents the 4×4 homogeneous transformation matrix.
[0094] Step (c3): Use the profile sensor 30 to extract the cross-sectional profile information of the sphere 10 and obtain the coordinates relative to the profile sensor coordinate system X L -Y L -Z L Contour point data group information x i 、y i and the circle equation (xx c ) 2 +(yy c ) 2 =R c 2 The minimum error square method is used to minimize the radius error and fit the cross-section center coordinates (x cj ,y cj ) and the section circle radius R cj ,like Figure 8 shown.
[0095]
[0096] in, is a pseudo-inverse matrix.
[0097] Step (d3): Use the Pythagorean theorem to calculate the center M0 and the cross-section circle C S2 distance If the cross-sectional circle C extracted by the distance sensors 21 to 23 S2 Radius R 02 Larger than the cross-sectional circle C of the profile sensor 30 S3 Radius R 03, that is, the sensing plane H of the distance sensors 21-23 20 The sensing plane H of the profile sensor 30 30 Above (such as Figure 6B As shown), it represents that the center of the sphere M0 is located on the cross-sectional circle C of the profile sensor 30. S3 Above, Z cj >0; On the contrary, if the cross-sectional circle C extracted by the distance sensors 21 to 23 S2 Radius R 02 Smaller than the cross-sectional circle C of the profile sensor 30 S3 Radius R 03 , that is, the sensing plane H of the distance sensors 21-23 20 The sensing plane H of the profile sensor 30 30 The center of the sphere M0 is located below the cross-sectional circle C of the profile sensor 30. S3 Below, Z cj <0.
[0098] Step (e3): Record the coordinates of the center M0 of the sphere 10 relative to the contour sensor coordinate system X L -Y L -Z L The coordinates are And let j = j + 1. If j>4, the calibration point information is obtained; otherwise, the random number generator is used to generate the action increment ΔP x , ΔP y , ΔP z , ΔR x , ΔR y , ΔR z , change the robot arm action to P x =R x +ΔP x , P y =P y +ΔP y , P z =P z +ΔP z , R x =R x +ΔR x , R y =R y +ΔR y , R z =R z +ΔR z If the set of movements exceeds the range of motion or the sensing range, a new movement increment is generated. Otherwise, the process goes to step (b3) to generate the next calibration point information.
[0099] When the profile sensor coordinate system X is obtained L -YL -Z L After obtaining the correction point information of the four random contour sensor position correction information points, the calculation process can be entered. The following will explain how to obtain four or more known relative to the contour sensor coordinate system X L -Y L -Z L With the robot arm coordinate system X R -Y R -Z R After the coordinates of the correction points are obtained, the coordinate system X of the robot arm is calculated using the coordinate relationship. R -Y R -Z R With the profile sensor coordinate system X L -Y L -Z L Methods for converting relationships.
[0100] Profile sensor coordinate system X L -Y L -Z L Relative to the robot arm coordinate system X R -Y R -Z R The transformation matrix is:
[0101]
[0102] Among them, B j and W j are the jth correction point relative to the robot arm coordinate system X R -Y R -Z R With the profile sensor coordinate system X L -Y L -Z L The coordinate value of .
[0103] The calculated coordinate values are input into the control module 40 to complete the calibration process.
[0104] See also Figure 9 As shown, based on the above description, a process 900 of a method for calibrating the relative relationship between a robot arm and a contour sensor coordinate system provided in this case is summarized, including the following steps:
[0105] Step 902: A sphere of known radius is placed on the flange surface of the robotic arm. A distance sensing module and a profile sensor are provided. The distance sensing module includes at least three distance sensors, and the axes of the distance sensors share a common sensing plane and intersect at an intersection point. The sphere, the robotic arm, the flange surface, the distance sensing module, and the profile sensor each have a sphere coordinate system, a robotic arm coordinate system, a flange surface coordinate system, a distance sensing module coordinate system, and a profile sensor coordinate system.
[0106] Step 904: Control the movement of the robotic arm so that the sphere moves along the three axes of the robotic arm coordinate system to establish a conversion relationship between the robotic arm coordinate system and the distance sensing module coordinate system;
[0107] Step 906: Using the distance sensing information from the distance sensing module, control the robotic arm to move the center of the sphere to the intersection point in different postures, so that the origin of the distance sensing module coordinate system coincides with the center of the sphere, and record the joint angles of each axis of the robotic arm as the tool center point calibration point information;
[0108] Step 908: Calculate the position of the center of the sphere relative to the flange surface coordinate system to serve as the coordinates of the tool center point;
[0109] Step 910: Control the robotic arm to different positions so that the profile sensor can extract the sphere information. The profile sensor obtains the cross-sectional profile information of the sphere and calculates the center position of the circle using a circle fitting method combined with the Pythagorean theorem to serve as calibration point information relative to the profile sensor coordinate system.
[0110] Step 912: Calculate the relative relationship between the contour sensor coordinate system and the robotic arm coordinate system, and input the calculated coordinate values into the control module to complete the calibration.
[0111] In summary, the present invention provides a method and system for automatically calibrating the relative coordinate relationship between a robotic arm and a contour sensor. After a sphere of known radius is mounted on the robotic arm, multiple distance sensors on a common sensing plane are used in conjunction with a circle fitting equation and the Pythagorean theorem to determine the relationship between the sphere and the flange surface of the robotic arm. The contour sensor is then used to obtain the contours of the sphere at multiple locations. This allows the relative coordinate relationship between the contour sensor and the robotic arm to be determined and used as a basis for calibration.
[0112] The coordinate system in this case does not require the presence of physical feature points, does not require the use of fixtures as a calibration medium, does not require the assistance of CAD models, and does not require the use of additional three-dimensional measurement equipment to calibrate the device's position in space. The coordinate system position calibration is completed in a single operation, improving calibration accuracy and resolving the poor calibration accuracy caused by existing methods that require the coordinate system to have physical feature points or use fixtures as a medium.
[0113] Although the present invention is disclosed in conjunction with the above embodiments, they are not intended to limit the present invention. Anyone with ordinary knowledge in the technical field may make slight changes and modifications without departing from the spirit and scope of the present invention. Therefore, the scope of protection of the present invention shall be based on the definition of the attached claims.
Claims
1. A method for automatically correcting the relative relationship between a robot arm and a contour sensor coordinate system, comprising the following steps: (a) A sphere of known radius is placed on the flange surface of a robotic arm, and a distance sensing module and a profile sensor are provided. The distance sensing module includes at least three distance sensors, the axes of which share a common sensing plane and intersect at an intersection. The sphere, the robotic arm, the flange surface, the distance sensing module, and the profile sensor respectively have a sphere coordinate system, a robotic arm coordinate system, a flange surface coordinate system, a distance sensing module coordinate system, and a profile sensor coordinate system. (b) controlling the movement of the robotic arm to move the sphere along the three axes of the robotic arm coordinate system to establish a transformation relationship between the robotic arm coordinate system and the distance sensing module coordinate system; (c) using the distance sensing information from the distance sensing module, controlling the robotic arm to move the center of the sphere to the intersection in different postures so that the origin of the distance sensing module coordinate system coincides with the center of the sphere, and recording the angles of the joints of each axis of the robotic arm as tool center point correction point information; (d) calculating the position of the center of the sphere relative to the flange surface coordinate system as the coordinate of the tool center point; (e) controlling the robotic arm to different positions so that the profile sensor can extract information about the sphere, obtaining cross-sectional profile information of the sphere through the profile sensor, and calculating the center position of the circle using a circle fitting method combined with the Pythagorean theorem to serve as calibration point information relative to the profile sensor coordinate system; as well as (f) Calculating the relative relationship between the contour sensor coordinate system and the robotic arm coordinate system, and inputting the calculated coordinate values into the control module to complete the calibration.
2. The method for automatically calibrating the relative relationship between the robot arm and the contour sensor coordinate system as claimed in claim 1, wherein step (b) further comprises the following steps: (a1) controlling the movement of the robotic arm to cause the sphere to move along the three axes of the robotic arm's coordinate system, causing the three distance sensors to simultaneously read distance information from the sphere, with the sensing plane formed by the distance sensing modules at the starting position of the movement not being coplanar with the cross-sectional position of the sphere's maximum radius, and recording the coordinates of these coordinates relative to the distance sensing module's coordinate system; (b1) using the distance information sensed by the three distance sensors, calculating the coordinates of at least three points of the sphere on the sensing plane relative to the distance sensing module coordinate system, and calculating the position of the center of the cross-section as the starting point; (c1) moving the robotic arm from the starting point to an arbitrary length along the X, Y, and Z axes of the robotic arm coordinate system, and calculating the vectors of the X, Y, and Z axes of the robotic arm coordinate system relative to the distance sensing module coordinate system; and (d1) Using the vectors of the three-axis directions of X, Y, and Z of the robot arm coordinate system relative to the distance sensing module coordinate system calculated in step (c1), the conversion relationship between the robot arm coordinate system and the distance sensing module coordinate system is calculated.
3. The method for automatically correcting the relative relationship between the robot arm and the contour sensor coordinate system as claimed in claim 2, wherein step (b1) further comprises the following steps: (a11) Calculating the three-point circular coordinates A0, B0, and C0 using the three distance sensors; (b11) forming two straight lines with the circular coordinates A0 and B0, and the circular coordinates B0 and C0, respectively, and calculating their respective perpendicular bisectors. The coordinates of the center of the cross-section relative to the distance sensing module coordinate system are then calculated using the perpendicular bisectors of the two straight lines. (c11) calculating the radius of the cross-sectional circle using the coordinates of the cross-sectional circle center calculated in step (b11); and (d11) Use the Pythagorean theorem to calculate the height of the sphere's center relative to the cross-sectional circle.
4. The method for automatically correcting the relative relationship between the coordinate system of the robotic arm and the contour sensor as described in claim 3, wherein in the step (d11), if the center of the sphere is below the cross-sectional circle, the height of the cross-sectional circle is <0; if the center of the sphere is above the cross-sectional circle, the height of the cross-sectional circle is >0.
5. The method for automatically calibrating the relative relationship between the robot arm and the contour sensor coordinate system as claimed in claim 1, wherein step (c) further comprises the following steps: (a2) using the distance sensing information from the distance sensing module to obtain the coordinates of at least three points on the cross-sectional circle and calculate the coordinates of the center of the cross-sectional circle, so as to control the center of the cross-sectional circle to coincide with the Z-axis direction of the distance sensing module coordinate system; (b2) controlling the movement of the robotic arm according to the conversion relationship between the robotic arm coordinate system and the distance sensing module coordinate system, and using the distance sensing module to intercept the circular coordinates of at least three points on the cross-sectional circle and calculate the radius of the cross-sectional circle. If the radius of the cross-sectional circle is equal to the radius of the sphere, it means that the sensing plane and the center of the sphere coincide with each other, and recording the at least three circular coordinates as calibration point information of the tool center point; if the number of calibration points recorded is at least greater than 4, calibration point acquisition is completed; if the number of calibration point information is less than at least 4, proceeding to step (c2); (c2) generating an azimuth angle increment using a random number generator; and (d2) Using the azimuth angle increment generated in step (c2), calculate the azimuth angle of the robotic arm and move the robotic arm to a new azimuth coordinate. If the azimuth angle exceeds the motion range limit, return to steps (c2) and (d2) to regenerate the azimuth angle; otherwise, return to step (a2) to regenerate the correction point information.
6. The method for automatically calibrating the relative relationship between a robot arm and a contour sensor coordinate system as described in claim 1, wherein step (d) utilizes the robot arm's link parameters, joint coordinates, and information about the tool center point relative to the flange surface coordinate system to obtain the spatial coordinates of at least four calibration points, and calculates the position of the sphere's center relative to the flange surface coordinate system as the coordinates of the tool center point.
7. The method for automatically calibrating the relative relationship between the robot arm and the contour sensor coordinate system as claimed in claim 1, wherein step (e) further comprises the following steps: (a3) controlling the robot arm to move the sphere into the distance sensing module, so that the three distance sensors and the profile sensor can simultaneously read information relative to the sphere, and the sensing plane formed by the distance sensing module and the cross-sectional position of the maximum radius of the sphere can be coplanar or non-coplanar; (b3) recording the coordinates of the center of the sphere relative to the coordinate system of the robotic arm; (c3) extracting cross-sectional profile information of the sphere using the profile sensor, obtaining a data set of profile points relative to the profile sensor coordinate system, and fitting the circle using the circle equation and the minimum error square method to minimize the radius error, thereby calculating the coordinates of the cross-sectional center and the cross-sectional radius; (d3) using the Pythagorean theorem to calculate the distance between the center of the sphere and the cross-sectional circle; and (e3) Record the coordinates of the center of the sphere relative to the coordinate system of the contour sensor as correction point information.
8. The method for automatically correcting the relative relationship between the coordinate system of the robot arm and the contour sensor as described in claim 7, wherein in step (d3), if the radius of the cross-sectional circle extracted by the three distance sensors is larger than the radius of the cross-sectional circle of the contour sensor, it means that the center of the sphere is located above the cross-sectional circle of the contour sensor; if the radius of the cross-sectional circle extracted by the three distance sensors is smaller than the radius of the cross-sectional circle of the contour sensor, it means that the center of the sphere is located below the cross-sectional circle of the contour sensor.
9. The method for automatically calibrating the relative relationship between a robot arm and a contour sensor coordinate system as described in claim 7, wherein in step (e3), when at least four calibration point information are obtained, the calibration point information is obtained; otherwise, a random number generator is used to generate a motion increment to change the motion of the robot arm. If the motion exceeds the motion range limit or exceeds the sensing range, a motion increment is regenerated; otherwise, step (b3) is performed to generate the next calibration point information.
10. The method for automatically calibrating the relative relationship between a robot arm and a contour sensor coordinate system as described in claim 1, wherein step (f) is to obtain at least four known calibration point coordinates relative to the contour sensor coordinate system and the robot arm coordinates, and then use the coordinate relationship to calculate the transformation relationship between the robot arm coordinate system and the contour sensor coordinate system using a transformation matrix.
11. The method for automatically correcting the relative relationship between the coordinate system of a robotic arm and a contour sensor as described in claim 1, wherein the robotic arm, the distance sensing module, and the contour sensor are electrically connected to the control module to control the movement of the robotic arm, the distance sensing module, and the contour sensor, as well as the calculation and analysis of steps (b) to (f).
Citation Information
Patent Citations
Reference sphere positioning and measuring method based on line-structured light vision sensor
CN103175470A