Next Article in Journal
A Framework to Study and Design Communication with Social Robots
Previous Article in Journal
A Review on the Use of Mobile Service Robots in Elderly Care
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

FABRIKx: Tackling the Inverse Kinematics Problem of Continuum Robots with Variable Curvature

by
Dmitrii Kolpashchikov
1,*,
Olga Gerget
2 and
Viacheslav Danilov
3,4
1
School of Computer Science and Robotics, Tomsk Polytechnic University, 634000 Tomsk, Russia
2
Institute of Control Sciences, 117997 Moscow, Russia
3
Quantori, Cambridge, MA 02142, USA
4
Department of Mechanical Engineering, Politecnico di Milano, 20133 Milan, Italy
*
Author to whom correspondence should be addressed.
Robotics 2022, 11(6), 128; https://doi.org/10.3390/robotics11060128
Submission received: 12 October 2022 / Revised: 9 November 2022 / Accepted: 11 November 2022 / Published: 15 November 2022
(This article belongs to the Section Soft Robotics)

Abstract

:
A continuum robot is a unique type of robots which move because of the elastic deformation of their bodies. The kinematics of such robots is typically described using constant curvature assumption. Such an assumption, however, does not completely describe the kinematics of a real-life continuum robot. As a result, variable curvature assumptions describe the kinematics of the continuum robot better, however, they are more complicated to formulate and work with. In particular, the existing methods of solving the inverse kinematics problem of multisection continuum robots with variable curvature suffer from a variety of deficiencies. Those deficiencies include complex matrix calculations, singularity problems, unscalability, and inability to find a numeric solution in some cases. In this work, we present FABRIKx: fast and reliable algorithm to solve the problem of inverse kinematics of the multisection continuum robot with variable curvature. In particular, to describe the variable curvature, we utilize a piecewise constant curvature assumption. The proposed algorithm combines both tangent and chord approaches to solve the inverse kinematics problem. The inverse kinematics of a single bending section of piecewise constant curvature is also described. To evaluate FABRIKx effectiveness, we compare it with the Jacobian-based and FABRIKc-based algorithms via simulation studies for different robots. The obtained results show that FABRIKx demonstrates a higher success rate and a lower solution time.

1. Introduction

Continuum robots are flexible manipulators that move because of the elastic deformation of their bodies. The flexible design of continuum robots makes them able to avoid unwanted collisions in a confined workspace, navigate to hard-to-access areas, and grasp objects using their body. They are used for different purposes including machining [1], non-destructive testing, and repairs inside complex devices [2,3,4]. In addition, continuum robots are able to reach hard-to-access and dangerous areas, such as outer space [5,6] and underwater [7]. Another sphere actively using these devices is medicine, where the continuum robots are used as endoscopes and surgical instruments for minimally invasive surgery [8,9,10].
Inverse kinematics is crucial for providing autonomy, motion planning, trajectory optimization, and obstacle avoidance for continuum robots. Despite significant attention from researchers, inverse kinematics for multisection continuum robots remains an open problem. This problem occurs due to the complex non-linear behavior and redundancies of continuum robots.
The constant curvature assumption is a widely accepted approach and is used to simplify the modeling of continuum robots. It states the following: if each section is optimally constructed, then each section will bend such that the curvature and torsion are approximately constant [11]. Together with the assumption that robot construction does not allow torsion, the constant curvature assumption allows describing the section backbone as a circle arc. In its turn, the end-effector of the arc can be described by a virtual robot comprising one rigid link with variable length and two to five revolution joints [12]. This significantly reduces the kinematic model parameters.
The constant curvature assumption is used to define the forward and inverse kinematics of continuum robots comprising non-extensible [11,12,13], extensible [14,15], and telescopic sections [16,17]. The most common way to solve the inverse kinematics of constant curvature multisection continuum robots is the usage of Jacobian-based methods [12,14]. Other options are geometric [13,18] and analytical (not appliable to multisection robots comprising non-extensible sections) methods [15], learning-based [19] methods, and FABRIK-based (forward- and backward-reaching inverse kinematics) algorithms [20,21].
However, a section of a real continuum is not optimally constructed, and thus the constant curvature assumption does not properly model the backbone of the bending section, especially when the external forces are non-negligible or the section is designed in such a way that constant curvature is not appliable. A more realistic way to model continuum robots is to use variable curvature. The variable-curvature kinematic model can be described by Euler spirals [22,23], Pythagorean hodograph curves [24], mode shape functions [25], and piecewise constant curvature assumption [26]. Piecewise constant curvature assumption describes the deformation of a single section with a finite number of serially connected circular arcs—subsections. The piecewise constant curvature assumption is used to model more realistic kinematics of conically shaped continuum robots.
Nowadays, several approaches are employed to solve the inverse kinematics of multisection continuum robots with variable curvature. The Jacobian-based approach is a commonly used approach to find inverse kinematics solutions [26]. It uses the minimum-norm and minimax iterative algorithms to solve the inverse kinematics problem, e.g., Newton’s method. The Jacobian-based methods are accurate and capable of working in real time. However, they suffer from a high computational cost, complex matrix calculations, singularity problems, and the inability to find a solution in some cases.
Model-free approaches are used to solve inverse kinematics and control continuum robots without an a priori known robot model. An example of such an approach is represented by neural networks [27,28]. They create models based on data from the real robot or accurate models to predict the inverse kinematics solution. Such models allow fast computation of inverse kinematics without knowing physics-based models in advance. The trained models achieve both a low error rate and low latency. However, the learning-based approach is badly scalable and requires training a new model for each new robot design.
Model-free approaches are also used for feedback control of continuum robots. They show better accuracy than constant curvature models because they can implement the control policies directly from the task space in the actuation space, avoiding model mismatches. Model-free approaches that are used to control continuum robots are based on: Fuzzy Logic [29], recurrent neural networks [30], and reinforcement learning [31].
The next approach is based on bioinspired algorithms such as particle swarm optimization [32,33,34], genetic algorithms [33,34], and artificial bee colony algorithms [33]. These algorithms minimize the error between the current and desired end-effector position and orientation by changing their configuration variables. All the mentioned algorithms successfully solve inverse kinematics in real time. However, current studies are limited to three-section continuum robots; in this regard, the scalability of bioinspired algorithms is unknown.
In this paper, we present FABRIKx—a fast and reliable algorithm for solving the inverse kinematics of variable-curvature multisection continuum robots. We chose FABRIK [35] as the base algorithm due to its singularity-free nature demonstrating good results for constant curvature continuum robots [20,36]. We combine both tangent [20] and chord [21] approaches with the piecewise constant curvature assumption. To do that, a section of the continuum robot is simplified to one virtual revolution joint and two virtual links with variable lengths. The links are tangent to the beginning and the end of the section. A joint is placed at their intersection. Tangent links are used to define the preliminary pose of the robot during the forward-reaching stage. During the backward-reaching stage, the chords are used to define section configuration parameters by single-section inverse kinematics. Those parameters are used to redefine link lengths and robot pose.
Our study describes several ways to obtain an inverse kinematics solution for a single bending section that is described by the piecewise constant curvature assumption. To prove FABRIKx’s effectiveness, we compare it with the Jacobian-based algorithm and FABRIKc-based algorithm in simulation for different robots. An overview of the whole algorithm is presented in Figure 1.

