Robot arm calibration method, device, system, equipment and storage medium

By calibrating and calibrating the chess robotic arm accuracy, the angle deviation problem of the robotic arm during chess is solved, and the accuracy and ornamentality of chess are achieved.

CN118952234BActive Publication Date: 2025-05-16IFLYTEK (SUZHOU) TECH CO LTD
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
CN202411449610.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-10-17
Publication Date
2025-05-16
Estimated Expiration
2044-10-17

AI Technical Summary

Technical Problem

When the existing chess robot arm is controlled by magnetic braiding, there is a large degree of angle deviation, which leads to skew or overlap when picking and putting the chess pieces, affecting the accuracy and ornamentality of chess.

Method used

By calibrating the chess robotic arm accurately, the angle deviation value is determined using the encoder angle value of the calibration basis point and the calibration point, and the angle error value of each chess point on the chess board is linearly inserted to perform the robotic arm calibration.

Benefits of technology

The complete accuracy calibration of the chess robot arm is achieved, the accuracy of chess picking and placement of chess pieces is improved, the problems of skew or overlap are avoided, and the deviation of the chess robot arm is improved, thereby improving the accuracy and ornamentality of chess.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118952234B_ABST
    Figure CN118952234B_ABST
Patent Text Reader

Abstract

The invention relates to the field of robot technology, and provides a mechanical arm calibration method, device, system, equipment and storage medium. The method comprises: selecting points based on calibration base points on a chessboard to obtain a plurality of calibration points, respectively determining encoder angle values ​​when a chess playing mechanical arm to be calibrated is at the calibration base point and each calibration point, and determining angle deviation values ​​of each calibration point based on the encoder angle values ​​corresponding to the calibration base point and each calibration point; performing linear interpolation based on the angle deviation value and theoretical deviation value of each calibration point to obtain angle error values ​​of each chess playing point on the chessboard, and calibrating the chess playing mechanical arm based on the angle error values ​​of each chess playing point, thereby overcoming the defects of large action deviation of the chess playing mechanical arm in the traditional solution and difficulty in accurately taking and placing chess pieces, and realizing full-board precision calibration of the chess playing mechanical arm through limited points, so that the chess playing mechanical arm can accurately take and place chess pieces during the chess playing process, and improving the accuracy and appreciation of chess playing.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of robotics technology, and in particular to a robotic arm calibration method, device, system, equipment and storage medium. Background Art

[0002] As an important branch of the field of intelligent robots, chess-playing robots have shown great potential and value in many fields such as chess competitions and education and training. However, in the process of achieving high-precision and high-stability chess-playing actions, chess-playing robots still face a series of technical challenges, among which the accuracy of the robot arm in picking up and placing pieces is particularly critical.

[0003] At present, the mechanical arms of chess-playing robots are mostly controlled by magnetic encoders for angle feedback. Although magnetic encoders have a fast response speed, their inherent random angle error problem cannot be ignored. This error will cause a certain deviation between the angle of magnetic encoder feedback and the actual angle, which in turn affects the accuracy of the mechanical arm in taking and placing chess pieces on the chessboard. Specifically, the angle deviation is large when taking and placing chess pieces, and the pieces are skewed or even overlapped, which seriously affects the accuracy and viewing of chess. In addition, during the production and assembly process of the mechanical arm, various dimensional deviations are inevitable, which further aggravates the movement deviation of the mechanical arm. Summary of the invention

[0004] The present invention provides a robot arm calibration method, device, system, equipment and storage medium, which are used to solve the problem that a chess-playing robot arm controlled by magnetic encoding in the prior art has a large degree of deviation in chess-playing actions. By calibrating the chess-playing accuracy of the chess-playing robot arm, it can accurately take and place chess pieces, thereby improving the chess-playing accuracy.

[0005] The present invention provides a mechanical arm calibration method, comprising:

[0006] Selecting points based on calibration base points on the chessboard to obtain multiple calibration points, wherein the calibration base points and each calibration point are all chess-playing points on the chessboard;

[0007] Determine the encoder angle values ​​of the chess playing robot arm to be calibrated when it is at the calibration base point and each calibration point respectively, and determine the angle deviation value of each calibration point based on the encoder angle values ​​corresponding to the calibration base point and each calibration point;

[0008] Linear interpolation is performed based on the angular deviation values ​​and theoretical deviation values ​​of the calibration points to obtain angular error values ​​of the chess-playing points on the chessboard, and based on the angular error values ​​of the chess-playing points, the chess-playing robot arm is calibrated; wherein the theoretical deviation value is determined based on the coordinates of the corresponding calibration points and the calibration base point on the chessboard.

[0009] According to a robot arm calibration method provided by the present invention, the angle error value of each chess point on the chessboard is obtained by performing linear interpolation based on the angle deviation value and the theoretical deviation value of each calibration point, including:

[0010] Determining the angular error value of each calibration point based on the angular deviation value and the theoretical deviation value of each calibration point;

[0011] Linear interpolation is performed based on the angular error values ​​of the calibration points to obtain angular error values ​​of the chess points on the chessboard.

[0012] According to a robot arm calibration method provided by the present invention, the linear interpolation based on the angle error values ​​of the calibration points to obtain the angle error values ​​of the chess points on the chessboard includes:

[0013] Determine the turning angle interval of the chess-playing robot arm on the chessboard;

[0014] Based on the angle error values ​​of the calibration points and the encoder angle values ​​corresponding to the calibration points, linear interpolation is performed within the rotation angle interval to obtain the angle error values ​​of the chess points on the chessboard.

[0015] According to a robot arm calibration method provided by the present invention, the angle error value of each calibration point is determined based on the angle deviation value and the theoretical deviation value of each calibration point, including:

[0016] Based on the angle deviation value and theoretical deviation value of each calibration point, performing data validity verification on each calibration point;

[0017] When the verification is passed, the angle error value of each calibration point is determined based on the angle deviation value and the theoretical deviation value of each calibration point.

