simulation of a snake robot

1 downloads 0 Views 2MB Size Report
2.4 Illustration of hyper-redundant 3-RPS parallel structure. ..... Where as Hirose (1993) studied biologi- .... The figure 2.4a represents the 3-RPS(Revolute-.
SIMULATION OF A SNAKE ROBOT

HERATH MUTHUKUMARANAGE JEROME DINAL HERATH

A dissertation submitted in partial fullment of the requirements for the Bachelor of Science Special Degree in Computational Physics of the University of Colombo, Sri Lanka

NOVEMBER 2016

Declaration I certify that this dissertation does not incorporate without acknowledgement, any material previously submitted for a Degree or Diploma in any university and to the best of my knowledge and belief it does not contain any material previously published or written or oral communicated by other person except where due reference is made in the text.

....................................................... H.M.J.D.Herath index no - s11521 registration no - 2012/s/13069

i

Acknowledgements I would like to express my deepest level of gratitude towards my research supervisor, Dr. M.K. Jayananda, who motivated me to pursue research in biologically inspired robotics and for providing the required direction and support throughout the year. I appreciate the knowledge and guidance I received from you constantly. Furthermore I am in debt to my family for instilling in me the value of hard work and dedication, for their love, support and motivation.

I thank them for their seless, and tireless eort to see me

succeed.

ii

Abstract Snake robots maneuver in complex environments and exhibit large number of degrees of freedom in movement.

Thus incorporating the required locomotion while ensuring

simplicity and likelihood to actual serpentine motion is a challenge. The thesis initially provides an in depth analysis of the current extent to which biologically accurate serpentine motion has been utilized when developing robotic applications focusing on the areas of serial, parallel mechanical designs and on the possibility of incorporating scales. The work presented here introduces two novel clustering sequence control mechanisms which function as movement algorithms for both serial and parallel snake robots having eight cyclic congurations contributing to a serpentine gait. Four such variations for each robot altogether summing to 8 variations were simulated and compared with each other with respect to the degree to which it mimics biological snakes and overall locomotion speed. Furthermore building upon the comparative results, improvements for serial snake robots in terms of head movement stabilization through a novel sequential algorithm and for parallel snake robots through the exploitation of scales have been presented as well. The comparisons between serial and parallel snake robots showed that a repetitive movement algorithm with no feedback could be successfully used to mimic snake like motion irrespective of the mechanical design used in building snake robots.

Furthermore, it

showed a clear distinction between the two design approaches where faster locomotion was possible in serial mechanisms as opposed to their parallel counterparts, however at the expense of stability of path traveled. Head stabilization via the use of an asymmetric movement gait showed great promise with respect to increasing overall eciency and stability of movement in serial snake robots where as the exploitation of scales increased the locomotion speeds of the parallel robots. While the exact parameters and morphological properties of scales need to be optimized based on required performance, the simulations clearly show that incorporation of scales has a positive eect on serpentine gaits. Overall, the simulations show that complex biological movement such as lateral undulation observed in snakes could be replicated in robots using repetitive, scalable mechanisms with no feedback and control.

iii

Contents 1 Introduction

1

2 Literature Review

4

2.1

2.2

Serpentine locomotion for serial snake robots . . . . . . . . . . . . . . . .

4

2.1.1

Locomotion model proposed by Gray (1946)

4

2.1.2

Serpenoid Curve by Sato, Fukaya & Iwasaki (2002)

. . . . . . . .

6

2.1.3

Fundamental properties of snake robot locomotion . . . . . . . . .

7

2.1.4

Kinematics of a serial snake robot for planar lateral undulation

.

7

. . . . . . . . . . . . . .

9

. . . . . . . . . . . . .

9

Serpentine locomotion for parallel snake robots 2.2.1

Incorporation of Prismatic Joint structure

2.2.2

Application of Denavit Hartenberg (D-H) method to represent a parallel snake robot module

2.3

. . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . .

Exploitation of ventral scales for snake robot locomotion

. . . . . . . . .

2.3.1

Anisotropic friction of the ventral scales in biological snakes

. . .

2.3.2

Incorporation of frictional anisotropy in the design of robotic snakes through scales . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.4

Gazebo : An open-source multi-robot simulator

. . . . . . . . . . . . . .

3 Methodology 3.1

3.2

11 11

12 12

14

Setting up Gazebo

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

14

3.1.1

SDF specication of a static model

. . . . . . . . . . . . . . . . .

14

3.1.2

Description of a plugin for dynamic movement . . . . . . . . . . .

15

3.1.3

Compilation of a plugin

. . . . . . . . . . . . . . . . . . . . . . .

16

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

Friction Approximation in ODE . . . . . . . . . . . . . . . . . . .

18

Friction Model 3.2.1

3.3

10

Simulation of a Serial Snake Robot

iv

. . . . . . . . . . . . . . . . . . . . .

18

3.4

3.3.1

Geometrical design of a serial snake robot link . . . . . . . . . . .

3.3.2

Basic actuator sequence for forward kinematics of a single serial

18

module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.3.3

Gait clustering methodology for serial snake robot . . . . . . . . .

20

3.3.4

Simulated serial snake robots

. . . . . . . . . . . . . . . . . . . .

21

. . . . . . . . . . . . . . . . . . . .

23

3.4.1

Geometrical design of a parallel snake robot link . . . . . . . . . .

23

3.4.2

Basic actuator sequences for forward kinematics of a single parallel

Simulation of a Parallel Snake Robot

module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

3.4.3

Gait clustering methodology for parallel snake robot . . . . . . . .

25

3.4.4

Simulated Parallel Snake robots

. . . . . . . . . . . . . . . . . .

26

3.5

Simulation of ventral scales for snake robot design . . . . . . . . . . . . .

27

3.6

Investigation of serpentine locomotion with asymmetric wave propagation

28

3.6.1

Gait Clustering Methodology for propagation of an Asymmetric wave 28

4 Results and Discussion

30

4.1

Simulation of Serial and Parallel Snake Robots . . . . . . . . . . . . . . .

30

4.2

Comparison between Serial and Parallel snake robots

31

4.3

Improvements to serpentine locomotion induced by addition of ventral scales and asymmetric wave propagation

. . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

34

4.3.1

Simulation of ventral scales for parallel snake robots . . . . . . . .

35

4.3.2

Simulation of a serial snake robot with an asymmetric wave

36

. . .

5 Conclusion

39

6 References

40

Appendices

42

Appendix A : Publications related to research

. . . . . . . . . . . . . . . . . .

Appendix B : SDF specication of snake robots

. . . . . . . . . . . . . . . . .

Appendix C : Plugin for serial snake robot with an asymmetric wave

v

. . . . .

42 43 45

List of Figures 1.1

Graphical User Interface of Gazebo when simulating a snake robot.

1.2

Fundamental locomotion modes of biological snakes.

. . .

1

(a) Progression of

lateral undulation in the presence of variable number of contact points. (b) Schematic progression of concertina locomotion with time inside a burrow and on a at surface.

(c) Illustration of sidewinding movement starting

from bottom to top where the shaded portions of the body are in contact with the substrate(sand).[Lillywhite (2014)] 2.1

. . . . . . . . . . . . . . . .

2

Theoretical diagram of a serial snake link used for derivation of model used by Gray. [Gray (1946)] . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.2

4

Depiction of the propolsive force generated by snake links when utilizing lateral undulation.[Gray (1946)] . . . . . . . . . . . . . . . . . . . . . . .

2.3

5

Kinematics and dynamics of a serial snake robot for planar lateral undulation.(a) Illustration of coordinate frames used in model. The global x-y frame is xed. The t-n frame is always aligned to the robot. (b) Symbols charachterizing dynamics of snake robot. [Liljeback et al (2010)] . . . . .

2.4

8

Illustration of hyper-redundant 3-RPS parallel structure.(a) Mechanism of 3RPS manipulator. (b)conguration of spatial 3RPS manipulator.[Mintenbeck, Estana (2010)] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

2.5

parallel actuation mechanism using four prismatic joints.

9

(a) Rotating

Frame about the X-Axis for a single parallel snake robot module.

(b)

conguration of a complete snake robot using 24 parallel robotic segments.[Said, Ismail & Baharin (2014)] . . . . . . . . . . . . . . . . . . . . 2.6

10

Directions of snake movement (a) and corresponding directions of friction measurement (b). The arrows show the direction of the relative movement of the snake and the substrate, respectively.[Baum et al (2014)] . . . . . .

11

2.7

rendering of the case design for a single robot link.[Serrano et al (2015)] .

12

2.8

General Structure of Gazebo components.[Koenig, Howard (2004)] . . . .

13

3.1

Code snippet for model.cong le. . . . . . . . . . . . . . . . . . . . . . .

14

3.2

Code snippet for model.sdf le.

. . . . . . . . . . . . . . . . . . . . . . .

15

3.3

Code snippet for movementPlugin.cc le. . . . . . . . . . . . . . . . . . .

16

3.4

Code snippet for CMakeLists.txt le.

17

vi

. . . . . . . . . . . . . . . . . . . .

3.5

Terminal commands for compilation.

. . . . . . . . . . . . . . . . . . . .

3.6

Geometrical design of serial snake robot links.The blue arrow depicts the

17

joint between links and the green the possible rotatory movement directions.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

3.7

Basic rotating frames for serial snake robot link. . . . . . . . . . . . . . .

20

3.8

Serial snake robot.(W1: wave propagated from M1 to M21) . . . . . . . .

21

3.9

Serial snake robot.( W2: wave propagated from M21 to M1)

21

. . . . . . .

3.10 Actuation proles for robot segments Block 1(M1-M5), Block 2(M6-M10), Block 3(M11-M15) & Block 4(M16-M21). The rst the intial coguration while the next conguration.

400 ms

400 ms

period shows

period shows the continuing

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

3.11 Geometrical design of parallel snake robot links. The blue arrows represent the prismatic joints while the green the possible linear movement directions per joint.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

23

3.12 Basic rotating frames for parallel snake robot link . . . . . . . . . . . . .

24

3.13 Parallel snake robot.(W3: wave propagated from M1 to M21)

. . . . . .

25

3.14 Parallel snake robot.( W4: wave propagated from M21 to M1)

. . . . . .

26

3.15 Geometric design of ventral scales for single snake robot link . . . . . . .

27

3.16 Initial congurations of propagating an asymmetric wave . . . . . . . . .

29

3.17 Continues congurations of propagating an asymmetric wave . . . . . . .

29

4.1

Movement sequence of S1 serial snake robot for rst 100 ms . . . . . . . .

30

4.2

Movement sequence of S2 serial snake robot for rst 100 ms . . . . . . . .

30

4.3

Movement sequence of P1 parallel snake robot for rst 100 ms

. . . . . .

31

4.4

Movement sequence of P2 parallel snake robot for rst 100 ms

. . . . . .

31

4.5

Paths traveled by simulated snake robots. (a) The parallel snake robots with waves traveling from M1-M21 move forward (P1,P2) and for waves propagated from M21-M1 move backwards (P3,P4). (b) The serial snake robots with waves traveling from M21-M1 move forward (S3,S4) and for

4.6

waves propagated from M1-M21 move backwards (S1,S2). . . . . . . . . .

31

Average velocities of each link for P1 parallel snake robot.

32

vii

. . . . . . . .

4.7

Average velocities of each link for P2 parallel snake robot.

. . . . . . . .

33

4.8

Average velocities of each link for S3 serial snake robot.

. . . . . . . . .

33

4.9

Average velocities of each link for S4 serial snake robot.

. . . . . . . . .

34

4.10 The average speed of P2 parallel snake robot with addition of scaled vertices

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

35

4.11 Paths of simulated serial snake robots for large distances. . . . . . . . . .

37

4.12 Magnitude of average velocities per link for serial snake robots with symmetric and asymmetric movement gaits.

. . . . . . . . . . . . . . . . . .

38

4.13 Magnitude of velocities for serial snake robots with symmetric and asymmetric movement gaits.

. . . . . . . . . . . . . . . . . . . . . . . . . . .

viii

38

List of Tables 2.1

Actuator sequence for serpentine movement

. . . . . . . . . . . . . . . .

3.1

Basic actuator sequence for link movement in serial robot snake

3.2

Wave propagated from link 1 to link 21 in Serial Snake(W1)

11

. . . . .

20

. . . . . . .

20

3.3

Wave propagated from link 21 to link 1 in Serial Snake (W2) . . . . . . .

21

3.4

Variations of serial snake robots simulated via Gazebo . . . . . . . . . . .

22

3.5

Actuator sequence for achieving twist motion in parallel snake link

. . .

24

3.6

Wave propagated from link 1 to link 21 in Parallel Snake (W3) . . . . . .

25

3.7

Wave propagated from link 21 to link 1 in Parallel Snake (W4) . . . . . .

26

3.8

Variations of parallel snake robots simulated via Gazebo

. . . . . . . . .

27

3.9

Initial congurations for propogating an asymmetric wave

. . . . . . . .

28

3.10 Continues congurations for propogating an asymmetric wave

ix

. . . . . .

29

List of Abbreviations SDF

Simulation Description Format

ODE

Open Dynamics Engine

DOF

Degrees Of Freedom

XML

eXtensible Markup Language

OpenGL

Open Graphics Library

GUI

Graphical User Interface

GLUT

OpenGL Utility Toolkit

x

1

Introduction

Robotics is an interdisciplinary branch of science and engineering which draws insight from mechanical engineering, computer science, electrical engineering and others. Robotics essentially deals with the design, construction and operation of robots, as well as the use of computer systems for their control, sensory feedback, movement and information processing.

The ideal robot should autonomously operate a given task without any error

amidst sudden uctuations in the environment. While many robots designed to date operate well for simple tasks most are not capable of handling complex tasks such as bipedal walking. This need for rapid prototyping of complex movement algorithms and reasoning techniques gave rise to the eld of robotic simulations which enabled for quick and ecient testing at low cost. Initial robotic simulators were limited to numerical solvers employing Euler-Lagrange methods or Runge-Kutta methods for solving equations of motion for robots and were limited to simulating robot behavior in strongly constrained environments.

Figure 1.1: Graphical User Interface of Gazebo when simulating a snake robot.

However developments in the eld of physics based simulations and computer graphics led to conceptualization of physics engines which could replicate physical phenomena of collisions, light and friction.

While originally developed for gaming, augmentations of

physics engines starting from ODE(Open Dynamics Engine) were used to build high end robotic simulators such as Gazebo which has the same computation power of previous numerical solvers in addition to a user friendly GUI(Graphical User Interface) as shown in gure 1.1. Gazebo lets a user prototype the movement of complex robots initiating from a practical perspective as opposed to numerical solvers which would require one to solve equations of motion for the entire system beforehand.

The later approach hinders the

development of complex robots with large degrees of freedom such as humanoid robots and snake robots.

1

Biological snakes are capable of moving in a variety of terrains. Inspired from serpentine locomotion, snake robots are expected to move similarly in a variety of unstructured environments. There are several fundamental patterns of movement that are observed in snakes, referred to as modes of locomotion, and most species are capable of switching their manner of movement depending on the environment.Figure 1.2 represents the three main modes of locomotion namely lateral undulation, concertina and sidewinding.

(a)

(b)

(c)

Figure 1.2: Fundamental locomotion modes of biological snakes. (a) Progression of lateral undulation in the presence of variable number of contact points.

(b) Schematic

progression of concertina locomotion with time inside a burrow and on a at surface. (c) Illustration of sidewinding movement starting from bottom to top where the shaded portions of the body are in contact with the substrate(sand).[Lillywhite (2014)]

Lateral undulation is the most common form of serpentine locomotion during which the mass of the animal is supported by forces that are transmitted by means of ventral and lateral body surfaces, which are continually in contact with the ground and associated objects. Figure 1.2a shows the forces generated by snakes when moving in lateral undulation for variable numbers of pegs across a at surface. The sum of the reaction forces has a net forward component that contributes to the forward motion of the snake. With increasing number of pegs, the energy lost to lateral forces increases and there is likely an optimal number of contact points for any particular size snake that maximizes forward movement. Concertina locomotion (gure 1.2b) utilizes stationary body parts as anchors to push or pull the remaining body forward. Here static friction associated with the stationary part is used as the reaction force to enable forward progression. Unlike the above movement modes sidewinding is a means for moving over smooth or slippery surfaces like sand. therefore as shown in gure 1.2c the path of snake would go side ways as opposed to being straight.

In order to achieve lateral undulation locomotion snake

robots dened by the likes of Hirose (1993),Bayaraktaroglu et al (2006) must undulate their bodies involving movement yielding path dened by the serpenoid curve formulated by Sato, Fukaya & Iwasaki (2002). Mimicking the real snake locomotion was the main focus of many previous research conducted regarding snake robots by Liljeback et al (2010)

2

and Wang et al (2009), among which incorporating optimal exibility in design has been of paramount importance. Much of previous work regarding this topic consists of building serial snake robots as a linear combination of rigid modules each connected with joints capable of rotating, created for both planar and 3-D locomotion by Shukui (2010) and Maity, Majumder (2011). The underlying principle being that lateral undulation as a whole was created primarily through rotatory motion of each module which was built on the understanding that a biological snake moves via bending its body. However recent studies have focused on an alternative approach stemming from the fact that biological snakes both bend and stretch when conforming to lateral undulation. Thus researchers have investigated variations of parallel mechanisms in building snake robots[Sitar, Racek (2008) & Billah et al (2015)] where each connected module generates individual translational motion, when summed up establishes a serpentine gait.

Given the two contrasting approaches

the question remains what method mimics the mechanism for movement of biological snakes the best. This thesis initially presents a simplied design and control mechanism for two similar parallel and serial snake robots for lateral undulation and compares the movement gaits for each robot with a discussion regarding the extent to which parallel and serial designs aect biomimicracy of snake robots. In order to simplify the control aspect of the parallel snake robot, a bang-bang control mechanism for actuation was incorporated in this work. This discrete system of actuation was based on previous work by Chirkjian and Burdick (1993) who proposed actuation via three interconnected prismatic truss structure which produces 7 combinations of multiple robot congurations mimicking the shape of binary numbers. While this discrete actuation might seem simple, it can achieve complex cyclic shapes as proven by Said, Ismail & Baharin (2014) who augmented the described method to enable control of a snake robot with 3-D movement capabilities. The proposed algorithms expand the parallel robotic model proposed by Said which had four congurations of movement to have eight cyclic serpentine congurations.

Similarly the movement of the serial snake robot proposed

incorporates eight serpentine gaits thus achieving similar sinusoidal wave forms for both robots.

The need for similarity between wave propagation of these contrasting robot

models stemmed from the ndings of Liljeback et al (2010) that amplitude and phase dierence of each link play a key role in determining forward velocity and orientation. Thus, achieving a similar wave motion would reinforce that any changes between the movement of models could be resultant of inherent properties of serial or parallel nature as opposed to being of the wave itself. Finally based on the comparative ndings, simulation of possible improvements for proposed mechanisms utilizing insights from Serrano et al (2015) have been discussed as well. All simulations were carried out via the software platform Gazebo which has been proven to be reliable in accurately simulating real world interactions of complex robots by Shimizu et al (2015).

3

2

Literature Review

Snake-like robotic applications have been studied for many decades stemming from the physiological properties of snake movement namely high adaptability and redundancy still not perfected in many mechanical robots. To this end several initial reported works have been aimed to understand serpentine locomotion. Gray (1946) conducted empirical studies on the four main types of snake movement which are lateral undulation, concertina, side-winding and rectilinear as termed to date.Where as Hirose (1993) studied biological snakes and investigated a mathematical relationship characterizing their motion thus formulating the Serpenoid curve; which was later optimized based on simulation of a planar snake robot by Sato, Fukaya & Iwasaki (2002) . The realization of an optimized curve propagated simulation based research eorts into designing dierent locomotion algorithms for snake robots including serial, parallel and hybrid mechanical designs and into separate research eorts including exploitation of scales and head stabilization for movement.

2.1 Serpentine locomotion for serial snake robots 2.1.1 Locomotion model proposed by Gray (1946) The theoretical model brought forth by Gray shows that serpentine movement could be replicated by appropriate modication of external forces operating on segments which would act as building blocks in a given robotic snake.

Figure 2.1: Theoretical diagram of a serial snake link used for derivation of model used by Gray. [Gray (1946)]

As shown in gure 2.1 the axial skeleton of a snake was regarded as a series of rigid rods hinged together to form a chain namely AB,CD & EF considering three such rods, while the axial muscles were regarded as a series of elastic elements of equal length, operating

4

laterally to hinges, between adjacent rods (ML & MR for left and right sides respectively). Here each elastic element would shorten, thereby liberating potential energy where as the opposite element would widen thus increasing its potential energy when consecutive rods were bent to form a curved shape. If each consecutive segment were to ex in alternate directions, the overall movement of the snake was restricted to a path which exhibited alternate changes of curvature replicating that of an actual snake. The propulsive eect acting normally to the surface of the body could be visualized quantitatively as per gure 2.2 . Here &

P2

ac

is a smooth angular bar in contact with pegs

which simulate rigid resistance points in the ground, where as rod cd is in contact

with peg

P3

; an elastic element Mr acts on the right side of hinge

the element MR be T and its momentum about the hinge be exposed to equal and opposite turning couples of moment peg

P1

P3

against

Figure 2.2:

cd

would be

Tz,

Tz ;

c.

Let the tension of

the two rods would be

thus the reaction (R3 ) of

Tz/x.

Depiction of the propolsive force generated by snake links when utilizing

lateral undulation.[Gray (1946)]

If F was considered to be the external friction, forward glide at constant speed could occur when the resultant reactive forces

R1 ,R2

and

R3

become equal and opposite to F.

Such that,

F = R1 sinα − R3 sinβ

(2.1)

R2 = R1 cosα + R3 cosβ

(2.2)

R2 = R3 (1 + 2cosβ) − R1

(2.3)

5

The combination of above equations gives the force tending to drive the snake robot forward which is equal and opposite to F which has the value:

Tz x When

α

=

β,



sinα − sinβ + sin(α − β) 1 + cosα

α

β

>

the body would move forward if the tension

was developed on the right side of the body towards which

α

Suggest Documents