2. Forward Kinematics

To describe piecewise constant curvature forward kinematics, we use several assumptions [26]:
  • Continuum robots consist of N independent, consecutive sections (Figure 2a). Two bending sections have the same tangent vector at the point of their connection.
  • Each section can be divided into M subsections (Figure 2b). All subsections bend simultaneously when the section bends. The angle between the first and the last tangent is the bending angle of the section. Two subsections have the same tangent vector at the point of their connection. The robot design excludes section torsion.
  • The constant curvature assumption describes subsection shape (Figure 2c). Therefore, the end-effector of a subsection can be defined using a virtual rigid robot (Figure 2d).
Figure 2. Kinematics structure of a variable-curvature multisection continuum robot. (a) General robot kinematics. (b) Kinematics of the i -th section. (c) Kinematics of the j -th subsection. (d) A virtual rigid robot that describes a subsection.
Figure 2. Kinematics structure of a variable-curvature multisection continuum robot. (a) General robot kinematics. (b) Kinematics of the i -th section. (c) Kinematics of the j -th subsection. (d) A virtual rigid robot that describes a subsection.
Robotics 11 00128 g002
According to assumption 3, a subsection is a circular arc that can be described by a virtual rigid robot. Transformation matrix B i , j describing the bending of the j -th subsection of the i -th section is defined as follows:
B i , j = cos θ i , j 0 sin θ i , j S i , j · 1 cos θ i , j θ i , j 0 1 0 0 sin θ i , j 0 cos θ i , j S i , j · sin θ i , j θ i , j 0 0 0 1
where S i , j is the subsection length, and θ i , j is the subsection bending angle that is defined as follows:
θ i , j = w i , j · θ i k = 1 M w i , k
where θ i is the section bending angle, and w i , j is the subsection weight. Subsection weights are defined during robot construction.
According to assumption 2, a section is a sequence of subsections without torsion between them. Therefore, subsections of a single section are bent in the same plane. Transformation matrix B i that describes the bending of i -th section is defined as follows:
B i = T Z φ i j = 1 M B i , j
where M is the number of subsections, T Z φ is the rotation around the z-axis at the section rotation angle φ , and T i , 0 is the section base.
According to assumption 1, a continuum robot is a sequence of sections. The position and orientation of the robot end-effector T N is defined as follows:
T N = T 0 i = 1 N B i
where T 0 is the robot base, and N is the number of sections.

3. Inverse Kinematics

3.1. Single-Section Inverse Kinematics

The single-section inverse kinematics defines a single possible robot configuration that satisfies the end-effector position P T . The single-section inverse kinematics requires the following input data: target point P T , subsection lengths S , section weights w , and section base frame T 0 . The output data are configuration variables, such as the bending angle θ and the rotation angle φ .
The rotation angle φ of the section is defined using the P T X and P T Y components of the target point P T in the section base frame T 0 :
P = T 0 1 · P T
φ = a t a n 2 P Y , P X
In this work, we use three different approaches to define the bending angle θ .

