Continuum Robot Shape Estimation Using Magnetic Ball Chains

Giovanni Pittiglio1,2, Abdulhamit Donder2, and Pierre E. Dupont2 1 Department of Robotics Engineering, Worcester Polytechnic Insitute (WPI), Worcester, MA 01605, USA. Email: gpittiglio@wpi.edu
2 Department of Cardiovascular Surgery, Boston Children’s Hospital, Harvard Medical School, Boston, MA 02115, USA. Email: {giovanni.pittiglio, abdulhamit.donder, pierre.dupont}@childrens.harvard.edu
This work was supported by the National Institutes of Health under grant R01HL124020.
Abstract

Shape sensing of medical continuum robots is important both for closed-loop control as well as for enabling the clinician to visualize the robot inside the body. There is a need for inexpensive, but accurate shape sensing technologies. This paper proposes the use of magnetic ball chains as a means of generating shape-specific magnetic fields that can be detected by an external array of Hall effect sensors. Such a ball chain, encased in a flexible polymer sleeve, could be inserted inside the lumen of any continuum robot to provide real-time shape feedback. The sleeve could be removed, as needed, during the procedure to enable use of the entire lumen. To investigate this approach, a shape-sensing model for a steerable catheter tip is derived and an observability and sensitivity analysis are presented. Experiments show maximum estimation errors of 7.1% and mean of 2.9% of the tip position with respect to total length.

Index Terms:
Medical Robots and Systems, Steerable Catheters, Flexible Robotics, Magnetic Sensing, Continuum robots.

I Introduction

Continuum robots are designed to conform to three-dimensional curves, possessing the ability to alter their form by bending, rotating, and either extending or retracting their structural elements. These flexible capabilities render continuum robots highly suitable for applications that require delicate manipulation and spatial adaptability, such as minimally invasive surgical procedures. While kinematic models have been developed for the various types of continuum robots, effects such as nonlinear elasticity, friction and hysteresis as well as external forces applied by surrounding tissue, degrade the accuracy of these models.

Shape sensing can provide real-time feedback to augment the kinematic model prediction of robot state and so mitigate modeling inaccuracies. Approaches to real-time sensing that have been studied include fiber Bragg gratings (FBG), electromagnetic (EM) tracking, tendon-based sensing and imaging. FBG sensing is currently receiving much attention due to its ability to provide multiple accurate curvature measurements along a robot’s length, but it remains expensive owing to the cost of the sensors as well as the optical interrogator [1, 2, 3]. EM sensors can be used effectively in some clinical applications [4], but are limited to localizing a small number of points along a robot. Inferring shape and external applied forces from tendons and string encoders can provide accurate shape estimates, but requires careful robot design and sensor integration [5]. Shortcomings of image-based shape sensing include cost, resolution limitations and the use of ionizing radiation [4].

In contrast to these approaches, a real-time low-cost shape sensing system that could be easily inserted and removed from the robot is preferred because of its direct measurement, instant adaptability to the continuous shape change and ease of replaceability. Magnetic ball chains have recently been introduced as a new design for continuum robots [6]. Comprised of a chain of spherical permanent magnets encased in a flexible sleeve, an external magnetic field is used to steer the ball chain. As shown in Fig. 1, to create a shape sensor, the ball chain and its sleeve are inserted inside the lumen of a continuum robot and the external magnetic field is replaced by an array of Hall effect sensors. The continuum robot containing the ball chain can be actuated by any of the standard means such as tendons. The ball chain itself is inexpensive, contains no electronics and is easy to sterilize or recycle.

Refer to caption
Figure 1: Magnetic ball chain shape sensing. (a) The sensor is comprised of a chain of spherical permanent magnets encased in a flexible sleeve which is inserted in a robot’s lumen. (b) An external array of Hall effect sensors measures the combined magnetic field of all balls from which the shape of the robot is computed.

The potential for tracking permanent magnets embedded in medical robots using external sensor arrays has been established by several researchers. For example, Son et al. [7] investigated tracking a capsule robot containing a single permanent magnet. Continuum robot shape estimation has also been performed by attaching a permanent magnet at the tip of each flexing section and interpolating robot shape between magnets [8, 9]. Here, we extend the concept by creating a removable chain of spherical magnets which simultaneously maximize the magnetic content and flexibility of the sensor. The goal of our approach is to avoid the need to interpolate robot shape between magnets while also enabling their removal so that the entire robot lumen can be made available for the clinical task after navigation is complete.

In this initial paper, we investigate a simplified shape sensing implementation in which it is assumed that the coordinate frame of the robot base is known and fixed with respect to the world frame. The task is to estimate the shape of a single flexing section that can bend 180superscript180180^{\circ}180 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT in any direction with respect to its longitudinal axis. The remainder of the paper is arranged as follows. The shape sensing model is derived in the next section. The following two sections present observability and sensitivity analyses for inverting the model to estimate shape. Section V contains an experimental evaluation and conclusions appear in the final section.

II Shape Estimation Model

Refer to caption
Figure 2: Schematic representation of magnetic ball chain with plane (ϕitalic-ϕ\phiitalic_ϕ) and angle of bending (ψ𝜓\psiitalic_ψ) parameters. Two possible sensor array locations (I and II) are shown.

As shown in Fig. 2, the spheres align to form a chain due to their magnetic interaction [6]. Since the balls are spherical, we can consider each magnet as a perfect dipole [10]. When constrained to bend inside a continuum robot, they take on the curved shape of the robot.

In this paper, we assume that continuum robot flexure is of constant curvature, which we parameterize using angle of bending ψ𝜓\psiitalic_ψ and plane angle ϕitalic-ϕ\phiitalic_ϕ as shown in Fig. 2 and assume that each ball’s dipole is locally tangent to the curve. Further assuming that the superimposition principle applies, the total field generated can be measured by an array of 3D magnetic field sensors as shown.

We define 𝐪j3subscript𝐪𝑗superscript3\mathbf{q}_{j}\in\mathbb{R}^{3}bold_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT to be the field measured by the j𝑗jitalic_jth sensor with respect to the global reference frame {G}𝐺\{G\}{ italic_G }, which equates to the magnetic field generated by the chain at the position of the sensor 𝐩sjsubscript𝐩subscript𝑠𝑗\mathbf{p}_{s_{j}}bold_p start_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT. We use the magnetic dipole model to compute the field measured by the sensor, for a given bending of the chain

