Variational Path Optimization of Linear Pentapods with a Simple Singularity Variety^{†}^{†}thanks: Submitted to the editors DATE. \fundingThe first author was funded by the Doctoral College “Computational Design” of TU Wien and the second author is supported by Grant No. P 30855N32 of the Austrian Science Fund FWF.
Abstract
The class of linear pentapod with a simple singularity variety is obtained by imposing architectural restrictions on the design in such a way that the manipulator’s singularity variety is linear in orientation/position variables. It turns out that such a simplification leads to crucial computational advantages while maintaining the machine’s applications in some fundamental industrial tasks such as 5axis milling and laser cutting. We assume that a path between a given start and endpose of the endeffector is known, which is singularityfree and within the manipulator’s workspace. An optimization process of this initial path is proposed in such a way that the parallel robot increases its distance to the singularity loci while the motion is being smoothed. In our case the computation time of the optimization is improved as we are dealing with pentapods having simple singularity varieties allowing a closed form solution for the local extrema of the singularitydistance function. Formally, this process is called variational path optimization which is the systematic optimization of a path by manipulating its variations of energy and distance to the obstacle, which in this case is the singularity variety. In this process some physical limits of the mechanical joints are also taken into account.
claimClaim \newsiamremarkremarkRemark \newsiamremarkhypothesisHypothesis \lstdefinestylesiamlatexstyle=tcblatex, texcsstyle=*, texcsstyle=[2], keywordstyle=[2], moretexcs=cref,Cref,maketitle,mathcal,text,headers,email,url, \tcbsetcolframe=black!75!white!75, coltitle=white, colback=codebackground, colbacklower=white, fonttitle=, arc=0pt,outer arc=0pt, top=1pt,bottom=1pt,left=1mm,right=1mm,middle=1mm,boxsep=1mm, leftrule=0.3mm,rightrule=0.3mm,toprule=0.3mm,bottomrule=0.3mm, listing options=style=siamlatex \newtcblisting[use counter=example]example[2][]title=Example \thetcbcounter: #2,#1 \newtcbinputlisting[use counter=example]\examplefile[3][]title=Example \thetcbcounter: #2,listing file=#3,#1 \DeclareTotalTCBox\code v O fontupper=, nobeforeafter, tcbox raise base, colback=codebackground,colframe=white, top=0pt,bottom=0pt,left=0mm,right=0mm, leftrule=0pt,rightrule=0pt,toprule=0mm,bottomrule=0mm, boxsep=0.5mm, #2#1 {tcbverbatimwrite}tmp_final˙siam_header.tex \headersVariational Path Optimization of linear PentapodsArvin Rasoulzadeh and Georg Nawratil
tmp_final˙siam_abstract.tex
inear pentapods, Singularity variety, Variations of energy, Nonlinear optimization, Mechanical joints.
00A20 Nomenclature Name Symbol Real numbers Algebraic variety Generalized cylinder Pentapod’s singularity variety Cost function Objective function Initial guess ith coordinate Pose ith coordinate pedal points with respect to the breakpoint on /variety / Objectoriented metric Orthogonal projection with respect to objectoriented metric Orthogonal projection with respect to Euclidean metric Number of breakpoints Number of pedal points with respect to the breakpoint
1 Introduction
A linear pentapod is a five degreeoffreedom parallel robot consisting of five identical sphericalprismaticspherical legs, where five platform anchor points are aligned along the motion platform . Note that the prismatic joints are active while the spherical ones are passive. Within the paper at hand we only meet this type of manipulators possessing a planar base; i.e. the base anchor points are located on a plane (cf. Fig. 1). The pose of the line is uniquely characterized by a position vector and an orientation unitvector along . Additionally the platform anchor points’ coordinate vectors are defined by the equation while the coplanar base anchor points are free to acquire coordinates for .
Linear pentapods are capable of performing some fundamental industrial tasks such as 5axis milling and cutting. Few years ago, the company Metrom developed such a machine which, with the aid of a rotary table, is capable of full 5sided machining [weck2002parallel].
Kinematic singularities have an important role to play in pathplanning. These singular configurations are critical poses occurred by gaining some uncontrollable degreeoffreedom or the loss of stiffness in certain directions. The actuator forces may also become very large and cause the breakdown of the system. Therefore it is of crucial importance in the pathplanning process not only to avoid singularities but also their neighborhoods. In this paper we are only dealing with linear pentapods possessing simple singularity varieties (i.e. they are linear in position/orientation variables), which were determined by the authors in [rasoulzadeh2019linear].
Under the assumption that a singularityfree path between a given start and endpose of the endeffector is known within the manipulator’s workspace, our goal is to reshape this initial path iteratively by increasing its distance to the singularity loci while smoothing the path. This socalled variational path optimization does not only take the variations of energy and distance to the singularity variety (with respect to a reasonable metric) into account, but also some physical limits of the mechanical joints.
The paper is organized as follows: First, a review on the previous works is given in Section 1.1. Since the materials used here are heavily dependent on [rasoulzadeh2019linear, rasoulzadeh2019linear2], most of the review is associated with the findings regarding the class of linear pentapods with simple singularity varieties and the computation of singularityfree balls. In the next step, the required algebraic geometric and differential geometric settings are given in Section 2 and 3, respectively. Section 4 presents the optimization of the initial curve under some physical restrictions, caused by joint limits. After that the algorithmic structure of the variational path optimization is discussed in Section 5 and its results are presented in Section 6. In addition, a flowchart is provided in the Appendix by which the reader can track the detailed explanation of each section of the variational path optimization algorithm.
1.1 Review
From the linegeometric point of view (cf. [merlet1989singular]) a linear pentapod is in a singular configuration if and only if
the five carrier lines of the legs belong to a linear line congruence [pottmann2009computational]; i.e. the Plücker coordinates of
these lines are linearly dependent. From this latter characterization the following algebraic one can be obtained (cf. [rasoulzadeh2018rational]):
There exists a bijection between the configuration space of a linear pentapod and all points
located on the singular quadric , where
determines the orientation of the linear platform and its position.
Then the set of all singular robot configurations is obtained as the intersection of with a cubic 5dimensional variety of ,
which can be written as with
(1) 
(according to [borras2010singularity])
under the assumption that . Note that this assumption can always be considered without loss of generality as the fixed/moving frame can be chosen in a way that the first base/platform anchor point is its origin. Furthermore, to relax the computations even more, the authors proved that it is possible to assume , and where and hold [rasoulzadeh2019linear].
In [rasoulzadeh2019linear], the authors demonstrated the necessary and sufficient conditions for a linear pentapod to be linear in orientation/position variables. The linearity in orientation variables, which from now on is named LOproperty or LOcase, is fulfilled for the following three types of linear pentapods which are depicted in Fig. 2. In fact, it is revealed that one can obtain all singular configurations of pentapods with LOproperty in using one of the three classes,
as they are equivalent with respect to transforms mentioned in [borras2010singularity1].
For the linearity in position variables, the socalled LPproperty or LPcase,
authors demonstrated that a pentapod possesses this property iff there exists a singular affine map
(2) 
with and .
Definition 1
A linear pentapod possessing a singularity variety linear in orientation/position variables is called a “simple pentapod”.
It is noteworthy to emphasis that due to findings in [rasoulzadeh2019linear], simple pentapods must be with a planar base.
In [rasoulzadeh2019linear2], the computation of the maximum singularityfree balls for linear pentapods is thoroughly investigated.
As the configuration space of the endeffector equals the space of oriented lineelements,
we can adopt an objectoriented metric discussed in [nawratil2017point] for our
mechanical device as follows:
(3) 
where and are two configurations and and denote the coordinate vectors of the corresponding platform anchor points (cf. Fig. 1).
From [rasoulzadeh2018rational] it was already known that the determination of the local extrema of the singularitydistance function is a polynomial problem of degree 80, which
can be relaxed to a problem of degree 28 by expanding the transformation group from Euclidean to equiform motions by omitting the normalizing condition . As the obtained distance of
the relaxed problem is less or equal to the distance of the original problem, it can be used as the radius of a guaranteed singularityfree ball.
Moreover in [rasoulzadeh2019linear2] it was shown for the class of simple pentapods that the algebraic degree of this distance computation problem drops from 10
to 3 (cf. Table 1). The resulting closed form solution offers interesting new concepts and strategies concerning path optimization and singularity avoidance.
Generic case  LP case  LO case  

