Continuum robots are becoming increasingly popular due to the capabilities they offer, especially when operating in cluttered environments, where their dexterity, maneuverability, and compliance represent a significant advantage. The subset of continuum robots that also belong to the soft robots category has seen rapid development in recent years, showing great promise. However, despite the significant attention received by these devices, various aspects of their kinematics remain unresolved, limiting their adoption and obscuring their potential. In this paper, the kinematics of continuum robots with the ability to bend and extend are studied, and analytical, closed-form solutions to both the direct and inverse kinematics are presented. The results obtained expose the redundancies of these devices, which are subsequently explored. The solution to the inverse kinematics derived here is shown to provide an analytical, closed-form expression describing the curve associated with these redundancies, which is also presented and analyzed. A condition on the reachable end-effector poses for robots with six actuation degrees-of-freedom (DOFs) is then distilled. The kinematics of robot layouts with over six actuation DOFs are subsequently considered. Finally, simulated results of the inverse kinematics are provided, verifying the study.

## Introduction

Robots composed of sections that bend continuously along their elastic structure can be classified as continuum robots [1]. The field of continuum robots has received significant attention over the past decade, both in terms of theoretical research and practical applications [2]. This is not least because of the advantages they offer in manipulation, dexterity, and locomotion inside cluttered environments.

Soft robots are commonly defined as devices with a low-stiffness elastic structure [3], a field that currently shows great promise [4]. A significant overlap exists between continuum robots and soft robots, which renders the study of robots belonging to both categories highly relevant. These robots are generally actuated by means of a pressurized fluid. The flexible micro-actuator (FMA) [5,6] was among the pioneering concepts in this class of robots, and its layout remains relevant nowadays. Since it was first proposed [7], a myriad of robots with designs inspired by it have been developed, e.g., see Refs. [8–12]. However, the development of soft, continuum robots is not limited to FMA-type devices. Noticeable examples of alternative designs include robotic manipulators [13,14], assistive wearable devices [15,16], the OctArm robot [17,18] with the corresponding MiniOct input device for teleoperation [19], a miniature actuator [20], actuators similar to fingers [21], or Pneunets [22].

The capability of bending and extending is common in soft, continuum robots actuated by a pressurized fluid. This provides the robots with dexterity that, in specific applications, can surpass that of traditional serial manipulators. However, solutions to the kinematics problems, and particularly the inverse kinematics, are necessary to determine and exploit these robots' full potential.

The kinematics can be decoupled in a robot-specific mapping, between actuator space and configuration space, and a robot-independent mapping, between actuator space and task space, as proposed in Ref. [1]. This paper focuses on the robot-independent mapping for robots composed of sections that can both elongate and bend with constant curvature, such as the device illustrated in Fig. 1. The kinematics problem considering the capability of both elongating and bending represents a general and therefore relevant kinematics problem in soft and continuum robots, which applies to a variety of robots including FMA-type devices [5], or tendon-driven devices with extensible backbone [23–25].

Various studies of the kinematics of continuum and soft robots exist in the literature [1], although the inverse kinematics for a specified end-effector pose remains an open problem. A relatively complete formulation of the kinematics is presented in Ref. [26], although it does not provide a closed-form solution to the inverse kinematics. A modal approach that allows numerical calculation of the inverse kinematics is proposed in Refs. [27] and [28], and is extended in Ref. [29]. However, these approaches rely on approximations of the robot geometry that do not match the common constant curvature bending kinematics. An algorithm to calculate the inverse kinematics of the distal end position is introduced in Ref. [30], but it does not account for the tip orientation and does not provide closed-form solutions. Various approaches to solving the inverse kinematic control problem have been developed using the robot Jacobian, where Refs. [31] and [32] are recent examples. However, these require some computational time that can vary depending on the end-effector pose, especially when redundancies exist, and they present issues with singularities. Furthermore, these approaches based on the Jacobian lack insight into the kinematics, which complicates subsequent path planning and control. Formulations of both the robot-specific and robot-independent mappings are presented in Ref. [33]. However, closed-form solutions to the inverse kinematics are not available, and a numerical approximation is used. In Ref. [34], the self-motion of two-dimensional continuum manipulators is analyzed, but closed-form solutions to the inverse kinematics are not derived, and the research cannot be extrapolated to a three-dimensional (3D) scenario. An adaptation of the Denavit–Hartenberg parameters is described in Ref. [35], but it does not yield a closed-form solution to the inverse kinematics. An analytical kinematic formulation is proposed in Ref. [36] for a two-dimensional application, although it cannot be extrapolated to 3D. In Ref. [37], a closed-form solution to the inverse kinematics for a specified end-effector position in 3D is presented, but the approach is not applicable to solve the problem of a specified end-effector pose; hence, it cannot be used in general.