[0018] According to a mechanical arm calibration method provided by the present invention, the chess-playing mechanical arm comprises an upper arm and a lower arm, and the point selection is performed based on the calibration base points on the chessboard to obtain multiple calibration points, including:

[0019] Determine an angle increment and a theoretical encoder angle value of the upper arm and the lower arm corresponding to the calibration base point;

[0020] Based on the theoretical encoder angle value, point positions of the upper arm and the lower arm are selected according to the angle increment to obtain a plurality of initial point positions corresponding to the upper arm and the lower arm respectively;

[0021] Multiple initial points corresponding to the upper arm and the lower arm are merged to obtain multiple calibration points.

[0022] According to a robot arm calibration method provided by the present invention, the theoretical deviation value is determined based on the theoretical encoder angle value of the calibration base point and the theoretical encoder angle value of the corresponding calibration point; the theoretical encoder angle value is obtained by performing a kinematic inverse operation on the coordinates of the corresponding chess point on the chessboard.

[0023] The present invention also provides a mechanical arm calibration device, comprising:

[0024] A point selection unit, used for selecting points based on calibration base points on the chessboard to obtain a plurality of calibration points, wherein the calibration base points and each calibration point are all chess-playing points on the chessboard;

[0025] A deviation determination unit, used to respectively determine the encoder angle values ​​of the chess playing robot arm to be calibrated when it is at the calibration base point and each calibration point, and determine the angle deviation value of each calibration point based on the encoder angle values ​​corresponding to the calibration base point and each calibration point;

[0026] The error calibration unit is used to perform linear interpolation based on the angular deviation values ​​of the calibration points and the theoretical deviation values ​​to obtain the angular error values ​​of the chess-playing points on the chessboard, and calibrate the chess-playing robot arm based on the angular error values ​​of the chess-playing points; wherein the theoretical deviation values ​​are determined based on the coordinates of the corresponding calibration points and the calibration base point on the chessboard.

[0027] The present invention also provides a mechanical arm calibration system, comprising a processor, a traction mechanical arm and a chess-playing mechanical arm to be calibrated;

[0028] The processor is used to select points based on the calibration base points on the chessboard to obtain multiple calibration points, and control the traction mechanical arm to pull the chess-playing mechanical arm to the calibration base points and each calibration point, record the encoder angle value when the chess-playing mechanical arm is at the calibration base points and each calibration point, and determine the angle deviation value of each calibration point based on the encoder angle value corresponding to the calibration base points and each calibration point; perform linear interpolation based on the angle deviation value and theoretical deviation value of each calibration point to obtain the angle error value of each chess-playing point on the chessboard, and calibrate the chess-playing mechanical arm based on the angle error value of each chess-playing point;

[0029] The calibration base point and each calibration point are all chess-playing points on the chessboard; the theoretical deviation value is determined based on the coordinates of the corresponding calibration point and the calibration base point on the chessboard.

[0030] The present invention also provides an electronic device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, a robot arm calibration method as described above is implemented.

[0031] The present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the robot arm calibration method as described in any one of the above is implemented.

[0032] The mechanical arm calibration method, device, system, equipment and storage medium provided by the present invention select points according to the calibration base points on the chessboard to obtain multiple calibration points, respectively determine the encoder angle values ​​of the chess-playing mechanical arm to be calibrated when it is at the calibration base points and each calibration point, and determine the angle deviation value of each calibration point based on the encoder angle values ​​corresponding to the calibration base points and each calibration point; perform linear interpolation based on the angle deviation value and theoretical deviation value of each calibration point to obtain the angle error value of each chess-playing point on the chessboard, and calibrate the chess-playing mechanical arm based on the angle error value of each chess-playing point, thereby overcoming the defects of the chess-playing mechanical arm having a large motion deviation and being difficult to accurately take and place chess pieces in the traditional scheme, and realizing the full-board precision calibration of the chess-playing mechanical arm through limited points, so that it can accurately take and place chess pieces during the chess-playing process without the problem of skewing and overlapping, thereby improving the deviation problem of the chess-playing mechanical arm, thereby improving the accuracy and viewing of chess-playing. BRIEF DESCRIPTION OF THE DRAWINGS

[0033] In order to more clearly illustrate the technical solutions in the present invention or the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.

[0034] Figure 1 It is a schematic flow chart of the robot arm calibration method provided by the present invention;

[0035] Figure 2 is a schematic diagram of an encoder feedback curve provided by the present invention;

[0036] Figure 3 is a schematic diagram of an encoder error curve provided by the present invention;

[0037] Figure 4 is a schematic diagram of a mechanical arm during calibration data collection provided by the present invention;

[0038] Figure 5 It is a schematic diagram of a chess-playing mechanical arm and a chessboard provided by the present invention;

[0039] Figure 6 is an example diagram of the angle error of the upper arm provided by the present invention;

[0040] Figure 7 is an example diagram of the angle error of the forearm provided by the present invention;

[0041] Figure 8 is an example diagram of the angle error curve of the upper arm provided by the present invention;

[0042] Fig. 9 It is a structural schematic diagram of the mechanical arm calibration device provided by the present invention;

[0043] Fig.10 It is a structural schematic diagram of the mechanical arm calibration system provided by the present invention;

[0044] Fig.11 It is a structural schematic diagram of the electronic device provided by the present invention. DETAILED DESCRIPTION

[0045] In order to make the purpose, technical solution and advantages of the present invention clearer, the technical solution of the present invention will be clearly and completely described below in conjunction with the drawings of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of the present invention.

[0046] The present invention provides a mechanical arm calibration method, which aims to calibrate the chess-playing points of the mechanical arm of a chess-playing robot (chess-playing mechanical arm) so as to correct the errors generated by an encoder, so that the chess-playing mechanical arm can operate according to the corrected encoder angle, thereby improving the accuracy of chess piece placement and picking, and further achieving high-precision chess playing. Figure 1 FIG. 1 is a flow chart of a robot arm calibration method provided by the present invention, such as Figure 1 As shown, the method includes:

[0047] Step 110, selecting points based on the calibration base points on the chessboard to obtain a plurality of calibration points, wherein the calibration base points and each calibration point are chess-playing points on the chessboard;

[0048] Step 120, respectively determining the encoder angle values ​​of the chess playing robot arm to be calibrated when it is at the calibration base point and each calibration point, and determining the angle deviation value of each calibration point based on the encoder angle values ​​corresponding to the calibration base point and each calibration point;

[0049] Step 130, linear interpolation is performed based on the angular deviation value of each calibration point and the theoretical deviation value to obtain the angular error value of each chess-playing point on the chessboard, and based on the angular error value of each chess-playing point, the chess-playing robot arm is calibrated; wherein the theoretical deviation value is determined based on the coordinates of the corresponding calibration point and the calibration base point on the chessboard.

[0050] Specifically, considering that most current chess-playing robotic arms are controlled by magnetic encoders, which have random angle errors, Figure 2is a schematic diagram of the encoder feedback curve provided by the present invention, Figure 3 is a schematic diagram of the encoder error curve provided by the present invention, such as Figure 2 and Figure 3 As shown, there is a deviation between the angle value fed back by the magnetic encoder and the actual angle value, which will cause the chess robot arm to deviate when taking and placing chess pieces on the chessboard, causing the chess pieces to be skewed or even overlapped.

[0051] In view of this, in an embodiment of the present invention, it is proposed that the chess-playing robot arm can be calibrated for chess-playing accuracy to correct the angle error generated by the encoder, so that the chess-playing robot arm can operate according to the corrected angle, achieve accurate placement of chess pieces, and improve chess-playing accuracy.

[0052] It can be understood that in the actual processing process, the precision calibration of the chess-playing robot arm is actually to achieve accurate picking and placing of chess pieces. Therefore, the precision calibration process can be understood as the calibration of the chess-playing robot arm's chess-playing points during the chess-playing process, so that it can accurately locate each chess-playing point on the chessboard, thereby achieving high-precision and accuracy in picking and placing chess pieces.

[0053] Based on this, in an embodiment of the present invention, before calibrating the chess-playing robot arm to achieve the calibration of chess-playing points, it is first necessary to determine the points on the chessboard used for calibration, which are referred to as calibration points. Considering the amount of calculation, complexity, and calibration efficiency of the system during calibration, in an embodiment of the present invention, the calibration points are limited, so that the chess-playing robot arm is calibrated through a limited number of calibration points, so that it can accurately locate all chess-playing points on the entire chessboard, achieve full-board calibration, and improve the accuracy of the chess-playing robot arm in playing chess.

[0054] Specifically, first, point selection can be performed to select points from all chess playing points on the chessboard for calibration of the chess playing robot arm, so that multiple calibration points can be obtained. Here, point selection can be performed based on the "zero point", that is, a chess playing point can be selected from the chessboard as the zero point, which is the reference point for point selection, and therefore can be called the calibration base point. Then, using this calibration base point as a reference, point selection can be performed on the chessboard according to the set requirements, so as to select points that meet the requirements from the various chess playing points on the chessboard as calibration points.

[0055] Here, the requirements for point selection can be angle increment requirements, such as the encoder angle corresponding to the point satisfies the set angle increment value, or density requirements, such as the selected points must meet the set density range, or specific quantity requirements, which are not specifically limited in the embodiments of the present invention. Among them, the calibration base point can be any chess point on the chessboard, for example, the most central chess point on the chessboard, or the chess point on the edge; and as a preference, in the embodiments of the present invention, the first point in the upper left corner of the chessboard, or the last point in the lower right corner is selected as the calibration base point.

[0056] Furthermore, after obtaining a plurality of calibration points, in an embodiment of the present invention, calibration data collection can be performed for the calibration points to obtain calibration data corresponding to each calibration point, thereby facilitating subsequent calibration of the chess-playing robotic arm; specifically, angle value collection can be performed for each calibration point to obtain its corresponding encoder angle value, and the angle deviation value corresponding to each calibration point can be determined based on this, so that the chess-playing robotic arm can be calibrated according to the angle deviation to improve its positioning accuracy of the chess points on the chessboard, so that the chess pieces can be accurately taken and placed during the chess game, thereby improving the accuracy and viewing experience of the chess game.

[0057] Specifically, the calibration data collection process here can be completed with the help of a high-precision robotic arm, that is, a high-precision robotic arm (traction robotic arm) can be used to drive the chess-playing robotic arm, so as to drive the chess-playing robotic arm to each calibration point, thereby facilitating the collection of the angle of encoder feedback of the chess-playing robotic arm at each calibration point, and obtaining the encoder angle value corresponding to each calibration point. Figure 4 is a schematic diagram of the mechanical arm during calibration data collection provided by the present invention, such as Figure 4 As shown, the end of the traction robot arm is connected to the chess-playing robot arm, so that the chess-playing robot arm can be accurately driven to each calibration point in turn by the high-precision traction robot arm. Specifically, the chess-playing robot arm is first driven to the calibration base point by the traction robot arm, and the encoder angle value of the current chess-playing robot arm is recorded. Then, the chess-playing robot arm can be driven to each calibration point in turn by the traction robot arm, and the encoder angle value of the chess-playing robot arm at each calibration point is recorded, so that the required calibration data can be obtained.

[0058] After that, the deviation of the feedback angle of the chess-playing robot arm when it is at each calibration point, that is, the angle deviation value of the encoder angle corresponding to each calibration point, can be determined based on the calibration data obtained. Here, specifically, the encoder angle value of the chess-playing robot arm at the calibration base point obtained based on the calibration data collection, and the encoder angle value of the chess-playing robot arm at each calibration point, are calculated to solve for the angle deviation of the encoder angle of each calibration point relative to the calibration base point, and this deviation value is used as the angle deviation value corresponding to each calibration point.

