**Abstract**

Hyper-redundant robots have found their applications in many areas due to their dexterity and flexibility. Robots that are analogous in the morphology of snakes or elephant trunks can be used for inspection of confined spaces and remote locations. Due to the very high number of degrees of freedom, solution of inverse kinematics problem is difficult to obtain. In this paper, the possibility of solving the inverse kinematics problem of a piecewise continuum hyper-redundant using vector-space representation is evaluated. As continuum robots have a large number of links compared to other categories of hyper-redundant robots, it is important to identify the position and orientation of each link in order to obtain the desired shape. The algorithm that is discussed in this paper is based on vector-space representation where each link of a robot is represented by a vector. The extrinsic approach is used for controlling the positions of each link. The complete robot is divided into 4 sections, each consisting of 10 links. Thus, for up-down and left–right movement of each sections, in total 16 motors and hence 16 wires are used to control the robot. The control algorithm giving results of inverse kinematics problem in the form of wire lengths is prepared in MATLAB and its simulation is also discussed in the paper.

**Keywords:** hyper-redundant robot, wire-driven, bio-inspired, inverse kinematics, control algorithm, continuum robot

#### **1. Introduction**

Hyper-redundant robots are widely used in the field of medical, rescue, industries and for inspection of remote areas and confined spaces. For the application in medical or in confined spaces like nuclear reactors or any other, the precise and accurate position of each link is essential.

There are basically three methods to find the inverse kinematics of hyperredundant robots, which are geometrical, analytical and hybrid. A geometrical method of a piecewise continuum hyper-redundant robot is discussed in [1, 2]. Assuming constant curvature, geometrical relations between bending angle and wire length is established. Analytical approach to solve the inverse kinematics problem is discussed in [3]. A hybrid approach, combining numerical and analytical

*Inverse Kinematics Solution for Piecewise Continuum Hyper Redundant Robot Using Vector… DOI: http://dx.doi.org/10.5772/intechopen.81083* 

**Figure 1.**  *Proposed design of hyper-redundant robot.* 

approach is discussed in [4]. Hyper-redundant robots are widely used in the medical field. Geometrical modelling of a bending section with one or two subsections at the end of an ureteroscope for urological surgery is discussed in [5]. Some other various methods include the numerical method [6], triangulation methods [7], multi-objective genetic alorithm [8], and Artificial Neural Network (ANN) [9, 10].

In this paper, the control algorithm to find the inverse kinematics solution using vector-space representation is proposed. Each link of piecewise continuum robot is represented by a vector in 3D space. There are 4 sections assumed in the robot and each section has 10 links. Thus, 40 vectors representing 40 links will be controlled using this algorithm.

 Here, all the links are controlled with a group of wires. At the end of one section, four wires are attached. A motor is connected to the other end of the wires to control up-down and left–right movement of robot by pulling or releasing the wire. For another section, a group of four wires is connected at an offset of 22.5° with respect to first group and similarly all other sections are connected with wires. So, for 4 sections, 16 wires are connected to 16 motors. The solution of the inverse kinematics problem includes the length of all the 16 wires for any particular shape of robot.

**Figure 1** shows the proposed design of a piecewise continuum hyper-redundant robot.

## **2. Control algorithm and inverse kinematics**

 From the literature review, it is observed that the geometrical approach to solve the inverse kinematics problem of hyper-redundant robot is more accurate among other approaches. Here, the geometrical approach is used along with vector-space representation. Each link of the hyper-redundant robot is represented by a vector where vector length is equal to the distance between two consecutive links. The direction of the first vector in the xyz-plane can be controlled and after orienting it at any direction, when the robot moves forward, the first vector will move in the same direction it has been set to and each vector will follow that direction until direction of first vector is changed. After changing the direction of first vector at any point, all following vectors will also change their direction from that particular point only. Thus, this algorithm is also called "Follow the leader" type algorithm.

**Figure 2** shows the sequential movement of 4-links discrete type hyperredundant robot in a simulation workspace.

 In a continuum type robot, one common assumption is made which is proved in [11] and that is Constant Curvature Assumption. It is assumed that whenever a continuum arm rotates and takes any bending position, all the links of the robot