In this paper, the kinematics of soft, continuum robots composed of sections with piecewise constant curvature bending and extending capabilities are studied, and analytical, closed-form solutions to the direct and inverse kinematics are presented. The analysis is focused on devices composed of serially stacked sections operating in 3D space since they represent the most relevant type of robots. The solution to the inverse kinematics is derived in closed-form thanks to a novel approach that relies on quaternions to describe the rotations associated with the robot's sections. This, combined with a strategy inspired by the Paden–Kahan subproblems [38] that involves dividing the problem into parts of reduced complexity, yields a particularly simple formulation of the inverse kinematics, which can be treated analytically, leading to explicit solutions. It should be noted that quaternions have been previously used to study different aspects of continuum robots. In Refs. [39] and [40], quaternions are used for the mechanical modeling of elastic rods, and a similar approach is applied in Ref. [41] to study the dynamics of soft robotic manipulators. Quaternions are also used in Ref. [42] to develop efficient finite element methods applicable to continuum rods that can also expand radially. In addition, quaternions can be used to reliably integrate orientation along the arc length of continuum robots [43,44], and they are used in Ref. [45] to develop efficient numerical solutions to the kinematics of continuum robots. However, to the best of these authors' knowledge, the work presented here is the first instance where quaternions are used to derive closed-form solutions to the full robot kinematics.

A set of relevant considerations that arise from the central study of kinematics are also discussed in this paper. The number of DOFs at the distal end of the robot is analyzed using the direct kinematics Jacobian, and redundancies are identified. The solution to the inverse kinematics is then shown to be a curve that corresponds to such redundancy, and is also obtained in closed form. A condition on the reachable end-effector poses with a six actuation DOFs robot is distilled from the derivation, and it is related to the discussion on the robot's DOFs. This discussion also shows that a robot with nine actuation DOFs is required to achieve six end-effector DOFs, and therefore the kinematics of robots with nine actuation DOFs are also analyzed. It should be noted that the work presented in this paper, including the closed-form solutions to the full robot kinematics, is for continuum robots made of sections that can bend and extend, providing 3DOFs per section. The current work cannot be directly generalized to continuum robots made of inextensible sections (sections with two bending DOFs).

The paper is structured as follows: The kinematic problem is outlined in Sec. 2, where nomenclature is also defined. The direct kinematics are presented in Sec. 3, together with a discussion on the end-effector DOFs corresponding to robots with six and nine actuation DOFs. The analysis of the inverse kinematics is presented in Sec. 4, leading to the derivation of closed-form solutions. In addition, the implications of such solutions are discussed in the same section, including the redundancies of the solution, the condition on reachable poses, and the analysis of robots with nine actuation DOFs. Finally, simulations of the robot configuration corresponding to the kinematic solutions are plotted in Sec. 5, leading to the conclusion of the paper in Sec. 6.

## Problem Formulation

*g*∈

_{t}*SE*(3) when operating in a 3D workspace, and the robot joint configuration, which can be described by $\theta \u2208Q\u2282Rn$, where

*n*denotes the dimensions of the configuration space. The direct kinematics correspond to the study of the function

*g*:

*Q*→

*SE*(3). The inverse kinematics concern the study of the solution to

*θ*∈

*Q*, where

*g*is a specified end-effector configuration inside the workspace.

_{t}The kinematic study presented in this paper considers a continuum robot composed of a set of serially stacked sections, each of which can be individually controlled to bend in any direction in 3D space and also extend, providing 3DOFs. The deformation modes of the sections represent the foundation for the kinematic study of any continuum robot. Here, the sections are assumed to bend as constant curvature arcs, and the extension DOF is assumed to be independent of the bending, following the same circumference arc of the selected bending. It is also assumed that attachments between any two sections present negligible length, and that adjacent arcs are tangential.

The geometry of the robots considered here can therefore be described by a set of circumference arcs stacked serially, which correspond to the robot's sections. Each section can be characterized by three independent variables. The kinematic mapping *g*(*θ*) thus corresponds to *n*/3 subsequent transformations associated with constant curvature arcs.

This robot layout together with these of assumptions on bending modes satisfactorily model FMA-type robots [5], which originally motivated this work. However, the kinematic study reported here is not only limited to an FMA-type robot; it applies to all robots that can be approximated by the aforementioned bending and extension modes, which can correspond to a variety of devices, such as [23,24]. It should be noted that the deformation modes considered in this work are selected according to their relevance. Robots composed of 3DOF sections that bend as circumference arcs and also extend represent a relevant part of the soft, continuum robots introduced in Sec. 1. In addition, the kinematics considered here provide a foundation for the kinematics of devices with other deformation modes. The kinematics, however, are not simplified by the deformation modes considered in this work, and they differ from the kinematics of traditional multilinkage robots, calling for a novel approach.

The primary aim in the operation of the serial robots considered in this paper is to control the robot's end-effector pose, commonly for manipulation purposes. Operation in *SE*(3) generally requires near 6DOFs at the end effector. Considering that the devices studied here offer three actuation DOFs per section, the kinematics of robots composed of two sections represent the most relevant problem, and are the focus of this paper. The main objective in the study reported here is the kinematics to attain a desired end-effector pose. The solution to the inverse kinematics of a robot with *n* = 6 involves determining the two tangential arcs required to reach a desired *g _{t}*. The solution to such a problem is not simple, as will be seen in Secs. 3 and 4, requiring an innovative derivation. The analysis of the direct and inverse kinematics also shows that

*g*(

*θ*) is neither injective nor surjective; hence, configuration spaces with dimension

*n*> 6 are also considered.

## Direct Kinematics

Various derivations of the direct kinematics of a continuum robot exist in the literature, e.g., see Ref. [1]. However, the specific variables used to describe the robot *θ* ∈ *Q* strongly influence the complexity of the mapping *g*(*θ*).

### Robot Description.