Objectoriented metric case  80  10  10 
Objectoriented metric case without normalizing condition  28  3  3 
2 Algebraic Geometric Setup
Before plunging into the detailed optimization of the singularityfree paths, some remarks and definitions are of necessity to wrap up the mathematical structures of the pentapod’s singularity locus.
2.1  Variety
Definition 2
The locus of the singularity polynomial of a “simple pentapod” is called a “variety”.
Now, tidying up the known information through definitions makes it possible to take a look at the structure of the varieties of both LO and LPcases.
Lemma 1
The variety of the LOcases is the zero set of the following polynomial:
(4) 
where and are real numbers and (cf. [rasoulzadeh2019linear]).
Proof
It can be shown by a series of transforms (cf. [borras2010singularity1]), that the singularity loci of all three cases are identical. Now, by substituting the relations between architecture parameters of one of the cases (e.g. 3rdcase identified by pairwise distinct indices ) into (cf. Eq. 1):
(5) 
one obtains Eq. 4.
Lemma 2
The variety of the LPcase is the zero set of the following polynomial:
(6) 
Proof
From [rasoulzadeh2019linear], it is known that LPcase is generated whenever there is a singular affine map , where . Substituting this relation into and factorizing, one obtains Eq. 6.
Later on, during the process of singularityfree path optimization, a projection of a point in onto the variety is needed. Hence, a more detailed understanding of the variety is helpful. In the following theorem the properties of variety in the real space are investigated.
Theorem 1
The variety has the following properties:

variety is an algebraic variety formed by the union of a hyperplane , and a hyperquadric , in ,

, where is the set of singular points of and is a smooth manifold,

is a 4dimensional algebraic variety, consisting of the union of two 4planes and ,

is tangent to at a 3dimensional smooth manifold ,

is a 2plane and is contained in ,
Finally, having in mind that is the set of solutions to the system of polynomial equations , the details are summarized below:
LOcase :
,
,
.

LPcase:
,
,
.

Proof
Although the proof is not complex, it might be perceived to be distinct from the rest of the paper. Consequently the interested reader can find the proof and related details in Appendix A.
3 Differential Geometric Setup
In this section, the nice motion is revisited in a more rigorous format. Mathematically, the features of this motion are strongly connected to the concept of variations of energy and consequently to the arc length and curvature. Since these topics are classified as differential geometry, a separate section is dedicated to them (as indeed we are viewing the problem from a different angle).
Evidently, to do differential geometric calculations an inner product is required. Such an inner product should be in a way that one can derive kinematic information from. It turns out that it is possible to define a metric tensor (and consequently an inner product) in such a way that it implies the metric described in [rasoulzadeh2018rational] (see Eq. 3). Having access to the inner product it is possible to calculate the geodesic energy (or simply just energy as it is more common in differential geometry texts) and bending energy.
3.1 Metric Tensor
Here, the goal is to frameup the settings of differential geometry in order to be able to carry out the required computations on manifolds. The key element is to equip each tangent space (of the manifolds under study) with an inner product that varies smoothly on the corresponding manifold. Such an inner product is obtained by computing the metric tensor at one point of the manifold.
Definition 3
The“objectoriented metric tensor” relative to the canonical basis of is defined by the following matrix:
where and .
The following remark clarifies the relation between the objectoriented metric tensor and the objectoriented metric:
Remark 1
Consider the objectoriented metric , Eq. 3, and the objectoriented metric tensor . For two points of (two poses of the pentapod), namely, and one obtains (for more details cf. [boothby1986introduction]):
(7) 
where .
3.2 Orthogonal Projection
One of the fundamental tools in the variational path optimization approach is the orthogonal projection.
Definition 4
Let be a nonempty subset of the metric space . The orthogonal projection into , is the relation such that for each we have
(10) 
where is the metric of and .
The fact that is defined as a relation rather than a map is due to the fact that it might not be a function [dudek1994nonlinear].
3.2.1 Computation of Pedal Points
Definition 4 gives an intuition toward the nature of the orthogonal projection but does not provide a computational tool. In fact there can be several ways to calculate for a sample point . But for reasons that will be cleared later the Lagrange multiplier method is chosen.
Definition 5
Consider the “Lagrange equation” , where is the smooth “distance function” on a manifold . Moreover a certain subset of is given as the zeroset of the polynomials and their corresponding “Lagrange multipliers” are denoted by . Then the solutions of the system of equations
(11) 
are called “pedal points”, as these points of to the given configuration () of the linear pentapod cause local extrema of the distance function.
Note that for , the set is a subset of pedal points.
Previously the authors had announced that for an arbitrary point in , the number of corresponding pedal points on the variety is 3 (cf. [rasoulzadeh2019linear2]). In this section, the goal is to obtain closedform information on the procedure to compute these pedal points.
Theorem 2
Consider an arbitrary point in . Then with respect to the objectoriented metric, Eq. 7, the corresponding number of pedal points on the variety is up to 3 and the pedal point coordinates can be obtained in a closed form.
Proof
In Theorem 1, it is shown that the variety decomposes into the hyperplane and the hyperquadric . Trivially, one of the pedal points is located on , namely, the closest point (with respect to the distance function) to the arbitrary point . Now, knowing this fact it is possible to focus on for retrieving the pedal points information. Consider the following Lagrange equation
(12) 
where is the Lagrange multiplier, is the singularity polynomial of and is the objectoriented metric describing the distance between the point and a sample point on with symbolic coordinates . Then, computing
(13) 
results in a system of polynomial equations, where are linear in the pose variables. These pose variables depend on . By solving them for and substituting them in one obtains a univariable polynomial quadratic in . Since this polynomial is of degree it shows that for the arbitrary point there will be at most pedal points on . Finally, the pedal point coordinates are obtained through solving the quadratic polynomial for and backsubstituting its value.
3.2.2 Distance to variety & Modified Orthogonal Projection
Obtaining the closed form pedal point coordinates, enables one to compute the vector field of normals to variety at these points. Assuming a pose point , the natural way of increasing distance to the variety is to move on the line spanned by and the closest pedal (from now on called gradient lines). However, this natural primary idea needs to be modified as the following cases may occur:

