Abstract
A monocular vision six-dimensional measurement method for high-dynamic large-range arbitrary contouring error of a CNC machine tool of the present invention belongs to the field of dynamic error detection of machine tools, and relates to a six-dimensional measurement method for high-dynamic large-range arbitrary contouring error of a CNC machine tool using a monocular vision measurement technology with short-time stroboscopic illumination and a priori standard plate. The method designs a measurement fixture and a measurement system, and uses a monocular vision pose algorithm to improve both the visual measurable dimension and range of interpolated contour in combination with priori knowledge. In light of the principle of error distribution, a small field of view is used to enhance the measurement accuracy of the coded primitives in the images. Then, by traversing all the acquired images using the proposed method, we can obtain the six-dimensional motion contour; and the six-dimensional contouring error caused by the imperfect machine interpolation can be computed by comparing the measured contour with the nominal one. The method enhances the measurable dimension of the vision technology through the monocular vision pose algorithm in combination with a datum transformation method, and realizes the six-dimensional measurement of large-range arbitrary contouring error of the CNC machine tool under the small field of view.
Claims
1. A monocular vision six-dimensional measurement method for high-dynamic large-range arbitrary contouring error of CNC machine tool, characterized in that the method uses a measurement fixture and a measuring system which are specially designed, and in combination with priori knowledge, the monocular vision pose algorithm is used to promote vision measurable dimension and range of interpolation contouring errors of machines; the whole machine tool motion contour is represented by a selected reference primitive; a small field of view is used to enhance the measurement accuracy of the visible coded primitives; then, six-dimensional information of X, Y, Z, pitch, roll and yaw of the machine tool interpolation contour represented by the reference primitive in machine tool coordinate system is obtained through datum transformation; the method is used to traverse each shot frame image to obtain the final actual six-dimensional motion contour of the machine tool; a six-dimensional contouring error generated by the CNC machine tool interpolation is computed by comparing the measured contour with the nominal one; specific steps of the method are as follows: first step: installing the measurement fixture and the measurement system which are specially made the measurement fixture specially made is composed of a base (10), a high-brightness short-time light-emitting unit (9), a priori standard plate (7) and coded primitives (8); the priori standard plate (7) is made of transparent base material, and the coded primitives (8) with unique code values and matrice distribution are coated on the priori standard plate (7); when the measurement fixture is installed, the high-brightness short-time light-emitting unit (9) is inserted into grooves on both sides of the base (10); the priori standard plate (7) is supported on the base (10); the priori standard plate (7) is pressed by two pressing plates (6); four pressing plate locking bolts (5) are used to press and fix the priori standard plate (7) through the pressing plates (6); the measurement system comprises a camera (1), a camera clamp (2) and the measurement fixture; the camera (1) is fixed to the camera clamp (2); the camera clamp (2) is installed above the measurement fixture to collect sequential images in the motion process of the measurement fixture; the assembled measurement fixture is put on an optical three-coordinate device platform; an optical three-coordinate device calibrates a space geometry relation among the coded primitives (8) under a global coordinate system of the priori standard plate; when the measurement system is arranged, the calibrated measurement fixture is fastened to a rotary table (3) of the CNC machine tool (4) through a pressing bolt (11) and a pressing nut (12); second step: establishing the global coordinate system of the priori standard plate the global coordinate system O.sub.GX.sub.GY.sub.GZ.sub.G (14) of the priori standard plate is established on the measurement fixture; an origin is established on the center of the coded primitive (8) in the first row and the first column, and is defined as O.sub.G, the direction of the X.sub.G coordinate axis is that the origin O.sub.G downwards points to the center point of the coded primitive (8) in the first column and the last row on the array; the direction of the Y.sub.G coordinate axis is that the O.sub.G points towards the right to the center point of the coded primitive (8) in the first row and the last column on the array; the Z.sub.G coordinate axis is determined by a right-handed rule; the optical three-coordinate device is used to calibrate the space geometry relation among the coded primitives (8) under the global coordinate system O.sub.GX.sub.GY.sub.GZ.sub.G (14) of the priori standard plate to obtain three-dimensional coordinates of the coded primitives (8) under the global coordinate system O.sub.GX.sub.GY.sub.GZ.sub.G (14) of the priori standard plate; the coded primitives (8) on the priori standard plate (7) carry motion information of the CNC machine tool (4); the spatial position relationship among the coded primitives (8) is calibrated through a high-accuracy device; on the premise of ensuring calibration accuracy, the size of the priori standard plate (7) can be made as large as possible to satisfy large-scale measurement demands of the contouring error; third step: camera calibration a camera imaging model expresses a one-to-one mapping relationship between a camera coordinate system and a world coordinate system; the camera imaging model with distortion parameters is: where (X.sub.w,Y.sub.w,Z.sub.w) is a three-dimensional coordinate of the center point of the coded primitive (8) under the world coordinate system; K is an intrinsic matrix of the camera (1); T is an extrinsic matrix of the camera (1); (u,v) is a two-dimensional coordinate of the center point of the coded primitive (8) in an image plane; (u.sub.0,v.sub.0) is coordinate of the principal point; (C.sub.x,C.sub.y) is an equivalent focal length in transverse and longitudinal direction; R.sub.C.sup.I and T.sub.C.sup.I are respectively rotation and translation transformation matrixes between the camera coordinate system and the world coordinate system; (.sub.x,.sub.y) is a distortion of an image point in the directions of x and y caused by an imperfect optical system; checker calibration boards is placed in multiple positions in the field of view (21) of the camera (1) and the images are acquired; distortion parameters as well as the intrinsic and extrinsic matrixes of the camera (1) are calibrated through a calibration algorithm proposed by Zhang Zhengyou; fourth step: high-definition no-fuzzy image collection and processing for high-dynamic and large-range interpolation contour of CNC machine tool on the basis of completing the installation and arrangement of the measurement fixture, images of the contour interpolated by the CNC machine tool (4) are collected; because requirements for the measurement accuracy of the contouring error are high, the required field of view (21) for shooting is small; firstly, the parameters of the camera (1) are adjusted so that the camera (1) is under the optimal shooting field of view and frame frequency; subsequently, the camera (1) and the high-brightness short-time light-emitting unit (9) are synchronously triggered; light-emitting time and light-emitting intensity of the high-brightness short-time light-emitting unit (9) are set to ensure that the high-brightness short-time light-emitting unit (9) penetrates through the base of the priori standard plate (7) within the exposing time of the camera (1) and supplements light for the coded primitives (8); high-traverse speed machine tool speed which can reflect dynamic performance of the machine tool is selected; each motion axis of the CNC machine tool (4) is driven to interpolate the contour in accordance with the program instructions; in the process of image collection of the machine tool movement, the camera (1) is fixed and the machine tool moves; clear and no-fuzzy sequential images of the coded primitives (8) are collected under the assistance of the high-brightness short-time light-emitting unit (9); after the images are collected, the code values represented by each coded primitive (8) on the images are recognized, then the two-dimensional pixel coordinates of the center point of each decoded coded primitive (8) is positioned through a gray centroid method; the center of coded primitives is positioned by an extraction algorithm of the gray centroid method, with a computation expression as follows: where (i,j) represents the pixel point in image plane; m and n are the number of pixels included in the image in the transverse direction and the longitudinal direction; (x,y) is a center-of-mass coordinate of the image; f(i,j) is a gray value at the pixel coordinate (i,j); fifth step: six-dimensional computation for high-dynamic and large-range arbitrary contouring error of CNC machine tool in the method, a small field of view (21) is used to enhance the measurement accuracy of the coded primitives (8) in the field of view; in combination with priori knowledge, the monocular vision pose algorithm is used to promote vision measurable dimension and range of interpolation contouring errors of machines; the whole machine tool motion contour is represented by a selected reference primitive; the position of the reference primitive in an invisible region of the field of view (21) is computed by the pixel coordinates of the primitives in visible region in combination with high-accuracy priori constraints; the motion contour represented by the reference primitive in the machine tool coordinate system is obtained through datum transformation by traversing all the images; a six-dimensional contouring error generated by the interpolation of the CNC machine tool (4) is computed by comparing the measured contour with the nominal one; six-dimensional computation steps for high-dynamic and large-range arbitrary contouring error of CNC machine tool are specifically as follows: the field of view (21) of the camera (1) is NN (unit: mm); the external dimension of the priori standard plate (7) is MM (unit: mm); N is much smaller than M; besides the above global coordinate system O.sub.G-X.sub.GY.sub.GZ.sub.G (14) of the priori standard plate, involved coordinate systems also comprise a camera coordinate system O.sub.C-X.sub.CY.sub.CZ.sub.C (13), a machine tool coordinate system O.sub.M-X.sub.MY.sub.MZ.sub.M (15) and a local coordinate system O.sub.LiX.sub.LiY.sub.LiZ.sub.Li (22) of the priori standard plate; the origin of the camera coordinate system O.sub.C-X.sub.CY.sub.CZ.sub.C (13) is established on an optical center O.sub.C; when the CNC machine tool (4) does not move, four coded primitives P.sub.1.sup.1 16, P.sub.1.sup.2 17, P.sub.1.sup.3 18 and P.sub.1.sup.4 19 arranged in a rectangle in the field of view are selected in the first frame image; the coded primitive P.sub.1.sup.1 16 is selected as a reference primitive; the motion contour of the CNC machine tool (4) synthesized by the interpolation motion axis of each axis is represented by the coded primitive P.sub.1.sup.1 16; the coordinate in the global coordinate system O.sub.G-X.sub.GY.sub.GZ.sub.G (14) of the priori standard plate is .sup.GP.sub.1.sup.1(.sup.GX.sub.1.sup.1, .sup.GY.sub.1.sup.1, .sup.GZ.sub.1.sup.1); the machine tool coordinate system O.sub.M-X.sub.MY.sub.MZ.sub.M (15) is established by taking P.sub.1.sup.1 16 as an origin; the direction of each coordinate axis of the machine tool coordinate system O.sub.M-X.sub.MY.sub.MZ.sub.M (15) is consistent with the direction of each motion axis of the CNC machine tool (4); the machine tool is controlled to drive the measurement fixture to respectively move along the X axis direction of the machine tool to multiple positions; the three-dimensional coordinate (x,y,z) of P.sub.1.sup.1 16 relative to the camera coordinate system O.sub.C-X.sub.CY.sub.CZ.sub.C (13) in each position is computed using a monocular vision pose solving algorithm; on this basis, a vector in the X axis direction is fitted; the Y axis of the machine tool coordinate system O.sub.M-X.sub.MY.sub.MZ.sub.M (15) is determined in accordance with the same rule; the Z axis of the machine tool coordinate system O.sub.M-X.sub.MY.sub.MZ.sub.M (15) is determined by the right-handed rule; X axis and Y axis are established in accordance with the following formula: where .sup.CP.sub.1.sup.1(.sup.CX.sub.1.sup.1, .sup.CY.sub.1.sup.1, .sup.CZ.sub.1.sup.1) is the three-dimensional coordinates of the coded primitive P.sub.1.sup.1 16 in the camera coordinate system O.sub.CX.sub.CY.sub.CZ.sub.C (13) in the first frame image; (x,y,z) is the three-dimensional coordinates of point P.sub.1.sup.1 16 relative to the camera coordinate system O.sub.CX.sub.CY.sub.CZ.sub.C 13 in each position computed using the monocular vision pose solving algorithm by the measurement fixture that moves along the X axis direction of the machine tool to multiple positions; (m.sub.x,n.sub.x,p.sub.x) is a vector in the X axis direction of the machine tool coordinate system O.sub.MX.sub.MY.sub.MZ.sub.M (15); (m.sub.y,n.sub.y,p.sub.y) is a vector in the Y axis direction of the machine tool coordinate system O.sub.MX.sub.MY.sub.MZ.sub.M (15); (.sup.CX, .sup.CY, .sup.CZ) is a three-dimensional coordinates of a point in the camera coordinate system O.sub.CX.sub.CY.sub.CZ.sub.C (13); (.sup.MX, .sup.MY, .sup.MZ) is a three-dimensional coordinates of a point in the machine tool coordinate system O.sub.MX.sub.MY.sub.MZ.sub.M (15); Mg is a transformation matrix between the camera coordinate system O.sub.CX.sub.CY.sub.CZ.sub.C 13 and the machine tool coordinate system O.sub.MX.sub.MY.sub.MZ.sub.M (15); during measurement, the priori standard plate (7) continuously makes interpolation motion along with the machine tool, and the coded primitives (8) thereon are continuously imaged on the camera (1); in the motion process of the CNC machine tool (4), the camera (1) collects G frame images totally; four coded primitives (8) that appears in the field of view in the ith frame image and arranged in a rectangle are P.sub.i.sup.3 23, P.sub.i.sup.2 24, P.sub.i.sup.3 25 and P.sub.i.sup.4 26; the coordinates of the centers of the four coded primitives (8) in the global coordinate system O.sub.GX.sub.GY.sub.GZ.sub.G (14) of the priori standard plate are .sup.GP.sub.i.sup.1(.sup.GX.sub.i.sup.1, .sup.GY.sub.i.sup.1, .sup.GZ.sub.i.sup.1), .sup.GP.sub.i.sup.2(.sup.GX.sub.i.sup.2, .sup.GY.sub.i.sup.2, .sup.GZ.sub.i.sup.2), .sup.GP.sub.i.sup.3(.sup.GX.sub.i.sup.3, .sup.GY.sub.i.sup.3, .sup.GZ.sub.i.sup.3), and .sup.GP.sub.i.sup.4(.sup.GX.sub.i.sup.4, .sup.GY.sub.i.sup.4, .sup.GZ.sub.i.sup.4); corresponding two-dimensional pixel coordinates on the image plane are p.sub.i.sup.1(u.sub.i.sup.1,v.sub.i.sup.1), p.sub.i.sup.2(u.sub.i.sup.2,v.sub.i.sup.2), p.sub.i.sup.3(u.sub.i.sup.3,v.sub.i.sup.3), and p.sub.i.sup.4(u.sub.i.sup.4,v.sub.i.sup.4); a local coordinate system O.sub.LiX.sub.LiY.sub.LiZ.sub.Li (22), (i=1, 2 . . . G) of the priori standard plate under the ith frame is established; the coordinate system takes P.sub.i.sup.1 23 as a coordinate origin; X.sub.Li and Y.sub.Li coordinate axis directions are respectively parallel to X.sub.G and V.sub.G directions of the global coordinate system O.sub.GX.sub.GY.sub.GZ.sub.G 14 of the priori standard plate; Z.sub.Li coordinate axis is determined by the right-handed rule; three-dimensional coordinates of the centers of the selected four coded primitives (8) in the local coordinate system O.sub.LiX.sub.LiY.sub.LiZ.sub.Li (22) of the priori standard plate are: where T.sub.i is a transformation matrix between the global coordinate system O.sub.GX.sub.GY.sub.GZ.sub.G (14) of the priori standard plate of the ith frame image and the local coordinate system O.sub.LiX.sub.LiY.sub.LiZ.sub.Li (22) of the priori standard plate; the ith frame image (i=1, 2 . . . G) is computed as follows: where X.sub.i is a distance from the optical center O.sub.C in the camera coordinate system O.sub.CX.sub.CY.sub.CZ.sub.C (13) to the P.sub.i.sup.1 23 point on the priori standard plate (7) of the ith frame; Y.sub.i is a distance from the optical center O.sub.C in the camera coordinate system O.sub.CX.sub.CY.sub.CZ.sub.C (13) to the P.sub.i.sup.2 24 point on the priori standard plate 7 of the ith frame; Z.sub.i is a distance from the optical center O.sub.C in the camera coordinate system O.sub.CX.sub.CY.sub.CZ.sub.C (13) to the P.sub.i.sup.4 26 point on the priori standard plate 7 of the ith frame; a is a distance between P.sub.i.sup.1 23 and P.sub.i.sup.2 24 in the global coordinate system O.sub.GX.sub.GY.sub.GZ.sub.G of the priori standard plate (7) of the ith frame; a is a distance between P.sub.i.sup.2 24 and P.sub.i.sup.4 26 in the global coordinate system O.sub.GX.sub.GY.sub.GZ.sub.G (14) of the priori standard plate of the ith frame; c is a distance between P.sub.i.sup.1 23 and P.sub.i.sup.4 26 in the global coordinate system O.sub.GX.sub.GY.sub.GZ.sub.G (14) of the priori standard plate of the ith frame; is an angle P.sub.i.sup.2O.sub.CP.sub.i.sup.4 between straight lines O.sub.CP.sub.i.sup.2 and O.sub.CP.sub.i.sup.4; is an angle P.sub.i.sup.1O.sub.CP.sub.i.sup.4 between straight lines O.sub.CP.sub.i.sup.1 and O.sub.CP.sub.i.sup.4; is an angle P.sub.i.sup.1O.sub.CP.sub.i.sup.2 between straight lines O.sub.CP.sub.i.sup.1 and O.sub.CP.sub.i.sup.2; k=2 cos , q=2 cos , r=2 cos , c.sup.2=vZ.sub.i.sup.2, a.sup.2=ac.sup.2=vZ.sub.i.sup.2, b.sup.2=bc.sup.2=bvZ.sup.2, X.sub.i=xZ.sub.i, Y.sub.i=bZ.sub.i, P.sub.i.sup.1 23, P.sub.i.sup.2 24 and P.sub.i.sup.4 26 are set as three spatial points in the ith frame that are not coplanar and whose position relation is known, and k.sup.2+q.sup.2+r.sup.2kqr10 is satisfied; equation (5) is rewritten as formula (6); the degenerate solution of the formula (6) is eliminated through an optimization algorithm to obtain four acceptable zero solutions; P.sub.i.sup.3 25 is used as a priori constraint to obtain unique solutions of X.sub.i, Y.sub.i, and Z.sub.i; then three-dimensional coordinates .sup.CP.sub.i.sup.1(.sup.CX.sub.i.sup.1, .sup.CY.sub.i.sup.1, .sup.CZ.sub.i.sup.1), .sup.CP.sub.i.sup.2(.sup.CX.sub.i.sup.2, .sup.CY.sub.i.sup.2, .sup.CZ.sub.i.sup.2), .sup.CP.sub.i.sup.4(.sup.CX.sub.i.sup.4, .sup.CY.sub.i.sup.4, .sup.CZ.sub.i.sup.4), of P.sub.i.sup.1 23, P.sub.i.sup.2 24 and P.sub.i.sup.4 26 points on the priori standard plate (7) of the ith frame under the camera coordinate system O.sub.CX.sub.CY.sub.CZ.sub.C (13) are expressed as the following formula: on the basis of the known .sup.LiP.sub.i.sup.j(.sup.LiX.sub.i.sup.j, .sup.LiY.sub.i.sup.j, .sup.LiZ.sub.i.sup.j), and .sup.CP.sub.i.sup.j(.sup.CX.sub.i.sup.j, .sup.CY.sub.i.sup.j, .sup.CZ.sub.i.sup.j), a Kabsch algorithm is used for solving a rotation matrix R.sub.i and a translation matrix t.sub.i of the local coordinate system O.sub.LiX.sub.LiY.sub.LiZ.sub.Li 22 of the priori standard plate of the ith frame relative to the camera coordinate system O.sub.C-X.sub.CY.sub.CZ.sub.C (13); t.sub.i is the three-dimensional coordinates t.sub.i=.sup.CP.sub.i.sup.1(.sup.CX.sub.i.sup.1, .sup.CY.sub.i.sup.1, .sup.CZ.sub.i.sup.1), of the origin P.sub.i.sup.1 23 of the local coordinate system O.sub.LiX.sub.LIY.sub.LiZ.sub.Li (22) of the priori standard plate of the ith frame in the camera coordinate system O.sub.CX.sub.CY.sub.CZ.sub.C (13); a pitch angle .sub.i, a roll angle .sub.i and a yaw angle .sub.i between two coordinate systems are computed through R.sub.i separation; the three-dimensional coordinates of the reference primitive P.sub.1.sup.1 1 in the camera coordinate system O.sub.CX.sub.CY.sub.CZ.sub.C (13) of the ith frame is computed according to a known spatial constraint among the coded primitives (8) of the priori standard plate (7); the measured contouring error is represented in the machine tool coordinate system O.sub.MX.sub.MY.sub.MZ.sub.M 15, and the contour measured by the camera (1) needs to be subjected to coordinate transformation to correctly compute the machine tool contouring error; a pose transformation formula of the machine tool coordinate system O.sub.MX.sub.MY.sub.MZ.sub.M (15) and the local coordinate system O.sub.LiX.sub.LiY.sub.LiZ.sub.Li (22) of the priori standard plate is: where M.sub.i is a transformation matrix between the local coordinate system O.sub.LiX.sub.LiY.sub.LiZ.sub.Li (22) of the priori standard plate under the ith frame image and the machine tool coordinate system O.sub.MX.sub.MY.sub.MZ.sub.M (15); a pitch angle .sub.i, a roll angle .sub.i and a yaw angle .sub.i of the ith frame standard plate relative to the machine tool coordinate system O.sub.MX.sub.MY.sub.MZ.sub.M (15) are separated from M.sub.i; all image sequences are traversed to obtain a six-degree-of-freedom contour L.sub.r of the whole machine tool represented by the reference primitive, where L.sub.r(.sup.MX.sub.i, .sup.MY.sub.i, .sup.MZ.sub.i, .sub.i, .sub.i, .sub.i) and i=1, 2 . . . G; a six-degree-of-freedom contouring error E generated by interpolation of the CNC machine tool (4) is computed by comparing the actual six-degree-of-freedom contour L.sub.r with the nominal contour L.sub.m:
E=L.sub.rL.sub.m.(9)
Description
DESCRIPTION OF DRAWINGS
[0031] FIG. 1 is a diagram of a six-dimensional measurement system for high-dynamic large-range arbitrary contouring error of a CNC machine tool. In the figure, 1camera; 2camera clamp; 3rotary table; and 4CNC machine tool.
[0032] FIG. 2 is an exploded view of a measurement fixture. In the figure, 5pressing plate locking bolt; 6pressing plate; 7priori standard plate; 8coded primitive; 9high-brightness short-time light-emitting unit; 10base; 11pressing bolt; and 12pressing nut.
[0033] FIG. 3 is an arrangement diagram of a measurement system and each coordinate system when a machine tool does not move. In the figure, 13camera coordinate system O.sub.CX.sub.CY.sub.CZ.sub.C; 14global coordinate system O.sub.GX.sub.GY.sub.GZ.sub.G of priori standard plate; 15machine tool coordinate system O.sub.MX.sub.MY.sub.MZ.sub.M; 16coded primitive P.sub.1.sup.1; 17coded primitive P.sub.1.sup.2; 18coded primitive P.sub.1.sup.3; 19coded primitive P.sub.1.sup.4; 20local coordinate system O.sub.LiX.sub.LiY.sub.LiZ.sub.Li of priori standard plate of first frame; and 21field of view of camera.
[0034] FIG. 4 shows an identification and positioning result of a coded primitive of the 300th frame image.
[0035] FIG. 5 shows the X component of the machine tool interpolated contouring error solved by the vision method.
[0036] FIG. 6 shows the Y component of the machine tool interpolated contouring error solved by the vision method.
[0037] FIG. 7 shows the Z component of the machine tool interpolated contouring error solved by the vision method.
[0038] FIG. 8 shows the pitch component .sub.i of the machine tool interpolated contouring error solved by the vision method.
[0039] FIG. 9 shows the roll component .sub.i of the machine tool interpolated contouring error solved by the vision method.
[0040] FIG. 10 shows the yaw component .sub.i of the machine tool interpolated contouring error solved by the vision method.
DETAILED DESCRIPTION
[0041] Specific embodiments of the present invention are described below in detail in combination with the technical solution and accompanying drawings.
[0042] To reflect the arbitrariness of the path, a plane interpolation equiangular spiral contour of a CNC machine tool is taken as a research object, and the six-dimensional contouring error is solved using the vision detection method of the present invention. The equation of the equiangular spiral contour to be measured is r=0.189e.sup.0.221, =[0,7.3]. Six-dimensional solving steps of the equiangular spiral contouring error are specifically as follows:
[0043] First Step: Designing and Installing a Measurement Fixture and a Measurement System
[0044] As shown in FIG. 1, a measurement object is a self-designed CNC machine tool 4. The strokes of the CNC machine tool 4 in X direction and Y direction are respectively 800 mm and 900 mm. To reflect the dynamic performance of the machine tool, the interpolation speed of the machine tool is selected as 3 m/min. The measurement system comprises a camera 1, a camera clamp 2 and the measurement fixture. In the embodiment, the selected camera 1 has a frame frequency of 60 fps, a resolution of 33003300 pixels and an exposing time of 5000 s. The camera clamp 2 can realize six-pose adjustment of the camera 1. The measurement fixture is composed of a base 10, a high-brightness short-time light-emitting unit 9, a priori standard plate 7 and coded primitives 8. The measurement fixture is installed on a rotary table of the CNC machine tool.
[0045] FIG. 2 is an exploded view of the measurement fixture. The priori standard plate 7 is made of transparent glass material having an external dimension of 250 mm250 mm, and 196 coded primitives 8 distributed in a matrix are photoetched on the priori standard plate 7. Each coded primitive 8 is sampled and valued from [65, 637], and has unique code value. The center distance between adjacent coded primitives 8 is 16 mm.
[0046] Each unit is assembled in accordance with the exploded view of the measurement fixture shown in FIG. 2. The specific assembling sequence is: the high-brightness short-time light-emitting unit 9 is inserted into grooves on both sides of the base 10; the priori standard plate 7 is put on the base 10; the priori standard plate 7 is pressed by two pressing plates 6; and four pressing plate locking bolts 5 are used to press and fix the priori standard plate 7 through the pressing plates 6.
[0047] The assembled measurement fixture is put on an optical three-coordinate device platform; and a global coordinate system O.sub.GX.sub.GY.sub.GZ.sub.G 14 of the priori standard plate is established, as shown in FIG. 3. The optical three-coordinate device is used to calibrate the space geometry relation among the coded primitives 8 in the global coordinate system O.sub.GX.sub.GY.sub.GZ.sub.G 14 of the priori standard plate; the measurement and detection accuracy of an optical three-coordinate space is 0.5 m; and three-dimensional coordinates of the coded primitives 8 in the global coordinate system O.sub.GX.sub.GY.sub.GZ.sub.G 14 of the priori standard plate are obtained.
[0048] The calibrated measurement fixture is fastened to a rotary table of the CNC machine tool 4 through a pressing bolt 11 and a pressing nut 12. In installation, the camera 1 is fixed to the camera clamp 2; and six-dimensional pose parameters of the camera 1 are adjusted to ensure that the camera clamp 2 is positioned above the measurement fixture to collect sequential images of the coded primitives 8 in the motion process of the measurement fixture. Imaging parameters of the camera 1 are adjusted. The field of view 21 of the camera 1 is 40 mm40 mm, and the measurement distance is about 337 mm.
[0049] Second Step: Camera Calibration
[0050] High-accuracy two-dimensional checker calibration board are placed in 16 positions in the field of view 21 of the camera 1; and the camera 1 is triggered in each position to shoot the images of the calibration boards. Intrinsic and extrinsic parameters and distortion parameters of the camera 1 are calibrated through a calibration algorithm proposed by Zhang Zhengyou in combination with the formula (1). The equivalent focal length of the calibrated transverse direction and longitudinal direction is: (.sub.x, .sub.y)=(14959.25, 14959.68); the principal point of the image is (u.sub.0, v.sub.0)=(2557.11, 2599.79); five distortion factors to be solved for expressing distortion are (0.10328, 0.23054, 0.00045, 0.00012, 0).
[0051] Third Step: High-Definition No-Fuzzy Image Collection and Processing for High-Dynamic and Large-Range Interpolation Contour of CNC Machine Tool
[0052] Image sequence of the plane equiangular spiral contour interpolated by the CNC machine tool 4 is collected and processed. The camera 1 and the high-brightness short-time light-emitting unit 9 are synchronously triggered, then the X axis and Y axis of the CNC machine tool 4 are driven to interpolate the contour; and the light-emitting time of the high-brightness short-time light-emitting unit 9 in each frame is set as 700 s to ensure high contrast of the collected sequential images. After the images are collected, the code value of the coded primitive 8 in each frame image is identified, and the pixel coordinates of the center point of each coded primitive 8 is positioned through a gray centroid method in combination with the formula (2). FIG. 4 shows a processing result of image identification and positioning of a coded primitive 8.
[0053] Fourth Step: Six-Dimensional Computation for High-Dynamic and Large-Range Arbitrary Contouring Error of CNC Machine Tool
[0054] The field of view 21 of the adopted camera 1 is 40 mm40 mm; the external dimension of the priori standard plate 7 is 250 mm250 mm; the scope of the measured equiangular spiral contour is [90 mm, 70 mm]; and the field of view 21 of the camera 1 is less than the range of the contour interpolated by the machine tool. The whole machine tool motion contour is represented by a coded primitive 8 selected on the first frame image. The position of this primitive in an invisible region is estimated through a space geometry relation among the coded primitives 8 on the large-size priori standard plate 7, so as to realize large-range contouring error measurement of the CNC machine tool 4. Specific steps are as follows:
[0055] Step 1 The camera coordinate system O.sub.CX.sub.CY.sub.CZ.sub.C 13 is established with reference to FIG. 3; the coded primitive P.sub.1.sup.1 16 with a code value of 235 in the sixth row and the ninth column on the priori standard plate is selected from the first image frame as a reference primitive; the coded primitive 8 with a code value of 237 in the sixth row and the tenth column is selected as a second coded primitive P.sub.1.sup.2 17; the coded primitive 8 with a code value of 285 in the seventh row and the tenth column is selected as a third coded primitive P.sub.1.sup.3 18; the coded primitive 8 with a code value of 283 in the seventh row and the ninth column is selected as a fourth coded primitive P.sub.1.sup.4 19; the coded primitive P.sub.1.sup.1 16 with a code value of 235 is selected as an origin, so as to establish a local coordinate system O.sub.LiX.sub.LiY.sub.LiZ.sub.Li 20 and a machine tool coordinate system O.sub.MX.sub.MY.sub.MZ.sub.M 15 of the first frame priori standard plate; and a transformational relation between the camera coordinate system O.sub.CX.sub.CY.sub.CZ.sub.C 13 and the machine tool coordinate system O.sub.MX.sub.MY.sub.MZ.sub.M 15 is established according to the formula (3), as follows:
[00011]
[0056] Step 2 The camera 1 shoots 500 images in the whole contour measurement process; the embodiment analyzes and shoots the 300th frame image; the coded primitive on the ninth row and the eighth column is selected as a first coded primitive P.sub.300.sup.1 22 selected by the 300th frame; the coded primitive on the ninth row and the ninth column is selected as a second coded primitive P.sub.300.sup.2 23 of the 300th frame; the coded primitive in the tenth row and the ninth column is selected as a third coded primitive P.sub.300.sup.3 24 of the 300th frame; and the coded primitive in the tenth row and the eighth column is selected as a fourth coded primitive P.sub.300.sup.4 25 of the 300th frame. The local coordinate system O.sub.L300-X.sub.L300Y.sub.L300Z.sub.L300 21 of the priori standard plate under the 300th frame is established. The coordinates of four points in the global coordinate system O.sub.G-X.sub.GY.sub.GZ.sub.G 14 of the priori standard plate are respectively (112.0010, 128.0024, 0.0110), (127.9990, 128.0021, 0.0111), (128.0012, 144.0037, 0.0120) and (112.0008, 144.0057, 0.0146). The coordinates of four points in the local coordinate system O.sub.L300-X.sub.L300Y.sub.L300Z.sub.L300 21 of the priori standard plate are computed through the formula (5): (0, 0, 0), (15.9980, 0.0030, 0.0010), (16.0003, 16.0013, 0.0010) and (0.0002, 16.0033, 0.0036). The pixel coordinates on the image plane of the camera 1 are (1452.39, 1071.15), (2497.23, 683.88), (2884.75, 1729.45) and (1839.66, 2116.14). .sup.CX.sub.300, .sup.CY.sub.300, .sup.CZ.sub.300, pitch angle .sub.300, roll angle .sub.300 and yaw angle .sub.300 of the priori standard plate 7 of the 300th frame image under the camera coordinate system O.sub.CX.sub.CY.sub.CZ.sub.C 13 are computed according to formulas 5-7. Computation results are: (10.9098 mm, 3.08975 mm, 337.696, 179.931, 0.19436, 0.00356046).
[0057] Step 3 The six-dimensional information of .sup.MX.sub.300, .sup.MY.sub.300, .sup.MZ.sub.300, pitch angle .sub.300, roll angle .sub.300 and yaw angle .sub.300 of the 300th frame image in the machine tool coordinate system O.sub.M-X.sub.MY.sub.MZ.sub.M 15 is computed as (12.3424, 2.3471, 0.051, 0.211, 0.056, 0.002).
[0058] Step 4 Each shot frame image is traversed in accordance with the above method to obtain the final interpolation contour in the machine tool coordinate system O.sub.MX.sub.MY.sub.MZ.sub.M 15 represented by the coded primitive 8 with a code value of 235; and the six-degree-of-freedom contouring error of the path interpolated by the CNC machine tool 4 is solved by comparing the actual six-degree-of-freedom contour L.sub.r with the nominal contour L.sub.m. FIG. 5, FIG. 6 and FIG. 7 respectively show X, Y and Z components of the machine tool interpolated contouring error solved by the vision method. FIG. 8, FIG. 9 and FIG. 10 respectively show pith, roll and yaw components of the machine tool interpolated contouring error solved by the vision method. It can be clearly seen from the figures that, the method can be used to conveniently solve a contouring error of the path interpolated by the machine tool.
[0059] The method uses a monocular vision pose algorithm to realize six-dimensional measurement for large-range arbitrary contouring error of the CNC machine tool under small field of view in combination with priori spatial constraints among the coded primitives on the large-size standard plate, and extends measurable motion range and measurement dimension of the vision system. The measurement system and method of the present invention have low cost and simple operation.