A method and system for calibrating a heterogeneous robotic arm
Patent Information
- Application Number
- CN202410332044.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-03-22
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2044-03-22
AI Technical Summary
[0002]目前,由于工业水平的不断提高,机械臂也得到了广泛的使用,但是机械臂作为关键设备,其精度没有办法得到保证,加工、装配、测量等环节都会存在误差,使得最后加工成型的机械臂无法直接进行使用
[0045] 1. The heterogeneous robotic arm calibration method and system provided by the present invention, when the control push rod drives the robotic arm to rotate around the joint, obtains the error value of the robotic arm rotating around the joint by comparing the actual angle obtained by the identification mark with the calculated maximum rotation angle of the robotic arm, so as to perform calibration work; and adopts a distributed, step-by-step calibration method, which further improves the accuracy and reliability of heterogeneous robotic arm calibration.
Smart Images

Figure CN118061183B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotic arm calibration technology, and further to a method and system for calibrating heterogeneous robotic arms. Background Technology
[0002] Currently, due to the continuous improvement of industrial level, robotic arms have been widely used. However, as a key piece of equipment, the precision of robotic arms cannot be guaranteed. Errors will occur in the processing, assembly, and measurement processes, making the final processed robotic arms unusable.
[0003] In conclusion, improvements to the current technology are necessary. Summary of the Invention
[0004] To address the aforementioned technical problems, the present invention aims to provide a method and system for calibrating heterogeneous robotic arms, which can effectively calibrate the robotic arms, avoid errors generated during processing and assembly from affecting the normal use of the robotic arms, and improve the reliability and accuracy of the robotic arm's operation.
[0005] To achieve the above objectives, the present invention provides a method for calibrating a heterogeneous robotic arm, comprising the following steps:
[0006] The robotic arm is controlled to rotate around a joint, and the maximum rotation angle of the robotic arm is obtained, as well as the actual angle of rotation of the identification mark attached to the robotic arm. The identification mark is used to form a real-time displacement trajectory corresponding to the robotic arm.
[0007] Calculate the angle error between the maximum rotation angle and the actual angle, determine whether the angle error is within a preset range, and obtain the first calibration result.
[0008] In some embodiments, a push rod is connected to the robotic arm for driving the robotic arm to rotate about a corresponding joint, and the step of controlling the robotic arm to rotate about the joint is further included before the following steps:
[0009] Adjust the length of the push rod to the first preset length and enter the first preset length;
[0010] The starting position of the push rod is marked as the first vertex, the point of action between the push rod and the robotic arm is marked as the second vertex, the joint of the robotic arm is marked as the third vertex, the distance between the first vertex and the third vertex is marked as the second preset length, and the distance between the second vertex and the third vertex is marked as the third preset length.
[0011] Then enter the second preset length and the third preset length.
[0012] In some embodiments, before obtaining the maximum rotation angle traversed by the robotic arm, the first preset length is adjusted to the maximum length of the push rod as the push rod is driven. The specific steps for obtaining the maximum rotation angle traversed by the robotic arm include:
[0013] The first included angle corresponding to the first preset length is obtained based on the triangle formed by the first preset length, the second preset length, and the third preset length;
[0014] The second included angle corresponding to the maximum length of the push rod is obtained based on the triangle formed by the maximum length of the push rod, the second preset length, and the third preset length;
[0015] The maximum rotation angle of the robotic arm is obtained based on the difference between the first included angle and the second included angle.
[0016] In some embodiments, when the push rod length is adjusted to the first preset length, the step further includes:
[0017] The identification tag is photographed, and the first pose corresponding to the identification tag is recorded.
[0018] In some embodiments, obtaining the actual angle rotated by the identification tag affixed to the robotic arm specifically includes:
[0019] When the first preset length is adjusted to the maximum length of the push rod as the push rod is driven, the identification mark is photographed again, and the second pose corresponding to the identification mark is recorded.
[0020] The actual angle turned by the identification target is obtained based on the angle difference between the first pose and the second pose.
[0021] In some embodiments, the robotic arm includes a large robotic arm and a small robotic arm, the push rods are distinguished as a first push rod and a second push rod, the large robotic arm and the small robotic arm are both connected to the corresponding joints, and the large robotic arm is driven to rotate around joint one by the first push rod, and the small robotic arm is driven to rotate around joint two by the second push rod.
[0022] Furthermore, the robotic arm is also equipped with a third push rod, which drives the end effector to rotate around the joint.
[0023] The control of the robotic arm to rotate around the joint specifically includes:
[0024] The first push rod, the second push rod, and the third push rod are driven in sequence to cause the mechanical arm, the mechanical forearm, and the end effector to rotate around their respective joints in sequence.
[0025] In some embodiments, the robotic arm, the robotic forearm, and the end effector are all affixed with corresponding identification tags;
[0026] The heterogeneous robotic arm calibration method also includes the following steps:
[0027] Calculate the actual distance between joint one and joint two, and between joint two and joint three, and record the actual distance to complete the calibration.
[0028] In some embodiments, calculating the actual distance between joint one and joint two, and between joint two and joint three, includes the following steps:
[0029] By controlling the first push rod to extend to multiple different lengths while keeping the second push rod and the third push rod unchanged, the identification mark on the mechanical arm can form multiple different front end poses.
[0030] Calculate the first rotation center based on multiple different front-end poses;
[0031] Then, control the second push rod to extend to multiple different lengths while keeping the first push rod and the third push rod unchanged, and make the identification mark on the robotic arm form multiple different rear end poses;
[0032] Calculate the second rotation center based on multiple different back-end poses;
[0033] Then, the third push rod is controlled to extend to multiple different lengths while the first push rod and the second push rod remain unchanged, and the identification mark on the end effector forms multiple different end poses;
[0034] The third rotation center is calculated based on multiple different end poses.
[0035] In some embodiments, the front-end pose, the rear-end pose, and the end-effector pose are each three, and the calculation of the actual distance between joint one and joint two, and joint two and joint three specifically includes:
[0036] Based on the three different front-end poses, the first pose coordinates, the second pose coordinates, and the third pose coordinates are generated synchronously. The first rotation center is calculated by using the three-point coplanar constraint and the constraint that the three points are equidistant from the center of the circle.
[0037] Similarly, the second rotation center and the third rotation center are calculated again;
[0038] The calibration distance of the mechanical arm is obtained based on the first rotation center and the second rotation center;
[0039] The calibrated distance of the robotic arm is obtained based on the second rotation center and the third rotation center.
[0040] Another aspect of the present invention also provides a heterogeneous robotic arm calibration system, comprising:
[0041] A control unit is used to control the robotic arm so that the robotic arm can rotate around the corresponding joints, thereby obtaining the theoretical rotation angle of the robotic arm;
[0042] The identification tag and the camera are provided. The identification tag is affixed to the robotic arm, and the camera is positioned relative to the identification tag to form the real-time displacement trajectory of the identification tag when the robotic arm rotates.
[0043] The data processing unit is used to perform data processing, so that after generating the actual rotation angle through the real-time displacement trajectory, the error between the theoretical rotation angle and the actual rotation angle is compared.
[0044] Compared with the prior art, the heterogeneous robotic arm calibration method and system provided by the present invention have the following beneficial effects:
[0045] 1. The heterogeneous robotic arm calibration method and system provided by the present invention, when the control push rod drives the robotic arm to rotate around the joint, obtains the error value of the robotic arm rotating around the joint by comparing the actual angle obtained by the identification mark with the calculated maximum rotation angle of the robotic arm, so as to perform calibration work; and adopts a distributed, step-by-step calibration method, which further improves the accuracy and reliability of heterogeneous robotic arm calibration.
[0046] 2. The heterogeneous robotic arm calibration method and system provided by the present invention can identify that the robotic arm can generate multiple poses when driven by the push rod. The rotation center can be calculated through different poses, and the actual distance between the joints can be obtained through the corresponding two rotation centers, so as to correct the data according to the actual installation of the robotic arm. Attached Figure Description
[0047] The preferred embodiments will now be described in a clear and easy-to-understand manner, in conjunction with the accompanying drawings, to further explain the above-mentioned characteristics, technical features, advantages, and implementation methods of the present invention.
[0048] Figure 1 This is a flowchart of one embodiment of the present invention;
[0049] Figure 2 This is a flowchart of one embodiment of the present invention;
[0050] Figure 3 This is a flowchart of another embodiment of the present invention;
[0051] Figure 4 This is a schematic diagram of the overall structure related to one embodiment of the present invention;
[0052] Figure 5 This is a schematic diagram of the overall structure related to another embodiment of the present invention;
[0053] Figure 6 This is a simplified structural diagram of an embodiment of the present invention.
[0054] Reference numerals: 1. Robotic arm; 11. Robotic upper arm; 12. Robotic lower arm; 13. End effector; 2. Identifier; 31. First push rod; 32. Second push rod; 33. Third push rod; 41. Joint 1; 42. Joint 2; 43. Power supply unit; 5. Data processing unit; 6. Imaging device; 7. Control unit; 8. Detailed Implementation
[0055] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the specific implementation methods of the present invention will be described below with reference to the accompanying drawings. Obviously, the drawings described below are merely some embodiments of the present invention. For those skilled in the art, other drawings and other implementation methods can be obtained based on these drawings without any creative effort.
[0056] To keep the drawings concise, each figure only schematically shows the parts relevant to the invention, and these do not represent the actual structure of the product. Furthermore, to facilitate understanding, in some figures, only one of components with the same structure or function is schematically depicted, or only one is labeled. In this document, "one" not only means "only one," but can also mean "more than one."
[0057] It should also be further understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.
[0058] In this document, it should be noted that, unless otherwise explicitly specified and limited, the terms "installation," "connection," and "linking" should be interpreted broadly. For example, they can refer to fixed connections, detachable connections, or integral connections; they can refer to mechanical connections or electrical connections; they can refer to direct connections or indirect connections through an intermediate medium; and they can refer to the internal communication between two components. Those skilled in the art can understand the specific meaning of the above terms in this invention based on the specific circumstances.
[0059] In the description of this invention, it should be understood that the terms "center," "longitudinal," "lateral," "length," "width," "thickness," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," "clockwise," "counterclockwise," "axial," "radial," and "circumferential" indicate the orientation or positional relationship based on the orientation or positional relationship shown in the accompanying drawings. They are used only for the convenience of describing this invention and simplifying the description, and do not indicate or imply that the device or element referred to must have a specific orientation, or be constructed and operated in a specific orientation. Therefore, they should not be construed as limitations on this invention.
[0060] Furthermore, in the description of this application, the terms "first," "second," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.
[0061] In one embodiment, refer to the appendix to the specification. Figure 1 The present invention describes a method for calibrating a heterogeneous robotic arm. This method can effectively calibrate the robotic arm, avoid errors generated during processing and assembly from affecting the normal use of the robotic arm, and improve the reliability and accuracy of the robotic arm's operation.
[0062] Reference manual attached Figure 1 The present invention provides a method for calibrating a heterogeneous robotic arm, comprising the following steps:
[0063] Step S1: Control the robotic arm to rotate around the joint, obtain the maximum rotation angle of the robotic arm, and obtain the actual angle of the identification mark attached to the robotic arm. The identification mark is used to form the real-time displacement trajectory corresponding to the robotic arm.
[0064] It should be noted that in step S1 above, controlling the robotic arm to rotate around the joint can be done manually or automatically by a program in practical applications. Meanwhile, the real-time displacement trajectory of the identification target is generally recorded by a camera. One or more identification targets can be attached according to the number of segments of the robotic arm, as long as each identification target is within the camera's field of view.
[0065] Step S2: Calculate the angle error value between the maximum rotation angle and the actual angle, determine whether the angle error value is within the preset range, and obtain the first calibration result.
[0066] It is understandable that the larger the angle error value caused by the maximum rotation angle and the actual angle, the lower the accuracy of the robotic arm movement. If this angle error value can fall within the preset range, it can be judged that the calibration is completed. Otherwise, if it does not fall within the preset range, steps S1 and S2 can be repeated until the requirements are met.
[0067] In this embodiment, no specific limit is set on the preset range. The angle error value can be in the range of 0-0.25 degrees. It mainly depends on the user's accuracy requirements for the robotic arm. If the accuracy requirements are not very high, the preset range can be appropriately widened. Similarly, if the accuracy requirements are high, the preset range is narrowed so that robotic arms that do not meet the requirements can be repeatedly corrected and verified.
[0068] Furthermore, a push rod is connected to the robotic arm, which is used to drive the robotic arm to rotate around the corresponding joints. Generally, an electric push rod can be used for driving. In addition, the process of obtaining the first calibration result in step S2 is also easy to understand. If the robotic arm has many joints, it can be controlled to rotate in multiple segments in stages. In this case, multiple angle error values will be generated in the previous steps, thus generating multiple calibration results. These calibration results are the first calibration result, the second calibration result, and so on.
[0069] In one embodiment, before controlling the robotic arm to rotate around the joint in step S1, such as Figure 2 As shown, it also includes the following steps:
[0070] Step S01: Adjust the length of the push rod to the first preset length and enter the first preset length.
[0071] It should be noted that, under normal circumstances, the first preset length is formed when the push rod is retracted to its shortest position. However, the push rod can also be extended or retracted to a certain position to form an initial value. These adjustments to the operating parameters should be implemented according to the specific situation.
[0072] Step S02: Mark the starting position of the push rod as the first vertex, the point of action between the push rod and the robotic arm as the second vertex, the joint of the robotic arm as the third vertex, the distance between the first vertex and the third vertex as the second preset length, and the distance between the second vertex and the third vertex as the third preset length.
[0073] Step S03: Enter the second preset length and the third preset length.
[0074] In step S02 above, three vertices (first vertex, second vertex, and third vertex) are marked. A triangle can be formed by the three vertices. It is easy to understand that the first preset length can also be obtained from the distance between the first vertex and the second vertex. By inputting the first preset length, the second preset length, and the third preset length, the system or program can compare the input data with the actual data during subsequent calibration to obtain the actual movement of the robotic arm, so as to facilitate calibration and correction.
[0075] Of course, if the robotic arm has multiple joints, then multiple push rods will be needed for driving, and there will be more vertices used in calibration. This will be further explained in subsequent embodiments. Here, it is only to illustrate that the formation, position, and number of the vertices mentioned above may change depending on the specific robotic arm.
[0076] Based on the above embodiments, before obtaining the maximum rotation angle of the robotic arm in step S1, the first preset length is adjusted to the theoretical maximum length by the drive of the push rod, and with reference to the attached... Figure 3 The step S1 above, which involves obtaining the maximum rotation angle of the robotic arm, includes the following steps:
[0077] Step S11: Obtain the first included angle corresponding to the first preset length based on the triangle formed by the first preset length, the second preset length, and the third preset length.
[0078] Step S12: Obtain the second included angle corresponding to the maximum length of the push rod based on the triangle formed by the maximum length of the push rod, the second preset length, and the third preset length.
[0079] Step S13: Calculate the maximum rotation angle of the robotic arm based on the difference between the first included angle and the second included angle.
[0080] It should be noted that in steps S11 and S12, two triangles are obtained by combining the first preset length, the second preset length, the third preset length, and the theoretical length. The first included angle of the triangle is formed based on the data when the push rod is not driven. When the push rod drives the robotic arm, one side of the triangle will extend or retract, corresponding to the increase or decrease of the first preset length. The angle corresponding to the theoretical length then forms the second included angle.
[0081] Based on the above, we can use the law of cosines to calculate the first and second included angles. The only variable in this process is the length change of the push rod. Methods for obtaining this length change value exist in existing technologies, such as using a detection device to detect its extension / retraction length, or controlling the push rod to drive a fixed value and marking this fixed value as the length change value. The first preset length has already been entered in step S01, so the theoretical length can also be obtained through calculation, laying the foundation for subsequent calculations and calibration processes.
[0082] From the above, it is clear that all three sides of a triangle can be calculated. Therefore, according to the triangle cosine theorem: c 2 =a 2 +b 2-2ab cosθ, where a, b, and c are the lengths of the three sides of the triangle, and θ is the angle subtended by the first preset length (theoretical length). Substituting the first, second, third, and theoretical lengths into the equation twice, and then using the inverse cosine function: θ = arccos(a 2 +b 2 -c 2 The angle θ of the corresponding included angle in each triangle can be calculated by ) / 2ab), forming the first included angle and the second included angle mentioned above. Then, the difference between the two can be calculated to obtain the maximum rotation angle of the robotic arm.
[0083] Of course, it is also necessary to understand that in practical applications, technicians can program the above formulas. After the lengths of the three sides are entered, the program can directly calculate the first included angle and the second included angle, thereby improving its automation level.
[0084] In another embodiment, when the push rod length is adjusted to the first preset length in step S01, the method further includes the following step:
[0085] Step S05: Take a picture of the identification tag and record the first pose corresponding to the identification tag.
[0086] It should be noted that the main purpose of step S05 in this embodiment is similar to that of steps S01-S03 in the above embodiments. Both steps are used to input the data before comparison into the calibration program or system, so that when the push rod drives the robotic arm for formal calibration, it can compare with the data pre-recorded in the system to obtain the error value.
[0087] Of course, in this embodiment, what needs to be recorded is the first pose of the target being identified. This first pose corresponds to the state of the robotic arm when the first preset length is generated in step S01, that is, the state when the initial value is formed.
[0088] Based on the above embodiments, step S1, obtaining the actual angle rotated by the identification tag affixed to the robotic arm, specifically includes the following steps:
[0089] Step S14: When the first preset length is adjusted to the maximum length of the push rod as the push rod is driven, the identification mark is photographed again, and the second pose corresponding to the identification mark is recorded.
[0090] Step S15: Obtain the actual angle rotated by the identification target based on the angle difference between the first pose and the second pose.
[0091] Understandably, since the above steps S14 and S15 occur after the robotic arm rotates, the second pose is recorded and compared with the first pose in step S05 to obtain the angle generated by the robotic arm rotating synchronously from the initial position. The difference between this angle and the angle difference obtained from the first and second included angles is checked and corrected to determine the error and complete the calibration work.
[0092] Meanwhile, after the robotic arm rotates, there is no essential requirement to calculate whether the actual angle generated by the identification mark is calculated first or the maximum rotation angle obtained by the triangle cosine theorem is calculated first. As long as it does not affect the accuracy of the calibration, the order of the two can be changed or completed simultaneously.
[0093] In one embodiment, such as Figure 4 As shown, the robotic arm includes a large robotic arm 11 and a small robotic arm 12. The push rods are distinguished as a first push rod 31 and a second push rod 32. Both the large robotic arm 11 and the small robotic arm 12 are connected to corresponding joints. The large robotic arm 11 is driven to rotate around joint 41 by the first push rod 31, and the small robotic arm 12 is driven to rotate around joint 42 by the second push rod 32.
[0094] It is easy to understand that the robotic arm 11 is connected to the base via a joint, and the robotic forearm 12 is connected to the robotic arm 11 via a joint. Therefore, the above calibration process can be carried out step by step, thereby improving the calibration accuracy of each level.
[0095] Furthermore, such as Figure 4 and Figure 5 As shown, the robotic arm also includes an end effector 13, which is schematically represented as a suction cup in the attached figure. It can be seen that the suction cup (end effector 13) is driven to rotate around joint 43 by the third push rod 33. When this embodiment is combined with the above embodiment, the first push rod 31, the second push rod 32, and the third push rod 33 are driven in sequence, so that the length C1 of the first push rod 31, the length C2 of the second push rod 32, and the length C3 of the third push rod 33 are used as unique variables in sequence.
[0096] At the same time, the triangle formed by the first push rod 31, the second push rod 32, and the third push rod 33 can be attached... Figure 5 As can be seen above, triangle A1B1C1 corresponds to the first push rod 31, and triangle A2B2C2 corresponds to the second push rod 32. The calibration method for these two can be found above.
[0097] The calibration related to the third push rod 33 differs from the above method. First, the end effector 13 is connected to the third push rod 33, and the end effector 13 is also connected to the mechanical arm 12 through joints, so that there are multiple joints at the connection of the end effector 13. The different side lengths shown in the figure are formed by the multiple joints and are marked as A3, B3, C3, D3, E3, and F3 respectively. The included angle between the two sides D3 and E3 is obtained during the relevant calibration.
[0098] First, calculate the included angle θ1 between the two sides A3 and B3 in triangle A3B3C3. Similarly, calculate the included angle θ2 between the two sides A3 and D3 (the complete triangle is not shown in the attached diagram). Then, construct a virtual side L in polygon B3D3E3F3 to divide the polygon into two triangles B3D3L and F3E3L.
[0099] The difference between angles θ1 and θ2 is the angle opposite to the virtual side L in triangle B3D3L. Therefore, the length of the virtual side L can be calculated using the following formula: L 2 =L B3 2 +L D3 2 -2LB3L D3 cos(θ2-θ1), where L B3 L D3 That is, the lengths of B3 and D3; finally, since the lengths of each side of triangle B3D3L and triangle F3E3L are known, the angle formed by the two sides D3 and E3 can be obtained by adding the angles of the corresponding included angles of the two triangles.
[0100] The angle between D3 and E3 obtained in the above process will change synchronously with the extension or retraction of the third push rod 33. The subsequent calibration process is similar to the process of controlling the push rod and comparing the theoretical value with the actual value in the above embodiment, and will not be described in detail here.
[0101] At the same time, according to the appendix Figure 4 As can be seen, the identification mark 2 is also affixed to the robotic arm 11, robotic arm 12 and end effector 13 respectively. It should be noted that there are no precise position or direction requirements for the affixing of the identification mark 2. As long as it is firmly attached, it is acceptable as long as it does not affect the identification of the movement trajectory of the identification mark 2. The degree of freedom is relatively high.
[0102] In one embodiment, the heterogeneous robotic arm calibration method provided by the present invention further includes the following steps:
[0103] Step S21: Calculate the actual distances between joint one and joint two, and between joint two and joint three, and enter the actual distances to complete the calibration.
[0104] It should be noted that in some cases, the mechanical arm in this embodiment is the mechanical arm 11, mechanical arm 12, and end effector 13 in the above embodiments. In this case, the mechanical arm has three joints, from the attached... Figure 5 Looking from left to right, these are joint 1 (41), joint 2 (42), and joint 3 (43). Joint 1 (41) and joint 2 (42), as well as joint 2 (42) and joint 3 (43), form a group of adjacent joints, thus laying the foundation for the calibration of lengths L1 and L2.
[0105] The lengths L1 and L2 mentioned above are the lengths of the robotic arm structure itself, and correspond to the straight-line lengths between the joints of the upper robotic arm 11 and the lower robotic arm 12 in the attached diagram. Due to the processing and installation processes, there will be errors with the design data, so it is necessary to verify and correct them. In the following text, the calibration of the upper robotic arm 11 and the lower robotic arm 12 can be used as an example to facilitate further understanding.
[0106] Based on the above embodiments, the calculation of the actual distance between joint one and joint two, and between joint two and joint three in step S21 includes the following steps:
[0107] Step S210: Control the first push rod to extend to multiple different lengths while keeping the second and third push rods unchanged, so that the identification mark on the robotic arm forms multiple different front-end poses.
[0108] Step S211: Calculate the first rotation center based on the multiple different front-end poses formed in step S210.
[0109] Step S212: Then control the second push rod to extend to multiple different lengths while keeping the first push rod and the third push rod unchanged, and make the identification mark on the robotic arm form multiple different rear end poses.
[0110] Step S213: Calculate the second rotation center based on the multiple different back-end poses formed in step S212.
[0111] Step S214: Then control the third push rod to extend to multiple different lengths while keeping the first push rod and the second push rod unchanged, and make the identification mark on the end effector form multiple different end poses.
[0112] Step S215: Calculate the third rotation center based on the multiple different end poses formed in step S214.
[0113] It is understandable that the first, second, and third rotation centers mentioned above are all formed by identifying the target's motion trajectory, i.e., the front-end pose, rear-end pose, and end-effector pose. Therefore, they can effectively reflect the actual positions of the corresponding joints when the robotic arm 11 and robotic forearm 12 rotate around the joints. In the attached drawings, the first rotation center is referred to by R1, the second rotation center by R2, and the third rotation center by R3. (See also the attached drawings.) Figure 4 and Figure 5 It can be observed that the positions of several rotation centers and several joints are consistent, but in fact, certain errors will occur between the two during the processing and installation process. Due to the limitations of the attached drawings, such errors may not be visible to the naked eye and do not mean that the two have the same meaning. This point will not be elaborated on further.
[0114] In this embodiment, there is no specific limitation on the number of front-end poses, back-end poses, and end-end poses. Multiple poses can be formed and several can be randomly selected for the calculation of rotation centers. Alternatively, one of the rotation centers can be calculated multiple times and the average value can be obtained to minimize errors.
[0115] Furthermore, there are three poses for the front end, the rear end, and the end effector. The calculation of the actual distance between joint 1 41 and joint 2 42, and joint 2 42 and joint 3 43 in step S21 above also includes more detailed steps as follows:
[0116] Step S220: Based on three different front-end poses, the first pose coordinate, the second pose coordinate, and the third pose coordinate are generated synchronously. Using the three-point coplanar constraint and the constraint that the three points are equidistant from the center of the circle, the first rotation center is calculated.
[0117] Step S221: Similar to step S220, calculate the second rotation center and the third rotation center.
[0118] Step S222: Obtain the calibration distance of the mechanical arm based on the first rotation center and the second rotation center.
[0119] Step S223: Obtain the calibration distance of the robotic arm based on the second and third rotation centers.
[0120] In the above embodiments, we have learned that the rotation center is calculated by using the front-end pose and the back-end pose. In this embodiment, this application specifies this part by forming different coordinates through three front-end poses or three back-end poses, and then calculating the rotation center.
[0121] The above content will be explained by the calculation process of the first rotation center R1 (the following content is based on the established spatial rectangular coordinate system).
[0122] First, the coordinates of the three front-end poses can be read using a camera (a tool with the same function) and the corresponding control terminal, thereby obtaining pos1(x) p1 ,y p1 ,z p1 ),pos2)x p2 ,y p2 ,z p2 ), pos3(x p3 ,y p3 ,z p3 The coordinates of the first rotation center R1 need to be determined.
[0123] Based on the two constraints: the three points are coplanar and the three points are equidistant from the center of the circle, the following equation can be derived:
[0124] Based on the adjustment that the three points are coplanar, let the equation of the plane be: A1*x + B1*y + C1*z + D1 = 0, then we have:
[0125] A1*x p1 +B1*y P1 +C1*z p1 +D1=0
[0126] A1*x p2 +B1*y P2 +C1*z p2 +D1=0
[0127] A1*x p3 +B1*y P3 +C1*z p3 +D1=0
[0128] We can find A1, B1, C1, and D1, and obtain equation ① as: A1*x j1 +B1*y j1 +C1*z j1 +D1=0;
[0129] Based on the condition that the three points are equidistant from the center of the circle, the following equation can be written:
[0130] R 2 =(x p1 -x j1 ) 2 +(y p1 -y j1 ) 2 +(z p1 -z j1 ) 2
[0131] R 2 =(x p2 -x j1) 2 +(y p2 -y j1 ) 2 +(z p2 -z j1 ) 2
[0132] R 2 =(x p3 -x j1 ) 2 +(y p3 -y j1 ) 2 +(z p3 -z j1 ) 2
[0133] Solving equation ①, the coordinates of the first rotation center R1 are (x... j1 ,y j1 ,z j1 Similarly, the coordinates of the second rotation center R2 can be solved, and the length of L1 can be obtained through the distance formula between two points. The length of L2 can be obtained by the same means through the two constraints mentioned above. The distance between R2 and R3 can then be calculated using the distance formula between two points. This will not be elaborated here.
[0134] Finally, the lengths of L1 and L2 obtained from the above process are entered into the system to complete the calibration of the actual length of the robotic arm.
[0135] In one embodiment, refer to the appendix to the specification. Figure 6 According to another aspect of the present invention, the present invention further provides a heterogeneous robotic arm calibration system, including a control unit 8, a data processing unit 6, an identification mark 2, and an imaging component 7.
[0136] The control unit 8 controls the robotic arm 1, enabling it to rotate around the corresponding joints to obtain the theoretical rotation angle of the robotic arm 1. The identification tag 2 is affixed to the robotic arm 1. The imaging element 7 is positioned relative to the identification tag 2, and its field of view covers the entire range of motion of all identification tags 2. It is used to form the real-time displacement trajectory of the identification tag 2 when the robotic arm 1 rotates. The data processing unit 6 is used to perform data processing, so that after generating the actual rotation angle through the real-time displacement trajectory, the error between the theoretical rotation angle and the actual rotation angle is compared.
[0137] Furthermore, the aforementioned heterogeneous robotic arm calibration system also includes a power supply unit 5 for supplying power to the overall system. The specific type of power supply unit 5 is not limited here, and those skilled in the art can select appropriate power supplies without affecting the technical effect of the present invention.
[0138] It should be noted that the above embodiments can be freely combined as needed. The above are merely preferred embodiments of the present invention. It should be pointed out that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A calibration method for a heterogeneous robotic arm, characterized in that, Including the following steps: The robotic arm is controlled to rotate around a joint, and the maximum rotation angle of the robotic arm is obtained, as well as the actual angle of rotation of the identification mark attached to the robotic arm. The identification mark is used to form a real-time displacement trajectory corresponding to the robotic arm. Calculate the angle error between the maximum rotation angle and the actual angle, determine whether the angle error is within a preset range, and obtain the first calibration result; The robotic arm is connected to a push rod, which drives the robotic arm to rotate around the corresponding joint. Before controlling the robotic arm to rotate around the joint, the following step is also included: Adjust the length of the push rod to the first preset length and enter the first preset length; The starting position of the push rod is marked as the first vertex, the point of action between the push rod and the robotic arm is marked as the second vertex, the joint of the robotic arm is marked as the third vertex, the distance between the first vertex and the third vertex is marked as the second preset length, and the distance between the second vertex and the third vertex is marked as the third preset length. Then enter the second preset length and the third preset length; Before obtaining the maximum rotation angle traversed by the robotic arm, the first preset length is adjusted to the maximum length of the push rod as the push rod is driven. The specific steps for obtaining the maximum rotation angle traversed by the robotic arm are as follows: The first included angle corresponding to the first preset length is obtained based on the triangle formed by the first preset length, the second preset length, and the third preset length; The second included angle corresponding to the maximum length of the push rod is obtained based on the triangle formed by the maximum length of the push rod, the second preset length, and the third preset length; The maximum rotation angle of the robotic arm is obtained based on the difference between the first included angle and the second included angle.
2. The method for calibrating a heterogeneous robotic arm according to claim 1, characterized in that, When the push rod length is adjusted to the first preset length, the method further includes the following steps: The identification tag is photographed, and the first pose corresponding to the identification tag is recorded.
3. The method for calibrating a heterogeneous robotic arm according to claim 2, characterized in that, The process of obtaining the actual angle rotated by the identification tag affixed to the robotic arm specifically includes: When the first preset length is adjusted to the maximum length of the push rod as the push rod is driven, the identification mark is photographed again, and the second pose corresponding to the identification mark is recorded. The actual angle turned by the identification target is obtained based on the angle difference between the first pose and the second pose.
4. The method for calibrating a heterogeneous robotic arm according to claim 1, characterized in that, The robotic arm includes a large robotic arm and a small robotic arm. The push rods are distinguished as a first push rod and a second push rod. The large robotic arm and the small robotic arm are both connected to the corresponding joints. The large robotic arm is driven to rotate around joint one by the first push rod, and the small robotic arm is driven to rotate around joint two by the second push rod. Furthermore, the robotic arm is also equipped with a third push rod, which drives the end effector to rotate around the joint. The control of the robotic arm to rotate around the joint specifically includes: The first push rod, the second push rod, and the third push rod are driven in sequence to cause the mechanical arm, the mechanical forearm, and the end effector to rotate around their respective joints in sequence.
5. The method for calibrating a heterogeneous robotic arm according to claim 4, characterized in that, The robotic arm, the robotic forearm, and the end effector are all affixed with corresponding identification tags. The heterogeneous robotic arm calibration method also includes the following steps: Calculate the actual distance between joint one and joint two, and between joint two and joint three, and record the actual distance to complete the calibration.
6. The method for calibrating a heterogeneous robotic arm according to claim 5, characterized in that, The calculation of the actual distance between joint one and joint two, and between joint two and joint three, includes the following steps: By controlling the first push rod to extend to multiple different lengths while keeping the second push rod and the third push rod unchanged, the identification mark on the mechanical arm can form multiple different front end poses. Calculate the first rotation center based on multiple different front-end poses; Then, control the second push rod to extend to multiple different lengths while keeping the first push rod and the third push rod unchanged, and make the identification mark on the robotic arm form multiple different rear end poses; Calculate the second rotation center based on multiple different back-end poses; Then, the third push rod is controlled to extend to multiple different lengths while the first push rod and the second push rod remain unchanged, and the identification mark on the end effector forms multiple different end poses; The third rotation center is calculated based on multiple different end poses.
7. The method for calibrating a heterogeneous robotic arm according to claim 6, characterized in that, The front-end pose, the rear-end pose, and the end-effector pose each have three values. The calculation of the actual distance between joint one and joint two, and between joint two and joint three, specifically includes: Based on the three different front-end poses, the first pose coordinates, the second pose coordinates, and the third pose coordinates are generated synchronously. The first rotation center is calculated by using the three-point coplanar constraint and the constraint that the three points are equidistant from the center of the circle. Similarly, the second rotation center and the third rotation center are calculated again; The calibration distance of the mechanical arm is obtained based on the first rotation center and the second rotation center; The calibrated distance of the robotic arm is obtained based on the second rotation center and the third rotation center.
8. A heterogeneous robotic arm calibration system for performing the heterogeneous robotic arm calibration method as described in any one of claims 1-7, characterized in that, include: A control unit is used to control the robotic arm so that the robotic arm can rotate around the corresponding joints, thereby obtaining the maximum rotation angle of the robotic arm; The identification tag and the camera are provided. The identification tag is affixed to the robotic arm, and the camera is positioned relative to the identification tag to form the real-time displacement trajectory of the identification tag when the robotic arm rotates. The data processing unit is used to perform data processing, so that after generating the actual rotation angle through the real-time displacement trajectory, the error between the maximum rotation angle and the actual rotation angle is compared.
Citation Information
Patent Citations
Method for performing camera calibration and coordinate conversion based on SCARA mechanical hand
CN107160380A
Desktop mechanical arm calibration method and device
CN112589800A