3.1.1. FABRIKc-Based Method

This approach is inherited from the FABRIKc algorithm [20]. Here, the bending angle is defined as the angle between section tangents:
θ = acos Z B a s e · Z E n d
where Z B a s e is the z-axis of the section base, and Z E n d is the z-axis of the section end.

3.1.2. Iterative Method

The bending angle can be found through the chord angle. For constant curvature sections, the ratio of the bending angle θ to the chord angle α is known. It is constant and the same for all constant curvature sections. However, for the variable-curvature section, this ratio depends on subsection lengths, weights, and the current bending angle. Examples of the ratio between the bending angle θ and the chord angle α for the three different sections (parameters presented in Table 1) are shown in Figure 3.
An iterative method of finding the bending angle θ using the chord angle α is the following:
  • Define chord angle α :
    α = acos Z B a s e · P P
  • Assume that bending angle θ is equal to chord angle α :
    θ = α
  • Define section endpoint P using forward kinematics (1)–(3) for bending angle θ and rotation angle φ .
  • Define chord angle α for point P by (8).
  • If the difference between angles α and α is lower than the tolerance ϵ , then θ is a solution. Otherwise, redefine θ as follows:
    θ = α · θ / α
Then, go to step 3.
A flowchart of the single-section iterative inverse kinematics is presented in Figure 4.

3.1.3. Approximation

A simpler way to get the bending angle from the chord angle is to use approximation. To do this, a set of bending angles and the corresponding chord angles must be obtained in advance. Then, a function properly describing this data has to be selected. This approach is faster than the iterative one; however, its accuracy depends on approximation quality.

3.2. Multisection Inverse Kinematics

The inverse kinematics algorithm of a multisection robot searches for a robot configuration (set of bending and rotation angles) that can reach a target position P T with a linear tolerance of ε L and a target orientation Z T with an angular tolerance of ε A .
The algorithm starts with some initial pose, where all 2 N + 1 keypoints are known. The keypoints are the beginning of the robot, the ending of each section, and tangent intersection points. Lengths L of tangent links are defined based on keypoints:
L 2 i 1 = P 2 i P 2 i 1
L 2 i = P 2 i P 2 i + 1
where i = 1 N is the section number.
Each iteration of the algorithm comprises forward-reaching and backward-reaching stages. An example of an iteration of inverse kinematics for a three-section continuum robot is reflected in Figure 5.

3.2.1. Forward Reaching

During the forward-reaching stage, the algorithm processes the robot as if it comprises only rigid links connected by spherical joints with no restrictions on the rotation angles. These links are section tangents.
In the first step the point P N is moved to the target position P T :
P N = P T
Then, the value of the tangent vector V is set as follows:
V = Z T
If Z T is not specified, then:
V = P N P N 1 / P N P N 1
Then, all remaining keypoints are redefined starting from the last section N to the first section. In order to do that, the following steps are taken. A tangent intersection point is defined as follows:
P 2 N i = P 2 N i + 1 + V · L 2 N i
The tangent vector is defined as follows:
V = P 2 N i P 2 N i 1 / P 2 N i P 2 N i 1 , i f   i   N 1 Z 0 , o t h e r w i s e
The endpoint of the section is defined as:
P 2 N i 1 = P 2 N i + V · L 2 N i 1
where i = 0 N 1 .

3.2.2. Backward Reaching

Next comes the backward-reaching stage. During this stage, the algorithm defines the configuration parameters ( θ , φ ) of each section from the first to the last section i = 1 N using single-section inverse kinematics for point P 2 i + 1 and base T i 1 . To implement joint limit avoidance, the bending angle θ cannot be larger than the maximum bending angle θ m a x :
θ i = θ i , i f θ i < θ m a x θ m a x , o t h e r w i s e
Then, forward kinematics Equations (1)–(4) are used to redefine each section end-point P 2 i + 1 .
Next, the tangent lengths are updated using the law of sines (see Figure 6):
L 2 i 1 = P 2 i 1 P 2 i + 1 · sin θ i α / sin π θ i
L 2 i = P 2 i 1 P 2 i + 1 · sin α / sin π θ i
For the bending angle θ = 0 :
L 2 i 1 = L 2 i = P 2 i 1 P 2 i + 1 / 2
The tangent intersection point is updated as follows:
P 2 i = Z i 1 · L 2 i 1 + P 2 i 1  
When the backward-reaching stage is finished, the linear and angular errors are calculated. If the linear or angular error is bigger than the tolerance, then the algorithm performs another iteration starting from forward reaching. Otherwise, the received bending and rotation angles are the final solution of the inverse kinematics. A flowchart of the FABRIKx algorithm is presented in Figure 7.

3.3. Jacobian-Based Inverse Kinematics