The configuration of the continuum robot is completely determined when the configuration of all its sections is specified. The description of the sections is crucial to formulate the kinematics in a simple form, and thus be able to derive closed-form solutions.

There are two main section descriptions that are used in this work, which complement in different parts of the analysis. Both of them are relative to a reference frame, defined as {*F*}, situated at the section's base, as shown in Fig. 2.

The first description employs *σ _{i}*, which is a scalar corresponding to the Euclidean distance between section

*i*'s base and tip,

*ζ*, which is the angle between the vector of the section tip position and the

_{i}**k**

*axis of {*

^{F}*F*}, and

*ϕ*, which is the angle between the projection of the section on the

_{i}**i**

*,*

^{F}**j**

*plane and the*

^{F}**i**

*axis of {*

^{F}*F*}, as shown in Fig. 2. It should be noted that the definitions of section base and tip are arbitrary, and interchangeable. This section description represents a compromise in the complexity of the transformations corresponding to translation and rotation, and is used for the derivation of the direct kinematics.

The second description employs the Cartesian coordinates of the tip of a section, defined as $xiF,yiF,ziF$, relative to a reference frame at its base {*F*}, as shown in Fig. 2, where the subscripts in $xiF,yiF,ziF$ indicate the section index, *i*, and the superscripts the reference frame, {*F*}. As in the previous description, the section base and tip are selected arbitrarily, and can be interchanged in each analysis, as applied in Sec. 4. It should be noted that the position of the reference frame used in the definition of the variables $xiF,yiF,ziF$ determines the side of the section corresponding to the base. This second description simplifies the translation transformation, but generally complicates the rotation transformation. This description is used in the inverse kinematics derivation in Sec. 4, where its advantages become apparent.

The bending and extension of a section are coupled in both of these descriptions. A given set of values of *σ _{i}*,

*ζ*,

_{i}*ϕ*generally implies both bending and extension of the section. Equally, a set of values of $xiF,yiF,ziF$ generally involves both bending and extension of section

_{i}*i*. Furthermore, section motions that involve variations in only one of the variables

*σ*,

_{i}*ζ*or $xiF,yiF,ziF$ generally lead to variations in both bending and extension. Similarly, variations in only bending or extension generally involve coupled variations in

_{i}*σ*,

_{i}*ζ*,

_{i}*ϕ*or $xiF,yiF,ziF$.

_{i}*σ*,

_{i}*ζ*,

_{i}*ϕ*using the fact that the triangle shown in blue in Fig. 2 is isosceles, together with trigonometric relations. The resulting expression is

_{i}*b*, the arc length of the extended section is

_{i}*l*, and the direction of bending is simply determined by

_{i}*ϕ*. Similarly, for a set of $xiF,yiF,ziF$, the bending and extension of a section are determined by

_{i}As can be seen from Eq. (3), the section description *σ _{i}*,

*ζ*,

_{i}*ϕ*yields a relatively simple decoupling of bending and extension, whereas the decoupling in Eq. (4) involves additional complexity. Equations (3) and (4) also elucidate the specific variations in bending and extension of a section for variations in

_{i}*σ*,

_{i}*ζ*,

_{i}*ϕ*or $xiF,yiF,ziF$. In addition, the equations show that, for fixed bending or extension, the possible values of

_{i}*σ*,

_{i}*ζ*,

_{i}*ϕ*or $xiF,yiF,ziF$ are determined by nonlinear relations with a certain degree of complexity.

_{i}Robot section descriptions where bending and extension are directly decoupled in different variables are also possible. For example, using *b _{i}*,

*l*,

_{i}*ϕ*, bending is directly determined by

_{i}*b*and

_{i}*ϕ*, and extension by the total length

_{i}*l*. However, these descriptions complicate the formulation of the kinematics, rendering the subsequent study of the direct kinematics impractical, and the derivation of the inverse kinematics practically inviable. In addition, the use of these descriptions does not provide specific advantages in the study of the kinematics, and the specific bending and extension of sections can be obtained from the results obtained with the other section descriptions using Eqs. (3) and (4). Hence, the section descriptions used in this work are either

_{i}*σ*,

_{i}*ζ*,

_{i}*ϕ*or $xiF,yiF,ziF$.

_{i}The complete robot configuration is determined by the multiple individual sections described using either of the descriptions above.

### Direct Kinematics Derivation.

The direct kinematics mapping of the continuum robot can be obtained by subsequently applying the transformations corresponding to its serially stacked sections. Here, the sections are described using *σ _{i}*,

*ζ*,

_{i}*ϕ*. The orientation of the end effector is described using ZYZ Euler angles, as introduced at the latter part of this subsection, since it yields a simpler formulation of the direct kinematics that facilitates the subsequent Jacobian-based analysis of DOFs.

_{i}*i*relative to reference frame {

*F*} is defined as $piF$. This position $piF$ corresponds to the translation associated with section

*i*, and can be determined as a function of

*σ*,

_{i}*ζ*,

_{i}*ϕ*as

_{i}*i*relative to {

*F*}, defined as

**R**

*, requires some preliminary consideration. The rotation axis corresponding to*

_{i}**R**

*is perpendicular to the section's bending plane, and therefore always lies in plane*

_{i}**i**

*,*

^{F}**j**

*in Fig. 2. The rotation axis can thus be expressed in {*

^{F}*F*} as