𝜸=ψ(sin(ϕ)cos(ϕ)).𝜸𝜓italic-ϕitalic-ϕ\boldsymbol{\gamma}=\psi\left(\begin{array}[]{c}-\sin(\phi)\\ \cos(\phi)\end{array}\right).bold_italic_γ = italic_ψ ( start_ARRAY start_ROW start_CELL - roman_sin ( italic_ϕ ) end_CELL end_ROW start_ROW start_CELL roman_cos ( italic_ϕ ) end_CELL end_ROW end_ARRAY ) . (1)

The field measured by the j𝑗jitalic_jth sensor is

𝐪j(𝜸)=𝐑SjWi=1nμ04π𝐫ij4(3𝐫ij𝐫ijTI)𝝁iSjsubscript𝐪𝑗𝜸superscriptsubscript𝐑subscript𝑆𝑗𝑊superscriptsubscript𝑖1𝑛subscript𝜇04𝜋superscriptnormsubscript𝐫𝑖𝑗43subscript𝐫𝑖𝑗superscriptsubscript𝐫𝑖𝑗𝑇𝐼superscriptsubscript𝝁𝑖subscript𝑆𝑗\mathbf{q}_{j}(\boldsymbol{\gamma})={}^{W}\mathbf{R}_{S_{j}}\sum_{i=1}^{n}% \frac{\mu_{0}}{4\pi\|\mathbf{r}_{ij}\|^{4}}\cdot\left(3\mathbf{r}_{ij}\mathbf{% r}_{ij}^{T}-I\right){}^{S_{j}}\boldsymbol{\mu}_{i}bold_q start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT ( bold_italic_γ ) = start_FLOATSUPERSCRIPT italic_W end_FLOATSUPERSCRIPT bold_R start_POSTSUBSCRIPT italic_S start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_i = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_n end_POSTSUPERSCRIPT divide start_ARG italic_μ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT end_ARG start_ARG 4 italic_π ∥ bold_r start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT ∥ start_POSTSUPERSCRIPT 4 end_POSTSUPERSCRIPT end_ARG ⋅ ( 3 bold_r start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT bold_r start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT - italic_I ) start_FLOATSUPERSCRIPT italic_S start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_FLOATSUPERSCRIPT bold_italic_μ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT (2)

where n𝑛nitalic_n is the number of balls in the chain, 𝐩isubscript𝐩𝑖\mathbf{p}_{i}bold_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT is the i𝑖iitalic_ith ball’s position, 𝝁isubscript𝝁𝑖\boldsymbol{\mu}_{i}bold_italic_μ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT its magnetic dipole moment, and we define

𝐫ij=Sj𝐩i+Sj𝐩0Sj𝐩sj.superscriptsubscript𝑆𝑗subscript𝐫𝑖𝑗superscriptsubscript𝑆𝑗superscriptsubscript𝑆𝑗subscript𝐩𝑖subscript𝐩0subscript𝐩subscript𝑠𝑗\mathbf{r}_{ij}=\ ^{S_{j}}\mathbf{p}_{i}+\ ^{S_{j}}\mathbf{p}_{0}-\ ^{S_{j}}% \mathbf{p}_{s_{j}}.bold_r start_POSTSUBSCRIPT italic_i italic_j end_POSTSUBSCRIPT = start_POSTSUPERSCRIPT italic_S start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUPERSCRIPT bold_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT + start_POSTSUPERSCRIPT italic_S start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUPERSCRIPT bold_p start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT - start_POSTSUPERSCRIPT italic_S start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUPERSCRIPT bold_p start_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT . (3)

Here \|\cdot\|∥ ⋅ ∥ indicates the Euclidean norm and μ0subscript𝜇0\mu_{0}italic_μ start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT is the vacuum magnetic permeability.

The expression 𝐯Fsuperscript𝐯𝐹{}^{F}\mathbf{v}start_FLOATSUPERSCRIPT italic_F end_FLOATSUPERSCRIPT bold_v indicates that a vector 𝐯3𝐯superscript3\mathbf{v}\in\mathbb{R}^{3}bold_v ∈ blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT is written with respect to the reference frame F𝐹Fitalic_F, and 𝐑F2F1superscriptsubscript𝐑subscript𝐹2subscript𝐹1{}^{F_{1}}\mathbf{R}_{F_{2}}start_FLOATSUPERSCRIPT italic_F start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT end_FLOATSUPERSCRIPT bold_R start_POSTSUBSCRIPT italic_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT end_POSTSUBSCRIPT is the rotation from frames F2subscript𝐹2F_{2}italic_F start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT to F1subscript𝐹1F_{1}italic_F start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT.

Under assumption of constant curvature, the position 𝐩isubscript𝐩𝑖\mathbf{p}_{i}bold_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT and magnetic dipole 𝝁isubscript𝝁𝑖\boldsymbol{\mu}_{i}bold_italic_μ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT are

