Looking at the history of continuum robotics, early research has focussed on larger scale continuum robots. Prototypes were built comparable in size to industrial serial arm robots. This probably resulted in expectations in terms of performance. If an industrial robot arm could achieve superior accuracy and repeatabilty with high payloads and at high speed, why would one need a continuum robot performing worse on this scale? Repeatability, accuracy, speed, and payload are clearly not unique selling points for continuum robots. Poised by the third industrial revolution in the late sixties and early seventies of the 20th century, roboticists naturally focussed on robots applicable to automation and its goals. Continuum robots were just not cutting it (yet). Consequently, continuum robotics remained a niche research area for a while.
Medical robotics was just on the onset in the mid eighties and was using repurposed industrial robots. The first medical robotics procedure used the PUMA 560 robot to perform a neurosurgical biopsy at the National Hospital for Neurology and Neurosurgery in London in 1985. The robot guided a needle into the brain to take a tissue sample for examination. Fun fact: The Puma 560 design is based on an earlier robot design by Victor Scheinman, the same Victor Scheinman who developed the first continuum robot.
The trend towards more minimally invasive surgey and ultimatley keyhole access to operate promises benefits for patient care, such as shorter hopsitalization and quicker recovery times. While industrial style robots certainly play an important role in medical robotics today, their large footprint and size naturally places them beside physicians and outside of the patient. But as soon as one wants to move away from large incisions and the need to open the body, thin, versatile, and dextrous robotics enters the scene. Small-scale continuum robots could sneak into a patient with more dextrous motion capabilties than conventional robots and the ability to reach surgical sites inaccessible by conventional robots or standard medical instruments! And that ability is more defining than accuracy and payload. In contrast to industrial automation, small-scale continuum robots promise significant benefit over serial robot arms!
With medical applications, continuum robots found a compelling use case. Motivated by unsought of minimally-invasie approaches and the ability to navigate within the human body through natural orifices or miniscule inscisions, research in continuum robotics excelled. Over the past decades we have witnessed a vast surge in medical continuum robots. In fact, the majority of continuum robot papers draw their motivation from medical applications. The prominent surveys in the field of continuum robotics are centered around medicine^{1}^{2}^{3} and I refer the interested reader to those surveys to learn about the breadth and depth of medical continuum robotics research.
One may argue that continuum robots found their sweet spot in the medical application domain. While this is certainly the case, the untapped potential of continuum robots in non-medical applications is enormous! Think about autonomous small-scale or medium-scale continuum robots in in-situ and non-destructive inspection, maintenance, repair, and operations.
Example: On-wing jet engine inspection provides an example of a keyhole procedure, where a technician inspects components such as turbine blades and the combustion chamber using a flexible camera, called a borescope, through tiny access points on the engine. This is a cumbersome procedure requiring an expert to fiddle with the borescope in hunched body postures, with limited time, as the plane stands ready for takeoff. If an issue is overlooked, e.g., a small crack in a blade, it may be disastrous and result in a worst-case scenario of the engine blowing off during flight. At the same time, full service of an engine means that it must be taken off-wing for maintenance – a costly endeavour. Only very few researcher worldwide look at this problem, with the University of Notthingham spearheading research with Rolls Royce on robotics for in-situ repair
This in-situ inspection is just one of many examples where we can build on our expertise in continuum robotics in the medical domain and innovate the next generation of autonomous continuum robot systems. In fact, non-medical applications for continuum robots are characterized by similar challenges:
At the same time, turning to new application domains opens new research questions challenging to solve:
I envision a new generation of continuum robots that are of small and medium scale, dextrous enough to enter an environment for in-situ inspection, maintenance, and repair through multiple keyholes, which act autonomously and are able to collaborate with one another to achieve the task.
I believe, that we as the continuum robotics community, should turn to non-medical use-cases to invent this next-generation of continuum robot systems with autonomous capabilities. By focussing on medical applications, we have naturally limited our design choices to certain continuum robot dimensions, materials, workspaces, control paradigms, etc. that are informed by anatomical constraints and clinical requirements. In fact, most medical continuum robots are rather short if they can are designed to work in free spaces. Longer medical continuum robots need environmental constraints for steering - such as vasculature for robotic catheters.
Drawing motivation from one application domain lead to narrow thinking and limited creativity. Continuum robotics researchers and innovators have become too focused on the specific needs and constraints of medicine. I argue that this prevented us from considering new and unconventional ideas!
Overall, while focusing on medicine as the dominant application domain was necessary to develop expertise in continuum robotics, it is important for the continuum robotics community to maintain a broad perspective and engage with other fields and industries to encourage innovation and avoid limiting the potential for new and unconventional ideas.
J. Burgner-Kahrs, D.C. Rucker, and H. Choset: Continuum Robots for Medical Applications: A Survey. IEEE Transactions on Robotics, 31(6), pp.1261–1280. doi: 10.1109/TRO.2015.2489500 ↩
T. da Veiga, J.H. Chandler, P. Lloyd, G. Pittiglio, N.J. Wilkinson, A.K. Hoshiar, R.A. Harris, and P. Valdastri: Challenges of continuum robots in clinical context: a review. Progress in Biomedical Engineering, 2(3): 032003, 2020. doi: 10.1088/2516-1091/ab9f41 ↩
P.E. Dupont, N. Simaan, H. Choset, and D.C. Rucker: Continuum robots for medical interventions. Proceedings of the IEEE, 110(7):847-870, 2022. 10.1109/JPROC.2022.3141338 ↩
Let’s recap: When we first looked at tendon-driven continuum robots, we looked at the most general design, i.e. with tendon routing disks at equidistant spacing afixed to a a flexible backbone. Tendons terminate at the end disk of each segment to actuate it. Most generally, these tendons are routed in parallel to the central backbone. For spatial bending either 3 separate tendons or 2 antagonistic tendon pairs are used. To achieve a tendon-driven continuum robot segment capable of all motion primitive, we will expand our understanding of tendon routing disks and its implications.
Let’s conceptually think about tendon routing disks. They provide channels to route the tendon actuating a continuum robot. We depict four conceptual tendon routing disk types below. The dotted arrows indicate the degree of freedom of the disks themselves and the solid arrows indicate the motion primitives achievable. We omit the tendon themselves.
The most common type is afixed to a central backbone and routes the tendons with a fixed distance parallel to the backbone. We refer to this type of tendon routing disk as
Fixing the tendon routing disks to the central backbone is the most restrictive as they only allow for bending. Allowing the tendon routing disks to freely translate along the central backbone allows for extension.
Most realizations of this tendon routing disk type ensure equidistant spacing of the disks as the backbone extends and contracts. This is either achieved by compression springs between disks or magnets within the disks alternating polarity for repulsion.
Conceptually, tendon routing disks may also be freely rotating about the central backbone, but constrained in position along the backbone. Such a tendon routing would enable bending but also twist as the tendon route is not constrained to being parallel.
We fabricated a tendon-driven continuum robot segment using type-II disks. The end disk is rigidly attached to the backbone rod which can rotate about its axis. The base disk is fixed in orientation. The image series below shows different rotation angles $\alpha$.
Ultimately, the least restrictive tendon routing disk is free to rotate and translate along the central backbone. Consequently, the tendon routing can allow for parallel and non-parallel tendon paths for bending and twisting, while also allowing for extension.
Building on our extensible tendon-driven continuum robot design, we have fabricated a tendon-driven continuum robot segment with type-III disks. The image series below shows the prototype at various backbone rotation angles and applied tendon loads. The flag at the tip indicated the central backbone rotation angle. In addition to bending a twist can be observed.
The image series below shows the type-III tendon disk prototype contracting while also adjusting the rotation angle.
Further Reading: You want to read more on tendon routing disk types and the prototypes shown above? Check out our open access paper in Frontiers in Robotics & AI^{1}.
R.M. Grassmann, P. Rao, Q. Peyron, J. Burgner-Kahrs: FAS—A Fully Actuated Segment for Tendon-Driven Continuum Robots. Frontiers in Robotocs and AI, 9:873446, 2022. doi: 10.3389/frobt.2022.873446 ↩
robotindependentmapping(kappa, phi, ell, ptsperseg)
which generates a framed backbone curve using constant curvature arc parameters and the desired number of points (per segment) as input.
function [fig] = draw_ctcr(g,tube_end,r_tube,options)
% DRAW_CTCR Creates a figure of a concentric tube continuum robot (ctcr)
%
% Takes a matrix with nx16 entries, where n is the number
% of points on the backbone curve. For each point on the curve, the 4x4
% transformation matrix is stored columnwise (16 entries). The x- and
% y-axis span the material orientation and the z-axis is tangent to the
% curve.
%
% INPUT
% g(n,16): backbone curve with n 4x4 transformation matrices reshaped into 1x16 vector (columnwise)
% tube_end(1,m): indices of g where ctcr tubes terminate
% r_tube(1,m): radii of tubes
% options:
% tipframe (shows tip frame, default true/1)
% baseframe (shows robot base frame, default false/0)
% projections (shows projections of backbone curve onto
% coordinate axes, default false/0)
% baseplate (shows robot base plate, default false/0)
%
We provide an example file ctcr_draw_example.m
to create a figure of a CTCR with three tubes. The example also makes use of the new utility function robotindependentmapping(kappa, phi, ell, ptsperseg)
. This function takes constant curvature parameters and generates a backbone curve. This backbone curve $g$ is in the format required by draw_ctcr(g,tube_end,r_tube,options)
and draw_tdcr(g,seg_end,r_disk,r_height,options)
.
function g = robotindependentmapping(kappa, phi, ell, ptsperseg)
% ROBOTINDEPENDENTMAPPING creates a framed curve for given configuration parameters
%
% EXAMPLE
% g = robotindependentmapping([1/40e-3;1/10e-3],[0,pi],[25e-3,20e-3],10)
% creates a 2-segment curve with radius of curvatures 1/40 and 1/10
% and segment lengths 25 and 20, where the second segment is rotated by pi rad.
%
% INPUT: configuration parameters
% kappa (nx1): segment curvatures
% phi (nx1): segment bending plane angles
% l (nx1): segment lengths
% ptsperseg (nx1): number of points per segment
% if n=1 all segments with equal number of points
% OUTPUT: backbone curve
% g (n,16): backbone curve with n 4x4 transformation matrices reshaped into 1x16 vector (columnwise)
%
Find out more and test CRVisToolkit on GitHub
Happy continuum robot visualization!
The CRVisToolkit stems from the Continuum Robotics Laboratory MATLAB codebase that grew over the past decade of our research activities. Numerous students contributed in one way or the other to the CTCR visualization and are acknowledged here in no particular order: Josephine Granna, Sven Lilge, and Malte Bormann.
]]>Sears & Dupont refer to the idea as
a steerable needle technology using curved concentric tubes^{1}
and Webster, Okamura & Cowan refer to the idea as
continuously ﬂexible snake-like robots, called active cannulas, that consist of several telescoping pre-curved superelastic tubes^{2}
What is less known, is the fact that the concept of a robotic device using concentric precurved tubes was already introduced one year earlier, in 2005, by Furusho et al.^{3} at the IEEE International Conference on Mechatronics & Automation. They provide a conceptual drawing of what they call a
curved multi-tube catheter^{3}
consisting of an outer and inner guide, both precurved elastic tubes, and a third innermost tube/needle. Furusho et al. state the kinematics of this robotic device and present a motorized prototype that they teleoperated.
This is not to say that Furusho et al. was not recognized. Their work has been acknowledged, but just not as much. The number of citations (obtained from Google Scholar on Jan 27, 2023) show a quite drastic difference. It is hard to tell, and would be pure speculation, why the two papers from IROS 2006 are more often cited than Furusho et al. And yet, as we are all standing on the shoulders of giants in academia, we should not forget those who paved the way and published innovative ideas first.
In his PhD thesis, available open-access here, Hunter Gilbert provides a thorough comprehensive historical perspective on the origin of curved mutli-tube medical tools and how those relate to concentric tube continuum robots in Section 1.1. This section is also part of Gilbert, Rucker & Webster^{4} review paper on concentric tube continuum robots.
P. Sears & P. Dupont: A Steerable Needle Technology Using Curved Concentric Tubes. IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 2850-2856, 2006. doi: 10.1109/IROS.2006.282072 ↩ ↩^{2}
R. J. Webster, A. M. Okamura, N. J. Cowan: Toward Active Cannulas: Miniature Snake-Like Surgical Robots. IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 2857-2863, 2006. doi: 10.1109/IROS.2006.282073. ↩ ↩^{2}
J. Furusho, T. Ono, R. Murai, T. Fujimoto, Y. Chiba, H. Horio: Development of a curved multi-tube (CMT) catheter for percutaneous umbilical blood sampling and control methods of CMT catheters for solid organs. IEEE International Conference Mechatronics and Automation, pp. 410-415, 2005. doi: 10.1109/ICMA.2005.1626582 ↩ ↩^{2}
H.B. Gilbert, D.C. Rucker, R.J. Webster III: Concentric Tube Robots: The State of the Art and Future Directions. International Symposium on Robotics Research, pp. 253–269, 2016. https://doi.org/10.1007/978-3-319-28872-7_15. ↩
Under the assumption that the robot’s shape is composed of constant curvature segments, it can be expressed as a concatenation of multiple circular arcs. Each circular arc corresponds to one segment \(i\) and each segment is described by its length \(\ell_{i}\), curvature \(\kappa_{i}\), and bending plane angle \(\phi_{i}\). To determine the robot dependent mapping for a CTCR, we need to identify the number \(m\) of segments present. As a segment is characterized by constant curvature, we have to locate transitions points along the robot where the curvature changes.
We identify a tube within the CTCR with index \(j \in \lbrack 1,N_{t}\rbrack\) where \(N_{t}\) is the number of tubes, \(j = 1\) is the innermost tube, and \(j = N_{t}\) is the outermost tube. Each tube is characterized by it length \(L_{j} = L_{j}^{s} + L_{j}^{c}\) where \(L_{j}^{s}\) is the length of the straight section and \(L_{j}^{c}\) is the length of the curved section (see Figure 5 left). We assume that the curved section has constant curvature \(\kappa_{j}^{*}\). The precurvature of a tube is deﬁned in the xz-plane, where the z axis is tangential to the tube’s straight section pointing to the tip. Furthermore, each tube’s outer \(\text{OD}_{j}\) and inner \(\text{ID}_{j}\) diameter are specified. Lastly, the modulus of elasticity \(E_{j}\) (Young’s modulus) is determined by the tube’s material. Superelastic NiTi tubes typically come with elastic modulus of \(28 - 83\) GPa.
The CTCR joint space is given as \(\mathbf{q} = \lbrack\alpha_{1},\ldots,\alpha_{N_{t}},\beta_{1},\ldots,\beta_{N_{t}}\rbrack\) where \(\alpha_{j} \in \lbrack - \pi,\pi)\) is the rotation angle about the z-axis and \(\beta_{j} \in \lbrack - L_{j},0\rbrack\) is the translation along the z-axis of tube \(j\). If all \(\alpha_{j} = 0\), the centreline stays in the x-z-plane and curves toward the positive x axis. The translational joint variables are subject to the following constraints
\[\beta_{1} \leq \ldots \leq \beta_{N_{t}} \leq 0\]and
\[L_{N_{t}} + \beta_{N_{t}} \leq \ldots \leq L_{1} + \beta_{1}\]These arise from the telescoping nature of the tube assembly and the actuation principle, i.e., each tube can be retracted at maximum by its own length. Furthermore, we require the tubes to extend one another outside the actuation unit and to not be fully retracted within any more outer tube. In the robot’s zero position, all tubes are fully retracted and align with the front plate of the actuation unit. Below, we illustrate the joint space of a CTCR with \(N_{t} = 3\) and the base coordinate frame.
The robot dependent mapping is based on the principles of beam mechanics to solve the forward kinematic problem. We assume the tubes to deform only in bending and not in twisting, such that the resulting centerline curvature can be computed in closed-form based on a moment equilibrium by applying Bernoulli–Euler beam mechanics.
To describe the complete shape of a CTCR, we will ﬁrst develop a model for the shape of a single segment composed of several fully overlapping concentric curved tubes. Let’s first consider the example depicted here.
For a collection of two tubes with circular precurvatures \(\kappa_{1}^{*}\) and \(\kappa_{2}^{*}\), once inserted into each other, the resultant constant curvature \(\kappa\) is common to both tubes. Here, the tubes have not been axially rotated with respect to one another and their natural curvature planes are aligned. The bending moments \(M_{j}\) (in Nm) will be constant along the length of each tube and can be described by
\[M_{1} = (\kappa - \kappa_{1}^{*})EI_{1}\]and
\[M_{2} = (\kappa - \kappa_{2}^{*})EI_{2}\]where \(E\) is the Young’s modulus (in Pa), and \(I_{1}\) and \(I_{2}\) are the second area moment (in \(m^{4}\)) of the symmetric cross section of the respective tube. The second area moment \(I\) is a geometrical property of the tube’s cross section area which reflects how its points are distributed with regard to the central axis. As a tube’s cross section is an annulus, the second area moment can be determined from the inner and outer diameter as
\[I_{j} = \frac{\pi}{64}(\text{OD}_{j}^{4} - \text{ID}_{j}^{4})\]We can describe the resultant curvature of these two overlapping tubes by evaluating the moment equilibrium
\[M_{1} + M_{2} = 0\]and resolving for
\[\kappa = \frac{EI_{1}\kappa_{1}^{*} + EI_{2}\kappa_{2}^{*}}{EI_{1} + EI_{2}}\]This can be generalized to collections of \(N_{t}\) axially aligned tubes
\[\kappa = \frac{\sum_{j = 1}^{N_{t}}EI_{j}\kappa_{j}^{*}}{\sum_{j = 1}^{N_{t}}EI_{j}}\]Let’s now consider the example depicted here. When precurved tubes are rotated axially, their natural planes of curvature are no longer aligned and the direction of the bending moments they apply changes. The tubes exert a moment on one another about their respective y-axes, which is caused by their initial precurvature about this direction. The tubes are rotated by angles \(\alpha_{1}\) and \(\alpha_{2}\), and the equilibrium plane angle is \(\phi\). As before, each tube experiences a constant bending moment \(M_{1} = (\kappa - \kappa_{1}^{*})EI_{1}\) and \(M_{2} = (\kappa - \kappa_{2}^{*})EI_{2}\), but now these bending moments have two component projections on the base frame x and y axes. The equilibrium state \(M_{1} + M_{2} = 0\) yields
\(\begin{bmatrix} \kappa_{x} \\ \kappa_{y} \\ \end{bmatrix} = \frac{1}{EI_{1} + EI_{2}}\begin{pmatrix} EI_{1}\kappa_{1}^{*}\lbrack\begin{matrix} \cos\alpha_{1} \\ \sin\alpha_{1} \\ \end{matrix}\rbrack + EI_{2}\kappa_{2}^{*}\lbrack\begin{matrix} \cos\alpha_{2} \\ \sin\alpha_{2} \\ \end{matrix}\rbrack \\ \end{pmatrix}\).
For general number of concentric tubes, this can be generalized to
\[\begin{bmatrix} \kappa_{x} \\ \kappa_{y} \\ \end{bmatrix} = \frac{1}{\sum_{j = 1}^{N_{t}}EI_{j}}\overset{N_{t}}{\sum_{j = 1}}EI_{j}\kappa_{j}^{*}\begin{bmatrix} \cos\alpha_{j} \\ \sin\alpha_{j} \\ \end{bmatrix}(Eq. 1)\]Given the components of the resultant curvature, we can determine the bending plane angle \(\phi = \text{atan2}(\kappa_{y},\kappa_{x})\) and curvature \(\kappa = \sqrt{\kappa_{x}^{2} + \kappa_{y}^{2}}\). Note, that \(\phi\) is undefined for straight segments, i.e., for zero curvature as \(\text{atan}2(0,0) = \text{nan}\). In this special case, the rotation angle \(\alpha\) of the outermost present tube in the segment is used as \(\phi\).
The first step in determining the robot dependent mapping of a CTCR is determining the number of segments \(m\) and their lengths \(\ell_{i}\) for \(i \in \lbrack 1,m\rbrack\). These are deﬁned by transition point locations, where the component tubes either end or transition from their straight to curved section. The set \(T\) of transition points can be determined as algebraic functions of the tube geometry and the translational joint positions \(\beta_{j}\)
\[T = \text{sort}_{\text{asc}}\{ 0,\beta_{n} + L_{n}^{s},\beta_{n} + L_{n},\ldots\beta_{1} + L_{1}^{s},\beta_{1} + L_{1}\}\]From the resulting values of the set T, all duplicate elements are omitted, i.e., tube sections terminate at the same location, as well as all elements \(< 0\), i.e., the respective tube section is located within the actuation unit. While the maximum number of segments is \(2N_{t}\), the number of actual segments is dependent on the current joint values \(\mathbf{q}\) as some segments might be located within the actuation unit. Here, we show an example of a CTCR composed of three tubes and its transition points.
Using the transition points T, the length of the constant curvature segments of the CTCR can be determined as
\[\begin{matrix} \ell_{1} & = T_{1} - T_{0} \\ \ell_{2} & = T_{2} - T_{1} \\ \ldots & \\ \ell_{m} & = T_{m} - T_{m - 1} \\ \end{matrix}\]In a second step, we can determine \(\kappa_{x}\) and \(\kappa_{z}\) for each segment \(i \in \lbrack 1,m\rbrack\) enclosed by the transition points \(\lbrack T_{i - 1},T_{i}\rbrack\) using Equation (\(1\)), and then \(\kappa_{i}\) and \(\phi_{i}\). Note, that not all tubes are present in each segment, such that only the present ones with their respective parameters have to be considered (either zero curvature in straight tube sections or the respective precurvature in curved sections, alongside ID and OD, as well as \(E\)).
The constant curvature kinematics franmework assumes that \(\phi\) is expressed locally, i.e., w.r.t. the previous segment for the robot independent mapping. Consequently, after determining \(\phi_{i}\) expressed in the base frame for each segment using Equation (\(1\)), we will need to apply a final correction step
\(\phi_{i} = \phi_{i} - \phi_{i - 1}\).
The model introduced today makes multiple simplifying assumptions, i.e., pure bending, no torsional deformation, no friction, no effect of gravitation and external forces. The assumption of infinite torsional rigidity in the tubes is only reasonable as long as the relative rotation angles between the tubes are small and the straight sections of each tube are short. Considering torsional deformation is particularly important in the straight transmission sections of the tubes that lie between the actuators and the first curved link, since these transmissions are long relative to the curved sections. In fact, despite the simple actuation of component tubes, the resulting motion of CTCR is characterized by a highly non-linear behaviour due to the elastic interactions between the tubes.
An advanced modelling approach is to leverage the elasticity theory, in particular the Cosserat theory of elastic rods. This involves writing rod equation for each tube, and then enforce concentricity by requiring all tubes to conform to the same curvature as a function of arc-length, leaving them free to rotate axially with respect to each other. This results in a system of differential equations with mixed boundary conditions. The boundary conditions at the base of the robot are the axial angles of the tubes, and the boundary conditions at the tip are internal moments that vanish because there is no material beyond the tip to support them. Note that after this mechanics problem is solved, to determine the axial tube angles, one must still integrate along the robot to determine the space curve of the robot itself. Experimental testing of the model has shown that with calibration, mean error in the prediction of tip position can be as low as 1% to 3% of overall robot length. With typical CTCR length of 200-300mm, this means that we can estimate the pose of the tip with an error of about 2-9 mm. This is the most accurate model existing for CTCR to date. As this 101 category of the OpenContinuumRobotics Blog is an introduction to continuum robotics, we do not cover advanced modelling approaches for CTCR (yet!).
Webster, R.J. & Jones, B.A., 2010. Design and Kinematic Modeling of
Constant Curvature Continuum Robots: A Review. The International Journal
of Robotics Research, 29(13), pp. 1661–1683.
https://doi.org/10.1177/0278364910368147
Section 3.2.3
Mahoney, A.W., Gilbert, H.B., Webster, R.J., 2018. A Review of Concentric Tube Robots: Modeling, Control, Design, Planning, and Sensing. The Encyclopedia of Medical Robotics, Chapter 7, pp. 181-202. https://doi.org/10.1142/9789813232266_0007
]]>In our initial release of the Continuum Robot Visualization Toolkit (CRVisToolkit), you will find a set of MATLAB functions for visualization and plotting of continuum robots, in particular tendon driven continuum robots (TDCR). It takes a curve represented by a series $n$ of 4x4 homogeneous transformation matrices (reshaped columnwise into a $n$x16 vector), indices of the segment end points, as well as radius and disk height as input to create a MATLAB figure. We assume that the TDCR is operated by three tendons at $120$ degrees radial offset.
function fig = draw_tdcr(g,seg_end,r_disk,r_height,options)
% Creates figure of a tendon-driven continuum robot (tdcr)
%
% Takes a matrix with nx16 entries, where n is the number
% of points on the backbone curve. For each point on the
% curve, the 4x4 transformation matrix is stored columnwise
% (16 entries). The x- and y-axis span the material
% orientation and the z-axis is tangent to the curve.
%
% INPUT
% g(n,16): backbone curve with n 4x4 transformation
% matrices reshaped into 1x16 vector (columnwise)
% seg_end(1,m): indices of g where tdcr segments terminate
% r_disk: radius of spacer disks
% r_height: height of space disks
% options:
% tipframe (shows tip frame, default true/1)
% segframe (shows segment end frames, default false/0)
% baseframe (shows robot base frame, default false/0)
% projections (shows projections of backbone curve onto
% coordinate axes, default false/0)
% baseplate (shows robot base plate, default false/0)
To get you started, we provide three sample curves to generate three drawings.
load tdcr_curve_examples.mat
fig1 = draw_tdcr(onesegtdcr,10)
fig2 = draw_tdcr(threesegtdcr,[10 20 30],projections=1,baseplate=0);
fig3 = draw_tdcr(foursectdcr,[15 30 45 60],segframe=1,baseframe=1);
Find out more and test CRVisToolkit on GitHub
Stay tuned for updates on the CRVisToolkit. Coming soon: utility functions, such as the robot independent mapping for the constant curvature kinematics frameworks, and concentric tube continuum robot visualization functions!
The CRVisToolkit stems from the Continuum Robotics Laboratory MATLAB codebase that grew over the past decade of our research activities. Numerous students contributed in one way or the other and are acknowledged here in no particular order: Maria Neumann, Josephine Granna, Sven Lilge, Ernar Amanov, Priyanka Rao.
]]>To sense information about the state of a continuum robot, it may be desirable to not integrate sensors to the robot, but to use readily available external sensing methods.
The most common external sensing means for continuum robots are coordinate measurements using mechanical or laser probes and image-based techniques.
A coordinate measuring machine/arm is used to measure the geometry of the robot by sensing discrete points on its surface using a probe. There exist two common types of probes typically used for continuum robots: mechanical probes and laser probes.
Mechanical Probes: To acquire a measurement point, the robot has to be touched with the probe of the measurement arm which is usually operated manually by a user. This technique is suited to measure the position of the tip of the robot or to gather information on the shape of robot by measuring at multiple distinct locations along it.
Mechanical probes provide high accuracies - usually sub-millimetre, but as operation is user-dependent the accuracy can vary. Mechanical probes are fast to setup and ready to use. But as the robot needs to be touched, it is challenging to not deform the robot while touching, which would lead to measurement errors and inconsistencies. As we are mostly interested in obtaining information about the centreline of the robot when we want to infer the shape, a coordinate measurement on the surface of the robot is suboptimal as it induces an offset to the centreline which has to be corrected for in post-processing. Lastly, mechanical probes for coordinate measurement are only suitable for static robot configurations and requires direct access to the robot.
Laser Probes: To overcome the necessity of touching the robot for measuring coordinates, touch-less laser probes can be used, also referred to as 3D laser scanners. The laser probe is attached to the measurement arm and manually guided by the operator along the continuum robot. The laser probe emits a laser line and using the images from the camera within the probe, the distance of the scanned object from the probe can be determined. By sweeping the continuum robot, a point cloud of its structure can be obtained. This raw point cloud usually includes some noise as well as unwanted objects. Therefore, a post-processing step is performed to clean the data and eventually thin the point cloud in order to extract the shape.
Laser scanning has the advantage of providing dense information on the robot’s shape with contact-less acquisition. The precision of laser scanners is usually in the order of micrometers. This measurement technique is only suited for static cases, i.e., the continuum robot cannot move. Acquisition of the point cloud and post-processing can be quite time consuming. Lastly, this method also required direct line-of-sight, such that the continuum has to operate in free space.
Image-based sensing employs mono- or stereoscopic cameras observing the robot fully or partially in its workspace. In robotics, an external camera is also referred to as eye-to-hand configuration. Using cameras observing the robot can be simply used to acquire image or video footage of robot motion in a qualitative manner, but it is more often applied to obtain quantitative measures. This requires additional processing of the images or video frames. Methods of computer vision, such as segmentation, 3D reconstruction using epipolar geometry, etc. are deployed to infer information on the robot’s tip position or pose as well as its shape. This information can then be used for visual servoing, also known as vision-based control, to control the motion of the continuum robot.
The shape of a continuum robot can be resonstructed using two cameras and epipolar geometry. Corresponding image coordinates representing a point on the robot have to be identified in both images, to determine the spatial position. |
The image or video-stream processing is dependent on the desired information but usually involves multiple steps. This is particularly challenging for small-scale continuum robots as the information in the image representing the robot in terms of pixels is sparse. Consequently, the resolution of the camera and the lens have to chosen wisely. While using artificial markers on the robot to ease image processing may be appealing, this becomes infeasible if the robot has very small diameter. In recent years, the continuum robotics community has seen some efforts in learning-based image processing, but the majority of techniques relies on classical computer vision.
External image-based sensing has the advantage of being contact-less, such that it can be deployed both for static and dynamic continuum robot applications. Cameras are readily available and 3D reconstruction from stereo or multiple cameras can be highly precise (sub-millimetre). Nevertheless, processing of images in real-time or reliable reconstruction are challenging and usually not working off-the-shelf. If considering dynamic measurement, synchronization of the image acquisition needs to be accounted for. A downside of image-based techniques is that direct line-of-sight is required, such that occlusions or partial views have to be avoided and accounted for in processing.
Ideally, one would want to use as many sensors as possible and probably combine different modalities for their strengths while mitigating their limitations. Yet, it is impossible to have a multitude of sensors in a continuum robot given that there are many challenges in electronics, sensor size and space, wiring, powering, system integration, data communication and processing. Therefore, a smart sensor design and configuration strategy is needed to keep the number of sensors required to achieve a desired sensing capability low, and to optimize the sensor configuration for the best performance. Developing a sensor configuration strategy for continuum robots is particularly challenging because of their deformable body and high number of DOFs.
As of now, there is no way to directly measure forces and moments acting on a continuum robot. This information has to be inferred from other sensing modalities as discrete strain information. Force/torque sensors are commonly used in rigid-link robots but may not be available at small enough scale. One way to approach this is by measuring the actual shape of a continuum robot, for instance from images, EM tracking, or FGBs, and then comparing the measured shape with the expected shape from the robot’s kinematic or kinetostatic model. The observed deformation is a result from external forces and moments acting on the robot (assuming that the model is accurate). With assumptions on where forces/moments are acting (e.g. just at the tip), the model can be used to estimate those. While this is working in principal, the technique is still subject of ongoing research.
We have looked at the most prominent sensors used for continuum robots. Considering soft continuum robots, the development and integration of flexible and stretchable sensors is even more challenging. For instance, highly stretchable strain gauges composed of liquid metal micro channels can be directly embedded into the body of a silicone-based pneumatic actuator. They can then be used to measure the bending angle of the actuator. Yet, as soft continuum robots undergo large deformations, selecting the number of strain gauges, their location as well sensitivity is far from trivial.
Some areas of open research are concerned with continuous, real-time shape measurements of variable curvature, multi-section continuum robots, continuous force measurements along the robot’s body, and tactile sensing skins.
As continuum robots are flexible bending/extending structures, sensing can be quite a challenge. The smaller the size of the continuum robot, the more challenging the sensor selection and its integration becomes. In our Sensing 101 Part 1 and Part 2 blog posts, we have seen that multiple sensing modalities exist, each of which has its advantages and challenges. As no measurement technique is perfect and as no sensing modality suits all needs, the selection of sensors is a trade-off between application requirements and the particular continuum robot.
Some application areas, such as surgery, may also provide additional sensing means, such as medical imaging to reason about the position/pose or shape of a continuum robot operating within the human body (ultrasound, fluoroscopy, computed tomography, or magnetic resonance imaging). At the same time, applications may impose restrictions on which sensing modalities can be used. Think of a continuum robot for non-destructive inspection of a jet engine. Electromagnetic tracking would not be feasible in terms of range and external cameras would have no line-of-sight.
]]>String girdling Earth: A string is tightly wrapped around the equator of a perfectly spherical Earth. If the string should be raised 1 metre (3 ft 3 in) off the ground, all the way along the equator, how much longer would the string be?
To find the answer requires only basic geometry, as you can see on the image.
Although students get often bored during my derivation and explanation, they are usually left surprised when they see the bizarre and counterintuitive solution. As the string must be raised all along the entire 40,000 km (25,000 mi) circumference, one might expect several kilometres of additional string. Surprisingly, the answer is $2\pi$ or around 6.3 metres (21 ft). This quiz challenges our intuition even more if we state the question differently. For instance, what is the height above the surface if a string is tied around the Earth’s equator and then an additional bit of string is added?
"But how does this answer my question?" is the usual reaction after the initial joy has worn off.
Now, let’s enter the follow-up thought experiment: A tendon-driven continuum robot of length $L$ is bent by an applied tendon displacement $\Delta L$ to form a full circle.
From the right image, we can derive two equations:
\[\begin{aligned} U_\text{outer} &= L = 2\pi R\\ U_\text{inner} &= L - \Delta L = 2\pi \left(R - d\right) \end{aligned}\]The first equation describes the circumference of the outer circle being the backbone of the continuum robot. The second one reflects the circumference of the inner circle being the initial tendon length, $L$, minus the tendon displacement, $\Delta L$. Here, I assume that infinitely many infinitesimal thin spacer disks guide the tendon into a circular path, i.e. a fully constrained tendon path^{1}, where the tendons follow a continuous curve parallel to the backbone. Also, our assumptions are necessary for the constant curvature kinematics framework to work.
Coming back to the equations, by computing the differences, we get that the required tendon displacement is
\[\begin{aligned} \Delta L &= 2\pi d, \end{aligned}\]where $d$ is the distance of the tendon routing hole to the backbone. This answer may be surprising because the tendon displacement only dependents on the parameter $d$, which is relatively small compared to the length of the manipulator, $L$.
In conclusion, a tendon displacement range $\Delta L \in [-6d,6d]$ is probably enough as we typically do not require TDCR segmentsto bend into full circles (or more).
The string girdling Earth puzzle essentially leads to answer to the tendon displacement question. Another surprising aspect is: If the Earth’s cross-section is a convex area, then the string needs to be lengthened by $2\pi$ meter to raise the rope one meter above its surface. This holds true regardless of how many sides the convex area has. A derivation can be found in The Math Images Project.
Exploiting this neat aspect, we can relax the condition related to constant curvature on our tendon routing path, such that the area encompassed by the tendon just needs to create a convex area. Therefore, partially constrained tendon paths^{1} and non-constant curvature shapes can be considered as well. And, the range of tendon displacement remains the same, which means that our equation is still valid as long as the encompassed area is convex.
A surprising connection, don’t you think?
P. Rao, Q. Peyron, S. Lilge, J. Burgner-Kahrs: How to Model TendonDriven Continuum Robots and Benchmark Modelling Performance. Frontiers in Robotics and AI, vol. 7, p. 223, 2021. doi: 10.3389/frobt.2020.630245 ↩ ↩^{2}
To perform their tasks autonomously, continuum robots must perceive their own position, pose, or full shape, namely proprioception, and be able to feel external stimuli, namely exteroception. Proprioception, sometimes referred to as our sixth sense, is the sense of self-movement and body position. We classify sensors as proprioceptive if they measure values internal to the robot (e.g., angular or linear velocities, tension, pressure) and exteroceptive if they acquire information from the robot’s environment. Sensing the state of continuum robots is particularly challenging because they are flexible, compliant, and predominantly made of elastic materials. They further have a high number of degrees of freedom and their movement is complex.
In order to control a robot in a closed-loop manner, information on the current state of the robot has to be inferred. To some extent, this state information can be inferred from proprioceptive sensors, i.e., sensors in the actuators or drive-system, such as encoder values, motor torques, tendon tension, pressure etc. In combination with a kinematic or kinetostatic model of the robot, this proprioceptive information can be used to reason about its state. Yet, the continuum robot’s state may be influenced by external loads or contact with the environment, such that exteroceptive sensors are deployed in conjunction with proprioceptive sensors.
Depending on the task and application, we may be interested in obtaining information on the position or pose of the robot’s tip or shape, such as the curve describing the backbone of the robot either continuously or discretely. In addition, we may require information about forces and moments acting on our robot, either just in terms of magnitude or also associated with spatial information on where those forces act to reason about contact with the environment. Or, we might be interested in obtaining information about stresses acting on our robot, i.e. torsion and shear. Lastly, sensing information about the robot’s environment may be required to localize objects and obstacles and to infer information about relative locations.
In the following, we will look at suitable sensors for continuum robots and the information they can provide. We categorize sensors by their locations, i.e., internal sensors, embedded sensors, as well as external sensors. In today’s post, we look at internal and embedded sensors. Next week, we will look at external sensors in Part II of the Sensing 101.
Internal methods are associated with proprioceptive sensors present in the drive-system and actuators of the continuum robots. As such, they are strongly dependent on the actuation unit design and robot type.
Common internal sensors are
Internal sensors provide information on the continuum robot’s joint space. As such, the sensing information can be used to infer information on the robot’s position, pose, or shape using the kinematic or kinetostatic model. For instance, as we can infer the displacement of each tendon in a tendon-driven continuum robot from the relative position of the linear axes actuating them. Then we use these displacements as an input to our robot dependent mapping to infer the arc parameters and the space curve.
But as continuum robots are continuously bending due to their elastic nature, state information obtained from internal sensors is subject to uncertainties and external disturbances such as contact with the environment. Unmodelled effects in the robot model such as friction can also greatly affect the actual robot state. In fact, the robot’s shape and position can be passively changed by unknown external loads. For instance, if a concentric tube continuum robot, whose actuators control the tubes’ displacement and relative rotation, is subject to an external force acting on its body, the internal measurement of the encoder values will remain constant, whereas the actual state in terms of the robot’s shape is far off. Therefore, it is usually desirable to obtain additional state information which is associated with the task space.
Embedded sensors have to be integrated into the continuum robot’s body at the cost of eventually taking up valuable space. Most prominently, these are imaging sensors, fiberoptic sensors, or electro-magnetic trackers.
Using a camera embedded into the continuum robot usually means that the camera, either mono- or stereoscopic, is located at the tip of the robot. This is also referred to as eye-in-hand configuration in robotics.
The most common use case is for gaining visual feedback in a teleoperation setting. The user observes the robot’s motion as a result of their input directly in a video-stream from the camera(s). Another use case is leveraging the view from the continuum robot to reason about its environment, detect objects and obstacles, determine distances, etc. Such quantitative information can then be used for visual servoing, also known as vision-based control, to control the motion of the continuum robot. This also allows to estimate the pose of the camera w.r.t. the scene, making it possible to have an estimate of the ‘internal’ state of the continuum robot.
In terms of camera hardware, it can be challenging to be integrated within a continuum robot, particularly if the robot has a small diameter. While small cameras exist, such as chip-on-the-tip cameras at sizes of one cubic millimetre or less, the resolution of the images is usually low and the signal may be noisy. As a continuum robot has a larger diameter, better cameras can be fitted as well.
Example chip-on-the-tip small-scale camera (Copyright 2020 Toshiba Imaging). |
Embedding of a camera does also involve adding a sufficient light source, either fibre optic lights or small-scale LEDs, as continuum robots are usually foreseen in applications requiring deployment in cluttered environments or within a human body in medicine such that ambient light is insufficient.
Using embedded image-based sensing is a common way to obtain information of the robot’s surrounding and relatively cost-efficient. Sampling rates for typical cameras range between 30-60Hz. The expense usually lies in the image-processing if more than pure image information is required, which also reduces the sampling rate eventually. Estimating the state of the robot or its environment from images is its own area of research and goes beyond the scope of this post.
A promising sensing technology is optical fibres with inscribed fibre Bragg gratings (FBG). Each grating can be seen as an optical strain gauge. By inscribing several FBGs into one single optical fibre, it is possible to measure strain at various locations along its centreline. Arranging several fibres in a known geometrical configuration creates a sensor array with a high spatial sensor density and small physical dimensions. The sensor array can either consist of several distinct optical fibres or of a single multicore fibre with several fibre cores, each containing various FBGs. Often, the fibres are arranged in parallel to the centreline of the sensor array, which is referred to as a longitudinal arrangement. With the help of the known geometrical relations of the array’s cross-section, the shape of the deformed array can be reconstructed.
FBGs are special sections inscribed in optical fibres. Each grating is characterized by a specific Bragg wavelength. It reflects incoming light with exactly this wavelength (see Figure below). If the fibre is subject to longitudinal stress and/or temperature change, the reflected light spectrum shifts. Assuming that the sensor array is used under stable temperature conditions, the strain can be related to the observed wavelength shift. This locally observed strain information can then be used to determine point-wise curvature information. The curvature along the whole length of the fibre can then be determined by interpolation and the shape, respectively the curve, can be determined by integrating twice.
Using this underlying principle, a fibre-optic sensing system is composed of an optical interrogator, also known as measurement unit or data acquisition system, which is an optoelectronic instrument allowing the reading of multiple FBG sensors. During data acquisition, the interrogator measures the wavelength associated with the light reflected by the optical sensors and then converts it into engineering units. The sampling rate is usually about 1kHz. Post-processing is required to infer shape information from the wavelengths measurements.
Fiber-optic sensing systems have the advantage that fibres are small diameter (few hundred microns) and can easily be integrated into continuum robots. It allows for real-time acquisition of shape information in dynamic settings. While the fibres are available at affordable costs, the overall sensing system is quite expensive due to the optical interrogator which is highly specialized equipment. The accuracy of the fibre-optic sensing is dependent on the post-processing and calibration. Placement of the fibre within the robot has to be accurate in order to rely on geometric relationships in shape reconstruction. Determining shapes that originate from bending and twisting of the fibres can be challenging as this requires special fibre arrangements.
Electromagnetic (EM) spatial measurement systems determine the location of objects that are embedded with sensor coils. When the object is placed inside controlled, varying magnetic fields, voltages are induced in the sensor coils. These induced voltages are used by the measurement system to calculate the position and orientation of the object. As the magnetic fields are of a low field strength and can safely pass through human tissue, location measurement of an object is possible without the line-of-sight constraints of an optical spatial measurement system. Therefore, electromagnetic sensing is a great option for continuum robots in medical applications.
An electromagnetic tracking system is composed of a field generator which emits a low-intensity, varying electromagnetic field and establishes the position of the tracking volume, and sensors. Small currents are induced in the sensors by the varying electromagnetic field produced by the field generator. The characteristics of these electrical signals are dependent on the distance and angle between a sensor and the field generator. The sensors are small-scale and come in 6-DOF or 5-DOF versions. 6-DOF sensors report their position and orientation and are slightly larger (0.8 mm diameter x 9 mm length). 5-DOF sensors report their position and two of its orientation (pitch and yaw, except roll) which allows a smaller footprint (0.5mm diameter x 8mm length or 0.9 mm diameter x 6 mm length). The sensors are connected to a sensor interface unit which amplifies and digitizes the electrical signals and and minimizes the potential for data noise. The sensor interface unit connects to the system control unit, which calculates the position and orientation of each sensor and interfaces with the host computer. The measurement information, i.e., position and orientation, of the sensors is available at a measurement rate of 40Hz.
Examlpe 5DOF electromagnetic tracking sensor with 0.45mm diameter, 6.3 mm length, and up to 4.1m lead wire (Copyright: 2022 Northern Digital Inc.) |
Electromagnetic tracking allows for real-time tracking of pose information with no line-of-sight restrictions and is relatively cost-efficient. In a state-of-the-art EM tracking systems (such as NDI Aurora v2, NDI Inc.), the stated root-mean-square-error (RMS) for 6-DOF sensors is 0.48 mm in position and 0.3° orientation and for 5-DOF sensors 0.7 mm in position and 0.2° in orientation in an environment free of electromagnetic disturbances. Any ferromagnetic material or insufficiently shielded cable may interfere with the field, lead to field distortions and as a result impact the system’s accuracy. Therefore, if electromagnetic sensing is used, the continuum robot and eventually parts of its actuation unit need to be build from non-ferromagnetic materials such as medical-grade stainless steel, aluminum, and titanium. Depending on the size of the continuum robot, embedding electromagnetic sensors into its body can be challenging. As can be seen on the picture, the sensors come with a straight, stiff part which can impact the continuum robot’s ability to bend continuously. While multiple sensors can be tracked at the same time, the number is limited to up to 8 and the sensors cannot be too close to one another to allow for proper tracking.
We will look at external sensors for continuum robots in next week’s 101 Sensing Part 2 blog post!
]]>Due to its simplistic formulation, the CC is one of the most common backbone approximations made in literature. It has been shown that if there is no external gravitational, frictional, applied forces on the backbone, the tendon forces can be approximated by a constant moment applied on the segment ^{1}. Since it requires only two parameters to represent the robot and uses geometrical assumptions, many closed form analytical models have been proposed that are computationally inexpensive as the formulation can be expressed as matrix operations.
However, if the robot is carrying a tool or camera at its tip for inspection and other tasks, there is bound to be a variation in curvature as shown below, and results in deviation from the CC shape.
Shape of a TDCR under different tip forces. The backbone can be approximated by the Euler Arc Spline representation as a series of \(n\) arcs with curvatures in arithmetic progression. When no force is applied, the robot curvature is constant (green) and \(\kappa_1=\kappa_n\). As the force increases, so does the variation in curvature (red) |
At ICRA 2019, Euler curves were proposed to represent long, heavy continuum robots ^{2}. These are curves that have a linearly varying curvatures. Since long heavy continuum robots bend under the influence of gravity, we hypothesized ^{3} ^{4} that they can be used to represent the backbone experiencing an external force at the tip as well.
History: The Euler spiral, defined by the linear relationship between curvature and arclength, was first proposed as a problem of elasticity by James Bernoulli, then solved accurately by Leonhard Euler. An Euler curve is known by several other names, including “clothoid,” and “Cornu spiral.” The underlying mathematical equation is most commonly known as the Fresnel integral. The profusion of names reflects the fact that the curve has been discovered several different times, each for a completely different application: first, as a particular problem in the theory of elastic springs; second, as a graphical computation technique for light diffraction patterns; and third, as a railway transition spiral. (Learn more about the mathematical history of the Euler spiral.)
When using Euler curves, the robot-independent mapping (configuration to task space) requires Fresnel integration which can add to the computation. In order to retain the advantage of the CC representation, where the configuration to task space mapping is computed by efficient matrix operations, we use the Euler Arc Spline (EAS) representation. This EAS representation of an Euler curve was first proposed by Meek and Walton ^{5} in the context of clothoids. To represent a continummum robot backbone with EAS, we use a series of arcs whose curvatures are linearly constrained and assumed to be in arithmetic progression as illustrated here:
CC representation | EAS representation |
The proposed representation can be extended to 3D by linearizing the components of curvature along all three axes, resulting in 6 parameters in total (two along each axes).
The EAS representation was tested on a set of 70 spatial TDCR deformations with two identical TDCR prototypes, operating both in free space and under the influence of an external tip force. It was found to represent the backbone shape with an average tip error of less than 0.5%. This result indicates that EAS is a powerful representation for continuum robots experiencing tip forces that cannot be achieved with CC represenations.
Computation times of three models - EAS (red), CRT (black), and PCCA (blue) with increasing number of disks for planar (left) and non-planar (right) deformations. |
One of the major advantages of the backbone representation simplification is the reduced parameterization, without significant trade-off in accuracy. The lower number of unknowns offers the advantage of reduced computational time for a physics based model. Another advantage lies in its use in data-driven models. Lower number of configuration parameters requires lesser number of data points to train different models, allowing us to learn the behaviour of these robots due to unmodelled factors like manufacturing and assembly errors.
While we show the potential of Euler curves for TDCR experiencing tip forces, there are multiple avenues where its advantages could be exploited. It could be extended to model multiple forces along the backbone. Applying them for helical routing and learning their behaviour could be investigated to find the optimum routing to reach a particular target.
Further Reading: Curious to learn more about the use of Euler Arc Splines to model tendon-driven continuum robots? We published our finding in the IEEE Robotics & Automation Letters^{4} and presented our work at the IEEE International Conference on Intelligent Robots and Systems in 2022. For a quick summary, watch the video recording below! Paper Video
D. B. Camarillo, C. F. Milne, C. R. Carlson, M. R. Zinn, J. K. Salisbury: Mechanics modeling of tendon-driven continuum manipulators. IEEE Transactions on Robotics, 24(6):1262–1273, 2008. doi: 10.1109/TRO.2008.2002311 ↩
P. S. Gonthina, A. D. Kapadia, I. S. Godage, I. D. Walker: Modeling variable curvature parallel continuum robots using euler curves. IEEE International Conference on Robotics and Automation, pp. 1679–1685, 2019. doi: 10.1109/ICRA.2019.8794238 ↩
P. Rao, Q. Peyron, S. Lilge, J. Burgner-Kahrs: How to Model TendonDriven Continuum Robots and Benchmark Modelling Performance. Frontiers in Robotics and AI, vol. 7, p. 223, 2021. doi: 10.3389/frobt.2020.630245 ↩
P. Rao, Q. Peyron, and J. Burgner-Kahrs: Shape representation and modeling of tendon-driven continuum robots using euler arc splines. IEEE Robotics and Automation Letters, 7(3):8114–8121, 2022. doi: 10.1109/LRA.2022.3185377 ↩ ↩^{2}
D. S. Meek and D. J. Walton: An arc spline approximation to a clothoid. Journal of Computational and Applied Mathematics, 170(1):5977, 2004. doi: 10.1016/j.cam.2003.12.038 ↩