*i*, defined as

*ρ*, can be obtained as a function of

_{i}*ζ*considering trigonometric relations. Since the triangle shown in blue in Fig. 2 is isosceles, then

_{i}**R**

*can then be directly obtained as a function of*

_{i}*ζ*and

_{i}*ϕ*using Eqs. (6) and (7). Thus, the homogeneous transformation associated with a section

_{i}**T**

*can be obtained as a function of*

_{i}*σ*,

_{i}*ζ*,

_{i}*ϕ*from

_{i}**R**

*and $piF$, as*

_{i}*c*and

_{ω}*s*denote $cos\u2009\omega $ and $sin\u2009\omega $, respectively. The total transformation of a robot composed of

_{ω}*n*/3 sections between its distal and proximal ends then is

*σ*,

_{i}*ζ*,

_{i}*ϕ*for

_{i}*i*= 1,…,

*n*/3.

*α*,

*β*,

*γ*, which is useful for the analysis of DOFs in 3.3. These ZYZ Euler angles can be obtained as a function of the robot configuration from the rotational component of Eq. (9), e.g., see Ref. [38], as

**T**

*. Thus,*

_{t}*α*,

*β*, and

*γ*can be directly obtained as a function of

*σ*,

_{i}*ζ*,

_{i}*ϕ*for

_{i}*i*= 1,…,

*n*/3 from Eq. (10) with the $Ttij$ determined from Eq. (9) combined with Eq. (8).

Defining a reference frame at the robot's proximal end as {*G*}, which coincides with reference frame {*F*} of the first robot section, the position of the robot's distal end relative to {*G*} can be denoted by $ptG$. The expression of $ptG$ as a function of the robot configuration can also be directly obtained from **T*** _{t}* (determined using Eq. (9) combined with Eq. (8)). It corresponds to the first three terms in the fourth column of

**T**

*.*

_{t}The direct kinematics can thus be determined by the distal end pose, defined by *α*, *β*, *γ,* and $ptG$, obtained as a function of the robot configuration *σ _{i}*,

*ζ*,

_{i}*ϕ*for

_{i}*i*= 1,…,

*n*/3, as described in the last two paragraphs.

### Degrees of Freedom Analysis.

The DOFs at the distal end of robots composed of two and three sections, which offer six and nine actuation DOFs from their sections, respectively, are considered in this subsection. It should be noted that in this analysis, the DOFs refer to the end-effector pose, and not to the possibility of continuous deformation of the robot sections in infinitely different ways. The robot sections are considered to provide three actuation DOFs each, as previously described in Sec. 2.

The DOFs at the end effector can be determined by studying the Jacobian **J** corresponding to the differentiation of the direct kinematics, i.e., differentiation of *α*, *β*, *γ*, and $ptG$, with respect to *σ _{i}*,

*ζ*,

_{i}*ϕ*for

_{i}*i*= 1,…,

*n*/3. The expression is not reproduced here since it has a significant extension, which makes it impractical to write explicitly. However, it can be calculated using a symbolic toolbox, such as the Symbolic Math Toolbox

^{TM}of Matlab (Mathworks Inc., Natick, MA), as implemented in this work.

By studying the rank of the Jacobian for a robot with *n* = 6, this is found to be 5. One degree of redundancy therefore exists. This result is also obtained in Sec. 4 using a different derivation, where the redundancy is also elucidated. The redundancy, however, differs from that in traditional multi-link robots since the kinematics are fundamentally different, and therefore a geometric analogy is not available. The fact that a robot with *n* = 6 provides 5DOFs at the end effector also implies a constraint on the reachable end-effector poses, which is derived in Sec. 4.4.

Interestingly, the end-effector orientation is the concatenation of the rotations associated with the robot sections, as expressed in Eq. (9). The rotation associated with a robot section with a given bending and extension can also be achieved with zero extension and a different, specific bending of the section. This bending can be directly determined from Eq. (3) by imposing the section rotation angle *ρ _{i}* = 2

*ζ*and the

_{i}*l*corresponding to zero extension, and determining the

_{i}*σ*and corresponding

_{i}*b*. Therefore, an end-effector orientation reached using both bending and extension can also be reached using only bending of the sections, with zero extension, which enables decoupling both types of actuation in this instance. Conversely, any end-effector orientation cannot be reached by only selecting the extension of the sections for a given bending, as a robot with

_{i}*n*= 6 only has 2DOFs corresponding to extension.

A robot with *n* = 9 provides 6DOFs at the distal end. This result can be obtained by studying the rank of the corresponding Jacobian, following an analogous procedure to that described for a two-section robot. A three-section robot therefore provides the ability to reach any pose in 3D space, as well as three degrees of redundancy that can be used, for instance, to avoid an obstacle.

## Inverse Kinematics

The closed-form solution to the inverse kinematics problem is presented in this section. This involves determining the configuration of the two arcs composing a robot with *n* = 6 to reach a specified end-effector pose. Despite the apparent simplicity of the problem, its solution is not trivial. Attempts to solve Eq. (1) with *g*(*θ*) formulated as in Sec. 3 do not yield closed-form solutions. Instead, an alternative approach is required.

