Keywords

1 Introduction

Continuum robot is a new generation of bionic robot inspired by biological continuum structures such as, elephant trunks, lizard tongues and octopus tentacles [1]. Continuum robots possess flexible structures and hyper-redundant DOFs making them suitable for manipulation in narrow, complex and unconstructed environments.

Walker et al. have developed a large number of pneumatic continuum robots inspired by elephant trunks [2,3,4], which can achieve the motion of shortening and bending. Camarillo et al. designed a rod-driven continuum robot equipped with 6 DOFs, which has great application prospect in endoscopic therapy [5]. Simaan presented multi-module continuum robot using hyper-elastic NiTi alloy for the use of minimally invasive surgery [6, 7]. Similar design was used by Xu et al. to develop a single cavity mirror robot for minimally invasive surgery [8]. Kang et al. presented a continuum robot driven by pneumatic artificial muscles and utilized Kalman filter to estimate the Jacobian of the robot for path tracking [9, 10].

To complete a certain task, a continuum robot needs to be controlled by operators. However, it might be risky or even impossible for operators exposed directly in unconstructed and complex environments. Therefore, it is quite necessary to implement a teleoperation device into continuum robotic system. Master-slave interactive control have been used in rigid robotic systems for years [11]. Shin et al. developed a master-slave robotic system for needle indentation and insertion with force feedback. The master robot has 6-DOF and the slave robot was designed as a 1-DOF robot. The interaction force between the slave robot and tissue sample was measured from the force sensor and delivered to the control system through a USB-based DAQ board [12]. Franco et al. presented master-slave control system for teleoperated needle insertion under guidance by Magnetic Resonance Imaging (MRI) [13]. Hou et al. designed a master-slave system consisting of a hydraulic Stewart mechanism, which can be used for grinding complex curved surfaces while keeping the operator away from the harmful dust produced [14]. The above works provide inspirations for implementation of teleoperation control in continuum robots.

In this paper, a two-joint rod-driven continuum robot is proposed for highly compliant manipulation. In addition, an articulated teleoperation manipulator is designed to map its configuration to the continuum robotic arm. The kinematics of the continuum robotic arm is obtained based on the assumption of constant curvature in each module. The rest of this paper is organized as follows: Sect. 2 describes the mechanical design of the slave continuum robot and the master manipulator. Section 3 introduces the kinematic model for the presented robot. The experiment results are demonstrated in Sect. 4, and the conclusions are given in Sect. 5.

2 Prototype Design

The prototype of the master-slave robotic system is shown in Fig. 1, which is mainly composed of a master manipulator and a slave continuum robot. The slave continuum robot includes a gripper, a driving box and a two-joint continuum arm. Each joint, driven by three rods, has two DOFs, so that the whole arm has four DOFs.

Fig. 1.
figure 1

Overall structure of the master-slave robotic system

2.1 The Continuum Arm

As shown in Fig. 2, each joint of the continuum arm is constructed by a backbone, three driving rods evenly distributed in a circle and eleven constraint disks. The backbone and rods are made of super elastic NiTi alloy to ensure the compliance and reliability of the arm. All the constraint disks are equally spaced on the backbone, and the rods are only fixed to the end disk of the corresponding joint but go through other disks allowing for relative sliding. The length of the backbone remains constant. By pushing or pulling the driving rods, the continuum joint will bend with different configuration, according to the displacements of the rod.

Fig. 2.
figure 2

Structure of the continuum arm.

2.2 The Driving Box

Regarding to the actuations of the continuum arm, six rods are arranged for two continuum joints. Therefore, six transmission units are equipped in the driving box. One end of the rod is anchored to the end disk, while another is attached to a corresponding transmission unit. The linear movement of a rod is achieved by the screw-rod sliding mechanism. Each transmission unit is composed of a group of screw, slider and rail, as shown in Fig. 3.

Fig. 3.
figure 3

Driving box: (a) the transmission unit; (b) overview of the driving box.

2.3 The Master Manipulator

The design of the master-slave system adopts isomorphic absolute position control method. The master manipulator can be divided into three parts, including the base, the distal link and the proximal link. The proximal link corresponds to the first joint of the slave continuum arm while the distal link corresponds to the second joint of the slave continuum arm. Each link, connected by U-pairs has two DOFs of rotation relating to its own base coordinate system. Four sensors are installed in two U-pairs to measure the pitch and yaw angles, and the output analog signal is transformed to the digital signal in a Microprogrammed Control Unit (MCU) embedded in the base. The data is then sent to the PC through USB communication.