[0059] Furthermore, the chess-playing robot arm can be calibrated according to this angle deviation value. However, considering that the obtained angle deviation value is only the deviation data of some points, if the calibration is directly based on this, the accuracy of the robot arm can be improved to a certain extent. However, when facing a chess-playing point that is not a calibration point, it is still difficult to accurately locate it. Therefore, in order to achieve full calibration of the chessboard, the accuracy of the chess-playing points on the entire chessboard can be calibrated. In the embodiment of the present invention, the error can be fully normalized on the basis of the angle deviation values ​​of each calibration point obtained, so as to obtain the angle error values ​​of all chess-playing points on the entire chessboard. In this way, the subsequent calibration of the chess-playing robot arm can be performed on the entire chessboard rather than on individual local points. The calibration of all chess-playing points on the entire chessboard can be achieved, so that the chess-playing accuracy of the chess-playing robot arm is comprehensively improved and optimized.

[0060] Specifically, linear interpolation can be performed here based on the angular deviation value of each calibration point and the theoretical deviation value of each calibration point to determine the angular error of all calibration points on the chessboard, that is, to obtain the angular error value of each chess-playing point; that is, on the basis of the angular deviation value of each calibration point, combined with the theoretical deviation value corresponding to each calibration point, the deviation value is compensated to the corresponding angular range of the chess-playing robot arm on the chessboard through interpolation, thereby realizing the overall error and obtaining the angular error value of each chess-playing point on the chessboard.

[0061] Here, it should be noted that the theoretical deviation value can be calculated based on the theoretical encoder angle value of the calibration base point and the theoretical encoder angle value of the corresponding calibration point. Specifically, the theoretical deviation value of each calibration point refers to the deviation value of the encoder angle value (theoretical encoder angle value) when the chess robot arm is at each calibration point relative to the encoder angle value (theoretical encoder angle value) when it is at the calibration base point when there is no deviation in the angle of encoder feedback. The deviation value at this time is actually the offset value of the relative point. Among them, the theoretical encoder angle value can be calculated by the coordinates of the corresponding point on the chessboard, and specifically can be obtained by performing kinematic inverse operations based on the coordinates of the corresponding chess point on the chessboard.

[0062] After that, the chess-playing robot arm can be calibrated according to the angular error values ​​of each chess-playing point obtained from the overall board, so as to calibrate the angular deviation of the chess-playing robot arm at each chess-playing point, so that each chess-playing point can be accurately located, and then the chess pieces can be accurately placed during the chess-playing process, without problems such as misplacing, skewing or even overlapping chess pieces, thereby improving the accuracy of chess-playing.

[0063] The mechanical arm calibration method provided by the present invention selects points according to the calibration base points on the chessboard to obtain a plurality of calibration points, respectively determines the encoder angle values ​​of the chess-playing mechanical arm to be calibrated when it is at the calibration base points and the calibration points, and determines the angle deviation value of each calibration point based on the encoder angle values ​​corresponding to the calibration base points and the calibration points; linear interpolation is performed based on the angle deviation value of each calibration point and the theoretical deviation value to obtain the angle error value of each chess-playing point on the chessboard, and the chess-playing mechanical arm is calibrated based on the angle error value of each chess-playing point, thereby overcoming the defects of the chess-playing mechanical arm having a large action deviation and being difficult to accurately take and place chess pieces in the traditional scheme, and realizing the full-board precision calibration of the chess-playing mechanical arm through limited points, so that it can accurately take and place chess pieces during the chess-playing process without the problem of skewing and overlapping, thereby improving the deviation problem of the chess-playing mechanical arm, thereby improving the accuracy and viewing quality of chess-playing.

[0064] Based on the above embodiment, in step 130, linear interpolation is performed based on the angle deviation value of each calibration point and the theoretical deviation value to obtain the angle error value of each chess point on the chessboard, including:

[0065] Determine the angle error value of each calibration point based on the angle deviation value and the theoretical deviation value of each calibration point;

[0066] Linear interpolation is performed based on the angular error values ​​of each calibration point to obtain the angular error values ​​of each chess point on the chessboard.

[0067] Specifically, the process of performing linear interpolation based on the angle deviation value of each calibration point and the theoretical deviation value to obtain the angle error value of each chess point on the chessboard may specifically include:

[0068] First of all, the angle deviation value solved according to the encoder angle value of the chess-playing robot at the calibration base point and the encoder angle value at the calibration point is actually the offset of the angle feedback by the encoder of the chess-playing robot at the corresponding calibration point relative to the angle feedback by the encoder at the calibration base point, that is, it is the offset value of the angle presented by the angles at two different positions, and it is not the real error. The real error refers to the deviation between the collected data and the theoretical data. Therefore, in the embodiment of the present invention, after obtaining the angle deviation value corresponding to each calibration point, it can be further combined with the theoretical data to calculate the real error.

[0069] Here, specifically, calculation can be performed based on the angle deviation value of each calibration point and the theoretical deviation value of each calibration point, so as to directly solve the error of the angle corresponding to each calibration point through the two, that is, the angle error value of each calibration point. Specifically, a difference can be made based on the angle deviation value of each calibration point and the theoretical deviation value of each calibration point to obtain the difference between the actual angle offset and the theoretical angle offset, and this difference is the angle error value of each calibration point.

[0070] Figure 5 Schematic diagram of the chess playing robot arm and chessboard provided by the present invention, such as Figure 5 As shown, the chess playing robot arm actually includes an upper arm and a lower arm. Since the encoder angles corresponding to the upper arm and the lower arm of the chess playing robot arm are different at the same point, in order to achieve more accurate calibration, in the embodiment of the present invention, when calculating the angle error value, it is necessary to calculate the angle error value for the upper arm and the lower arm of the chess playing robot arm respectively.