The approach proposed here is conceptually illustrated in Fig. 3. It involves considering the orientation at the point of junction between the two sections, which can be defined as $pmG$ relative to the robot's proximal end, as a result of the transformations associated with the sections from the robot's proximal and distal ends. For an arbitrary position of $pmG$, the approaches from both ends generally lead to different orientations. By imposing that both orientations coincide, a set of conditions emerge, which constitute the inverse kinematics problem.

### Inverse Kinematics Formulation.

Simplicity in the conditions constituting the inverse kinematics problem is crucial to enable the derivation of a closed-form solution. The use of Euler angles to describe the end-effector orientation is not suitable in the case of the inverse kinematics, as it complicates significantly the problem formulation, rendering it practically intractable. Instead, in this instance, orientation is described using quaternions, which are better suited to address the inverse kinematics problem. In addition, the robot sections are described using the second description introduced in Sec. 3.1, which employs $xiF,yiF,ziF$ (Fig. 2). The combination of quaternions and this section description enables the derivation of the closed-form solutions to the inverse kinematics reported in Secs. 4.1, 4.2, 4.4, and 4.5. A key challenge is finding the relative orientation between the ends of a section as a function of $xiF,yiF,ziF$.

*i*is determined by an axis

**w**

*and an angle*

_{i}*ρ*, as discussed in Sec. 3.2. The orientation at the section tip can be expressed by a unit quaternion

_{i}**q**

*relative to a reference frame at the base of the section {*

_{i}*F*}, which is

where **i*** ^{F}*,

**j**

*, and*

^{F}**k**

*are the unit vectors of the {*

^{F}*F*} frame, and

*w*,

_{ii}*w*, and

_{ij}*w*denote the three components of

_{ik}**w**

*. It should be noted that*

_{i}*w*is zero, as previously introduced in Eq. (6), and therefore the orientation of the section tip corresponds to a rotation of {

_{ik}*F*} about an axis that lies in the

**i**

*and*

^{F}**j**

*plane. The rotation axis*

^{F}**w**

*is perpendicular to the plane of bending of section*

_{i}*i*. Thus, the orientation at the tip of section

*i*described by quaternion

**q**

*in Eq. (11) corresponds to a zero twist configuration of section*

_{i}*i*from a continuum body perspective. Quaternion

**q**

*then correctly represents the full orientation at the tip of section*

_{i}*i*relative to {

*F*} in an actual continuum robot.

It should be noted that in this work we obtain **q*** _{i}* in Eq. (11) directly as the total rotation from frame {

*F*} to the orientation at the tip of section

*i*. This approach differs from the three successive rotations commonly used in the literature [1] to find the orientation at the tip of section

*i*. Still, our approach leads to an equal resulting orientation at the tip of section

*i*, and is more straightforward when using quaternions.

**q**

*as a simple function of $xiF,yiF,ziF$ requires some consideration. First, by using the identity in the scalar product between the vector corresponding to the position of the section's tip $[xiF,yiF,ziF]$ and the unit vector*

_{i}**k**

*,*

^{F}The simplicity of Eq. (15) enables the subsequent derivation of a closed-form solution to the inverse kinematics.

*n*= 6, as illustrated in Fig. 4 by plotting the centerline of the robot's sections, the reference frame at the robot's proximal end is {

*G*}. Another reference frame at the robot's distal end can be denoted by {

*T*}. The orientation of {

*T*} is defined so that it coincides with {

*G*} when the robot is in a straight configuration. The orientation of the robot's end effector relative to {

*G*} can be defined as

and the corresponding rotation matrix is denoted by **R*** _{t}*.

*G*}. This distal end of Sec. 1 is the same as the point of junction between both sections $pmG$, and thus the Cartesian coordinates $x1G,y1G,z1G$ correspond to the three components of $pmG$. The orientation at the distal end of Sec. 1 can then be determined using Eq. (15) as

*T*}. The proximal end of Sec. 2 is $pmT$, which is the same point in space as $pmG$, but here it is expressed relative to {

*T*}. Thus, in this case, the proximal end of Sec. 2 acts as the tip of the section, and the base of Sec. 2 lies at the origin of {

*T*} (Fig. 4). The rotation $q2\u22121$ corresponding to the second section, which is relative to the robot's distal end reference frame, can therefore be expressed as a function of $x2T,y2T,z2T$ as

It should be noted that the rotation $q2\u22121$ corresponds to a section that begins at the robot's distal end in a direction opposite to the **k*** ^{T}* axis of {

*T*}. Still, expression (18) remains valid due to geometric symmetry.

*G*} and {

*T*}, respectively. Reference frames {

*T*} and {

*G*} are related through a translation $ptG$ and a rotation $Rt\u22121$. The components of $Rt\u22121$ can be denoted by $Rt,ij\u22121$, which correspond to row

*i*and column

*j*. These components of $Rt\u22121$ are given by the specified end-effector pose. Thus, vectors $[x1G,y1G,z1G]$ and $[x2T,y2T,z2T]$ are also directly related for a specified end-effector pose. The relation can be expressed as

where $ptiG,\u2009ptjG,\u2009\u2009and\u2009ptkG$ denote the three components of $ptG$.

The rotation $q2\u22121$ in Eq. (18) can then be expressed as a function of $x1G,y1G,z1G$ using Eq. (19). Thus, for any position of $pmG$, the resulting orientation when approached from the robot's proximal and distal ends can be expressed by $q1(x1G,y1G,z1G)$ and $q2\u22121(x1G,y1G,z1G)$, respectively.