The Jacobian-based approach is the most common way to solve the inverse kinematics problem for both continuum and traditional rigid robots. In this study, we use Newton’s method. According to this method, configuration parameters are updated as follows:
x k + 1 = x k + ( J x k T · J x k + W ) 1 · J x k · G F x k
where x k and x k + 1 are the current and next robot configuration parameters, respectively, J x k is the Jacobian matrix with the parameters x k , F x k is the current position and the current angular error for the parameters x k , W is the damping factor, and G is a vector consisting of the coordinates of the target point and desired angle between the current orientation vector and the desired orientation vector (equal to 0):
G = X T Y T Z T 0 T
The current position F x k is defined by forward kinematics and the angle between the target and the current vector:
F x k = P N , x P N , y P N , z arccos Z T · Z Q x k

4. Simulation

In order to prove the effectiveness of the FABRIKx algorithm, we tested it on a wide variety of robot designs (Table 2), including the following:
  • Three-section robot with three subsections per section.
  • Three-section robot with five subsections per section.
  • Three-section robot with seven subsections per section.
  • Three-section robot with nine subsections per section.
  • Five-section robot with three subsections per section.
  • Seven-section robot with three subsections per section.
Each section has two DOFs, including bending (limited by 100°) and rotation. Each section has a unique workspace (several examples are shown in Figure 8). The initial pose of every robot implies that all bending and rotation angles are set to 0.
FABRIKx was used in two variations to solve single-section inverse kinematics, namely an iterative method with accuracy ϵ = 0.006 ° (I) and a 10-degree polynomial approximation (P). Both the Jacobian-based algorithm and the FABRIKc-based algorithm are used for comparison.
We consider that the algorithm reaches the target if the linear error is less than 10 µm and the angular error is less than 0.01°. The algorithm running time was limited to 30 ms. We note that the running time was increased up to 0.5 s for Robots 5 and 6 using the Jacobian-based algorithm. This case is labeled by the prefix (S).
We used 10 5 target positions and orientations as input of the inverse kinematics algorithms for each robot. For this sample size, the sampling error reaches 0.41% for a 99% confidence level. Forward kinematics provides each target using random input. Using forward kinematics ensures that all targets have at least one solution of inverse kinematics.
Table 2. Robot parameters.
Table 2. Robot parameters.
SectionSubsection Lengths, mmSubsection Weights
Robot 1
(3 × 3)
1[20, 40, 10][1, 0.001, 3]
2[10, 20, 40][3, 2, 1]
3[30, 10, 30][1, 7, 1]
Robot 2
(3 × 5)
1[20, 20, 40, 10, 10][1, 1, 0.001 3, 4]
2[10, 10, 20, 40, 20][4, 3, 2, 1, 0.001]
3[15, 30, 10, 30, 15][0.001, 1, 7, 1, 3]
Robot 3
(3 × 7)
1[30, 20, 20, 40, 10, 10, 10][4, 1, 1, 0.001, 3, 4, 1]
2[30, 10, 10, 20, 40, 20, 10][1, 4, 3, 2, 1, 0.001, 4]
3[20, 15, 30, 10, 30, 15, 20][1, 0.001, 1, 7, 1, 3, 1]
Robot 4
(3 × 9)
1[10, 30, 20, 20, 40, 10, 10, 10, 30][2, 4, 1, 1, 0.001, 3, 4, 1, 3]
2[30, 30, 10, 10, 20, 40, 20, 10, 10][4, 1, 4, 3, 2, 1, 0.001, 4, 1]
3[20, 20, 15, 30, 10, 30, 15, 20, 20][4, 1, 0.001, 1, 7, 1, 3, 1, 4]
Robot 5
(5 × 3)
1[20, 40, 10][1, 0.001, 3]
2[10, 20, 40][3, 2, 1]
3[30, 10, 30][1, 7, 1]
4[10, 50, 10][0.001, 1, 0.001]
5[10, 50, 10][3, 1, 3]
Robot 6
(7 × 3)
1[20, 40, 10][1, 0.001, 3]
2[10, 20, 40][3, 2, 1]
3[30, 10, 30][1, 7, 1]
4[10, 50, 10][0.001, 1, 0.001]
5[10, 50, 10][3, 1, 3]
6[20, 40, 10][3, 0.001, 1]
7[10, 40, 20][3, 0.001, 1]

5. Results and Discussion