[0071] For example, if the chessboard coordinate A19 is selected as the calibration base point, the encoder angle value corresponding to the calibration base point can be obtained through calibration data acquisition, which is recorded as A19 [B_A19, S_A19], where B_A19 is the encoder angle value of the upper arm corresponding to the calibration base point, and S_A19 is the encoder angle value of the lower arm corresponding to the calibration base point. At the same time, the encoder angle value corresponding to each calibration point can also be obtained, where the encoder angle value corresponding to the calibration point B18 can be recorded as B18 [B_B18, S_B18], where B_B18 is the encoder angle value of the upper arm corresponding to the calibration point, and S_B18 is the encoder angle value of the lower arm corresponding to the calibration point. Furthermore, the angle deviation value of calibration point B18 can be calculated based on the encoder angle value corresponding to calibration base point A19 and the encoder angle value corresponding to calibration point B18, that is, the angle offset of B18 relative to A19 is [B_B18- B_A19, S_B18- S_A19]. After that, the angle error value of calibration point B18 can be calculated in combination with the theoretical deviation value, that is, the angle error value corresponding to the upper arm |B_B18- B_A19- R_B|, and the angle error value corresponding to the lower arm |S_B18- S_A19- R_S|. Among them, [R_B, R_S] is the theoretical deviation value of calibration point B18.

[0072] Figure 6 is an example diagram of the arm angle error provided by the present invention, Figure 7 is an example diagram of the angle error of the forearm provided by the present invention, such as Figure 6 and Figure 7As shown, both the upper arm and the lower arm have a certain degree of angle error (ordinate in the figure) at their corresponding encoder angle values ​​(horizontal coordinate in the figure). Therefore, after obtaining the angle error value of the chess-playing robot arm at each calibration point, in the embodiment of the present invention, the angle error value of each calibration point can be used for linear interpolation to obtain the angle error value of each chess-playing point on the chessboard. Specifically, here, linear interpolation can be performed based on the angle error value of each calibration point, and the angle error value of each calibration point can be compensated to the corresponding angle range of the chess-playing robot arm on the chessboard by interpolation, thereby realizing the overall error and obtaining the angle error value of each chess-playing point on the chessboard.

[0073] Based on the above embodiment, the angle error value of each calibration point is determined based on the angle deviation value and the theoretical deviation value of each calibration point, including:

[0074] Based on the angle deviation value and theoretical deviation value of each calibration point, the data validity of each calibration point is verified;

[0075] When the verification is passed, the angular error value of each calibration point is determined based on the angular deviation value and the theoretical deviation value of each calibration point.

[0076] Specifically, considering the effectiveness of the calibration of the chess-playing robotic arm, in an embodiment of the present invention, before calibrating the robotic arm through the angle error value, it is necessary to ensure that the calibration data used is valid. Therefore, in the process of calculating according to the angle deviation value and the theoretical deviation value of each calibration point to obtain the angle error value corresponding to each calibration point, data verification is also required, that is, the angle deviation value and the theoretical deviation value of each calibration point can be used to perform data validity verification on each calibration point to verify whether the calibration data corresponding to each calibration point is valid.

[0077] Specifically, in an embodiment of the present invention, the difference between the actual data and the theoretical data of each calibration point can be calculated based on the angle deviation value of each calibration point and combined with the theoretical deviation value of each calibration point to determine whether the difference is within a tolerable range, that is, whether it is less than or equal to a preset error threshold. The error threshold here can be set according to actual conditions, requirements, etc. Further, when it is determined that the difference is less than or equal to the error threshold, that is, the error is still within the tolerable range, it can be determined that the data validity check has passed and the corresponding calibration data is valid; conversely, if the difference is greater than the error threshold, that is, the error has exceeded the tolerable range, it can be determined that the data validity check has failed and the corresponding calibration data is invalid.

[0078] For example, when the error threshold is ERR, the angle deviation value of the calibration point B18, that is, the angle offset of B18 relative to A19, is [B_B18- B_A19, S_B18- S_A19], and the theoretical deviation value of the calibration point B18 is [R_B, R_S], if |B_B18- B_A19- R_B|≤ERR, and |S_B18- S_A19- R_S|≤ERR, then it is determined that the data validity check passes and the calibration data of the calibration point B18 is valid, otherwise it is determined that the calibration data of the calibration point B18 is invalid.

[0079] When the calibration data of the calibration point is confirmed to be valid, the angle error value of the calibration point can be calculated according to the angle deviation value and the theoretical deviation value of the calibration point, that is, the angle deviation value and the theoretical deviation value of each calibration point are subtracted to obtain the difference between the actual angle deviation and the theoretical angle deviation, and the difference is the angle error value of each calibration point. Accordingly, if the calibration data of any calibration point is invalid, the calibration point is removed from the calibration points to avoid applying its invalid data to the robot arm calibration and affecting the calibration effect.

[0080] Based on the above embodiment, linear interpolation is performed based on the angle error values ​​of each calibration point to obtain the angle error values ​​of each chess point on the chessboard, including:

[0081] Determine the turning angle range of the chess-playing robot arm on the chessboard;

[0082] Based on the angle error value of each calibration point and the encoder angle value corresponding to each calibration point, linear interpolation is performed within the angle range to obtain the angle error value of each chess point on the chessboard.

[0083] Specifically, the process of performing linear interpolation according to the angle error values ​​of each calibration point to obtain the angle error values ​​of each chess point on the chessboard may specifically include:

[0084] Since calibration is actually to correct the encoder error of the chess-playing robot arm so that the calibrated chess-playing robot arm can operate according to the accurate angle value, when interpolating the angle error value of the calibration point, linear interpolation can be performed on the rotation range of the chess-playing robot arm on the chessboard to compensate the limited angle error value to the entire rotation range involved when the chess-playing robot arm plays chess, thereby realizing the full error.

[0085] In detail, here, the corresponding rotation range of the chess-playing mechanical arm on the chessboard can be determined first, that is, the angle interval involved when the upper arm and the lower arm of the chess-playing mechanical arm play chess, which is referred to as the rotation angle interval of the chess-playing mechanical arm, which includes the rotation angle interval corresponding to the upper arm and the rotation angle interval corresponding to the lower arm. Then, in this rotation angle interval, linear interpolation can be performed according to the angle error value of each calibration point and the encoder angle value corresponding to each calibration point to obtain the angle error value of all chess-playing points of the chess-playing mechanical arm on the chessboard. Here, it can be specifically interpolated in sections using the calibration points adjacent to each other in each calibration point, so as to convert the angle error value of the two adjacent calibration points and the corresponding encoder angle value to obtain the angle error curve of the angle interval with the encoder angle value of the two adjacent calibration points as the upper limit and the lower limit, and the angle error curve of each angle interval of the integrated segment can be obtained.