#### **Figure 2.**

*Sequential movement of 4-link discrete robot: (a) initial position; (b) rotation of last link with respect to X-axis by 10° anti-clockwise; (c) move one step forward; (d) rotation of last link with respect to Y-axis by 10° anti-clockwise; (e) move one step.* 

 bends at the same angle. Total bending angle can be calculated by multiplying the angle between two consecutive links and the number of links. After taking constant curvature assumption into consideration, a new control algorithm is prepared for 4 sections where each section contains 10 links. Here, each link is represented by a vector and 10 vectors make a group of vectors which represents a section. As shown in **Figure 3**, the direction of the first section can be controlled and when the robot moves forward, each section will follow the direction of its leader section.

A Continuum Type Hyper-redundant Robot is more flexible and dexterous compared to a Discrete Type Robot. And that also makes the solution of inverse kinematics problem of continuum robot more complicated than in the discrete robot. Using the vector-space discussed here, an inverse kinematics solution for continuum robot is obtained.

 While solving the inverse kinematics problem of the hyper-redundant robot, the final results that needed to be obtained are the change in wire lengths for any desired position of robot. Here, change in wire lengths is calculated with the help of vector lengths. Whenever any vector (either first vector or following vector) changes its direction, its length in the x,y and z direction changes. These changes in lengths of vectors are used to calculate the length of the Top-Bottom and Left–Right wires by establishing geometrical relations between positions of vectors and wires. To make the calculation easy, the whole wire is divided into numbers of segments equal to the number of links. How each length of each segment of wires is calculated is shown in **Figure 4**.

Calculations are done for piecewise continuum type hyper-redundant robot considering constant curvature assumption.

Change in length of both inner and outer wires between two consecutive links:

$$\mathbf{L}\_{\text{left}} = \mathbf{L}\_0 - (\mathbf{d}/2)^\* \sin \theta$$

$$\mathbf{L}\_{\text{right}} = \mathbf{L}\_0 + (\mathbf{d}/2)^\* \sin \theta$$

*Inverse Kinematics Solution for Piecewise Continuum Hyper Redundant Robot Using Vector… DOI: http://dx.doi.org/10.5772/intechopen.81083* 

where, L0 = distance between two links on centerline.

Here, consider L0 as our vector length.

In this arrangement, the positions of four wires of each section are different. Four wires of section 2 are offset to 22.5° from wires of section 1 as shown in **Figure 5**.

**Figure 3.** 

*Sequential movement of continuum robot: (a) initial position; (b) section-4 rotated with respect to X-axis by 10° anti-clockwise; (c) move one step forward; (d) move one more step forward; (e) rotate section-4 with respect to Y-axis by 10° anti-clockwise.* 

#### **Figure 4.**  *Geometrical relation between vector and wire length.*

*Proceedings of the 4th International Conference on Innovations in Automation...* 

#### **Figure 5.**

*Offset positions of wires in section-2.* 

Here, for vertical movement of section 2, both top and left wires need to be pulled and the bottom and right wires need to be released.

 The amount of extra length change due to wire offset will be (d/2)<sup>∗</sup> cos α<sup>∗</sup> sin θ in the wires for their respective assigned motions (Top-Bottom wires for vertical motion and Left–Right wires for horizontal motions) and {(d/2) − (d/2)<sup>∗</sup> sin α}<sup>∗</sup> cos θ in other two wires (Top-Bottom wires for horizontal motion and Left–Right wires for vertical motions).

After offset in wire positions is considered, the change in wire lengths of all four sections is as follows:

*Section 1: Vertical or Horizontal movement* 

L1Bottom−Top = L0 ± (d/2)<sup>∗</sup> sin θ.

L1Left−Right = L0 ± (d/2)<sup>∗</sup> sin φ.

*Section 2: Vertical movement* 

L2Bottom−Top = L0 ± (d/2)<sup>∗</sup> sin θ<sup>∗</sup> cos α.