𝐩iSj=𝐑GSj(𝐩0G+𝐑BGk=1iexp([𝜸]kn)d𝐞3)superscriptsubscript𝐩𝑖subscript𝑆𝑗superscriptsubscript𝐑𝐺subscript𝑆𝑗superscriptsubscript𝐩0𝐺superscriptsubscript𝐑𝐵𝐺superscriptsubscript𝑘1𝑖superscriptdelimited-[]𝜸𝑘𝑛𝑑subscript𝐞3{}^{S_{j}}\mathbf{p}_{i}={}^{S_{j}}\mathbf{R}_{G}\left({}^{G}\mathbf{p}_{0}+{}% ^{G}\mathbf{R}_{B}\sum_{k=1}^{i}\exp{\left(\frac{\left[\boldsymbol{\gamma}% \right]^{\wedge}k}{n}\right)d\mathbf{e}_{3}}\right)start_FLOATSUPERSCRIPT italic_S start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_FLOATSUPERSCRIPT bold_p start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = start_FLOATSUPERSCRIPT italic_S start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_FLOATSUPERSCRIPT bold_R start_POSTSUBSCRIPT italic_G end_POSTSUBSCRIPT ( start_FLOATSUPERSCRIPT italic_G end_FLOATSUPERSCRIPT bold_p start_POSTSUBSCRIPT 0 end_POSTSUBSCRIPT + start_FLOATSUPERSCRIPT italic_G end_FLOATSUPERSCRIPT bold_R start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT roman_exp ( divide start_ARG [ bold_italic_γ ] start_POSTSUPERSCRIPT ∧ end_POSTSUPERSCRIPT italic_k end_ARG start_ARG italic_n end_ARG ) italic_d bold_e start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ) (4a)
𝝁iSj=𝐑BSjk=1iexp([𝜸]kn)μi𝐞3superscriptsubscript𝝁𝑖subscript𝑆𝑗superscriptsubscript𝐑𝐵subscript𝑆𝑗superscriptsubscript𝑘1𝑖superscriptdelimited-[]𝜸𝑘𝑛subscript𝜇𝑖subscript𝐞3{}^{S_{j}}\boldsymbol{\mu}_{i}={}^{S_{j}}\mathbf{R}_{B}\sum_{k=1}^{i}\exp{% \left(\frac{\left[\boldsymbol{\gamma}\right]^{\wedge}k}{n}\right)\mu_{i}% \mathbf{e}_{3}}start_FLOATSUPERSCRIPT italic_S start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_FLOATSUPERSCRIPT bold_italic_μ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT = start_FLOATSUPERSCRIPT italic_S start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_FLOATSUPERSCRIPT bold_R start_POSTSUBSCRIPT italic_B end_POSTSUBSCRIPT ∑ start_POSTSUBSCRIPT italic_k = 1 end_POSTSUBSCRIPT start_POSTSUPERSCRIPT italic_i end_POSTSUPERSCRIPT roman_exp ( divide start_ARG [ bold_italic_γ ] start_POSTSUPERSCRIPT ∧ end_POSTSUPERSCRIPT italic_k end_ARG start_ARG italic_n end_ARG ) italic_μ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT bold_e start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT (4b)