Simulations were carried out using MATLAB 2021b on Windows 10 with an Intel Core i7-4790K 4.00 GHz CPU and 16 GB RAM. The performance of the algorithms was evaluated by success rate and operating time. The obtained simulation results are presented in Table 3.
The results verify the effectiveness of the proposed algorithm. Both FABRIKx variants show a high success rate (from 58.9% to 93.8%). The difference between the success rates of the FABRIKx variants is small (lower than 2%) and appears because of the higher speed of FABRIKx (P). In general, the FABRIKx algorithm outperforms the FABRIKc-based algorithm by 1–15% and the Jacobian-based algorithm by 0–60% in terms of success rate.
The differences in the success rates of Robots 1–4 show that the success rate of FABRIKx decreases with an increasing number of subsections. We assume that using 2-degree polynomial interpolation, the success rate will reach ~50% at 16 subsections of the three-section continuum robot. This case demonstrates that FABRIKx is scalable in subsection number. At the same time, the Jacobian-based algorithm improves its success rate with the increase of the subsection number. FABRIKx (P) and Jacobian-based algorithms become equal in terms of success rate at nine subsections of the three-section continuum robot.
Differences in the success rates between Robots 1, 5, and 6 show that the number of sections significantly affects the success rate of all inverse kinematics algorithms. The success rates of the FABRIKx, FABRIKc-based, and Jacobian-based algorithms dropped to approximately 60%, 53%, and 0%, respectively. Increasing the running-time limit improves the results of the Jacobian-based algorithm, but it is still significantly low (5%) and unable to operate in real time. This proves that the proposed algorithm has better scalability in the number of sections.
The difference in success rate (up to 15%) between the FABRIKx and FABRIKc-based algorithms proves that using chords in the backward-reaching stage is more effective than using tangents. The FABRIKc-based algorithm shows the same or up to 1.5 times slower solution speed compared to the FABRIKx (P) algorithm.
Table 3. Simulation results.
Table 3. Simulation results.
AlgorithmSuccess Rate, %Solution Time, msIteration
MeanMedianMeanMedian
Robot 1
(3 × 3)
FABRIKx (I)92.84.53.21611
FABRIKx (P)93.83.32.11711
FABRIKc78.54.42.32914
Jacobian81.38.15.93425
Robot 2
(3 × 5)
FABRIKx (I)92.45.34.01712
FABRIKx (P)93.63.62.41812
FABRIKc79.54.32.22713
Jacobian83.77.96.03224
Robot 3
(3 × 7)
FABRIKx (I)86.76.44.71913
FABRIKx (P)88.54.22.82014
FABRIKc75.84.92.63015
Jacobian84.47.35.12819
Robot 4
(3 × 9)
FABRIKx (I)82.86.74.91914
FABRIKx (P)84.94.42.92114
FABRIKc73.45.02.73015
Jacobian84.97.45.22719
Robot 5
(5 × 3)
FABRIKx (I)69.35.84.51210
FABRIKx (P)70.74.13.11310
FABRIKc70.04.03.01612
Jacobian0.326.026.62828
Jacobian (S)13.3138.798.412890
Robot 6
(7 × 3)
FABRIKx (I)58.97.46.01210
FABRIKx (P)60.45.44.11310
FABRIKc53.18.26.22418
Jacobian0N/AN/AN/AN/A
Jacobian (S)5.2401.3411.06061
The solution time shows that FABRIKx can operate in real time. FABRIKx (P) outperforms the Jacobian-based algorithm by 1.5–2 times in solution time. FABRIKx (I) has the same solution time or 1.5 times faster than the Jacobian-based algorithm. The difference between the solution time for both variants of FABRIKx shows that the algorithm can be further improved by using more accurate and/or faster single-section forward and inverse kinematics algorithms. For example, a neural network trained on real robot data or an accurate model can be used to achieve accurate and fast solutions [37]. Another possible option is to replace two sections of a robot with two virtual tangent links. This is possible because an analytical solution is achievable for the given position and orientation of the endpoint.
The achieved results demonstrate that the proposed FABRIKx algorithm can improve autonomy, motion planning, trajectory optimization, and obstacle avoidance of multisection continuum robots with variable curvature by providing fast and accurate inverse kinematics solutions. Having inherited the nature of the FABRIK algorithm, the proposed FABRIKx algorithm possesses a wide variety of advantages including simple implementation, low latency, lack of singularity, an easy-to-modify approach, and scalability in both the number sections and subsections.

6. Conclusions

The paper proposes the FABRIKx algorithm which can be used for solving inverse kinematics of a multisection continuum robot of variable curvature. In the algorithm, variable curvature is approximated by a piecewise constant curvature assumption. The proposed FABRIKx combines both tangent and chord approaches to solve the inverse kinematics problem. In particular, tangents are used to define the preliminary positions of the robot during the forward reaching stage while chords are used to define the final pose of the robot by single-section forward and inverse kinematics during the backward reaching stage. Additionally, we present a way to solve a single-section inverse kinematics problem as a special case.
FABRIKx is able to identify solutions for 58.9% to 93.8% of scenarios. For the majority of studied scenarios, the algorithm outperforms the FABRIKc-based algorithm by 1–15% and the Jacobian-based algorithm by 0–60% in terms of success rate. Also, the key advantages of the algorithm are the scalability in both the number of sections and subsections, and it does not suffer from singularity problems. In addition to that, FABRIKx can operate in real-time and works 1.5 to 2 times faster than the Jacobian-based algorithm and up to 1.5 times faster than the FABRIKc-based algorithm. The algorithm allows further modifications by using more accurate and faster single-section forward and inverse kinematics if such information is available for specific scenarios. The proposed algorithm can improve autonomy, motion planning, trajectory optimization, and obstacle avoidance of multisection continuum robots with variable curvature.

Author Contributions

