Variational Path Optimization of Linear Pentapods with a Simple Singularity VarietySubmitted 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 30855-N32 of the Austrian Science Fund FWF.

Variational Path Optimization of Linear Pentapods with a Simple Singularity Varietythanks: 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 30855-N32 of the Austrian Science Fund FWF.

Arvin Rasoulzadeh Center for Geometry and Computational Design, TU Wien.
   Georg Nawratil ().

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 5-axis milling and laser cutting. We assume that a path between a given start- and end-pose of the end-effector is known, which is singularity-free 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 singularity-distance 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



inear pentapods, Singularity variety, Variations of energy, Non-linear optimization, Mechanical joints.


00A20 Nomenclature Name Symbol Real numbers Algebraic variety Generalized cylinder Pentapod’s singularity variety Cost function Objective function Initial guess i-th coordinate Pose i-th coordinate pedal points with respect to the breakpoint on /-variety / Object-oriented metric Orthogonal projection with respect to object-oriented 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 degree-of-freedom parallel robot consisting of five identical spherical-prismatic-spherical 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 unit-vector 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 5-axis 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 5-sided machining [weck2002parallel].

Kinematic singularities have an important role to play in path-planning. These singular configurations are critical poses occurred by gaining some uncontrollable degree-of-freedom 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 path-planning 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 singularity-free path between a given start- and end-pose of the end-effector 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 so-called 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 singularity-free 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.



Figure 1: Illustration of a linear pentapod with a planar base. From a geometrical point of view, the value of Eq. 3, for the two poses of the planar pentapod, is equal to of the sum of the squared lengths of the dashed lines between two platforms configurations.

1.1 Review

From the line-geometric 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 5-dimensional variety of , which can be written as with


(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].


[height=35mm]case22 {overpic}[height=36mm]case33 {overpic}[height=36mm]case11

Figure 2: Illustrations of LO-case pentapods. The geometric characterization of LO-cases is as follows: 1st-LO: , , , are collinear (left), 2nd-LO: and , , are collinear with pairwise distinct (middle), 3rd-LO: with pairwise distinct (right).

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 LO-property or LO-case, 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 LO-property 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 so-called LP-property or LP-case, authors demonstrated that a pentapod possesses this property iff there exists a singular affine map


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 singularity-free balls for linear pentapods is thoroughly investigated. As the configuration space of the end-effector equals the space of oriented line-elements, we can adopt an object-oriented metric discussed in [nawratil2017point] for our mechanical device as follows:


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 singularity-distance 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 singularity-free 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
Object-oriented metric case 80 10 10
Object-oriented metric case without normalizing condition 28 3 3

Table 1: Generic number of pedal points under different metric conditions: “Generic case” refers to the general pentapod (not necessarily with a simple singularity variety). Note that they are computed over the field of complex numbers and hence the real solutions might be lower. The red coloured cells indicate that these numbers are just experimental while the green ones are mathematically proven (cf. Theorem 2).

2 Algebraic Geometric Setup

Before plunging into the detailed optimization of the singularity-free 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 LP-cases.

Lemma 1

The -variety of the LO-cases is the zero set of the following polynomial:


where and are real numbers and (cf. [rasoulzadeh2019linear]).


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. 3rd-case identified by pairwise distinct indices ) into (cf. Eq. 1):


one obtains Eq. 4.

Lemma 2

The -variety of the LP-case is the zero set of the following polynomial:



From [rasoulzadeh2019linear], it is known that LP-case 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 singularity-free 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 4-dimensional algebraic variety, consisting of the union of two 4-planes and ,

  • is tangent to at a 3-dimensional smooth manifold ,

  • is a 2-plane 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:

    • LO-case :




    • LP-case:





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.

In Fig. 3, an imaginative geometric depiction of -variety in is described in such a way that the there is a correspondence between the co-dimension of its properties and of the properties listed in Theorem 1.



Figure 3: One way to have an imaginative illustration of the -variety is to consider a case with a certain similarity in . In order to do so, consider the variety which is in fact the union of a plane and a hyperbolic paraboloid . In that way, the will be of co-dimension 2 while and are tangent at a 0 dimensional subvariety. Note that due to the fact that in this example we are restricted to it is impossible to show the 2-dimensional singular set on as it is of co-dimension 4.

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 frame-up 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“object-oriented metric tensor” relative to the canonical basis of is defined by the following matrix:

where and .

The following remark clarifies the relation between the object-oriented metric tensor and the object-oriented metric:

Remark 1

Consider the object-oriented metric , Eq. 3, and the object-oriented metric tensor . For two points of (two poses of the pentapod), namely, and one obtains (for more details cf. [boothby1986introduction]):


where .