[0086] Figure 8 is an example diagram of the angle error curve of the upper arm provided by the present invention, such as Figure 8 As shown, the angle error curve in the angle interval [B_n, B_n+1] can be determined by the encoder angle values ​​(B_n and B_n+1) corresponding to the two adjacent calibration points, and the angle error values ​​(Err_n, Err_n+1) respectively. By combining the angle error curves of multiple angle intervals, the angle error curve in the entire rotation angle interval [B0, B1] can be obtained, based on which the angle error value of each chess point can be determined.

[0087] Based on the above embodiment, the chess playing robot arm includes a large arm and a small arm, and step 110 includes:

[0088] Determine the angle increment and the theoretical encoder angle value of the upper arm and the lower arm corresponding to the calibration base point;

[0089] Based on the theoretical encoder angle value, the points of the upper arm and the lower arm are selected according to the angle increment to obtain multiple initial points corresponding to the upper arm and the lower arm respectively;

[0090] Multiple initial points corresponding to the upper arm and the lower arm are merged to obtain multiple calibration points.

[0091] Specifically, in step 110, the process of selecting points according to the calibration base points on the chessboard to obtain multiple calibration points may specifically include:

[0092] First, it is necessary to determine the reference point for point selection and obtain the corresponding encoder angle value. The encoder angle value is a theoretical value, that is, it is necessary to determine the theoretical encoder angle value of the upper and lower arms of the chess-playing robot arm corresponding to the calibration base point; at the same time, it is also necessary to determine the setting requirements for point selection, which is the angle increment requirement here, that is, to determine the angle increment of point selection.

[0093] Then, the theoretical encoder angle values ​​corresponding to the upper arm and the lower arm under the calibration base point can be used as a reference, and the points of the upper arm and the lower arm can be selected according to the angle increment to obtain multiple chess playing points corresponding to the selected upper arm and the lower arm, which are called initial points here.

[0094] For example, taking A19 as the calibration base point, the theoretical encoder angle values ​​corresponding to the upper arm and the forearm under A19 are B'_A19 and S'_A19, recorded as A19[B'_A19, S'_A19], and the angle increment is 6°. By selecting points according to this angle increment, multiple initial points can be selected on the chessboard, that is, points are selected for the upper arm and the forearm on the chessboard according to this angle increment, so as to select several points of the upper arm that meet the angle increment requirements and several points of the forearm that meet the angle increment requirements, thereby obtaining multiple initial points corresponding to the upper arm and the forearm.

[0095] Afterwards, the multiple initial points corresponding to the selected boom and arm can be merged to obtain the final calibration points, that is, the multiple initial points selected in the previous step are sorted, the initial points that meet the angle increment requirements of both the boom and the arm are merged, and the points that only meet the angle increment requirements of the boom or the arm are retained, so as to obtain the final multiple calibration points.

[0096] The robot arm calibration device provided by the present invention is described below. The robot arm calibration device described below and the robot arm calibration method described above can be referenced to each other.

[0097] Fig. 9 is a schematic diagram of the structure of the mechanical arm calibration device provided by the present invention, such as Fig. 9 As shown, the device comprises:

[0098] A point selection unit 910 is used to select points based on calibration base points on the chessboard to obtain multiple calibration points, wherein the calibration base points and each calibration point are all chess-playing points on the chessboard;

[0099] The deviation determination unit 920 is used to respectively determine the encoder angle values ​​when the chess playing robot arm to be calibrated is at the calibration base point and each calibration point, and determine the angle deviation value of each calibration point based on the encoder angle values ​​corresponding to the calibration base point and each calibration point;

[0100] The error calibration unit 930 is used to perform linear interpolation based on the angular deviation values ​​of the calibration points and the theoretical deviation values ​​to obtain the angular error values ​​of the chess-playing points on the chessboard, and calibrate the chess-playing robot arm based on the angular error values ​​of the chess-playing points; wherein the theoretical deviation values ​​are determined based on the coordinates of the corresponding calibration points and the calibration base points on the chessboard.

[0101] The mechanical arm calibration device provided by the present invention selects points according to the calibration base points on the chessboard to obtain multiple calibration points, respectively determines the encoder angle values ​​when the chess-playing mechanical arm to be calibrated is at the calibration base points and each calibration point, and determines the angle deviation value of each calibration point based on the encoder angle values ​​corresponding to the calibration base points and each calibration point; linear interpolation is performed based on the angle deviation value of each calibration point and the theoretical deviation value to obtain the angle error value of each chess-playing point on the chessboard, and the chess-playing mechanical arm is calibrated based on the angle error value of each chess-playing point, thereby overcoming the defects of the chess-playing mechanical arm having a large action deviation and being difficult to accurately take and place chess pieces in the traditional scheme, and realizing the full-board precision calibration of the chess-playing mechanical arm through limited points, so that the chess-playing mechanical arm can accurately take and place chess pieces during the chess-playing process without the problem of skewing and overlapping, thereby improving the deviation problem of the chess-playing mechanical arm, thereby improving the accuracy and viewing quality of chess-playing.

[0102] Based on the above embodiment, the error calibration unit 930 is used to:

[0103] Determining the angular error value of each calibration point based on the angular deviation value and the theoretical deviation value of each calibration point;

[0104] Linear interpolation is performed based on the angular error values ​​of the calibration points to obtain angular error values ​​of the chess points on the chessboard.

[0105] Based on the above embodiment, the error calibration unit 930 is used to:

[0106] Determine the turning angle interval of the chess-playing robot arm on the chessboard;

