Robotic arm calibration method and device based on distributed pose acquisition and model dimensionality reduction
By installing position sensors at different joints of the robot arm, and using distributed position acquisition and model dimensionality reduction methods, the problem of contradiction between the accuracy and integrity of the error identification results in the traditional robot arm calibration method is solved, and the accuracy improvement of the robot arm calibration and the integrity of the error identification results are achieved.
Patent Information
- Application Number
- CN202310911186.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-24
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2043-07-24
AI Technical Summary
The traditional mechanical arm calibration method has contradictions in the accuracy and completeness of error identification results, and it is impossible to improve the mechanical arm calibration accuracy.
Position sensors are installed in different joints of the robotic arm. Through distributed pose acquisition and model dimensionality reduction, multiple low-dimensional calibration models are established separately to obtain rich joint pose data, evacuate DH parameter errors to multiple sub-calibration models, improve model characteristics and improve DH parameter error recognition accuracy.
It significantly improves the calibration accuracy of the robot arm, ensures the integrity of the error identification result, and improves the absolute positioning accuracy of the end of the robot arm.
Smart Images

Figure CN116834011B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of robotic arm calibration, and in particular to a robotic arm calibration method and device based on distributed posture acquisition and model dimensionality reduction. Background Art
[0002] Manipulator calibration can effectively compensate for the impact of Denavit-Hartenberg (DH) parameter errors on the absolute positioning accuracy of the manipulator's end-arm. Key techniques for manipulator calibration include end-arm pose measurement, calibration model development, and error identification and compensation. Pose measurement provides the calibration model with manipulator pose data samples. The calibration model characterizes the mapping between DH parameter errors and end-arm pose errors. Error identification involves solving the DH parameter errors using the calibration model, and error compensation involves the practical application of the identification results in the manipulator's motion control. Measurement, modeling, and identification are closely intertwined during the calibration process. However, during the measurement phase, traditional calibration methods typically centrally install the sensors used for pose acquisition at the end of the manipulator, obtaining pose data for only a single joint. Consequently, subsequent steps require the development of a single calibration model. However, during the manipulator calibration process, the DH parameter errors of all joints jointly determine the end-arm pose error in the model, yet the influence weights of each error vary significantly. Therefore, the mixing of these different errors in a single calibration model results in an ill-conditioned Jacobian matrix, making the error identification results highly susceptible to measurement noise and ultimately affecting the accuracy of end-arm pose compensation. Some traditional calibration methods retain only the heavily weighted parameter errors in the model to improve the accuracy of the residual error identification. However, this intentionally lost error information cannot be ignored in applications requiring higher accuracy. In summary, traditional calibration methods suffer from a conflict between the accuracy and completeness of error identification results, failing to improve the accuracy of the robotic arm calibration and resulting in poor robotic arm precision. Summary of the Invention
[0003] The technical problem to be solved by the present invention is to provide a robotic arm calibration method and device based on distributed posture acquisition and model dimensionality reduction, which can solve the contradiction between the accuracy and integrity of the error identification results of the existing traditional robotic arm calibration method, improve the accuracy of the robotic arm, and thus overcome the shortcomings of the existing technology.
[0004] To solve the above technical problems, the present invention discloses a high-precision calibration method for a robotic arm based on posture acquisition and model dimensionality reduction, which comprises the following steps:
[0005] Step 1: Install a posture sensor at the i-th joint and the j-th joint of the robot arm respectively, establish the coordinate system of each joint of the robot arm based on the MDH rule, and the posture sensor can output the posture information of its own coordinate system in real time; the j-th joint is the end joint of the robot arm, the i-th joint is the middle joint of the robot arm, and i and j are both positive integers, i <j;
[0006] Step 2: Select the measurement configuration (θ1, ..., θ i ) k1 (k1=1,2,...,m1) and (θ1,...,θ j ) k2 (k2=1,2,...,m2), where (θ1,...,θ i ) represents the set of rotation instructions of the first i joints corresponding to the measurement configuration, (θ1, ..., θ j ) represents the set of rotation instructions of all joints corresponding to the measurement configuration, k1 and k2 represent the serial numbers of the measurement configurations, and m1 and m2 represent the number of measurement configurations; i ) k1 The actual posture p of the i-th joint is obtained by the posture sensor located at the i-th joint ia , in (θ1, ..., θ j ) k2 The actual pose p of the jth joint is obtained by the pose sensor located at the jth joint ja ;
[0007] Step 3: Based on the known nominal DH parameters of the manipulator and the forward kinematics of the manipulator, i ) k1 Calculate the nominal pose p of the i-th joint i , in (θ1, ..., θ j ) k2 Calculate the nominal pose p of the jth joint j ;
[0008] Step 4: According to Δp i =p ia -p i Calculate (θ1, ..., θ i ) k1 The pose error of the i-th joint at position Δp i ;
[0009] Step 5: Establish the calibration model Δp of the first i joints i =J A Δu A , and according to Δp i =J A Δu A Solving for Δu A ; Among them J A It is the Jacobian matrix established based on the forward kinematics and differential transformation principle of the manipulator, Δu A represents the DH parameter error vector of the first i joints;
[0010] Step 6: According to Δp j←A =J′A Δu A Calculate (θ1, ..., θ j ) k2 Based on Δu A The resulting j-th joint pose error Δp j←A , where J′ A is Δu A To the jth joint at (θ1, ..., θ j ) k2 The Jacobian matrix of the pose error at Δp j =p ja -p j -Δp j←A Calculate (θ1, ..., θ j ) k2 The j-th joint pose error Δp j ;
[0011] Step 7: Establish the calibration model Δp of all joints j =J B Δu B , and according to Δp j =J B Δu B Solve for Δu B , where J B It is the Jacobian matrix established based on the forward kinematics and differential transformation principle of the manipulator, Δu B Represents the DH parameter error vector of all joints;
[0012] Step 8: Indirectly compensate for the DH parameter error Δu by correcting the joint instructions A and Δu B .
[0013] As an improvement of the present invention, the joint coordinate systems of the robotic arm in step one include at least a base coordinate system, an i-th joint coordinate system, a j-th joint coordinate system, a first pose sensor coordinate system located at the i-th joint pose sensor, and a second pose sensor coordinate system located at the j-th joint pose sensor.
[0014] As an improvement of the present invention, the method for establishing the base coordinate system is:
[0015] First, only the first joint of the robotic arm is rotated, and the arc trajectory of the pose sensor on the end joint is collected by a measuring instrument. The arc rotation axis vector z1 is obtained by fitting and used as the Z1 axis of the first joint coordinate system.
[0016] Then, when the first joint rotation angle is 0 degrees, that is, only the second joint is rotated at θ1 = 0°, and the measuring instrument collects the arc trajectory of the posture sensor on the end joint, and fits the arc rotation axis vector z2 as the Z2 axis of the second joint coordinate system; the vector x1 = z1 × z2 is defined as the X1 axis of the first joint coordinate system, and the intersection of the common perpendicular line of the arc rotation axis vectors z1 and z2 and the arc rotation axis vector z1 is used as the origin O1 to establish the first joint coordinate system F1; the base coordinate system F0 is made to coincide with F1 to obtain the base coordinate system F0.
[0017] As a further improvement of the present invention, the method for establishing the i-th joint coordinate system is:
[0018] At θ1=...=θ i = 0°, only rotate the i+1th joint, use the measuring instrument to collect the arc trajectory of the posture sensor on the end joint, and fit the arc rotation axis vector z i+1 ; at θ1 = ... = θ i =θ i+1 = 0°, only rotate the i+2th joint, collect the arc trajectory of the pose sensor on the end joint, and fit the arc rotation axis vector z i+2 ; Arc rotation axis vector z i+1 and z i+2 The common perpendicular line and the arc rotation axis vector z i+1 The intersection point is taken as the origin O i+1 ; at θ1 = ... = θ i-1 = 0° only rotate the i-th joint, the measuring instrument collects the arc trajectory of the pose sensor on the end joint, and fits the arc rotation axis vector z i , over O i+1 Make i The perpendicular line intersects z i Yu O i , as the origin of the i-th joint coordinate system, the i-th joint coordinate system F i .
[0019] As a further improvement of the present invention, the method for establishing the coordinate system of the first pose sensor located at the i-th joint pose sensor is:
[0020] First, the first posture sensor uses three laser target balls;
[0021] At θ1=...=θ i = 0°, use a measuring instrument to collect the coordinates of the three laser target balls on the i-th joint;
[0022] Select one of the laser target sphere coordinates as the common coordinate, combine the other two laser target sphere coordinates to construct unit vectors v1 and v2, and transform vector z s1=v1×v2 as the Z coordinate system of the first pose sensor s1 Axis, v1 is the X axis of the first pose sensor coordinate system s1 Axis, the common laser target sphere coordinates are used as the origin coordinates O of the first pose sensor coordinate system s1 , the first pose sensor coordinate system F can be established s1 .
[0023] As a further improvement of the present invention, the method for establishing the j-th joint coordinate system is:
[0024] First, in θ1=...=θ j-2 =θ j = 0°, only rotate the jth joint, use the measuring instrument to collect the arc trajectory of the posture sensor on the end joint, and fit the arc rotation axis vector z j-1 ;
[0025] At θ1=...=θ j = 0°, only rotate the jth joint, collect the arc trajectory of the pose sensor on the end joint, and fit the arc rotation axis vector z j , as the Z coordinate system of the jth joint j axis;
[0026] Define vector x6=z5×z6 as the X coordinate of the j-th joint coordinate system j Axis, arc rotation axis vector z j-1 and z j The common perpendicular line and the arc rotation axis vector z j The intersection point is taken as the origin O j , thus establishing the j-th joint coordinate system F j .
[0027] As a further improvement of the present invention, the method for establishing the second pose sensor coordinate system located at the j-th joint pose sensor is:
[0028] First, the second posture sensor uses three laser target balls;
[0029] At θ1=...=θ j = 0°, use a measuring instrument to collect the coordinates of the three laser target balls on the jth joint;
[0030] Select one of the laser target sphere coordinates as the common coordinate, and combine the other two laser target sphere coordinates to construct unit vectors v3 and v4. s2 =v3×v4 as the Z coordinate system of the second pose sensor s2 Axis, v3 as the X axis of the second pose sensor coordinate system s2 Axis, the common laser target sphere coordinates are used as the origin coordinates O of the second pose sensor coordinate systems2 , the second pose sensor coordinate system F can be established s2 .
[0031] As a further improvement of the present invention, the method for calculating the actual posture of the i-th joint and the j-th joint in step 2 is:
[0032] First, based on the i-th joint coordinate system F i , the first pose sensor coordinate system F s1 , j-th joint coordinate system F j , the second pose sensor coordinate system F s2 The homogeneous coordinate transformation matrix from the first pose sensor coordinate system to the i-th joint and the homogeneous coordinate transformation matrix from the second pose sensor coordinate system to the j-th joint coordinate system are derived respectively:
[0033] * T # =( 0 T * ) -1 ( 0 T # )
[0034] Where * represents the first pose sensor or the second pose sensor; # represents the i-th joint or the j-th joint;
[0035] based on * T # =( 0 T * ) -1 ( 0 T # ) to find out each measurement configuration (θ1, ..., θ i ) k1 (k1=1,2,...,m1) and (θ1,...,θ j ) k2 (k2=1,2,...,m2) corresponds to the actual ( 0 T # ) ku , which is ( 0 T #a ) ku , where # represents the i-th joint or the j-th joint, for the measurement configuration (θ1, ..., θ i ) k1 (k1=1,2,...,m1), ku refers to k1(k1=1,2,...,m1), for the measurement configuration (θ1,...,θ j ) k2 (k2=1,2,...,m2), ku refers to k2(k2=1,2,...,m2);
[0036] set up( 0 T #a ) ku The elements are characterized as follows:
[0037]
[0038] Where # represents the i-th joint or the j-th joint, for the measurement configuration (θ1, ..., θ i ) k1 (k1=1,2,...,m1), ku refers to k1(k1=1,2,...,m1), for the measurement configuration (θ1,...,θ j ) k2 (k2=1,2,...,m2), ku refers to k2(k2=1,2,...,m2);
[0039] Depend on( 0 T #a ) ku The actual pose vector (p #a ) ku :
[0040]
[0041] where atan2(y,x) is the inverse tangent function of two variables.
[0042] At the same time, the present invention also discloses a high-precision calibration device for a robotic arm using the above-mentioned high-precision calibration method for a robotic arm, which includes a measuring instrument and a posture sensor. The posture sensors include at least two, and one of the posture sensors is installed at the end joint of the robotic arm; the other posture sensor is installed at the middle joint of the robotic arm.
[0043] As a further improvement of the present invention, the robotic arm adopts a six-degree-of-freedom robotic arm, the measuring instrument adopts a laser tracker, and the posture sensor adopts three non-collinear laser target balls, each of which is adhered to a threaded rod with a frustum at one end through a target ball base; the three laser target balls located at the middle joint of the robotic arm are connected to the split connecting ring through a threaded rod, and the two sections of the split connecting ring are clamped and connected to the middle joint of the robotic arm; the three laser target balls located at the end joint of the robotic arm are connected to the threaded holes on the flange end face of the end joint through a threaded rod.
[0044] After adopting such a design, the present invention has at least the following advantages:
[0045] The present invention distributes posture sensors to different joints in the measurement link of robot arm calibration, thereby obtaining richer joint posture data, and thereby establishing multiple low-dimensional calibration models respectively, evacuating the DH parameter errors crowded in the traditional single calibration model to multiple sub-calibration models, thereby significantly improving the model performance level, achieving further improvement in the DH parameter error identification accuracy, thereby improving the robot arm calibration accuracy, and also ensuring the integrity of the error identification results. BRIEF DESCRIPTION OF THE DRAWINGS
[0046] The above is only an overview of the technical solution of the present invention. In order to more clearly understand the technical means of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments.
[0047] Figure 1 It is a flow chart of a high-precision calibration method for a robotic arm according to an embodiment of the present invention.
[0048] Figure 2 This is a schematic diagram of the installation of a laser target sphere in a high-precision calibration device for a robotic arm according to an embodiment of the present invention.
[0049] Figure 3 2 is a schematic diagram of the process of establishing the base coordinate system according to an embodiment of the present invention.
[0050] Figure 4 1 is a schematic diagram of the process of establishing the first pose sensor coordinate system according to an embodiment of the present invention.
[0051] Figure 5 2 is a schematic diagram of the process of establishing the second pose sensor coordinate system according to an embodiment of the present invention.
[0052] Figure 6 It is a schematic diagram of a robotic arm coordinate system established based on a distributed laser target sphere according to an embodiment of the present invention.
[0053] Figure 7 3 is a schematic diagram comparing the error identification accuracy of the calibration method according to the embodiment of the present invention and the traditional calibration method.
[0054] Figure 8 3 is a schematic diagram comparing the residuals of the calibration method according to the embodiment of the present invention and the traditional calibration method after error compensation.
[0055] Figure 9 3 is a schematic diagram comparing the test points of the calibration method according to the embodiment of the present invention and the traditional calibration method after error compensation.
[0056] The specific reference numerals in the accompanying drawings are:
[0057] 1-Laser target ball; 2-Laser target ball; 3-Split connecting ring; 4-Flange connecting piece. DETAILED DESCRIPTION
[0058] The embodiments of the present disclosure are described in detail below with reference to the accompanying drawings.
[0059] The following describes the embodiments of the present disclosure through specific examples, and those skilled in the art can easily understand other advantages and effects of the present disclosure from the contents disclosed in this specification. Obviously, the described embodiments are only a part of the embodiments of the present disclosure, rather than all of the embodiments. The present disclosure can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present disclosure. It should be noted that, in the absence of conflict, the following embodiments and features in the embodiments can be combined with each other. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present disclosure.
[0060] Combine Figure 2 As shown, this embodiment first discloses a robotic arm calibration device based on distributed posture acquisition and model dimensionality reduction, which includes a measuring instrument and a posture sensor. In this embodiment, the measuring instrument adopts a laser tracker, and the posture sensor adopts a laser target ball. The calibrated object in this embodiment is a six-degree-of-freedom industrial robotic arm.
[0061] Specifically, in this embodiment, three non-collinear laser target balls 1 are first installed on the second joint of the robot arm through the first connecting piece, and then another three non-collinear laser target balls 2 are installed on the sixth joint of the robot arm through the second connecting piece.
[0062] In more detail, the laser target ball 1 located at the second joint in this embodiment is adhered to a threaded rod with a frustum at one end through the target ball base, and the threaded rod is screwed into the threaded hole of the split connecting ring 3, and then the split connecting ring 3 is put on the connecting rod of the second joint, and the screws on both sides are tightened to close and clamp the two sections of the split connecting ring 3; at the same time, the remaining screws on the split connecting ring 3 for gap support are tightened, and at this time the screws are pressed against the surface of the second joint connecting rod, so that the split connecting ring 3 and the second joint connecting rod are fastened as a whole; the laser target ball 2 located at the sixth joint in this embodiment is also adhered to a threaded rod with a frustum at one end through the target ball base, and then the threaded rod is screwed into the side threaded hole of the flange connector 4 connected to the sixth joint, and then the flange connector 4 and the flange end face of the sixth joint are fastened with screws.
[0063] Combine Figure 3As shown, after the device is installed, first only the first joint of the robotic arm is rotated, and the laser tracker is used to capture the arc trajectory of a laser target sphere 2 on the sixth joint, and the arc rotation axis vector z1 is obtained by fitting, which is used as the Z1 axis of the first joint coordinate system; then only the second joint is rotated at θ1=0°, and the arc trajectory of a laser target sphere 2 on the sixth joint is captured, and the arc rotation axis vector z2 is obtained by fitting, which is used as the Z2 axis of the second joint coordinate system; then the vector x1=z1×z2 is defined as the X1 axis of the first joint coordinate system, and the intersection of the common perpendicular of the arc rotation axis vectors z1 and z2 and the arc rotation axis vector z1 is used as the origin O1, thereby establishing the first joint coordinate system F1; at this time, the base coordinate system F0 is made to coincide with the first joint coordinate system F1, thereby establishing the base coordinate system F0.
[0064] like Figure 4 As shown, in this embodiment, under the condition of θ1=θ2=0°, only the third joint is rotated, and the arc trajectory of a laser target ball 2 on the sixth joint is collected by a laser tracker, and the arc rotation axis vector z3 is obtained by fitting; under the condition of θ1=θ2=θ3=0°, only the fourth joint is rotated, and the arc trajectory of a laser target ball 2 on the sixth joint is collected, and the arc rotation axis vector z4 is obtained by fitting; the intersection point of the common perpendicular line of the arc rotation axis vectors z3 and z4 and the arc rotation axis vector z3 is used as the origin O3; a perpendicular line to the arc rotation axis vector z2 is drawn through the origin O3, intersecting the arc rotation axis vector z2 at point O2, and point O2 is used as the origin of the second joint coordinate system, thereby establishing the second joint coordinate system F2; under the condition of θ1=θ2=0°, the coordinates of the three laser target balls 1 on the second joint are respectively collected by a laser tracker: any one of the coordinates of the laser target ball 1 is selected as the common target ball coordinate O s1 , combine the other two laser target sphere 1 coordinates to construct unit vectors v1 and v2, and transform vector z s1 =v1×v2 as the Z coordinate of the first sensor coordinate system s1 axis, vector v1 as X s1 Axis, shared target sphere coordinate O s1 is the origin coordinate, thus establishing the first sensor coordinate system F s1 .
[0065] Based on the above, the second joint coordinate system F2 and the first sensor coordinate system F s1 Homogeneous transformation matrix in base coordinate system F0 0 T2 and 0 T s1 , and then derive the first sensor coordinate system F s1 Homogeneous coordinate transformation matrix to the second joint coordinate system F2 s1 T2=( 0 T s1 ) -1 ( 0T2).
[0066] Further, combined Figure 5 As shown, in this embodiment, under the condition of θ1=θ2=θ3=θ4=θ6=0°, only the fifth joint is rotated, and the arc trajectory of a certain laser target ball 2 on the sixth joint is collected by a laser tracker, and the arc rotation axis vector z5 is obtained by fitting; under the condition of θ1=θ2=θ3=θ4=θ5=0°, only the sixth joint is rotated, and the arc trajectory of a certain laser target ball 2 on the sixth joint is collected, and the arc rotation axis vector z6 is obtained by fitting, which is used as the Z6 axis of the sixth joint coordinate system; the vector x6=z5×z6 is defined as the X6 axis of the sixth joint coordinate system, and the intersection of the common perpendicular line of z5 and z6 and z6 is used as the origin O6, thereby establishing the sixth joint coordinate system F6; as shown in FIG. Figure 6 As shown, under the condition of θ1=θ2=θ3=θ4=θ5=θ6=0°, the laser tracker is used to collect the coordinates of the three laser target balls 2 on the sixth joint respectively: the first sensor coordinate system F s1 Establishment method Establish the second sensor coordinate system F s2 ; Thus, the sixth joint coordinate system F6 and the second sensor coordinate system F are obtained respectively s2 Homogeneous transformation matrix in base coordinate system F0 0 T6 and 0 T s2 , and then derive the second sensor coordinate system F s2 Homogeneous coordinate transformation matrix to the sixth joint coordinate system F6 s2 T6=( 0 T s2 ) -1 ( 0 T6).
[0067] Based on the MDH (Modified Denavit-Hartenberg) rule, the coordinate system of each joint of the robotic arm can be established. The nominal DH parameters of each joint of the robotic arm are shown in Table 1:
[0068] Table 1
[0069]
[0070] In this embodiment, before calibrating the robot arm, the measurement configuration is first selected. and Where (θ1, θ2) represents the rotation angle instruction set of the first two joints corresponding to each measurement configuration, (θ1, ..., θ6) represents the rotation angle instruction set of all joints corresponding to each measurement configuration, k1 and k2 represent the serial number of the measurement configuration, and m1 and m2 represent the number of each measurement configuration. The actual posture of the second joint is obtained by the posture sensor located at the second joint 2a,exist The actual posture of the sixth joint is obtained by the posture sensor located at the sixth joint 6a In this embodiment, the rotation ranges of the joints of the manipulator are set to θ1∈[-170°, 170°], θ2∈[-120°, 70°], θ3∈[-90°, 70°], θ4∈[-170°, 170°], θ5∈[-110°, 110°], and θ6∈[-180°, 180°]. 8 and 16 relatively dispersed and uniform measurement configurations are then selected in the motion spaces of the second and sixth joints of the manipulator, respectively, i.e. and
[0071] Then the laser tracker was used to collect The coordinates of the three laser target balls 1 located on the second joint are based on the first sensor coordinate system F s1 Establish the current measurement configuration The actual first sensor coordinate system (F s1 ) k1 , and then get the actual ( 0 T s1 ) k1 ; Combined with the homogeneous coordinate transformation matrix s1 T2=( 0 T s1 ) -1 ( 0 T2), find the actual ( 0 T2) k1 ,Right now( 0 T 2a ) k1 .
[0072] In this embodiment, it is pre-set ( 0 T 2a ) k1 The elements are characterized as follows:
[0073]
[0074] Among them, the subscripts x2, y2, and z2 represent the components of the orientation vector (n, o, a) or position vector (p) in the second joint homogeneous transformation matrix in the x, y, and z directions respectively. 0 T 2a ) k1 available The corresponding actual pose vector (p 2a ) k1 :
[0075]
[0076] where atan2(y,x) is the inverse tangent function of two variables.
[0077] Based on the above steps, it can be measured The actual posture p of the second joint is obtained by the posture sensor located at the second joint 2a .
[0078] Then, based on the known nominal DH parameters of the manipulator and the forward kinematics of the manipulator, Calculate the nominal position of the second joint p2 at the current measurement configuration; the forward kinematics of the manipulator of this embodiment is combined with the nominal DH parameters of each joint, see Table 1, and the nominal ( 0 T2) k1 In this embodiment, it is set ( 0 T2) k1 The elements are characterized as follows:
[0079]
[0080] Among them, the subscripts x2, y2, and z2 represent the components of the orientation vector (n, o, a) or the position vector (p) in the x, y, and z directions in the second joint homogeneous transformation matrix. According to formula (3), the corresponding measurement configuration of the manipulator can be obtained. Nominal pose vector (p2) k1 :
[0081]
[0082] Among them, the subscripts x2, y2, and z2 represent the components of the orientation vector (n, o, a) or position vector (p) in the second joint homogeneous transformation matrix in the x, y, and z directions respectively. According to formula (2), (p 2a ) k1 And formula (4) (p2) k1 The second joint is in the measured configuration Pose error at (Δp2) k1 :
[0083] (Δp2) k1 =(p 2a ) k1 -(p2) k1 (5)
[0084] All (Δp2) k1 The combination can obtain the pose error vector Δp2 of the second joint of the robotic arm:
[0085]
[0086] Example According to Table 1, Δu A=[δθ1, δd1, δa1, δα1, δθ2, δd2, δa2, δα2] T , where the subscript A indicates that the vector element is the DH parameter error of the first two joints, and the subscripts 1 and 2 represent the first joint and the second joint. Measurement configuration The corresponding Jacobian matrix is:
[0087]
[0088]
[0089] Among them, M and R are both 3×1 differential transformation vectors, which respectively represent the mapping relationship between the DH parameter error (θ, d, a, α) of the i-th joint corresponding to the subscript to the second joint posture error. The construction basis is based on the forward kinematics of the manipulator, the DH nominal parameter values of the first two joints, As well as the differential transformation principle, they belong to the existing technology and will not be described here in detail.
[0090] All (J A ) k1 Combination to get J A :
[0091]
[0092] Similarly, this embodiment uses a laser tracker to collect The coordinates of the three laser target balls 2 on the sixth joint are used to establish the second sensor coordinate system F s2 Method establishment The actual second sensor coordinate system (F s2 ) k2 , and then get the actual ( 0 T s2 ) k2 ; Then combine the homogeneous coordinate transformation matrix s2 T6=( 0 T s2 ) -1 ( 0 T6); find the actual ( 0 T6) k2 ,Right now( 0 T 6a ) k2 ; This embodiment sets ( 0 T 6a ) k2 Each element is characterized by:
[0093]
[0094] Among them, the subscripts x6, y6, and z6 represent the components of the orientation vector (n, o, a) or position vector (p) in the sixth joint homogeneous transformation matrix in the x, y, and z directions respectively. 0 T 6a ) k1 available The corresponding actual pose vector (p 6a ) k2 :
[0095]
[0096] Among them, the subscripts x6, y6, and z6 represent the components of the orientation vector (n, o, a) or position vector (p) in the x, y, and z directions in the homogeneous transformation matrix of the sixth joint. Based on the above steps, we can measure The actual posture of the sixth joint is obtained by the posture sensor located at the sixth joint 6a .
[0097] Then, based on the known nominal DH parameters of the manipulator and the forward kinematics of the manipulator, The nominal position of the sixth joint p6 is calculated at this location. The forward kinematics of the manipulator of this embodiment is combined with the nominal DH parameters of each joint, see Table 1, and the nominal ( 0 T6) k2 , this embodiment sets ( 0 T6) k2 The elements are characterized as follows:
[0098]
[0099] Among them, the subscripts x6, y6, and z6 represent the components of the orientation vector (n, o, a) or position vector (p) in the homogeneous transformation matrix of the sixth joint in the x, y, and z directions respectively. 0 T6) k2 The corresponding nominal pose vector (p6) can be obtained k2 :
[0100]
[0101] According to Table 1, Δu B =[δθ3, δa3, δα3, δβ3, δθ4, δd4, δa4, δα4, δθ5, δd5, δa5, δα5, δθ6, δd6, δa6, δα6] T Among them, the subscript B indicates that the vector element is the DH parameter error of the last four joints, and the subscripts 3, 4, 5, and 6 represent the third, fourth, fifth, and sixth joints. The corresponding Jacobian matrix is:
[0102]
[0103]
[0104] Where M and R in the above formula are both 3×1 differential transformation vectors, which represent the mapping relationship between the DH parameter error (θ, d, a, α) of the i-th joint corresponding to its subscript to the sixth joint posture error. Its construction is based on the forward kinematics of the manipulator, the DH nominal parameter values of the first two joints, As well as the differential transformation principle, they belong to the existing technology and will not be described here in detail.
[0105] By all (J B ) k2 Combination to get J B :
[0106]
[0107] In this embodiment, the mapping of ΔuA to the sixth joint posture error can be achieved by using the measurement configuration: The Jacobian matrix at :
[0108]
[0109] To characterize. Among them,
[0110]
[0111] Where M and R in the above formula are both 3×1 differential transformation vectors, which represent the mapping relationship between the DH parameter error (θ, d, a, α) of the i-th joint corresponding to the subscript to the sixth joint posture error. Its construction is based on the forward kinematics of the manipulator, the DH nominal parameter values of the first two joints, As well as the differential transformation principle, they belong to the existing technology and will not be described here in detail.
[0112] By all (J′ A ) k2 Combination can get J' A :
[0113]
[0114] By combining ΔuA with formula (19), the sixth joint posture error Δp caused by ΔuA can be obtained: 6←A :
[0115] Δp 6←A =J′ A Δu A (20)
[0116] According to the above formula (11), all the actual pose vectors (p 6a ) k2 Can be combined into:
[0117]
[0118] The total nominal pose vector (p6) obtained according to the above formula (13) is k2 Can be combined into:
[0119]
[0120] Formulas (21) and (22) can be combined with the Δp obtained from formula (20) 6←A , obtain the sixth joint in the measurement configuration The pose error Δp6 at:
[0121] Δp6=p 6a -p6-Δp 6←A (twenty three)
[0122] According to formulas (6), (9), (16), (23) and ΔuA and ΔuB, the following calibration model can be established:
[0123]
[0124] According to formula (24), ΔuA and ΔuB can be solved, and then the joint angle command θ is corrected. i The absolute positioning accuracy of the end of the manipulator can be improved by indirectly compensating the sixth joint posture error of the manipulator. i It is obtained by traditional inverse kinematics method and will not be described in detail.
[0125] It should be noted that the method of this embodiment is not limited to six-degree-of-freedom robotic arms, and the above method can also be used for other robotic arms. The joint positions selected in the calibration process are not limited to the second and sixth joints mentioned above, and can be selected according to specific circumstances. The above method only needs to be adaptively adjusted.
[0126] This embodiment compares the performance of the above calibration method with the traditional single model calibration method, wherein the selected comparison indicators are the DH parameter error identification accuracy and the absolute positioning accuracy of the compensated robotic arm.
[0127] The error values of the DH parameters of the selected robotic arms in this comparison are shown in Table 2:
[0128] Table 2
[0129]
[0130] First, a single calibration model is established based on the traditional calibration method:
[0131] A total of 24 measurement configurations (θ1,...,θ6) are required k (k=1,2,...,24). Let J represent the Jacobian matrix in a single model:
[0132]
[0133] Among them, (J) k (k=1, 2, ..., 24) represents the Jacobian matrix block at the kth measurement configuration. The specific Jacobian matrix block can be expressed as:
[0134]
[0135] in, Obtained by the following formula
[0136]
[0137] Where M and R are both 3×1 differential transformation vectors, representing the mapping relationship between the DH parameter error (θ, d, a, α) of the i-th joint corresponding to the subscript to the posture error of the sixth joint.
[0138] The DH parameter error that needs to be solved in a single model is And (θ1,...,θ6) k Nominal pose error of the sixth joint at (p″6) k and the actual pose error (p″ 6a ) k The method of formula (10)-(13) in this embodiment can be referred to obtain p"6 and p" at all measurement configurations by the following formula: 6a :
[0139]
[0140] Then we can get the sixth joint in the measurement configuration (θ1,...,θ6) k The pose error Δp″6
[0141] Δp″6=p″ 6a -p″6 (29)
[0142] According to formulas (25), (29) and Δu, the following calibration model is established:
[0143] Δp″6=JΔu (30)
[0144] Then, the calibration method of this embodiment is used for calibration:
[0145] According to Table 1, Table 2 and the forward kinematics of the robot, calculate all and (θ1,...,θ6) k The actual joint pose p corresponding to 2a 、p 6a and p″ 6a The specific process can refer to the specific calculation process of the above formulas (1), (2) and (10), (11).
[0146] At the same time, according to Table 1 and the forward kinematics of the robotic arm, calculate all and (θ1,...,θ6) k The corresponding nominal joint poses p2, p6 and p″6, the specific process can refer to the specific calculation process of the above formulas (3), (4) and formulas (12), (13).
[0147] Since this embodiment needs to compare the calibration accuracy of the two under the same measurement noise intensity, this embodiment also needs to simulate the measurement noise during real calibration. The specific values are shown in Table 3.
[0148] Table 3
[0149]
[0150] According to the noise distribution law shown in Table 3, δΔp2, δΔp6 and δΔp″6 are generated accordingly.
[0151] Then according to the above obtained posture data p 2a , p2, p″ 6a , p″6 and measurement noise δΔp2 and δΔp″6, first calculate the following two pose error data:
[0152]
[0153] Then substitute formula (31) into formula (24) and (30) to obtain Δu A and the estimated value of Δu and
[0154] According to the obtained Δu A , refer to formula (20) to calculate Δp 6←A , and combined with the obtained pose data p 6a , p6 and measurement noise δΔp6, we can obtain:
[0155] Δp6=p 6a -p6-Δp 6←A +δΔp6 (32)
[0156] Then substitute formula (32) into formula (24) to obtain Δu B Estimated value of
[0157] In this embodiment, the present embodiment and the traditional single model calibration method are repeated for about 105 times, and the obtained and Substitute the following formula to calculate the identification accuracy of each DH parameter error in different models:
[0158]
[0159] Where mean[x] means the average value of x, the subscript "*" means "A", "B" or null value, k u represents Δu * The serial number of the parameter error in , where Δu A , k u =1,2,...,8;Δu B , k u =1,2,...,16;Δu,k u =1,2,...,24;Δu * (k u ) are the corresponding setting values in Table 2. The final comparison results can be found in Figure 7 shown.
[0160] Then and Substitute the following formulas to obtain the residual error of the DH parameters after compensation:
[0161]
[0162] Finally, this embodiment randomly generates a measurement configuration for testing the sixth joint coordinate system F6 pose residual in the manipulator motion space. (k t =1,2,...,1000). Let Δu (AB)R =[Δu AR ,Δu BR ] T , then Δu (AB)R and Δu R Combined with the forward kinematics of the robot arm, the pose residual F6 of the sixth joint coordinate system caused by the two is calculated. The final comparison results can be seen in Figure 8 shown.
[0163] Combine Figure 7 As shown, the calibration method of this embodiment can improve the identification accuracy of most DH parameter errors to a relatively balanced level, especially δd i and δa i The error of these two distance classes. Figure 8 and Figure 9 Results show that after compensating for the manipulator's parameter errors, the calibration method of this embodiment can further reduce the manipulator's end-of-line residual error at 103 test points. Furthermore, this embodiment significantly improves the accuracy of identifying distance-related DH parameter errors, meeting the requirements for higher positioning accuracy for the manipulator.
[0164] The above description is only a preferred embodiment of the present invention and does not limit the present invention in any form. Those skilled in the art can make some simple modifications, equivalent changes or modifications based on the technical content disclosed above, which all fall within the scope of protection of the present invention.
Claims
1. A robotic arm calibration method based on distributed pose acquisition and model dimensionality reduction, characterized in that: The steps include: Step 1: Install a posture sensor at the i-th joint and the j-th joint of the robot arm respectively, establish the coordinate system of each joint of the robot arm based on the MDH rule, and the posture sensor can output the posture information of its own coordinate system in real time; The jth joint is the end joint of the robot arm, the ith joint is the middle joint of the robot arm, and i and j are both positive integers. <j; Each coordinate system of the robotic arm includes at least a base coordinate system, an i-th joint coordinate system, a j-th joint coordinate system, a first pose sensor coordinate system located at the i-th joint pose sensor, and a second pose sensor coordinate system located at the j-th joint pose sensor; The method for establishing the i-th joint coordinate system is: At θ1=...=θ i = 0°, only rotate the i+1th joint, use the measuring instrument to collect the arc trajectory of the posture sensor on the end joint, and fit the arc rotation axis vector z i+1 ; at θ1 = ... = θ i =θ i+1 = 0°, only rotate the i+2th joint, collect the arc trajectory of the pose sensor on the end joint, and fit the arc rotation axis vector z i+2 ; Arc rotation axis vector z i+1 and z i+2 The common perpendicular line and the arc rotation axis vector z i+1 The intersection point is taken as the origin O i+1 ; at θ1 = ... = θ i-1 = 0° only rotate the i-th joint, the measuring instrument collects the arc trajectory of the pose sensor on the end joint, and fits the arc rotation axis vector z i , over O i+1 Make i The perpendicular line intersects z i Yu O i , as the origin of the i-th joint coordinate system, the i-th joint coordinate system F i ; The method for establishing the coordinate system of the first pose sensor located at the i-th joint pose sensor is: First, the first posture sensor uses three laser target balls; At θ1=...=θ i = 0°, use a measuring instrument to collect the coordinates of the three laser target balls on the i-th joint; Select one of the laser target sphere coordinates as the common coordinate, combine the other two laser target sphere coordinates to construct unit vectors v1 and v2, and transform vector z s1 =v1×v2 as the Z coordinate system of the first pose sensor s1 Axis, v1 is the X axis of the first pose sensor coordinate system s1 Axis, the common laser target sphere coordinates are used as the origin coordinates O of the first pose sensor coordinate system s1 , the first pose sensor coordinate system F can be established s1 ; Step 2: Select the measurement configuration (θ1, ..., θ i ) k1 (k1=1,2,...,m1) and (θ1,...,θ j ) k2 (k2=1,2,...,m2), where (θ1,...,θ i ) represents the set of rotation instructions of the first i joints corresponding to the measurement configuration, (θ1, ..., θ j ) represents the set of rotation instructions of all joints corresponding to the measurement configuration, k1 and k2 represent the serial numbers of the measurement configurations, and m1 and m2 represent the number of measurement configurations; i ) k1 The actual posture p of the i-th joint is obtained by the posture sensor located at the i-th joint ia , in (θ1, ..., θ j ) k2 The actual pose p of the jth joint is obtained by the pose sensor located at the jth joint ja ; Step 3: Based on the known nominal DH parameters of the manipulator and the forward kinematics of the manipulator, i ) k1 Calculate the nominal pose p of the i-th joint i , in (θ1, ..., θ j ) k2 Calculate the nominal pose p of the jth joint j ; Step 4: According to Δp i =p ia -p i Calculate (θ1, ..., θ i ) k1 The pose error of the i-th joint at position Δp i ; Step 5: Establish the calibration model Δp of the first i joints i =J A Δu A , and according to Δp i =J A Δu A Solve for Δu A ; Among them J A It is the Jacobian matrix established based on the forward kinematics and differential transformation principle of the manipulator, Δu A represents the DH parameter error vector of the first i joints; Step 6: According to Δp j←A =J′ A Δu A Calculate (θ1, ..., θ j ) k2 Based on Δu A The resulting j-th joint pose error Δp j←A , where J′ A is Δu A To the jth joint at (θ1, ..., θ j ) k2 The Jacobian matrix of the pose error at Δp j =p ja -p j -Δp j←A Calculate (θ1, ..., θ j ) k2 The j-th joint pose error Δp j ; Step 7: Establish the calibration model Δp of all joints j =J B Δu B , and according to Δp j =J B Δu B Solving for Δu B , where J B It is the Jacobian matrix established based on the forward kinematics and differential transformation principle of the manipulator, Δu B Represents the DH parameter error vector of all joints; Step 8: Indirectly compensate for the DH parameter error Δu by correcting the joint instructions A and Δu B .
2. The robotic arm calibration method according to claim 1, characterized in that: The method for establishing the base coordinate system is: First, only the first joint of the robotic arm is rotated, and the arc trajectory of the pose sensor on the end joint is collected by a measuring instrument. The arc rotation axis vector z1 is obtained by fitting and used as the Z1 axis of the first joint coordinate system. Then, when the first joint rotation angle is 0 degrees, that is, only the second joint is rotated at θ1 = 0°, and the measuring instrument collects the arc trajectory of the posture sensor on the end joint, and fits the arc rotation axis vector z2 as the Z2 axis of the second joint coordinate system; the vector x1 = z1 × z2 is defined as the X1 axis of the first joint coordinate system, and the intersection of the common perpendicular line of the arc rotation axis vectors z1 and z2 and the arc rotation axis vector z1 is used as the origin O1 to establish the first joint coordinate system F1; the base coordinate system F0 is made to coincide with F1 to obtain the base coordinate system F0.
3. The robotic arm calibration method according to claim 1, wherein: The method for establishing the j-th joint coordinate system is: First, in θ1=...=θ j-2 =θ j = 0°, only rotate the jth joint, use the measuring instrument to collect the arc trajectory of the posture sensor on the end joint, and fit the arc rotation axis vector z j-1 ; At θ1=...=θ j = 0°, only rotate the jth joint, collect the arc trajectory of the pose sensor on the end joint, and fit the arc rotation axis vector z j , as the Z coordinate system of the jth joint j axis; Define vector x6=z5×z6 as the X coordinate of the j-th joint coordinate system j Axis, arc rotation axis vector z j-1 and z j The common perpendicular line and the arc rotation axis vector z j The intersection point is taken as the origin O j , thus establishing the j-th joint coordinate system F j .
4. The robotic arm calibration method according to claim 1, wherein: The method for establishing the second pose sensor coordinate system located at the j-th joint pose sensor is as follows: First, the second posture sensor uses three laser target balls; At θ1=...=θ j = 0°, use a measuring instrument to collect the coordinates of the three laser target balls on the jth joint; Select one of the laser target sphere coordinates as the common coordinate, and combine the other two laser target sphere coordinates to construct unit vectors v3 and v4. s2 =v3×v4 as the Z coordinate system of the second pose sensor s2 Axis, v3 as the X axis of the second pose sensor coordinate system s2 Axis, the common laser target sphere coordinates are used as the origin coordinates O of the second pose sensor coordinate system s2 , the second pose sensor coordinate system F can be established s2 .
5. The robotic arm calibration method according to claim 1, characterized in that: The calculation method of the actual posture of the i-th joint and the j-th joint in step 2 is: First, based on the i-th joint coordinate system F i , the first pose sensor coordinate system F s1 , j-th joint coordinate system F j , the second pose sensor coordinate system F s2 The homogeneous coordinate transformation matrix from the first pose sensor coordinate system to the i-th joint and the homogeneous coordinate transformation matrix from the second pose sensor coordinate system to the j-th joint coordinate system are derived respectively: * T # =( 0 T * ) -1 ( 0 T # ) Where * represents the first pose sensor or the second pose sensor; # represents the i-th joint or the j-th joint; based on * T # =( 0 T * ) -1 ( 0 T # ) to find out each measurement configuration (θ1, ..., θ i ) k1 (k1=1,2,...,m1) and (θ1,...,θ j ) k2 (k2=1,2,...,m2) corresponds to the actual ( 0 T # ) ku , which is ( 0 T #a ) ku , where # represents the i-th joint or the j-th joint, for the measurement configuration (θ1, ..., θ i ) k1 (k1=1,2,...,m1), ku refers to k1(k1=1,2,...,m1), for the measurement configuration (θ1,...,θ j ) k2 (k2=1,2,...,m2), ku refers to k2(k2=1,2,...,m2); set up( 0 T #a ) ku The elements are characterized as follows: Where # represents the i-th joint or the j-th joint, for the measurement configuration (θ1, ..., θ i ) k1 (k1=1,2,...,m1), ku refers to k1(k1=1,2,...,m1), for the measurement configuration (θ1,...,θ j ) k2 (k2=1,2,...,m2), ku refers to k2(k2=1,2,...,m2); Depend on( 0 T #a ) ku The actual pose vector (p #a ) ku : where atan2(y,x) is the inverse tangent function of two variables.
6. A robotic arm calibration device based on the robotic arm calibration method according to any one of claims 1 to 5, characterized in that: It includes a measuring instrument and a posture sensor, wherein the posture sensors include at least two, and one posture sensor is installed at the end joint of the robotic arm; the other posture sensor is installed at the middle joint of the robotic arm.
7. The robotic arm calibration device according to claim 6, characterized in that: The robotic arm adopts a six-degree-of-freedom robotic arm, the measuring instrument adopts a laser tracker, and the posture sensor adopts three non-collinear laser target balls, each of which is adhered to a threaded rod with a frustum at one end through a target ball base; the three laser target balls located at the middle joint of the robotic arm are connected to the split connecting ring through a threaded rod, and the two sections of the split connecting ring are clamped and connected to the middle joint of the robotic arm; the three laser target balls located at the end joint of the robotic arm are connected to the threaded holes on the flange end face of the end joint through a threaded rod.
Citation Information
Patent Citations
Mechanical arm kinematics parameter calibration method based on measuring of laser tracker
CN110281241A
Industrial robot calibration method based on LM algorithm and particle filter algorithm optimization
CN110900610A