Proceedings of the 7th Annual ISC Graduate Research Symposium ISC-GRS 2013 April 24, 2013, Rolla, Missouri Renwei Liu and Zhiyuan Wang Department of Mechanical and Aerospace Manufacturing Missouri University of Science and Technology, Rolla, MO 65409 REALIZATION OF ROBOT INK DEPOSITION ON CURVED SURFACES ABSTRACT A Robot Ink Deposition system is proposed in this article. The method for generating ink deposition path is based on the contour points information from 3D model, and an adaptive compensation algorithm is developed for the robot to deposit ink on a curved surface based on B-spline surface. This method provides more flexibility for robot arm to print characters and robot system could afford a larger working envelop for ink deposition as well. Finally, an example of printing letters has implemented by this method in our lab. 1. INTRODUCTION Since robots can work continuously and tirelessly, the use of robots is usually desirable in places where continuous operation is required, such as at the assembly lines. Let the robot to behave like human is always a research area of interesting. Various researches have been done in studying the mechanism and control of robot that can perform the task of writing letters. A 4 DOF robot drawing platform which can write Chinese character with brush and improved it with a vision system later (K.W.Lo & K.W.Kwok [1, 2, 3]). A segmentation-based algorithm is to store the character information, which is concentrating on segmenting Latin character set, and the segment information can then be used by the robots to write (Salman [4]). The extraction of the trajectory of the writing brush in character writing was proposed based on image and curve processing techniques and the writing knowledge ([F.H.Yao 5]). The work so far, however, usually require complicated programs to control robot and specific designed devices, like dedicated movement mechanism and precise drawing plane, what is more, the style of writing and the size of character is limited as well. The essence of writing is a process of ink deposition. In this paper, a contour-points-based method is proposed to generate ink deposition path and adopt surface measurement technology to enable robot arm to print letters on a curved white board. The core of this method is to decompose the shape of characters into a set of contour points, then the robot can use these information to reconstruct the characters with linear tracks. The deposition movement of robot along the curved surface can be adjusted by position compensation program. This method is an easy way to realize robot to write different style characters in large scale on a freeform surface. 2. GENERATION OF INK DEPOSITION PATH FOR ROBOT Characters in different language are consisted of various basic segments. The Latin language is a simple example, which mainly formed from two elements, the straight lines and the curves. A complicated example is the Chinese language, there are 28 strokes used to construct all characters and let alone the different kinds of writing style. The process of extraction the sequence of writing is an arduous task, it is a hard work of algorithm designing and programming. From the view point of geometry, a set of collinear points constitute a line and a set of successive lines constitute a plane. The plane can be any graph including the characters, since calligraphy could be considered as a kind of plane art as well. In this way, if we could get the contour points information of a character and connect these points with tracks of reasonable width, the writing task can be completed by just using linear movement of robot. In order to get the graph information of the characters, we adopt the concept of Layer Manufacturing, since the process of writing is just like deposit one layer ink material. The 3D CAD software on the market, such as Solidworks and NX, can build 3D model of characters easily. Another advantage of this method is we can use the font library of 3D CAD software to realize write different kinds of characters. The algorithm for extract contour information of 3D model works in this way: use a horizontal plane to slice the model into layers, a series vertical plane been set to intersect with one of the sliced layer to get the contour points. These work can be done by MAPS, which is a software developed by our lab using for multi-axis deposition. But the robot cannot directly implement these files, therefore a postprocessor is needed to translate contour points information into Robot Language Commands. According to these commands, robot can reconstruct the character with ink deposition process. Figure 1 explains the whole process of generating robot deposition path. Figure 1: Generation of robot deposition path 1 3. MEASUREMENT OF CURVED SURFACE AND COMPENSATION ALGORITHM To realize adaptive ink deposition, a matrix of points of the board surface needed to be detected, and then the board surface based on B-spline surface theory [6] could be reconstructed. Therefore, the offset value for deposition path could be calculated. The fundamental principle of reconstruction surface from detected point matrix is as following [4]: Suppose the detected points are pi, j (i 0,1,...r; j 0,1,..., s) , the expected surface can be expressed by Eq.(1). In this equation, there are (m 1) (n 1) control points d i , j (i 0,1,..., m; j 0,1,..., n, m r k 1, n s l 1) , parameters u , v and their times are k and l , knots vector are U [u0 , u1,..., umk 1 ] and V [v0 , v1,..., vnl 1 ] . m p ( u, v ) The problem can be changed to the reconstructed calculation of m 1 interpolation curves n d i ,s N s ,l (vl j ) di , j , j 0,1,....r; i 0,1,..., m (5) s 0 Combine these equations, (m 1) (n 1) control point d i , j (i 0,1,..., m; j 0,1,..., n) of the surface can be calculated, and then use B-spline surface equation can generate the surface. In this paper, we use double 3 times B-spline interpolation surface to reconstruct the robot writing surface. As shown in fig.2, (a) is the white board which we use for the ink deposition, (b) is the reconstruction surface by using the detected matrix points based on B-spline surface theory explained above. n d i, j Ni ,k (u) N j,l (v), uk u um1, vl v vn 1 (1) i 0 j 0 This equation can also be revised to Eq.(2): m p ( u, v ) n d ( i 0 i, j N j ,l (v ))N i ,k (u ) (2) j 0 a) Curved white board And then the Eq.(3) can be got, it is similar to B-spline curve function: m p(u, v ) c (v ) N i i ,k ( u ) (3) i 0 n In Eq.(3), ci (v ) d i , j N j ,l (v ), i 0,1,..., m , now control j 0 curves instead of control points. Therefore, fix parameter v , m 1 points will be given in ci (v )(i 0,1,..., m) . Those points are used as control points to define the equal parameter curve of the surface in which u is parameter. When parameter v sweeps its whole range, infinite equal parameter curves can describe the whole surface. Obviously, there are n 1 curves are given interpolation points in the infinite equal parameter curves, it correspond to a column points of the value points matrix. These n 1 equal parameter curves are called section curve[7]. Therefore the control points d i , j (i 0,1,..., m; j 0,1,..., s) of the section curve can be calculated by Eq. (4). m s j (uk i ) d r 0 r , j N r ,k (uk i ) Pi , j , i 0,1,..., m; j 0,1,..., n (4) b) Surface reconstruction of white board Figure 2: Curved white board and its reconstruction surface After got the reconstructed surface, calculation will be used to compensate the robot writing tool path. For a given point [ x p , y p , z p ] from the writing path, project this point to the reconstructed surface will get a correspond point p(ui ) [ x p , y p , z p '] . Use the offset for compensation value for the robot writing tool path when generate the NC code for robot. The problem here is the reconstructed surface based on B-spline surface was defined by parameters u and v , however, the path data for robot writing on the surface is based on Cartesian coordinate system. Therefore, in order to project a given point from the tool path to the surface, the value x p , y p of this given point must be transited to parameter 2 u, v correspond to the reconstructed surface and then calculate the projected point on the surface. For a given point, the calculation process is as following: Firstly, use the control curve equations [6] ci (v), i 0,1,..., m to calculate control curves of the surface. Suppose parameter u along the y axis, parameter v along the x axis of robot coordinate system. For each control curve, search the parameter value vi to make the x value of the point ci ( vi ) equal to x p . Use ci (vi ), i 0,1,..., m as control points calculate the section curve of the surface p(u) . And then search the parameter value ui , make y value of the point p(ui ) equal to y p . Therefore, p(ui ) [ x p , y p , z p '] will be the projected point of given point [xp , yp , zp ] . has 6 joints and a moveable foundation, therefore it has great flexibility and large working range (1.6m*3.4m). In our experiment, the robot is going to write characters on a big white board, it's worth noting that this board is not a flat surface, especially at the four edges. In order to write on this board, the first thing is get the curve information of it. For such a large object, there is no coordinates measuring machine can do the measurement. As fig.4 (b) shown, a touch probe installed on the robot is used to collect the points coordinate matrix of the board surface which shown in table 1. Then the compensation algorithm which was mentioned in chapter 3 could calculate the offset for each contour point on the curved surface and generate the final writing commands. The writing result is shown in Fig.5. 4. IMPLEMENT OF ROBOT INK DEPOSITION In this paper, we use robot write characters as an implement example of ink deposition. The first step is generate a character model as step file with a 3D modeling software, we choose Solidworks in this case. Secondly, path generating software can slice this model into layers and generate file contour points, the track width and overlap between each track can be controlled in this step. Thirdly, post-processor translate the points information into robot commands file. Figure 3 shows the procedure of robot writing path generation. a) b) Figure 4: Robot arm and touch probe a) 3D model of characters b) Contour points of characters c) Simulation of Robot writing path [800 -1300 742.9] [480 -1300 741.8] [160 -1300 741.0] [800 -1500 752.0] [480 -1500 752.1] [160 -1500 751.4] [800 -1650 754.9] [800 -1700 755.1] [800 -1900 752.5] [800 -2100 745.8] [480 -1650 756.3] [480 -1700 757.0] [480 -1900 757.3] [480 -2100 753.3] [160 -1650 755.9] [160 -1700 756.9] [160 -1900 758.7] [160 -2100 757.3] [-160 -1300 739.8] [-160 -1500 750.1] [-160 -1650 754.5] [-160 -1700 755.6] [-160 -1900 757.6] [-160 -2100 756.3] [-480 -1300 738.6] [-480 -1500 748.2] [-480 -1650 752.0] [-480 -1700 752.8] [-480 -1900 753.6] [-480 -2100 750.1] [-800 -1300 737.5] [-800 -1500 745.7] [-800 -1650 747.5] [-800 -1700 747.8] [-800 -1900 745.8] [-800 -2100 740.5] Table 1: Points coordinate matrix of the board surface Figure 3: Procedure of writing path generation A mark pen was installed on the wrist of a 7-axis industry robot arm as show in figure 4 (a) to do the writing task, which 3 [5]. [6]. [7]. Figure 5: Robot writing results 5. CONCLUSIONS An adaptive robot ink deposition system aimed at writing larger scale letters on curved surface has been developed in our lab. Based on the contour points information of 3D model to reconstruct the characters is an easier method than other control algorithm for robot writing, and this process can also serving as a test method for robot depositing. With curved surface measurement method, the robot overcomes the limits of writing only on a flat surface, especially for writing large scale characters. In addition, the compensation control algorithm can also apply to robot repair area, which is mainly focus on the curved deposition. 6. ACKNOWLEDGEMENTS This research was supported by National Science Foundation Grants IIP-0822739 and IIP-1046492 and Intelligent Systems Center at Missouri University of Science and Technology. Their support is greatly appreciated. 7. REFERENCES [1]. [2]. [3]. [4]. K. W. Lo, K. W. Kwok, & S. M. Wong, Y. Yam, 2006, Brush Footprint Acquisition and Preliminary Analysis for Chinese Calligraphy using a Robot Drawing Platform. Proc. of the 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems, Beijing, China, pp. 5183-5188. K.W. Kwok, S.M. Wong, & K.W. Lo, Y. Yam, 2006, GA-based Brush Stroke Generation for Replication of Chinese Calligraphic Character. Proc. of IEEE Conference on Evolutionary Computation, IEEE World Congress on Computational Intelligence, Vancouver, BC, Canada, pp. 3802-3809. K.W. Kwok, Y. Yam, K.W. Lo, 2005, Vision System and Projective Rectification for A Robot Drawing Platform. Proc. of the 2005 International Conference on Control and Automation(ICCA’05), Budapest, Hungary, pp. 691695. Salman Yussof, Adzly Anuar, Karina Fernandez, 2005, Algorithm for Robot Writing using Character Segmentation. The 3rd International Conference on Information Technology and Applications, Sydney, NSW, vol. 2, pp. 21-24. 4 Fenghui Yao, Guifeng Shao, Jianqiang Yi, 2004, Extracting the trajectory of writing brush in Chinese character calligraphy. Engineering Applications of Artificial Intelligence”, 17(6), pp. 631-644. Fazhong shi, 2001, Computer-Aided Geometric Design and NURBS, Higher Education Press, Beijing, China, pp. 288-289, 2001. Woodward C D, 1988, Skinning techniques for interactive B-spline surface interpolation. ComputerAided Design. 20(8), pp. 441-451.