[0107] Based on the angle error values ​​of the calibration points and the encoder angle values ​​corresponding to the calibration points, linear interpolation is performed within the rotation angle interval to obtain the angle error values ​​of the chess points on the chessboard.

[0108] Based on the above embodiment, the error calibration unit 930 is used to:

[0109] Based on the angle deviation value and theoretical deviation value of each calibration point, performing data validity verification on each calibration point;

[0110] When the verification is passed, the angle error value of each calibration point is determined based on the angle deviation value and the theoretical deviation value of each calibration point.

[0111] Based on the above embodiment, the chess playing robot arm includes an upper arm and a lower arm, and the point selection unit 910 is used for:

[0112] Determine an angle increment and a theoretical encoder angle value of the upper arm and the lower arm corresponding to the calibration base point;

[0113] Based on the theoretical encoder angle value, point positions of the upper arm and the lower arm are selected according to the angle increment to obtain a plurality of initial point positions corresponding to the upper arm and the lower arm respectively;

[0114] Multiple initial points corresponding to the upper arm and the lower arm are merged to obtain multiple calibration points.

[0115] Based on the above embodiment, the theoretical deviation value is determined based on the theoretical encoder angle value of the calibration base point and the theoretical encoder angle value of the corresponding calibration point;

[0116] The theoretical encoder angle value is obtained by performing a kinematic inverse operation based on the coordinates of the corresponding chess point on the chessboard.

[0117] Fig.10 Schematic diagram of the structure of the robot arm calibration system provided by the present invention. Fig.10 As shown, the system includes a processor 1020, a traction robot arm 1010, and a chess-playing robot arm 1030 to be calibrated;

[0118] The processor 1020 is used to select points based on the calibration base points on the chessboard to obtain multiple calibration points, and control the traction robot arm 1010 to pull the chess-playing robot arm 1030 to the calibration base points and the calibration points, record the encoder angle value when the chess-playing robot arm 1030 is at the calibration base points and the calibration points, and determine the angle deviation value of each calibration point based on the encoder angle value corresponding to the calibration base points and the calibration points; perform linear interpolation based on the angle deviation value and theoretical deviation value of each calibration point to obtain the angle error value of each chess-playing point on the chessboard, and calibrate the chess-playing robot arm 1030 based on the angle error value of each chess-playing point;

[0119] The calibration base point and each calibration point are all chess-playing points on the chessboard; the theoretical deviation value is determined based on the coordinates of the corresponding calibration point and the calibration base point on the chessboard.

[0120] Fig.11 An example of a physical structure diagram of an electronic device is shown in FIG. Fig.11As shown, the electronic device may include: a processor (processor) 1110 , a communication interface (Communications Interface) 1120 , a memory (memory) 1130 and a communication bus 1140 , wherein the processor 1110 , the communication interface 1120 , and the memory 1130 communicate with each other via the communication bus 1140 . The processor 1110 can call the logic instructions in the memory 1130 to execute the robot arm calibration method, which includes: selecting points based on the calibration base points on the chessboard to obtain multiple calibration points, and the calibration base points and each calibration point are all chess-playing points on the chessboard; respectively determining the encoder angle values ​​of the chess-playing robot arm to be calibrated when it is at the calibration base points and each calibration point, and determining the angle deviation values ​​of each calibration point based on the encoder angle values ​​corresponding to the calibration base points and each calibration point; performing linear interpolation based on the angle deviation values ​​and theoretical deviation values ​​of each calibration point to obtain the angle error values ​​of each chess-playing point on the chessboard, and calibrating the chess-playing robot arm based on the angle error values ​​of each chess-playing point; wherein the theoretical deviation value is determined based on the coordinates of the corresponding calibration point and the calibration base point on the chessboard.

[0121] In addition, the logic instructions in the above-mentioned memory 1130 can be implemented in the form of a software functional unit and can be stored in a computer-readable storage medium when it is sold or used as an independent product. Based on such an understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art or the part of the technical solution, can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to perform all or part of the steps of the method described in each embodiment of the present invention. The aforementioned storage medium includes: U disk, mobile hard disk, read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), disk or optical disk, etc. Various media that can store program codes.

[0122] On the other hand, the present invention also provides a computer program product, which includes a computer program stored on a non-transitory computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a computer, the computer can execute the robot arm calibration method provided by the above methods, and the method includes: selecting points based on the calibration base points on the chessboard to obtain multiple calibration points, and the calibration base points and each calibration point are all chess-playing points on the chessboard; respectively determining the encoder angle value of the chess-playing robot arm to be calibrated when it is at the calibration base point and each calibration point, and determining the angle deviation value of each calibration point based on the encoder angle value corresponding to the calibration base point and each calibration point; performing linear interpolation based on the angle deviation value and theoretical deviation value of each calibration point to obtain the angle error value of each chess-playing point on the chessboard, and calibrating the chess-playing robot arm based on the angle error value of each chess-playing point; wherein the theoretical deviation value is determined based on the coordinates of the corresponding calibration point and the calibration base point on the chessboard.

[0123] On the other hand, the present invention also provides a non-transitory computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, is implemented to execute the robot arm calibration method provided by the above-mentioned methods, the method comprising: selecting points based on calibration base points on a chessboard to obtain multiple calibration points, wherein the calibration base points and each calibration point are chess-playing points on the chessboard; respectively determining the encoder angle values ​​of the chess-playing robot arm to be calibrated when it is at the calibration base points and each calibration point, and determining the angle deviation values ​​of each calibration point based on the encoder angle values ​​corresponding to the calibration base points and each calibration point; performing linear interpolation based on the angle deviation values ​​and theoretical deviation values ​​of each calibration point to obtain the angle error values ​​of each chess-playing point on the chessboard, and calibrating the chess-playing robot arm based on the angle error values ​​of each chess-playing point; wherein the theoretical deviation value is determined based on the coordinates of the corresponding calibration point and the calibration base point on the chessboard.

[0124] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the scheme of this embodiment. Ordinary technicians in this field can understand and implement it without paying creative labor.