L2Left−Right = L0 ± (d/2)<sup>∗</sup> sin φ<sup>∗</sup> sin α ± {(d/2) − (d/2)<sup>∗</sup> cos α<sup>∗</sup> sin θ}.

*Section 2: Horizontal movement* 

L2Bottom−Top = L0 ± (d/2)<sup>∗</sup> sin θ ± {(d/2) − (d/2)<sup>∗</sup> cos α<sup>∗</sup> sin φ}.

L2Left−Right = L0 ± (d/2)<sup>∗</sup> sin φ<sup>∗</sup> cos α.

*Section 3: Vertical movement* 

$$\mathbf{L} \mathbf{\mathcal{B}}\_{\text{Bottom-Top}} = \mathbf{L}\_0 \pm (\mathbf{d}/2)^\* \sin \theta^\* \cos (2\alpha).$$

*Inverse Kinematics Solution for Piecewise Continuum Hyper Redundant Robot Using Vector… DOI: http://dx.doi.org/10.5772/intechopen.81083* 

L3Left−Right = L0 ± (d/2)<sup>∗</sup> sin φ<sup>∗</sup> sin (2α) ± {(d/2) − (d/2)<sup>∗</sup> cos (2α)<sup>∗</sup> sin θ}.

*Section 3: Horizontal movement* 

L3Bottom−Top = L0 ± (d/2)<sup>∗</sup> sin θ ± {(d/2) − (d/2)<sup>∗</sup> cos (2α)<sup>∗</sup> sin φ}.

L3Left−Right = L0 ± (d/2)<sup>∗</sup> sin φ<sup>∗</sup> cos (2α).

*Section 4: Vertical movement* 

L4Bottom−Top = L0 ± (d/2)<sup>∗</sup> sin θ<sup>∗</sup> cos (3α).

L4Left−Right = L0 ± (d/2)<sup>∗</sup> sin φ<sup>∗</sup> sin (3α) ± {(d/2) − (d/2)<sup>∗</sup> cos (3α)<sup>∗</sup> sin θ}.

*Section 4: Horizontal movement* 

L4Bottom−Top = L0 ± (d/2)<sup>∗</sup> sin θ ± {(d/2) − (d/2)<sup>∗</sup> cos (3α)<sup>∗</sup> sin φ}.

L4Left−Right = L0 ± (d/2)<sup>∗</sup> sin φ<sup>∗</sup> cos (3α).

#### **3. MATLAB program**

These formulas of length calculations are programmed in MATLAB with the control algorithm that was used for continuum robot and real-time simulation. It means for any movement of robot, the length of all 16 wires has been calculated. Some results of this program are as follows:

In **Figure 6**, the robot moves in only one plane: yz–plane. So, from the matrix indicating wire length, it can be observed that left–right wires of section 1 are not

**Figure 6.**  *Continuum robot in single plane and respective wire lengths.* 

**Figure 7.**  *Random movement-1 with wire lengths.* 

**Figure 8.**  *Random movement-2 with wire lengths.* 

 changing while in another section, the left–right wire lengths are changing with top-bottom wires. In **Figures 7** and **8**, two random positions of the robot are shown and wires length to obtain that position are shown.

## **4. Conclusion**

 In this paper, the inverse kinematics solution of piecewise continuum hyperredundant robot using vector-space representation is discussed. A continuum robot is considered for calculation as having 4 sections, each consisting of 10 links. Considering the constant curvature assumption, the control algorithm to calculate the wire lengths of 16 wires controlling up, down, left and right movement of each sections is discussed. The algorithm is prepared in such a way that to enter any confined space just the position of first link needs to be controlled and all other links will follow it. A camera can be mounted on the first link to monitor the movement of the robot and to observe the space where robot is entering. Geometric relationships between each link is considered for calculation and hence the position and orientation of each link is dependent on the position of the previous link. The algorithm is prepared in MATLAB and the simulation of movement of the robot along with the calculation of matrix of wire lengths is also presented.

*Inverse Kinematics Solution for Piecewise Continuum Hyper Redundant Robot using Vector… DOI: http://dx.doi.org/10.5772/intechopen.81083* 