There are various control strategies according to different types of exchange information in master-slave control system. In this paper, we use the configuration-fitting control strategy for the master-slave system. As shown in Fig. 4 and Table 1, the yaw angle, δ, and the pitch angle, θ, of the master manipulator is equal to the rotation angle, δ, and the bending angle, θ, of the corresponding joint of the slave continuum robot. So the configuration of slave continuum robot can controlled by operating the master manipulator.

Fig. 4.
figure 4

The configuration-fitting control

Table 1. The configuration-fitting control

Solidworks is used in the design of the master manipulator for modeling and optimization. As shown in Fig. 4, in order to ensure that the configuration of master manipulator keep stable without external force, two damping couplings are assembled in two U-pairs. The selection of damper is determined according to the maximum torque of gravity under different configuration of the master manipulator. At the same time, in order to ensure that the master manipulator will not roll over, the location of the center is calculated so that it is always within the support range of the base.

2.4 Control System

As shown in Fig. 5, the hardware of the control system consists of a PC, the master manipulator and various control objects. The control objects are directly connected to CAN bus include DC six brushed motors, step motor driver of the end effector and data acquisition card with multiple analog input and output. The data acquisition card is used to collect the driving force signal of the tension pressure sensor. The master manipulator communicates with PC through USB, and four angle sensors transmit the configuration parameters of the master manipulator to PC through MCU.

Fig. 5.
figure 5

Schematic diagram of the control system

In the process of motion control of the master-slave robotic system, when users operate the master manipulator, the angle sensors send the configuration parameters, δi and θi, to the PC through the MCU. The PC receives several groups of configuration data using Microsoft Foundation Classes (MFC) message at a regular interval and stores them in memory temporarily. When system judges that the configuration parameters stop being updated, the system will stop storing the configuration parameters.

The control system will activate the motion control of the slave continuum robot after obtaining the first groups of configuration parameters. Then the initial length of each driving rod is obtained to calculate the initial configuration of the slave continuum arm. The trajectory of desired motion is produced based on the difference value between the initial configuration and the first set of configuration parameters stored in the memory. The trajectory of the configuration mapping from the master manipulator to the slave continuum robot is established on the kinematic mappings and Jacobian matrix, which will be introduced in the following sections. After the first set of desired configurations is achieved, the program automatically takes the second set of configurations as the desired configurations, and then calculate the next trajectory. The processes are repeated until all configuration parameters obtained from the master manipulator are executed. When the operation is completed, the system will release the memory, and at the same time resets the initial configuration state of the continuum arm.

3 Kinematic Modeling

In this section, kinematics for the rod-driven slave continuum robot is introduced based on the constant curvature assumption.

3.1 Coordinates and Parameters Definition

The kinematic parameters of the continuum robot are defined, as illustrated in Fig. 6.

Fig. 6.
figure 6

Geometric description of continuum joint 1

The global coordinate system O0 (x0, y0, z0) is established on the base of the whole arm. Two local coordinate systems Oi (xi, yi, zi) (i = 1, 2) is established on the end disk of each joint. Based on the assumption that each joint i is curved with constant curvature, the kinematic model can be divided into three spaces: the actuation space L, the configuration space Ψ and the workspace Q [5, 15]. The actuation space is defined as \( \varvec{L} = \left[ {l_{11} ,l_{12} ,l_{13} ,l_{21} ,l_{22} ,l_{32} ,} \right]^{T} \), which describes the length of the driving rods. li,j denotes the total length of the \( j^{th} \) driving rod of the \( i^{th} \) joint (i = 1, 2; j = 1, 2, 3), as shown in Fig. 6. The configuration space is defined as \( \varvec{\varPsi}= \left[ {\theta_{1} ,\delta_{1} ,\theta_{2} ,\delta_{2} } \right]^{T} \), which describes the deformation of the continuum arm. \( \theta_{i} \) describes the bending angle of the \( i^{th} \) joint in the bending plane i, where the arc lies. δi describes the rotation angle of joint \( i \), that is the angle between the bending plane of joint \( i \) and the xi-1 axis of the {i−1}. The workspace is defined as Q = [x y z]T, which represents the position of the end point.

