Invention Journal of Research Technology in Engineering & Management (IJRTEM) ISSN: 2455-3689 www.ijrtem.com Volume 1 Issue 4 ǁ June. 2016 ǁ PP 16-23
Contours Planning and Visual Servo Control of XXY Positioning System Using NURBS Interpolation Approach Syuan-Yi Chen1, Yu-Hsuan Lai2, Han-Ting Lu3 1,2,3
Department of Electrical Engineering, National Taiwan Normal University, Taiwan, R.O.C
ABSTRACT : This study aims to develop contours planning and visual servo control technologies for a XXY positioning stage for tracking the two-dimensional contours precisely. First, the two-dimensional contours are planned by using the non-uniform rational basis spline (NURBS) interpolation approach. Subsequently, the visual servo control mechanism, which involves five steps image processing procedures, is further designed to perform the closed-loop motion control for high-precision positioning performance. During the control process, the positioning error is monitored online. If the positioning error is larger than the pre-defined threshold, a compensation control will be executed immediately to compensate the inaccurate motions. In addition, a friendly human-machine interface (HMI), which can show the movement of the stage in real-time, is developed. Finally, the experimental results demonstrated the favorable positioning performance of the XXY positioning system for tracking the two-dimensional contours. Keywords: Image processing, NURBS, positioning control, XXY positioning stage.
1. Introduction High-precision XXY positioning stage is competitive on the market due to its smaller dimensions, larger weight-carrying capacity, and faster positioning speed comparing with the traditional XYθ stage [1]. Therefore, it has attracted increasing attentions significantly for wide engineering, industrial, scientific and biomedical applications [2]. Because the positioning performance plays an important role on the process of manufacturing, many advanced control technologies have been developed for the positioning and auto-alignment of the XXY positioning stage [2]-[5]. On the other hand, because vision system is able to recognize the images just like human’s eyes, it has been adopted popularly to improve the accuracy of the system and avoid the defect from manual operations effectively [2], [5]. In this study, the trajectory planning and visual servo control technologies for the XXY positioning stage are developed using NURBS interpolation approach [6]. The experimental results due to various two-dimensional contours show the stable and high-precision positioning performance.
2. XXY Positioning System The XXY positioning system is composed of a XXY positioning stage (AF-XXY-NR1-175-R28, Chiuan Yan Ltd.), a CMOS camera (Lu375c, Lumenera), three drivers (EXD2020MB) and a personal computer (PC)-based control core as shown in Fig. 1. In the system, the XXY positioning stage uses X1, X2 and Y axes step motors with coupling, ball screw, screw mount, crossed ball bearing, and slide unit to carry out ±5mm available displacement and ±1.5 o available angle of the motion as shown in Fig. 2. When the motion of the X1 and X2 axes motors are moved for the same displacements synchronously, the stage will be moved in X-direction. Moreover, when only the motion of Y-axis motor is moved, the stage will be moved in Y-direction. Furthermore, if the motion of the X1 and X2 axes motors are moved for the different displacements, the stage will be rotated in clockwise or counter-clockwise directions. Obviously, XXY stage provides various motion modes to meet the requirements of the diverse industrial applications. The PC includes one stepper motion control card (PCI-8144, Adlink) with 2.4MHz pulse output rate is used to realize the control algorithm for controlling the three axes motors simultaneously. Thus, the stage can be controlled to track the reference contours precisely. On the other hand, the image processing algorithm, reference contours planning, and visual servo mechanism are realized in the PC via Visual Basic.NET language. Moreover, the adopted camera is with 3 million pixels and 2048*1536 resolution. Through the Ethernet interface, the camera can feedback the practical stage position information to the PC in real-time. In addition, the HMI, on which the users can easily design the path of the positioning stage, is also developed and will be introduced later.
| Volume 1| Issue 4 |
www.ijrtem.com
| June 2016| 16
Contours Planning and Visual Servo Control of XXY Positioning System Using NURBS Interpolation Approach Vision Servo System
Drive and Control System Ethernet
CMOS Camera Lu375C
Step Motor Driver EXD2020MB
Drive Signals
Y-axis X2-axis
HMI and NURBS Interpolation Software
X1-axis
PCI Bus
Control Signals
AF-XXY-NR1-175-R28
XXY Positioning Stage 68-pin Cable ACL-10569-2 Terminal Board 4-axis Motion Control DIN-68S-01 Board PCI-8144
Fig. 1 Structure of XXY positioning system. Work stage X-direction
Free-axis Y-direction
Y-axis
X2-axis
Y-axis motor Base X1-axis
X1-axis motor
X2-axis motor
Fig. 2 XXY positioning stage.
3. Trajectory Planning Using NURBS Approach The two-dimensional contours are produced using NURBS curve interpolator in this study. The NURBS interpolator can create free-form curves easily by manipulating the values of control points, weight and knot vectors. The mathematical formulation of NURBS curve is described as follows [6]: n
C ( p)
i 0 n
i ,k
( p) iVi
i,k ( p)Wi
n
Ri ,k ( p)Vi
(1)
i 0
i 0
and
Ri ,k ( p)
i ,k ( p) i n
i 0
i ,k
(2)
( p) i
where Vi is the control points; ψi is the corresponding weights of Vi ; n+1 is the number of control points; k is the order of the NURBS curve; Zi,k(p) is the kth order B-spline basis function; Ri,k(p) is the rational basis function. The recursive formulae for computing Zi,k(p) can be found as
| Volume 1| Issue 4 |
www.ijrtem.com
| June 2016| 17
Contours Planning and Visual Servo Control of XXY Positioning System Using NURBS Interpolation Approach
1 for pi p pi 1 i ,1 ( p) 0 otherwise p pi p p i ,k ( p ) i ,k 1 ( p) i k i 1,k 1 ( p) pi k 1 pi pi k pi1
(3)
(4)
where P=[pi ,…, pi+k] represents the knot vector. Theoretically, by manipulating the values of control points, weights, and knots, the NURBS can produce arbitrary reference contour. With the NURBS, the users could set up the curved path instead of the straight line. Traditionally, the curved path is made up of the short straight line. It is hard to generate the command about the curved path. In addition, there is the unavoidable error between the real path and the path we set. Another problem of the traditional way is that the platform need to stop or accelerate in the process of move. Therefore, the platform didn’t move smoothly. In this study, we can improve the disadvantage of traditional way. The use of the NURBS could let the path of the platform more flexible and changeable. By using the NURBS interpolation approach, the new curve is totally different from the original curve as shown in Fig. 3(a) when the control point V2 is moved to the new V2. In addition, the curve becomes sharper if the weight of the corresponding control point is increased as shown in Fig. 3(b). Obviously, the shape of the contours can be determined via the designs of the control points and their weights.
(a) Change the location of the control point (b) Regulate the weight of control point Fig. 3 Illustrations of NURBS interpolation approach.
4. Image processing Algorithm The object of the image processing is to obtain the position and angle information of the stage from the image captured by the camera. After calculating the difference between the practical position and demand contour, the control core will calculate the appropriate control signals for controlling the stage position accurately. The flowchart of the image processing, which include five steps majorly, is shown in Fig.4. In the image processing algorithm, the binarization is firstly used to transform the grayscale picture into black and white colors. If the pixel’s grayscale is higher than the predefined threshold, it is transferred into black color. Otherwise, it is transferred into white color. Subsequently, the dilation and erosion methods of morphological operation are adopted to filter the structure of the image. Moreover, to find the position of the stage accurately, a Canny edge detection method is utilized to find the edge, which means the most amount of change about the image’s grayscale , of the image. The Canny edge detection performs convolutioon for the four directions of the binary image. They are horizontal, vertical and two diagonals directions. Thus, the gradient with direction informations of the image’s grayscal can be obtained. After convolution, two thresholds are set to contruct a band pass filter for filtering the image. Afterward, a binary image with clear edge can be obtained. Furthermore, the best circle method, which was developed in [1], is further used to find accurate position of the stage. Finally, labeling procedure marks the pixels which connect with others the same label. Because disconnected pixels are labelled with different labels, one can get clear edge of cross target. Thereafter, the target’s angle can be calculated via the rectangle surround method. Image Image Image
Binarization
Morphological Binarization Operations
Canny Edge Detection
Best Circle Method
Labeling
Fig. 4 Image processing flowchart.
| Volume 1| Issue 4 |
www.ijrtem.com
| June 2016| 18
Contours Planning and Visual Servo Control of XXY Positioning System Using NURBS Interpolation Approach 5. Visual Servo Control Method First, the user can design the NURBS curve through the HMI. Subsequently, the software developed in the PC will transfer the NURBS contour to the three axes motion commands and then control the XXY positioning stage to track the contour via the drivers. During the control process, the camera will monitor the stage position meanwhile the control core will regulate the speed and position control signals immediately for compensating the positioning error. All the process can be monitored online via the HMI. The main procedures are listed as follows: (1) Get coordinate and angle information of the target on the stage: The CMOS camera is used to capture the alignment target’s image firstly. Then, the image processing algorithm is utilized to derive the target’s coordinate (x1, y1) and angle. These data are defined as the practical stage position. (2) Initial position alignment: Calculate the displacement and angle differences between practical stage position and predefined initial position. Control the stage to the predefined initial position by the developed reset function. (3) NURBS trajectory planning: Design the NURBS trajectory by adjusting the control points and corresponding weights on the HMI. Then use its preview function to preview the contour. (4) Motion control: Transferring the contour information to three axis motion commands. While the stage is moving, feedback the stage position by the visual servo system and calculate the positioning errors, which are horizontal error ex, vertical error ey and average error ea, by the PC as shown in Eq. (5).
ea ex ey 2
2
(5)
(5) Positioning error compensation: If the average error ea is higher than the predefined threshold, the control core will regulate the speed and position control signals immediately for positioning error reduction. By the above steps, the high-precision positioning performance can be achieved.
6. Experimental Results 6.1 Software development In this study, Visual Basic.NET with the Emgu CV library was utilized to develop the software of the XXY positioning system. The control object of this study is to realize the high-precision contour tracking by using the NURBS interpolation approach. There’s two ways for changing the contour demand which are change the location of control point and regulate the weight of each control point as shown in Fig.3. The users could set up the contour via the HMI directly. In addition, the users could monitor the motion of the stage online. 6.2 The developed HMI The developed HMI of this study is shown in Fig.5. The function of each block is introduced in the following: (1) Inputs for the control points’ coordinates and weights: The user can type the coordinates and corresponding weights of the seven control points arbitrarily. For example, the coordinates and corresponding weights of the control points for a bow contour are shown in Eq. (8) and Eq. (9), respectively. (2) Preset contours: The HMI provides five preset contours for the users which are arrow, bow, heart, circle, and tick. The user can choose one of them for further modification and preview them below. As shown in Fig. 5, a bow contour is chosen and previewed. (3) Preview of the contour: After clicking the NURBS button, the user can preview the designed contour on this window. (4) X and Y axes commands of contour: After clicking the NURBS button, this window will show the required displacement commands of the X and Y axes, respectively. Thereafter, these control commands will be sent for the drivers via the motion control board. (5) Function buttons: Reset: Reset the position and angle of the stage; NURBS: Plan the contour using NURBS interpolation approach and determine the X and Y axes commands of the contour; Draw: Detect the position of the stage by using the camera and draw it on the HMI; Work: The stage starts to track the contour; Stop: The stage stops moving immediately; Clear: Clean the existent contour and the user can plan a new contour instead. (6) Real-time monitoring window: The motion of the stage will be shown on this window so that the user can observe it at the same time. (7) Center of positioning stage: The CMOS camera feedback the position of stage. The system deal with it to determine the coordinate of center. (8) The status of stage and positioning error: This window shows the status of the stage such as stop and working. Moreover, this window also shows the positioning errors which include the instantaneous positioning error and average positioning error. (9) X and Y axes positions: Through the camera, the system turns the coordinate of center into X-axis position and Y-axis position. (10) Performance measure: The system calculates the positioning error via the Eq. (5) and shows the performance measure on this window.
| Volume 1| Issue 4 |
www.ijrtem.com
| June 2016| 19
Contours Planning and Visual Servo Control of XXY Positioning System Using NURBS Interpolation Approach
(6) (1) V V V V V V V
(2)
ψ ψ ψ ψ ψ ψ ψ
(8) (9)
(4) Y
(7) (3)
X
(10) (5) Fig. 5 The developed HMI. 6.3 Trajectory planning In this study, three two-dimensional reference contours were demonstrated for the visual servo control based XXY positioning system. The order of the NURBS curve, knot vector, control points and weights of the bow contour are given as follows: (6) k 6
P [ p0 , p1 , p2 , p3 , p4 , p5 , p6 , p7 , p8 , p9 ] [0, 0, 0, 0.25, 0.5, 0.5, 0.75, 1, 1, 1]
(7)
V [V0 , V1 , V2 , V3 , V4 , V5 , V6 ] [(0,0), (2,2), (2,2), (0,0), (2,2), (2,2), (0,0)] ψ [ 0 , 1 , 2 , 3, 4 , 5 , 6 ] [1, 2.5, 2.5,1, 2.5, 2.5,1]
(8) (9)
The order of the NURBS curve, the knot vector, control points and weights of the heart contour are given as follows:
k 6 P [ p0 , p1 , p2 , p3 , p4 , p5 , p6 , p7 , p8 , p9 ] [0, 0, 0, 0.25, 0.5, 0.5, 0.75, 1, 1, 1]
(10) (11)
V [V0 , V1 , V2 , V3 , V4 , V5 , V6 ] [(0,0), (3,2), (2,5), (0,3.6), (2,5), (3,2), (0,0)] ψ [ 0 , 1 , 2 , 3, 4 , 5 , 6 ] [1,1,1,1,1,1,1]
(12) (13)
The order of the NURBS curve, the knot vector, control points and weights of the circle contour are given as follows:
k 6 P [ p0 , p1 , p2 , p3 , p4 , p5 , p6 , p7 , p8 , p9 ] [0, 0, 0, 0.25, 0.5, 0.5, 0.75, 1, 1, 1]
(14) (15)
V [V0 , V1 , V2 , V3 , V4 , V5 , V6 ] [(0,0), (0,2), (4,2), (4,0), (4,2), (0,2), (0,0)] ψ [ 0 , 1 , 2 , 3, 4 , 5 , 6 ] [1, 0.5, 0.5,1, 0.5, 0.5,1]
(16) (17)
By using the parameters as shown in Eq. (6)-(9), Eq. (10)-(13), and Eq. (14)-(17), the designed bow, heart, and circle contours were shown in Fig. 6, Fig. 7, and Fig. 8, respectively.
| Volume 1| Issue 4 |
www.ijrtem.com
| June 2016| 20
Contours Planning and Visual Servo Control of XXY Positioning System Using NURBS Interpolation Approach
(a)
(C) (b) Fig. 6 Designed bow contour. (a) X-axis command, (b) Y-axis command, (c) Two-dimentional bow contour.
(a)
(C) (b) Fig. 7 Designed heart contour. (a) X-axis command, (b) Y-axis command, (c) Two-dimentional heart contour.
(a)
(C) (b) Fig. 8 Designed circle contour. (a) X-axis command, (b) Y-axis command, (c) Two-dimentional circle contour. 6.4 Experimental result The practical experimental setup of the XXY positioning system is shown in Fig. 9.The positioning responses due to bow, heart, and circle contours of the XXY positioning system are shown in Fig. 10, Fig. 11, and Fig. 12, respectively. From the experimental results, the favorable accuracy and validity of visual servo control for the XXY positioning system can be clearly observed. Moreover, the performance measures of the proposed visual servo control for tracking the bow, heart, and circle contours are shown in Table 1. The average positioning errors can be controlled within 90Âľm. Thus, the validities and performances of the proposed trajectory planning and visual servo control for the XXY positioning system using NURBS interpolation approach can be verified obviously.
| Volume 1| Issue 4 |
www.ijrtem.com
| June 2016| 21
Contours Planning and Visual Servo Control of XXY Positioning System Using NURBS Interpolation Approach
Camera
HMI and NURBS Interpolation Software
Step Motor Driver
Terminal Board XXY Positioning Stage
Fig. 9 Practical experimental setup of the XXY positioning system.
(a) (b) Fig. 10 Positioning performance due to bow contour. (a) Positioning response, (b) Positioning error.
(a) (b) Fig. 11 Positioning performance due to heart contour. (a) Positioning response, (b) Positioning error.
(a) (b) Fig. 12 Positioning performance due to circle contour. (a) Positioning response, (b) Positioning error.
Table 1 Performance measures. Bow Shape Heart Shape Round Shape
Control Points 334 334 334
Complete Time (sec) 111.23 110.76 109.72
Average Error (Âľm) 89.06 65.66 59.55
7. Conclusions In this study, the contours planning and visual servo control technologies for a XXY positioning stage are developed successfully. According to the developed HMI, the users can control the stage for tracking the two-dimensional contours very easily and
| Volume 1| Issue 4 |
www.ijrtem.com
| June 2016| 22
Contours Planning and Visual Servo Control of XXY Positioning System Using NURBS Interpolation Approach arbitrarily. With the CMOS camera, the proposed compensation control mechanism performs precise positioning performances. The experimental results due to various contours planning and tracking demonstrated the favorable performances for the XXY positioning system.
REFERENCES [1] [2] [3] [4] [5] [6]
C.Y. Nian, S.F. Chuang, Y.S. Tarng. (2006) A new algorithm for a three-axis auto-alignment system using vision inspection, Journal of Materials Processing Technology, 171. pp. 319–329. H.W. Lee, C.H. Liu. (2013) Vision servo motion control and error analysis of a coplanar XXY stage for image alignment motion, Mathematical Problems in Engineering, vol. 2013, article ID 592312, 12 pages. A. Yu, I.A. Bonev, P. Zsombor-Murray. (2008) Geometric approach to the accuracy analysis of a class of 3-DOF planar parallel robots, Mechanism and Machine Theory, 43. pp. 364–375. A. Joubair, M. Slamani, I.A. Bonev. (2012) A novel XY-Theta precision table and a geometric procedure for its kinematic calibration, Robotics and Computer-Integrated Manufacturing, 28, pp. 57-65. H.M. Chen, T.E. Lee, J.P. Su, C.L. Lin. (2014) Realization of an image-based XXY positioning platform control, 2014 International Symposium on Computer, Consumer and Control . F.J. Lin, S.Y. Chen, P.H. Chou, P.H. Shieh. (2009) Interval type-2 fuzzy neural network control for X-Y-Theta motion control stage using linear ultrasonic motors, Neurocomputing, 72, pp. 1138-1151.
| Volume 1| Issue 4 |
www.ijrtem.com
| June 2016| 23