Clarke Transform - A Fundamental Tool For Continu
Clarke Transform - A Fundamental Tool For Continu
C ONTINUUM ROBOTICS
A BSTRACT
This article introduces the Clarke transform and Clarke coordinates, which present a solution to
the disengagement of an arbitrary number of coupled displacement actuation of continuum and soft
robots. The Clarke transform utilizes the generalized Clarke transformation and its inverse to reduce
any number of joint values to a two-dimensional space without sacrificing any significant informa-
tion. This space is the manifold of the joint space and is described by two orthogonal Clarke coor-
dinates. Application to kinematics, sampling, and control are presented. By deriving the solution to
the previously unknown forward robot-dependent mapping for an arbitrary number of joints, the for-
ward and inverse kinematics formulations are branchless, closed-form, and singular-free. Sampling
is used as a proxy for gauging the performance implications for various methods and frameworks,
leading to a branchless, closed-form, and vectorizable sampling method with a 100 percent success
rate and the possibility to shape desired distributions. Due to the utilization of the manifold, the
fairly simple constraint-informed, two-dimensional, and linear controller always provides feasible
control outputs. On top of that, the relations to improved representations in continuum and soft
robotics are established, where the Clarke coordinates are their generalizations.
The Clarke transform offers valuable geometric insights and paves the way for developing ap-
proaches directly on the two-dimensional manifold within the high-dimensional joint space, en-
suring compliance with the constraint. While being an easy-to-construct linear map, the proposed
Clarke transform is mathematically consistent, physically meaningful, as well as interpretable and
contributes to the unification of frameworks across continuum and soft robots.
1 Introduction
Robots are described in the joint space, while the interaction with the environment and humans is described in the
task space. To bridge the joint space and the task space, an intermediate space is used to take advantage of the
robot’s specific geometry. For serial-kinematic robots, line coordinates are used to construct the intermediate space.
The most prominent line coordinates are described by Denavit-Hartenberg parameters, where Paul (1981) and Craig
(2005) popularize the standard form and the modified form, respectively. For continuum robots, geometry descriptions
related to circular arcs are used. The most prominent arc representation popularized by Webster and Jones (2010)
assumes constant curvature. The intermediate space encompassing an arc representation is called arc space. Note that
this intermediate pace is often called configuration space (Webster and Jones, 2010; Rao et al., 2021) and different
representations exist, see Table 5 and Appendix C.2.
Coordinate singularities can occur that are not a singularity of the robot but rather an artifact of the parameterization of
the representation used. Especially, the curvature-angle and angle-angle representations are prone to have a coordinate
singularity, where a straight configuration causes the curvature to approach zero and the bending radius to approach
infinity, resulting in an indeterminate form in the kinematics formulation. This problem is not limited to kinematics
and affects velocity kinematics (Jones and Walker, 2007), dynamics (Tatlicioglu et al., 2007; Rone and Ben-Tzvi,
2013; Renda et al., 2018), and model-based control (Della Santina et al., 2020), among other things.
1
Continuum Robotics Laboratory, Department of Mathematical & Computational Sciences, University of Toronto, Mississauga,
ON, Canada
2
Faculty of Applied Science, Ukrainian Catholic University, Lviv, 79026, Ukraine
Corresponding author: Reinhard M. Grassmann, e-mail: reinhard.grassmann@utoronto.ca
Clarke Transform – A Fundamental Tool for Continuum Robotics
Table 1: Various improved state representations and their connection to the joint space. All authors use actuation
length li as joint space representation. Notations are adapted to our notation, where the preferred variable name for
the improved state representation has been retained, and the distance between the imagery center-line and actuation
location is denoted by d. Furthermore, a notation indicating the use of piecewise constant curvature is omitted by
dropping an additional index.
Reference Parameterization number of joints actuation type
l3 − l1 l4 − l2
Della Santina et al. (2020) ∆x = and ∆y = 4 pneumatic
2 2
l2 − l3 (l1 + l2 + l3 ) /3 − l1
Allen et al. (2020) u= √ and v = 3 actuation length
3d d
l2 − l4 l3 − l1
Allen et al. (2020) u= and v = 4 actuation length
d d
l2 + l3 − 2l1 l3 − l2
Dian et al. (2022) ∆x = and ∆y = √ 3 cable-driven
3 3
gap in the literature unknown yet n displacement
To overcome the coordinate singularity, several authors propose improved state representations (Qu et al., 2016;
Della Santina et al., 2020; Allen et al., 2020; Cao et al., 2022; Dian et al., 2022) for their respective robot type,
see Table 1. By closer inspection of the kinematic description, one can see that those robot types are described simi-
larly. Allen et al. (2020) make a similar observation, where the joint, e.g., artificial muscles or tendon length, can be
described as actuation length. However, one can argue that relative displacement should be preferred over absolute
actuation length, see Appendix C.1. Therefore, a large class of soft robots and continuum robots can be classified as
displacement-actuated robots, where the actuation occurs symmetrically and equidistantly w.r.t. an imaginary center-
line, see Figure 1 for visual aid. For those types of spatial robots with a single segment, the workspace is a 2 dof dome
in task space regardless of the number of displacement joints actuating the segment, see Appendix A.1 for an intuitive
example. That the underlying problem is 2 dof is also reflected in the dimensionality of arc parameters and improved
state representations hinting at a 2 dof manifold embedded in the joint space.
Figure 1: Schematics of a displacement-actuated robot with sufficient smooth center-line with fixed length l. Each of
the displacement-actuated joints is equally distributed, described by di and ψi . Its value is described by a displacement
ρi .
2
Clarke Transform – A Fundamental Tool for Continuum Robotics
In this article, we examine the commonly used displacement-joint constraint, i.e., the sum of all displacements should
be zero,
Xn
ρi = 0, (1)
i=1
and build on our intuition (see Appendix A) to derive the Clarke transform and Clarke coordinates. For that, we propose
a displacement representation and identify the 2 dof manifold by utilizing a generalized Clarke transformation matrix.
To illustrate the practicability, application to kinematic modelling, sampling, and joint space control are presented.
While we assume constant curvature for some applications, the Clarke transform and Clarke coordinates are not
limited to this assumption. In particular, the contribution of this article includes:
• Development and proposal of the Clarke transform to map between the n dof joint space and the 2 dof mani-
fold (Sec. 2)
• Introduction of displacement representation and Clarke coordinates that unify and generalize improved state
representations (Sec. 2)
• Identification of 2 dof manifold embedded in the joint space (Sec. 2)
• Formulation of compact and closed-form expressions to the robot-dependent mappings that extend known
solutions to an arbitrary number of joints (Sec. 4)
• Presentation of a generalized, linear, compact, and closed-form solutions to the kinematics (Sec. 4), sampling
(Sec. 5), and joint control (Sec. 6)
• Explanation of geometric insights on the displacement constraint and coordinate singularities
2 Clarke Transform
This section starts by introducing a novel representation of displacement-actuated joints. Afterwards, we introduce the
generalized Clarke transformation matrix w.r.t. number of displacement n ≥ 3 and apply it to map between joint space
and 2 dof manifold. The generalized Clarke transformation matrix is the base for the Clarke transform and Clarke
coordinates, which are introduced at the end of this section. Note that, in prior work (Grassmann and Burgner-Kahrs,
2024), we briefly introduced the concept of the Clarke transform and its potential application to continuum robotics.
Before defining a set for the 2 dof manifold embedded in the n dof joint space for n displacements, we make the
following observation. For n equally distributed displacement-actuated joints, the angle and radius
2π
ψi = (i − 1) and di = d, (2)
n
respectively, describe the location of the ith joint in the cross-section in terms of polar coordinates, see Figure 1. Using
the angle in (2), we can find the following trigonometric sums
X n
sin (ψi ) = 0 and (3)
i=1
n
X
cos (ψi ) = 0. (4)
i=1
Since each of the sums is zero, the linear combination of both sums is zero as well. This implies the coefficients of
this combination, denoted as ρRe and ρIm , act as free parameters. This leads to our preliminary check given by
Xn n
X
ρRe cos (ψi ) + ρIm sin (ψi ) = 0. (5)
i=1 i=1
3
Clarke Transform – A Fundamental Tool for Continuum Robotics
Based on this observation, we define a representation for displacement-actuated joints in its rectangular form given by
Note that (6) is a linear combination of trigonometric functions. Using harmonic addition, sine and cosine functions
can be linearly combined. In general, the result is a shifted cosine function with scaled amplitude, i.e.,
respectively. The right-hand side of (7) is the rectangular form and can be obtained by expanding the left-hand side of
(7) called the polar form. Using a scaled trigonometric addition formula, i.e., Di cos(ψi − θ) = Di cos(ψi ) cos(θ) +
Di sin(ψi ) sin(θ), the rectangular coordinates
Q = (ρ1 , · · · , ρn ) ∈ Rn ∀i ∈ [1, n] ⊂ N :
where ρi is defined for i = {1, . . . , n} as well as ρRe ∈ R and ρIm ∈ R. The local coordinates of the manifold are ρRe
and ρIm .
The Clarke transformation matrix reduces three electric current values to two values, whereas the third value is zero.
The corresponding matrix is given here in its generic form,
1 1
1 − −
2 2
√ √
M Clarke = k0 3 3 , (12)
0 −
2 2
k1 k1 k1
where k0 and k1 are free parameters. Two main variances of (12) p are usually considered:
√ power-invariant and
amplitude-invariant forms. The former has parameters set to k0 = 2/3 and k1 = 2/2. The latter is also called
the standard form with k0 = 2/3 and k1 = 1/2. The inverse Clarke transformation allows the recovery of the original
three values without information loss. Note that (12) is sometimes given as its inverse for a given set of parameters,
e.g., (Willems, 1969; Eboule et al., 2019).
4
Clarke Transform – A Fundamental Tool for Continuum Robotics
Looking at the reduced form of (12), i.e., omitting the last row, we find the pattern for n = 3 in (2). Ne-
glecting the coefficient k0 in (12) for now, the first row is [cos (ψ1 ) , cos (ψ2 ) , cos (ψ3 )] and the second row is
[sin (ψ1 ) , sin (ψ2 ) , sin (ψ3 )]. By following the pattern, we can generalize Clarke transformation matrix w.r.t. the
number of variables to be transformed, i.e., n. By multiplying the representation (6) with a potential generalized
Clarke transformation matrix with the pattern described above, sums of squared and mixed trigonometric functions
occur, i.e., sin2 (ψi ), cos2 (ψi ), and sin (ψi ) cos (ψi ).
To deal with the three different sums of trigonometric functions, we establish three identities. The first identity is
n
X
sin (ψi ) cos (ψi ) = 0, (13)
i=1
Proof. Rewrite (13) by using the double-angle formula, i.e., sin (2ψi ) = 2 sin (ψi ) cos (ψi ). Afterward, identify (3).
Note that α for Lagrange’s trigonometric identity needs to be constant w.r.t. the variable of summation. For the proof
of (5), α = 2π/n, and, for this proof, α = 4π/n.
While the previous encounter identities are zero, see (3), (4), and (13), a sum of squared trigonometric functions is not
zero. This is shown by the identities given by
n
X n
sin2 (ψi ) = and (14)
i=1
2
n
X n
cos2 (ψi ) = . (15)
i=1
2
Proof. By using double-angle formulae for cosine, i.e., cos (2ψi ) = 1 − 2 sin2 (ψi ) = 2 cos2 (ψi ) − 1, the identities
(14) and (15) can be decomposed into (4) and a sum of a constant, i.e., 1/2. Consequently, both sums evaluate to
n/2.
Once we have recognized a pattern and presented the identities, we take the idea of using M Clarke , see Sec. 2.2, and
define
ρRe ⊤
= M P [ρ1 ρ2 · · · ρn−1 ρn ] (16)
ρIm
with M P defined as
n−1
1
cos (0) cos 2π ··· cos 2π
2 n n
MP = , (17)
n−1
n 1
sin (0) sin 2π ··· sin 2π
n n
which is a generalized Clarke transformation matrix. The generalized Clarke transformation matrix (17) relates the n
displacements defined by (6) to the two variables, i.e., ρRe and ρIm of (11).
Proof. Expanding the right-hand side of (16) gives a term with mixed trigonometric functions and squared trigonomet-
ric functions. While the mixed trigonometric functions sum up to zero, see (13), the squared terms result in a constant
value, i.e., (15) for the first row and (14) for the second row. Considering the scaling factor 2/n of (17) chosen to
compensate for (14) and (15), the right-hand side equals the left-hand side of (16).
⊤
p p
Note that, by using (6), (13), (14), and (15), the magnitude of [ρ1 , ρ2 , · · · , ρn−1 , ρn ] is n/2 ρ2Re + ρ2Im . Hence,
⊤
p
this representation scales with its length. On the contrary, [ρRe , ρIm ] has a feature that its magnitude, i.e., ρ2Re + ρ2Im ,
does not change w.r.t. n. Therefore, (16) is amplitude invariant.
5
Clarke Transform – A Fundamental Tool for Continuum Robotics
The generalized Clarke transformation matrix (17) is the extension of (12), where the scaling factor k0 is 2/n, and
the last rows are omitted. Note that each omitted row leads to a zero-sequence component meaning that the value is
always zero. To gain more intuition and as a sanity check, we confirm (17) for common choices of n, i.e., n = {3, 4}.
As expected, for n = 3,
1 1
1 − −
2 2 2
M P (n = 3) = √ √
3 3 3
0 −
2 2
is the simplified matrix of (12), where the last row is removed and k0 = 2/3. It is the amplitude-invariant form.
Furthermore, M −1P (n = 3) results in the known inverse transformation matrix, cf. (O’Rourke et al., 2019).
For a n = 4 configuration with two pairs of differential actuation, the transformation matrix
1 1 0 −1 0
M P (n = 4) =
2 0 1 0 −1
shows a familiar pattern. The result of the transformation leads to ρRe = (ρ1 − ρ3 ) /2 and ρIm = (ρ2 − ρ4 ) /2. Both
constraints for n = 4, see Appendix A.1, i.e., ρ1 + ρ3 = 0 and ρ2 + ρ4 = 0, reveals that ρRe and ρIm correspond to
a different bending plane. This indicates that ρRe directly relates the curvature, i.e., κx for a common convention, of
a plane that is spanned by the base frame’s x-axis and z-axis. Similarly, ρIm directly relates to κy . Furthermore, the
relation indicates that ρRe and ρIm are orthogonal to each other.
After having defined the generalized Clarke transformation matrix (17) and its inverse (19), let us now introduce the
Clarke transform. As mentioned before, (17) can be used to map the joint space quantities ρi of a displacement-
actuated robot onto the manifold. The Clarke transform describes this process, where the forward transform converts
quantities from the joint space Q to quantities in the manifold, and the inverse transform reverts quantities in the
manifold to joint space quantities. In this context, the term Clarke transform refers to an operation.
The local coordinates of the 2 dof manifold embedded in the n dof joint space for n actuator displacements ρi that can
be combined as vector, i.e.,
⊤
ρ = [ρ1 ρ2 ··· ρn−1 ρn ] ∈ Q ⊂ R n , (20)
are the two free parameters of ρi , i.e., ρRe and ρIm . The free parameters can be combined into a vector, i.e.,
⊤
ρ = [ρRe , ρIm ] ∈ R2 . (21)
6
Clarke Transform – A Fundamental Tool for Continuum Robotics
Figure 2: Commutative
P diagram-like overview. To circumvent the explicit consideration of the displacement con-
straint, i.e., ρi = 0, approaches and methods should be considered on the 2 dof manifold embedded in the n dof
joint space. For the transform, linear maps M P and M −1 ∗ ∗
P are used and any output denoted by (ρRe , ρIm ) can subse-
quently mapped back leading to ρ∗ .
Here we state properties and relations, which might be useful when working with the M P and M −1
P . Notes on their
geometric interpretation and application are provided if appropriate.
From linear algebra, we can deduce a linear property, i.e.,
n
X n
X n
X
MP ρi = M P ρi = ρi and (22)
i=1 i=1 i=1
Xn Xn Xn
M −1
P ρi = M −1
P ρi = ρi , (23)
i=1 i=1 i=1
and that M −1
P is the right-inverse of M P , i.e.,
M P M −1
P = I 2×2 , (24)
whereas M −1
P MP ̸= I n×n . In fact, using the trigonometric identities and the index notation, this expression evalu-
ates to
i−j
2
M −1
P MP = cos 2π ∈ Rn×n , (25)
n n i,j
which is a symmetric circulant matrix being a special Toeplitz matrix. For an engineer-friendly introduction to this
topic, we kindly refer to a review by Gray (2006).
A Toeplitz matrix like (25) has two notable properties. First,
k
M −1
P MP = M −1P MP for k > 0 (26)
shows that (25) is an idempotent matrix.
2
Proof. It is sufficient to show that M −1
P MP = M −1P M P . This simple case can be shown by squaring (25) and
applying trigonometric identities to simplify the expression.
7
Clarke Transform – A Fundamental Tool for Continuum Robotics
Proof. This is evident by adapting the inverse of a nonsymmetric trigonometric Toeplitz matrix presented by Dow
(2002) to (26). The inverse is singular if the nonsymmetric trigonometric Toeplitz matrix (Dow, 2002) is symmetric,
indicated by a zero division of the common factor. The common factor is linear to the determinant of the matrix.
Therefore, its determinant is zero. Moreover, it is known that the only non-singular idempotent matrix is the identity
matrix, which is not the case because M −1P is the right-inverse, see (24).
Proof. Given (17) and (19), the relation can be written down by inspection.
Now, different vectors are evaluated when transformed by M P or M −1 P . First, we can select a mode by
cos (ψk ) cos (2π (k − 1) /n)
M P 1n×1 =
(k)
= , (29)
sin (ψk ) sin (2π (k − 1) /n)
where 1n×1 is a one-hot vector defined by the k th element to be one, whereas all other elements are zero. Figure 3
(k)
Proof. By applying (29) for all entries, the left-hand side of (30) results in (4) and (3), respectively. Hence, the
right-hand side of (30) is a zero vector.
Third, a unit circle can be described on the manifold by parametrizing ρ using α ∈ [0, 2π). Its Clarke transform is
cos (ψ1 − α)
cos (ψ2 − α)
cos (α)
M −1
P = .. . (31)
sin (α) .
cos (ψn − α)
Note that the relations (29), (30), and (31) are not invertible due to (25) and (27).
The property (31) provides geometric insights. Assume infinite many displacement-actuated joints such that ψi be-
comes ψ ∈ [0, 2π). One of the differences ψ − α evaluates to zero, and another evaluates to π. Therefore, the
right-hand side of (31) has one value that evaluates to one, and another that evaluates to minus one being the maxi-
mum and minimum, respectively. Figure 3 provides visual aid.
Furthermore, (31) underlines the intuition we gained from M P (n = 4). For this, α = 0 aligns with first actuation
location, i.e., ψ1 = 0, and ρ1 = 1 is maximum of ρ. Therefore, ρRe aligns with the x-axis of the base frame. A similar
argument can be made for ρIm that aligns with the y-axis of the base frame.
For simplification purposes, the following relations are evident, yet useful. Each of the Clarke coordinates can be
extracted from (16) using a selection matrix, i.e.,
ρRe = [1 0] M P ρ and ρIm = [0 1] M P ρ (32)
Furthermore, the sum of squares is the dot product given by
ρ2Re + ρ2Im = ρ⊤ ρ = ρ⊤ M ⊤
P M P ρ. (33)
By using (18), the sum of squares results in
2 ⊤
ρ⊤ ρ = ρ ρ. (34)
n
8
Clarke Transform – A Fundamental Tool for Continuum Robotics
Figure 3: Visual aid for property (29) and (31). Regarding the property (29) illustrated in the sequence (a) to (c),
a one-hot vector 1n×1 amplifies after mapping back from the manifold to the displacement. Its magnitude remains
(k)
the same, whereas all other displacements are either equal or smaller than a previous one-hot vector. Regarding
the property (31) illustrated in (b) and (c), the ρ in (31) parameterized by α describes a circle. Tracing the tip of
p possible displacement parameterized by ψ ∈ [0, 2π) creates an ellipse. Its semi-major and semi-minor axes are
all
d2 + ρ2Re + ρ2Im and d length, respectively. The maximum displacement achievable coincides with the angle α,
hinting at its geometric interpretation.
One approach to explore the physical meaning of ρRe and ρIm is to relate the displacement formulation (6) to known
representations in the literature. Instead of displacement ρi , in the literature, e.g., (Webster and Jones, 2010; Rao et al.,
2021), the absolute length li is frequently used. Using our notation, one can state
l = li + ϕd cos (ψi − θ) , (35)
where l is the length in the straight configuration, which is equal to the segment length. Note that θ and ϕ are one
set of arc parameters, see Appendix C.2. Recap, ψi and di = d describe the ith location (2). To reformulate (35) as
displacement, the well-known fact that ρi = l − li and ϕ = lκ are used leading to
ρi = dlκ cos (ψi − θ) . (36)
A key approach is again the use of the harmonic addition (7). With that, we can identify the structure of displacement
in the rectangular form (6) and write
ρi = dlκ cos(ψi ) cos(θ) + dlκ sin(ψi ) sin(θ).
By comparing the above equation to (6) or identifying (9), the physical meaning is revealed, assuming constant curva-
ture. As a consequence, Clarke coordinates can be described by
ρRe = dlκ cos (θ) and ρIm = dlκ sin (θ) . (37)
Thus ρRe and ρIm in (37) are related to another representation of the arc space, see Appendix C.2. This representation
of the arc space is given by arc parameters
κx = κ cos(θ) and κy = κ sin(θ) (38)
combining the arc parameters κ and θ in a non-linear way.
To further gain insights into the physical meaning, we utilize the relationship to harmonic addition (7). By exploiting
(8) or directly comparing (36) and polar form (10), the equations
q
ρ2Re + ρ2Im = dlκ and arctan2 (ρIm , ρRe ) = θ (39)
can be found, where dϕ can be used instead of dlκ. By finding (37) and (38), the relation to the arc space is established.
Due to the fact that arc parameters relate to the constant curvature assumption (Webster and Jones, 2010), the Clarke
9
Clarke Transform – A Fundamental Tool for Continuum Robotics
Figure 4: Physical interpretation of the Clarke coordinates. The magenta line lies within the bending
p plane. The length
difference to the arc length is the virtual displacement. The virtual displacement is equal to ρ2Re + ρ2Im = dlκ = dϕ.
The yellow arrows lie within the respective projected plane corresponding to the xz-plane and yz-plane of the base.
Similar to the curvature components κx and κy , the virtual displacement can be projected onto the respective plane,
resulting in the respective projected virtual displacement.
p
coordinates can be interpreted geometrically. Furthermore, ρ2Re + ρ2Im stated in (39) is equivalent to virtual tendon
length introduced by Firdaus and Vadali (2023). The virtual tendon is conceptional a displacement, which lies in the
bending plane rotated by θ and is equal to the maximum displacement dlκ = dϕ. Therefore, ρRe and ρIm are the
projection of dlκ onto the xz-plane and yz-plane, respectively, cf. (38). Figure 4 illustrated this. The scaling of radius
d is relevant, which leads to dx = d cos (θ) and dy = d sin (θ).
The virtual displacement is the maximum displacement coincided with the bending plane and results in
q
ρ2Re + ρ2Im = lκ · d = ϕ · d, (40)
4 Application to Kinematics
In this section, we utilize the geometric insights from the previous section and derive the closed-form kinematics
for constant curvature robots with one segment. For constant curvature kinematics(Webster and Jones, 2010), the
robot-independent mapping find relates arc space to task space as summarized in Appendix B. Given find , solutions
−1
for the inverse robot-independent mapping find are listed in Table 2 for common arc space representations. We derive
generalised versions of the inverse and forward robot-dependent mappings using the Clarke transform in the following,
i.e., mapping between the joint space and the arc space. Afterwards, the mappings are combined to derive the forward
and inverse kinematics. This section ends with a brief discussion on singularities.
10
Clarke Transform – A Fundamental Tool for Continuum Robotics
n displacements. Furthermore, directly inverting n non-linear functions to obtain the arc parameters is not straight-
forward and may not even be possible. So far, the forward robot-dependent mapping fdep for an arbitrary number n
remains unknown.
11
Clarke Transform – A Fundamental Tool for Continuum Robotics
Figure 5: Spaces and their mappings. To map between the actuator, e.g., motor angles to joint values, e.g., tendon
−1
displacements, fdyn and fdyn are used. Note that it is crucial to treat actuation space and joint space as different spaces
as fdyn is not necessarily a linear map. The robot-dependent mapping is denoted by fdep , whereas robot-independent
mapping is denoted by find . Given both mappings, the forward and inverse kinematics can be found using find ◦ fdep
−1 −1
and fdep ◦ find , respectively.
2dl −1
h i⊤ h i⊤ −dlr31 −1 h i⊤
ρ M P px py d arctan2 (−r31 , r33 ) M −1
P r22 r12 M P r22 r12
p2x + p2y + p2z pz
Tip Position Expressing (37) using (38) as well as κx and κy stated for E(3) in Table 2 leads to two equations. Both
equations differ by px and py , respectively. The combination
2dl −1 px
ρ= 2 M (52)
px + p2y + p2z P py
12
Clarke Transform – A Fundamental Tool for Continuum Robotics
Tip Orientation Starting with (37) with (38), we can use κx and κy stated for SO(3) in Table 2 and (18) to find
−1 r22
ρ = d arctan2 (−r31 , r33 ) M P , (53)
r12
where the l cancels out. Note that the tip orientation alone cannot be used to find the arc length l, see Appendix B.
Tip Pose By inserting κx and κy stated for SE(3) in Table 2 into (37) with (38), and, afterwards, utilizing (18),
−dlr31 −1 r22
ρ= MP (54)
pz r12
can be derived. Note that both lines differ by r22 and r21 , respectively.
It is well-known that the mathematical formulation of find using the curvature-angle representation can become singu-
lar. In the classic formulation (Webster and Jones, 2010) of find stated in Appendix B, the expressions
(1 − cos(κl)) /κ and sin(κl)/κ (55)
are troublesome and will lead to an indeterminate form as κ approaches zero. Although not often mentioned, ad-hoc
solutions do exist due to their limits being well-defined, i.e.,
1 − cos(κl) sin(κl)
lim = 0 and lim = l. (56)
κ→±0 κ κ→±0 κ
One might simply replace (55) at κ = 0 with (56), which is used to derive (77).
Using a threshold ϵ > 0 instead, one might switch to their truncated expansions before (55) becomes undefined. For
this, the Taylor series of (55) can be used, which are
sin(κl) l3 κ2 l5 κ4 l7 κ6
=l− + − + ··· and
κ 3! 5! 7!
1 − cos(κl) l2 κ l4 κ3 l6 κ5
= − + + ··· ,
κ 2! 4! 6!
respectively. This is a known approach, e.g., (Rolf and Steil, 2012), and relies on branching for the switching between
(56) and the truncated Taylor series. The truncation depends on the validity of the neighborhood of that threshold ϵ.
In contrast, the forward kinematics find ◦ fdep can circumvent the coordinate singularity of (55). However, the normal-
ization of actuation displacement ρ is used and can cause numerical issues if it approaches zero. Therefore, to avoid
division by zero in (47), (50), and (51), we can reformulate them by adding a sufficient small ϵ > 0, i.e.,
p p
ρ⊤ ρ ←− ρ⊤ ρ + ϵ. (57)
This approach avoids the use of branching, which, if at all, is normally used for curvature-curvature representation.
Assuming ϵ2 ≈ 0, the introduced error is linear w.r.t. ϵ. Furthermore, (57) is easy to implement. As an alternative
to avoid singularities, the FAST I NVERSE S QUARE ROOT algorithm or other algorithms, performing a division and a
root using only multiplication, can be used for (50), (51), and (47).
In this section, we demonstrate the benefits of the Clarke transformations over existing representations in joint space
sampling. We evaluate two common rejection sampling methods (referred to as (a) and (b) below) against those based
on M −1P (referred to as (c) and (e) below), focusing on three joints uniformly distributed with radius d = 1 mm. The
Monte Carlo method is utilized to analyze the distribution of ρi in the range [ρmin , ρmax ] = [−dπ, dπ] and to quantify
computational load.
13
Clarke Transform – A Fundamental Tool for Continuum Robotics
Table 4: Computational load regarding wall-clock time and number of iterations for different sampling methods.
Each method is run five times, generating 1000 samples. The mean value and standard deviation are reported for the
wall-clock time and number of iterations. The stated factor is the normalized wall-clock time w.r.t. the direct sampling
method. The number of iterations is the number of samples in a while loop.
method vectorized M −1
P time in ms factor iteration resample success rate in %
(a) ✗ ✗ 258.9 ± 17.2 172.6 827 440.2 ± 60 183.2 826 440 0.0012
(b) ✗ ✗ 1.9 ± 1.6 1.3 1344.0 ± 11.8 1244 0.744
(c) ✗ ✓ 1.5 ± 0.8 1 1000 0 100
(d) ✗ ✓ 1.4 ± 0.7 0.9 1000 0 100
(e) ✗ ✓ 1.4 ± 0.7 0.9 1000 0 100
One of two rejection sampling methods is used to sample the k th sample. To avoid directly comparing float numbers,
we round random values to two decimal places, setting ϵ = 0.01 mm.
(a) For the first rejection sampling method, all joint values for the k th sample are sampled independently, i.e.,
(k)
ρi = ρmin + (ρmax − ρmin ) U [0; 1] (58)
for i ∈ {1, 2, 3}, where U [0; 1] is the uniform distribution. The sample is then tested against the displacement
constraint (1) and resampled if it fails to meet the criterion.
(b) The second rejection sampling method utilizes (1) to compute ρ1 , i.e., ρ1 = −ρ2 − ρ3 . For ρ2 and ρ3 , (58) is used.
This method can be expressed as
(k)
ρ1 "
−1 −1
#
(k) ρmin + (ρmax − ρmin ) U [0; 1]
ρ2 = 1 0 . (59)
ρmin + (ρmax − ρmin ) U [0; 1]
(k) 0 1
ρ3
A sample generated by (59) might be resampled, since ρ1 does not necessary comply with given boundaries, i.e., ρmin
and ρmax . Therefore, vectorization of (59) has no computational advantage.
Note that permutation of the rows in (59) yields the other two possible sampling methods utilizing (1). However,
distributions and computational load are similar and, therefore, not further considered.
Using M −1
P (n = 3), joint space samples can be generated that fulfill the displacement constraint (1). To compute
(k)
ρ1 1 0 " (k) #
(k) √ ρRe,U
ρ2 = −1/2 3/2 (k) , (60)
√ ρIm,U
(k)
ρ3 −1/2 − 3/2
(k) (k)
three sampling methods for ρRe,U and ρIm,U are used.
We exploit the polar form of ρRe and ρIm (10). Therefore, we can sample the angle
θU = 2π U [0; 1] (61)
and amplitude LU independently of each other. We obtain
" (k) #
ρRe,U LU cos (θU )
(k) = . (62)
ρ LU sin (θU )
Im,U
14
Clarke Transform – A Fundamental Tool for Continuum Robotics
Since (60) with (62) always generated a valid k th sample, the direct sampling method can be vectorized by stacking
all sampled values into one matrix. In this case, (60) extends to
(1) (k)
ρ1 · · · ρ1 " (1) (k)
#
. .. .. −1 ρRe,U · · · ρRe,U
.
. . . = MP (63)
(1) (k)
ρIm,U · · · ρIm,U
(1) (k)
ρn · · · ρn
for k samples. In the following, we present three sub-types of direct sampling (referred to as (c) - (e) below), each
differing in how LU is sampled.
(c) The first method is straightforward and generates random values along a line:
This approach works well for line sampling, but when applied to sampling on a disk (62), it results in points that are
more concentrated towards the center of the disk (Weisstein, 2011; Grassmann et al., 2024a).
(d) To avoid this concentration effect, we employ a modified sampling method:
p
LU = ρmax U [0; 1]. (65)
This adjustment ensures that points are uniformly distributed across the entire area of a disk with radiusρmax .
(e) However, when considering joint limits, (62) actually generates points over an annulus, not a full disk. This
motivates a third method, which directly samples random points within the annulus:
q
LU = (ρ2min + (ρ2max − ρ2min ) U [0; 1]). (66)
Here, the inner and outer radii of the annulus are ρmin and ρmax , respectively, with the condition ρmax > ρmin > 0. This
method ensures uniform sampling over the entire annular region.
To aggregate the values listed in Table 4 and the distributions shown Figure 6, a sample population of 5000 samples
is collected by running each method five times for 1000 samples. While a cloud-based M ATLAB service is used to
generate the data, the relative increase of wall-clock time and number of iterations is relevant for an implementation-
independent comparison.
Naı̈ve sampling methods (a) and (b) employ branching and resampling, leading to increased wall-clock time compared
to direct methods. The comparison of floating-point numbers introduces a dependency on the threshold ϵ, i.e., a smaller
ϵ results in more iterations, directly impacting wall-clock time. Although this is an obvious fact, it is still worth
mentioning, as the value of ϵ greatly influences resampling. According to Table 4, the average resampling counts are
826.440 for (a) and 344 for (b), triggered by violations of (1) or ρi boundaries. This leads to low success rates for
methods (a) and (b) being approximately 0.0012 and 0.74, respectively.
Conversely, sampling on the 2 dof manifold with M −1 P eliminates branching, yielding four key benefits: (i) a 100 %
success rate due to inherent consideration of the displacement constraint (1); (ii) faster execution through 2n multipli-
cations for two random variables, unlike for n random variables in methods (a) and (b); (iii) vectorizability, allowing
all samples to be computed simultaneously, a feature unachievable with (a) and (b); and (iv) the flexibility to alter the
distribution shape, as demonstrated in examples (c)-(e) for different functions that generate the distribution.
6 Application to Control
In this section, we address the control of n joints operating under constraint (1). For physical continuum robots,
controlling joint space displacement is essential. By applying the proposed Clarke transform, we can synthesize a
controller on a 2 dof manifold, reducing the need for n separate PID controllers. This simplifies the control scheme,
bypasses displacement constraints, and improves coordination of control outputs through branching. Additionally,
it facilitates stability and convergence proofs and opens up possibilities for alternative control approaches. Figure 7
illustrates the choice of implementation, where a TDCR is chosen as an exemplary continuum robot.
15
Clarke Transform – A Fundamental Tool for Continuum Robotics
Figure 6: Distributions for different sampling methods. The columns refer to the respective sampled displacements
ρi , whereas the row refers to the used sampling method. The rejection sampling methods (a) and (b) are described
in Sec. 5.1. The direct sampling methods using MP are described in Sec. 5.2, where MP (normal), MP (sqrt), and
MP (annulus) refer to direct sampling (c), (d), and (e), respectively. Table 4 presents further details.
Figure 7: For a TDCR with n tendons, controlling all n tendons in joint space can lead to a non-linear controller with at
least n dof, which must account for displacement constraint (1). The proposed Clarke transform simplifies the problem
to a 2 dof manifold within the n dof joint space, e.g., allowing for a simpler P controller with pre-compensation.
The main idea of the control scheme is to map the control problem into the manifold by using the Clark transform,
which reduces the number of variables from n to two. We implement a slightly more advanced controller than a PID
controller – a proportional feedback control with precompensation as used by Morin and Samson (2008). Figure 8
depicts the control scheme.
16
Clarke Transform – A Fundamental Tool for Continuum Robotics
Figure 8: Displacement-control of n joints using Clarke transform. Both proportional feedback controllers with
precompensation are sandwiched by M P and M −1P .
6.2 Evaluation
To make the evaluation more concrete, we consider a TDCR, where a displacement is a tendon displacement and (2)
represents the ith tendon hole location. In particular, a TDCR with one type-0 segment, i.e., it has a single segment
with fixed length (Grassmann et al., 2022), and n = 5 tendons are considered. The segment length is l = 0.1 m, and
the distance from the backbone to the tendon hole is set to di = d = 0.01 m for all spacer disks and tendons.
The control frequency is set to 1 kHz resulting in a sampling time of 1 ms, whereas the control gains are K p = 125.
Each actuator is modelled as an independent first-order proportional delay element (PT1 ) system, where its time
constant is set to two hundred and fifty times the sampling time. Measurement noise is imposed to ρm modelled as
additive noise drawn from a uniform distributions, i.e.,
ρm ← ρm + U n [−ϵ, ϵ] , (68)
where ϵ is set to 2.5 mm. The measurement noise in (68) imitates unmodelled phenomena such as slack, sensor noise
of the encoder, or uncertainties in the actuation units.
Using the sampling method described in Sec. 5, five random sets of displacement vectors are generated, i.e., one start
point, one goal point, and three via points. Afterwards, samples are Clarke transformed via (63) using M −1
P for n = 5.
For this, we set θmax = 2π and ρmax = dπ. Note that ρmax = dπ results in a segment forming a half-circle, where the
maximal displacement is dπ, cf. (Grassmann, 2023).
17
Clarke Transform – A Fundamental Tool for Continuum Robotics
displacement ρi in m
displacement ρi in m
0.01 0.01 0.01
Figure 9: Displacement-control using pre-compensation for n = 5 displacements. (left) Desired path versus open-
loop behavior of the noise-free PT1 system. (middle) Desired path versus measure displacement with noise. Due to
the high frequency, the measurement noise appears to be a band. (right) Desired path versus closed-loop behavior. As
can be seen, the controller can follow the desired path despite the relatively high noise and system delay.
We adapted our smooth trajectory generator (Grassmann and Burgner-Kahrs, 2019) to n displacements and set the
kinematic constraints to vij = 0.01π m/s, aji = 0.1π m/s2 , and dji = 0.1π m/s2 for all i and j. The generated paths
are used as desired displacement ρd for the control scheme.
Figure 9 shows the open-loop behavior with and without the noise in ρm and the closed-loop behavior. As can be seen,
the controller output follows desired ρd despite the relatively high delay of the system and noise of ρm .
We look into the error contribution imposed by (68). Consider a noisy measurement ρm defined by some additive bias
µ and additive zero-mean random distortions σk for k th displacement. This noisy measurement is then described by
n
σk 1n×1 ,
(k)
X
ρm = ρ + µ1n×1 +
k=1
where µ1 is an offset, σk 1k1×n an error contribution of the k th joint, and, for the ideal case, ρ is equal to ρd . Using the
properties (30) and (29), the bias µ vanished under the Clarke transform and the transformed ρm results in
n
X cos (ψk )
M P ρm = ρ + σk ,
sin (ψk )
k=1
n
where ρ = M P ρ. Note that ρm ∈ R but ρm ∈
/ Q.
Consider the next time step, where the above expression is transformed back to the joint space. After applying (18),
the sharp 1n×1 is now spread out to all other displacements, see property (31). Furthermore, the peak at the k th entry
(k)
has the same value, before, i.e., σk 1kn×1 , and after, i.e., σk M −1 P 1n×1 , the transformation, recall Figure 3 for
P Mp
k
visual aid. As a consequence, the magnitude of error is amplified by n/2. We can derived
⊤ nσ 2
P M P σk 1n×1 1
(k) (k)
M −1 M −1
P M P σ k n×1 =
k
, (69)
2
where, in this order, (28), (24), (29), and a trigonometric identity are used to show this. In contrast,
⊤
σk 1n×1 σk 1n×1 = σk2 11×n 1n×1 = σk2 . Note that, due to property (26), the peak is not further amplified over the
(k) (k) (k) (k)
−1
time, i.e., by repeated multiplication with M P M P . Furthermore, note that M −1
P M P ρm ∈ Q but ρm ∈
/ Q. This
analysis shows that one faulty joint can have ripple effects on the other joint.
7 Discussion
We derived a generalized Clarke transformation matrix for arbitrary n, extending existing methods such as Janaszek
(2016), Willems (1969), and Rockhill and Lipo (2015). This transformation is amplitude-invariant, which enables
18
Clarke Transform – A Fundamental Tool for Continuum Robotics
direct comparison between the magnitude of the Clarke coordinates and the bending achieved, regardless of the number
of actuators.
Our work is based on the displacement constraint (1) which entangles the displacements of all joints in continuum
robots. Using the Clarke transform, we reduce this complex joint space to a 2 dof manifold, thereby disentangling the
displacements. The Clarke coordinates have a clear physical interpretation, as they correspond to the curvature and
bending parameters commonly used in arc parameter based models for continuum robots. By linking the Clarke co-
ordinates to these arc parameters, we create a unified framework that can incorporate conventional arc representations
and provide a solution to the previously unknown forward robot-dependent mapping for arbitrary n.
The use of the Clarke transform enables a closed-form solution for continuum robot kinematics. The single-segment
solution enables solutions of the multi-segment problem if the position p of each segment is known (Neppalli et al.,
2009). For this case, the solution presented in Sec. 4 can be used to derive a closed-form solution for a multi-segment
robot. This closed-form solution eliminates branching and provides a computationally efficient framework, even for
robots with multiple segments. The ability to compute kinematics in a straightforward, non-iterative manner opens
possibilities for real-time applications and facilitates further advancements in multi-segment robot control.
Instead of dealing with n dof systems, the Clarke transform isolates two key variables, significantly simplifying the
system and streamlining the control process. For instance, for tendon-driven continuum robots, the Clarke transform
simplifies the handling of actuation displacement constraints, ensuring smooth control without the need for complex
coordination between tendons. This is especially useful for robots with fully constrained tendon paths, where the
displacement constraints must be rigorously satisfied. The transform ensures that the system remains stable and has
the potential to avoid issues such as tendon slack or overextension.
Various state parameterizations, such as those introduced by Dian et al. (2022) and Della Santina et al. (2020), can
be unified through the Clarke transform. By generalizing these methods for n ≥ 3 displacements, the Clarke trans-
form provides a consistent approach that applies across different types of continuum robots, including tendon-driven,
pneumatic, and soft robots. This unification reduces the need for specialized solutions and enables easier transfer of
knowledge across different robot morphologies and control systems.
The Clarke transform is not limited to continuum robots; its principles apply to a range of robotic systems and mathe-
matical frameworks. By facilitating knowledge transfer between fields such as soft robotics, cable-driven robots, and
continuum robots, the Clarke transform promotes interdisciplinary collaboration. This flexibility makes it a valuable
tool for researchers working across different domains, allowing for a more holistic approach to robotic control, design,
and modeling.
8 Future Work
Building upon the generalized Clarke transformation matrix for arbitrary n, the potential benefits of utilizing a larger
number of displacement-actuated joints per continuum robot segment are considered. Increasing n significantly (i.e.,
n ≫ 3) offers several advantages: (i) enhanced manipulability, particularly between bending directions that coincide
with joint locations (2) and backbone positions; (ii) improved force absorption and delivery due to distributed nature
of the actuation forces; and (iii) increased safety through actuation redundancy. These advantages are particularly
desirable in medical applications (Burgner-Kahrs et al., 2015; Dupont et al., 2022) and industrial settings (Dong et al.,
2019; Russo et al., 2023). Therefore, exploiting a higher number of displacement-actuated joints per segment could be
highly beneficial. It is hypothesized that this approach may lead to increased load capacity, better shape conformation,
enhanced stability, and variable stiffness.
For multi-segment continuum robots with displacement-actuated joints independent of segment sequence (e.g., pneu-
matically actuated soft robot arms), a diagonal block matrix with M P suffices. Similarly, TDCRs with multiple
segments using identical tendons and pre-compensated displacements can be simplified. However, in most TDCR
designs, distal tendon displacements affect proximal segments and must be compensated by subtracting distal from
proximal displacements. Leveraging the linearity of the forward mapping (16) and insights from Figure 4, segment-
wise Clarke coordinates can be utilized. This leads to an upper triangular block matrix with M P as non-zero entries
and negative off-diagonal elements. This formulation adapts to current and future methods to multi-segment robots, al-
lows for varying joint numbers per segment (enabling reinforced proximal segments), and benefits piece-wise constant
curvature models.
Finally, studying the generalization and application of the Clarke transform to vector-valued functions of time and arc
length along the robot’s backbone could be highly beneficial. This approach would enable the integration of widely
used models based on Cosserat and Kirchhoff rod theories. Furthermore, extending the piece-wise constant curvature
19
Clarke Transform – A Fundamental Tool for Continuum Robotics
model to accommodate variable curvature (changing with respect to the arc length s) could enhance modeling accuracy.
Adapting this framework to dynamic modeling might also lead to more computationally efficient dynamic models.
9 Conclusions
This work introduces the Clarke transform and generalized Clarke coordinates as fundamental tools for simplifying
continuum robot analysis. By demonstrating their physical meaning and mathematical consistency, the transform’s
utility was extended across applications in kinematics, sampling, and control. Each application emphasizes the sim-
plicity, interpretability, and scalability of any number of joints. The Clarke transform and Clarke coordinates offer a
mathematically consistent approach that can unify methods across different types of continuum robots, providing a
robust foundation for future developments in continuum robot modeling and control.
Funding
We acknowledge the support of the Natural Sciences and Engineering Research Council of Canada (NSERC),
[RGPIN-2019-04846].
To provide a more concrete example, let us focus on TDCR with one continuum segment, see Figure 10. Furthermore,
the discussion is also restricted to n = 3 and n = 4 tendons. It is commonly assumed that the tendons are equally
distributed around the backbone. For a segment, those tendons are constrained by
Xn
ρi = 0,
i=1
where ρi denotes the tendon displacement of the ith tendon. It is commonly known that n tendons map onto a dome-
like surface in task space or two variables in the arc space. Therefore, we can expect a 2 dof manifold embedded in
the joint space of n tendons. Note that, for n = {1, 2}, the dome-like surface degenerates into a line.
For three tendons, the sum of all ρi is constrained by
n=3
X
ρi = ρ1 + ρ2 + ρ3 = 0.
i=1
The resulting joint space is a manifold described by the set
Q(3) = (ρ1 , ρ2 , ρ3 ) ∈ R3 ρ1 + ρ2 + ρ3 = 0 ,
where the superscript in Q(3) indicates the number of tendons. To resolve the displacement constraint, ρ1 and ρ2 are
actuated and ρ3 is set to ρ3 = −ρ1 − ρ2 . Depending on the employed heuristic, the last variable can be expressed by
the other reminding tendon displacements using cyclic permutation, i.e., ρ1 = −ρ2 − ρ3 or ρ2 = −ρ3 − ρ1 . Therefore,
this commonly used simplification comes with caveats, where the practical implementation relies on heuristics with
branching. i.e., selecting two suitable tendon displacements from three possibilities.
For four tendons, a convenient simplification can be found. First of all, the displacement constraint expenses to
n=4
X
ρi = ρ1 + ρ2 + ρ3 + ρ4 = 0.
i=1
However, this displacement constraint only provides one equation, which is not sufficient to describe the sought-after
2 dof manifold. Fortunately, by exploiting symmetries observed in physical prototypes, the displacement constraint
simplifies to two constraints, which are given by
ρ1 + ρ3 = 0 and ρ2 + ρ4 = 0.
20
Clarke Transform – A Fundamental Tool for Continuum Robotics
Figure 10: Illustration of a bend TDCR. It is actuated by tendon displacements denoted by ρi . Note that only one of
the eight tendons is depicted. The TDCR can be fully described by a curricular arc and its arc parameters: curvature
κ and bending plane angle θ. On the disk, the ith tendon hole location is described by di and ψi . Tracing the position
of the distal spacer disk for different curvatures κ, the traced points form a line that coincides with the bending plane.
Afterward, rotating the bending plane will create all reachable points in the task space, which is a two-dimensional
dome-like surface.
As a beneficial side-effect, this choice of constraints prevents geometric unfeasible actuation such as ρ1 = −ρ2 and
ρ3 = −ρ4 , which is possible by only considering the sum of all tendon displacement. Having found the two equations,
we can now define the joint space Q(4) being the set of possible ordered quadruples defined as
Q(4) = (ρ1 , ρ2 , ρ3 , ρ4 ) ∈ R4 ρ1 + ρ3 = 0 ∧ ρ2 + ρ4 = 0 .
To recap, this formulation gives a correct number of equations to constrain a four-dimensional space to a 2 dof man-
ifold. Note that a formulation using the sum of all tendon displacements will not provide the correct number of
equations and set definitions. Furthermore, the two simpler constraints directly suggest a mode of actuation – the
differential actuation.
In general, tricks utilized for Q(3) and Q(4) cannot work for an arbitrary high-dimensional joint space Q. One notable
exception is n = 6, where three pairs form a differential actuation. A rather unsuitable approach is to use branching
or sampling, considering displacement constraints for a high number of tendons.
Our intuition to look into the Clarke transformation matrix is based on our observations and an analogy gained through
our work on the hardware (Grassmann et al., 2024b) of the Open Continuum Robotics Project.
Pn
Upon examining, the displacement constraint, i.e., i=1 ρi = 0, appears analogous to Kirchhoff’s current law, which
posits that the net electric current through a junction is zero. Interpreting this through effort and flow (Gawthrop and
Bevan, 2007), electric current (the rateP of charge change) represents flow. Furthermore, by dividing the constraint
n
by a small time step ∆t, i.e., (1/∆t) i=1 ρi = 0, it approaches a velocity constraint in the limit, expressed as
P n
i=1 ρ̇i = 0, where ρ̇i denotes flow. Note that ρi is a displacement and, therefore, the change between the straight
configuration and the bend current configuration of a continuum robot. Hence, Kirchhoff’s law aligns with tendon
velocity constraints. This analogy further
Pn extends to the principle that the total charge in electrical circuits remains
constant, analogous to the premise of i=1 ρi = 0. Although this comparison is not strictly rigorous, it sufficiently
motivates further exploration of this analogy.
Furthermore, Kirchhoff’s current law is essential for controlling a brushless electric motor with three phases. Field-
oriented Control (FOC), also known as Vector Control, is a pivotal method for these motors that avoid mechanical
commutators. FOC employs the Clarke transformation (also known as alpha-beta transformation), a linear mapping
represented by a constant matrix, aiming to reduce three electric current values to two. The used Clarke transformation
21
Clarke Transform – A Fundamental Tool for Continuum Robotics
313
Figure 11: Various representations to consider for robot-independent mapping. The robot-independent mapping is
−1
denoted by find , and its inverse mapping is denoted by find . Various task space representation exists for the task space.
The arc space can be parameterized using different representations.
matrix M Clarke transforms three currents in a set of three transformed values, where one value is always zero if the
system is balanced. Therefore, the Clarke transformation matrix is a good starting point to find the sought-after
reduction of three values to two values. However, it is limited to n = 3. Nevertheless, the core idea of this article
is to exploit and extend the Clarke transformation matrix to project n phases, in our case, n displacements, into two
variables.
We revisit the robot-independent mappings between the arc space and task space. First, we point out that various
representation exists for the task space as well as arc space as illustrated in Figure 11. Second, the forward robot-
−1
independent mapping find is stated. Afterward, its inverse mapping, i.e., inverse robot-independent mapping find , is
derived.
We consider two different representations of a single type-0 segment (Grassmann et al., 2022) with constant curvature
characteristics as depicted in Figure 10, i.e., curvature-curvature representation and curvature-angle representation.
The mapping between the curvature-curvature representation to curvature-angle representation, i.e.,
q
κ = κ2x + κ2y and (70)
θ = arctan2 (κy , κx ) (71)
and its inverse mapping given by (38) are useful for the derivation. Figure 11 shows and Table 5 lists various repre-
sentations within the arc space. A discussion on all four representations is given in Appendix C.2. Note that, for all
representations, segment length l > 0 is constant and, therefore, it is rather a design parameter than a variable in the
arc space.
For the task space, the rotation matrix
r11 r12 r13
R = r21 r22 r23 (72)
r31 r32 r33
22
Clarke Transform – A Fundamental Tool for Continuum Robotics
Using the curvature-angle representation, the classic forward robot-independent mapping find can be formulated. The
mapping is given by the position vector
cos (θ) (1 − cos (κl)) /κ
" #
pind = sin (θ) (1 − cos (κl)) /κ (74)
sin (κl) /κ
and the rotation matrix
cos (θ) cos (κl) − sin (θ) cos (θ) sin (κl)
Rind = sin (θ) cos (κl) cos (θ) sin (θ) sin (κl) . (75)
− sin (κl) 0 cos (κl)
Note that (75) describes a variation to represent the tip orientation. Based on Bishop’s frame, Webster and Jones
(2010) presents an alternative tip orientation.
In the special case of no bending, i.e., κ = 0, we make the reasonable assumption that (75) is an identity matrix I 3×3 .
This implies r22 = cos (θ) = 1 and, therefore, we define
θ (κ = 0) = 0 and Rind (θ = 0, κ = 0) = I 3×3 (76)
for a straight segment. Furthermore, we can set (74) to
⊤
pind (θ = 0, κ = 0) = [0 0 l] , (77)
see Sec. 4.3 for a derivation. Note that, for a straight configuration, (70) implies κx = κy = 0. However, (71) is
undefined for κx = κy = 0.
We derive the solution for different sources of information; position from E(3), orientation from SO(3), or both, i.e.,
pose from SE(3). The solution method outlined in this section is straightforward and mentioned in the first textbook
in robotics by Paul (1981). Furthermore, we assume κ ̸= 0, otherwise the solution can be directly obtained using (77)
and (76). For practical reasons, the case for pz ≤ 0 and px = py = pz = 0 are prohibited. All derived solutions are
listed in Table 2.
Tip Position Given (73) and (74), we can use a trigonometric identity, i.e., 1 − cos (κl) = tan (κl/2) sin (κl). We
can restate the relation, which gives us
px = cos (θ) tan (κl/2) sin (κl) /κ, (78)
py = sin (θ) tan (κl/2) sin (κl) /κ, and (79)
pz = sin (κl) /κ. (80)
For the representation curvature-angle representation, κ and θ need to be found by using (78) and (79). The angle θ
can be recovered by
θ = arctan2 (py , px ) . (81)
To find κ, we first sum the squares of (78) and (79), where (80) is inserted as well. This leads to p2x + p2y =
tan2 (κl/2) p2z , where cos2 (θ) + sin2 (θ) = 1. Afterward,
q
tan (κl/2) = p2x + p2y /p2z (82)
can be derived. Next, a double angle identity is adapted, i.e., sin (κl) = (2 tan (κl/2)) / 1 + tan2 (κl/2) , and used
as a substitution applied to (80). This leads to
pz = 2 tan (κl/2) / κ 1 + tan2 (κl/2) .
(83)
Afterward, (82) is substituted in (83) to derive
q
κ = 2 p2x + p2y / p2x + p2y + p2z .
(84)
23
Clarke Transform – A Fundamental Tool for Continuum Robotics
For the curvature-curvature representation, one realizes that the arguments of (71) and (81) expressed as arctan func-
tions can be set equal. This leads to the ratios
κy /κx = py /px and κx /κy = px /py .
To find κx and κy , we first equate θ = arctan2 (κy , κx ) and (84). Second, the above ratio is rearranged to κx and κy .
Third, the result of the second step is inserted into the result of the first step. After rearranging, we can find
2px 2py
κx = and κy = . (85)
p2x + p2y + p2z p2x + p2y + p2z
As a sanity check, by considering (70), one can derive (84) by using (85).
Tip Orientation Now, only a measured tip orientation (72) is provided. Starting with the curvature-angle represen-
tation, the entries r12 , r22 , r31 , and r33 of (75) are immediately noticeable and can be used to derive
θ = arctan2 (−r12 , r22 ) and (86)
κ = (1/l) arctan2 (−r31 , r33 ) . (87)
2 2 2 2
2 2 2 2
Note that θ = arctan2 r11 + r13 , r21 + r23 and κl = arctan2 r13 + r23 , r11 + r21 can be derived. However, both
cannot cover all four quadrants of θ and κl = ϕ, while (86) and (87) can. Further note that κl = arccos (r33 ) sufficient
to met the requirement of κ ∈ R≥0 , Appendix C.2.
For the curvature-curvature representation, we use a similar approach as shown for (85) and establish the ratios
κy /κx = (−r12 ) /r22 and κx /κy = r22 / (−r12 )
by using (71) and (86). Following similar steps as described for (85), and utilizing (70) and (86), the curvatures
κx = (r22 /l) arctan2 (−r31 , r33 ) and (88)
κy = (r12 /l) arctan2 (−r31 , r33 ) (89)
can be found. Considering (75), we utilize the fact that r12 2 2
+ r22 = sin2 (θ) + cos2 (θ) = 1 for (88) and (89). As a
sanity check, substituting (88) and (89) in (70) results in (87).
To solve the inverse robot-independent mapping, (87) and (86), or (88) and (89) can be used. Note that (75) does not
have an entry with an isolated κ or l. In other words, κ and l are always given as a product. Further note that (87), (88),
and (89) include l. Therefore, tip orientation is given as a rotation matrix (72) does not provide enough information to
solve for l.
Tip Pose For the curvature-angle representation, we identify −r31 = sin (θ) in (72), and κpz = sin (θ) in (80)
leading to
κ = −r31 /pz . (90)
For θ, no simpler expressions as (81) and (86) can be found.
For the curvature-curvature representation, we utilize (88) and (89) as the starting point. Now, (87) and (90) are used
to derive
κx = −r31 r22 /pz and κy = −r31 r11 /pz . (91)
Note that a sanity check using (91) shows that (90) can be recovered up to the sign. It results in κ = abs (r31 /pz ),
which is equivalent to (90) considering the used assumptions, i.e., pz > 0 and κ ≥ 0, which implies −r31 = sin (κl) ≥
0.
For a given arc space parameter choice, one uses either (86) and (90), or (91) to find the right set of parameters. Note
that, for a given tip pose as a combination of (72) and (73), one can trivially combine the solutions from both previous
cases. However, the goal is to derive alternative solutions with potentially simpler expressions.
Recovering Full Pose from Tip Position From the previous derivation, it is clear that the tip position provides more
information. One intermediate question arises; Can the tip orientation be reconstructed using tip position?
To reconstruct the rotation matrix (75), expressing the trigonometric functions cos (θ), sin (θ), cos (κl), and sin (κl)
in terms of p is necessary. For the derivation, (81) is used and after few steps, this leads to
q q
cos (θ) = py / p2x + p2y and sin (θ) = px / p2x + p2y .
24
Clarke Transform – A Fundamental Tool for Continuum Robotics
Alternatively, (85) and (84) can be combined. For the other set, (84) and (80) are combined leading to
q
sin (κl) = pz p2x + p2y / p2x + p2y + p2z , whereas
is derived involving the sum of squares of (78) and (79). Using this set of equations, R and, therefore, the whole pose
can be reconstructed by only measuring p.
Especially for TDCR, the actuation length (35) is a common choice for a joint representation in the literature. However,
we argue that this representation can obstruct the underlying structure of the joint space, which hinders a mapping to
the embedded manifold. We present three arguments to advocate in favour of displacement over actuation length as
representation.
First, using actuation length, the displacement constraint (1) does not equate to zero, and this non-zero component is
dependent on n. Therefore, the constraint appears to be in a non-general form, and one might think n approaches are
needed, which is akin to solving a quadratic function that is not presented in a normal form, i.e., x2 + px + q = 0.
Second, as the analogy in Appendix A.2 suggests, the displacement constraint might not be a geometric constraint but
rather a non-holonomic constraint. Therefore, the constant value will vanish.
Third, a displacement-actuated joint for continuum robots is akin to a prismatic joint for ridged serial-kinematic robots.
A prismatic joint value is a relative and not an absolute value, avoiding unnecessary caring of a constant shift, making
derived approaches more complex. In fact, the property (30) eliminates a bias term.
We review existing representations of the arc space (see Table 5) for constant segment length l > 0. The most
commonly used representation is given by
arg {arc space} → (κ, θ)
according to the review by Webster and Jones (2010). This representation can be simply called curvature-angle
representation. To avoid double coverage, κ ∈ R≥0 and θ ∈ [0, 2π) or, alternatively, κ ∈ R and θ ∈ [0, π).
Another common representation utilizes
arg {arc space} → (κx , κy ) ,
where κx ∈ R and κy ∈ R are two curvatures, which are called Cartesian curvature components by Dupont et al.
(2022). This representation can be called curvature-curvature representation.
For completeness, another representation utilizes ϕ = κl, which makes this representation equal to the curvature-angle
representation. Following the naming convention, angle-angle representation is defined by
arg {arc space} → (ϕ, θ) .
25
Clarke Transform – A Fundamental Tool for Continuum Robotics
Both angles can be restricted to ϕ ∈ [0, 2π) and θ ∈ [0, 2π). Furthermore, both angles relate to azimuth and elevation
angles (Dupont et al., 2022).
In recent years, a non-linear combination of the curvature κ and bending angle θ has been used more often. We denote
arg {arc space} → (κ cos (θ) , κ sin (θ)) ,
which is another possibility to represent the arc space.
q
Commonly the curvature κx and κy are transformed into κ = κ2x + κ2y and θ = arctan2 (κy , κx ). Both can be
used to map from the curvature-curvature representation to the curvature-angle representation.
q To reverse the map,
let us apply trigonometric functions to θ, i.e., cos(θ) and sin(θ), to derive cos(θ) = κx / κ2x + κ2y and sin(θ) =
q
κy / κ2x + κ2y . Further simplification leads to κx = κ cos(θ) and κy = κ sin(θ). This set of equations can be used
to map from the curvature-angle representation to the curvature-curvature representation. Two remarks should be
noted. First, for constant segment length l, curvature-angle representation and angle-angle representation are linear
dependent due to ϕ = κl. Second, the representation that combines the curvature and angle in a non-linear way is the
curvature-curvature representation in disguise.
In recent works, the angle-angle representation has been identified as problematic. For instance, Della Santina et al.
(2020) demonstrates pathological behaviors can arise when controlling a soft robot represented by the angle-angle
representation. Note that the linear relation ϕ = κl indicates that popular curvature-angle representation has the
same disadvantages as the angle-angle representation. On the other hand, using the curvature-curvature representation
avoids coordinate singularities (Dupont et al., 2022) and allows to formulate compact kinematic expressions (Allen
et al., 2020). To conclude, depending on the choice of arc space representation, a derived approach can behave
pathologically and can be overly complicated in its formulation.
References
Allen, T. F., Rupert, L., Duggan, T. R., Hein, G., and Albert, K., “Closed-form non-singular constant-curvature con-
tinuum manipulator kinematics,” in International Conference on Soft Robotics, pages 410–416, IEEE, 2020.
Burgner-Kahrs, J., Rucker, D. C., and Choset, H., “Continuum Robots for Medical Applications: A Survey,” IEEE
Transactions on Robotics, 31(6):1261–1280, 2015.
Cao, Y., Feng, F., Liu, Z., and Xie, L., “Closed-Loop Trajectory Tracking Control of a Cable-Driven Continuum Robot
With Integrated Draw Tower Grating Sensor Feedback,” Journal of Mechanisms and Robotics, 14(6):061004, 2022.
Craig, J. J., Introduction to Robotics: Mechanics and Control, 2005.
Dalvand, M. M., Nahavandi, S., and Howe, R. D., “An analytical loading model for n-tendon continuum robots,”
IEEE Transactions on Robotics, 34(5):1215–1225, 2018.
Dalvand, M. M., Nahavandi, S., and Howe, R. D., “General Forward Kinematics for Tendon-Driven Continuum
Robots,” IEEE Access, 10:60330–60340, 2022.
Della Santina, C., Bicchi, A., and Rus, D., “On an improved state parametrization for soft robots with piecewise
constant curvature and its use in model based control,” IEEE Robotics and Automation Letters, 5(2):1001–1008,
2020.
Dian, S., Zhu, Y., Xiang, G., Ma, C., Liu, J., and Guo, R., “A Novel Disturbance-Rejection Control Framework for
Cable-Driven Continuum Robots With Improved State Parameterizations,” IEEE Access, 10:91545–91556, 2022.
Dong, X., Palmer, D., Axinte, D., and Kell, J., “In-situ repair/maintenance with a continuum robotic machine tool in
confined space,” Journal of Manufacturing Processes, 38:313–318, 2019.
Dow, M., “Explicit inverses of Toeplitz and associated matrices,” The Australian and New Zealand Industrial and
Applied mathematics Journal, 44:E185–E215, 2002.
Dupont, P. E., Simaan, N., Choset, H., and Rucker, D. C., “Continuum robots for medical interventions,” Proceedings
of the IEEE, 110(7):847–870, 2022.
Eboule, P. S. P., Pretorius, J. H. C., and Mbuli, N., “Implementation of a Future Nine-Phase Power Transmission Line,”
in Asia-Pacific Power and Energy Engineering Conference, pages 1–5, IEEE PES, 2019.
Firdaus, M. and Vadali, M., “Virtual Tendon-Based Inverse Kinematics of Tendon-Driven Flexible Continuum Manip-
ulators,” in International Conference on Advances in Robotics, pages 1–5, 2023.
Gawthrop, P. J. and Bevan, G. P., “Bond-graph modeling,” IEEE Control Systems Magazine, 27(2):24–45, 2007.
26
Clarke Transform – A Fundamental Tool for Continuum Robotics
Grassmann, R., “The string girdling Earth problem and how it relates to tendon displacement,” 2023, [Online; accessed
09-August-2024].
Grassmann, R. M. and Burgner-Kahrs, J., “Quaternion-Based Smooth Trajectory Generator for Via Poses in SE(3)
Considering Kinematic Limits in Cartesian Space,” IEEE Robotics and Automation Letters, 4(4):4192–4199, 2019.
Grassmann, R. M. and Burgner-Kahrs, J., “Clarke Transform and Clarke Coordinates – A New Kid on the Block for
State Representation of Continuum Robots,” in 40th Anniversary of the International Conference on Robotics and
Automation, IEEE, 2024.
Grassmann, R. M., Rao, P., Peyron, Q., and Burgner-Kahrs, J., “FAS – A Fully Actuated Segment for Tendon-Driven
Continuum Robots,” Frontiers in Robotics and AI, 9, 2022.
Grassmann, R. M., Senyk, A., and Burgner-Kahrs, J., “On the Disentanglement of Tube Inequalities in Concentric
Tube Continuum Robots,” in International Conference on Robotics and Automation, IEEE, 2024a.
Grassmann, R. M., Shentu, C., Hamoda, T., Dewi, P. T., and Burgner-Kahrs, J., “Open continuum robotics – one
actuation module to create them all,” Frontiers in Robotics and AI, 11, 2024b.
Gray, R. M., “Toeplitz and circulant matrices: A review,” Foundations and Trends in Communications and Information
Theory, 2(3):155–239, 2006.
Janaszek, M., “Extended Clarke transformation for n-phase systems,” Prace Instytutu Elektrotechniki, (274):5–26,
2016.
Jones, B. A. and Walker, I. D., “Limiting-case analysis of continuum trunk kinematics,” in International Conference
on Robotics and Automation, pages 1363–1368, IEEE, 2007.
Morin, P. and Samson, C., “Motion control of wheeled mobile robots,” Springer handbook of robotics, 1:799–826,
2008.
Neppalli, S., Csencsits, M. A., Jones, B. A., and Walker, I. D., “Closed-form inverse kinematics for continuum manip-
ulators,” Advanced Robotics, 23(15):2077–2091, 2009.
O’Rourke, C. J., Qasim, M. M., Overlin, M. R., and Kirtley, J. L., “A geometric interpretation of reference frames and
transformations: dq0, clarke, and park,” IEEE Transactions on Energy Conversion, 34(4):2070–2083, 2019.
Paul, R. P., Robot Manipulators: Mathematics, Programming, and Control, 1981.
Qu, T., Chen, J., Shen, S., Xiao, Z., Yue, Z., and Lau, H. Y., “Motion control of a bio-inspired wire-driven multi-
backbone continuum minimally invasive surgical manipulator,” in IEEE International Conference on Robotics and
Biomimetics, pages 1989–1995, IEEE, 2016.
Rao, P., Peyron, Q., Lilge, S., and Burgner-Kahrs, J., “How to Model Tendon-Driven Continuum Robots and Bench-
mark Modelling Performance,” Frontiers in Robotics and AI, 7:223, 2021.
Renda, F., Boyer, F., Dias, J., and Seneviratne, L., “Discrete cosserat approach for multisection soft manipulator
dynamics,” IEEE Transactions on Robotics, 34(6):1518–1533, 2018.
Rockhill, A. and Lipo, T., “A generalized transformation methodology for polyphase electric machines and networks,”
in International Electric Machines & Drives Conference, pages 27–34, IEEE, 2015.
Rolf, M. and Steil, J. J., “Constant curvature continuum kinematics as fast approximate model for the Bionic Handling
Assistant,” in International Conference on Intelligent Robots and Systems, pages 3440–3446, IEEE/RSJ, 2012.
Rone, W. S. and Ben-Tzvi, P., “Continuum robot dynamics utilizing the principle of virtual power,” IEEE Transactions
on Robotics, 30(1):275–287, 2013.
Russo, M., Sadati, S. M. H., Dong, X., Mohammad, A., Walker, I. D., Bergeles, C., Xu, K., and Axinte, D. A.,
“Continuum robots: An overview,” Advanced Intelligent Systems, 5(5):2200367, 2023.
Tatlicioglu, E., Walker, I. D., and Dawson, D. M., “New dynamic models for planar extensible continuum robot
manipulators,” in International Conference on Intelligent Robots and Systems, pages 1485–1490, IEEE/RSJ, 2007.
Webster, R. J. and Jones, B. A., “Design and Kinematic Modeling of Constant Curvature Continuum Robots: A
Review,” The International Journal of Robotics Research, 29(13):1661–1683, 2010.
Weisstein, E. W., “”Disk Point Picking.” From MathWorld – A Wolfram Web Resource,” https://mathworld.
wolfram.com/DiskPointPicking.html, 2011, [Online; accessed 5-Januar-2024].
Willems, J. L., “Generalized Clarke components for polyphase networks,” IEEE Transactions on Education, 12(1):69–
71, 1969.
27