[0125] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a necessary general hardware platform, and of course, can also be implemented by hardware. Based on this understanding, the above technical solution is essentially or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiments.

[0126] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit it. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present invention.

Claims

1. A robotic arm calibration method, characterized in that: include: Selecting points based on calibration base points on the chessboard to obtain multiple calibration points, wherein the calibration base points and each calibration point are all chess-playing points on the chessboard; Determine the encoder angle values ​​of the chess playing robot arm to be calibrated when it is at the calibration base point and each calibration point respectively, and determine the angle deviation value of each calibration point based on the encoder angle values ​​corresponding to the calibration base point and each calibration point; Linear interpolation is performed based on the angle deviation values ​​and theoretical deviation values ​​of the calibration points to obtain angle error values ​​of the chess-playing points on the chessboard, and the chess-playing robot arm is calibrated based on the angle error values ​​of the chess-playing points; wherein the theoretical deviation value is determined based on the theoretical encoder angle value of the calibration base point and the theoretical encoder angle value of the corresponding calibration point, and the theoretical encoder angle is the encoder angle value when the chess-playing robot arm is at the corresponding point without deviation; The theoretical encoder angle value is obtained by performing a kinematic inverse operation based on the coordinates of the corresponding chess point on the chessboard.

2. The robot arm calibration method according to claim 1, characterized in that: The linear interpolation based on the angle deviation value of each calibration point and the theoretical deviation value to obtain the angle error value of each chess point on the chessboard includes: Determining the angular error value of each calibration point based on the angular deviation value and the theoretical deviation value of each calibration point; Linear interpolation is performed based on the angular error values ​​of the calibration points to obtain angular error values ​​of the chess points on the chessboard.

3. The robot arm calibration method according to claim 2, characterized in that: The linear interpolation based on the angle error values ​​of the calibration points to obtain the angle error values ​​of the chess points on the chessboard includes: Determine the turning angle interval of the chess-playing robot arm on the chessboard; Based on the angle error values ​​of the calibration points and the encoder angle values ​​corresponding to the calibration points, linear interpolation is performed within the rotation angle interval to obtain the angle error values ​​of the chess points on the chessboard.

4. The robot arm calibration method according to claim 2, characterized in that: The determining the angular error value of each calibration point based on the angular deviation value of each calibration point and the theoretical deviation value comprises: Based on the angle deviation value and theoretical deviation value of each calibration point, performing data validity verification on each calibration point; When the verification is passed, the angle error value of each calibration point is determined based on the angle deviation value and the theoretical deviation value of each calibration point.

5. The robot arm calibration method according to any one of claims 1 to 4, characterized in that: The chess playing robot arm comprises an upper arm and a lower arm, and the point selection is performed based on the calibration base point on the chessboard to obtain a plurality of calibration points, including: Determine an angle increment and a theoretical encoder angle value of the upper arm and the lower arm corresponding to the calibration base point; Based on the theoretical encoder angle value, point positions of the upper arm and the lower arm are selected according to the angle increment to obtain a plurality of initial point positions corresponding to the upper arm and the lower arm respectively; Multiple initial points corresponding to the upper arm and the lower arm are merged to obtain multiple calibration points.

6. A robot arm calibration device, characterized in that: include: A point selection unit, used for selecting points based on calibration base points on the chessboard to obtain a plurality of calibration points, wherein the calibration base points and each calibration point are all chess-playing points on the chessboard; A deviation determination unit, used to respectively determine the encoder angle values ​​of the chess playing robot arm to be calibrated when it is at the calibration base point and each calibration point, and determine the angle deviation value of each calibration point based on the encoder angle values ​​corresponding to the calibration base point and each calibration point; An error calibration unit is used to perform linear interpolation based on the angle deviation value and theoretical deviation value of each calibration point to obtain the angle error value of each chess-playing point on the chessboard, and calibrate the chess-playing robot arm based on the angle error value of each chess-playing point; wherein the theoretical deviation value is determined based on the theoretical encoder angle value of the calibration base point and the theoretical encoder angle value of the corresponding calibration point, and the theoretical encoder angle is the encoder angle value when the chess-playing robot arm is at the corresponding point without deviation; The theoretical encoder angle value is obtained by performing a kinematic inverse operation based on the coordinates of the corresponding chess point on the chessboard.

7. A robotic arm calibration system, characterized in that: It includes a processor, a traction robot arm and a chess-playing robot arm to be calibrated; The processor is used to select points based on the calibration base point on the chessboard to obtain multiple calibration points, and control the traction mechanical arm to pull the chess playing mechanical arm to the calibration base point and each calibration point, record the encoder angle value when the chess playing mechanical arm is at the calibration base point and each calibration point, and determine the angle deviation value of each calibration point based on the encoder angle value corresponding to the calibration base point and each calibration point; Performing linear interpolation based on the angle deviation values ​​of the calibration points and the theoretical deviation values ​​to obtain angle error values ​​of the chess-playing points on the chessboard, and calibrating the chess-playing robot arm based on the angle error values ​​of the chess-playing points; The calibration base point and each calibration point are all chess playing points on the chessboard; The theoretical deviation value is determined based on the theoretical encoder angle value of the calibration base point and the theoretical encoder angle value of the corresponding calibration point, and the theoretical encoder angle is the encoder angle value when the chess playing robot arm is at the corresponding point without deviation; The theoretical encoder angle value is obtained by performing a kinematic inverse operation based on the coordinates of the corresponding chess point on the chessboard.

8. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: When the processor executes the computer program, the robot arm calibration method according to any one of claims 1 to 5 is implemented.

9. A non-transitory computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the robot arm calibration method according to any one of claims 1 to 5 is implemented.

Citation Information

Patent Citations

  • Positioning calibration method and device for robot and electronic equipment

    CN111604904A

  • Calibration method of absolute value type encoder during angle measurement

    CN114777811A

  • Chessboard piece placing point positioning method, robot automatic chess playing method, equipment and medium

    CN115609602A