Conceptualization, D.K.; methodology, D.K.; software, D.K. and V.D.; validation, D.K.; formal analysis, D.K., O.G. and V.D.; investigation, D.K.; resources, O.G. and V.D.; data curation, D.K.; writing—original draft preparation, D.K. and V.D.; writing—review and editing, V.D.; visualization, V.D.; supervision, O.G.; project administration, O.G.; funding acquisition, D.K., O.G. and V.D. All authors have read and agreed to the published version of the manuscript.

Funding

This work was supported by the Russian Foundation for Basic Research no. 20-38-90143 and the Russian Federation Governmental Program ‘Nauka’ no. FFSWW-2020-0014.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Axinte, D.; Dong, X.; Palmer, D.; Rushworth, A.; Guzman, S.C.; Olarra, A.; Arizaga, I.; Gomez-Acedo, E.; Txoperena, K.; Pfeiffer, K.; et al. MiRoR—Miniaturized Robotic Systems for Holistic In-Situ Repair and Maintenance Works in Restrained and Hazardous Environments. IEEE/ASME Trans. Mechatron. 2018, 23, 978–981. [Google Scholar] [CrossRef]
  2. Dong, X.; Axinte, D.; Palmer, D.; Cobos, S.; Raffles, M.; Rabani, A.; Kell, J. Development of a Slender Continuum Robotic System for On-Wing Inspection/Repair of Gas Turbine Engines. Robot. Comput. Integr. Manuf. 2017, 44, 218–229. [Google Scholar] [CrossRef] [Green Version]
  3. Buckingham, R.; Graham, A. Nuclear Snake-Arm Robots. Ind. Rob. 2012, 39, 6–11. [Google Scholar] [CrossRef]
  4. Dong, X.; Wang, M.; Mohammad, A.; Ba, W.; Russo, M.; Norton, A.; Kell, J.; Axinte, D. Continuum Robots Collaborate for Safe Manipulation of High-Temperature Flame to Enable Repairs in Challenging Environments. IEEE/ASME Trans. Mechatron. 2022, 27, 4217–4220. [Google Scholar] [CrossRef]
  5. Nahar, D.; Yanik, P.M.; Walker, I.D. Robot Tendrils: Long, Thin Continuum Robots for Inspection in Space Operations. In Proceedings of the 2017 IEEE Aerospace Conference, Big Sky, MT, USA, 4–11 March 2017; pp. 1–8. [Google Scholar]
  6. Santiago, J.L.C.; Walker, I.D.; Godage, I.S. Continuum Robots for Space Applications Based on Layer-Jamming Scales with Stiffening Capability. In Proceedings of the 2015 IEEE Aerospace Conference, Big Sky, MT, USA, 7–14 March 2015; pp. 1–13. [Google Scholar]
  7. Liljeback, P.; Mills, R. Eelume: A Flexible and Subsea Resident IMR Vehicle. In Proceedings of the OCEANS 2017–Aberdeen, Aberdeen, UK, 19–22 June 2017; Volume 2017, pp. 1–4. [Google Scholar]
  8. Burgner-Kahrs, J.; Rucker, D.C.; Choset, H. Continuum Robots for Medical Applications: A Survey. IEEE Trans. Robot. 2015, 31, 1261–1280. [Google Scholar] [CrossRef]
  9. Zhang, Y.; Lu, M. A Review of Recent Advancements in Soft and Flexible Robots for Medical Applications. Int. J. Med. Robot. Comput. Assist. Surg. 2020, 16, e2096. [Google Scholar] [CrossRef]
  10. Da Veiga, T.; Chandler, J.H.; Lloyd, P.; Pittiglio, G.; Wilkinson, N.J.; Hoshiar, A.K.; Harris, R.A.; Valdastri, P. Challenges of Continuum Robots in Clinical Context: A Review. Prog. Biomed. Eng. 2020, 2, 032003. [Google Scholar] [CrossRef]
  11. Hannan, M.W.; Walker, I.D. Novel Kinematics for Continuum Robots. In Advances in Robot Kinematics; Springer: Dordrecht, The Netherlands, 2000; pp. 227–238. [Google Scholar]
  12. Jones, B.A.; Walker, I.D. Kinematics for Multisection Continuum Robots. IEEE Trans. Robot. 2006, 22, 43–55. [Google Scholar] [CrossRef]
  13. Wu, H.; Yu, J.; Pan, J.; Ge, G.; Pei, X. A New Geometric Method for Solving the Inverse Kinematics of Two-Segment Continuum Robot. In International Conference on Intelligent Robotics and Applications; Springer: Cham, Switzerland, 2022; pp. 101–112. [Google Scholar]
  14. Santoso, J.; Onal, C.D. An Origami Continuum Robot Capable of Precise Motion Through Torsionally Stiff Body and Smooth Inverse Kinematics. Soft Robot. 2021, 8, 371–386. [Google Scholar] [CrossRef]
  15. Garriga-Casanovas, A.; Rodriguez y Baena, F. Kinematics of Continuum Robots With Constant Curvature Bending and Extension Capabilities. J. Mech. Robot. 2019, 11, 011010. [Google Scholar] [CrossRef]
  16. Wu, L.; Crawford, R.; Roberts, J. Dexterity Analysis of Three 6-DOF Continuum Robots Combining Concentric Tube Mechanisms and Cable-Driven Mechanisms. IEEE Robot. Autom. Lett. 2017, 2, 514–521. [Google Scholar] [CrossRef] [Green Version]
  17. Li, Z.; Chiu, P.W.Y.; Du, R. Design and Kinematic Modeling of a Concentric Wire-Driven Mechanism Targeted for Minimally Invasive Surgery. In Proceedings of the 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), Daejeon, Korea, 9–14 October 2016; Volume 2016, pp. 310–316. [Google Scholar]
  18. Neppalli, S.; Csencsits, M.A.; Jones, B.A.; Walker, I.D. Closed-Form Inverse Kinematics for Continuum Manipulators. Adv. Robot. 2009, 23, 2077–2091. [Google Scholar] [CrossRef] [Green Version]
  19. Lai, J.; Huang, K.; Chu, H.K. A Learning-Based Inverse Kinematics Solver for a Multi-Segment Continuum Robot in Robot-Independent Mapping. In Proceedings of the 2019 IEEE International Conference on Robotics and Biomimetics (ROBIO), Dali, China, 6–8 December 2019; pp. 576–582. [Google Scholar]
  20. Zhang, W.; Yang, Z.; Dong, T.; Xu, K. FABRIKc: An Efficient Iterative Inverse Kinematics Solver for Continuum Robots. In Proceedings of the 2018 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM), Auckland, New Zealand, 9–12 July 2018; Volume 2018, pp. 346–352. [Google Scholar]
  21. Kolpashchikov, D.; Laptev, N.; Danilov, V.; Skirnevskiy, I.; Manakov, R.; Gerget, O. FABRIK-Based Inverse Kinematics For Multi-Section Continuum Robots. In Proceedings of the 2018 18th International Conference on Mechatronics, Brno, Czech Republic, 5–7 December 2018. [Google Scholar]
  22. Gonthina, P.S.; Kapadia, A.D.; Godage, I.S.; Walker, I.D. Modeling Variable Curvature Parallel Continuum Robots Using Euler Curves. In Proceedings of the 2019 International Conference on Robotics and Automation (ICRA), Montreal, QC, Canada, 20–24 May 2019; Volume 2019, pp. 1679–1685. [Google Scholar]
  23. Srivastava, M.; Ammons, J.; Peerzada, A.B.; Krovi, V.N.; Rangaraju, P.; Walker, I.D. 3D Printing of Concrete with a Continuum Robot Hose Using Variable Curvature Kinematics. In Proceedings of the 2022 International Conference on Robotics and Automation (ICRA), Philadelphia, PA, USA, 23–27 May 2022; pp. 3216–3222. [Google Scholar]
  24. Singh, I.; Amara, Y.; Melingui, A.; Mani Pathak, P.; Merzouki, R. Modeling of Continuum Manipulators Using Pythagorean Hodograph Curves. Soft Robot. 2018, 5, 425–442. [Google Scholar] [CrossRef] [PubMed]
  25. Godage, I.S.; Medrano-Cerda, G.A.; Branson, D.T.; Guglielmino, E.; Caldwell, D.G. Modal Kinematics for Multisection Continuum Arms. Bioinspir. Biomim. 2015, 10, 035002. [Google Scholar] [CrossRef] [PubMed]
  26. Mahl, T.; Hildebrandt, A.; Sawodny, O. A Variable Curvature Continuum Kinematics for Kinematic Control of the Bionic Handling Assistant. IEEE Trans. Robot. 2014, 30, 935–949. [Google Scholar] [CrossRef]
  27. Melingui, A.; Merzouki, R.; Mbede, J.B.; Escande, C.; Benoudjit, N. Neural Networks Based Approach for Inverse Kinematic Modeling of a Compact Bionic Handling Assistant Trunk. In Proceedings of the 2014 IEEE 23rd International Symposium on Industrial Electronics (ISIE), Istanbul, Turkey, 1–4 June 2014; pp. 1239–1244. [Google Scholar]
  28. Lakhal, O.; Melingui, A.; Merzouki, R. Hybrid Approach for Modeling and Solving of Kinematics of a Compact Bionic Handling Assistant Manipulator. IEEE/ASME Trans. Mechatron. 2016, 21, 1326–1335. [Google Scholar] [CrossRef]
  29. Ba, W.; Dong, X.; Mohammad, A.; Wang, M.; Axinte, D.; Norton, A. Design and Validation of a Novel Fuzzy-Logic-Based Static Feedback Controller for Tendon-Driven Continuum Robots. IEEE/ASME Trans. Mechatron. 2021, 26, 3010–3021. [Google Scholar] [CrossRef]
  30. Tan, N.; Yu, P.; Zhang, X.; Wang, T. Model-Free Motion Control of Continuum Robots Based on a Zeroing Neurodynamic Approach. Neural Networks 2021, 133, 21–31. [Google Scholar] [CrossRef]
  31. Morimoto, R.; Nishikawa, S.; Niiyama, R.; Kuniyoshi, Y. Model-Free Reinforcement Learning with Ensemble for a Soft Continuum Robot Arm. In Proceedings of the 2021 IEEE 4th International Conference on Soft Robotics (RoboSoft), New Haven, CT, USA, 12–16 April 2021; pp. 141–148. [Google Scholar] [CrossRef]
  32. Djeffal, S.; Amouri, A.; Mahfoudi, C. Kinematics Modeling and Simulation Analysis of Variable Curvature Kinematics Continuum Robots. UPB Sci. Bull. Ser. D Mech. Eng. 2021, 83, 27–42. [Google Scholar]
  33. Djeffal, S.; Mahfoudi, C.; Amouri, A. Comparison of Three Meta-Heuristic Algorithms for Solving Inverse Kinematics Problems of Variable Curvature Continuum Robots. In Proceedings of the 2021 European Conference on Mobile Robots (ECMR), Bonn, Germany, 31 August–3 September 2021; pp. 1–6. [Google Scholar]
  34. Amouri, A.; Mahfoudi, C.; Zaatri, A.; Lakhal, O.; Merzouki, R. A Metaheuristic Approach to Solve Inverse Kinematics of Continuum Manipulators. Proc. Inst. Mech. Eng. Part I J. Syst. Control Eng. 2017, 231, 380–394. [Google Scholar] [CrossRef]
  35. Aristidou, A.; Lasenby, J. FABRIK: A Fast, Iterative Solver for the Inverse Kinematics Problem. Graph. Models 2011, 73, 243–260. [Google Scholar] [CrossRef]
  36. Kolpashchikov, D.Y.; Gerget, O.M. Comparison of Inverse Kinematics Algorithms for Multi-Section Continuum Robots. Mekhatronika Avtom. Upr. 2021, 22, 420–424. [Google Scholar] [CrossRef]
  37. Runge, G.; Wiese, M.; Raatz, A. FEM-Based Training of Artificial Neural Networks for Modular Soft Robots. In Proceedings of the 2017 IEEE International Conference on Robotics and Biomimetics (ROBIO), Macau, Macao, 5–8 December 2017; pp. 385–392. [Google Scholar]