where d𝑑ditalic_d is the diameter of the balls, μisubscript𝜇𝑖\mu_{i}italic_μ start_POSTSUBSCRIPT italic_i end_POSTSUBSCRIPT the i𝑖iitalic_ith ball’s magnetic dipole intensity, and 𝐞ksubscript𝐞𝑘\mathbf{e}_{k}bold_e start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is the k𝑘kitalic_kth element of the canonical basis of 3superscript3\mathbb{R}^{3}blackboard_R start_POSTSUPERSCRIPT 3 end_POSTSUPERSCRIPT. The operator [𝜸]superscriptdelimited-[]𝜸\left[\boldsymbol{\gamma}\right]^{\wedge}[ bold_italic_γ ] start_POSTSUPERSCRIPT ∧ end_POSTSUPERSCRIPT denotes the cross product form of the extended vector 𝜸=(𝜸T 0)Tsuperscript𝜸superscriptsuperscript𝜸𝑇 0𝑇\boldsymbol{\gamma}^{\prime}=\left(\boldsymbol{\gamma}^{T}\ 0\right)^{T}bold_italic_γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT = ( bold_italic_γ start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT 0 ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT, i.e. [𝜸]=(𝜸×𝐞1𝜸×𝐞2𝜸×𝐞3)superscriptdelimited-[]𝜸superscript𝜸subscript𝐞1superscript𝜸subscript𝐞2superscript𝜸subscript𝐞3\left[\boldsymbol{\gamma}\right]^{\wedge}=\left(\boldsymbol{\gamma}^{\prime}% \times\mathbf{e}_{1}\ \boldsymbol{\gamma}^{\prime}\times\mathbf{e}_{2}\ % \boldsymbol{\gamma}^{\prime}\times\mathbf{e}_{3}\right)[ bold_italic_γ ] start_POSTSUPERSCRIPT ∧ end_POSTSUPERSCRIPT = ( bold_italic_γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT × bold_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT bold_italic_γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT × bold_e start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT bold_italic_γ start_POSTSUPERSCRIPT ′ end_POSTSUPERSCRIPT × bold_e start_POSTSUBSCRIPT 3 end_POSTSUBSCRIPT ).

By combining (2) and (4), we obtain the total field measured by each sensor. For an array of m𝑚mitalic_m sensors, we can combine all measurements as

𝐪(𝜸)=(𝐪1(𝜸)T𝐪2(𝜸)T𝐪m(𝜸)T)T3m.𝐪𝜸superscriptsubscript𝐪1superscript𝜸𝑇subscript𝐪2superscript𝜸𝑇subscript𝐪𝑚superscript𝜸𝑇𝑇superscript3𝑚\mathbf{q}(\boldsymbol{\gamma})=\left(\mathbf{q}_{1}(\boldsymbol{\gamma})^{T}% \ \mathbf{q}_{2}(\boldsymbol{\gamma})^{T}\ \cdots\ \mathbf{q}_{m}(\boldsymbol{% \gamma})^{T}\right)^{T}\in\mathbb{R}^{3m}.bold_q ( bold_italic_γ ) = ( bold_q start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT ( bold_italic_γ ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT bold_q start_POSTSUBSCRIPT 2 end_POSTSUBSCRIPT ( bold_italic_γ ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ⋯ bold_q start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT ( bold_italic_γ ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ) start_POSTSUPERSCRIPT italic_T end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT 3 italic_m end_POSTSUPERSCRIPT . (5)

For a sensor reading 𝐪¯3m¯𝐪superscript3𝑚\overline{\mathbf{q}}\in\mathbb{R}^{3m}over¯ start_ARG bold_q end_ARG ∈ blackboard_R start_POSTSUPERSCRIPT 3 italic_m end_POSTSUPERSCRIPT we solve for the shape as

𝜸^𝐊(𝜸^)(𝐪¯𝐪(𝜸^))=0,contains^𝜸𝐊^𝜸¯𝐪𝐪^𝜸0\hat{\boldsymbol{\gamma}}\ni\mathbf{K}(\hat{\boldsymbol{\gamma}})\left(% \overline{\mathbf{q}}-\mathbf{q}(\hat{\boldsymbol{\gamma}})\right)=0,over^ start_ARG bold_italic_γ end_ARG ∋ bold_K ( over^ start_ARG bold_italic_γ end_ARG ) ( over¯ start_ARG bold_q end_ARG - bold_q ( over^ start_ARG bold_italic_γ end_ARG ) ) = 0 , (6)

where 𝐊(𝜸^)m×m𝐊^𝜸superscript𝑚𝑚\mathbf{K}(\hat{\boldsymbol{\gamma}})\in\mathbb{R}^{m\times m}bold_K ( over^ start_ARG bold_italic_γ end_ARG ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_m × italic_m end_POSTSUPERSCRIPT is a matrix of gains which can be tuned, depending on the confidence level for each sensor. Since different areas of the workspace may have different signal/noise ratio for different sensors, we subdivided the workspace in different manifolds ΓksubscriptΓ𝑘\Gamma_{k}roman_Γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT such that a certain gain 𝐊ksubscript𝐊𝑘\mathbf{K}_{k}bold_K start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is calibrated for 𝜸Γk𝜸subscriptΓ𝑘\boldsymbol{\gamma}\in\Gamma_{k}bold_italic_γ ∈ roman_Γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT. In our implementation, the manifold ΓksubscriptΓ𝑘\Gamma_{k}roman_Γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT has a center 𝜸¯ksubscript¯𝜸𝑘\overline{\boldsymbol{\gamma}}_{k}over¯ start_ARG bold_italic_γ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT so that

𝜸Γkmink𝜸𝜸¯k.𝜸subscriptΓ𝑘subscript𝑘norm𝜸subscript¯𝜸𝑘\boldsymbol{\gamma}\in\Gamma_{k}\Leftarrow\min_{k}\|\boldsymbol{\gamma}-% \overline{\boldsymbol{\gamma}}_{k}\|.bold_italic_γ ∈ roman_Γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ⇐ roman_min start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∥ bold_italic_γ - over¯ start_ARG bold_italic_γ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ∥ . (7)

We use Algorithm 1 below to iteratively solve (6) and adjust the sensors gains according to the previous solution. This technique of adjusting the confidence level of each sensor improves the accuracy of the results. Our method for calibrating the matrices 𝐊ksubscript𝐊𝑘\mathbf{K}_{k}bold_K start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is described in experimental section V.

𝐊(𝜸^)𝐊^𝜸absent\mathbf{K}(\hat{\boldsymbol{\gamma}})\leftarrowbold_K ( over^ start_ARG bold_italic_γ end_ARG ) ← identity matrix
𝜸^(0)superscript^𝜸0absent\hat{\boldsymbol{\gamma}}^{(0)}\leftarrowover^ start_ARG bold_italic_γ end_ARG start_POSTSUPERSCRIPT ( 0 ) end_POSTSUPERSCRIPT ← solution of (6)
while lN𝑙𝑁l\leq Nitalic_l ≤ italic_N do
       if 𝛄(l)Γksuperscript𝛄𝑙subscriptΓ𝑘\boldsymbol{\gamma}^{(l)}\in\Gamma_{k}bold_italic_γ start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ∈ roman_Γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT then
             𝐊(𝜸^)𝐊k𝐊^𝜸subscript𝐊𝑘\mathbf{K}(\hat{\boldsymbol{\gamma}})\leftarrow\mathbf{K}_{k}bold_K ( over^ start_ARG bold_italic_γ end_ARG ) ← bold_K start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT
             𝜸^(l)superscript^𝜸𝑙absent\hat{\boldsymbol{\gamma}}^{(l)}\leftarrowover^ start_ARG bold_italic_γ end_ARG start_POSTSUPERSCRIPT ( italic_l ) end_POSTSUPERSCRIPT ← solution of (6)
       end if
      
end while
Result: 𝜸^(N)superscript^𝜸𝑁\hat{\boldsymbol{\gamma}}^{(N)}over^ start_ARG bold_italic_γ end_ARG start_POSTSUPERSCRIPT ( italic_N ) end_POSTSUPERSCRIPT
Algorithm 1 Shape Estimation Algorithm

Equation (6) can be solved using gradient-based methods when the Jacobian matrix 𝐉(𝜸)=𝐪(𝜸)𝜸𝐉𝜸𝐪𝜸𝜸\mathbf{J}(\boldsymbol{\gamma})=\frac{-\partial\mathbf{q}(\boldsymbol{\gamma})% }{\partial\boldsymbol{\gamma}}bold_J ( bold_italic_γ ) = divide start_ARG - ∂ bold_q ( bold_italic_γ ) end_ARG start_ARG ∂ bold_italic_γ end_ARG is full rank. In particular, in the remainder of the paper, we use lsqnonlin solver from Matlab (Mathworks, Natick, MA) to solve for 𝜸𝜸\boldsymbol{\gamma}bold_italic_γ given a sensor reading of 𝐪¯¯𝐪\overline{\mathbf{q}}over¯ start_ARG bold_q end_ARG. Since we assume no prior knowledge of the robot state, we use the rank of the Jacobian to compute the observability of the shape sensing system as described in the next section.

III Observability Analysis

The bending 𝜸𝜸\boldsymbol{\gamma}bold_italic_γ of the robot can be reconstructed from the set of sensor readings 𝐪¯¯𝐪\overline{\mathbf{q}}over¯ start_ARG bold_q end_ARG as long as the the Jacobian 𝐉(𝜸)𝐉𝜸\mathbf{J}(\boldsymbol{\gamma})bold_J ( bold_italic_γ ) is of full rank. Here, we define the reciprocal condition number of 𝐉(𝜸)𝐉𝜸\mathbf{J}(\boldsymbol{\gamma})bold_J ( bold_italic_γ ) as

χ=αmαM,𝜒subscript𝛼𝑚subscript𝛼𝑀\chi=\frac{\alpha_{m}}{\alpha_{M}},italic_χ = divide start_ARG italic_α start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT end_ARG start_ARG italic_α start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT end_ARG , (8)

where αmsubscript𝛼𝑚\alpha_{m}italic_α start_POSTSUBSCRIPT italic_m end_POSTSUBSCRIPT and αMsubscript𝛼𝑀\alpha_{M}italic_α start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT are the respective minimum and maximum singular values of 𝐉(𝜸)𝐉𝜸\mathbf{J}(\boldsymbol{\gamma})bold_J ( bold_italic_γ ) and use this value to assess the observability of robot curvature. In the plots that follow, χ𝜒\chiitalic_χ is expressed as a percentage.

Since observability will depend on the relative orientation between the robot and the sensor plane, we consider the two scenarios shown in Fig. 2. Configuration I corresponds to the undeflected robot pointing toward the sensor plane. In Configuration II, the undeflected robot points in a direction parallel to the sensor plane. These two configurations can be viewed as a basis set for many clinically relevant robot-sensor configurations.

Figure 3 presents a numerical assessment of observability for Configurations I and II. In both configurations, the robot base is located at a distance of 15cm from the sensor plane and the robot was allowed to deflect in an arbitrary direction up to 180superscript180180^{\circ}180 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT, i.e., (ϕ,ψ)[180,180][0,180]italic-ϕ𝜓superscript180180superscript0180(\phi,\psi)\in\left[-180,180\right]^{\circ}\cap\left[0,180\right]^{\circ}( italic_ϕ , italic_ψ ) ∈ [ - 180 , 180 ] start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT ∩ [ 0 , 180 ] start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT. We consider a chain of ten N42 magnetic balls of diameter 6.35mm comparable to those described later in our experiments.

The sensors where positioned at 𝐩sjG=40.5rotz(jπ2)e1superscriptsubscript𝐩subscript𝑠𝑗𝐺40.5subscriptrot𝑧𝑗𝜋2subscript𝑒1{}^{G}\mathbf{p}_{s_{j}}=40.5\cdot\text{rot}_{z}\left(j\frac{\pi}{2}\right)e_{1}start_FLOATSUPERSCRIPT italic_G end_FLOATSUPERSCRIPT bold_p start_POSTSUBSCRIPT italic_s start_POSTSUBSCRIPT italic_j end_POSTSUBSCRIPT end_POSTSUBSCRIPT = 40.5 ⋅ rot start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_j divide start_ARG italic_π end_ARG start_ARG 2 end_ARG ) italic_e start_POSTSUBSCRIPT 1 end_POSTSUBSCRIPT mm, in global frame (see Fig. 2); here rotz(θ)subscriptrot𝑧𝜃\text{rot}_{z}\left(\theta\right)rot start_POSTSUBSCRIPT italic_z end_POSTSUBSCRIPT ( italic_θ ) indicates the rotation of angle θ𝜃\thetaitalic_θ around the z𝑧zitalic_z axis; θ=k90,k=0,1,2,3formulae-sequence𝜃𝑘superscript90𝑘0123\theta=k\cdot 90^{\circ},k=0,1,2,3italic_θ = italic_k ⋅ 90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT , italic_k = 0 , 1 , 2 , 3.

Figure 3(a) plots the reciprocal condition number as function of bending plane and bending angle for Configuration I in which the chain points toward the sensor array when undeflected. Given the symmetry of this configuration with respect to ϕitalic-ϕ\phiitalic_ϕ, we anticipate that observability will be independent of ϕitalic-ϕ\phiitalic_ϕ. This can be seen to be true with the highest value of the observability approaching 100% when the chain is straight and falling off to between 30-40% when the chain is deflected 180superscript180180^{\circ}180 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT. (Note that owing to discretization and numerical rounding, a small amount of variation with respect to ϕitalic-ϕ\phiitalic_ϕ is seen in the contours.) This can be anticipated since when the chain is straight, the sensors are well positioned to triangulate on the location of the chain. As it bends, this capability becomes reduced, however, χ𝜒\chiitalic_χ still remains above 30% indicating that shape estimation is still possible.

Refer to caption
(a) Configuration I
Refer to caption
(b) Configuration II
Figure 3: Contour plots of shape observability as measured by reciprocal condition number, χ𝜒\chiitalic_χ, for the two sensor array configurations shown in Fig. 2. Here, χ𝜒\chiitalic_χ is expressed as a percentage.

When the sensor array is positioned as shown in Configuration II, the straight configuration is no longer symmetric with respect to all of the sensors resulting in a value of χ𝜒\chiitalic_χ between 50-60%. In this configuration, however, bending the chain increases observability regardless of the value of ϕitalic-ϕ\phiitalic_ϕ.

In particular, the highest values of χ𝜒\chiitalic_χ occur when ϕ{±45,±90,±135}italic-ϕsuperscriptplus-or-minus45plus-or-minus90plus-or-minus135\phi\in\{\pm 45,\pm 90,\pm 135\}^{\circ}italic_ϕ ∈ { ± 45 , ± 90 , ± 135 } start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT. For ϕ±90italic-ϕplus-or-minussuperscript90\phi\in\pm 90^{\circ}italic_ϕ ∈ ± 90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT, the maxima occur when the robot is deflected 180superscript180180^{\circ}180 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT. These configurations correspond to the chain bending directly toward and away from the sensor array. These are again the configurations for which the balls are centrally located with respect to all of the sensors resulting in improved triangulation.

The maxima at ϕ{±45,±135}italic-ϕsuperscriptplus-or-minus45plus-or-minus135\phi\in\{\pm 45,\pm 135\}^{\circ}italic_ϕ ∈ { ± 45 , ± 135 } start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT occur for ψ130𝜓superscript130\psi\approx 130^{\circ}italic_ψ ≈ 130 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT. Given the number of balls and their position and orientation with respect to the sensor array, it is difficult to predict that these are especially observable configurations using intuition alone. The important result is that, while Configuration II would appear to be more challenging for shape estimation than Configuration I, the minimum value of χ𝜒\chiitalic_χ is greater than 40%. This means that a small change in the chain’s configuration is more easily observed when the sensor array is placed to the side of the chain.

IV Sensitivity Analysis

Refer to caption
Figure 4: Maximum tip position error (percentage of robot length) as a function of bending angle, ψ𝜓\psiitalic_ψ, for three noise levels in Configuration I (See Fig. 2).

The observability analysis of the preceding section assumes perfect measurements by the Hall effect sensors. In a real sensing system, noise corrupts measurements with small magnitude signals being degraded more than large magnitude signals. To understand how sensor noise would degrade our estimates of robot shape, we performed a sensitivity analysis for Configurations I and II as follows.

We generated simulated measurement data 𝐪¯¯𝐪\overline{\mathbf{q}}over¯ start_ARG bold_q end_ARG using the model in (2). We discretized the workspace using (ϕ,ψ)=(j90,k30(\phi,\psi)=(j\cdot 90^{\circ},k\cdot 30^{\circ}( italic_ϕ , italic_ψ ) = ( italic_j ⋅ 90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT , italic_k ⋅ 30 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT), (j,k)[0,2][6,6]+for-all𝑗𝑘0266superscript\forall(j,k)\in[0,2]\cap[-6,6]\cap\mathbb{N}^{+}∀ ( italic_j , italic_k ) ∈ [ 0 , 2 ] ∩ [ - 6 , 6 ] ∩ blackboard_N start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT. For each configuration in the workspace, we generated 100 samples, labeled as l=1,2,,100𝑙12100l=1,2,\dots,100italic_l = 1 , 2 , … , 100, of noisy data by adding zero-mean Gaussian noise with a standard deviation σ=k5/3%𝜎𝑘5percent3\sigma=k5/3\%italic_σ = italic_k 5 / 3 % of the norm of the measured data 𝐪¯norm¯𝐪\|\overline{\mathbf{q}}\|∥ over¯ start_ARG bold_q end_ARG ∥, with k=0,1,2𝑘012k=0,1,2italic_k = 0 , 1 , 2. We used these samples to estimate the maximum measurement errors for 0, 5 and 10% noise, since 99% of the samples of the normal distribution are within 3σ3𝜎3\sigma3 italic_σ.

For the l𝑙litalic_lth sample of k𝑘kitalic_kth chain configuration 𝐪¯klsubscript¯𝐪subscript𝑘𝑙\overline{\mathbf{q}}_{k_{l}}over¯ start_ARG bold_q end_ARG start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_POSTSUBSCRIPT we solved for the corresponding shape 𝜸^klsubscript^𝜸subscript𝑘𝑙\hat{\boldsymbol{\gamma}}_{k_{l}}over^ start_ARG bold_italic_γ end_ARG start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_POSTSUBSCRIPT, following Algorithm 1 for N=0𝑁0N=0italic_N = 0; in this case we have uniform sensors noise and do not need locally tuned gains for the sensors. Using (4), we compute the ground-truth position of the chain’s tip 𝐩kl=𝐩n(𝜸kl)subscript𝐩subscript𝑘𝑙subscript𝐩𝑛subscript𝜸subscript𝑘𝑙\mathbf{p}_{k_{l}}=\mathbf{p}_{n}(\boldsymbol{\gamma}_{k_{l}})bold_p start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_POSTSUBSCRIPT = bold_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( bold_italic_γ start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_POSTSUBSCRIPT ) and the estimated tip position 𝐩^kl=𝐩n(𝜸^kl)subscript^𝐩subscript𝑘𝑙subscript𝐩𝑛subscript^𝜸subscript𝑘𝑙\hat{\mathbf{p}}_{k_{l}}=\mathbf{p}_{n}(\hat{\boldsymbol{\gamma}}_{k_{l}})over^ start_ARG bold_p end_ARG start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_POSTSUBSCRIPT = bold_p start_POSTSUBSCRIPT italic_n end_POSTSUBSCRIPT ( over^ start_ARG bold_italic_γ end_ARG start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_POSTSUBSCRIPT ). We report the error as the maximum norm error over the 100 samples of the tip position

ek=maxl=1,2,,100𝐩kl𝐩^kl.subscript𝑒𝑘subscript𝑙12100normsubscript𝐩subscript𝑘𝑙subscript^𝐩subscript𝑘𝑙e_{k}=\max_{l=1,2,\dots,100}\|\mathbf{p}_{k_{l}}-\hat{\mathbf{p}}_{k_{l}}\|.italic_e start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = roman_max start_POSTSUBSCRIPT italic_l = 1 , 2 , … , 100 end_POSTSUBSCRIPT ∥ bold_p start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_POSTSUBSCRIPT - over^ start_ARG bold_p end_ARG start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT italic_l end_POSTSUBSCRIPT end_POSTSUBSCRIPT ∥ . (9)

Figure 4 depicts maximum tip position error for Configuration I. While, as expected, the error is independent of ϕitalic-ϕ\phiitalic_ϕ, this plot shows that error is also independent of bending angle ψ𝜓\psiitalic_ψ. While χ𝜒\chiitalic_χ falls as ψ𝜓\psiitalic_ψ increases, the signal/noise ratio remains high enough that the tip position estimation error is not affected.

Refer to caption
(a) Bending ±180plus-or-minussuperscript180\pm 180^{\circ}± 180 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT in the y𝑦yitalic_y-z𝑧zitalic_z plane (motion toward and away from sensors, ϕ=0italic-ϕsuperscript0\phi=0^{\circ}italic_ϕ = 0 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT).
Refer to caption
(b) Bending ±180plus-or-minussuperscript180\pm 180^{\circ}± 180 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT in the x𝑥xitalic_x-z𝑧zitalic_z plane (motion parallel to sensors, ϕ=90italic-ϕsuperscript90\phi=90^{\circ}italic_ϕ = 90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT).
Figure 5: Maximum tip position error (percentage of robot length) as a function of bending angle, ψ𝜓\psiitalic_ψ, for 3 noise levels in Configuration II (See Fig. 2).

With the sensor array in Configuration II, maximum tip position error is a function of both bending angle, ψ𝜓\psiitalic_ψ, and robot orientation angle, ϕitalic-ϕ\phiitalic_ϕ. To illustrate these effects, we plot the results for two planes of bending, ϕ=0italic-ϕsuperscript0\phi=0^{\circ}italic_ϕ = 0 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT and ϕ=90italic-ϕsuperscript90\phi=90^{\circ}italic_ϕ = 90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT, in Fig. 5. From Fig. 5(b), the effect on noise on measurement accuracy can be clearly seen. As the chain bends away from the sensor plane, the signal magnitude falls sufficiently that accuracy degrades significantly. In contrast, Fig. 5(b) shows that robot bending in the plane parallel to the sensor has no effect on estimation accuracy since signal magnitude is comparable over all configurations.

From this analysis, we can conclude that acceptable maximum estimation errors, within 5% of chain length, would require sensors with a noise level below 5% of the signal. Furthermore, as mentioned in Section II, configuration-dependent weighting of sensor signals can be used to partially compensate for variations in sensor signal amplitude over the workspace.

V Experimental Validation

To evaluate the shape sensing system of Figs. 1 and 2, we 3D printed continuum “robots” of fixed constant curvatures and inserted magnetic ball chains in their lumens as shown in Fig. 6. This robot orientation matches Configuration I. Since the curvatures of these “robots” was known, the values could be used as ground truth and compared to the shape estimated by the sensing system.

The ball chain consisted of ten N42 spherical magnets of diameter d=6.35𝑑6.35d=6.35italic_d = 6.35mm (K&J Magnetics), which matched the parameters used in the observability and sensitivity analyses presented above. The sensor array was comprised of four 3D Hall effect senors (MLX90393 Triaxis®, Melexis), positioned as described in Section III. The mock robot was mounted in a stand which provided a fixed set of possible orientation angles, ϕitalic-ϕ\phiitalic_ϕ. Matching the analyses above, the stand was positioned such that the proximal ball was 15cm from the sensor plane.

Sensor data was collected for the configurations (ϕ,ψ)=(j90,k30(\phi,\psi)=(j\cdot 90^{\circ},k\cdot 30^{\circ}( italic_ϕ , italic_ψ ) = ( italic_j ⋅ 90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT , italic_k ⋅ 30 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT), (j,k)[0,4][0,6]+for-all𝑗𝑘0406superscript\forall(j,k)\in[0,4]\cap[0,6]\cap\mathbb{N}^{+}∀ ( italic_j , italic_k ) ∈ [ 0 , 4 ] ∩ [ 0 , 6 ] ∩ blackboard_N start_POSTSUPERSCRIPT + end_POSTSUPERSCRIPT. At each configuration, 10 samples for each sensor channel were used for calibration and estimation, as described below.

Refer to caption
Figure 6: Shape sensing experiments using mock continuum robots of known fixed curvature and orientation.

V-A Sensor Calibration

Based on the orientation of the chain with respect to the four sensors, the relative accuracy of the sensors varies. To account for this, the optimal gain matrix 𝐊ksubscript𝐊𝑘\mathbf{K}_{k}bold_K start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT associated with the manifold of ΓksubscriptΓ𝑘\Gamma_{k}roman_Γ start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT as described in Section II, Algorithm 1, is computed and used for shape estimation. The center of the manifold 𝜸¯ksubscript¯𝜸𝑘\overline{\boldsymbol{\gamma}}_{k}over¯ start_ARG bold_italic_γ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT is computed from (1) for each combination of (ϕ,ψ)ksubscriptitalic-ϕ𝜓𝑘(\phi,\psi)_{k}( italic_ϕ , italic_ψ ) start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT.

Refer to caption
(a) Results on vertical plane: ϕ=90italic-ϕ90\phi=90italic_ϕ = 90.
Refer to caption
(b) Results on horizontal plane: ϕ=0italic-ϕsuperscript0\phi=0^{\circ}italic_ϕ = 0 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT.
Figure 7: Experimental estimates of robot shape for Configuration I. Plots on left show estimated and actual ball locations. Plots on right compare sensor-computed tip position errors with predictions from sensitivity analysis of Section IV.

We compute the predicted value of the measurement from the model in (2), 𝐪(𝜸¯k)𝐪subscript¯𝜸𝑘\mathbf{q}(\overline{\boldsymbol{\gamma}}_{k})bold_q ( over¯ start_ARG bold_italic_γ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ), and the measurement reading, 𝐪¯ktsubscript¯𝐪subscript𝑘𝑡\overline{\mathbf{q}}_{k_{t}}over¯ start_ARG bold_q end_ARG start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_POSTSUBSCRIPT, for each sample t=1,2,,10𝑡1210t=1,2,\dots,10italic_t = 1 , 2 , … , 10. The maximum error for each component is given by

𝐞M=(maxt|𝐪¯kt𝐪(𝜸¯k)|)m.subscript𝐞𝑀subscript𝑡subscript¯𝐪subscript𝑘𝑡𝐪subscript¯𝜸𝑘superscript𝑚\mathbf{e}_{M}=\left(\max_{t}|\overline{\mathbf{q}}_{k_{t}}-\mathbf{q}(% \overline{\boldsymbol{\gamma}}_{k})|\right)\in\mathbb{R}^{m}.bold_e start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT = ( roman_max start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT | over¯ start_ARG bold_q end_ARG start_POSTSUBSCRIPT italic_k start_POSTSUBSCRIPT italic_t end_POSTSUBSCRIPT end_POSTSUBSCRIPT - bold_q ( over¯ start_ARG bold_italic_γ end_ARG start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT ) | ) ∈ blackboard_R start_POSTSUPERSCRIPT italic_m end_POSTSUPERSCRIPT . (10)

where |||\cdot|| ⋅ | is absolute value and m=12𝑚12m=12italic_m = 12, since four 3D sensors are used. Sensor gain is defined as

𝐊k=(diag(𝐞M))1m×m,subscript𝐊𝑘superscriptdiagsubscript𝐞𝑀1superscript𝑚𝑚\mathbf{K}_{k}=\left(\text{diag}\left(\mathbf{e}_{M}\right)\right)^{-1}\in% \mathbb{R}^{m\times m},bold_K start_POSTSUBSCRIPT italic_k end_POSTSUBSCRIPT = ( diag ( bold_e start_POSTSUBSCRIPT italic_M end_POSTSUBSCRIPT ) ) start_POSTSUPERSCRIPT - 1 end_POSTSUPERSCRIPT ∈ blackboard_R start_POSTSUPERSCRIPT italic_m × italic_m end_POSTSUPERSCRIPT , (11)

and so more trust is given to the channel with smaller maximum error.

V-B Shape Sensing

Algorithm 1 in Section II was applied to the collected data with number of iterations N=2𝑁2N=2italic_N = 2. The results are reported in Fig. 7, where we show independently the bending on the the vertical y𝑦yitalic_y-z𝑧zitalic_z plane (ϕ=90italic-ϕsuperscript90\phi=90^{\circ}italic_ϕ = 90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT, Fig. 7(a)) and the horizontal x𝑥xitalic_x-z𝑧zitalic_z plane (ϕ=0italic-ϕsuperscript0\phi=0^{\circ}italic_ϕ = 0 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT, Fig. 7(b)). The plots present the error between the ground truth configurations and the sensor-based estimates.

For comparison, we also plot the sensitivity analysis maximum error estimates for noise levels of 5% and 10% (see Section IV for details). Note that the 5% noise maximum errors bound the actual errors for almost all configurations in both plots. For the vertical plane, the only outlier is the maximum error of 7.1mm for ψ=120𝜓superscript120\psi=-120^{\circ}italic_ψ = - 120 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT (11.2% of the length of the chain). The mean experimental error on the vertical plane is 2.2mm, less than half the size of a magnetic ball, corresponding to 3.5% of the total length of the chain.

In the horizontal plane of Fig. 7(b), the calibration was generally more effective in compensating for sensor noise. All experimental errors fell within the 5% noise level, with a maximum at ψ=90𝜓superscript90\psi=-90^{\circ}italic_ψ = - 90 start_POSTSUPERSCRIPT ∘ end_POSTSUPERSCRIPT of 3.9mm (6.1% of the chain length). The mean error on this plane was 1.5mm (2.4% of the total length).

We also computed an average computation time over all data samples of 0.25s for Algorithm 1, indicating that it could be adapted for online use. Alternate real-time techniques such as extended Kalman filters could also be employed to handle dynamic configuration changes.

VI Conclusions

This paper introduced the concept of using a chain of spherical permanent magnets to generate a shape-specific magnetic field. When inserted in the lumen of a continuum robot, this field can be measured and decoded using an array of Hall effect sensors to estimate the robot shape. Our observability and sensitivity analyses confirm the potential of the method. Our experimental results, using low-cost ($25/sensor) Hall effect sensors, demonstrated mean tip position errors of 3.5% of robot length and maximum errors of less than 7.1%percent7.17.1\%7.1 % of robot length. These results can likely be improved through the use of more accurate sensors.

While in the case considered here, the base coordinate frame of the robot was assumed known, future work will include estimation of the base frame and also consider robots comprised of multiple curving sections. Furthermore, we will consider optimizing the sensor number and arrangement with respect to the robot in order to optimally balance observability and sensitivity.

Initial testing not detailed here has shown that the magnetic field is not affected when the chain is inserted inside clinical-grade tendon-actuated catheters. Future work will study catheter compatibility in detail.

References

  • [1] S. C. Ryu and P. E. Dupont, “Fbg-based shape sensing tubes for continuum robots,” in 2014 IEEE International Conference on Robotics and Automation (ICRA), 2014, pp. 3531–3537.
  • [2] G. Pittiglio, J. H. Chandler, T. da Veiga, Z. Koszowska, M. Brockdorff, P. Lloyd, K. L. Barry, R. A. Harris, J. McLaughlan, C. Pompili, and P. Valdastri, “Personalized magnetic tentacles for targeted photothermal cancer therapy in peripheral lungs,” Communications Engineering, vol. 2, no. 1, p. 50, Jul 2023. [Online]. Available: https://doi.org/10.1038/s44172-023-00098-9
  • [3] G. Pittiglio, A. L. Orekhov, T. da Veiga, S. Calò, J. H. Chandler, N. Simaan, and P. Valdastri, “Closed loop static control of multi-magnet soft continuum robots,” IEEE Robotics and Automation Letters, vol. 8, no. 7, pp. 3980–3987, 2023.
  • [4] A. Ramadani, M. Bui, T. Wendler, H. Schunkert, P. Ewert, and N. Navab, “A survey of catheter tracking concepts and methodologies,” Medical Image Analysis, vol. 82, p. 102584, 2022. [Online]. Available: https://www.sciencedirect.com/science/article/pii/S1361841522002225
  • [5] A. L. Orekhov, E. Z. Ahronovich, and N. Simaan, “Lie group formulation and sensitivity analysis for shape sensing of variable curvature continuum robots with general string encoder routing,” IEEE Transactions on Robotics, vol. 39, no. 3, pp. 2308–2324, 2023.
  • [6] G. Pittiglio, M. Mencattelli, and P. E. Dupont, “Magnetic ball chain robots for endoluminal interventions,” in 2023 IEEE International Conference on Robotics and Automation (ICRA), 2023, pp. 4717–4723.
  • [7] D. Son, X. Dong, and M. Sitti, “A simultaneous calibration method for magnetic robot localization and actuation systems,” IEEE Transactions on Robotics, vol. 35, no. 2, pp. 343–352, 2019.
  • [8] H. Wang, B. Yang, Y. Liu, W. Chen, X. Liang, and R. Pfeifer, “Visual Servoing of Soft Robot Manipulator in Constrained Environments With an Adaptive Controller,” IEEE/ASME Transactions on Mechatronics, vol. 22, no. 1, pp. 41–50, 2017.
  • [9] C. Zhang, Y. Lu, S. Song, and M. Q.-H. Meng, “Shape tracking and navigation for continuum surgical robot based on magnetic tracking,” in 2017 IEEE International Conference on Information and Automation (ICIA), 2017, pp. 1143–1149.
  • [10] A. J. Petruska and J. J. Abbott, “Optimal Permanent-Magnet Geometries for Dipole Field Approximation,” IEEE Transactions on Magnetics, vol. 49, no. 2, pp. 811–819, 2013.