Pedal points on :
Despite the fact that, based on Definition 4, there is no restriction for the closest point to any specific subset of the variety, if such a point is located on , Definition 11 does not reveal it. The reason behind it is that the Lagrange multiplier technique nourishes from the tangency of the distance function and the constraint at the pedals. In another word, such minimizer is found whenever the corresponding gradients of the distance function and the constraint are linearly dependent. On the other hand, at singular points of the constraint the gradient vanishes which results the incapability of the Lagrange multipliers in identifying pedals on . One might try to overcome this hardship through redefining the pedal points as the solutions to the system of polynomials obtained by calculating the derivatives of the distance function with respect to parameters of . In such a method one obtains the pedals on at the cost of expensive symbolic computation of nonlinear systems. Though this technique is not reasonable, resolving this issue is not hard as one can find the closest point on separately. Hence, from now on we loosely call this point a pedal point as well (for details of cf. Appendix A). 
Pose points on cut locus:
By Theorem 2 and previous case, we know that can be located on up to 3 gradient lines plus a line connecting to the pedal point on . A natural question would be which line to go along with to increase the distance to . One idea would be to consider taxi along the the lines connecting pose point to the closest pedal. But if the pose point is located on the cut locus of then more than one closest point already exist (for definition and properties of cut locus see [carmo1992riemannian]). On the other hand, as pose point updating is discrete, with respect to a stepsize, it may create problems such as overshooting over the cut locus. Such overshooting happens due to a “jump” of the corresponding closest pedal. In order to resolve both issues at once and create a smooth update of the pose point, a weight factor is introduced in such a way that it considers the effect of the pedal points in dependence of their distances to the pose .
Due to the reasons mentioned above, we modify Definition 4 into the following shape:
Definition 6
The orthogonal projection with respect to objectoriented metric is a relation , such that for each we have
(14) 
where is Eq. 13.
Note that in a generic case, is finite and yields four pedal points (one on , two on and one on ).
Remark 2
Note that, it is not immediately known whether the nonreal complex pedal points or double pedal points exist or not. Calculating Eq. 13 for the case of a parabola as an obstacle shows that the pedal points are not always distinct real points.
Definition 7
Assume and to be an orthogonal projection relation mentioned above. Additionally, assume to be the number of pedal points on with respect to the point . Now, the goal is to find a preferred direction such that if point travels along with, it can increase its distance to the variety. Assuming to be the update of , the following function fulfils the goal:
(15) 
where the are the “positive weights” and given by
(16) 
is the “regulation factor” implying .
Eq. 15 refers to a weighted projection of vector on the three gradient lines plus the line connecting to the closest pedal on . As it can be inferred from Eq. 16, these weights are disproportional to the corresponding distance to pedals and their sum is equal to one. In another word, if is far away from a pedal then the projection of movement direction, , on that gradient is a smaller vector (going away from that pedal is less important). On the contrary, if is close to a pedal then the projection of would be mainly along that gradient (it will repel the point with more efficiency). In Fig. 4left an example regarding such weighted factors is depicted.
3.3 Variations of Energy
Definition 8
Let be piecewise smooth curve on a Riemannian manifold . A “variation” of is a continuous mapping such that
a) , ,
b) there exists a subdivision of by points in a way that the restriction of to each is differentiable [carmo1992riemannian].
A variation is said to be proper if and for all [carmo1992riemannian]. Considering a smooth variation (smooth ), the geodesic energy and bending energy of the variation for are defined as follows:
(17) 
Later it will be shown that an update of the initial curve is discretely done and depends on a predefined step size (also known as learning rate). Hence, a modification of Eq. 17 into our discrete setting is necessary.
3.3.1 Geodesic Energy & Bending Energy
For the sake of simplicity of notations, we restrict ourselves to the case of the piecewise smooth curve in .
Definition 9
Assume that is a “piecewise smooth” curve with a finite partition, , then the “discrete geodesic energy” and “discrete bending energy” of the curve are as follows (cf. [pottmann2009computational]):
(18) 
while “discrete length” and “discrete total curvature” are respectively given by (cf. [carmo1992riemannian, milnor1950total]):
(19) 
Finally, it is noteworthy to emphasize that the variations under study in this paper are proper as we require the motions to remain between a fixed start and endpose.
3.4 Cost Function
In order to find the nice motion the idea is to use gradient descent which is a firstorder iterative optimization algorithm to find the local minimum of a cost function. Though in many similar applications, especially in the context of machine learning, the step size (learning rate) is considered a constant small number, here it will not be accurate enough and hence a more intelligent step should be taken for that purpose. Additionally, the function whose descent per iterations is monitored is slightly different with the original cost function and will be introduced under the name of objective function.
Definition 10
Assume that an initial singularityfree curve between startpose and endpose is given, while it is discretized into a “piecewise smooth” curve with the set of breakpoints in . Assuming to be the update of , the cost function, subject to optimization, is defined as follows:
(20) 
where is the function of Eq. 15, and are real numbers called “geodesic weight” and “bending weight”, respectively and and are the discrete length and discrete total curvature obtained from previous iteration (at the first iteration they are substituted by the corresponding values of the initial curve). Finally, we have and .
Geodesic and bending weights increase/decrease the geodesic energy and bending energy by blocking/unblocking their increase when substituted by high/low values.
Remark 3
In the absence of the coefficients and in Eq. 20, the geodesic energy and bending energy terms which are the sum of the squared values would heavily outgrow the distance term containing the projection on the gradient lines which is single valued (cf. Fig. 5). This fact forces the cost function to be heavily dependant on the number of chosen breakpoints. Consequently, the existence of these coefficients are necessary.
Remark 4
It is noteworthy that the coefficients of the geodesic and bending energy terms in Eq. 20 are multiplied by a factor involving the number of break points while the projection term’s coefficient plays the role of a mean value for the number of breakpoints. These coefficients are designed in this way to reduce the effect of the number of breakpoints on the shape of the optimized curve. This is important as later it is shown that the number of break points may vary at different iterations of the optimization algorithm.
The cost function, , is a quadratic polynomial in variables. Optimizing Eq. 20 requires solving the following equation
(21) 
for which is equivalent to solving a linear system.
3.5 Step Size
The idea is to calculate two step sizes, namely and , in such a way that they yield of variations of geodesic and bending energy respectively. If we define the geodesic energy of the updated breakpoints by:
(22) 
and its bending energy by
(23) 
and having the previous geodesic energy and previous bending energy , then the real roots of the following equations will guarantee variation in energies:
(24) 
Finally, the step size is chosen as the minimum of the positive real roots of Eq. 24 and .
3.6 Objective Function
Now, in order to monitor the descent of the cost function with respect to iteration we propose a slightly different function called objective function.
Definition 11
Assume to be the vector obtained by solving the linear system (cf. Section 3.4) and the orthogonal projection into the variety. Then the “objective function” for monitoring the gradient descent is
(25) 
Note that, as we have the updated curve breakpoint coordinates it is possible to compute length and total curvature now. Hence, the terms and replace the terms and from Eq. 20 respectively. Additionally, since the goal is to increase the distance to the variety, the corresponding terms are replaced by the sum of distances to corresponding closest pedals.
3.7 Remarks on the Curve’s Energies
Let be a curve parametrized by arc length . Since the tangent vector has unit length, the norm of the second derivative measures the rate of change of the angle which neighboring tangents make with the tangent at . gives, therefore, a measure of how rapidly the curve pulls away from the tangent line at , in the neighborhood of (namely, the curvature )[do2016differential]. Consequently, in the discrete case, if is a sequence of breakpoints defining a piecewise smooth curve, it is natural to consider the angle between vectors and as the curvature at the breakpoint and the sum as the total curvature [milnor1950total]. In fact in this way one can define the bending energy by , but Definition 9 is slightly different. Due to the fact that the measure of a central angle and the arc it intercepts are equal in value, in the case that the curve is parametrized by arc length the two definitions are equivalent. However, such values obtained may differ if the curve under consideration is not arc length parametrized (i.e. consider a line not possessing arc length parametrization, then based on Definition 9 the bending energy is not zero). But such a deviation creates a computational advantage as otherwise a denominator containing the norms of every two adjacent edges would appear in the bending energy term of the cost function (Eq. 20). This denominator then diminishes bending energy term being a quadratic polynomial and consequently denying the advantage of possessing a linear system after derivation. Finally, the geodesic energy term contributes significantly to resolving this issue as it creates a pull effect which preserves a regular distribution of breakpoints across the curve after variation (see Fig. 5right).
3.8 Orthogonal projection into the configuration space
In the process of updating breakpoints, by obtaining the preferred direction and step size (cf. Eq. 24), one may end up with a curve not necessarily belonging to the cylinder . Having in mind that is the set of all performable motions for the pentapod, it is important to find an update restricted to it. In order to resolve it, one immediate idea is to keep the update of each breakpoint restricted to its corresponding tangent space to the cylinder . In the next step, the updated curve is orthogonally projected into the cylinder.
3.8.1 Projection on Cylinder’s Tangents
For a breakpoint we are interested in its update belonging to . The following lemma creates the first step in building a systematic update of on .
Lemma 3
Let be a smooth function on a Riemannian manifold . Let be a submanifold of . Then the gradient of the map restricted to at a point , , is the orthogonal projection of onto .
Proof
If is the Riemannian metric on then for all denoting the set of all smooth vector fields on (cf. [o1983semi]). Now, considering the decomposition at the point , where and we have ^{1}^{1}1In the following equation the subscript is dropped intentionally.
which gives
(26) 
Each breakpoint of the piecewise smooth curve is located in the ambient space . Define
(27) 
where denotes the 6dimensional coordinate vector of the th breakpoint of the piecewise smooth curve. In this way the point stands for the piecewise smooth curve. Defining the updated breakpoint in exactly the same fashion we have
(28) 
Now, using the above terminology one trivially finds that the vector is in fact the on the level sets of the cost function in .
Lemma 4
Assume . Then
(29) 
where we have
(30) 
where is the orthogonal projection onto the sphere’s tangent plane at .
Proof
is a regular submanifold of . This implies being a regular submanifold of . Now, using Lemma 3 we have where is the orthogonal projection into the tangent of at . This results in
(31) 
where is the orthogonal projection onto the tangent space at . Now having in mind that:
(32)  
(33) 
one deduces that orthogonal projections of Eq. 31 are merely the orthogonal projection on the sphere and hence Eq. 29 is fulfilled (Fig. 6 illustrates the steps of the proof).
3.8.2 Projection from Cylinder’s Tangents to the Cylinder
In the final step we desire the projection of the updated piecewise smooth curve from the cylinder’s tangents to the cylinder. Such projection is easily done through normalization of the orientation variables, namely by the following map (cf Fig. 6right):
3.9 Finite Singularityfree Cover
The obtained variation of the initial path is compact in and hence has a finite open cover. This leads one to the idea of a finite singularityfree cover. Such a cover is consisted of singularityfree balls which are extensively discussed in [rasoulzadeh2019linear2]. In this context we approach the concepts of inclusion and exclusion of breakpoints. In the following discussions, stands for the distance to the closest pedal point with respect to breakpoint , guaranteeing the existence of the singularityfree ball .
3.9.1 Inclusion of Breakpoints
For each two consecutive breakpoints, namely and , the algorithm checks whether singularityfree balls and cover the segment in between. If the segment is not fully covered the algorithm implements a new breakpoint in exactly the midway of uncovered part of the segment as depicted in Fig. 7left.
3.9.2 Exclusion of Breakpoints
While the previous step assures one of singularity freeness of the curve, it is adequate not to have excessive included breakpoints. The initial idea is to exclude a breakpoint if it is covered by the adjacent balls and (cf. Fig.7right). However, one should be mindful of the fact that the breakpoint itself creates the ball which along with play the role of the cover for . Deleting then may cause the removal of its corresponding ball and hence a blown possible cover for . In order to avoid such an undesirable situation the algorithm first labels the breakpoints which are doubly covered by adjacent balls (a point is doubly covered if it belongs to