An Efficient and Adaptable Path Planning Algorithm
An Efficient and Adaptable Path Planning Algorithm
Article
An Efficient and Adaptable Path Planning Algorithm
for Automated Fiber Placement Based on Meshing
and Multi Guidelines
Hong Xiao 1, *, Wei Han 1 , Wenbin Tang 1,2 and Yugang Duan 1
1 State Key Lab for Manufacturing Systems Engineering, Xi’an Jiaotong University, Xi’an 710049, China;
jx18hanwei@[Link] (W.H.); tangwb@[Link] (W.T.); ygduan@[Link] (Y.D.)
2 School of Mechanical and Electrical Engineering, Xi’an Polytechnic University, Xi’an 710048, China
* Correspondence: xiaohongjxr@[Link]
Received: 11 August 2020; Accepted: 18 September 2020; Published: 22 September 2020
Abstract: Path planning algorithms for automated fiber placement are used to determine the directions
of the fiber paths and the start and end positions on the mold surfaces. The quality of the fiber paths
determines largely the efficiency and quality of the automated fiber placement process. The presented
work investigated an efficient path planning algorithm based on surface meshing. In addition,
an update method of the datum direction vector via a guide-line update strategy was proposed to
make the path planning algorithm applicable for complex surfaces. Finally, accuracy analysis was
performed on the proposed algorithm and it can be adopted as the reference for the triangulation
parameter selection for the path planning algorithm.
1. Introduction
Fiber-reinforced polymers (FRPs), especially carbon fiber reinforced polymers (CFRPs), are widely
used in the aerospace and automobile industry as well as other fields because of their high
specific strength, high specific modulus, excellent corrosion- and fatigue-resistance, and outstanding
designability [1]. Automated fiber placement combines special manufacturing equipment with
computerized numerical control (CNC) systems, which enables good forming quality, strong
adaptability, and high efficiency. As an advanced composite manufacturing technology of large
and complex components, automated fiber placement has become one of the most advanced and
cutting-edge technologies for composite forming [2]. Path planning algorithms for automated fiber
placement are used to specify the direction of a fiber path and determine the start and end positions of
the fiber on the mold surface. The quality of the fiber path plays a crucial role for the efficiency and
quality of the fiber placement process.
At present, the typical fiber path planning algorithms include the geodesic method and the
meshing method based on parametric surfaces. The path planning algorithm of geodesic method based
on parametric surfaces includes analytical and numerical methods [3]. The fiber path, which is obtained
via the numerical solution of geodesics, is more aligned with practical engineering requirements.
Lewis et al. [4] proposed a path planning method based on natural path, which is also widely used
for path planning of tape laying. Shirinzadeh et al. [5–7] put forward the method of intersecting
lines and surfaces to build the initial path, which improves the adaptability of the path to the surface
curvature. However, there are certain disadvantages with the numerical solution of geodesics, e.g.,
the difficulty of finding the solution and the low efficiency associated with the calculation [8,9].
The meshing method, which uses the polygonal meshes to describe the complex parametric surfaces,
Figure
Figure [Link]
Theoutline
outlineof
ofthe
theproposed
proposed algorithm
algorithm for
forautomated
automatedfiber
fiberplacement.
placement.
2. Efficiency Analysis
2. Efficiency and
Analysis andTopology
TopologyReconstruction
Reconstruction
[Link].
Efficiency Analysis
Efficiency Analysisofofthe
theProposed
ProposedAlgorithm
Algorithm
AA traditional
traditionalpathpathplanning
planningalgorithm
algorithm based
based on the geodesic
on the geodesic method
methodofofparametric
parametricsurface
surface
generates
generates fiber paths
fiber pathsbybysolving
solvingthe
thedirection
direction ofof each
each point on
on the
the surface.
[Link]
mainlyuses uses
thethe
twotwo
geometric
geometric numerical
numericalsolution
solutionoperations,
operations,i.e.,
i.e., the
the intersection betweenaasurface
intersection between surfaceandanda aplane
plane
andandthethe
parallel offset
parallel of of
offset a curve.
a [Link],
Essentially,the
theparallel
parallel offset
offset of a curve
curveisisrealized
realizedbybythe
theintersection
intersection of of
thethe
surface
surface at at
thethe samplingpoints
sampling pointsand
andthe
thecorresponding
corresponding offset direction
direction planes.
planes.
Commercial
Commercial CAD / CAM
CAD/CAM softwaresgenerally
softwares generallyuse useNURBS
NURBS (Non-Uniform
(Non-UniformRational
RationalB-Splines)
B-Splines)forfor
modelling, and the NURBS surface is represented by the following parameter
modelling, and the NURBS surface is represented by the following parameter equations: equations:
= ( , )
x = =sx (u,( v,) ) (1)
y ==s y (u,
( v, ) ) (1)
z = s (u, v)
z
∑ ∑ , , , ( ) , ( )
s( , ) P
=Cu PCv W P N (u)N (v) (2)
i=0∑ j=∑0 i,j ,i,j ,i,p( ) , j,q ( )
s(u, v) = PC PC (2)
u v
where Ω is the domain of s, , is the control i=0 point,
j=0
Wi,j Ni,pis (uthe
)N weight,
j,q (v) ( ) is the basis function
, ,
of the pth-order B-spline in u direction, and , ( ) is the basis function of the qth-order B-spline in
where Ωs is the domain of s, Pi,j is the control point, Wi,j is the weight, Ni,p (u) is the basis function
v direction.
of the pth-order B-spline in u direction, and N j,q (v) is the basis function of the qth-order B-spline in
Let the plane be represented by an implicit surface equation:
v direction.
Let the plane be represented by an implicit , , ) =equation:
ℎ( surface 0 (3)
where Ω is the domain of h.
h(x, y, z) = 0 (3)
Combining Equation (1) with Equation (3) yields the intersection of plane h and surface s in
domain Ω = Ω ∩ Ω . The parameters u and v of the intersection line satisfy the equation for the
where Ωh is the domain of h.
intersection line [14]:
Combining Equation (1) with Equation (3) yields the intersection of plane h and surface s in
domain Ω = Ωh ∩ Ωs . The parameters ℎ ( , u ), and
( , v ),of the
( , intersection
) = ( , )= 0 satisfy the equation for(4)the
line
intersection line [14]:
Intersection line l is a plane
curve in the plane of parameter fields for u and v. If the surface s is
h sx (u, v), s y (u, v), sz (u, v) = l(u, v) = 0 (4)
the p × q-th order, the intersection line l is the p × q-th order. Because of the low efficiency of high-
Materials 2020, 13, 4209 3 of 18
Intersection line l is a plane curve in the plane of parameter fields for u and v. If the surface
s is the p × q-th order, the intersection line l is the p × q-th order. Because of the low efficiency of
high-precision floating-point calculations, the frequent and high-precision solution of the intersection
equation l consumes a lot of resources. This decreases both efficiency and stability of the numerical
algorithms for the intersection between surfaces and planes. In the path planning algorithm based on
the parametric surfaces, the intersection between surfaces and planes needs to be solved frequently.
This decreases the efficiency of the path calculation, and for complex surfaces, the equation order is too
high to be solved, which leads to the failure of path planning.
For triangular mesh surfaces, the surface is approximately a plane within the mesh cell [15].
The intersection between the surface and the plane can be converted into an intersection between
planes, and the straight line in the plane is the result of the intersection.
The intersection line equation of a triangular patch Ai (x, y, z) = 0 and the plane h is:
l0 (x, y, z) = 0 (5)
x = x0 + mt
y = y0 + nt (6)
z = z + pt
0
The intersection line l0 is the first order equation about t, and the solution complexity decreases
significantly. Since the triangulation algorithm will generate discrete grid planes of different sizes
with different model complexity, the algorithm will not increase the order and complexity of equation
solution during path generation due to the increase of model complexity. Therefore, the fiber path
planning algorithm based on triangular mesh surface can obtain stable numerical solution quickly
and efficiently.
2.3.1. Topology Reconstruction Algorithm for the Triangular Mesh of a Cellular Patch
As mentioned above, a cellular surface can be split into feature sampling points. To restore the
surface information, it is necessary to obtain the segmentation results and establish the data structure
for the triangular meshes by the vertex aggregation algorithm for triangulation (Algorithm 1).
Materials 2020, 13, 4209 4 of 18
Through the above process, the local Point ID list, Edge ID list and Face ID list are established,
which reconstruct the topology information for the current NURBS cellular surface.
The
Materials time
2020, 13, complexity
4209 of the algorithm is O (k × (a + b)2), which is far less than O (N2) of the 5brute
of 18
force algorithm, and the efficiency of the algorithm is greatly improved.
De-duplication
At the end of the algorithm
above based onboth
process, the vertex closureboundary
sub-surface checking was described
splicing in Algorithm
and surface 2.
topological
relation reconstruction are completed. This enables fast search of adjacent triangles and efficient path
Algorithm 2: De-duplication algorithm based on vertex closure checking
calculation. The topological information of the discrete mesh surfaces is contained in the Point ID list,
Input:
Face IDPoint ID list
list and Edgebefore
ID de-duplication.
list. The forms and requirements of the three data structure list are shown in
Output:
Table Point ID list after de-duplication.
1 [13].
1: Find semi-closed state vertices
Table 1. The forms and requirements of the three data structure lists.
2: Loop all points in all Point ID List:
3:Classif point->edgenum != point->facenum
Contents Features
4: save this point toint
duplicate
vIndex;Point ID List; Given the index number of a vertex, one can
5: Loop all point1 in duplicate Point ID
double List:
p [3]; quickly find the global index of the triangle
VertexLoop all point2 in duplicate Point ID List:
6: int EdgeIndexList [cur edge index]; patch and the global index for the edge,
7: if [Link] (point2) < eps
int FaceIndexList [cur face index]; where the current vertex belongs.
8: delete point2 in Point ID List;
Given the number of a side, one can quickly
9: intList
refresh Face ID eIndex;
& Edge ID List;
find the global index of the face, where the
Edge int VertexIndexList [2];
current edge belongs and the global indices of
The time complexity [2]; is O (k × (a + b)2 ), which is far less than O (N2 ) of the brute
of the algorithm
int FaceIndexList
the two vertices at the current edge.
force algorithm, and the efficiency of the algorithm is greatly improved.
int fIndex; Given the number of a triangle patch, one can
At the end of the above process, both sub-surface boundary splicing and surface topological
doubla n [3]; quickly find the global index and the global
relation
Face reconstruction are completed. This enables fast search of adjacent triangles and efficient path
int VertexIndexList [3]; index of the three edges of the three vertices
calculation. The topological information of the discrete mesh surfaces is contained in the Point ID list,
int EdgeIndexList [3]; on the triangle patch.
Face ID list and Edge ID list. The forms and requirements of the three data structure list are shown in
Table 1 [13].
Table 1. The forms and requirements of the three data structure lists.
Algorithm
Step 3: Thethe
3: Calculate direction vector
orthogonal calculation
vector k of thealgorithm for the
normal vector main
n and themotion
parallelpath.
tangent vector
Stepk1:
t, where × t. the projection point P0 ’ for the initial starting point P0 on the triangle patch A of the
= nFind
Π) and
P
triangular
Step 4:mesh surfaces
Calculate (triangulation
the orthogonal of the
vector m ofparametric surface
normal vector n and obtain
vector the normal
k, where m = k ×vector
n. Then
of triangle
vector m ispatch A. Then,direction
the datum P0 ’ as the
redefine vector for starting pointpath
the current for the current
point, main
based onmotion path.
the guide-line and
Step by
corrected 2: the
Calculate
curvaturethe feature
tangentofvector t’ for the
the surface, whereprojection pointPis
the pathpoint of P0 ’ on
0 ”located (as the guide
shown line L,
in Figure
and generate the parallel vector t of t’ at point P0 ’.
3).
Step 3:
5: Calculate
Using normal the orthogonal
vector n as vector k of the normal
the rotation then datum
vector
axis, rotate and thedirection
parallel tangent m for θt,
vector vector
degreekto=obtain
where n × t. the laying direction vector d for the current path point P0’.
Step 4: Calculate the orthogonal vector cosm of−sin normal0vector n and vector k, where m = k × n.
The vector m is the datum direction vector = sin for thecos × point, based on the guide-line and
current0 path (7)
corrected by the curvature feature of the surface, 0 where 0 the path
1 point is located (as shown in Figure 3).
Step 5: Using normal vector n as the rotation axis, rotate the datum direction vector m for θ degree
to obtain the laying direction vector d for the current path point P0 ’.
cos θ − sin θ 0
In the current triangle patch A, use point P00 and vector d to construct a straight line and
hence obtain the intersection point P1 of the straight line and the three sides of triangle patch A.
Materials 2020, 13, 4209 7 of 18
The intersection point P1 is the next path point, and all the path points can be obtained after continuous
iteration for the main motion path generation.
Algorithm 4: The continuous path point generation algorithm.
Step 1: Take the starting point Pi and direction vector di in the current triangle patch Ai , construct
a ray Pa (λ), which is defined as the solution line for the path point. Its parameter equation is:
Step 2: The vertices Va and Vb of the triangle patch form a straight line Pb (λ), and the parameter
equation is:
Pb (λ) = (1 − λ)·Va + λ·Vb (9)
Va − Pi
λ= → (10)
Va −Vb
d+ →
kVa −Vb k
If 0 ≤ λ ≤ 1 is true, this means that the next path point is on the current sideline. If it is not on the
current sideline, then take two points to form a straight line for the calculation. Next, take Vc Vb and
Va Vc to form a straight line for the calculation. Repeat steps 1, 2, and 3 to get the next path point.
The solution line for the path point may overlap with the three side lines of the triangle in step 3,
and the next path point Pi+1 cannot be calculated using the above steps. At this time, the endpoint of
the edge Vm Vk (m, k ∈ {a, b, c}) of the triangle, where the point Pi is located, is used as the next path point
Pi+1 . The endpoint selection rules are described in Equation (11), where d is the laying direction vector.
(
Vk , d ∗ Vm Vk = 1
Pi + 1 = (11)
Vm , otherwise
Step 4: According to the topological relationship for the triangular mesh surface, obtain the
adjacent triangles on the other side of the edge, where Pi+1 is located, and update the patch index
as Ai+1 .
Step 5: Update the normal vector ni+1 . When the next path point Pi+1 lies on the triangle edge or
vertex, use the area weighing method to reduce the deviation.
Pm
Ak ·nk
n = Pkm=1 (12)
k=1 Ak ·nk
In Equation (12), m is the total number of adjacent triangles to which Pi+1 belongs, and Ak is the
area of the triangles. The area can be determined using Ak = kAB×ACk 2 , where points A, B, C are the
three vertices of a triangle Ak .
Step 6: Update the parallel tangent vector ti+1 , and solve the direction vector di+1 of the next path
point Pi+1 using Algorithm 3. The projection vector di+10 of di+1 on patch Ak+1 is the laying-direction
vector of point Pi+1 .
di+1 ·n
d0i+1 = di+1 − ·n (13)
knk2
Step 7: Repeat Step 1 to Step 6 to update and calculate the next path point until reach the triangular
mesh surface boundary and no adjacent patch can be found and the partial path on the one single
direction is constructed.
Step 8: Go back to the path initial point P0 , take the inverse of the laying-direction vector d0 and
repeat Step 1 to Step 7 until the whole main motion path is completely constructed.
Materials 2020, 13, 4209 8 of 18
The
Materials continuous
2020, pathREVIEW
13, x FOR PEER point generation algorithm is shown in Figure 4. After completing the above
8 of 19
steps, the main motion path can be derived using the cubic spline interpolation algorithm.
Materials 2020, 13, x FOR PEER REVIEW 8 of 19
Figure 4. Continuous path point generation algorithm. (a) Calculation of next point in single triangle
Figure 4. Continuous path point generation algorithm. (a) Calculation of next point in single triangle
Figure(b)
patch. 4. Continuous
Calculation path
of allpoint generation
points algorithm.
of one path (a) Calculation
on the triangular of next point in single triangle
mesh surfaces.
patch. (b) Calculation of all points of one path on the triangular mesh surfaces.
patch. (b) Calculation of all points of one path on the triangular mesh surfaces.
3.2.
3.2. Guide-line
Guide-line Update
Update Algorithm
Algorithm forfor Complex
Complex Surfaces
Surfaces
3.2. Guide-line Update Algorithm for Complex Surfaces
If
If the
the curvature
curvature ofof the
the surface
surface of of certain
certain components
components changes
changes substantially,
substantially, the
the path,
path, which
which was
was
If the
calculated
calculated curvature
and plannedof the surface
using a singleof certain
guide components
line, cannot changes
meet the substantially,
requirements the
for path,
the
planned using a single guide line, cannot meet the requirements for the laying ability in which
laying was
ability
calculated
in each
each surfaceand
surface planned
area.
area. This
This using
leads
leads a single
to wrinklingguide
to wrinkling of line,
of the
the cannot
fiber
fiber meet
during
during thethe
the requirements
laying
laying for
process,
process, the laying
which
which ability
degrades
degrades the
in
theeach surface
mechanical
mechanical area. This
properties
properties leads
of the thetofabricated
offinal wrinkling
final of the
fabricated fiber To
during
components.
components. Totheaddress
address laying
this process,
thiswhich
this problem,
problem, degrades
paperthis paper
proposed
the mechanical
proposed
a guide-line properties
a guide-line
algorithm of update
algorithm
for the theforfinaloffabricated
the update
the of components.
tangent the tangent
vector To
t andvectoraddress
datum t and this vector
datum
direction problem,
directionthis
m for thepaper
vector m
path
proposed
for a guide-line
the according
points path points algorithm
according
to the surface to for the
the and
shape update
surface of the tangent
shape and the
the distribution vector t and
distribution
of multi datum
of multi
guide-lines, direction vector
guide-lines, as
as demonstrated m
in
for the 5path
demonstrated
Figure points according
in Figure
and described 5 and
in to the5. surface
described
Algorithm shape and
in Algorithm 5. the distribution of multi guide-lines, as
demonstrated in Figure 5 and described in Algorithm 5.
Guide-line
Figure [Link]-line
Figure update
update algorithm
algorithm for complex
for complex surfaces:
surfaces: (a) Distribution
(a) Distribution diagramdiagram forguide-
for multi multi
guide-lines.
Figure(b)
lines. (b)
5. PolygonalPolygonal
Guide-linesection section
updateformed
algorithmformed by the
for complex
by the projection
surfaces:
projection point of(a) point of the
theDistribution point
point on thediagram on the guide-line.
for multi
guide-line. guide-
(c) Diagram
(c)tangent
of Diagram
lines. of tangent
(b) Polygonal
vector vector
section calculation.
formed
calculation. by the projection point of the point on the guide-line. (c) Diagram
of tangent vector calculation.
Algorithm 5: Guideline update algorithm for complex surfaces.
Materials 2020, 13, x FOR PEER REVIEW 9 of 19
Materials 2020, 13, 4209 9 of 18
Algorithm 5: Guideline update algorithm for complex surfaces.
Step 1: Project the current path point Pi on each guide-line Li to obtain projection points A, B, C
Step 1: Project the current path point Pi on each guide-line Li to obtain projection points A, B, C
and D. Connect the projection points to form a polygonal section plane Ω, the four sides of the
and D. Connect the projection points to form a polygonal section plane Ω, the four sides of the polygon
polygon on the section plane Ω are a, b, c and d.
on the section plane Ω are a, b, c and d.
Step 2: Project the current path point Pi to the edge of the polygon, and find the projection points
Step 2: Project the current path point Pi to the edge of the polygon, and find the projection points
, , and .
P1i , P2i , P3i and P4i .
Step 3: If the projection point is on the extension line of the edge, the edge is excluded. As shown
Step 3: If the projection point is on the extension line of the edge, the edge is excluded. As shown
in Figure 5b, the projection point 4 is not on the edge d, so the edge d is not considered in the
in Figure 5b, the projection point Pi is not on the edge d, so the edge d is not considered in the
algorithm below.
algorithm below.
Step 4: Calculate the distance from Pi to the projection points on the not excluded edge lines,
Step 4: Calculate the distance from Pi to the projection points on the not excluded edge lines,
where = ‖ ‖.
where dist = kPi Pxi k.
Step 5: Determine the minimum distance dist and its edge x. The two guide-lines La and Lb, at the
Step 5: Determine the minimum distance dist and its edge x. The two guide-lines La and Lb , at the
end of x, are the guide-lines for the current path point Pi.
end of x, are the guide-lines for the current path point Pi .
Step 6: As shown in Figure 5c and Equation (14), calculate the tangent vectors on La and Lb,
Step 6: As shown in Figure 5c and Equation (14), calculate the tangent vectors on La and Lb ,
respectively. The smooth transition for the path direction vector from La to Lb is realized using the
respectively. The smooth transition for the path direction vector from La to Lb is realized using the
distance-weighing method:
distance-weighing method:
∙ 1 ++t2 ·dist
t ·dist ∙ 2
t= 1 (14)
(14)
dist1 ++dist2
dist11 and
where dist
where dist22are
and dist arethe
thedistances
distancesof ofPPi ito
toLLa aand
andLLb.b .
Update the tangent vector t
Update the tangent vector t and calculate thedatum
and calculate the datumdirection vectormmofof
directionvector PiPin Algorithms
i in Algorithms3 3and and4.
The path, which is generated by Algorithm 5, is more adaptive to the changing
4. The path, which is generated by Algorithm 5, is more adaptive to the changing curvature of the curvature of the surface
and theand
surface scalability is improved.
the scalability FigureFigure
is improved. 6 shows the paths
6 shows generated
the paths basedbased
generated on single guideline
on single and
guideline
multi-guidelines for a panel and a curved surface models. It can be seen that the
and multi-guidelines for a panel and a curved surface models. It can be seen that the fiber directionfiber direction transits
smoothly
transits betweenbetween
smoothly the guidethe lines andlines
guide this makes
and this themakes
placedthefibers adapt
placed to the
fibers shape
adapt of the
to the moulds
shape of
of the
the finalof
moulds parts.
the final parts.
Figure 6.
Figure The paths
6. The paths generated
generated based
based on
on single
single guide
guide line
line and
andmulti-guide
multi-guidelines
linesfor
foraapanel
panel(a,b)
(a,b)and
anda
curved surface (c,d) models.
a curved surface (c,d) models.
Materials 2020, 13, 4209 10 of 18
Materials 2020, 13, x FOR PEER REVIEW 10 of 19
Figure [Link]
Figure Illustrationof of
thethe
surface for accuracy
surface analysis.
for accuracy (a) Original
analysis. parametric
(a) Original surface. (b)
parametric Triangular
surface. (b)
mesh surface
Triangular meshwith
surface = 0.2Dl2s
Dl2s with and Lseg
= 0.2 and= L100. (c) Surface curvature variation diagram for the
seg = 100. (c) Surface curvature variation diagram for the
path-deviation-error test area.
path-deviation-error test area.
4.1. Distance Deviation Analysis
4.1. Distance Deviation Analysis
The distance deviation of the path generated on the triangular mesh surface can be decomposed
The normal
into the distancedistance
deviation of the path
deviation andgenerated on the
the geodesic triangular
distance mesh surface
deviation. can
In this be decomposed
paper, a uniform
orthogonal test was carried out for the appropriate ranges of Dl2s and Lseg . The path was auniformly
into the normal distance deviation and the geodesic distance deviation. In this paper, uniform
orthogonal test was carried out for the appropriate ranges of Dl2s and Lseg. The path was uniformly
sampled (with a distance of 5 mm) to evaluate the distance deviation, as shown in Figure 8.
sampled (with
During thea distance of 5 mm)
triangulation to evaluate
process, both Dthe distance deviation, as shown in Figure 8.
l2s and Lseg did not reach 0, which means that the
Duringvalue
parameter the triangulation process, both
(without approximation Dl2scould
error) and Lnot
seg did not reach 0, which means that the
be determined. Therefore, in the actual
parameter value (without approximation error) could
application, the Dl2s range was 0.2–1.0 mm, and the Lseg range not be determined.
was 20–200Therefore,
mm. Theinexperiment
the actual
application, the Dl2s range was 0.2–1.0 mm, and the Lseg range was 20–200 mm. The experiment was
was carried out by the L25 56 orthogonal design. The path-generation time, the distance deviation,
carried out by the (5 ) orthogonal design. The path-generation time, the distance deviation, the
the normal distance deviation and the geodesic distance deviation were recorded.
normal distance deviation and the geodesic distance deviation were recorded.
The Euclidean distance deviation d from the sample point on the generated path to the standard
reference path was calculated and decomposed into the normal distance deviation dN and the geodesic
distance deviation dT .
Materials 2020, 13, 4209 11 of 18
Materials 2020, 13, x FOR PEER REVIEW 11 of 19
Figure
Figure 8. Standardpath,
8. Standard path,verification
verificationpath
pathgenerated
generatedbyby the
the new
new algorithm,
algorithm, andand sample
sample points
points for
for D l2s
D l2s = 0.4 and L seg
= 0.4 and Lseg = 100. = 100.
The project vector from the sample point to standard reference path is V, and the normal vector
The Euclidean distance deviation d from the sample point on the generated path to the standard
for sample point Pi on the original parametric surface is n. dN and dT can be calculated as follows:
reference path was calculated and decomposed into the normal distance deviation dN and the
geodesic distance deviation dT.
d = DistBetween Pi , P0i
The project vector from the sample
dpoint
to standard reference path is V, and the normal vector
N = d ×q cos < V, n >
for sample point Pi on the original parametric
surface is n. dN and dT can be calculated as follows:(15)
dT = d2 − d2N
= ( , )
= × < , >
According to the L25 56 orthogonal design, 25 sets of experiments were carried out. Four(15) of
them, which were Dl2s = 0.2 and Lseg = 65, Dl2s = 0.4 − and Lseg = 110, Dl2s = 0.6 and Lseg = 155 and
Dl2s = 0.8 and Lseg = 200, were selected to analyze the distribution of distance deviation along the
According to the (5 ) orthogonal design, 25 sets of experiments were carried out. Four of
generated paths.
them, which were Dl2s = 0.2 and Lseg = 65, Dl2s =0.4 and Lseg = 110, Dl2s = 0.6 and Lseg = 155 and Dl2s = 0.8
The initial path point was located near the 350th sample point. According to Figure 9, the closer the
and Lseg = 200, were selected to analyze the distribution of distance deviation along the generated
sample point was to the initial point, the smaller was the distance deviation. During path generation,
paths.
the normal vector for the path points on the triangular mesh surface was used to (approximately)
The initial path point was located near the 350th sample point. According to Figure 9, the closer
replace the normal vector of the path points on the original parameter surface. Therefore, the direction
the sample point was to the initial point, the smaller was the distance deviation. During path
datum of the path point was deviated, and it caused geodesic distance deviation between the generated
generation, the normal vector for the path points on the triangular mesh surface was used to
path and the standard reference path. It also shows that the geodesic distance deviation dT was the
(approximately) replace the normal vector of the path points on the original parameter surface.
main deviation and it increased as the parameters Dl2s and Lseg increased.
Therefore, the direction datum of the path point was deviated, and it caused geodesic distance
To analyze the relationship between the parameters (i.e., Dl2s and Lseg ) and the distance deviation of
deviation between the generated path and the standard reference path. It also shows that the geodesic
the generated path and the algorithm efficiency, the mean distance deviation, the normal mean distance
distance deviation dT was the main deviation and it increased as the parameters Dl2s and Lseg increased.
deviation, the geodesic mean distance deviation, the maximum distance deviation, the maximum
To analyze the relationship between the parameters (i.e., Dl2s and Lseg) and the distance deviation
normal distance deviation, the maximum geodesic distance deviation, and the path generation time
of the generated path and the algorithm efficiency, the mean distance deviation, the normal mean
were calculated. This was done when the generation time started from the beginning of the surface
distance deviation, the geodesic mean distance deviation, the maximum distance deviation, the
triangulation to the end of the path generation, as shown in Table 2.
maximum normal distance deviation, the maximum geodesic distance deviation, and the path
generation time were calculated. This was done when the generation time started from the beginning
of the surface triangulation to the end of the path generation, as shown in Table 2.
Materials 2020, 13, 4209 12 of 18
Figure 9. The distance deviation distribution (N Distance is dN and T Distance is dT.) for different
Figure 9. The distance deviation distribution (N Distance is dN and T Distance is dT .) for different
parameters (a) Dl2s = 0.2,Lseg = 65, (b) Dl2s = 0.4,Lseg = 110, (c) Dl2s = 0.6,Lseg = 155 and (d) Dl2s = 0.8, Lseg =
parameters (a) Dl2s = 0.2, Lseg = 65, (b) Dl2s = 0.4, Lseg = 110, (c) Dl2s = 0.6, Lseg = 155 and (d) Dl2s = 0.8,
200.
Lseg = 200.
[Link]
Table Distance deviation
deviationand
andgeneration
generationtime.
time.
Normal Geodesic Maximum
Maximum
Maximum Maximum
Mean Normal Mean
Mean Geodesic Maximum
Mean MeanMean Maximum Normal
NormalGeodesicGeodesic
GenerationGeneration
Dl2s Dl2s LsegLseg Distance Distance
Distance Distance Distance
Distance
DistanceDistanceDistanceTime Time
/mm Distance Distance Deviation Distance
/mm /mm /mm Deviation
Deviation Deviation Deviation
Deviation Deviation Deviation /s
/mm /mm
Deviation /mm
Deviation /mm Deviation
/mm /mm /mm Deviation /mm /s
0.2 20 0.41072
/mm
0.00824
/mm
0.40834 0.81222
/mm 0.05218 /mm 0.81219 5.506
0.2 0.2 65 20 0.41072
0.45268 0.00824
0.02694 0.40834
0.4329 0.81222
1.29759 0.05218
0.16468 0.81219 1.29745 5.506 0.549
0.2 0.2 11065 0.57411
0.45268 0.02534
0.02694 0.55406
0.4329 1.60354
1.29759 0.16447 1.29745 1.60342 0.549
0.16468 0.508
0.2 155 0.57298 0.02557 0.55294 1.60354 0.16447 1.60342 0.508
0.2 0.2 200110 0.57411
0.57309 0.02534
0.02547 0.55406
0.55304 1.60354
1.60354 0.16447
0.16447 1.60342 1.60342 0.508 0.505
0.4 0.2 20155 0.57298
0.41072 0.02557
0.00824 0.55294
0.40834 1.60354
0.81222 0.16447
0.05218 1.60342 0.81219 0.508 5.514
0.4 0.2 65200 0.54446
0.57309 0.09072
0.02547 0.47922
0.55304 2.12237
1.60354 0.36747 1.60342 2.12172 0.505
0.16447 0.296
0.4 110 0.78375 0.09412 0.71355 3.00629 0.46252 3.00561 0.214
0.4 0.4 15520 0.41072
0.78403 0.00824
0.09052 0.40834
0.71476 0.81222
2.94274 0.05218
0.46246 0.81219 2.94204 5.514 0.209
0.4 0.4 20065 0.54446
0.78403 0.09072
0.09052 0.47922
0.71476 2.12237
2.94274 0.36747
0.46246 2.12172 2.94204 0.296 0.213
0.6 0.4 20110 0.41072
0.78375 0.00824
0.09412 0.40834
0.71355 0.81222
3.00629 0.05218 3.00561 0.81219 0.214
0.46252 5.495
0.6 65 0.62143 0.1036 0.55255 2.14027 0.55588 2.13962 0.231
0.6 0.4 110155 0.78403
0.65292 0.09052
0.20369 0.71476
0.4915 2.94274
1.62566 0.46246
0.77333 2.94204 1.62391 0.209 0.142
0.6 0.4 155200 0.78403
0.86012 0.09052
0.18893 0.71476
0.69804 2.94274
3.09987 0.46246
0.77349 2.94204 3.0993 0.213 0.13
0.6 0.6 20020 0.8602
0.41072 0.18895
0.00824 0.6985
0.40834 3.08182
0.81222 0.77349 0.81219 3.08124 5.495
0.05218 0.128
0.8 20 0.41072 0.00824 0.40834 0.81222 0.05218 0.81219 5.499
0.8 0.6 65 65 0.62143
0.62315 0.1036
0.10188 0.55255
0.55424 2.14027
2.19272 0.55588
0.55588 2.13962 2.19207 0.231 0.213
0.8 0.6 110110 0.65292
0.78546 0.20369
0.20771 0.4915
0.63916 1.62566
1.94612 0.77333
0.84012 1.62391 1.94459 0.142 0.115
0.8 155 1.18547 0.19293 1.03511 3.91933 0.84004
0.6 155 0.86012 0.18893 0.69804 3.09987 0.77349 3.0993 3.91922 0.13 0.098
0.8 200 1.15638 0.19065 1.00657 3.8031 0.84004 3.80299 0.103
1 0.6 20200 0.8602
0.41072 0.18895
0.00824 0.6985
0.40834 3.08182
0.81222 0.77349
0.05218 3.08124 0.81219 0.128 5.491
1 0.8 65 20 0.41072
0.62147 0.00824
0.10314 0.40834
0.55262 0.81222
2.14027 0.05218
0.55588 0.81219 2.13962 5.499 0.203
1 110 0.83477 0.2216 0.68092 2.01082 1.10312
0.8 65 0.62315 0.10188 0.55424 2.19272 0.55588 2.19207 2.00955 0.213 0.105
1 155 1.33796 0.21533 1.16792 3.97448 1.10346 3.97407 0.082
1 0.8 200110 0.78546
1.29659 0.20771
0.20791 0.63916
1.12927 1.94612
3.81894 0.84012
1.10346 1.94459 3.8185 0.115 0.083
The distribution of mean distance deviation are shown in Figure 10, while the maximum
distance deviation are shown in Figure 11, and the generation time are shown in Figure 12.
0.8
1 200
65 1.15638
0.62147 0.19065
0.10314 1.00657
0.55262 3.8031
2.14027 0.84004
0.55588 3.80299
2.13962 0.103
0.203
11 20
110 0.41072
0.83477 0.00824
0.2216 0.40834
0.68092 0.81222
2.01082 0.05218
1.10312 0.81219
2.00955 5.491
0.105
11 65
155 0.62147
1.33796 0.10314
0.21533 0.55262
1.16792 2.14027
3.97448 0.55588
1.10346 2.13962
3.97407 0.203
0.082
11 110
200 0.83477
1.29659 0.2216
0.20791 0.68092
1.12927 2.01082
3.81894 1.10312
1.10346 2.00955
3.8185 0.105
0.083
1 155 1.33796 0.21533 1.16792 3.97448 1.10346 3.97407 0.082
1 The 200 1.29659of mean
distribution 0.20791
distance1.12927
deviation 3.81894
are shown 1.10346
in Figure 10,3.8185
while the 0.083
maximum
Materials 2020, 13, 4209 13 of 18
distance deviation are shown in Figure 11, and the generation time are shown in Figure 12.
The distribution of mean distance deviation are shown in Figure 10, while the maximum
distance deviation
Supplementary VideoareS1shown indemonstrates
further Figure 11, andthe
thehigh
generation time
efficiency of are
the shown in Figure
proposed 12. which can
algorithm,
complete the path planning for one layer of a complex surface in just only tens of seconds.
Figure [Link]
Figure10. Mean distance deviationand
distance deviation andits
itsdecomposition.
decomposition.
Figure [Link]
Figure11. Maximumdistance
distance deviation and its
deviation and its decomposition.
decomposition.
0.2 and2020,
Materials 0.6mm, and PEER
13, x FOR Lseg is 65 to 155 mm, the average distance deviation remains within 1mm, while
REVIEW 14 of the
19
maximum distance deviation is within 2 mm. The generation time of the algorithm is within 0.5 s.
where
4.2. n0i Deviation
Angle is the normal vector of the sample point on the surface, and t0i is the tangent of the projection
Analysis
point for the sample point on the guide-line. The angle deviation δi is calculated using:
To ensure the orthogonal arrangement of fibers in different layers, the angle distribution
between different layers is strictly defined.δ This ensures quasi-isotropic
0 mechanical behavior for the
i = arcos< di , di > (17)
components [3]. To analyze the angle deviation between the generated paths and the design datum,
an angle
Thedeviation
four setsanalysis was performed
of experiments selected in in
thisSection
section.4.1 were also adopted here to analyze the
The generated path was sampled
distribution of the angle deviation. uniformly with a step of 5 mm. For each sample point, the
forwardAs direction
mentioned of above,
the current path and
the initial paththe design
point was direction datumsampling
near the 350th of the path were
point. calculatedto
According
using both the guide-line and surface normal vector at the point. Subsequently,
Figure 13, for different triangulation parameters, the angle deviation does not depend on the the angle deviation
distance
was obtained.
between The forward
the sampling pointdirection
and the vector
initial pathatpoint
each but
sample
dependpoint
on isthe
the tangent of
curvature vector of the
the original
sample
[Link]
Theon the path.
larger The datum
the curvature ofdirection vector
the surface, wherecan the be calculated
sample points using:
are located on the path,
= ×
(16)
= ×
The four sets of experiments selected in Section 4.1 were also adopted here to analyze the
distribution of the angle deviation.
As mentioned above, the initial path point was near the 350th sampling point. According to
Figure 13, for different triangulation parameters, the angle deviation does not depend on the distance
between
Materials 2020,the sampling point and the initial path point but depend on the curvature of the 15
13, 4209 original
of 18
surface. The larger the curvature of the surface, where the sample points are located on the path, the
greater is the angle deviation. This confirms that the angle deviation is due to the approximation of
thethe
greater
normalis the angle
vector ofdeviation. This mesh
the triangular confirms that the
surface angle
during deviation
the executionis due to the
of the approximation
algorithm, and thereof is
theno
normal vector
cumulative [Link] the triangular mesh surface during the execution of the algorithm, and there is no
cumulative error.
Figure 13. The angle deviation with different parameters: (a) Dl2s = 0.2, Lseg = 65; (b) Dl2s = 0.4,
Figure 13. The angle deviation with different parameters: (a) Dl2s = 0.2, Lseg = 65; (b) Dl2s = 0.4, Lseg =
Lseg = 110; (c) Dl2s = 0.6, Lseg = 155 and (d) Dl2s = 0.8, Lseg = 200.
110; (c) Dl2s = 0.6, Lseg = 155 and (d) Dl2s = 0.8, Lseg = 200.
To study the effect of Dl2s and Lseg on the angle deviation of the path, the mean angle deviation,
To study the effect of Dl2s and Lseg on the angle deviation of the path, the mean angle deviation,
the mean square error, and the maximum angle deviation were calculated using the experimentally
the mean square error, and the maximum angle deviation were calculated using the experimentally
obtained data—see Table 3.
obtained data—see Table 3.
Table 3. Data used for the calculation of the angle deviation.
Table 3. Cont.
angle deviation is below 1.4 deg. At the same time, the path generation time stays within 0.5s. In this
case, Dl2s and Lseg can be Figure
selected
[Link] toofthe
Distribution thecomplexity of deviation.
average angle the surface and the acceptable path
error. Within the above range of the parameters, a high-precision triangular mesh surface and fiber
path with small error can be obtained, while the generation efficiency of the algorithm is high.
W.H.; writing—review and editing, H.X. and W.H.; supervision, H.X.; project administration, Y.D. All authors
have read and agreed to the published version of the manuscript.
Funding: This research was funded by the National Natural Science Foundation of China (Grant No. 51875440),
China Postdoctoral Science Foundation (Grant No. 2019M663686) and the Open Fund of the State Key Laboratory
for Manufacturing Systems Engineering (Grant No. sklms2020003).
Conflicts of Interest: The authors declare no conflict of interest.
References
1. Kozaczuk, K. Automated fiber placement systems overview. Trans. Inst. Aviat. 2016, 245, 52–59. [CrossRef]
2. August, Z.; Ostrander, G.; Michasiow, J.; Hauber, D. Recent developments in automated fiber placement of
thermoplastic composites. SAMPE J. 2014, 50, 30–37.
3. Rousseau, G.; Wehbe, R.; Halbritter, J.; Harik, R. Automated Fiber Placement Path Planning: A state-of-the-art
review. Comput.-Aided Des. Appl. 2018, 16, 172–203. [CrossRef]
4. Lewis, H.; Romero, J. Composite Tape Placement Apparatus with Natural Path Generation Means. U.S.
Patent 4,696,707, 29 September 1987.
5. Shirinzadeh, B.; Foong, C.W.; Tan, B.H. Robotic fibre placement process planning and control. Assem. Autom.
2000, 20, 313–320. [CrossRef]
6. Shirinzadeh, B.; Alici, G.; Foong, C.W.; Cassidy, G. Fabrication process of open surfaces by robotic fibre
placement. Robot. Comput.-Integr. Manuf. 2004, 20, 17–28. [CrossRef]
7. Shirinzadeh, B.; Cassidy, G.; Oetomo, D.; Alici, G.; Ang, M.H. Trajectory generation for open-contoured
structures in robotic fibre placement. Robot. Comput.-Integr. Manuf. 2007, 23, 380–394. [CrossRef]
8. Peng, Z.; Ronglei, S.; Xueying, Z.; Lingjin, H. Placement suitability criteria of composite tape for mould
surface in automated tape placement. Chin. J. Aeronaut. 2015, 28, 1574–1581.
9. Zhang, P.; Sun, R.; Huang, T. A geometric method for computation of geodesic on parametric surfaces.
Comput. Aided Geom. Des. 2015, 38, 24–37. [CrossRef]
10. Savio, G.; Meneghello, R.; Concheri, G. Geometric modeling of lattice structures for additive manufacturing.
Rapid Prototyp. J. 2018, 24, 351–360. [CrossRef]
11. Zhang, Q.; Sabin, M.A.; Cirak, F. Subdivision surfaces with isogeometric analysis adapted refinement weights.
Comput.-Aided Des. 2018, 102, 104–114. [CrossRef]
12. Shinno, N.; Shigemat, T. Method for Controlling Tape Affixing Direction of Automatic Tape Affixing
Apparatus. U.S. Patent 5,041,179, 20 August 1991.
13. Li, L.; Wang, X.; Xu, D.; Tan, M. A Placement Path Planning Algorithm Based on Meshed Triangles for Carbon
Fiber Reinforce Composite Component with Revolved Shape. Int. J. Control Syst. Appl. 2014, 1, 23–32.
14. Shen, J.; Buse, L.; Alliez, P.; Dodgson, N.A. A line/trimmed NURBS surface intersection algorithm using
matrix representations. Comput. Aided Geom. Des. 2016, 48, 1–16. [CrossRef]
15. Lo, S.H.; Wang, W.X. An algorithm for the intersection of quadrilateral surfaces by tracing of neighbours.
Comput. Methods Appl. Mech. Eng. 2003, 192, 2319–2338. [CrossRef]
© 2020 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access
article distributed under the terms and conditions of the Creative Commons Attribution
(CC BY) license ([Link]