### Inverse Kinematics Solution.

*x*,

*y*, and

*z*are used to indicate $x1G,y1G,\u2009and\u2009z1G$. Substituting Eqs. (17) and (18) into Eq. (21) and using the change of variable Eq. (19), the following conditions emerge:

where **d** = [*x*, *y*, *z*], and $h1=[Rt,11\u22121,Rt,12\u22121,Rt,13\u22121],\u2009h2=[Rt,21\u22121,Rt,22\u22121,Rt,23\u22121],\u2009h3=[Rt,31\u22121,Rt,32\u22121,Rt,33\u22121]$, which correspond to the rows of $Rt\u22121$. The components of $Rt\u22121$ are determined by the specified end-effector orientation, and are thus directly related to **q*** _{t}*. It should be noted that the main nonlinearities in Eq. (22) arise from the exponentials related to the moduli on the right hand side.

*x*

*z*, which acts as a parameter. The points

*x*,

*y*, and

*z*correspond to the point of junction between the two sections, $pmG$, and completely defines the configuration of each of the two robot sections. This solution can also be expressed with the more conventional variables

*σ*,

_{i}*ζ*, and

_{i}*ϕ*using the change of variable (5) for the proximal section, and by using an analogous relation with the change of variables (19) for the distal section.

_{i}where the curve is parametrized by *z* as in Eq. (26). This corresponds to a degree of redundancy in the robot space, which is discussed in Sec. 4.3.

The solution to the inverse kinematics derived here always exists for any *g _{t}* inside the robot's workspace, and is not affected by singularities. The solution is expressed in closed form by Eqs. (26) and (23) for the general case

*μ*≠ 0. For the particular case

*μ*= 0, the solution is determined by substituting the relation between

*x*and

*z*determined by Eq. (22

*a*) with

*μ*= 0 into the difference between Eqs. (22

*b*) and (22

*c*), in an analogous manner as described previously in this section but for the simpler case,

*μ*= 0. The resulting expression is equivalent to Eq. (26).

The fact that the solution is derived in closed form implies that it is straightforward to implement in practice, requiring a negligible computational time. In addition, the solution applies to any reachable *g _{t}* without any additional complexity. The closed-form solution can then be used in the design of control laws and path planning algorithms. The derivation of the inverse kinematics solution in closed form also elucidates a kinematic redundancy, which enables one to select the most desirable robot configuration for each

*g*, as described in Sec. 4.3.

_{t}### Redundancy in Inverse Kinematics.

The direct kinematics analysis of Sec. 3.3 indicates a degree of redundancy in a robot with six actuation DOFs operating in *SE*(3). This is verified and elucidated by the solution to the inverse kinematics system (22). For a specified *g _{t}* inside the workspace, there exist an infinite number of solutions for the point of junction between the two robot sections [

*x*,

*y*,

*z*] that allow

*g*to be reached, which determine the robot's self-motion.

_{t}These solutions define on a curve, determined by Eqs. (23) and (26), as a function of the parameter *z*. This curve lies on a plane determined by *λ*, *μ*, and *ν*, and is elliptical in geometry.

An example of such an ellipse is plotted in orange in Fig. 5 for a *g _{t}* at $ptG=[\u22120.14,5.28,1.02]\u2009[a.u.]$ position, and $qt=0.1+0.36iG\u22120.17jG+0.91kG$ orientation. The different points on the orange curve are possible positions of the point of junction $pmG$, and thus correspond to different extension and bending of the robot sections. Two robot configurations corresponding to the inverse kinematics solution for the same specified

*g*and different positions of $pmG$ on the orange curve of possible solutions are also plotted in Fig. 5 to help illustrate the kinematic redundancy. The two configurations correspond to different extension and bending of the sections, but reach the same

_{t}*g*. The most desirable robot configuration to reach a

_{t}*g*can therefore be selected, which enables avoiding collisions between the robot and obstacles in the environment, and respecting the physical constraints on extension and bending of the sections.

_{t}### Condition on End-Effector Configuration.

*x*,

*y*,

*z*, and the end-effector pose by using Eqs. (17)–(19), a set of equations equivalent to Eq. (22) is obtained as

It should be noted that the left hand side of the system of Eq. (29) is linear.

Since systems (22) and (29) are equivalent, the constituting equations must be concurrently satisfied. Equations (22*a*) and (29*a*) correspond to two parallel planes. However, they are not necessarily coincident, as this depends on the desired end-effector pose. Thus, the poses *g _{t}* that simultaneously satisfy Eqs. (22

*a*) and (29

*a*) constitute the reachable end-effector configurations.

Equation (30) indicates that the position of the robot's end-effector must be on a plane determined by *λ*, *μ*, *ν*, which is the same plane where the distal end of the proximal section, $pmG$, must be. Interestingly, condition (30) does not constrain *κ*. The condition on the reachable end-effector configurations can also be expressed in terms of the ZYZ Euler angles by transforming *λ*, *μ*, *ν* into *α*, *β*, *γ*, e.g., as in Ref. [46].

Thus, by selecting five variables to specify the desired end-effector pose, one of which must correspond to *κ* or its equivalent in Euler angles, condition (30) can be then used to obtain the sixth variable, thereby completely defining the robot's end-effector pose. The inverse kinematics solution can be subsequently determined, as described in Sec. 4.2.