Note that the right hand side of Eq. 7 serves as the desired inner product:


Then the pose space of the pentapod equipped with the inner product of Eq. 9 forms the Riemannian manifold .

3.2 Orthogonal Projection

One of the fundamental tools in the variational path optimization approach is the orthogonal projection.

Definition 4

Let be a non-empty subset of the metric space . The orthogonal projection into , is the relation such that for each we have


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 zero-set of the polynomials and their corresponding “Lagrange multipliers” are denoted by . Then the solutions of the system of equations


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 closed-form information on the procedure to compute these pedal points.

Theorem 2

Consider an arbitrary point in . Then with respect to the object-oriented 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.


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


where is the Lagrange multiplier, is the singularity polynomial of and is the object-oriented metric describing the distance between the point and a sample point on with symbolic coordinates . Then, computing


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 back-substituting 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 non-linear 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 step-size, 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 object-oriented metric is a relation , such that for each we have


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 non-real 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:


where the are the “positive weights” and given by


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. 4-left an example regarding such weighted factors is depicted.



Figure 4: Left: The green vector shows the optimized direction for the vector . The projection on the 1st, 2nd and 3rd gradient lines are indicated by red, pink and cyan respectively. Note that, one can check the correctness of the optimized move as the green direction refers to moving closer to the medial axis and increasing distance to the parabola eventually. Right: Depending on the geometrical structure of the obstacle, geodesic and bending weight factors, the algorithm may not have a final result. The initial path (blue) variates (green) along the parabola’s medial axis till infinity under zero geodesic and bending weight inputs.

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:


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]):


while “discrete length” and “discrete total curvature” are respectively given by (cf. [carmo1992riemannian, milnor1950total]):


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 end-pose.

3.4 Cost Function

In order to find the nice motion the idea is to use gradient descent which is a first-order 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 singularity-free curve between start-pose and end-pose 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:


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


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:


and its bending energy by


and having the previous geodesic energy and previous bending energy , then the real roots of the following equations will guarantee variation in energies:


Finally, the step size is chosen as the minimum of the positive real roots of Eq. 24 and .


[height=50mm]pull2 {overpic}[height=50mm]error2

Figure 5: Left: Illustration of the pull effect of geodesic energy on the breakpoints. The pattern of the breakpoints preserves a regular shape after variation. Right: A geometrical visualization of the errors. The blue boxes describe the calculated value for the geodesic energy before variation, while the green ones depict this energy after the variation. The red arrows connect a breakpoint to its corresponding update. One way to realize the error’s occurrence would be through assigning physical units to the calculations, namely . In that way the the value computed for the geodesic energy will be of physical dimension while the distance is . Both figures are created for the case of the variation of an initial curve where with respect to a parabola and with as weight factors.

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


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. 5-right).

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 .


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 111In the following equation the subscript is dropped intentionally.

which gives


Each breakpoint of the piecewise smooth curve is located in the ambient space . Define


where denotes the 6-dimensional 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


Now, using the above terminology one trivially finds that the vector is in fact the on the level sets of the cost function in .


[height=51 mm]popout2 {overpic}[height=51 mm]projecttangent2 {overpic}[height=51 mm]spheretangent2

Figure 6: Imaginative illustration of the “generalized cylinder” . Left: The blue curve indicates the initial path while the green one stands as the updated curve (not necessarily belonging to ). The red dots are in fact the possible imaginative pedal points on the singularity surface . Middle: The projection of the updated curve into the the tangent space. Right: A “realistic” interpretation of such projections in the orientation space. The blue vector shows the original orientation of the pose and the green vector depicts the orientation after update. The cross, , stands as the back-projection into the “tangent to sphere at ”, while the red vector describes the final accepted motion after back-projection from the tangent to sphere.
Lemma 4

Assume . Then


where we have


where is the orthogonal projection onto the sphere’s tangent plane at .


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


where is the orthogonal projection onto the tangent space at . Now having in mind that:


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. 6-right):


[height=30mm]inclusion2 {overpic}[height=30mm]exclus

Figure 7: Imaginative illustration of minimal singularity-free cover of the curve. Left: If a segment is not fully covered by singularity-free balls then a breakpoint will be added in the mid of the uncovered part. Right: If two adjacent singularity-free balls are covering a breakpoint that breakpoint is removable. Note that such a removal should be in such a way that it does not alter the cover for adjacent to the neighboring breakpoints.

3.9 Finite Singularity-free 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 singularity-free cover. Such a cover is consisted of singularity-free 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 singularity-free ball .

3.9.1 Inclusion of Breakpoints

For each two consecutive breakpoints, namely and , the algorithm checks whether singularity-free 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. 7-left.

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.7-right). 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