Computers & Industrial Engineering 57 (2009) 209–216
Contents lists available at ScienceDirect
Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie
Development of an optimal trajectory model for spray painting on a free surface X.D. Diao a, S.X. Zeng a,*, Vivian W.Y. Tam b a b
Antai School of Management, Shanghai Jiao Tong University, 535 Fahuazhen Road, Shanghai 200052, PR China Griffith School of Engineering, Gold Coast Campus, Griffith University, Qld 4222, Australia
a r t i c l e
i n f o
Article history: Received 7 August 2007 Received in revised form 13 November 2008 Accepted 14 November 2008 Available online 27 November 2008 Keywords: Optimization Spray painting Trajectory planning Film accumulation rate
a b s t r a c t Generally, trajectory planning problems are often formulated as constrained variational problems. This paper develops an optimal trajectory model to optimize the trajectory planning on a free surface to achieve uniform deposition over painted surface and reduce wastage of coating materials. Numerical solution techniques consider geometric characteristics on a free surface, rate of film accumulation, and position and orientation of spray guns in uniformity coating and painting duration. Given a specified spatial path and functions of film accumulation rates for an infinite range model and a beta distribution model, some results are obtained by using nonlinear programming techniques based difference quasiNewton method over cone surfaces. It provides objective functions that can be used to minimize the thickness variation of the paint spraying of a specified spatial path. These results also give an evaluation along the average velocity trajectory and the optimal trajectory to demonstrate the feasibility of the proposed methods. The formulated optimization methods can be applied to solve the same class of nonlinear planning problems. Ó 2008 Elsevier Ltd. All rights reserved.
1. Introduction With the global economy becoming more competitive, industrial production requires automation along with process optimization such as automatic spray painting for manufacturing (Arikan & Balkan, 2001). Perceived quality of manufactured product such as automobiles, appliances, and furniture can be strongly influenced by appearances of paint finishing. In automatic spray painting, spray guns are often attached to robotic manipulators that move spray guns around the surfaces to be coated. Experienced operators in this system can often provide good choices for spatial paths of robot’s end-effector. Typically, an operator ‘‘teaches” robots a desired spatial path by moving end-effectors around the parts to be coated, while robot’s control computer records position and orientation information to make the robot repeatedly and independently move at the ‘‘learned” paths (Schneberger, 1989). The formed path is attained by human experience and experimentation or on the base of ‘‘rule of thumb” (Snyder, Sencer, Lefebvre, & Coutinho, 1989), which does not actually realize automatic spray painting. With the development of CAD/CAM methods and growing interest in an off-line approach in robot programming, many researchers tried to apply these techniques to realize interactive design of optimal spray gun trajectories for various work-pieces for achieving better quality of coating and a reduction of paint loss.
* Corresponding author. Tel.: +86 21 52302563; fax: +86 21 62932577. E-mail address:
[email protected] (S.X. Zeng). 0360-8352/$ - see front matter Ó 2008 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2008.11.010
In early 1980s, McAuto successfully developed four software modules including PLACE, BUILD, COMMAND and ADJUST. These modules can deliver an off-line simulation and checkout of manufacturing process prior installation (Howie, 1984). In 1984, an idea of realizing interactive design between computer and robot was developed. Klein (1987) studied a CAD-based off-line programming system of painting robots by integrating a robot model, work-piece to be painted and spatial distribution of paint particles. Duelen, Stahlmann, and Liu (1989) studied off-line programming techniques for static spray painting and presented an electric field distribution model for curve surfaces. Narayanan, Bidanda, and Rubinovitz (1992) and Bidanda, Narayanan, and Rubinovitz (1993) developed similar off-line programming systems as that studied as Klein (1987) for robot spray glazing. Suh, Woo, and Noh (1991) and Suh, Lee, Choi, and Lee (1993) developed an automatic trajectory planning system (ATPS) for spray painting robots, which considered geometric modeling, painting mechanics, and robot dynamics to output an optimal trajectory for uniformity coating and painting duration based on CAD data describing object shapes. In addition, more researches on path planning have received in close attentions (Acosta & Raman, 1990; George & Babu, 1995; Raman & Lakkaraju, 1993; Yao & Gupta, 2007). However, relevant studies were considered with curve surfaces as a whole. Choset (2000) developed a method to form uniform paths on clumpy partitioned surfaces. Generally, generation of spray gun’s trajectories is the use of specified methods. Hyötyiemi (1990) discussed gradient methods and modified Kohonen nets, to find global optimum in a parameter space of a high dimension.
210
X.D. Diao et al. / Computers & Industrial Engineering 57 (2009) 209–216
Antonio, Ramabhadran, and Ling (1997) described variations in film thickness as objective functions, considering the effects on spray painting of various parameters. In their researches, solving a nonlinear function of optimal trajectory by numerical methods was feasible which practicality deliver off-line programming techniques (Antonio, 1993). Recently, Ting, Lei, and Jar (2002) demonstrated a path planning for industrial robots to achieve goal of collision avoidance and to save manipulation steps. Chen, Xi, and Sheng (2002) developed a trajectory generation scheme for satisfying paint thickness requirements on a free-form surface, which utilized CAD information of the surface to be pained. However, it is realized by the use of software which did not clarify, or considered surface is only regular. This paper focuses on the following objectives: (1) to provide a holistic optimal trajectory scheme for spraying paint on a free surface; (2) to develop a detailed method for a practical variation question with constraint conditions; (3) to compare simulation results of a film accumulation rate function for an infinite range model and a beta distribution model; and (4) to explore how to transform the path of spray gun on fan panel mapping to the path on a cone surface.
2. Modeling and notation 2.1. Surface model and spray gun trajectory An object to be coated is assumed to be stationary and its location and surface geometry in a three-dimensional Euclidean space are described relative to a fixed reference frame XYZ. The surface is defined as
S ¼ fðx; y; zÞjz ¼ hðx; yÞ; ðx; yÞ 2 R2 g Generally, if the surface point satisfies an equation of the form s(x, y, z) = 0, where ðx; y; zÞ 2 R3 , an explicit function of its XY coordinate values, i.e., that z ¼ hðx; yÞ, can be obtained by making use of an implicit function theorem (Hyötyiemi, 1990). In the same Euclidean reference frame XYZ, spatial position and an orientation of spray guns are defined by a vector function
aðtÞ ¼ ½ pðtÞ oðtÞ 0 where pðtÞ ¼ ½ px ðtÞ py ðtÞ pz ðtÞ 0 represents the spray gun’s position at time t; and oðtÞ ¼ ½ ox ðtÞ oy ðtÞ oz ðtÞ 0 describes the spray gun’s angular rotation at time t to denote the orientation of the spray gun. Both of them are the function of time t. 2.2. Spatial model of paint distribution Suppose paint particles form a cone during spray painting. And spray gun keeps normal to the painted surface at a fixed distance. Many mathematical models of particle distribution within the cone have been derived from experimental measurements performed by robots. In the paper, it is assumed that a particle distribution expressed by the rate of film accumulation is known. The rate of film accumulation at each surface point is dependent only on the geometry of the painted surface and the position and orientation of the spray gun relative to the surface with the other parameter values’ being assumed to be fixed. Hence, only interaction between surface geometry, and position and orientation of spray gun will be considered in the next formulation. The rate of film accumulation at an arbitrary surface point : s ¼ sðx; y; zÞ 2 S is defined as fS ðaðtÞ; x; y; tÞ. Three types of film accumulation rate functions were considered in present literatures.
The first type of film accumulation rate function used, called an infinite range model, has the feature that it’s value actually goes to zero only as the distance between a spray gun and a point on the surface tends to infinity. Examples of this type are a bivariate Gaussian distribution developed by Hyötyiemi (1990), and a bivariate Cauchy distribution developed by Antonio (1993). Advantages of using these functions are: (1) the surface integrals can be readily evaluated to save computation time; (2) the induced cost functions are smooth, which generally enhances the convergence properties of most nonlinear programming methods. The infinite range model is suitable for a flat panel, but unsuitable for work-piece with comparatively big curvature. Thus, in this paper, their use of numerical studies will not be considered. The second type of film accumulation rate function used, called a finite range model (Klein, 1987), has the feature that it’s value is zero as the surface points are outside a specific spray region surrounding spray gun’s position. The finite range model is described as
cðh; /Þ f_ ðs; pðtÞ; tÞ ¼ uðpðtÞ; sÞ nðsÞ u2
ð1Þ
where U denotes a fan angle of spray cone which is assumed constant over a given traversal around the surface to be coated; h the angle between an unit directional vector from a surface point to the spray gun’s source, and the axis line of the spray gun; u(p(t),s) the unit vector from the spray gun’s source to the surface point; n(s) the unit normal vector at the surface point; u the distance between the spray gun’s source and the surface point. The choice for the function c(h, U) depends on the general characteristics of the spray gun and the values of parameter settings such as shaping air pressures and paint flow rates. Typically, the function c(h, U) has a maximum value when h = 0 and approaches zero smoothly as c(h, U) (Antonio et al., 1997). The third type of film accumulation rate function used, called a beta distribution model (Sahir, Arikan, & Balkan, 2000), has the feature that it can model different distributions by making use of different values of b, such as elliptical, parabolic, and even Gaussian distribution with enough large b. The beta distribution model is defined as
b1 4m2 ; f_ ðs; pðtÞ; tÞ ¼ Q 1 2
x
for m 6 x=2 and
x ¼ 2h tan /
ð2Þ
where x is the width of painted zones, that is, x the diameter of spray area for circular spray areas; m the distance measured from the painted surface to the center of circular spray areas; h the distance between the gun’s sources and the center of circular spray areas; Q the value of maximum paint flow rate fluxes which is relative to the parameters b, x and the paint flow rates a. The maximum paint flow rate flux Q can be calculated as
Q ¼ ð4abÞ=ðpx2 Þ 3. Trajectory planning principles 3.1. The objective of the trajectory planning problem An objective of the trajectory planning problems is to determine a trajectory that results in minimal variation in surface accumulated film thickness. The specific objective used in the paper is to optimize the mean square deviation between actual film thickness and average film thickness across the surfaces. For a trajectory a(t) defined over a time interval [0, T] the film thickness accumulated during the time interval [0, T] at each point s(x, y, h(x, y)) on the surface S is given by
X.D. Diao et al. / Computers & Industrial Engineering 57 (2009) 209–216
Z
fS ðaðtÞ; sÞ ¼
T
f_ S ðaðtÞ; s; tÞdt
ð3Þ
0
By Eq. (3), the total volume of paint deposited onto the surface S can be given by
F S ðaðtÞÞ ¼
Z
fS ðaðtÞ; sÞds
ð4Þ
S
The average film thickness over the surfaces, denoted as fSav g ðaðtÞÞ, is defined as the total volume of paint deposited onto the surface divided by surface areas
fSav g ðaðtÞÞ
F S ðaðtÞÞ F S ðaðtÞÞ ¼ ¼ R AS ds S
ð5Þ
The variation in film thickness for the surface, denoted as VS(a(t)), is defined as the mean squared error between film thickness at each point and average film thickness
V S ðaðtÞÞ ¼
1 AS
Z S
ðfS ðaðtÞ; sÞ fSav g ðaðtÞÞÞ2 ds
ð6Þ
The trajectory problem aims to find a trajectory a(t) which minimizes the variation of film thickness defined by Eq. (6). The average thickness can be adjusted by controlling the length of the time intervals which impacts the trajectory a(t) of the gun. In practice, there are different degrees of constraints on spatial trajectories associated with realistic robotic manipulators. Firstly, there are some constraints on robot systems. For example, some spatial positions cannot be reachable because of the limitation of velocities and accelerations; large accelerations in one of the components of a(t) may imply large torque requirements for the joint actuators, which can be different to realize practically. Secondly, it may be desirable actually to further constrain feasible trajectories. For instance, in some applications, the spray gun’s positions are required be within a distance range, and the centerline of the applicator’s spray pattern is normal to the surface; the specified spatial path of the spray gun’s trajectories may be appointed in advance. Furthermore, it may be desirable to constrain the film thickness of the expected spray surface and the range of the permitted errors. Generally, when considering the above constraints, the size of the search space may be decreased, the quality of the obtained solution may be improved, and possibility of attaining a globally optimal solution may also be increased. Hence, with all constraints denoted as A(t) the general trajectory planning problem is defined by
min fV S ðaðtÞÞg s:t: aðtÞ 2 AðtÞ
ð7Þ
3.2. The trajectory planning problem along a specified spatial path In Eq. (7), search space of trajectory planning problems is over a set of six dimensional vector functions of time t. In general, the spray gun is often appointed to move along a specified spatial path. In this circumstance, the objective of the trajectory planning problem is how to find an optimal time series along the specified spatial path. It is assumed that positions and orientations along a spatial path are defined by a continuous vector function p(q) for q 2 [0, 1]. It is further assumed that a scalar quantity function k(t) for t 2 [0, T]. To model motion of spray gun along a parameterized path during a time interval [0, T], the scalar quantity q is replaced by a scalar function of time k(t), where k: q 2 [0, 1] ? t 2 [0, T]. Therefore, position and orientation of spray guns at a given instant of time t be specified by p(k(t)). In most path planning problems, an objective is to determine p(k(t)) to reduce variations in film thickness. Such problems are typically formulated as constrained variational problems where
211
the objective is to minimize cost functions that depend on p(k(t)). In this paper, the spatial path is assumed to be given, and the only unknown within the cost function is the scalar function k(t). Therefore, it is practical to add some necessary constraints to limit k(t). Let K(t) be the set of all k(t), the trajectory planning problem along a given spatially parameterized path p() has the form of
min fV S ðpðkðtÞÞÞg s:t: kðtÞ 2 KðtÞ
ð8Þ
For the trajectory planning problem of Eq. (8), a scalar function k(t) 2 K(t) is sought to optimize the objective function. For the trajectory planning problems of Eq. (7), a vector function a(t) 2 A(t) is sought to minimize the function V S ðaðtÞÞ. Apparently, in contrast to Eq. (7), quantity of variables in Eq. (8) is decreased to only one, and search space is replaced to a scale quantity function set from a vector function set in Eq. (7), thus greatly simplify the complex of original problem. 3.3. To solve the trajectory planning problems along a specified spatial path The problem of Eq. (8) belongs to a general class of functional extremum problems, which can be solved by assuming that variations are zero. However, by this method, only a nonlinear differential equation group can be obtained, which is difficult to solve. In this paper, the proposed technique to solve Eq. (8) is based on a finite element method (Sahir et al., 2000). Divide intervals [0, T] into N subintervals, each of width D = T/N. Thus, a piecewise constant approximation for k(t) is given by
~kðtÞ ¼
N X
kk bk ðtÞ kðtÞ for k 2 ½1; 2; . . . ; N
ð9Þ
k¼1
where kk 2 ½0; 1 represents a constant value of ~ kðtÞ over the subinterval ½ðk 1ÞD; kD; bk ðtÞ is the ‘‘boxcar” function defined as follows:
bk ðtÞ ¼
1
t 2 ½ðk 1ÞD; kD
0
otherwise
ð10Þ
Thus, a nonlinear programming approximation to Eq. (8) has the form of
n o min V S ðpð~kðtÞÞÞ s:t: ~kðtÞ 2 AðtÞ
ð11Þ
The next solving technique is to adopt a multiplier method. By adding a penalty factor to the corresponding Lagrangian function to Eq. (11), the augmented Lagrangian function can be characterized by
c Mð~k; m; cÞ ¼ V S ðpð~kÞÞ þ ½hð~kÞ2 m½hð~kÞ 2
ð12Þ
where parameter c represents penalty coefficient, parameter v is the modified coefficient and hð~ kÞ is defined by
hð~kÞ ¼ fSav g ð~kÞ T h
ð13Þ
where Th represents the expected film thickness. 2 Let transformation equation ki ¼ sin ðui Þ, variable ~ k ¼ ½k1 ; k2 ; . . . ; 0 kN can be substituted by variable u ¼ ½u1 ; u2 ; ; uN 0 .Thus, bound of kk is relieved, and bound optimal problem is also changed to unconfined optimal problem. Finally, some solving methods of unconfined optimal problem can be adopted. kÞÞ is differentiable, then, Generally, provided that function V S ðpð~ standard nonlinear programming techniques (e.g., gradient descent methods, conjugate gradient method and quasi-Newton method) can be employed to provide solutions to the problem stated in Eq. (11) (Bazaraa, Sherali, & Shetty, 1993). However, in most
212
X.D. Diao et al. / Computers & Industrial Engineering 57 (2009) 209–216
practice, function V S ðpð~ kÞÞ is not smooth, that is, its gradient DV s ðpð~kÞÞ cannot be expressed analytically, then it can only be approximated numerically which will be applied in Section 4. The next section, the core of the examples of the optimal problem is quasi-Newton method with a finite-difference. That is, if the objective function is segment function without analytical gradients, the gradient can be approximately replaced by the difference.
on a hypothetical surface that is parallel to and at a distance h from the actual convex surface of the cone, preserving the normal orientation. The path of the spray gun can be visualized by projecting the path used for a flat panel ‘‘outward” onto a hypothetical convex surface. The mathematically parameterized path used for a flat panel can be transformed to yield a parameterization for the path for the convex surface of the cone. Thus, the parameterized path of the spray gun over the convex surface is given by
4. Simulation based numerical analysis
pðqÞ pðqÞ pR;c ðqÞ ¼ ð^r þ h cosðcÞÞ sin ; ð^r þ h cosðcÞÞ cos ; ^r ^r 0 ^r h pðqÞ pðqÞ ; cos ; sinðcÞ h sinðcÞ; sin ^r ^r R
A propositional technique to traverse a specified spatial path in Section 3 is evaluated in this section from a particular example problem. The painted surface which is a square flat panel or a cylinder surface has been studied (Antonio et al., 1997). They compared simulation results of a referred optimal method and an ordinary circumstance where a spray gun moved at a constant speed. Considering those surface easy to find their isometric surface in space, here we make a simulation for the cone surface by two types of a film accumulation rate function. Especially, program package written in the ‘‘VC++” has been implemented on a personal computer with IntelÒ coreTM 2 CPU T5500. In a three-dimensional Cartesian reference frame, acme of cone is positioned at (0, 0, 0) and center of bottom circle of cone is positioned at (0, 0, H) Thus, an arbitrary surface point of the cone is denoted by sð^r sinðdÞ; ^r cosðdÞ; ^rRHÞ; for 0 6 ^r 6 R where ^r represents radius of section circle of the cone which passes through point s and is parallel to the bottom circle; d the included angle between a line connecting the point s and center of bottom circle of cone, and forward of Y coordinate axis (see Fig. 1). During the painting process, spray gun should move along a path, which is always parallel, and at the same distance to the surface. Also, the gun should always be perpendicular to the surface. In fact, the gun should move along an isometric surface of the work-piece. Thus, the problem of trajectory planning aims to firstly find an isometric surface of the work-piece, then the spray gun’s path on the plane should be required mapping to an isometric surface to get an actual path of the gun in space. Finally, the actual path of the gun should be optimized. The cone surface can be visualized by bending a flat fan panel. The circular arc of the fan panel is formed to the bottom circle of the cone. Thus, provided that the specified path of the gun on the fan panel, which can be transformed to the path of the cone, can be found, the actual path of the isometric surface of the cone should be realized. Generally, the convex surface of the cone can be visualized by bending a flat panel around a line segment parallel to Y axis to a specified radius of curvature. The spray gun is assumed to move
Fig. 1. Painting on a cone work-piece.
for q 2 ½0; 1
ð14Þ
where c is the half of apex angle of the cone; p(q) the length of arc which is formed by the spray gun along the positive direction of Y coordinate axis on the section surface; h the normal distance between a spray gun and a cone surface, or, h the distance between the gun’s source and the center of circular spray area; R the radius of bottom circle of the cone; H the height of the cone. The concave surface of the cone may be visualized as a flat panel bent ‘‘inward” to a specified radius of curvature about a line segment parallel to Y axis. The spray gun is assumed to move on a hypothetical surface parallel to a concave surface at a distance h preserving normal orientation, which is similar to the previous cases. The mathematically parameterized path used for a flat panel can be transformed to yield a parameterization for the path for the concave surface of the cone. Similar to that for a convex surface, the parameterized path of the spray gun over the concave surface is given by
pðqÞ pðqÞ pR;c ðqÞ ¼ ð^r h cosðcÞÞ sin ; ð^r h cosðcÞÞ cos ; ^r ^r 0 ^r h pðqÞ pðqÞ ; cos ; sinðcÞ þ h sinðcÞ; sin ^r ^r R for q 2 ½0; 1
ð15Þ
Implications of parameters in Eq. (15) are the same as those in Eq. (14). For the purpose, the total cone surface is actually divided into equal segments. For example, it can be divided into half. The specified path of the gun on the fan panel approximately has two types of form: firstly, the radius of sector is divided into segments to form concentric circular arcs, which can be connected by semicircles (see Fig. 2); secondly, the sector is divided by isometric lines parallel to the symmetry axis of sector to form another path of the spray gun (see Fig. 3). In numerical studies, the convex surface of the cone is examined. The analytical expressions of a type 1 path for the sector pB;D ðqÞ are given in Appendix A. In Appendix B, the analytical expressions of the type 1 path for the spray gun pR;c ðqÞ are given. In Appendix C, the analytical expressions of the type 2 path for
Fig. 2. A type 1 path for sector.
213
X.D. Diao et al. / Computers & Industrial Engineering 57 (2009) 209–216 Table 3 Simulation results of a cone surface for a beta distribution model (type 2 path). Performance index
Variation (105)
CPU time (min)
b = 1.5
0.338551 0.263307 0.160178 0.139571 0.0951539 0.0897057 0.0636736 0.0613423 0.0349035 0.031654 0.0224115 0.0222353
– 6 – 6 – 4 – 3 – 3
b=2 b = 2.5 b=3 Fig. 3. A type 2 path for sector. b=4 Table 1 Simulation results of a cone surface for a finite range model.
b=5
Performance index
Type 1 path Constant speed
Optimal trajectory
Constant speed
Optimal trajectory
Variation (105) CPU time (min)
0.325311
0.189527
2.18863
1.23738
–
6
–
5
Table 2 Simulation results of a cone surface for a beta distribution model (type 1 path). Performance index
Variation (105)
CPU time (min)
b = 1.5
3.86373 1.69785 1.79379 0.885438 1.04644 0.496943 0.690186 0.282031 0.369186 0.19387 0.232011 0.108603
– 2 – 2 – 2 – 2 – 2 – 2
b=2 b = 2.5 b=3 b=4 b=5
3
Type 2 path
the sector pB;D ðqÞ. In Appendix D, the analytical expressions of the type 2 path for spray gun pR;c ðqÞ are given. When a spray gun moves at a fixed speed, the trajectories of the spray gun at a specified path distribute homogeneously. Thus, each ki defined by averagely partitioning N can be concluded in the variation function of film thickness to solve the variation problem. When the spray gun moves at an optimal speed, the value ki at the condition of uniform speed can be chosen as an iterative original value of an optimal path. Let R = 6, B = p/3, h = 1, T = 15, N = 60, D = T/N = 0.25, / = 43.5°, Th = 0.005. The corresponding results for a finite range model are shown in Table 1. The corresponding results for a beta distribution model are indicated in Tables 2 and 3. From Table 1, it is indicated that the optimal trajectory solution has a better variation in film thickness than a constant speed solution. Especially, the variations in film thickness reduce along the type 1 path by about 84.68% in the condition of an optimal trajectory. Both the type 1 path solution and the type 2 require almost the same CPU time. Thus, when the finite range model for the rate of film accumulation used, we can get better spraying effects along the type 1 optimal path. So, the type 1 path is suitable for the finite range model. From Tables 2 and 3, it is revealed that an optimal trajectory solution has a better variation in film thickness than a constant speed solution. Especially, the variation in film thickness reduces a lot along the type 2 path in the same condition. And the type 1 path solution requires triflingly lesser CPU time. Thus, when the beta distribution model for the rate of film accumulation is used, we can get better spraying effects along the type 2 optimal path. So, the type 2 path is suitable for the beta distribution model.
Constant speed Optimal trajectory Constant speed Optimal trajectory Constant speed Optimal trajectory Constant speed Optimal trajectory Constant speed Optimal trajectory Constant speed Optimal trajectory
Constant speed Optimal trajectory Constant speed Optimal trajectory Constant speed Optimal trajectory Constant speed Optimal trajectory Constant speed Optimal trajectory Constant speed Optimal trajectory
The characteristics of the solutions for the minimum variation problem produced by optimal trajectory and constant speed for the finite range model and the beta distribution model are different. And simulation results of a cone surface for the beta distribution model has better effects than those of the cone surface for the finite range model when a suitable value of b is chosen. From the angle of CPU time, with the development of excellent computer, fleetly getting an optimal trajectory of spray painting for robots is quite easy. 5. Conclusion A framework to solve a trajectory planning problem for spray coating has been developed. The proposed methodology can utilize empirical-based data for the rate film accumulation at each surface point, which is assumed to depend on the position and orientation of spray guns. The formulation developed in the paper has been shown to yield linear or quadratic programming problems. Solution procedures have been evaluated through simulation studies, and comparisons have also been made. In the simulation studies, two types of parameterized paths on a cone surface have been discussed. The formulated optimization methods can be applied to solve the same class of nonlinear planning problems. Furthermore, because the main data input in computer programming is over geometrical characteristics of painted surfaces, the proposed framework can be widely popularized, such as applied to spray robots for glazing and powder coating. Acknowledgements The authors would like to thank Miss. Y. Wang for her assistance in developing software for the simulation studies. Also, the authors gratefully acknowledge Prof. D.A. Zhao for his suggestions in the applications of optimization techniques for spray coating processes. The authors are greatly indebted to the editor and referees for their suggestions on the revision of the paper. This study is supported by the National Natural Science Foundation of China (No.70772067), Program for New Century Excellent Talents in University of Ministry of Education of China (NCET-06-410), the Shuguang Planning of Shanghai Education Development Foundation (06SJ17) and Research Center on Metropolitan Regions of China. Appendix A An analytic parameterization of the spatial path shown in Fig. 2 is given in this appendix. The parameterization is of the form 0 pB;D ðqÞ ¼ ½px ðqÞ py ðqÞ h 0 0 0 ;
for q 2 ½0; 1
where D represents the radiusffi of the fan panel. Let d be the onepffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi third of length D then R2 þ H2 ¼ 3d. Let B be the half of the fan an-
214
X.D. Diao et al. / Computers & Industrial Engineering 57 (2009) 209–216
gle, then the length of the total path is denoted by L ¼ pr þ Bd þ pr þ 2Bd þ pr þ 3Bd where r = d/2. Thus, the expressions for px ðkÞ and py ðkÞ are defined by partitioning the interval [0, 1] for into six subintervals as follows:
if ððpr þ BdÞ=L 6 q < ðpr þ Bd þ prÞ=LÞ let t ¼ Lq ðpr þ BdÞ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi px ðqÞ ¼ B ðr sinðt=rÞÞ2 þ ð3r r cosðt=rÞÞ2 =p þ h cos c sinððB þ a tanðr sinðt=rÞ=ð3r r cosðt=rÞÞÞÞ p=BÞ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi py ðqÞ ¼ B ðr sinðt=rÞÞ2 þ ð3r r cosðt=rÞÞ2 =p þ h cos c
if ð0 6 q < pr=LÞ px ðqÞ ¼ r sinðqL=rÞ py ðqÞ ¼ r r cosðqL=rÞ
cosððB þ a tanðr sinðt=rÞ=ð3r r cosðt=rÞÞÞÞ p=BÞ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi pz ðqÞ ¼ B ðr sinðt=rÞÞ2 þ ð3r r cosðt=rÞÞ2 H=R h sin c
if ðpr=L 6 q < ðpr þ BdÞ=LÞ px ðqÞ ¼ d sinððqL prÞ=dÞ
ox ðqÞ ¼ sinðpðB þ a tanðr sinðt=rÞ=ð3r r cosðt=rÞÞÞÞ=BÞ oy ðqÞ ¼ cosðpðB þ a tanðr sinðt=rÞ=ð3r r cosðt=rÞÞÞÞ=BÞ oz ðqÞ ¼ sin c
py ðqÞ ¼ d cosððqL prÞ=dÞ if ððpr þ BdÞ=L 6 q < ðpr þ Bd þ prÞ=LÞ px ðqÞ ¼ 3r sin B r cosððqL ðpr þ BdÞÞ=r þ ðp=2 BÞÞ
if ððpr þ Bd þ prÞ=L 6 q < ðpr þ Bd þ pr þ 2BdÞ=LÞ let t ¼ Lq ðpr þ Bd þ prÞ px ðqÞ ¼ ð2Bd=p þ h cos cÞ sinðp t=ð2Bd=pÞÞ py ðqÞ ¼ ð2Bd=p þ h cos cÞ cosðp t=ð2Bd=pÞÞ
py ðqÞ ¼ 3r cos B r sinððqL ðpr þ BdÞÞ=r þ ðp=2 BÞÞ if ððpr þ Bd þ prÞ=L 6 q < ðpr þ Bd þ pr þ 2BdÞ=LÞ px ðqÞ ¼ 2d sinðB ðqL ðpr þ Bd þ prÞÞ=2dÞ py ðqÞ ¼ 2d cosðB ðqL ðpr þ Bd þ prÞÞ=2dÞ if ððpr þ Bd þ pr þ 2BdÞ=L 6 q < ðpr þ Bd þ pr þ 2Bd þ prÞ=LÞ px ðqÞ ¼ r sinððqL ðpr þ Bd þ pr þ 2BdÞÞ=rÞ py ðqÞ ¼ r r cosððqL ðpr þ Bd þ pr þ 2BdÞÞ=rÞ þ 2d if ððpr þ Bd þ pr þ 2Bd þ prÞ=L 6 q < ðpr þ Bd þ pr þ 2Bd þ pr þ 3BdÞ=L ¼ 1Þ px ðqÞ ¼ 3d sinððqL ðpr þ Bd þ pr þ 2Bd þ prÞÞ=3dÞ py ðqÞ ¼ 3d cosððqL ðpr þ Bd þ pr þ 2Bd þ prÞÞ=3dÞ
pz ðqÞ ¼ ð2Bd=pÞ H=R h sin c ox ðqÞ ¼ sinðp t=ð2Bd=pÞÞ oy ðqÞ ¼ cosðp t=ð2Bd=pÞÞ oz ðqÞ ¼ sin c if ððpr þ Bd þ pr þ 2BdÞ=L 6 q < ðpr þ Bd þ pr þ 2Bd þ prÞ=LÞ let t ¼ Lq ðpr þ Bd þ pr þ 2BdÞÞ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi px ðqÞ ¼ B ðr sinðt=rÞÞ2 þ ð5r r cosðt=rÞÞ2 =p þ h cos c sinðpa tanðr sinðt=rÞ=ð5r r cosðt=rÞÞÞ=BÞ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi py ðqÞ ¼ B ðr sinðt=rÞÞ2 þ ð5r r cosðt=rÞÞ2 =p þ h cos c
Appendix B
cosðpa tanðr sinðt=rÞ=ð5r r cosðt=rÞÞÞ=BÞ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi pz ðqÞ ¼ B ðr sinðt=rÞÞ2 þ ð5r r cosðt=rÞÞ2 =p H=R h sin c
An analytic parameterization of the spray gun corresponding to the spatial path shown in Fig. 2 is given in this appendix. The parameterization is of the form
ox ðqÞ ¼ sinðpa tanðr sinðt=rÞ=ð5r r cosðt=rÞÞÞ=BÞ oy ðqÞ ¼ cosðpa tanðr sinðt=rÞ=ð5r r cosðt=rÞÞÞ=BÞ oz ðqÞ ¼ sin c
0 pR;c ðqÞ ¼ ½px ðqÞ py ðqÞ pz ðqÞ ox ðqÞ oy ðqÞ oz ðqÞ ;
q 2 ½0; 1
The implications of parameters are similar to those in Appendix A. The expressions for px ðkÞ and py ðkÞ are defined by partitioning the interval [0,1] for q into six subintervals as follows:
if ð0 6 q < pr=LÞ px ðqÞ ¼ ðd cosððp Lq=rÞ=2Þ B=p þ h cosðcÞÞ sinððp Lq=rÞ=2 p=BÞ py ðqÞ ¼ ðd cosððp Lq=rÞ=2Þ B=p þ h cosðcÞÞ cosððp Lq=rÞ=2 p=BÞ pz ðqÞ ¼ H ðd cosððp Lq=rÞ=2Þ B=pÞ=R h sin c ox ðqÞ ¼ sinððp Lq=rÞ=2 p=BÞ oy ðqÞ ¼ cosððp Lq=rÞ=2 p=BÞ oz ðqÞ ¼ sin c if ðpr=L 6 q < ðpr þ BdÞ=LÞ let t ¼ Lq pr px ðqÞ ¼ ðBd=p þ h cos cÞ sinðt=ðBd=pÞÞ py ðqÞ ¼ ðBd=p þ h cos cÞ cosðt=ðBd=pÞÞ pz ðqÞ ¼ ðBd=pÞ H=R h sin c ox ðqÞ ¼ sinðt=ðBd=pÞÞ oy ðqÞ ¼ cosðt=ðBd=pÞÞ oz ðqÞ ¼ sin c
if ððpr þ Bd þ pr þ 2Bd þ prÞ=L 6 q < ðpr þ Bd þ pr þ 2Bd þ pr þ 3BdÞ=L ¼ 1Þ let t ¼ Lq ðpr þ Bd þ pr þ 2Bd þ prÞ px ðqÞ ¼ ð3Bd=p þ h cos cÞ sinðt=ð3Bd=pÞÞ py ðqÞ ¼ ð3Bd=p þ h cos cÞ cosðt=ð3Bd=pÞÞ pz ðqÞ ¼ ð3Bd=pÞ H=R h sin c ox ðqÞ ¼ sinðt=ð3Bd=pÞÞ oy ðqÞ ¼ cosðt=ð3Bd=pÞÞ oz ðqÞ ¼ sin c Appendix C An analytic parameterization of a spatial path shown in Fig. 3 is given in this appendix. The parameterization is of the form 0 pB;D ðqÞ ¼ ½px ðqÞ py ðqÞ h 0 0 0 ;
for q 2 ½0; 1
Except the length of the total path is denoted by
L ¼ D þ Dx1 þ ðD cos x1 D=3 cos BÞ þ D=3 þ ðD cos x2 2D=3 cos BÞ þ DðB x2 Þ where x1 ¼ B=3, x2 ¼ 2B=3, the other parameters’ implications are similar to those in Appendix A.
X.D. Diao et al. / Computers & Industrial Engineering 57 (2009) 209–216
The expressions for px ðkÞ and py ðkÞ are defined by partitioning the interval [0, 1] for q into six subintervals as follows:
if ð0 6 q < D=LÞ px ðqÞ ¼ 0 py ðqÞ ¼ Lq
if ððD þ Dx1 Þ=L 6 q < ðD þ Dx1 þ ðD cos x1 D=3 cos BÞÞ=LÞ let t ¼ Lq ðD þ Dx1 Þ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi px ðqÞ ¼ B ðD cos x1 tÞ2 þ ðD sin x1 =3Þ2 =p þ h cos c sinða tanðD sin B=ð3D cos x1 3tÞÞ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi p ðD cos x1 tÞ2 þ ðD sin x1 =3Þ2 qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi B ðD cos x1 tÞ2 þ ðD sin x1 =3Þ2 qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi py ðqÞ ¼ B ðD cos x1 tÞ2 þ ðD sin x1 =3Þ2 =p þ h cos c
If ðD=L 6 q < ðD þ Dx1 Þ=LÞ px ðqÞ ¼ D sinððLq DÞ=DÞ py ðqÞ ¼ D cosððLq DÞ=DÞ if ððD þ Dx1 Þ=L 6 q < ðD þ Dx1 þ ðD cos x1 D=3 cosðBÞÞÞ=LÞ px ðqÞ ¼ D sin x1 py ðqÞ ¼ D cos x1 ðLq ðD þ Dx1 ÞÞ if ðD þ Dx1 þ ðD cos x1 D=3 cos BÞÞ=L 6 q < ðD þ Dx1 þ ðD cos x1 D=3 cos BÞ þ D=3Þ=LÞ px ðqÞ ¼ ðD=3 þ ðLq ðD þ Dx1 þ ðD cos x1 D=3 cos BÞÞÞ sin u py ðqÞ ¼ ðD=3 þ ðLq ðD þ Dx1 þ ðD cos x1 D=3 cos BÞÞÞ cos u if ððD þ Dx1 þ ðD cos x1 D=3 cos BÞ þ D=3Þ=L 6 q < ðD þ Dx1 þ ðD cos x1 D=3 cos BÞ þ D=3 þ ðD cos x2 2D=3 cos BÞÞ=LÞ px ðqÞ ¼ D sin x2 py ðqÞ ¼ 2D=3 cos B þ ðLq ðD þ Dx1 þ ðD cos x1 D=3 cos BÞ þ D=3ÞÞ
cosða tanðD sin B=ð3D cos x1 3tÞÞ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi p ðD cos x1 tÞ2 þ ðD sin x1 =3Þ2 qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi B ðD cos x1 tÞ2 þ ðD sin x1 =3Þ2 qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi pz ðqÞ ¼ B ðD cos x1 tÞ2 þ ðD sin x1 =3Þ2 H=ðpRÞ þ h sin c ox ðqÞ ¼ sinða tanðD sin B=ð3D cos x1 3tÞÞ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi p ðD cos x1 tÞ2 þ ðD sin x1 =3Þ2 qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi B ðD cos x1 tÞ2 þ ðD sin x1 =3Þ2 oy ðqÞ ¼ cosða tanðD sin B=ð3D cos x1 3tÞÞ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi p ðD cos x1 tÞ2 þ ðD sin x1 =3Þ2 qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi B ðD cos x1 tÞ2 þ ðD sin x1 =3Þ2
if ðD þ Dx1 þ ðD cos x1 D=3 cos BÞ þ D=3 þ ðD cos x2 2D=3 cos BÞÞ=L 6 q < 1 px ðqÞ ¼ D sinððLq ðD þ Dx1 þ ðD cos x1 D=3 cos BÞ þ D=3 þ ðD cos x2 2D=3 cos BÞÞÞ=D þ x2 Þ py ðqÞ ¼ D cosððLq ðD þ Dx1 þ ðD cos x1 D=3 cos BÞ þ D=3 þ ðD cos x2 2D=3 cos BÞÞÞ=D þ x2 Þ
oz ðqÞ ¼ sin c if ððD þ Dx1 þ ðD cos x1 D=3 cos BÞÞ=L 6 q < ðD þ Dx1 þ ðD cos x1 D=3 cos BÞ þ D=3Þ=L let t ¼ Lq ðD þ Dx1 þ ðD cos x1 D=3 cos BÞÞ px ðqÞ ¼ 0 py ðqÞ ¼ ððD=3 þ tÞ B=p þ h cos cÞ pz ðqÞ ¼ ðD=3 þ tÞ B=p H=R þ h sin c
Appendix D An analytic parameterization of the gun corresponding to a spatial path shown in Fig. 3 is given in this appendix. The parameterization is of the form 0 pR;c ðqÞ ¼ ½px ðqÞ py ðqÞ pz ðqÞ ox ðqÞ oy ðqÞ oz ðqÞ ;
q 2 ½0; 1
The implications of parameters are similar to those in Appendix C. The expressions for px ðkÞ and py ðkÞ are defined by partitioning the interval [0, 1] for q into six subintervals as follows:
if ð0 6 q < D=LÞ px ðqÞ ¼ 0 py ðqÞ ¼ Lq sin c þ h cos c pz ðqÞ ¼ Lq sin c H=R þ h sin c ox ðqÞ ¼ 0 oy ðqÞ ¼ 1 oz ðqÞ ¼ sin c if ðD=L 6 q < ðD þ Dx1 Þ=LÞ let t ¼ Lq D px ðqÞ ¼ ðR þ h cos cÞ sinðt=RÞ py ðqÞ ¼ ðR þ h cos cÞ cosðt=RÞ pz ðqÞ ¼ h sin c ox ðqÞ ¼ sinðt=RÞ oy ðqÞ ¼ cosðt=RÞ oz ðqÞ ¼ sin c
215
ox ðqÞ ¼ 0 oy ðqÞ ¼ 1 oz ðqÞ ¼ sin c if ððD þ Dx1 þ ðD cos x1 D=3 cos BÞ þ D=3Þ=L 6 q < ðD þ Dx1 þ ðD cos x1 D=3 cos BÞ þ D=3 þ ðD cos x2 2D=3 cos BÞÞ=LÞ let t ¼ Lq ðD þ Dx1 þ ðD cos x1 D=3 cos BÞ þ D=3Þ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi px ðqÞ ¼ B ð2D cos B=3 þ tÞ2 þ ð2D sin B=3Þ2 =p þ h cos c sinðpa tanð2D sin B=ð2D cos B þ 3tÞÞÞ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi py ðqÞ ¼ B ð2D cos B=3 þ tÞ2 þ ð2D sin B=3Þ2 =p þ h cos c cosðpa tanð2D sin B=ð2D cos B þ 3tÞÞÞ qffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi pz ðqÞ ¼ B ð2D cos B=3 þ tÞ2 þ ð2D sin B=3Þ2 H=ðpRÞ þ h sin c ox ðqÞ ¼ sinðpa tanð2D sin B=ð2D cos B þ 3tÞÞÞ oy ðqÞ ¼ cosðpa tanð2D sin B=ð2D cos B þ 3tÞÞÞ oz ðqÞ ¼ sin c if ððD þ Dx1 þ ðD cos x1 D=3 cos BÞ þ D=3 þ ðD cos x2 2D=3 cos BÞÞ=L 6 q < 1Þ let t ¼ Lq ðD þ Dx1 þ ðD cos x1 D=3 cos BÞ þ D=3 þ ðD cos x2 2D=3 cos BÞÞ
216
X.D. Diao et al. / Computers & Industrial Engineering 57 (2009) 209–216
px ðqÞ ¼ ðR þ h cos cÞ sinððt þ D-2 Þ=RÞ py ðqÞ ¼ ðR þ h cos cÞ cosððt þ D-2 Þ=RÞ pz ðqÞ ¼ h sin c ox ðqÞ ¼ sinððt þ Dx2 Þ=RÞ oy ðqÞ ¼ cosððt þ Dx2 Þ=RÞ oz ðqÞ ¼ sin c References Acosta, C., & Raman, S. (1990). Path planning simulator for a mobile robot. Computers & Industrial Engineering, 19(1–4), 346–350. Antonio, J. K. (1993). Optimal trajectory planning problems for spray coating. In Proceedings of the 1994 IEEE international conference on robotics and automation (pp. 2570–2577). Antonio, J. K., Ramabhadran, R., & Ling, T. L. (1997). A framework for trajectory planning for automated spray coating. International Journal of Robotics and Automation, 12(4), 124–134. Arikan, M. A. S., & Balkan, T. (2001). Process simulation and paint thickness measurement for robotic spray painting. CIRP Annals-Manufacturing Technology, 50(1), 291–294. Bazaraa, M. S., Sherali, H. D., & Shetty, C. M. (1993). Nonlinear programming: Theory and algorithms (2nd ed.). New York: John Wiley & Sons. Bidanda, B., Narayanan, V., & Rubinovitz, J. (1993). Computer-aided-designed-based interactive off-line programming of spray-glazing robots. Computer Integrated Manufacturing, 6(6), 357–365. Chen, H., Xi, N., & Sheng, W. H. (2002). CAD-based automated robot trajectory planning for spray painting of free-form surfaces. International Journal of Industrial Robot, 29(5), 426–433. Choset, H. (2000). Coverage of known space: The boustrophedon cellular decomposition. Autonomous Robots, 9, 247–253.
Duelen, G., Stahlmann, H., & Liu, X. (1989). An off-line planning and simulation system for the programming of coating robots. Annals of the CIPP, 38(1), 369–372. George, K. K., & Babu, N. R. (1995). On the effective tool path planning algorithms for sculptured surface manufacture. Computers & Industrial Engineering, 28(4), 823–838. Howie, P. (1984). Graphic simulation for off-line programming. Robotics Today, 6(1), 63–66. Hyötyiemi, H. (1990). Minor moves—global results: Robot trajectory planning. In Proceedings of the 1990 IEEE conference on decision and control (pp. 16–22). Klein, A. (1987). CAD-based off-line programming of painting robots. Robotica, 5, 267–271. Narayanan, V., Bidanda, B., & Rubinovitz, J. (1992). On the development of computer based path planning strategies for robot spray glazing. Computers & Industrial Engineering, 23(1–4), 15–18. Raman, S., & Lakkaraju, R. (1993). The effect of tool life and other process variables in NC path planning. Computers & Industrial Engineering, 24(2), 315–328. Sahir, M. A., Arikan & Balkan, T. (2000). Process modeling, simulation, and paint thickness measurement for robotic spray painting. Journal of Robotic System, 17(9), 479–494. Schneberger, G. I. (1989). Understanding paint and paint processes (4th ed.). Carol Stream, IL: Hitchcock Publishing. Snyder, H. E., Sencer, D. W., Lefebvre, A. H., & Coutinho, R. S. (1989). Drop size measurements in electrostatic paint sprays. Transactions on Industry Applications, 25(4), 720–727. Suh, S. H., Lee, J. J., Choi, Y. J., & Lee, S. K. (1993). Prototype integrated robotic painting system: Software and hardware development. Journal of Manufacturing Systems, 12(6). Suh, S. H., Woo, I. K., Noh, S. K. (1991). Development of an automatic trajectory planning system (ATPS) for spray painting robots. In Proceedings of the 1991 IEEE international conference on robotics and automation (pp. 1948–1955). Ting, Y., Lei, W. I., & Jar, H. C. (2002). A path planning algorithm for industrial robots. Computers & Industrial Engineering, 42(2–4), 299–308. Yao, Z. W., & Gupta, K. (2007). Path planning with general end-effector constrains. Robotics and Autonomous Systems, 55(4), 316–327.