The length of the backbone of each joint is Li (i = 1, 2). α = 120° indicates the angle between the three driving rods evenly distributed for each joint. β = 60° is the angle between the driving rods of joint 2 and joint 1. R = 15 mm represents the radius of the circumference of the evenly distributed driving rods.

3.2 Kinematic Mapping

The mapping relationship between the actuation space and the configuration space is derived on the basis of the geometric relationship between the driving rod and the backbone:

$$ l_{{\varvec{i,j}}} { = }\sum\limits_{g = 1}^{i} {[L_{\text{g}} \; - \;R\theta_{g} \cos (\delta_{g} + (j - 1)\alpha + (i - 1)\beta )]} $$
(1)

Based on the geometric relationship of the coordinate system, the transformation matrix \( _{i}^{i - 1} \varvec{T}(i = 1,2) \) of the coordinate system from \( \left\{ {i - 1} \right\} \) to \( \left\{ i \right\} \) can be obtained as (2). Where, \( \gamma \;{ = }\;\beta \text{ - }\delta_{1} \;{ + }\;\delta_{2} \)

$$ \begin{aligned}_{1}^{0} \varvec{T} & = Rot_{z} (\delta_{1} )Trans\left[ {\frac{{L_{1} }}{{\theta_{1} }}(1 - \cos \,\theta_{1} ),0,\frac{{L_{1} }}{{\theta_{1} }}\sin \,\theta_{1} } \right]Rot_{y} (\theta_{1} ) \\ {}_{2}^{1} \varvec{T} & = Rot_{z} (\gamma )Trans\left[ {\frac{{L_{2} }}{{\theta_{2} }}(1 - \cos \,\theta_{2} ),0,\frac{{L_{2} }}{{\theta_{2} }}\sin \,\theta_{2} } \right]Rot_{y} (\theta_{2} ) \\ \end{aligned} $$
(2)
$$ _{2}^{0} \varvec{T}\;{ = }\;_{1}^{0} \varvec{T} \cdot_{2}^{1} \varvec{T}\; = \;\left[ {\begin{array}{*{20}c} \varvec{R} & \varvec{P} \\ 0 & 1 \\ \end{array} } \right] $$
(3)

In Eq. (3), \( _{2}^{0} \varvec{T} \) represents the transformation matrix from frame {0} to frame {2}, where P is the multivariate function vector of \( \theta_{1} \, \delta_{1} \, \theta_{2} \, \delta_{2} \), which reflects the absolute coordinates of the end point. P = [Px Py Pz]T reflects the mapping relationship between the configuration space Ψ and the workspace Q.

3.3 Jacobian Matrix

In real task, the slave continuum robot is required not only to reach the position of the target, but also to provide certain speed for certain mission requirement. In addition, to achieve a smooth and safe motion, the moving speed of the slave continuum robot’s configuration is necessary to be well controlled. The Jacobian reveals the relationship between the velocities in workspace, configuration space and actuation space.

Two velocity Jacobian matrixes JΨL and JΨQ are defined to describe the velocity mappings from the configuration space to the actuation space and the velocity mappings from the configuration space to the workspace.

The velocity mapping from the configuration space to the actuation space is expressed as Eq. (4):

$$ \dot{\varvec{L}}\;{ = }\;\varvec{J}_{{\varvec{\varPsi L}}} \dot{\varvec{\varPsi }} $$
(4)

By solving the derivative of L to Ψ in Eq. (1), the Jacobian matrix from the configuration space to the actuation space can be derived as:

$$ \varvec{J}_{{\varvec{\varPsi L}}} = \left[ {\begin{array}{*{20}c} {\frac{{\partial \varvec{L}}}{{\partial \theta_{1} }}} & {\frac{{\partial \varvec{L}}}{{\partial \delta_{1} }}} & {\frac{{\partial \varvec{L}}}{{\partial \theta_{2} }}} & {\frac{{\partial \varvec{L}}}{{\partial \delta_{2} }}} \\ \end{array} } \right] $$
(5)
$$ \dot{\varvec{L}}\;{ = }\;\varvec{J}_{{\varvec{\varPsi L}}} \dot{\varvec{\varPsi }} = \left[ {\begin{array}{*{20}c} {\varvec{J}_{1} } & 0 \\ {\varvec{J}_{21} } & {\varvec{J}_{2} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\dot{\theta }_{1} } \\ {\dot{\delta }_{1} } \\ {\dot{\theta }_{2} } \\ {\dot{\delta }_{2} } \\ \end{array} } \right] $$
(6)