### Higher Dimensional Robot Configurations.

The discussion in Secs. 4.2, 4.3, and 4.4 shows that a robot with *n* = 6 provides 5DOFs at the end-effector. In order to achieve 6DOFs at the end effector, an additional robot section is required, as justified in Sec. 3.3, resulting in a robot with *n* = 9. The generalization of the work to robots with *n* = 9 is outlined in this subsection.

*B*} can be defined, which coincides with the robot's proximal end. The configuration of the proximal section can be described by $x0B,y0B,z0B$, which correspond to the position of the proximal section's distal end relative to {

*B*}. The orientation of the proximal section's distal end relative to {

*B*} can be expressed by a quaternion using Eq. (15) as

A reference frame can then be defined at the distal end of the proximal section ${G\u2032}$, the position and orientation of which are a function of $x0B,y0B,z0B$.

*B*} can be denoted by $p\tau B$ and

**q**

*. The orientation of the robot's end-effector relative to ${G\u2032}$, which can be defined as $q\tau \u2032$, can then be obtained as a function of $x0B,y0B,z0B$ and*

_{τ}**q**

*as*

_{τ}The kinematics subproblem corresponding to the two distal sections of the robot implies a condition on the reachable $p\tau G\u2032,\u2009q\tau \u2032$, elucidated in Eq. (30). Instead, the three-section robot allows 6DOFs at the end-effector. Using Eqs. (32) and (33), condition (30) corresponding to the two distal sections can be translated into a condition on $x0B,y0B,z0B$ for a given $p\tau B$ and $q\tau $.

The inverse kinematics subproblem for the two distal sections can then be solved using Eq. (27), for a pose specified by $p\tau G\u2032$ and $q\tau \u2032$, which now satisfies Eq. (30). Substitution of expressions Eqs. (32) and (33) into the $p\tau G\u2032$ and $q\tau \u2032$ of such solution Eq. (27) provides the general solution to the inverse kinematics of the complete robot as a function of $x0B,y0B,z0B$, which in turn are related by the aforementioned condition.

Thus, the three-section robot allows for the complete control of the end-effector pose inside the workspace, and three degrees of redundancy. In a typical scenario, one of them can correspond to the two distal sections, and the other two may correspond to the proximal section.

## Simulations

The robot configurations corresponding to the inverse kinematics solution in different scenarios are simulated in this section for robots with *n* = 6 in order to help illustrate the results obtained. The simulations also provide a verification of the work presented in this paper, and show the behavior of continuum robots with bending and extension capabilities in some representative cases.

The configuration of a robot with a specified end-effector pose $ptG=[2.64,0.92,\u22120.26]\u2009[a.u.]$ and $qt=0.87+0.13iG\u22120.27jG+0.40kG$ is illustrated in Fig. 4 with a plot of the centerline of the robot's sections, together with four lines that follow the outer contour of the continuum robot, showing that this does not undergo any twist and that its torsional alignment is correct. The end-effector pose is selected to satisfy Eq. (30). The solution is calculated using Eqs. (23) and (26), with an arbitrary value of *z* = −3. The coordinates of the point of junction between the two sections $pmG$ are found to be *x* = 1.40, *y* = −3.80, *z* = −3 [*a*.*u*.]. Using Eqs. (2) and (19), the variables directly describing the two sections can be obtained as *σ*_{1} = 5.04, *ζ*_{1} = 2.21, *ϕ*_{1} = −1.22, *σ*_{2} = 5.60, *ζ*_{2} = 1.00, *ϕ*_{2} = −0.58. As can be seen in Fig. 4, the tangency of the arcs is respected, and the resulting robot end-effector pose matches the specified pose exactly.

The robot configuration shown in Fig. 4 is a solution to the inverse kinematics, but it requires significant room to maneuver, which may not be available when operating in confined environments. In this regard, different possible robot configurations for the same end-effector pose, which correspond to the redundancy presented in Sec. 4.3, are plotted in Fig. 6. These highlight the capability provided by the inverse kinematics solution to select the most suitable robot configuration to reach a desired end-effector pose.

Finally, four robot configurations corresponding to the robot moving vertically and with an end-effector orientation changing gradually are plotted in Fig. 7, with pose values specified in the figure caption. All four end-effector poses satisfy Eq. (30), and the corresponding robot configurations are determined using the inverse kinematics solution (26), (23), with appropriate *z* values to prevent excessive bending or extension of the sections. As can be seen in Fig. 7, these robot configurations result in a smooth motion of the robot, which illustrates the suitability of the inverse kinematics solution in determining appropriate robot configurations to execute a desired motion.

## Conclusion

The direct and inverse kinematics of continuum robots with constant curvature bending and extending capabilities can be solved in closed form using the approach proposed in this paper. The problem description is determinant in the complexity of the kinematic mappings. The use of quaternions enables the derivation of the closed-from solution to the inverse kinematics presented in this work. The kinematic analysis required to obtain these solutions also produces additional results, which are of interest. Among the most prominent of these is the fact that a manipulator with six actuation DOFs is only capable of 5DOFs at the end effector. This redundancy is translated as a curve corresponding to the inverse kinematics solution, which can be expressed in closed form as described in this paper. A condition on the reachable end-effector poses using a robot with six actuation DOFs therefore exists, which is also drawn from the analysis presented in this paper. The kinematic solutions derived for a robot with six actuation DOFs can also be used to determine the solution to the inverse kinematics of a higher order system necessary to reach 6DOFs at the end effector, as outlined in this work. Finally, the simulated solutions presented here show a variety of robot configurations available to reach a desired end-effector pose, illustrating the possibility of selecting suitable configurations for different scenarios. It should be noted that this work is for continuum robots made of sections that can both bend and extend. This current work cannot be directly generalized to continuum robots made of inextensible sections (sections with two bending DOFs).