Figure 1. A flowchart of the FABRIKx algorithm.
Figure 1. A flowchart of the FABRIKx algorithm.
Robotics 11 00128 g001
Figure 3. The ratio between the bending angle θ and the chord angle α for different variable-curvature sections. The colors are explained in Table 1.
Figure 3. The ratio between the bending angle θ and the chord angle α for different variable-curvature sections. The colors are explained in Table 1.
Robotics 11 00128 g003
Figure 4. A flowchart of the single-section iterative inverse kinematics algorithm.
Figure 4. A flowchart of the single-section iterative inverse kinematics algorithm.
Robotics 11 00128 g004
Figure 5. A showcase of the FABRIKx iterative algorithm for a three-section continuum robot. (ac) Forward-reaching stage. (df) Backward-reaching stage.
Figure 5. A showcase of the FABRIKx iterative algorithm for a three-section continuum robot. (ac) Forward-reaching stage. (df) Backward-reaching stage.
Robotics 11 00128 g005
Figure 6. Angles of a single section.
Figure 6. Angles of a single section.
Robotics 11 00128 g006
Figure 7. A detailed flowchart of the FABRIKx algorithm.
Figure 7. A detailed flowchart of the FABRIKx algorithm.
Robotics 11 00128 g007
Figure 8. Sections of Robot 1: (a) Section 1; (b) Section 2; (c) Section 3. Green curves are the section workspaces, while the curves of other colors represent section bodies for bending angles from 0 to 100° with a step of 10° (clockwise in the figure).
Figure 8. Sections of Robot 1: (a) Section 1; (b) Section 2; (c) Section 3. Green curves are the section workspaces, while the curves of other colors represent section bodies for bending angles from 0 to 100° with a step of 10° (clockwise in the figure).
Robotics 11 00128 g008
Table 1. Section parameters.
Table 1. Section parameters.
Section ColorSubsection Lengths, mmSubsection Weights
Red[10, 20, 40][3, 2, 1]
Blue[10, 20, 40][1, 2, 3]
Yellow[40, 20, 10][3, 1, 1]
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Kolpashchikov, D.; Gerget, O.; Danilov, V. FABRIKx: Tackling the Inverse Kinematics Problem of Continuum Robots with Variable Curvature. Robotics 2022, 11, 128. https://doi.org/10.3390/robotics11060128

AMA Style

Kolpashchikov D, Gerget O, Danilov V. FABRIKx: Tackling the Inverse Kinematics Problem of Continuum Robots with Variable Curvature. Robotics. 2022; 11(6):128. https://doi.org/10.3390/robotics11060128

Chicago/Turabian Style

Kolpashchikov, Dmitrii, Olga Gerget, and Viacheslav Danilov. 2022. "FABRIKx: Tackling the Inverse Kinematics Problem of Continuum Robots with Variable Curvature" Robotics 11, no. 6: 128. https://doi.org/10.3390/robotics11060128

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop