Comprehensive stiffness regulation on multi-section snake robot with considering the parasite motion and friction effects

Snake robots have been widely used in challenging environments, such as confined spaces. However, most existing snake robots with large length/diameter ratios have low stiffness, and this limits their accuracy and utility. To remedy this, a novel ‘macro-micro’ structure aided by a new comprehensive stiffness regulation strategy is proposed in this paper. This improves the positional accuracy when operating in deep and confined spaces. Subsequently, a comprehensive strategy for regulating the stiffness of the system is then developed, along with a kinetostatic model for error prediction. The internal friction, variation of cable stiffness as a function of tension, and their effects on the structural stiffness of the snake arm under different configurations have been incorporated into the model to increase the modelling accuracy. Finally, the proposed models were validated experimentally on a physical prototype and control system (error: 4.3% and 2.5% for straight and curved configurations, respectively). The improvement in stiffness due to the adjustment of the tension in the driving cables (i.e. average 183.4%) of the snake arm is shown.


Introduction
Technological developments of robotic systems are often focused on improving their operational accuracy for the production of high reliability products.Most conventional robotic systems (e.g. machine tools [1], parallel manipulators [2], etc) are normally built with components with high stiffness to simplify control and ensure good accuracy [3].They are also usually designed to operate in relatively simple open spaces, such as factory floors or work cells.However, for robots operating in confined spaces (e.g. for abdominal surgery [4], jet engine maintenance [5], etc), a slender structure with a large length/diameter ratio is usually adopted, resulting in manipulators with low stiffness.Given the growing need for high-accuracy operation in high-value and critical structures, stiffness regulation strategies of this kind of special robotic system are in high demand [6,7].
Snake robots made from slender structures and multiple-degree of freedom (DoFs) have been widely adopted for use in confined spaces, as their contours can adapt to the spatial characteristics of the environment and deliver specialised end-effectors (e.g.sensors and cutting tools) into the structure [8].Several varieties of snake robot have been developed for coping with this sort of scenario [9,10].For example, a medium-dimension dual-arm continuum robot was developed for copying the material retrieval tasks from the underwater environment, in which multiple flexible hinges were introduced for regulating the stiffness of the system.However, the structure of continuum robot becomes very complicated which is hard for the modelling and controlling [11].Further, a 1.5 m snake robot with 13 sections and 24-DoFs was developed to perform the inspection and maintenance of an engine from a small inspection hole (diameter: 13 mm).However, as the snake robot has a particularly small diameter and a long length, the stiffness of the system is very low for completing the tasks with payload [12].Then, a soft ferromagnetic continuum robot, based on magnetically actuated ferrofluids within a hydrogel skin, was built for assisting minimally invasive surgery with its inherent submillimeter-scale character (achieved by introducing ferromagnetic particle as the actuator).However, limited by its actuating principle (magnetic field placed outside), the accuracy and payload of the robot is still a big problem [13].In the above examples, a set of multi-section snake robots have been developed for coping the interventions in confined spaces.With novel actuators and path planning algorithms, the multi-section snake robots (large or small diameters) can adapt the features of environment and access into the confined spaces for contactless operation (e.g.non-destructive testing).However, due to the nature of the large length/diameter ratio, the stiffness of them is often too low for completing the tasks with payloads.Inspired by nature snakes, the tendons are usually used to drive the motion of the joints.In addition, the snake robots are often actuated by tendons or cables, regulating the tension of the driving cables is a possible solution to improve their stiffness, but this requires the development of new kinetostatic models and a corresponding stiffness regulation algorithm to enable accurate control.
There have been several efforts to regulate the stiffness of snake robots in recent years [14,15].Within the literature, two main strategies have been employed for this purpose: (1) the incorporation of stiffness-adjustable mechanisms within the structure of the snake robot; and (2) regulation the of tension of the driving cables.For example, pressure [16] and heat [17] have been used to adjust the connection state of adjacent segments in snake robots, thus controlling the stiffness of the structure.Pressureactivated interlocking jamming layers have also been incorporated into soft snake robots [18,19] to increase stiffness by up to a factor of 6.4.Shape memory alloys have been used as heat-adjustable springs and cables between adjacent segments in snake robots to increase friction and tension within the structure [6,20].And as mentioned above, adjusting the tension of the driving cables within cabledriven snake robots can also regulate the stiffness [21].However, most of the research for stiffness regulation has been focused on snake robots with single or few sections (≪3).There has been little research into regulating the stiffness of the snake robot with many DoFs (>3).
There has also been research conducted by groups around the world into using cable tension to control the stiffness of parallel manipulators and joints [22,23] that is pertinent here.For example, analytical models for the kinematics and stiffness of a class of two-DoF parallel manipulators with a central support (similar in nature to the segments of a snake robot) has been previously established that includes the stiffness and tension of the driving cables, structural stiffness, and central support stiffness [24].Another group developed a stiffness model for a redundant cable-driven parallel manipulator without a central support, which was then used to develop a way of controlling the stiffness of the system [25].Additional efforts have been made to build static models of cable-driven snake robots.For example, a static model was developed for a cable-driven snake robot in order to determine the workspace [26].Another static model was developed to include the effects of internal friction, aiming to improve the kinematic accuracy [27].This research has shown that friction and the internal force distribution will be dramatically affected, especially for snake robots with multiple sections and DoFs, when the tension of the driving cables is changed.Therefore, establishing a comprehensive kinetostatic model is absolutely necessary for the development of the proposed tension regulation algorithm.
To address the aforementioned challenges in regulating the stiffness of snake robots, and thus improving their mechanical performance when operating in confined spaces, a novel stiffness regulation strategy and the corresponding performance evaluation method have been developed in this paper.With the proposed new design principle ('macro-micro' operation strategy), a 20 DoF snake robot constructed with ten 2 DoF sections was designed and prototyped.A new tension regulation strategy, based on a new static equation which incorporates the adjusted tension of the driving cables, has been developed to actively adjust the performance of multiple-DoF snake robots.By incorporating the effects of internal friction on the cable tension, the induced parasitic loads were calculated on the internal two-DoF sections to evaluate the stability of the snake robot.Finally, the performance of the 20 DoF snake robot in different configurations (e.g.pose) and tension regulation strategies were evaluated.

Task-oriented design
A new kind of snake robot formed from multiple sections has been developed in this paper to operate with high accuracy in-situ/confined space environments.This design is distinctive compared to conventional robots in the following respects: (1) a 'macromicro' operation strategy has been adopted within the structures design (i.e. the length and actuation method for each of the two-DoF segments along the snake robot are different); (2) the design incorporates a fast replaceable connector to facilitate mounting different end-effectors; (3) an advanced cable regulation algorithm has been developed for adjusting the stiffness of the snake robot for different tasks (i.e.navigation: low stiffness required, operation: high stiffness required).

Design of the novel modular snake robot
The design of the snake robot with multiple/modular actuated units developed in this paper was inspired by the motion characteristics of animals with slender body structures (e.g.snakes and elephant trunks).In addition, this design is further enhanced by quickly replaceable end-effectors, facilitating many unconventional tasks (e.g.engine turbine maintenance/repair, in-situ space station construction/repair).The overall concept and structural design of the 20 DoF snake robot is shown in figure 1, and is composed of a modular end-effector, 20 DoF snake robot, actuation system, control system and linear stage.To further widen the potential use of the system, the system has been designed to operate wirelessly and includes a build-in power system (as seen in figure 1(a)).This means that the system can be operated remotely in scenarios where the electricity is temporarily restricted (e.g.disaster zones after earthquakes or tsunamis).
The 20 DoF snake robot is connected to the actuation system by a conical section in which the driving cables are guided by internal spring tubes.Thirty motorised linear drives are located within the actuation system to control the shape of the snake robot.To simplify the structure, the control system for the linear drives and power system (capacity: 30 Ah) are located at the top of the actuation system.The snake robot is mounted on a linear stage to position it axially.
To complete different tasks with one snake robot system, the fast replacement connector has been designed to include a locking system, enabling the mounting of different end-effectors (e.g.lights, sensors or gripper).The fast replacement connector is attached to a six-DoF force sensor for capturing external loads.The data from this sensor is used in the algorithm developed in this paper to improve the robot's kinematic accuracy.A rotational joint with the same axis as the backbone of the snake robot has been included to add an additional DoF to more easily control the orientation of the end-effector.The shape of the snake robot is controlled by changing the lengths of the driving cables.To achieve that, the driving cables of the fore sections need to pass though the rear sections, resulting in a kinematic complication.Different to conventional snake robots, here a 'macro-micro' structure has been adopted, which utilises spring tubes to guide the driving cables (seen in figure 1(b)).

Modular design of the 'macro-micro' system
The detailed design of the structure is illustrated in figure 2. The snake robot is divided into two parts, that is the tip sections for micro-operations, and the base sections for macro-operations.This structure allows the robot to cope with challenging environments (such as confined spaces with narrow entrances).The tip sections are designed to have maximum operational flexibility.As such, this section should have at least six-DoFs and is made up of at least three two-DoF sections.The base sections have the function of delivering the tip sections to the desired location within a confined space.
Different actuation strategies are used for the tip sections and the base sections.The tip sections (sections 1-3) are used for the 'micro' high accuracy operations and the actuation of these sections is decoupled.This has the following advantages: (1) kinematic accuracy is improved as the motion of each section is independent of the other sections; and (2) the required stroke of the linear drives is reduced and only depends on the change in the cable length of each two DoF section, as seen in figure 2(a).The base sections (sections 4-10) are used for the 'macro' large scale positioning.The actuation of these sections is coupled.This strategy has the following advantages: (1) improved stiffness of the base section: as the driving cables in the fore sections pass through the rear sections, more driving cables will be in the rear sections to improve their stiffness characteristics; (2) the dexterity of the snake robot is improved: the coupled actuation strategy does not require spring tubes (which could interfere with the motion of the system) to guide the driving cables, as seen in figure 2(b).

Challenges in regulating the cable tension
As cables are used to transmit the power of the motor to the snake robot, there are lots of challenges that need to be addressed that affect the mechanical performance (e.g.accuracy and dexterity) of the system.One significant challenge is the friction of the driving cable against the guiding systems (e.g. the spring tubes and edges of the guiding holes), as this affects the tension in the driving cable.Another challenge is the compliance and creep of the driving cables themselves, which will cause the snake robot to be slack.This phenomenon is more prominent when snake robot is close to the singular configuration, where high tension is normally required in the driving cables, which will also cause high friction to be produced (due to the large included angle between driving cable and the guide tube, seen in figure 3).
The tension regulation strategy proposed in this section addresses these issues.The key aim of this strategy is to adjust the tension of the driving cables during operation to eliminate the slack of the driving cables and improve the performance of the system.Given the different 'macro-micro' functions of the base and tip sections respectively, the cable tension regulation strategies and their challenges are different.For the tip sections, the tension of the three driving cables for each two-DoF section can be increased proportionally to reduce the slack, while the challenge is that the friction between the driving cable with the guiding tube will be increasing along with the tension, causing a deviation with the expected shape of the section, seen the figure 3(a).For the base sections, as the driving cables of the fore section pass through the rear sections, the mechanics is more complicated when increasing the tension of the driving cables.As well as the challenges associated with the tip sections, increasing tension of the driving cables of the fore sections will produce the additional external loads on the rear sections, with the corresponding deviation from the expected shape, see figure 3(b).
In figure 3, F and M are the external loads applied at tip of the two-DoF joint; f 1,i (i = 1,…,3) is the driving force of the cable; ∆f 1,i (i = 1, …,3) is the force variation of the ith driving cable.

Tension regulation strategy for the whole 20 DoF snake robot
Referenced to the challenges of regulating the tension of the driving cables, the friction of the driving cable with guiding system and the induced resultant force of the increased tensions are the key factors to affect the balance of the snake robot, resulting to the worsen of the kinematic accuracy.To accurately predict the shape variation of the 20 DoF snake robot after regulating the tension of the driving cables, the comprehensive kinetostatic model is developed in this section, which requires the modelling of the friction, tension regulation strategy, included load and stiffness.

Kinematic modelling
As the 20 DoF snake robot incorporates the 'macromicro' operation principle for coping with challenging environments, kinematic modelling is needed to obtain the change in length of the driving cables with the shape of the snake robot.For the tip sections, the kinematics is relatively simple, and can be established by calculating the change in the distance between the two cable attachment points; while for the base sections, as the driving cable of the fore sections passes through the rear sections, the change in the shape of the rear sections will affect the length of the driving cables of the fore sections, as seen in figure 4.
Ten 2 DoF sections are serially connected to form the 20 DoF snake robot.For kinematic modelling, local coordinate systems ({O i }, i = 1, 2,…,10) are attached to the centre of the base of each two-DoF section to define their location and orientation and hence the shape of the robot.The transformation matrix from {O ij } to {O i,j +1 } can be defined as following: first, {O ij } moves from its origin O ij to O i,j +1 along the Z ij axis; then {O ij } rotates around Y i,j +1 axis by angle θ ij .Thus, the homogeneous transformation matrix can be expressed as: where R θ i,j is the rotation matrix generated by rotating about the Y i,j +1 axis by angle θ ij of {O i,j +1 }; The moving disc is attached to the fixed disc in a two-DoF section by a universal joint.As such, the transformation matrix can be further expressed by rotating the moving disc around the two orthogonal axes θ i,1 and θ i,2 , respectively, as seen the following equation: where, T z (l i,1 ) and T z (l i,2 ) are the transformation matrix along the z axis of the coordinate system {O i } for the length of l i,1 and l i,2 , respectively.l i,1 and l i,2 are the length of the lower and upper rigid shafts of the universal joint respectively.T x (π /2) and T x (−π /2) are the transformation matrix around the x axis for π /2 and −π /2 respectively.T y (π /2) and T z (−π /2) are the transformation matrix defined rotating around the Y and Z axes for π /2 and −π /2 respectively.T z (θ i,1 ) and T z (θ i,2 ) are the transformation matrix defined rotating around the two joints for θ i,1 and θ i,2 respectively.By substituting these parameters into equation ( 2), the rotation matrix R (θ i,1 , θ i,2 ) and position vector P (θ i,1 , θ i,2 ) of the transformation matrix can be expressed as: where sθ = sinθ, cθ = cosθ for the concise expression.
After obtaining the explicit expression of the transformation matrix of ith section of the snake robot, the entire kinematic model of the snake with multiple sections can be established by postmultiplying all the transformation matrices of each of the ten sections.
For actuating the shape variation (i.e.rotating angles of θ i,1 and θ i,2 ) of the ith two-DoF section, the lengths of the driving cables need to be calculated based on the inverse kinematic of the system.The closed-loop vector of the jth cable of the ith two-DoF section can be expressed as: where l i,j is the position vector of the leg in manipulator coordinate system {O}; l i,1 and l i,2 are the position vectors of the lower and upper rigid shafts of the universal joint in their coordinate systems respectively; r i,j is the position vector of the tendon fixed points on the moving disc in coordinate system of {O i,j +1 }; b i,j is the position vector of the tendon fixed point in fixed disc in the coordinate system of {O}.
As the snake robot with multiple two-DoF sections is designed with two actuation strategies: coupled (i.e.sections 1-7) and decoupled (i.e.sections 8-10), the lengths of the driving cables can be expressed as: For the coupled two-DoF sections, as the driving cables of the front sections will pass through the rear section, the change in length of the i, jth driving cable will be the sum of the change in length of all the rear sections; while for the decoupled two-DoF sections, as the driving cables are directly connected to the motors by the flexible spring tube, the change in length will be the geometrical distance difference between the moving and fixed discs.

Static modelling of 20 DoF snake robot
As the driving cables of the fore sections pass through the base sections, the static model for these sections is more complicated.Taking the ith two-DoF section with just one fore section as an example, three more driving cables need to be incorporated into the model, see figure 5.The moving coordinate system {O i } is attached at the centre of the base disc with the external loads (F i and M i ) applied to the upper disc.There are three active driving cables with one end attached to the upper disc while the other end is attached to the corresponding linear drive, and three driving cables passing through the guiding holes.In addition, the two central shafts of the universal joint are connected to the base and upper discs.Therefore, in the equilibrium forces equation, the tensions associated with the three active driving cables (F A i,j , F A i,j +1 and F A i,j +2 ), and the three passing driving cables (F C i,j , F C i,j +1 and F C i,j +2 ), and the reaction force from the joint (force of F R i ) need to be considered, seen in figure 6.
For the ith section of the snake robot, the equilibrium equation can be expressed as: where, F A i,j is the driving force of the jth tendon in ith section; F P i,j is the normal pressure force of the jth tendon in i + 1th section; F R i is the force from the central shaft of the ith section; F i,e is the force applied on the ith section; M i,e is the moment applied on the ith section; e A i,j is the position vector from the centre of universal joint of ith section to the jth tendon fixed point of ith section; e P i,j is the position vector from the centre of universal joint of ith section to the jth tendon fixed point of i + 1th section.
The resultant force F P i,j is generated by the jth driving cable (on the rigid disc of the ith section with the actuating force vectors F C i,j on one side and F C i,j +1 on the other side, seen in figure 7), which can be expressed as: As the driving cables are guided and sliding within the holes of the rigid disks, friction will be generated, weakening the force transmission from the base section to the tip section.
As the full snake robot is constructed by combining multiple two-DoF sections and each section can rotate around its two orthogonal axes, the included angle of the driving cable with the rigid disc will significantly change with different configurations of the snake robot.Thus, the direction vectors of the driving cables need to be calculated to scaling the friction.
where F C i,j and F C i +1,j are the modular lengths of the driving force vectors of F C i,j and F C i +1,j respectively.l i,j and l i +1,j are the position vectors of the driving cables in local coordinate systems {O i } and {O i +1 }  respectively.Similarly to the definition of l i,j (used in equation ( 5)), the position vector of driving cable l i +1,j can be defined as: where θ i +1,1 and θ i +1,2 are the rotational angles of the universal joint in the i + 1th section.l i +1,1 and l i +1,2 are the position vectors of the lower and upper rigid shafts of the i + 1th section, respectively; r i +1,j is the position vector of the tendon attachment point on the moving disc of the i + 1th section; b i +1,j is the position vector of the tendon attachment point on the fixed disc of the i + 1th section.
To obtain the friction, the normal force F N i,j relative to the guidance hole need to be calculated, which can be expressed as: where, n i is the unit normal vector of the rigid disk (plane XOY of the coordinate system {O i +1 }).The friction force F f i,j can be expressed as: where µ is the friction coefficient between the driving cable and the rigid disk.|•| denotes the magnitude of the normal force vector.Given equation ( 12), the change in tension due to friction of the driving cable from the ith section to i + 1th section can be expressed as: where the ± denotes the direction of the friction between the driving cable and the rigid disk.For example, when the driving cable slides towards the tip direction, the minus sign is required, and vice versa.Thus, the tension of the entire driving cable from the actuation side (i.e.motor) to the snake robot (i.e.fixed point on the rigid disc) can be expressed as: where F C 0,j is the driving force provided by the motor; F f i,j is the friction generated by the rigid disc of the ith section.
Due to the slender structure of the snake robot, the distribution of the tension along the driving cables will be greatly affected by the loads acting on each section (e.g.internal loads: gravitational forces of the discs; external loads: reaction forces due to end effector interaction and contact between the environment and the snake robot), resulting in a large deviation from its desired/planned shape.
Given the structure of the sections of the snake robot and the definition of their coordinate systems, the concentrated gravitational force vectors of the two discs (i.e.G i,lower and G i,upper , respectively) in their local coordinate systems can be expressed as: where m i,lower and m i,upper are the masses of the lower and upper discs (and connected parts of the universal joint) of the ith two-DoF section.g is the gravitational constant.
By using the transformation matrix, the internal masses of lower and upper parts of the two-DoF section can be expressed in the coordinate system {O i }: where G R i i,lower and G R i i,upper are the mass vectors of lower and upper parts expressed in the local coordinate system {O i }.R i T R i,lower and R i,joint T R i,upper are the transformation matrices from the coordinate systems {O i } and {O i,joint } to the lower and upper mass centres, respectively.R i T R i,joint is the transformation matrix from the coordinate system {O i } to the joint coordinate system {O i,joint }.
Similarly, the external loads (i.e.forces and moments F i and M i ) can also be expressed in the coordinate system {O i }: where F R i i and M R i i are the external loads expressed in the local coordinate system {O i }.R i,joint T R i +1 is the transformation matrix from the coordinate systems {O i,joint } to the coordinate system {O i +1 }.
As moving the gravitational force vectors to the local coordinate system {O i } will generate adjoint moments, they can be expressed as: where M R i i,lower and M R i i,upper are the lower and upper masses of the two-DoF section expressed in the local coordinate system {O i }.
Similarly, the moment generated by the external force F i can be expressed as: where l i,2 is the length of the upper rigid shaft, seen from the equation (2).

Parasitic loads on the driving cables
As described above, the snake robot is constructed by connecting multiple two-DoF sections.The driving cables of the fore sections pass through the rear sections, causing a complicated coupling of the forces on the rear two-DoF sections (i.e. the resultant force of the fore driving cables will generate an additional moment on the rear two-DoF sections), which will significantly affect the kinematic accuracy of the system.
Taking the ith two-DoF section in a given configuration (i.e.θ i,1 and θ i,2 around its rotational joints) as an example, three driving cables of the adjacent i + 1th section are passing through the rigid disc.As the ith two-DoF section is not straight, the additional resultant forces (i.e.F D i,j , F D i,j +1 and F D i,j +2 ) will be generated by the driving cables, which can be expressed as: As each two-DoF section can have independent motion, the adjacent i + 1th section may have a different configuration to the ith section, causing the point of application of the force (O D i,j , O D i,j +1 and O D i,j +2 ) to deviate from the centre of the disc.The new location of the force (O D i,j as the example) can be calculated by combining the two equations: where (x A i,j y A i,j z A i,j ) and (x B i +1,j y B i +1,j z B i +1,j ) are the position vector of the cable attachment points on the disc.(m A i,j n A i,j p A i,j ) and (m B i +1,j n B i +1,j p B i +1,j ) are the unit vector of the driving cable in ith and i + 1th sections, respectively.The resultant force (F D i ) of the three additional forces generated by the driving cables can be expressed as: Using the transformation matrix, the resultant force F D i and its corresponding moment can be expressed in the coordinate system {O i }: where F R i D i and M R i D i are the resultant force F D i expressed in the coordinate system {O i }. O D i is the vector of the force application point of F D i .

Cables tension regulation and parasitic movement
As the bending stiffness of the driving cables is normally low compared with the rigid parts (e.g.universal joint and rigid shaft) in the snake robot, they can be regarded as springs pre-tensioned to regulate the stiffness of the robot.However, as demonstrated above, tension of the driving cables will produce parasitic loads on the base sections, worsening the kinematic accuracy of the system.
Based on the structure of the snake robot, the stiffness of the ith two-DoF section can be expressed as: where, s i is the rotational pose vector of the ith section and can be expressed as s = θ i,1 θ i,2 T .K i is the stiffness matrix produced by the structural stiffness and cable stiffness of the two-DoF section.K i,1 is the stiffness matrix produced by the elongation of the cables, which is denoted as the cable stiffness and can be expressed as: where, k i,1 , k i,2 and k i,3 are the stiffness of each of the three driving cables respectively.K i,2 is the structural stiffness matrix of the snake arm, which can be expressed as: where, n A i,j × and e A i,j × are the skew-symmetric matrix of the n A i,j and e A i,j , respectively.n A i,j is the normal unit vector of the jth driving cable of the ith section.
It can be seen from equation ( 26) that the stiffness component of the two-DoF section is highly related to the tension of the driving cables (i.e.f A i,j ).Thus, regulating the tension of the driving cables can actively adjust the stiffness of the two-DoF sections, and can even adjust the stiffness of the entire snake robot.
In order to keep the two-DoF section in equilibrium, the regulated tensions of the driving cables should satisfy the initial static equation of the system.Specially, as there are two rigid central shafts (connected by a universal joint) in each two-DoF section, the net resultant force of the driving cables should be in same direction with the upper central shaft, which can be expressed as: where Σ Reg is the solution space for the regulated cable tensions.f i is the initial forces of the driving cables.f i,s is the net variation of the tension of the driving cables.η is the regulation coefficient to determine the tension of the driving cables.
With the tension of the driving cables regulated (normally increased to improve the stiffness), the parasitic loads (i.e.F R i D i and M R i D i ) will likely be increased, leading to the worsening of the kinematic accuracy.To determine by how much the kinematic accuracy will be affected, the overall external loads applied at the ith two-DoF section with n fore sections are calculated and expressed as: The change in the angles (∆ θ i,1 and ∆ θ i,2 ) of the two-DoF section due to all the loads given in equation ( 28) can be calculated as: By adopting the same principle (equations ( 24)-( 29)), the change in angle of all the two-DoF sections under the given external loads (equation ( 17)), gravitational loads (equation ( 18)) and parasitic loads (equation ( 23)) can be calculated.Then, taking the calculated angle variations into the kinematic model of the snake robot (equation ( 4)), the real shape of the system can be obtained.

Experimental setup and validation
In this section, the developed tendon regulation algorithm with the consideration of the internal frictions is validated with a prototyped 20 DoF snake robot and control system.To demonstrate the effectiveness of the developed algorithm, the kinematic accuracy was evaluated under different configurations (i.e.given angles of the two-DoF sections) and boundary conditions of the snake robot (i.e.tension regulation level of the driving cables).Finally, the solution for how to regulate the tension of the driving cables to obtain the optimum kinematic accuracy is generated.

Experimental setup
The experimental setup of the full snake robot system, shown in figure 8, which is composed of a 20 DoF snake arm (i.e.ten connected two-DoF sections), a modular end-effector equipped with a six-DoF force sensor, actuation system, control system, power system and GUI system.For each two-DoF section, three driving cables were attached and located around the central universal joint to control its motion.To regulate the shape of the 20 DoF snake arm by changing the length of each cable, 30 motorised linear drives combined with their independent closed-loop controllers were used to achieve high-accuracy position control.
The desired payload at the tip of the snake robot is 5 kg.Hence, Maxon motor units with high power (type: Maxon-RE30, encoder: Maxon ENC16 with 1-24 pulsed) and gear reduction (type: GP 32-C, reduction ratio: 66:1) were selected.Furthermore, to generate the linear motion for adjusting the length of the driving cables, screw-nut drives (diameter: 14 mm, pitch: 3 mm) were assembled on the motor units to form the motorised linear drives.Tension sensors (type: AT8202, measuring range: 0-5 KN, resolution: 1 N) were also attached to each linear drive for accurately regulating the tension of the driving cables.Then, the two-DoF sections were connected to the linear drives by fixed-length driving cables (material: stainless steel, diameter: 2 mm, type: 7 * 7), which were guided by the spring tubes (outer diameter: 5 mm, inner diameter: 3 mm).
The snake robot (overall DoF: 20, length: 1.02 m, outer diameter: 80 mm), is formed of seven base sections of length 120 mm, and three tip sections of length 60 mm.To regulate the shape of the 20 DoF snake robot, the control algorithm has been implemented on three CompactRIO NI-9627 fieldprogrammable gate array (FPGA) microprocessors in LabVIEW 2017.Using data from the incorporated sensors (i.e.encoders and tension sensors) in the linear drives, position and force-based closedloop controllers for the 30 linear motor units were developed to regulate the length and tension of the driving cables at high speed (control duty: 10 ms).During operation, with the given conditions (e.g.shape, external load, friction coefficient) of the snake robot, the algorithms proposed in this paper was ran on the FPGAs to regulate the length and tension of the driving cables.Further, with the aid of a vision-based motion capture system, the shape of the snake robot can be captured to evaluate the proposed algorithm, seen in figure 9.
In the flow chart of the experiment, the motion planner is working at first to generate the moving sequences of all the joints (i.e.θ i,1 and θ i,2 , i = 1, 2, . . ., 10); then the kinematic calculation module will calculate the length variation of their corresponding driving cables (i.e.l i,1 , l i,2 and l i,3 , i = 1, 2, . . ., 10), which is calculated by the structure of the snake robot (e.g.macro-micro structure of different sections), which will be used as the commands for the position closed-loop controller; then the conventional static model will be established to get the tension of each driving cables (i.e.F i,1 , F i,2 and F i,3 , i = 1, 2, . . ., 10), which will be used as the commands of the force-closed controller.Besides the aforementioned conventional position and force closed-loop controller, the upgraded static controller is developed to calculate the stiffness model of the multi-section snake robot at first; then amended by the cable regulation algorithm to generate the new set of tensions of the driving cables.With the amended tensions, the stiffness of the snake robot will be changed, and its deformation will be different.At last, the algorithm developed in this paper is checked by comparing the deformation difference between the cases with and without tension regulation algorithm.

Algorithm evaluation
To evaluate the efficacy of the proposed stiffness regulation algorithm for actively adjusting the stiffness for different applications, a set of experiments were conducted on the 'micro-operation' part of the snake robot.In this case study, the 'macro-operation' base sections of the snake robot were set to remain in a cantilevered configuration with different shapes (i.e.straight and curved, respectively) and with constant preloads applied to the driving cables, while the tension of the driving cables in the 'micro-operation'  tip sections were regulated to adjust the performance of the system.Taking the tip sections as the example, with a constant external load applied at the tip, larger torques will be generated in the base sections.The forces were set as defined in table 1 (i.e. the value was gradually reduced).The rest of the parameters were selected based on the physical properties of the system.
To obtain the change in stiffness of the system under the configurations, the deviation in the position of the system was captured by the vision-based system placed in front of the experimental setup, as seen in figure 10.As the external load applied at the tip of the system is constant, the difference in location of the end point from the laser spot indicates the stiffness of the system.
It can be seen in figure 10 that by regulating the tension of the driving cables, the change in the expected position of the snake robot tip is gradually adjusted.Overall, the stiffness of the snake arm is improved by 54% and 49% in straight and curved configurations respectively when the tension of the driving cables is increased by a factor of 2.2 (i.e. the shaft force coefficient ranges from 5 to 11) under the given external load.At the same time, the results calculated from the proposed model were compared with the experimental results for the validation (error: 4.3% and 2.5% for straight and curved configuration respectively).While in the straight configuration (seen in figure 10(a)), the model accuracy at the first base stage (i.e.2.1%) is higher than at the end tip stage (6.5%) with different tension of the driving cables.The reasons are: (1) the straight configuration of snake arm is close to its singularity point, causing the bad mechanical performance; (2) with higher tension of the driving cables, the singularity characteristic is more obvious.While in the curved configuration (seen in figure 10(b)), the proposed model can  θ1 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] θ2 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Degree Curve configuration θ1 [−5, −5, −5, 0, 5, 5, 5, 0, 0, 0] θ2 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] Degree be validated more accurately, resulting in the better mechanical performance of the system.It can be seen from figure 10 that the deviation of the snake robot under constant external load is decreasing gradually with the increase of the tensions, which means the stiffness of the system is regulated and effective of the developed algorithm.Overall, 52% improvement of accuracy has been achieved under the external load of 1 kg with no additional mechanisms.Comparing with other attempts (e.g.pneumatic chamber [28], compliant mechanism [11] and particle jamming [16]) of combining additional mechanisms to regulate the stiffness of the snake robot, the developed method of regulating the tension of the driving cables enables the advantages in the following two aspects: (1) no additional mechanisms are needed-simplify the structure and improve the robustness of system; (2) large stiffness regulation stroke-fast and easy adaption for different applications (e.g.high accuracy required occasionhigher stiffness; high adaption required occasionlower stiffness).As the snake robots are normally developed in different scales based on their applications, the comprehensive comparisons between them are hard.Here we just qualitatively compared them to demonstrate the advantage of regulating the stiffness of snake robot by their driving cables.

Friction and parasitic motion
With the experimental validation of the developed algorithm on 'micro-operation' part of the snake arm, it has been demonstrated that the stiffness of the snake arm can be actively regulated by adjusting the tension of the driving cables.From this it can be inferred that the tension of the driving cables in the 'macro-operation' part can also be regulated to adjust the stiffness of the system.As the theory and algorithm have been validated, this section will focus on the friction and parasitic motion that can affect the modelling accuracy when the number of sections is increased.
With the static equilibrium model of the 20 DoF snake arm, the tension of the driving cables can be calculated for a given shape and external load, see figure 11(a).Due to the unique mechanical character of the cables/tendons (i.e. can only provide tension and not a push force), the conventional static equation is no longer functional for the cable-driven snake robot.It can be seen from figure 11(a) that the tension in the driving cables obtained from the conventional static model are of a different sign (i.e.positive sign means the push force, while the negative sign means the pull or tension force).As the cables cannot provide a push force, the position accuracy will be highly affected when the cables are slack.With the validated model, the tension of the driving cables of the 20 DoF snake arm were regulated to check how the deviation varies.It can be seen from figure 11(b) that the force of all the driving cables has been adjusted to be negative to avoid the slack, meaning all the driving cables will be in tension.
In addition, as the stiffness of the snake robot is highly related to the tension of the driving cables, regulating the tension of the driving cables can significantly affect the stiffness of the system.It can be seen from figure 11(c) that the deviation in the shape of the snake robot with different masses applied at the end have been greatly reduced after increasing the tension of the driving cables (i.e.overall improvement is an average of 183.4%).Specifically, the deviation in the shape of the snake robot under external masses of 0 kg, 0.5 kg, 1 kg, 1.5 kg, 2 kg, 2.5 kg, 3 kg and 3.5 kg are 12.5 mm, 20.1 mm, 27.5 mm, 34.6 mm, 41.5 mm, 48.3 mm, 54.9 mm and 61.5 mm respectively.After adjusting the tension of the driving cables, the deviations of the snake arm under the same loads are 4.As shown, improving the tension of the driving cables can greatly reduce the deviation of the position of the snake arm when it is in a straight configuration.However, when the snake arm is in a non-straight configuration, the parasitic torque that is generated by the increased cable tensions will affect the result.Also, the friction between the driving cables and the rest of the components of the snake robot will also have a large effect on the transmission of tension along the driving cables length, causing further changes.In order to improve the modelling accuracy, the effect of the parasitic motion and friction are considered.The results can be seen in figure 12.
Figure 12(a) shows the deviation in the position of the snake arm due to the increased tension of the driving cables while in the non-straight configuration (the bending angle for each section is 5 • in this case study).It can be seen from the blue curve that the deviation in position is gradually decreasing (from 7 mm to 2 mm) with the increase of the cable tension (i.e.coefficient varying from 5 to 50), which means that stiffness of the system is increasing.However, when considering the parasitic motion that caused by the parasitic torque, the variation of the deviation is position is very different.Actually, the deviation is becoming larger overall (i.e. from 24 mm to 34 mm), which means that the effect of increasing the cable tension is smaller than the effect of the parasitic torque.However, the aforementioned phenomenon is not bad, and is indeed good, for our 'micro-macro' operation snake robot, as the six-DoF snake tip moves independently from the constant shape of base section, where the stiffness has been already adjusted.
To investigate the effect of friction on the position, the tension of the driving cables is kept in constant with the shaft coefficient of 25.Then, the friction coefficient is gradually increased to see the variation of the snake arm, shown in figure 12(b).Overall, it was found that the deviation in position is strongly dependent on the friction coefficient.As the friction coefficient is increased from 0 to 1, the variation in position increases gradually from 32 mm to 36 mm when parasitic motion is considered.However, when the parasite motion is not considered, the deviation is remains unchanged (2 mm).
The variation in position was also studied for different bending angles (i.e. from the initial straight configuration to a final 100 • bending angle) with a fixed shaft force coefficient (η 0 ) and friction coefficient (λ 0 ), see figure 12(c).It can be seen that the parasitic motion has a significant influence on the deviation of the position of the snake arm.When considering the parasitic motion, the deviation increases proportionally with the increase of the bending angle (i.e. from 2 mm to 60 mm).When friction is considered, the deviation in position is slightly reduced (i.e. from 0 mm at a 0 • bending angle to 9 mm at a 100 • bending angle) compared to when friction is not considered.It was found that the friction and parasitic motion has a large impact (average 16 and 7.5 times improvement in friction and parasitic motion respectively, as seen in figure 12) on the modelling accuracy of the 'macro-operation' base sections with coupled actuation (figure 2).The main reason is that the tension of the driving cables is rapidly decreasing along the snake arm, resulting to the reduced stiffness of the two-DoF sections in tip sections.When friction is not considered, the position deviation of the snake arm is slightly decreasing with the increase of the bending angle.The main reason is that: with the increase of the bending angle, the effective torque generated by the external load is decreased as the arm of force is gradually becoming shorter, resulting to the reduced deformation of each section.As the stiffness of the 'macro-operation' base sections can be improved with the increased tension of the driving cables, the 'micro-operation' tip sections of the snake arm at the tip will have a more 'stable/solid' base to achieve a higher operation accuracy.

Conclusions
In this paper, a novel 20 DoF snake robot with 'macro-micro' operation strategy and adjustable mechanical properties is developed to cope with the complex confined environments.To accurately predict the variation in the shape of the robot due to the regulation of the tension of the driving cables, a comprehensive kinetostatic model and tension regulation algorithm was derived, incorporating friction, tension distribution, external loads, and their effect on the stiffness of the robot.This paper is distinctive in the following respects: Firstly, a new kind of snake robot constructed by multiple sections was developed with the following novelties: (1) a 'macro-micro' operation strategy is incorporated into the design to improve the operation accuracy (±5 mm accuracy among the workspace of 300 mm with the extended length of 1.02 m and payload of 500 g); (2) an advanced cable regulation algorithm capable of adjusting the stiffness of the robot for different tasks (i.e.navigation: low stiffness required, operation: high stiffness required).
Secondly, a comprehensive kinetostatic model of the 20 DoF snake robot is developed, which is composed of the modelling of friction (i.e.driving cables with the guiding system), induced resultant forces (caused by the regulated tension of the driving cables) and the upgraded stiffness model (with the consideration of the stiffness and tension of the driving cables).The developed kinetostatic model is validated with acceptable accuracy under different sets of tension of the driving cables (error: 4.3% and 2.5% for straight and curved configuration, respectively).
In addition, using a prototype 20 DoF snake robot and real-time control system, the developed tension regulation strategy and upgraded kinetostatic model were evaluated.It was found that the deviation in the position of the snake arm was greatly reduced (by an average of 183.4%) when the tension of the driving cables was adjusted.

Figure 1 .
Figure 1.Concept and design of the multi-section snake robot: (a) is the structure of the 20 DoF snake robot, which is comprised of a modular end-effector, 20 DoF snake arm, actuation system, power system and control system; (b) is the working principle and actuation strategy of the snake arm.

Figure 2 .
Figure 2. Schematic of the 20 DoF snake robot showing the structure for the 'macro-micro' operation: (a) shows the three tip sections with decoupled actuation; (b) shows the seven base sections with coupled actuation.

Figure 3 .
Figure 3. Tension regulation principle and challenges of the 'macro-micro' operation for the two sections: (a) tension regulation principle of a two-DoF tip section and factors of affecting the kinematic accuracy; (b) difference of the tension regulation in the base section.

Figure 4 .
Figure 4. Kinematic modelling of the 20 DoF snake robot: (a) shows the cable attachment points in the tip and base sections; (b) is the working principle of an example two-DoF section.

Figure 5 .
Figure 5.General equilibrium configuration of a subsection of the snake robot comprised of a coupled base section and a decoupled tip section.

Bioinspir. Biomim. 19 (Figure 6 .
Figure 6.Definition of the external and internal loads for a two-DoF section example.

Figure 7 .
Figure 7.Additional forces generated by the driving cables.

Figure 8 .
Figure 8. Experimental setup and detailed structure of the 20 DoF snake robot system: (a) is the structure of the modular end-effector (gripper as the example); (b) is the GUI system for regulating the shape and displaying the state of the snake arm; (c) is the structure of the two-DoF joint.

Figure 9 .
Figure 9. Flow chart of the experiment implementation process and the theoretical calculations used in the proposed model.
cables of base sections 200 (seven base sections) N Basic shaft force of tip sections [90, 60, 50] (from base to tip)

Figure 10 .
Figure 10.Regulation of the stiffness of the snake robot by the tension of the driving cables: (a) and (b) are the snake arm configured in straight and curved shapes respectively.

Figure 11 .
Figure 11.Deviation in shape of the snake robot in a straight cantilever configuration adjusted by regulating the tension of the driving cables: (a) and (b) are the tension of the driving cables without and with tension regulation algorithm under the same system configuration and external load; (c) is the reduced deviation of the snake arm due to the tension regulation algorithm.Note: three colours in (a) and (b) represent the driving cables of each section.The coding format (1st, 2nd and 3rd) is designed based on the kinematic definition in equation (3) of each section.

Figure 12 .
Figure 12.Deviation in position as a function of the tension and friction of the driving cables: (a) and (b) are the deviations in position of the snake robot under different tension and friction coefficients while in the same configuration (i.e.bending angles are fixed at 5 • for each section); (c) is the deviation of the position as the configuration changes (bending angle of each section is increased from 0 • to 10 • with 1 • increments).

Table 1 .
Parameters of the two-DoF snake arm for the algorithm validation.