## Funding Data

Engineering and Physical Sciences Research Council (Grant No. EP/L015587/1).

Rolls-Royce plc.

Arnau Garriga-Casanovas is supported by an industrial fellowship from the Royal Commission for the Exhibition of 1851.

## Nomenclature

*α*,*β*,*γ*=ZYZ Euler angles denoting orientation of the robot end-effector, primarily used in direct kinematics

*δ*=differential increment

*ζ*=_{i}angle between vector from base to tip of section

*i*and vector tangential to section*i*at its base*θ*=generic variable denoting an actuation degree of freedom

*κ*,*λ*,*μ*,*ν*=individual components of quaternion

**q**_{t}*ρ*=_{i}angle of rotation associated to section

*i**σ*=_{i}Euclidean distance between the base and tip of section

*i**ϕ*=_{i}angle between the projection of section

*i*on the plane perpendicular to its base and the**i**axis of frame {^{F}*F*} at the section base, defining the direction of bending*b*=_{i}bending curvature of section

*i*- {
*B*} =reference frame

*B*situated at the proximal end of a three-section robot **d**=vector equal to [x, y, z]

*f*_{1},*f*_{2}=functions defining the inverse kinematics solution parametrized by

*z*- {
*F*} =reference frame

*F*situated at the base of a specified robot section *g*=mapping between actuation degrees of freedom and end-effector pose, used conceptually

*g*=_{t}end-effector pose, with

*g*∈_{t}*SE*(3)- {
*G*} =reference frame

*G*situated at the proximal end of a two-section robot - ${G\u2032}$ =
reference frame

*G*situated at the distal end of the first section in a three-section robot **h**_{1},**h**_{2},**h**_{3}=vectors corresponding to the first, second and third rows of $Rt\u22121$, respectively

*i*=robot section index, commonly used as a subscript

**i**,^{F}**j**,^{F}**k**=^{F}unit vectors corresponding to frame {

*F*}**J**=robot Jacobian corresponding to the differentiation of the end-effector pose,

*α*,*β*,*γ*and $ptG$, with respect to the actuation DOFs*σ*,_{i}*ζ*,_{i}*ϕ*, for_{i}*i*= 1,…,*n*/3- $J\u2032$ =
robot Jacobian corresponding to the differentiation of $tan\u2009\alpha ,\u2009tan\u2009\beta ,\u2009tan\u2009\gamma $ and $ptG$, with respect to

*σ*,_{i}*ζ*,_{i}*ϕ*, for_{i}*i*= 1,…,*n*/3 *l*=_{i}total arc length of extended section

*i**n*=number of actuation degrees of freedom

- $p\tau B$ =
vector denoting the position of the robot end-effector relative to frame {

*B*}, used in three-section robots - $piF$ =
vector denoting the position of the tip of section

*i*relative to reference frame {*F*} - $pmG$ =
vector denoting the position of the point of junction between two sections in a robot with

*n*= 6 - $ptG$ =
vector denoting the position of the robot end-effector relative to reference frame {

*G*} - $p\tau iB,p\tau jB,p\tau kB$ =
individual components of vector $p\tau B$

- $ptiG,ptjG,ptkG$ =
individual components of vector $ptG$

**q**=_{i}unit quaternion corresponding to the rotation associated to section

*i*, primarily used in inverse kinematics**q**=_{t}unit quaternion denoting to the orientation of the robot distal end

**q**=_{τ}unit quaternion corresponding to the end-effector orientation relative to the robot base, for three-section robots

- $qi\u22121$ =
inverse of quaternion

**q**_{i} - $q\tau \u2032$ =
unit quaternion corresponding to the end-effector orientation relative to frame ${G\u2032}$, for three-section robots

**R**=_{i}matrix of rotation associated to section

*i***R**=_{t}rotation matrix denoting the orientation of the robot distal end relative to the robot base

- $Rt\u22121$ =
inverse of

**R**_{t} - $Rt,ij\u22121$ =
individual components of $Rt\u22121$ corresponding to row

*i*and column*j* **T**=_{i}homogeneous transformation associated to section

*i***T**=_{t}total transformation of a robot between proximal and distal ends

- $Ttij$ =
individual component of matrix

**T**corresponding to the element in row_{t}*i*and column*j* - {
*T*} =reference frame

*T*situated at the robot distal end **w**=_{i}vector denoting rotation axis associated to section

*i**w*,_{ii}*w*,_{ij}*w*=_{ik}individual components of rotation axis vector associated to section

*i**x*,*y*,*z*=simplified notation for $x1G,y1G,z1G$, which denotes the Cartesian coordinates of the tip of Sec. 1 relative to frame {

*G*}- $xiF,yiF,ziF$ =
Cartesian coordinates of the tip of section

*i*, relative to reference frame {*F*}