The velocity mapping from the configuration space to the workspace is shown in Eq. (7):

$$ \dot{\varvec{Q}} = \varvec{J}_{{\varvec{\varPsi Q}}} \cdot \dot{\varvec{\varPsi }} $$
(7)

According to Eq. (3), the partial derivative of P to each element of Ψ make up the Jacobian matrix from configuration space to the workspace as Eq. (8):

$$ \varvec{J}_{{\varvec{\varPsi Q}}} = \left[ {\begin{array}{*{20}c} {\frac{{\partial \varvec{P}}}{{\partial \theta_{1} }}} & {\frac{{\partial \varvec{P}}}{{\partial \delta_{1} }}} & {\frac{{\partial \varvec{P}}}{{\partial \theta_{2} }}} & {\frac{{\partial \varvec{P}}}{{\partial \delta_{2} }}} \\ \end{array} } \right] $$
(8)

Consulting the linear equation theory (Boullion and Odell 2010), The inverse kinematics can be written as Eq. (9) [16]:

$$ \dot{\varvec{\varPsi }}\;{ = }\;\varvec{J}_{{\varvec{\varPsi Q}}}^{ + } \dot{\varvec{Q}} + (\varvec{I} - \varvec{J}_{{\varvec{\varPsi Q}}}^{{}} \varvec{J}_{{\varvec{\varPsi Q}}}^{ + } )\varvec{w} $$
(9)

where \( \varvec{J}_{{\varvec{\varPsi Q}}}^{ + } \) is the generalized inverse matrix of \( \varvec{J}_{{\varvec{\varPsi Q}}} \), \( (\varvec{I} - \varvec{J}_{{\varvec{\varPsi Q}}} \,{\mathbf{J}}_{{\varvec{\varPsi Q}}}^{ + } )\varvec{w} \) is the projection of \( \varvec{w} \) on the null space of \( \varvec{J}_{{\varvec{\varPsi Q}}}^{ + } \), which is an additional item caused by the redundant degree of freedom of the continuum arm, making the continuum arm can reach a same point in several poses. If \( \varvec{w} = 0 \), a minimal norm solution of \( \dot{\varvec{\varPsi }} \) can be obtained [16].

By using Eqs. (4) and (9), the velocity mapping relationship between the workspace and the actuation space is derived as Eq. (10), considering the minimal norm solution of the configuration velocity.

$$ \dot{\varvec{L}}\;{ = }\;\varvec{J}_{{\varvec{\varPsi L}}} \varvec{J}_{{\varvec{\varPsi Q}}}^{ + } \cdot \dot{\varvec{Q}} $$
(10)

4 Control Experiment

In this section, experiments are carried out to validate the performance of the master-slave system. The master manipulator produces a large amount of configurations for the slave continuum robot to follow, as shown in Fig. 7.

Fig. 7.
figure 7

Record of experimental process

The bending angle of each joint is tested following a cosine curve from π/2 to π/6 and the rotation angle of each joint is tested following sine curve from −π to π, as shown in Fig. 8. We can read the length of all the six driving rods in real time. Then making use of the mapping relationship between the actuation space and the configuration space, the actual configurations angle of each joint can be derived. By comparing the configuration angles of master manipulator and the slave continuum robot, we can evaluate the precision of the teleoperation.

Fig. 8.
figure 8

Experiment result of configuration angle

We can tell from the experiment results that there is some tiny deviation. The maximum error of master-slave following is less than 1°, so we can ignore the influence of the error in practical task. Therefore, the master-slave teleoperation device of the continuum robot can precisely and intuitively control the configuration of the continuum robot.

5 Conclusion

In this paper, a teleoperated rod-driven continuum prototype is presented, containing a master manipulator and a slave continuum robot. The slave continuum robot is composed of a gripper, a driving box and a continuum arm. The continuum arm is constructed with an elastic backbone and three elastic driving rods, which provide the continuum arm with high flexibility. To achieve a good kinematic control of the continuum robot, the kinematic model is obtained based on the mapping relationships of actuation space, configuration space and workspace.

The master articulated manipulator having the same DOFs with the slave continuum arm is well designed. The slave continuum robot is controlled to reproduce the configuration of the master manipulator. The teleoperation device is helpful to enhance the intuitive feelings of remote operating. The experiments indicate the robot have a good master-slave tracking performance.