Design Space and Motion Development for a Pole Climbing ...

122
Design Space and Motion Development for a Pole Climbing Serpentine Robot Featuring Actuated Universal Joints Gabriel Jacob Goldman Thesis submitted to the faculty of the Virginia Polytechnic Institute and State University in partial fulfillment of the requirements for the degree of Master of Science In Mechanical Engineering Dr. Dennis Hong, Chair Dr. Mary Kasarda Dr. Robert Sturges March 3, 2009 Blacksburg, Virginia Keywords: Robot, Serpentine, Climbing, Kinematics, Universal Joints Copyright 2009, Gabriel Goldman

Transcript of Design Space and Motion Development for a Pole Climbing ...

Page 1: Design Space and Motion Development for a Pole Climbing ...

i  

Design Space and Motion Development for a Pole Climbing 

Serpentine Robot Featuring Actuated Universal Joints 

 

Gabriel Jacob Goldman 

 

Thesis submitted to the faculty of the Virginia Polytechnic Institute and State University in partial 

fulfillment of the requirements for the degree of 

 

Master of Science 

In 

Mechanical Engineering 

 

Dr. Dennis Hong, Chair 

Dr. Mary Kasarda 

Dr. Robert Sturges 

 

 

 

March 3, 2009 

Blacksburg, Virginia 

 

Keywords: Robot, Serpentine, Climbing, Kinematics, Universal Joints 

 

Copyright 2009, Gabriel Goldman 

Page 2: Design Space and Motion Development for a Pole Climbing ...

ii  

Design Space and Motion Development for a Pole Climbing Serpentine Robot 

Featuring Actuated Universal Joints 

Gabriel Jacob Goldman 

(ABSTRACT) 

 

Each year, falls from elevated structures, like scaffolding, kill or seriously injure over a thousand construction 

workers (Bureau of Labor Statistics, 2007). To prevent such falls, the development of a robotic system is proposed 

that can climb and navigate on the complex structures, performing hazardous inspection and maintenance in place 

of humans. In this work, a serpentine robotic system is developed  that will be able to climb pole‐like structures, 

such as scaffolding and trusses, commonly found on worksites. Serpentine robots have been proven to be effective 

at traversing unstructured terrains and manipulating complex objects. The work presented in this thesis adds a 

new method of mobility for serpentine robots, specifically those with actuated universal joint structures. 

Movement is produced by inducing a wobbling motion between adjacent modules through oscillatory motions in 

the actuated axis of the universal joint. Through the frictional interactions between the modules of the serpentine 

and the surface of the pole, the wobbling motion lets the serpentine effectively roll up the pole’s surface. 

This work investigates theoretical and experimental results for a serpentine robot climbing a pole structure. It 

discusses the structure and design parameters of the robot and develops relationships between them. These 

geometric and performance‐based relationships are then used to create a design space that provides a guide for 

choosing combinations of module dimensions for a desired set of performance parameters. From this, case studies 

are shown which give examples of how the design space can be used for several different applications. 

Based on the design space procedure, a serpentine robot, HyDRAS (Hyper‐Redundant Discrete Robotic Articulated 

Serpentine) was designed and built. The robot was used to prove the validity of the design space procedure and to 

validate the climbing motion algorithms. Several tests were performed with HyDRAS that showed the practicality 

of the helical rolling motion, as well as the feasibility of serpentine pole climbing. Observations and discussion 

based on the experiments are given, along with the plans for future work involving pole‐climbing serpentine 

robots. 

Page 3: Design Space and Motion Development for a Pole Climbing ...

iii  

Acknowledgments

I want to thank my family. They have shared every high and low point I have had. Anytime when I was 

knocked down, they gave me the motivation to get back up. They have always given me love and 

support in endeavors I have pursued. Dad, your knowledge is sagely and your advice is spot on. Mom, 

you will always be there to help me stay centered, and provide me with the motherly advice that I need 

to get through any situation. Eliza, I can always depend on you to take time to talk to me about what is 

on my mind. 

I also want to thank my advisor who has guided me through the graduate research process. It has been a 

great experience being part of the World Famous Robotics and Mechanisms Lab. Dr. Hong, thank you for 

providing me with plenty of advice, expertise, mentorship, and free food during the last two years. You 

will always be the only person who can make me believe that a robot is sexy. 

Another thank you goes out to all of my friends who have stuck around even after declining to go to 

many social gatherings due to part machining, programming, robot testing, or thesis writing. I owe you 

all a drink of your choice (assuming that you bring me a copy of this thesis as proof that you read it). 

Rudy and Cheng, thank you for all of the long hours you have put into the building and testing of the 

robot. 

One person who I would not be able to do all this work without is Dr. Brand. Thank you for your support 

throughout my studies so far and giving me the opportunity to continue my involvement with FIRST.  

Finally, I wanted to thank my other committee members, Dr. Kasarda and Dr. Sturges. Dr. Kasarda, you 

have been an amazing influence to work with and you provide a much needed change of perspective. 

Dr. Sturges, please always have Mozart or Bach playing in the background when you talk to students. It 

makes the words you say float on air with such artistry they will never leave my mind. 

 

 

 

   

Page 4: Design Space and Motion Development for a Pole Climbing ...

iv  

Contents 

1  Introduction .................................................................................................. 1 

2  Literature Review ......................................................................................... 4 

2.1  Biological Serpentine Motion ........................................................................................................ 4 

2.2  Biologically Mimicking Serpentine Robots .................................................................................... 6 

3  Geometric Relationships ............................................................................. 12 

3.1  Nomenclature ............................................................................................................................. 13 

3.2  Assumptions ................................................................................................................................ 14 

3.3  Module Geometry ....................................................................................................................... 15 

3.3.1  Angle Between Modules ..................................................................................................... 16 

3.3.2  Module Contact Region ...................................................................................................... 16 

3.3.3  Determination of Contact and Endpoint Locations ............................................................ 19 

3.4  Design Space Analysis ................................................................................................................. 22 

3.4.1  General Bounding Conditions ............................................................................................. 22 

3.4.2  Maximum Range of Motion ................................................................................................ 26 

3.4.3  Maximum Number of Modules Per Wrap .......................................................................... 27 

3.4.4  Climbing Distance per Roll .................................................................................................. 28 

3.4.5  Minimum Helical Pitch ........................................................................................................ 30 

3.4.6  Maximum Motor Torque .................................................................................................... 31 

3.4.7  General Bounding Limits ..................................................................................................... 37 

3.4.8  Summary of bounding conditions ....................................................................................... 37 

3.5  Case Study ................................................................................................................................... 38 

3.5.1  Case 1: Maximum Volume Design Space ............................................................................ 38 

3.5.2  Case2: Low‐Gravity/Space Operation ................................................................................. 40 

3.5.3  Case 3: Fast Climb Rate ....................................................................................................... 42 

4  Development of the Climbing Motion ......................................................... 47 

4.1  Universal Joint Definitions .......................................................................................................... 47 

4.2  Kinematic Structure .................................................................................................................... 50 

4.3  Forward Kinematics .................................................................................................................... 51 

4.4  Inverse Kinematics ...................................................................................................................... 57 

4.5  Simulation ................................................................................................................................... 71 

Page 5: Design Space and Motion Development for a Pole Climbing ...

v  

4.5.1  Overview ............................................................................................................................. 71 

4.5.2  “Donut” Wrap Cases ........................................................................................................... 71 

4.5.3  Helical Wrap Cases .............................................................................................................. 73 

5  Mechanical Design ...................................................................................... 79 

5.1  Physical Limitations ..................................................................................................................... 79 

5.2  Concepts...................................................................................................................................... 79 

5.3  Prototype Design......................................................................................................................... 81 

6  Experiments, Results and Discussion ........................................................... 89 

6.1  Helical Configurations ................................................................................................................. 89 

6.2  Donut Climb ................................................................................................................................ 96 

7  Conclusions and Summary ........................................................................ 100 

8  Appendix A: Images of Constructed Prototype .......................................... 104 

9  Appendix B: Simulation Code .................................................................... 106 

10  Works Cited ........................................................................................... 113 

   

Page 6: Design Space and Motion Development for a Pole Climbing ...

vi  

Table of Figures Figure 1.1: Artist rendering of how a serpentine robot could be used in hazardous situations inspecting scaffolding 

structures (a) and bridge piers (b)  2 

Figure 2.1: Diagrammatic reconstruction of trunk vertebra of scolecophidian. Top left, posterior view;  top right 

dorsal view; middle left, anterior view; middle right, lateral view; bottom, ventral view.  4 

Figure 2.2: Concertina locomotion is usually used in confined areas (Jayne, 1988).  5 

Figure 2.3: Shan's Mechanical Snake,  MS‐1  8 

Figure 2.4: Choset's USAR ETR performing an inspection exercise in rubble.  10 

Figure 2.5: Choset's series of Snake‐Bots  11 

Figure 3.1: Geometry of a single module shown with  0  Error! Bookmark not defined. 

Figure 3.2: General contact case, shown with zero helical pitch.  17 

Figure 3.3: Detail of two adjacent links in the midpoint contact case  18 

Figure 3.4: Module geometry projected onto the x‐y plane  20 

Figure 3.5: x‐y projection of module geometry including Φ angle  21 

Figure 3.6: Cartesian (Hooke’s) Universal Joint Model  22 

Figure 3.7: Plot of mechanical advantage required to actuate the rolling motion for a given β angle  23 

Figure 3.8: Increasing helical pitch for fixed module radius, pole radius, and module length.  24 

Figure 3.9: Varying helical pitch for a serpentine with N=12 and fixed module geometry  24 

Figure 3.10: Height between module  1 and  1  25 

Figure 3.11: Increasing module length for fixed module radius, pole radius, and helical pitch.  26 

Figure 3.12: Design space for limited range of motion,  75°  27 

Figure 3.13: Design space bounded by the maximum number of module per wrap limit,  , 8 is shown.  28 

Figure 3.14: Example difference in the climbing rate for two configurations (zero pitch case)  29 

Figure 3.15: Design space for bounded climbing rate  30 

Figure 3.16: Design space that is bounded by the minimum helical pitch condition.  30 

Figure 3.17: Free body diagram of an end module  31 

Figure 3.18: Mechanical Advantage for  1,   32 

Figure 3.19: Mechanical Advantage for  1,   33 

Figure 3.20: Design space that shows valid combinations of parameters to keep the assumptions in the toque 

analysis to produce real results  35 

3.21: Relationship between the module frame and the frame of the motors in their critical  36 

Figure 3.22: Design space that is bounded by a maximum motor torque value,  30.  37 

Figure 3.23: Maximum volume design space for the values shown in table 4.1  39 

Figure 3.24: Example case which fits within the design space for  , , 2.5, 0.75, 30°   40 

Figure 3.25: Design Space for the low gravity or space operation  41 

Figure 3.26: Example design case for the space/low gravity operating case  42 

Figure 3.27: Design space for configurations that satisfy a climb rate  5.  43 

Figure 3.28: Example configuration for the design space for a minimum climbing rate with  44 

Figure 3.29: Design case for the parameters shown in table 3.4.  45 

Figure 3.30: Example configuration from within the combined condition design space shown in 3.29  46 

4.1: Rotation error between an input and output rotation for 10 axles connected by universal joints with the 

arrows pointing in the direction of axles closer to the output axle ( 45 .  48 

Figure 4.2: Comparison between single and double Cardian universal joints.  49 

Figure 4.3: Thompson Coupling universal joint  49 

Page 7: Design Space and Motion Development for a Pole Climbing ...

vii  

Figure 4.4: Rotation of the intermediate and output axles of a double Cardian universal joint for a constant rotation 

about the input axle.  50 

Figure 4.5: Structure of a single module of the serpentine robot.  51 

Figure 4.6: Two modules joined together to form a universal joint.  51 

Figure 4.7: Example of a homogeneous transformation between two sucessive frames.  53 

Figure 4.8: Geometric structure of the first module in contact with the pole structure.  54 

Figure 4.9: Kinematic structure of two modules of serpentine robot  55 

Figure 4.10: Relationship between  1, and  for varying helical pitches,    59 

Figure 4.11: Relationship between  1, and  for varying helical pitches,    59 

Figure 4.12: Relationship between the maximum amplitude for the motor rotations and the helical pitch for 

constant module and pole geometry.  60 

Figure 4.13: Relationship between  1, and  for varying module length, L  61 

Figure 4.14: Relationship between  1, and  for varying module length, L  61 

Figure 4.15: Comparison between the maximum amplitude of motor rotation for varying module lengths  62 

Figure 4.16: Relationship between  1, and  for varying module radius, rm  63 

Figure 4.17: Relationship between  1, and  for varying module radius, rm  63 

Figure 4.18: Comparison between the maximum amplitude of motor rotation for varying module radius  64 

Figure 4.19: Relationship between  1, and  for varying pole radius, rp  65 

Figure 4.20: Relationship between  1, and  for varying pole radius, rp  65 

Figure 4.21: Comparison between the maximum amplitude of motor rotation for varying module radius  66 

Figure 4.22: Motor rotation angles for the modules 1‐3 (a) and 4‐6(b) for the geometry given in table 4.5  67 

Figure 4.23: Motor rotation angles for the modules 7‐9 (a) and 10‐12(b) for the geometry given in table 4.5  68 

Figure 4.4.24: Resulting motor rotation angles for 1 3 for varying pitch angles from  80°  69 

Figure 4.25: Resulting motor rotation angles for 4 6 for varying pitch angles from  80°  70 

4.26: Maximum number of modules for a donut wrap for a set of module dimensions  71 

4.27: Simulation of donut roll for  1, 0.75, and  1.44975 for roll angles from 0   72 

4.28: Simulation of donut roll for  1, 0.75, and  1.44975 for roll angles from  2   73 

4.29: Minimum helical pitch required for varying module geometry with the pole radius held at unity  74 

4.30: Simulation results for the minimum helical pitch case for module and pole geometry  1,1, and  1.5 for roll angles of 0   75 

4.31: Simulation results for the minimum helical pitch case for module and pole geometry  1,1, and  1.5 for roll angles of  2   76 

4.32: Simulation results for helical pitch  25° case for module and pole geometry  1, 1, and  1.5 for roll angles of 0   77 

4.33: Simulation results for helical pitch  25° case for module and pole geometry  1, 1, and  1.5 for roll angles of  2   78 

Figure 5.1: Prototype of an actuated universal joint module featuring a flexible chain drive train  79 

Figure 5.2: Prototype of an actuated universal joint module featuring miter gear drive train  80 

5.3: Prototype featuring a kinematic inversion of the actuated universal joint  81 

Figure 5.4: Design space used in the mechanical design for helical pitch greater than zero  82 

Figure 5.5: Design space for the mechanical design without the minimum helical bounding condition  83 

5.6: Placement and orientation of motors for actuated universal joint  84 

5.7: Detail of the motor assembly in line with the z‐axis (a), x‐axis (b), and y‐axis (c)  84 

5.8: Assembly of the bearing block  85 

5.9: Full assembly of a single motor module  85 

5.10: Module link shown drawn with  120    86 

Page 8: Design Space and Motion Development for a Pole Climbing ...

viii  

5.11:  Assembly of the module body with body ring and skin cut away for clarity with module links in configuration 

to the z‐axis (a) and the y‐axis (b) of the motor module  87 

5.12: Two body modules connected to each output axis of a motor assembly (shown with the skin removed from 

the front body module)  87 

5.13: Range of motion of two modules connected to a single motor module  88 

5.14: Constructed version of robot in a donut configuration  88 

Figure 6.1: Experimental set‐up for testing the helical configuration of the robot  89 

Figure 6.2: Testing configuration of the robot shown in a holding rig with eight module links and seven motor 

assemblies.  90 

Figure 6.3: Simulated configuration of robot wrapped in the minimum helical pitch configuration  91 

Figure 6.4: Robot configured in a 7.5° helical pitch  92 

Figure 6.5: Simulated configuration for a helical wrap of 15°  93 

Figure 6.6: Robot configured in a 15° helical pitch  94 

Figure 6.7: Simulated wrap of robot using a helical pitch of 30°  95 

Figure 6.8: Robot configured in a 30° helical pitch.  96 

Figure 6.9: Experimental setup of donut climbing case with a safety plate lowered beneath the robot.  97 

Figure 6.10: Donut roll test using the parameters shown in table 6.5.  99 

Figure 8.1: HyDRAS concet 2 with miter gears wrapped around a 4 inch pole  104 

Figure 8.2: Structure of HyDRAS version 2, with the acrylic body rings removed  105 

Figure 8.3: HyDRAS version 2 shown in a more common serpentine configuration  105 

 

Unless otherwise noted, all images/figures are property of the author. 

   

Page 9: Design Space and Motion Development for a Pole Climbing ...

ix  

 

Table of Tables  

Table 3.1: Maximum Volume Design Space  39 

Table 3.2: Case 2, Minimum Overall Size/ Weight  41 

Table 3.3: Case 3 for Specified Climbing Rate  43 

Table 3.4: Case for combined conditions  45 

Table 4.1: Relationship between helical pitch and maximum amplitude of motor rotations  60 

Table 4.2: Relationship between changing module length and maximum amplitude of motor rotations.  62 

Table 4.3: Relationship between changing module radius and maximum amplitude of motor rotations.  64 

Table 4.4: Relationship between changing pole radius and maximum amplitude of motor rotations.  66 

Table 5.1: Design Space for Mechanical Design  81 

Table 6.1: Robot configuration for helical tests  90 

Table 6.2: Motor actuation angles for minimal pitch configuration (shown in initial position without roll)  91 

Table 6.3: Motor actuation angles for minimal pitch configuration (shown in initial position without roll)  93 

Table 6.4: Motor actuation angles for minimal pitch configuration (shown in initial position without roll)  95 

Table 6.5: Configuration of robot for donut climb tests  96 

Table 6.6: Holding torque for a donut wrap  98 

 

Page 10: Design Space and Motion Development for a Pole Climbing ...

1  

1 Introduction 

According to the most recent National Census of Fatal Occupational Injuries, 835 fatal falls were 

reported, representing the series all time high since 1992. Falls from ladders, roofs, or scaffolding 

accounted for 40% of occupational fatalities by construction trade workers, who had an overall fatality 

rate of 10.3 per 100,000 in 2007 alone. Other workplace hazards, such as falling and flying objects or 

equipment and exposure to harmful environments, also increase the risk of fatal injury. Of the 933 

workers killed by contact with objects or equipment, 386 were struck by either falling or flying objects or 

equipment (representing 41% of the deaths in that category). Additionally, of the 488 reported deaths 

due to exposure to harmful environments, 367 (or 75% of the deaths in that category) can be attributed 

to contact with overhead power lines, contact with temperature extremes, exposure to caustic, noxious 

or allergenic substances, or oxygen deficiency. All together, 1,588 deaths resulted in 2007 alone from 

these workplace hazards (Bureau of Labor Statistics, 2007).  

Obviously, a system that could determine in advance whether given tasks are safe enough to be 

performed by humans would reduce exposure to these dangers. One such system might be a network of  

sensors, cameras, thermistors, or chemical detectors installed throughout the worksite. Such measures 

are usually either too costly or unavailable for construction site managers to implement. Another 

solution might be to introduce an autonomous, robotic vehicle that could be kept at a worksite, on call 

to inspect any potentially hazardous situation before a human worker is put at risk. This vehicle would 

need to be able to traverse the full worksite, including all of the scaffolding and other structures in place 

to allow human workers access to the interior and exterior. In addition, it would need to transfer 

between those structures into areas that could have a variety of unknown environments, surfaces, 

obstacles, or hazards. Because of this, many conventional wheeled robots would be ineffective at 

searching the worksite without the aid of elevators or lifts operated by human workers. Instead, a 

robotic vehicle is needed with mobility in a variety of modes to propel itself through unstructured 

interior environments while still maintaining an ability to climb common workplace structures, like 

scaffolding.  

Workers who help to perform search and rescue tasks on structures that have catastrophically failed, or 

were subject to malicious attacks, are exposed to other hazards. In the case of a building collapse, it is 

not always possible to reach some levels of the building without the aid of a bucket truck or other lifting 

equipment (National Institute for Occupational Health, 2001). A problem arises, though, when rubble 

Page 11: Design Space and Motion Development for a Pole Climbing ...

2  

caused by the failure prevents the equipment from getting close enough to provide an access point to 

upper levels. The same mobile robot that can scale common worksite structures, like scaffolding, could 

possibly scale pole‐like structures such as piping, support beams, or fallen structural pieces to reach 

inaccessible areas too hazardous for humans. 

The proposed solution in both cases is to implement a serpentine, or snake‐like, robot to inspect those 

hazardous environments, as shown in Figure 1.1. Serpentine robots have the ability to propel 

themselves through rubble, underwater, and through a variety of other unstructured environments, 

either by using snake‐like motions, or with more novel, non‐snake like, gaits. One special property of 

serpentine robots is their ability to use a novel, whole‐ body rolling gait to wrap around and 

subsequently climb pole‐like structures, like scaffolding.  

   

(a)              (b)       

Figure 1.1: Artist rendering of how a serpentine robot could be used in hazardous situations inspecting scaffolding structures (a) and bridge piers (b)

(Image Credit Virginia Tech Department of Industrial Engineering)  

All though this gait has initially been studied by Choset and Dowling (1998), there is no current process 

to methodologically design a snake robot to effectively climb a pole structure. Moreover, most research 

in serpentine robot field uses fairly arbitrary measures to develop the geometric dimensions used for 

their designs. These dimensional restrictions limit a serpentine robot's mechanical characteristics and, 

consequently, the range of its climbing motions for inspecting hazardous environments. This work will 

Page 12: Design Space and Motion Development for a Pole Climbing ...

3  

answer the question of how to effectively design a serpentine robot specifically for the task of climbing a 

pole‐like structure, like scaffolding, so that serpentine robots can eventually be used to reduce the fatal 

risks to construction trade workers. 

This thesis will first discuss the history of serpentine robots. Discussion will include previous milestones 

in serpenoid research, as well as the current collection of gaits that they can perform. After that, an 

analysis of the geometric relationships between the different physical and design parameters for a pole 

climbing serpentine robot will be described. The analysis will be used, along with the development of a 

set of performance metrics, to develop a design space tool that will give a serpentine robot designer 

insight into how the robot’s parameters affect each other.  The design space will show which 

combinations of the parameters would satisfy a desired set of performance parameters.  This thesis also 

gives the method for developing the motion pattern for the actuated universal joints to allow for the 

robot to climb a pole. Based on this, simulation and experiments are shown which verify the process. To 

prove the validity of the design space analysis tool and the simulation, several different configurations of 

a prototype serpentine robot are shown wrapped around a pole along with a comparison to the 

expected analytical results. 

 

   

Page 13: Design Space and Motion Development for a Pole Climbing ...

4  

2 Literature Review 

2.1 Biological Serpentine Motion 

Biological snakes are unique among other land animals. Unlike legged animals that can walk or crawl 

through an environment, snakes use strictly their body motions to react against the ground to propel 

themselves. Their unique skeletal structure makes this possible. Comprising of only three types of bones 

‐ a skull, vertebra, and ribs ‐ the snake utilizes a naturally simple repeating structure to form a long 

backbone that can be made up of 100 to 400 vertebrae. Even though each vertebr  alone can allow only 

10 to 20 degrees of lateral and 2 to 3 degrees of ventral motion, the combination of multiple vertebrae 

produces very large overall angles. To achieve this motion, the bone structure of the vertebrae Figure 

2.1 forms ball‐and‐socket joints with added projections that prevent most torsional motion (Gray & 

Lissmann, 1949) while also protecting the spinal cord. This achieves the same structure as a mechanical 

universal joint, since the torsional degree of freedom about the centerline of the snake can be 

neglected. Additionally, the ball‐and ‐socket joints in the vertebrae keep the backbone from stretching, 

maintaining a constant body length. 

 

 

Figure 2.1: Diagrammatic reconstruction of trunk vertebra of scolecophidian. Top left, posterior view; top right dorsal view; middle left, anterior view; middle right, lateral view; bottom, ventral view. (Image created

for this thesis by Eliza Goldman)

Page 14: Design Space and Motion Development for a Pole Climbing ...

5  

 

   In nature, snakes perform a limited number of gaits to traverse their environment. The most 

frequent of these gaits is lateral undulation. When performing this gait, a snake moves all of its 

vertebrae in a sinusoidal pattern simultaneously while continuously sliding along the ground. All parts of 

the snake move at the same speed through propagations of waves from front to rear. According to 

Walton, Jayne, & Bennett, 1990 the energy that is consumed from this motion is comparable to the gaits 

of legged animals. Walton concluded that this efficiency is high due to the snake’s ability to push itself 

off objects in its environment, like rocks or tree trunks, to gain extra forward momentum. Additionally, 

Walton concluded that the lateral undulation motion requires a minimum of three contact points for 

continued forward progress. Two of the contact points actually generate the force, while the third 

balances the forces. 

  Other common gaits that are used by snakes in nature are the concertina, sidewinding, and 

rectilinear motions. The concertina gait, as shown in Figure 2.2, is a repeatable sequence of motions 

where part of the snake remains based at a certain point while other parts move forward. This gait is 

normally seen in snakes that are in confined spaces, like tunnels. What makes this motion achievable in 

snakes is the difference between the high forces and static friction experienced by the parts of the snake 

that are based and the low forces and dynamic friction experienced by the forward moving parts of the 

snake. Since this gait changes momentum frequently, it highly utilizes static friction forces and travels at 

lower speeds, it has been found to be an inefficient mode of locomotion (Walton, Jayne, & Bennett, 

1990). 

   

 

Figure 2.2: Concertina locomotion is usually used in confined areas as described by Jayne (1998).  

Page 15: Design Space and Motion Development for a Pole Climbing ...

6  

  The rectilinear gait is performed when the snake’s skin moves forward with respect to the 

skeleton, which results in forward motion along the ground. Unlike other gaits, several portions of the 

snake’s body are in contact with the ground at any given time. The body moves forward due to a series 

of symmetrical waves that progress through the body. The detailed movement of the rectilinear gait 

requires that sections of the skin of the belly be drawn forward such that the scales on the skin are 

bunched. The bunched group of scales is then pressed down, allowing the ventral edges to engage the 

surface. Next, the body slides forward within the skin until it regains its original alignment. 

  Sidewinding motion, much like the undulating gait, utilizes a series of continuous and alternating 

waves of lateral bending. These waves react against the surface to propel forward by taking advantage 

of rolling static contacts on surfaces with low shear. This gait minimizes slippage and is more efficient 

than the undulating motion, and is most commonly used on ground surfaces that have loose soils or 

sand. 

  Other known snake gaits are not very common. The slide pushing gait is performed when the 

snake propagates waves more quickly backwards than the snake moves forward. Saltation is an 

interesting mode of locomotion where the snake performs a jumping or leaping motion through the 

storage and release of energy in its body. This also includes a free‐fall stage where full control of the 

snake is difficult. Some Asian tree snakes are able to actually glide through the air by positioning their 

bodies in specific ways, with some even being able to expand their rib cages to form gliding surfaces 

(Socha & LaBarbera, 2005).   

 

2.2   Biologically Mimicking Serpentine Robots 

The earliest conception of an automaton that could perform a snake‐like movement was from Russian 

artist Petr Miturich. His series of designs for mechanical undulators, termed volnoviki, moved primarily 

through wiggling motions (Lodder, 1983). Although he tried to patent his ideas for the volnoviki, no 

patents were granted, and his designs lacked any actuators or control.  

 

Hirose and Umetami (1974) were the first to move beyond pure mimicry and derived the expressions for 

force and power for a snake as a function of distance and torque along the curve described by the 

snake. Their work was the first to develop limbless mobile robots  that moved along the ground. Hirose 

(1997) continued their work and built several serpentine robots which he called Active Cord 

Page 16: Design Space and Motion Development for a Pole Climbing ...

7  

Mechanisms (ACM). He also coined the term serpenoid curve to describe the shape of a snake with 

curvatures that vary sinusoidally along its body axis. He first derived the expressions of force and power 

as a function of distance and torque along the serpentine’s body length. These Equations, termed the 

serpenoid Equations, are shown in Equations 2.1 and 2.2. 

 

∑   (2.1)

∑   (2.2)

 

These derivations were then compared to empirical results from natural snake locomotion. Additionally, 

he developed models for normal, tangential, and power distribution of the serpentine’s muscular forces 

along the body. He found that snakes can quickly adapt locally to changes in the terrain they travel on. 

One important finding from his studies showed that snake locomotion is not limited to purely two 

dimensions. He found that during high speed movement, snakes utilize ventral motions which allow 

better weight distribution without disrupting the forward movement.  

 

After calculating the required torques, power, and velocities from these Equations, Hirose gave a set of 

design guidelines for the actuators and drivetrains for serpentine robots performing undulating motion. 

Hirose was the first to look at the control form for a serpentine robot using angle commands at each 

joint. The variables for control were closely related to the amplitude, wavelength, and velocity of the 

body axis. Hirose was able to steer by biasing the control patterns to adjust the amount of curvature in 

the body. 

 

The first active cord mechanism (ACM) that Hirose developed had 20 links, weighed 28 kg (later reduced 

to 13 kg with different actuators), and featured DC motors and potentiometers for feedback. Small 

contact switches along the sides of the ACM provided tactile feedback about its environment. Using 

these sensors, the ACM was able to navigate and propel itself through a series of winding tracks. 

Initially, Hirose’s work with the ACM was limited to 2D motion, and his mechanisms were limited to only 

lateral undulation. 

 

Page 17: Design Space and Motion Development for a Pole Climbing ...

8  

Shan (1993) developed a mechanism that utilized a form of concertina motion to bolster his work in 

obstacle accommodation. His device used a series of single degree of freedom links and solenoids to 

drive vertical pins into the surface it was travelling on to establish fixed contact points, shown in Figure 

2.3. From those contact points, the rest of the machine moves towards its target. This motion had a 

greater efficiency than true concertina motions in biological snakes, since most of the friction that is 

experienced on the underside of snakes during the motion is provided by the linear solenoid’s contact 

points (Shan & Koren, 1993).  

 

 

Figure 2.3: Shan's Mechanical Snake, MS-1  

Burdick and Chirikjian were able to take the field of serpentine robotics in the third dimension. 

Chirikjian’s (1992) thesis work gave a framework for the kinematics and motion planning of a serpentine 

mechanism. He described curve shapes in R3 and allowed for roll distribution, extensions, and 

contractions along curve segments to specify the serpentine shape. To fit the rigid devices to the curve 

in R3, a model approach was used that resolved excess. The approach was able to characterize the 

required shapes and paths without having to resort to full inverse kinematics. From this, some optimal 

techniques for minimizing the measures of bending, extension, etc. were developed by using the 

calculus of variation. Using this method, Burdick developed some novel patterns of geometry: the 

Page 18: Design Space and Motion Development for a Pole Climbing ...

9  

travelling wave and the stationary wave. The travelling wave is similar to a caterpillar’s motion, or 

rectilinear gait, whereas the stationary wave is reminiscent of an inchworming motion.  

 

Charikijan also introduced the idea that snake robots could be used to provide grasping and 

manipulation possibilities while, at the same time, maintaining its mobility. In his work, he posed that a 

snake could wrap around an object and use wave propagation to simultaneously grasp, move and 

manipulate the object.  

 

A variable geometry mechanism was built which was composed of linear actuators. The initial 

implementation of a robot, Snakey, linked several of these mechanisms together. Even though the 

mechanism was able to investigate some unique gaits, it was unable to do much more than prove only a 

limited number of them, since it was primarily a fixed based machine. Burdick was able to achieve 

sidewinding motions by combining piecewise continuous curves to the mechanisms.  The motion that 

Snakey achieved was not completely snake‐like, but the overall form of the motion was indeed identical 

to that of natural snakes. 

 

Kevin Dowling’s doctoral dissertation mentions some three‐dimensional gaits. His work focused on 

finding optimal gaits for serpentine robots based on specific resistance, which is the measure of the 

energetic cost of locomotion as described in equation 2.3. Dowling states that it is misleading to 

compare specific resistances across a variety of different systems, but for a single vehicle, it is a useful 

measure of how well the vehicle is performing. In general, systems with a specific resistance of zero are 

achieving pure horizontal motion, where systems with a specific resistance of 1 are achieving pure 

vertical motion. 

    (2.3)

               

Using both genetic algorithms and probabilistic‐based incremental learning (PBIL), Dowling’s 

optimization resulting in the production of a variety of snake‐like and non‐snake like gaits for a 20 DOF 

serpentine. The goal of his optimization was to not only focus on locomotion, but also to pay special 

attention to the robot dimensions – in the cases of passing through a bent tube passageway. Some of 

the results produced some novel three‐dimensional gaits that included lateral rolling, traveling wave 

rotor, wheel, flapping, and rolling collar gaits – which will be further discussed in the following section. 

Page 19: Design Space and Motion Development for a Pole Climbing ...

10  

Most of these results were reproduced only in simulations, though, and not fully conceived with his 

serpentine robot (Dowling, 1998).  

 

Howie Choset’s research roots are with Burdick in sensor based motion planning for mobile robots. His 

first known work was on the development of the hierarchical generalized voronoi graph, which is a 

roadmap that can serve as a basis for sensor based robot motion planning (Choset & Burdick, 1996). His 

work in path planning continued on multiple robotic platforms including the AERcam (a free‐flying 

inspection robot in space) (Choset, et al., May 1999). More recently, Choset’s work branched into the 

realm of serpentine robotics, first with the development of some novel 2 and 3 degree of freedom joint 

design, shown in ,then his Urban Search and Rescue Elephant Trunk‐like Robot (USAR ETR) shown 

inFigure 2.4, and most recently his series of serpentine robots, shown in Figure 2.5. 

 

Figure 2.4: Choset's USAR ETR performing an inspection exercise in rubble (http://www.cs.cmu.edu/~choset/)

 

Page 20: Design Space and Motion Development for a Pole Climbing ...

11  

 

Figure 2.5: Choset's series of Snake-Bots (http://www.cs.cmu.edu/~choset/)  

Dowling outlines some fundamental advantageous and disadvantages of snakes compared to other 

animals. Unlike animals that walk or crawl in their environment, snakes are inherently stable creatures 

due to their low state of potential energy. This can also translate into higher survivability in the case of 

free falls from elevated surfaces. Since the center of gravity and potential energy of the snake are low, 

there is less chance of critical damage to a single critical connection point, like a leg joint in a walking 

animal.  

 

  The work in this thesis focuses on developing a mode of locomotion for serpentine robots that 

will allow for them to climb pole structures. This thesis answers the question of how to effectively 

design a serpentine robot that can perform that motion. First, a analysis of the geometry of a serpentine 

robot that is wrapped around a pole structure in a helix is given. From this, a set of relationships 

between the design parameters of serpentine are given, and those relationships are used to develop a 

tool that can guide a designer when building a robot in this way.     

   

Page 21: Design Space and Motion Development for a Pole Climbing ...

12  

3 Geometric Relationships 

 

A serpentine robot is comprised of a series of modules that can allow for it to move in three‐

dimensional space. The size and shape of these modules has a great effect on the way the robot can 

wrap around a pole structure, and therefore climb. The goal of this section is to analyze the relationship 

between the different geometric parameters to determine the effect they have on the robot’s 

performance while wrapped helically around a pole. 

The geometric analysis of the relationship between the physical parameters presented gives a method 

for determining the spatial locations for all module endpoints and contact points on the pole. These 

locations are based on a number of variables, including those involving the pole geometry, module 

geometry, and configuration of the serpentine. The relationships between those variables are presented 

so that they can be used in the creation of a design space for module parameters, and the kinematic 

analysis for the climbing motion. Additionally, the method for determining the angle between modules, 

which will be proven to relate to the required range of motion, is presented.  

The nomenclature for the analysis is presented first and will be used throughout the thesis. The 

assumptions used for the analysis are presented next. Then, the definition of the module geometry and 

the derivation of the full serpentine helical backbone curve will be given. Finally, the method for 

determining the spatial location of module endpoints and contact points is given. 

   

Page 22: Design Space and Motion Development for a Pole Climbing ...

13  

 

3.1   Nomenclature 

 

Module   A single unit of the serpentine robot that is connected by actuated universal joints 

    Pole radius 

    Module radius 

    Module length, distance between the two axes of rotation of a single module 

Linearized Helical Backbone Curve     

    The set of line segments in   that represent the centerlines of all      

    modules when helically wrapped around a pole 

α    Helical pitch of the linearized helical backbone curve 

    Length of the region on a module which can contact the pole surface 

    Number of modules in the serpentine robot 

    Module number,  1  

,        Roll angle about the helical backbone curve for module  . 

,        Roll angle about actuated axis m of the universal joint,  ,  

    Angle between the centerlines of modules   and  1 

,     Spatial point and its corresponding position vector in   that represent the location  

    where module   connects with module   +1 

    Orthogonal projection of   onto  {x,y}   

,     Spatial point and its corresponding position vector in   that represent the location  

    where module   contacts the pole’s surface. 

    Orthogonal projection of   onto  {x,y} 

Page 23: Design Space and Motion Development for a Pole Climbing ...

14  

,     Spatial point and its corresponding position vector in  that represent   projected to  

    the centerline of the module. 

    Orthogonal projection of   onto  {x,y} 

Ф     Interior angle between   and   

 

3.2   Assumptions 

 

The serpentine is designed to climb a pole with a circular cross‐section and a constant 

radius of   

The pole is positioned such that at its base, its centerline is at the global origin,  0,0,0  

The z‐axis is parallel to the vertical direction of the pole 

The x‐axis is perpendicular to the centerline of module 1 

Each module has the same geometric parameters  

Each module has equivalent helical pitch 

Modules have circular cross sections at the points where it can come in contact with the 

pole to allow for them to roll up its surface 

Each module contacts the pole at a single point 

Each module contacts the pole at its midpoint since this is the ideal case where the 

weight loads are evenly distributed 

Page 24: Design Space and Motion Development for a Pole Climbing ...

15  

3.3 Module Geometry 

Due to the unique way in which the serpentine robot will climb the pole structure, each module is 

required to have a certain overall cylindrical shape. Each module contains two actuators, each of which 

act about a single axis of two separate universal joints. One axis of two separate universal joints is at 

opposite ends of the module. The module’s shape is therefore defined by a module radius, , and a 

module length,  . The module length describes the distance between the two axes of rotation for the 

two actuators at opposite ends of the module.  To prevent interference between adjacent links, the 

cylindrical part of the module is limited to a defined area called the module contact region, as shown in 

figure 3.1. 

Error! Reference source not found.Contact with the pole is limited to this region of the robot. 

Determination of the size of the module contact region is discussed later in Section 3.6.  

  The endpoints of the module,  , and module contact point with the pole,   , are defined for 

each module. Module endpoints   and   describe the endpoints for module  . The location of the 

contact point of the module that is projected onto the centerline of the module’s axis is defined as  . 

 

3.3.1 Angle Between Modules 

 

A parameter that is needed to effectively design and operate a pole climbing serpentine robot is the 

angle in between adjacent modules, as shown in Figure 3.2. This angle can be synonymous with the 

range of motion for each joint. This parameter directly affects the size of the module contact region that 

can be achieved. The angle between two adjacent modules, defined as  , is measured from the neutral 

position where the modules would otherwise be in a straight line. The angle can be determined using 

the law of cosines, using the vectors from endpoint to endpoint of module  ,   , and the vector 

from endpoint to endpoint of module  1,  . The calculation of   is shown in Equation 3.1. 

 

.        (3.1) 

Page 25: Design Space and Motion Development for a Pole Climbing ...

16  

For the more specific case where every contact point is at the midpoint of the module a geometric 

approach provides a simpler derivation for β, as shown in Equation 3.2. 

2 tan         (3.2) 

3.3.2 Module Contact Region 

 

As discussed in the assumptions, each module has a cylindrical shape to allow for it to roll up a pole 

surface during climbing. The module’s length, module radius, the required range of motion, and the area 

of contact with the pole are all factors that limit the size of pole the robot can wrap around for varying 

helical pitches. Even though each module makes only a single point contact with the pole, that contact 

point location can vary during operation, which in turn can change the resulting   angle significantly.  

The ideal case would be when the projected contact point location on the centerline is at the midpoint 

of the module. This case results in a single β angle that is consistent among all of the modules of the 

serpentine when wrapped around a circular structure.  

Page 26: Design Space and Motion Development for a Pole Climbing ...

17  

 

Figure 3.1: General contact case, shown with zero helical pitch.

 

 When   is not at the midpoint of its module two separate β angles are produced, as shown in Figure 

3.2. These angles are repeated in an alternating pattern throughout the modules of the serpentine.  The 

pattern is determined from the alternating location of  . causing As Figure 3.2 shows, the distance 

 is equal to 1 , causing every other   angle to be equivalent, as shown in Equation 3.2. 

          (3.2) 

Although having a middle contact point case is ideal, in real use the robot will not always make contact 

at that location. Because of this, a module contact region length,  , needs to be accounted for. This 

length, in theory, has no lower limit that contact will be difficult to achieve with standard building 

methods. The upper limit, however, is bound by the desired range of motion for each module. Selecting 

the correct module contact region length can avoid physical interference during operation. 

Page 27: Design Space and Motion Development for a Pole Climbing ...

18  

     

For the non center contact case, one of the resulting two β angles, shown in Figure 3.2, will have a larger 

magnitude. In the case shown in Figure 3.2, it is apparent that    is the larger than   . This larger 

value will be used as the critical β value in determining the maximum range of motion allowed for the 

wrap around the pole. 

 

Figure 3.2: Detail of two adjacent links in the midpoint contact case

 

The critical β angle has a direct effect on the maximum range of motion each module must retain during 

the pole climbing motion. This relationship is shown in Figure 3.3. The length module contact region ,  , 

must follow the limit where  . As   , the maximum  0. Similarly, as  0 the maximum 

allowable  . The relationship between module length, module radius, range of motion, and 

maximum contact region length is described in Equation 3.4. This assumes that at the maximum β angle 

the modules make physical contact as shown in Figure 3.3. 

         (3.4) 

Page 28: Design Space and Motion Development for a Pole Climbing ...

19  

After the module contact area is accounted for in the module design, it is assumed that all modules 

contact the pole at the midpoint of the pole, constraining  2 for all n. 

3.3.3 Determination of Contact and Endpoint Locations 

 

A geometric method is used to determine the spatial contact and endpoint location for the modules of 

the serpentine robot. The initial contact point location can be arbitrarily chosen on the pole’s surface, 

but for the purpose of this research, the location is assumed to occur at Q1, spatially equivalent to {r‐

p,0,0}, as shown in Figure 3.4 . By projecting the geometry of the modules onto the x‐y plane, as shown 

in Figure 3.4, a simple trigonometric approach can be used to determine any contact point on the 

serpentine. The goal of this approach is to determine the required maximum β for a given helical 

configuration.  The first step in determining the angle is to project the module geometry onto the x‐y 

plane. Each endpoint , , contact point,  , and contact point projected onto the module centerline, 

, is projected onto the x‐y plane, with the projected point being denoted as  ,  , and  , 

respectively, as shown in Figure 3.5. 

 

Page 29: Design Space and Motion Development for a Pole Climbing ...

20  

 

Figure 3.3: Module geometry projected onto the x-y plane

 

For the initial pole contact at  , the spatial location is  , 0,0 . Since both  and   are on the x‐y 

plane, both   and  . The following module endpoint,  , is defined geometrically by the 

overall helical pitch, α, and the module length,  , as described in Equation 3.5. 

0, cos , sin         (3.5) 

 is determined by projecting its spatial location onto the x‐y plane as shown in Equation 3.6. 

, , , , 0          (3.6) 

 

A geometric relationship is used to determine the locations of the following module’s contact and 

endpoints projected onto the x‐y plane, as shown in Figure 3.5. This relationship includes Ф as   

with  0,0,0  as defined in Equation 3.7. 

Page 30: Design Space and Motion Development for a Pole Climbing ...

21  

Φ 2tan           (3.7) 

 

 

Figure 3.4: x-y projection of module geometry including Φ angle

   

  A general Equation is defined for module endpoints,  , contact points,  , and contact points 

projected onto the module centerline,  , as shown  in Equations 3.8 through 3.10 for modules with 

2. The vectors are shown in cylindrical coordinates for clarity. 

, Ф 1 , 1 sin         (3.8) 

   

, 0,0           (3.9) 

 

,Lsin       (3.10) 

Page 31: Design Space and Motion Development for a Pole Climbing ...

22  

3.4 Design Space Analysis 

 

A procedure is developed in this research that gives a design space that can be used to choose 

module geometry that satisfies a desired set of performance criteria. From the previous 

section, relationships between the module geometry and the pole geometry were developed. 

Additional performance relationships are presented in this section, which in turn will lead to 

developing the design space. The relationships provide a series of inequalities that lead to a 

constrained design space. For all of the relationships, the value of the pole radius,  , is held to 

a constant value of 1. Therefore all of the remaining values used in the design space analysis, 

, , and  , are considered a ratio of the pole radius.  

3.4.1 General Bounding Conditions 

 

When utilizing actuated universal joints, shown in Figure 3.6, to produce a rotational motion, there is a 

limit to the maximum angle between the input and output shafts.  

 

Figure 3.5: Cartesian (Hooke’s) Universal Joint Model

 

This limit for both axes of the universal joint demonstrated in Figure 3.7 is  2. At that point, the 

universal joint is physically unable to turn about the input axes and produce a roll about the output axis. 

An infinite mechanical advantage is needed to achieve a roll with  2. (the derivation of the 

Page 32: Design Space and Motion Development for a Pole Climbing ...

23  

mechanical advantage is highlighted later in the chapter).  Additionally, there is no mechanical 

advantage when  0. Therefore, an actuated universal joint can only create the rolling motion when β 

is within the range shown in Equation 3.11.  

 

Figure 3.6: Plot of mechanical advantage required to actuate the rolling motion for a given β angle

 

0 | | 2           (3.11) 

There is also a physical limit to the helical pitch, α. As the angle approaches   2 the serpentine’s 

modules are arranged in a near vertical configuration. At that point, it would take an infinite amount of 

modules to make a single wrap around the pole, making the design unfeasible. The physical limit is 

therefore given in Equation 3.12 and described in Figure 3.8. 

0 | | 2             (3.12) 

Page 33: Design Space and Motion Development for a Pole Climbing ...

24  

 

Figure 3.7: Increasing helical pitch for fixed module radius, pole radius, and module length.

   

In the case where there are enough modules to make at least one full wrap around the pole, there is a 

lower limit helical pitch constraint that will keep the modules from physically interfering, as shown in 

Figure 3.9. In the case of the configurations shown in Figure 3.9a, 3.9b, and 3.9c, the modules physically 

intersect with one another. In Figure 3.9d the helical pitch is large enough to allow clearance. The 

minimum helical pitch is determined for the case where there are more modules than needed for a 

single wrap (as defined in Equation 3.13). 

Ф          (3.13) 

(a)       (b)       (c)                     (d) 

Figure 3.8: Varying helical pitch for a serpentine with N=12 and fixed module geometry

 

Page 34: Design Space and Motion Development for a Pole Climbing ...

25  

As shown in Figure 3.10, there is a minimum ∆ , as defined in Equation 3.14, that keeps from physical 

contact from occurring.  

∆             (3.14) 

 

Figure 3.9: Height between module and

 

The vertical distance between the two modules, ∆ , can also be defined using the z‐component from 

the derivation of a module’s contact point location (Equation 3.10).  Using the substitution for the z‐

component for module  1’s contact point for ∆ , a resulting limiting relationship between the 

helical pitch, α, link length,  , module radius,  , and angle between contact points, φ is developed as 

shown in Equation 3.15.  

Ф2 sin cos 2         (3.15) 

Another constraint used limits the length of the modules when compared to the module radius, pole 

diameter, and helical pitch. As the module length increases while the module radius, pole radius, and 

helical pitch are held constant, there is a critical value where the β angle between modules approach  

/2, limiting the ability for the universal joints to rotate as demonstrated in Figure 3.11. 

Page 35: Design Space and Motion Development for a Pole Climbing ...

26  

 

Figure 3.10: Increasing module length for fixed module radius, pole radius, and helical pitch.

 

The constraining value of the module length is given in Equation 3.16. Using the center contact case, a 

ratio of the module length to the total of the pole and module radius greater than or equal to 2 causes 

this condition to be violated. Increasing the helical pitch satisfies this condition can be satisfied for ratios 

larger than 2. 

2 cos           (3.16) 

Each module must be able to physically perform the rolling motion without interference between 

modules. As mentioned earlier in Section 3, a designer will be able to choose the length of the module 

contact area for a given set of module dimensions. Those relationships described in Equation 3.4 are 

also considered as a constraint in the development of the design space. 

 

3.4.2 Maximum Range of Motion 

 

The first relationship limits the design space bounds the range of motion of each axis of the 

actuated universal joint to a maximum value,  . The relationship uses the derivation for 

 shown earlier in section 3, and is shown in Equation 3.17. 

            (3.17) 

This relationship bounds the design space to the values shown in the volume in Figure 3.12 

which gives the volume for varying module radius,  , module length, L, and helical pitch,  .  

Page 36: Design Space and Motion Development for a Pole Climbing ...

27  

 

Figure 3.11: Design space for limited range of motion, °

 

At very small values of  , the module length is limited to values that maintain the range of motion 

constraint. As the module radius is increased, it effectively decreases the angle between adjacent 

modules. This would have the same effect as increasing the pole radius. Similarly, increasing the helical 

pitch reduces the range of motion.  

 

3.4.3 Maximum Number of Modules Per Wrap 

 

The next relationship that is used gives a limit to the module geometry based on a desired 

maximum number of modules per wrap around the pole structure. If this case is left 

unconstrained, the design space will include geometries that would cause for physical 

configurations that could become impractical due to the very small module size compared to 

the pole radius. The number of modules per wrap is calculated by using the derivation for Φ 

derived in a previous section, as shown in Equation 3.7.  The bounding case shown in Equations 

3.18 and 3.19 limits the design space to values that have numbers of modules per wrap less 

than a maximum number of modules per wrap,  , .  

Page 37: Design Space and Motion Development for a Pole Climbing ...

28  

Ф1          (3.18) 

,            (3.19) 

The design space for module geometries with the maximum module per wrap bounding case of 

8 is shown in Figure 3.13. 

 

Figure 3.12: Design space bounded by the maximum number of module per wrap limit, , is shown.

3.4.4 Climbing Distance per Roll 

 

A designer can also find the design space that will give configurations that can achieve a desired 

height climbed per roll, as shown in Figure 3.14. This value could be equated to the climbing 

rate of the serpentine, but only in the case where the torque required to roll up the pole is not 

considered and it is purely a geometric relationship.  

Page 38: Design Space and Motion Development for a Pole Climbing ...

29  

 

Figure 3.13: Example difference in the climbing rate for two configurations (zero pitch case)  

The climbing speed is related to only the vertical component of the robot’s velocity. The 

horizontal (or tangential) component results in an overall twisting motion about the center of 

the pole. For a single rotation, the module will travel a distance of 2 . The vertical and 

tangential components of velocity,  and  , respectfully, are adjusted by the helical 

pitch, as Equations 3.20 and 3.21 show. 

2 cos           (3.20) 

2 sin           (3.21) 

To estimate the climbing rate, only the vertical component of the motion will be considered, 

setting ∆ . By limiting the amount climbed per roll to be ∆ ∆ , a design 

space can be created which gives acceptable module configurations, as shown in Figure 3.15. 

Page 39: Design Space and Motion Development for a Pole Climbing ...

30  

 

Figure 3.14: Design space for bounded climbing rate  

3.4.5 Minimum Helical Pitch 

As demonstrated in the previous section, there is a minimum pitch value that will keep the 

modules from physically interfering with each other for multiple wraps. This condition, derived 

in Equation 3.15 is used as a bounding case for the design space, for the specific cases where 

 and  0. The resulting design space for this condition is shown in Figure 3.16.  

 

Figure 3.15: Design space that is bounded by the minimum helical pitch condition.

Page 40: Design Space and Motion Development for a Pole Climbing ...

31  

The resulting design space shows that the minimum helical pitch condition is effected mostly by the 

module radius and helical pitch, as shown in Figure 3.16. 

3.4.6 Maximum Motor Torque 

The final bounding conditions on the design space result from limits on the actuation torque. In 

order to fully determine the exact motor torque required during operation, a full grasp analysis 

would be needed. This would include developing a contact model to characterize the soft 

contact between the robot’s surface and the pole’s surface. Since developing a new contact 

model is outside the scope of this phase of the research, a simpler torque model, as shown in 

Figure 3.17, is used to determine an approximate torque required for the motors to hold a 

single end module in the helical configuration.  For this analysis, it is assumed that the universal 

joint is in a configuration that results in maximum loading on the motors.  

 

Figure 3.16: Free body diagram of an end module

 

The worst case scenario for the motors in which they experience the most loading can be 

estimated by determining the total mechanical advantage for the universal joint. The 

mechanical advantage of each motor can be estimated by the ratio of the actuation torque of 

the motor compared to the desired rolling torque, as shown in Equation 3.22.  

Page 41: Design Space and Motion Development for a Pole Climbing ...

32  

, ,

,, ,         (3.22) 

This ratio can also be equivalent to the ratio of the actuator velocity compared to the desired 

rolling velocity of the module. For the climbing motion, a constant climbing velocity is desired, 

therefore, the mechanical advantage of each actuator can be equated to the magnitude of its 

velocity only. The derivation of the velocity of the actuated axes of the universal joint is shown 

in Equations 3.23 Through 3.24.  

6 2 cos 2 cos 2 2 cos 2 cos 2   (3.23) 

,/

       (3.24) 

, sin cos cos       (3.25) 

Figures 3.18 And 3.19 show the velocity of each motor for a desired roll angle for 0 2 . 

The results show that the minimum mechanical advantage for each motor occurs at 

0, , 2 , 3 . . . 

 

Figure 3.17: Mechanical Advantage for ,

Page 42: Design Space and Motion Development for a Pole Climbing ...

33  

 

Figure 3.18: Mechanical Advantage for ,

 

To determine the motor torques,  , , and  , required to hold the end module in the helical 

shape, an estimation of the module’s weight is used, as shown in Equation 4.9, which calculates 

its volume (modeled as a cylinder and two cones) and determines weight through an 

approximation of the density,  , of the module. The weight is then split into two components, 

that act in the x and z direction of the module,   and  , respectively, as described in 

Equations 3.26 and 3.27. 

 2                   (3.26) 

sin             (3.27) 

cos            (3.28) 

Coulomb’s friction law is used to form a relationship between the required gripping force,  , 

and the vertical and tangential friction forces,   and   respectively, as shown in Equation 

3.29.  

, ,            (3.29) 

Page 43: Design Space and Motion Development for a Pole Climbing ...

34  

Due to the complexities of determining the exact gripping force required from contact models, 

the force is estimated by a designer and is considered an input to the system. For the purposes 

of the development of the design space, the maximizing case shown in Equation 3.30 is used. 

, ,            (3.30) 

The reaction from the connected modules is assumed to be in the direction of the next module 

in the chain. As previously mentioned in the geometric analysis section, each module is 

connected at an angle equal to β. Since the loads that act on the structure of the module are 

assumed to be much smaller in magnitude than those acting on the motor, the loads that are 

absorbed by the structure are assumed to be negligible. Therefore, the forces that act in the z‐

axis of the module are considered negligible as well, and the resulting forces acting on the 

universal joint are assumed to be a two‐force member acting in the direction of the next 

module with an angle of β and a magnitude of  .  

The following system of Equations, shown in Equations 3.31 through 3.36 is used to determine 

each individual force and moment acting on the module, as described in the free body diagram 

in Figure 3.17. 

∑ , cos 0        (3.31) 

 

∑ sin 0          (3.32) 

∑ , 0          (3.33) 

∑ , 0          (3.34) 

∑ , 0        (3.35) 

∑ , 0        (3.36) 

Page 44: Design Space and Motion Development for a Pole Climbing ...

35  

With the set of assumptions that were made to allow for a solvable system, there is a critical 

relationship that must  hold true, as shown in Equation 3.37. When the condition is not met, 

resulting values for   is complex and has non‐real components.  

0 cos cos cos sin     (3.37) 

The effect that this bounding condition has on the design space is shown in Figure 3.20, for 

varying module radius,  , module length, L, and helical pitch,  . 

 

 

Figure 3.19: Design space that shows valid combinations of parameters to keep the assumptions in the torque analysis to produce real results

 

The torques acting on the x,y, and z axes of the module shown in Figure 3.17 are not the same 

as the directions of the actuated axes of the universal joint. Therefore, the torques are 

translated to the axes of the universal joint for when the mechanical advantage of the universal 

joint is maximum,  , . Figure 3.20 shows the motor frames and the module frames in the 

configuration where  ,  and is used to determine the relationships shown in Equations 

4.19 and 4.20. 

,            (3.38) 

Page 45: Design Space and Motion Development for a Pole Climbing ...

36  

,           (3.39) 

 

 

3.20: Relationship between the module frame and the frame of the motors in their critical

configuration when , .

 

The final bounding condition limits the design space based on the magnitude of the torque 

acting on  , . The resulting torque,  , is bounded to the case where it is less than the 

maximum torque that the motor can produce,  .  The design space that give the allowable 

configurations for this condition is shown in Figure 3.22. 

Page 46: Design Space and Motion Development for a Pole Climbing ...

37  

 

Figure 3.21: Design space that is bounded by a maximum motor torque value, .  

3.4.7 General Bounding Limits 

In addition to these constraints, there are physical limits to the module length and radius. Both 

the module length and radius must be large enough to accommodate the size of the actuators. 

Therefore, the bounding conditions   and  . An example of this is shown in the 

mechanical design section, since the physical orientation of the motors limit the minimum 

module radius. 

3.4.8 Summary of bounding conditions 

 

The following list summarizes all of the bounding conditions that are used to develop the design space. 

Each bounding condition will be combined to form the overall design spaces that will be used in the case 

study in the following section. 

Range of motion:       0 ,  

Number of modules per wrap:   1 ,  

Height climbed per roll:    2 cos ∆  

Minimum Helical Pitch:   Ф

1 sin    , 0  

Page 47: Design Space and Motion Development for a Pole Climbing ...

38  

Torque assumption limit:    0 cos cos cos sin  

Actuator Torque:       

Module length:       

Module radius:       

Helical pitch:        0  

Coefficient of Friction:    0 1 

3.5 Case Study 

By combining the bounding conditions shown in Section 3.4.8, a full design space can be created. From 

this space, a designer can have a guide to select appropriate combinations of parameters that will match 

their physical and performance criteria. Four cases are shown here which give examples of how the 

analysis presented can be used. The first case gives the maximum bounded volume of the design space. 

The next case gives an example design space for a robot that might be used in low gravity or space 

applications. The third case gives an example design space for a climbing snake robot that might be used 

to inspect simple pole structures, like utility poles, as quickly as possible. The final case gives the design 

space for that was used for the design of the experimental robot built to verify this work.  

3.5.1 Case 1: Maximum Volume Design Space 

The first case looks at a general case, with the bounding conditions set to moderate values, as shown in 

table 4.1.This case gives an idea of the maximum volume design space. This design space can be used as 

a baseline for comparison for other cases so that the effect of changing parameters can be seen.  The 

values used in this case do not appropriately represent a physical case, since the coefficient of friction, 

range of motion, and the maximum module torque are unbounded at their maximum values. 

 

Page 48: Design Space and Motion Development for a Pole Climbing ...

39  

Table 3.1: Maximum Values for Design Space  

Bounding Condition  Value 

  0 

  5 

  0 

  5 

  89° 

,   ∞ 

∆   0 

  ∞ 

W  1 

  0.99 

 

 

Figure 3.22: Maximum volume design space for the values shown in table 3.1

 

Page 49: Design Space and Motion Development for a Pole Climbing ...

A point in

this case i

Fig 

3.5.2 C

If a pole c

performa

part of th

to limit th

weight of 

need to b

used in th

maximum

Figure 4.2

 

n the design s

in Figure 3.24

gure 3.23: Exa

ase2: Low­G

climbing serpe

nce and shap

e cargo on a 

he size and we

the robot by

e smaller tha

he developme

m motor torqu

2 and the resu

pace of 

4. 

ample case wh

Gravity/Spa

entine robot 

pe that would

delivery vehic

eight of the ro

y having a low

an that of an e

ent of the des

ue can be left

ulting design 

hich fits within

ce Operatio

were to be o

 need to be li

cle. At the cu

obot to as sm

w number of m

earth based r

sign space. Fin

t unbounded.

space is show

40  

 is u

n the design sp

on 

perated in sp

imited. To ge

rrent costs of

mall as possibl

modules per w

robot, therefo

nally, since th

 The boundin

wn in Figure 3

used to show

 

pace for

pace, there wo

t into space, 

f delivering p

le. One way t

wrap. The we

ore a lower va

here is much 

ng parameter

3.25. 

w an example 

ould be certa

the robot wo

ayload to spa

to do this is to

eight per mod

alue of modu

lower, or eve

s for this case

configuration

in parts of its

ould need to b

ace, it is desir

o limit the ove

dule would als

le weight can

en zero, gravit

e are shown i

n for 

be 

rable 

erall 

so 

n be 

ty the 

Page 50: Design Space and Motion Development for a Pole Climbing ...

41  

Table 3.2: Case 2, Minimum Overall Size/ Weight

Bounding Condition  Value 

  0 

  5 

  0 

  5 

  89° 

,   5 

∆   0 

  ∞ 

W  0.25 

  0.99 

 

 

Figure 3.24: Design Space for the low gravity or space operation

 

Page 51: Design Space and Motion Development for a Pole Climbing ...

42  

The upper limit of the helical pitch for this design space is lower, overall, when compared to the 

unconstrained design space. This can relate to the way the helical pitch affects the number of modules 

per wrap. As shown in Figure 3.25, for a constant module radius and module length, increasing helical 

pitch decreases the Ф between contact points. This directly affects the number of modules per wrap.  

An example configuration within this design space is shown in Figure 3.26 for  , , 3.4, 1.4, 20° . 

 

Figure 3.25: Example design case for the space/low gravity operating case  

3.5.3 Case 3: Fast Climb Rate 

The next case focuses on having a configuration that moves quickly up a pole. This case can be useful for 

inspection tasks that are very repetitive and taxing for humans. One example of this is for the inspection 

of utility poles.  The current method of utility pole inspection requires inspectors to check each pole by 

hand. They search the pole’s surface for defects by hand only as far as they can reach. Furthermore, due 

to the large number of utility poles in use, only a fraction of the poles are inspected every year. With the 

use of a pole climbing robot described in this work, the inspection process can be done in a more 

extensive manner, since the whole pole can be scaled and inspected. To make the inspection efficient 

though, the robot will need to climb the pole as quickly as possible to maximize the total number of 

poles each work day. To demonstrate this case, a minimum climbing rate of 20 is used to develop the 

design space. All of the other values are set to not constrain the design space, as shown in table 4.2 with 

the resulting design space shown in Figure 4.17. 

Page 52: Design Space and Motion Development for a Pole Climbing ...

43  

Table 3.3: Case 3 for Specified Climbing Rate Bounding Condition  Value 

  0 

  5 

  0 

  5 

  89° 

,   ∞ 

∆   5 

  ∞ 

W  1 

  0.99 

 

 

Figure 3.26: Design space for configurations that satisfy a climb rate .  

Since the climbing rate is a function of helical pitch and module radius, it directly limits the range of 

allowable design configurations. This can be seen in the resulting design space since low values of 

module radius, less than two in this case, are unacceptable. Increasing the helical pitch makes the 

Page 53: Design Space and Motion Development for a Pole Climbing ...

climbing s

moving st

For most 

shown wh

maintaini

module to

actuated 

assumed t

table 3.4. 

 

speed worse,

traight up. An

 in Figu

Figure 3.27: E

design cases,

hen the situat

ng a maximu

o the pole ha

axles of the u

that there is 

 since there i

n example con

re 3.28 

Example config

, there will be

tion requires 

m torque val

s a moderate

universal joint

a limiting min

 

s more move

nfiguration w

guration for t

e multiple con

that a certain

ue. Additiona

e coefficient o

t are constrai

nimum value 

44  

ement wasted

within the desi

he design spac

nditions that 

n number of m

ally, this case 

of friction. Als

ined to  .T

for the modu

d in moving ar

ign space is s

 

ce for a minim

need to be m

modules can 

considers tha

so, a maximum

here is no lim

ule length and

round the po

hown for 

mum climbing

met. An examp

be operated 

at the materi

m range of m

mit on the clim

d radius as we

le compared 

g rate with

ple of this is 

(per wrap) w

al connecting

motion for the

mbing rate. It 

ell, as shown 

to 

while 

g the 

is 

in 

Page 54: Design Space and Motion Development for a Pole Climbing ...

45  

Table 3.4: Case for combined conditions Bounding Condition  Value 

  0 

  5 

  0 

  5 

  55° 

,   12 

∆   5 

  30 

W  1 

  0.7 

 

 

Figure 3.28: Design case for the parameters shown in table 3.4.

Page 55: Design Space and Motion Development for a Pole Climbing ...

 

Figur

 

re 3.29: Exammple configura

 ation from with

46  

hin the combiined conditionn design space shown in 3.299

Page 56: Design Space and Motion Development for a Pole Climbing ...

47  

4 Development of the Climbing Motion 

This section investigates the kinematics of the climbing motion. A method will be presented that 

determines the motor angles needed to perform the climbing motion for any combination of 

parameters within the constraints presented in Section 3. The climbing motion is verified first in 

computer simulations, then in physical experimentation. 

4.1 Universal Joint Definitions 

One of the defining characteristics of the climbing motion is the use of an actuated universal joint to 

cause a wobbling motion in between successive modules. Several ways to construct universal joints can 

transmit rotational motion from one axle to another. A Cardian joint, also known as the Hooke’s 

universal joint model, is the most common form, where two axles are joined by a cross member, as 

shown previously in Figure 3.1. Rotation can be transmitted between several axles by connecting each 

of them with a universal joint. As previously described in Section 3, there is a difference between the 

angular velocity of the axles before and after the universal joint that is proportional to the angle 

between the axles. Even though the error can be small between two axles, the error can propagate and 

become unmanageable when several axles are connected in series with universal joints. This error is 

demonstrated in the series of plots shown in Figure 4.1 where 10 axles are connected in series with 

standard Cardian joints for a single rotation. The error gets larger in magnitude and more asymptotic in 

shape when the input rotation approaches  , 2 , … , . The relationship between input and output 

rotations for an axle is given in Equation 4.1 with   equaling the angle in between axles. 

 

Page 57: Design Space and Motion Development for a Pole Climbing ...

48  

 

4.1: Rotation error between an input and output rotation for 10 axles connected by universal joints with the

arrows pointing in the direction of axles closer to the output axle ( .

 

sin cos cos cos sin      (4.1) 

For a single Cardian universal joint, there is a sinusoidal acceleration that is introduced for a constant 

velocity rotation on the input axle. This sinusoidal acceleration is magnified for larger   angles and for 

each universal joint added in series.   

  The acceleration that is caused by using a single Cardian joint can be counteracted by 

introducing a double Cardian universal joint structure. Unlike a series of single Cardain joints, the output 

axle of a double Cardian joint has a physical phase offset built into its structure to counteract the error 

in position that is caused. As shown in Figure 4.2, the double Caridan has an intermediate axle in 

between the input shaft and the final output shaft. The second universal joint is a mirror image of the 

first universal joint. The error that is introduced from a the first universal joint is counteracted by the 

error introduced in the second universal joint, as shown in Figure 4.2 which compares a standard series 

of universal joints to this configuration.  

Page 58: Design Space and Motion Development for a Pole Climbing ...

49  

 

Figure 4.2: Comparison between single and double Cardian universal joints.

 

This is similar in use to a double Cardian universal joint, in that the output shaft has a velocity equal to 

the input shaft. In operation, though, a double Cardian joint minimizes the length in between the two 

universal joints, known as the intermediate axle. Novel couplings, such as the Thompson Coupling 

completely eliminate the intermediate coupling by having one Cardian joint within another, as shown in 

Figure 4.3. 

   

(Image courtesy of Thompson Coupling Limited) 

Figure 4.3: Thompson Coupling universal joint

 

Page 59: Design Space and Motion Development for a Pole Climbing ...

50  

Built‐in rotation between the two universal joints in a double Cardian cancels out the sinusoidal velocity 

error caused by a single Cardian universal joint. The relationship between input and output rotations is 

shown in Equation 4.2 and demonstrated in Figure 4.4. The relationship between the input and 

intermediate axle rotations are equal to that of a single Cardian joint, shown previously in Equation 4.1. 

tan         (4.2) 

 

Figure 4.4: Rotation of the intermediate and output axles of a double Cardian universal joint for a constant

rotation about the input axle.

4.2 Kinematic Structure  

The structure of the pole climbing serpentine robot developed in this work uses a series of modules that 

are connected with universal joints. As discussed in the previous section, the structure of the robot 

creates a series of double Cardian universal joint connects to keep from velocity errors from propagating 

to unmanageable levels during the climbing motion. To allow for this structure, each of the modules 

connects to one of the axles of the two universal joints which it joins. The two axles that move with the 

module are parallel, as shown in Figure 4.5. The next module’s axles form the other half of the universal 

joint, as shown in Figure 4.6. 

 

Page 60: Design Space and Motion Development for a Pole Climbing ...

51  

 

Figure 4.5: Structure of a single module of the serpentine robot.

 

Figure 4.6: Two modules joined together to form a universal joint.  

4.3 Forward Kinematics  

The serpentine structure’s kinematics are presented in this section using the standard Denavit‐

Hartenberg conventions. The convention states that any object in space can be described by a series of 

rotations and translations. Spong outlines a set of all 4x4 matrices, H, within R3 that are composed of 

both rotational elements, R, and translational elements, d, as shown in Equation 4.3. 

 0 1

;   ;          (4.3) 

Page 61: Design Space and Motion Development for a Pole Climbing ...

52  

The standard homogeneous transformation, H, can be shown for two basic rotations and translations 

about the x and z axes, as shown in 4.4 through 4.7 with  cos , sin  and  tan . 

 

0 00 0

0 0 1 00 0 0 1

             (4.4) 

 

1 0 0 00 00 00 0 0 1

             (4.5) 

 

1 0 0 00 1 0 00 0 10 0 0 1

              (4.6) 

 

1 0 00 1 0 00 0 1 00 0 0 1

              (4.7) 

Danavit and Hartenburg developed a series of notations that allows these 4 basic homogenous 

transformations to fully define the spatial orientation and location of successive frames of a mechanism, 

as shown in Figure 4.7 with the definition of the four DH parameters: a relating to the translation along 

the x axis,   relating to the rotation about the x axis, d relating to the translation about the z axis, and   

relating to the rotation about the z axis.  

Page 62: Design Space and Motion Development for a Pole Climbing ...

53  

 

Figure 4.7: Example of a homogeneous transformation between two sucessive frames.

 

These DH parameters can be formed together in a variety of orders to describe successive frames, but 

the two most common forms are from Spong and Craig. Spong’s method has the transformations for the 

ith frame first about the zi‐1 axis, then about the xi axis, as shown in Equations 4.8 and 4.9. Craig’s method 

has the transformations in the opposite order, with transformations first about the xi‐1 axis, then about 

the zi axis, as shown in Equations 4.10 and 4.11. 

 

. . .        (4.8) 

 

0

0 0 0 1

       (4.9) 

 

. . .        (4.10) 

 

00 0 0 1

       (4.11) 

 

The kinematic structure that describes a serpentine robot connected by a series of actuated universal 

joints in a double Cardian configuration is based on a global coordinate system, with the spatial point 

Page 63: Design Space and Motion Development for a Pole Climbing ...

54  

{0,0,0}, also known as the global zero, referring to the point that is centered at the bottom of the pole 

being climbed.  The initial kinematic transformation,  , relates the global zero to the midpoint of the 

first module of the serpentine robot as it makes contact with the pole, as shown in Figure 4.8 and 

described in Equation 4.12. 

 

1 0 00 s c 00 c s 00 0 0 1

           (4.12) 

 

Figure 4.8: Geometric structure of the first module in contact with the pole structure.  

From that point, the kinematic structure from module to module is represented in Figure 6.9.  

Page 64: Design Space and Motion Development for a Pole Climbing ...

55  

 

Figure 4.9: Kinematic structure of two modules of serpentine robot  

The next transformation,  , introduces the desired amount of rolling,  , that the overall serpentine 

will perform for the climbing motion, as shown in Equation 4.13.   gives the transformation from the 

midpoint of the first module to the first rotation axle of the actuated universal joint between modules 1 

and 2, as described in Equation 4.14, with  ,  equaling the amount of rotation of the motor actuating 

the axle. Note that in Figure 4.9, the frame for the initial module is at the leading endpoint of the first 

module, whereas the kinematic transformations go from the midpoint of the module which is collinear 

to the module’s contact point with the pole.   gives the relationship between the second axis of 

rotation of the actuated universal joint to the endpoint of the second module where the next universal 

joint is, as shown in Equation 4.15, with  ,  equaling the rotation about the second axis of the actuated 

universal joint. 

0 00 0

0 0 1 00 0 0 1

           (4.13) 

Page 65: Design Space and Motion Development for a Pole Climbing ...

56  

, 0 , 00 1 0 0

, 0 ,

0 0 0 1

           (4.14) 

, , 0   ,

, , 0   ,

0 0 1 00 0 0 1

         (4.15) 

 

Combining the transformations  · · ·  yields the overall transformation from the 

global zero to the endpoint of the second module which is actuated by the initial universal joint,  , 

as shown in Equations 4.16 through 4.27. 

11 12 13 1421 22 23 2431 32 33 340 0 0 1

        (4.16) 

11 , , ,              (4.17) 

12 , , ,             (4.18) 

13 ,                 (4.19) 

14 , , ,           (4.20) 

21 ,   ,     , ,         (4.21) 

22   ,   , ,     ,   ,       (4.22) 

23 ,   ,               (4.23) 

24 1 2 ,     , 2 ,     ,   ,     (4.24) 

31     , ,       , ,         (4.25) 

32 ,   ,   ,     ,   ,       (4.26) 

33   ,     ,             (4.27) 

34 1 2  ,   , 2 ,     ,   ,     (4.28) 

The next set of kinematic transformations, described in Equations 4.29 is used to give the general 

relationships between successive module endpoints which coincide with the actuated universal joint 

locations. The kinematic transformations from the endpoint of module  1 to endpoint of the next 

Page 66: Design Space and Motion Development for a Pole Climbing ...

57  

module, module    , is comprised of three individual transformations which together form the general 

transformation  . Rotations about the axles in the universal joint connecting module 

1 to module   is denoted by  , and  . . The derivation of the transformation  is shown 

in Equation 4.29. 

, , , , , , ,

, , ,   , , , ,

, , 0   ,

0 0 0 1

, 2    (4.29) 

The locations of successive module endpoints, or universal joint locations, can be found by combining 

multiple iterations of   as demonstrated in Equation 4.30. 

 

· · … · · , 2    (4.30) 

 

As an example, the transformation from the global zero to the endpoint of the 4th module,  4, is shown in Equations 4.31.  

· · ·         (4.31) 

 

4.4 Inverse Kinematics The forward kinematics give a relationship between the initial coordinate frame (the global zero) to the 

desired module endpoint for a given set of motor angle inputs. Inverse kinematic Equations are used to 

determine the motor angles required to form the serpentine into a desired shape and orientation. For a 

given set of kinematics, the motor actuation angles can be found which will form the serpentine robot 

with a known set of dimensions around a known pole at a specified helical pitch and roll angle.   

The structure of the serpentine robot is highly redundant. Several configurations of motor angles that 

can be combined to have the endpoint of the serpentine robot at a desired spatial location. For the case 

of pole climbing, each module needs to maintain a specific endpoint location so that it can maintain the 

desired contact point with the pole. Because of this, the motor angles are determined individually 

starting with the first module. Those motor angles are then used to solve sequentially for the next set of 

motor angles.  

The endpoint location for each module has been determined previously in Section 3. To include the 

endpoint location in the inverse kinematics, a 4 4 transformation matrix,  , is formed using place 

holders for the spatial orientation (defined as   in Equation 4.3). The x, y, and z coordinates given by 

Equation 3.10 are used to determine the spatial location (defined as   in Equation 4.3), as shown in 

Equation 4.32. 

Page 67: Design Space and Motion Development for a Pole Climbing ...

58  

11 12 13 ,21 22 23 ,31 32 33 ,0 0 0 1

           (4.32) 

Inverse kinematic Equations are used to find the motor rotations for the first universal joint in the chain 

which would move the endpoint location described in   for a desired rolling angle,   as described in 

Equation 4.33. 

· · ·        (4.33) 

A relationship between the module’s dimensions, the pole diameter, the helical pitch, and the input roll 

angle can be developed by equating the terms from the fouth column of each side of Equation 4.33. 

Doing so produces the relationships shown in Equations 4.34 through 4.37, with   referring to 

tan . 

2            (4.34) 

t             (4.35) 

sin , 2     2   3 2 2  (4.36) 

0     3 2 2 2     ,  

  ,       ,   2 2   ,   2     2    (4.37) 

By substituting in values for the module and pole geometry, explicit solutions can be made for the motor 

angles. Figures 4.10 through 4.12 and table 4.1 give insight into the trends of the motor angles when the 

helical pitch varyies for fixed module dimensions and pole dimensions over the course of an input roll, 

, of 2π. Figures 4.10 and 4.11 give the resulting plot of the motor angle rotations for the set of varying 

helical pitches of  0°, 25°, 50°, 75°, 89° . The final value of the set is restricted to be less than 90° due to the motion limitations discussed in Section 3. As shown in the Figures, the maximum amplitudes 

of the motor rotations for both  ,  and  ,  decreases and shifts right as the helical pitch increases. Table 4.1 gives the values for the maximum amplitude for each motor’s rotation at the varying pitches, 

and Figure 4.12 gives a plot of the amplitude as a function of varying helical pitch. It can be seen that for 

constant module and pole geometry, there is as second‐order relationship between the helical pitch and 

the maximum amplitude of the motor rotations.  

Page 68: Design Space and Motion Development for a Pole Climbing ...

59  

 

Figure 4.10: Relationship between , and for varying helical pitches,  

 

Figure 4.11: Relationship between , and for varying helical pitches,

Page 69: Design Space and Motion Development for a Pole Climbing ...

60  

Table 4.1: Relationship between helical pitch and maximum amplitude of motor rotations

   Maximum Amplitude 

Module Geometry Pole  

Geometry   

a Q1,A  Q1,B  L  rm  rp 

0  28.1  28.1  1  1  1 

25  23.0  23.0  1  1  1 

50  12.0  11.7  1  1  1 

75  1.9  1.9  1  1  1 

89  ~0.0  ~0.0  1  1  1 

 

Figure 4.12: Relationship between the maximum amplitude for the motor rotations and the helical pitch for constant module and pole geometry.

Figures 4.13 through 4.15 and table 4.2 give insight into the relationships between the rotations for 

motors  ,  and  ,  when the module radius, pole radius, and helical pitch are fixed while   is varied 

from 0 to 2π and the module length is adjusted for values of  0.01, 0.5, 1, 1.5, 1.99 . The extreme 

values of the set,  0.01 and  1.99, are, respectively, just above and below the physical limit 

described in Section 3, respectively. Figures 4.13 and 4.14 show the resulting motor rotation values for 

varying module length. Unlike the relationship between the rotations and the helical pitch, the 

amplitude increases as the module length increases without any shift in the phase of the motor angles. 

There is a linear relationship between the increase in module length and the motor rotations, as shown 

in table one and demonstrated in Figure 4.15. 

  

 

‐5.0

0.0

5.0

10.0

15.0

20.0

25.0

30.0

0 20 40 60 80 100

Maxim

um Amplitude

Helical Pitch

Maximum Amplitudes of Q1,Aand Q1,B as a function of �

Page 70: Design Space and Motion Development for a Pole Climbing ...

61  

 

Figure 4.13: Relationship between , and for varying module length, L  

 

Figure 4.14: Relationship between , and for varying module length, L  

Page 71: Design Space and Motion Development for a Pole Climbing ...

62  

Table 4.2: Relationship between changing module length and maximum amplitude of motor rotations.

Maximum Amplitude 

Module Geometry Pole  

Geometry 

L  Q1,A  Q1,B  a rm  rp 

0.01  0.3  0.3  0  1  1 

0.5  14.3  14.3  0  1  1 

1  28.1  28.1  0  1  1 

1.5  41.1  41.1  0  1  1 

1.99  52.9  52.9  0  1  1 

 

 

Figure 4.15: Comparison between the maximum amplitude of motor rotation for varying module lengths  

Figures 4.16 through 4.18 and table 4.3 give insight into the relationships between the rotations for 

motors  ,  and  ,  when the module length, pole radius, and helical pitch are fixed while   is varied 

from 0 to 2π and the module radius is adjust for values of  0.01, 0.5, 1, 1.5, 1.99 . The extreme 

values of the set   0.01 and  1.99 are respectively just above and below the physical limit 

described in Section 3. Figures 4.16 and 4.17 show the resulting motor rotation values for the varying 

module radius. Unlike the relationship between the rotations and the module length, the amplitude of 

the motor rotations decreases in amplitude as the module radius increases. This relates to the decrease 

in the β angle needed to wrap around the pole as the module radius increases. As shown in table 4.3 

and Figure 4.18, there is a second‐order relationship between the magnitude of the motor rotations and 

the module radius. 

0.0

10.0

20.0

30.0

40.0

50.0

60.0

0 0.5 1 1.5 2 2.5

Maxim

um Amplitude

Module Length

Maximum Amplitudes of Q1,Aand Q1,B as a function of L

Page 72: Design Space and Motion Development for a Pole Climbing ...

63  

 

Figure 4.16: Relationship between , and for varying module radius, rm  

 

Figure 4.17: Relationship between , and for varying module radius, rm

Page 73: Design Space and Motion Development for a Pole Climbing ...

64  

 

 

Table 4.3: Relationship between changing module radius and maximum amplitude of motor rotations.

   Maximum Amplitude 

Module Geometry Pole  

Geometry   

rm  Q1,A  Q1,B  a L  rp 

0.01  52.7  52.7  0  1  1 

0.5  36.9  36.9  0  1  1 

1  28.1  28.1  0  1  1 

1.5  22.6  22.6  0  1  1 

1.99  19.0  19.0  0  1  1 

 

 

Figure 4.18: Comparison between the maximum amplitude of motor rotation for varying module radius 

Figures 4.19 through 4.21 and Table 4.4 give the relationships between the rotations for motors 

,  and  ,  when the module length, module radius, and helical pitch are fixed while   is varied from 

0 to 2π and the pole radius is adjusted for values of  0.75, 1, 1.5, 2, 2.5, 3 . Figures 4.16 and 4.17 

show the resulting motor rotation values for the varying module radius.  The relationship is very similar 

to that for varying the module radius. This is due to the fact that the module radius and the pole radius 

are added together in the determination of the β angle required for wrapping around the pole, as shown 

in Figures 4.19 and 4.20. As shown in Table 4.4 and Figure 4.22, there is a second‐order relationship 

between the magnitude of the motor rotations and the change in pole radius. 

0.0

10.0

20.0

30.0

40.0

50.0

60.0

0 0.5 1 1.5 2

Maxim

um Amplitude

Module Radius

Maximum Amplitudes of Q1,Aand Q1,B as a function of rm

Page 74: Design Space and Motion Development for a Pole Climbing ...

65  

 

Figure 4.19: Relationship between , and for varying pole radius, rp

 

Figure 4.20: Relationship between , and for varying pole radius, rp

 

Page 75: Design Space and Motion Development for a Pole Climbing ...

66  

Table 4.4: Relationship between changing pole radius and maximum amplitude of motor rotations.

   Maximum Amplitude 

Module Geometry   

rp  Q1,A  Q1,B  a L  rm 

0.75  31.9  31.9  0  1  1 

1  28.1  28.1  0  1  1 

1.5  22.6  22.6  0  1  1 

2  18.9  18.9  0  1  1 

2.5  16.3  16.3  0  1  1 

3  14.3  14.3  0  1  1 

 

 

 

Figure 4.21: Comparison between the maximum amplitude of motor rotation for varying module radius  

  A method similar to determining the first module’s motor angles is used to determine the motor 

angles for successive modules. Once the angles for the first module’s motors,  ,  and  , , are known, 

they are used to form an inverse kinematic Equation to determine the next module’s motor angles, 

,  and  , . Much like when determining the first module’s angles, an endpoint location matrix is 

formed with placeholders for the spatial orientation matrix,  , and the desired endpoint location for 

2 in the   matrix, as shown previously in Equation 4.31.The inverse kinematic relationship used to 

determine  ,  and  ,  is shown in Equation 4.38. By relating the values of the second and third rows in 

the fourth column, a relationship can be formed between the module geometry, the motor angles of the 

first module, and the pole radius and motor angles of the second module. The full derivation is not 

shown in full in this thesis, but the process is similar to what is shown in Equations 4.34 through 4.37. 

0.0

5.0

10.0

15.0

20.0

25.0

30.0

35.0

0.5 1 1.5 2 2.5 3

Maxim

um Amplitude

Pole Radius

Maximum Amplitudes of Q1,Aand Q1,B as a function of rp

Page 76: Design Space and Motion Development for a Pole Climbing ...

67  

· · · · · ·     (4.38) 

A general inverse kinematic relationship is used to determine the module motor angles for any given 

module  using the Equation 4.39, with  2. 

· · … · · · · ·   (4.39) 

Using these relationships, a series of motor angles were produced for a serpentine robot with 12 

modules with  79.375 , 69.215, 180,   25°, as shown in Figures 4.22 and 4.23. 

    (a)              (b) 

Figure 4.22: Motor rotation angles for the modules 1-3 (a) and 4-6(b) for the geometry given in table 4.5  

Page 77: Design Space and Motion Development for a Pole Climbing ...

68  

       

(a)              (b) 

Figure 4.23: Motor rotation angles for the modules 7-9 (a) and 10-12(b) for the geometry given in table 4.5  

It can be seen in these results that the resulting motor angles follow similar patterns. The overall shape 

of the motor rotation values for  1 is similar to that of  4 and  7, with a slight negative phase shift. The same relationship is seen for  2, 5, and 7 and  3,6, and 8.  This is not necessarily a consistent case, though. As shown in Figures 4.24 and 4.25, as the helical pitch increases, the phase shift 

of the motors changes at a non‐linear rate. This is shown by the green trend line which tracks the point 

where the motor reaches its maximum value of rotation. Motors that are further down the serial chain 

have more drastic phase shifts when the helical pitch is changed. Therefore, it can be shown that there 

is no single relationship that can consistently relate a single parameter change (like helical pitch) to the 

motor angle output for each universal joint. Instead, it is necessary to compute the motor angles for 

each universal joint in the serial chain.  

Page 78: Design Space and Motion Development for a Pole Climbing ...

69  

 

Figure 4.4.24: Resulting motor rotation angles for for varying pitch angles from °

Page 79: Design Space and Motion Development for a Pole Climbing ...

70  

 

Figure 4.25: Resulting motor rotation angles for for varying pitch angles from °    

Page 80: Design Space and Motion Development for a Pole Climbing ...

71  

4.5 Simulation 

4.5.1 Overview To validate the serpentine's motion before construction of a physical device, a computer simulation was 

developed that both implements the procedures mentioned in the previous section and provides a 

graphical representation of the robot as it climbs. The simulation that was used in this research was 

developed in Mathematica, and the full code can be seen in the appendix. The following section will 

show some of the results from the simulation for a variety of cases that were recreated during the 

physical experimentation. 

4.5.2 “Donut” Wrap Cases The simplest case for motion is the donut case, where the helical pitch, α, is fixed to a value of zero. 

Using Equation 3.13 gives the value for the maximum number of links that can be physically used for a 

single donut wrap (Figure 5.1). For the Figure, the pole radius is held at a constant value of unity, so all 

of the module dimensions are considered to be ratios of the pole radius. Note that the lower region of 

the plot is limited to show results that will yield a range of motion only for  90°. 

 

4.26: Maximum number of modules for a donut wrap for a set of module dimensions  

A realistic case that will be used to demonstrate the simulation is where  1 and  1.5. For a true 

donut wrap, there needs to be a closed loop that is formed by the modules. Equation 4.40 is used to 

determine the exact module length needed to have a wrap with n modules.  

Page 81: Design Space and Motion Development for a Pole Climbing ...

72  

Ф               (4.40) 

With both  , , and   defined, φ is solely a function of the module length. Therefore, an exact module 

length can be determined to make a closed donut wrap. For the values in this case, the exact module 

length to form a wrap with 8 modules is  1.44795. Figures 4.27 and 4.28 give a demonstration of the 

donut case for 0 2  with ∆ 8. 

 

4.27: Simulation of donut roll for , . ,   . for roll angles from

Page 82: Design Space and Motion Development for a Pole Climbing ...

73  

 

4.28: Simulation of donut roll for , . ,   . for roll angles from

 

For this case, the maximum number of modules that can be used in a single donut wrap is exactly 

9.3314, which must be rounded down since a fraction of a module cannot be used. Therefore, 9 

modules are shown in the simulation, as a series of steps for 0 2   in Figures  

4.5.3 Helical Wrap Cases Since the helical wrap does not require a closed curve, the module length is not constrained as in the 

donut wrap case. To demonstrate helical wrap cases, module dimensions of  1.5, 1 and pole dimension of  1 are used to create the simulation. Helical pitch cases are shown for roll angles from 

0 2  with a step of ∆ 8. 

As shown in Section 3, there is a minimum helical pitch that will allow for a helical wrap where the 

modules do not physically collide with one another. Using the relationship shown in Equation 4.41, the 

relationship for the minimum helical pitch is shown in Figure 4.29 for the case where the pole radius is 

Page 83: Design Space and Motion Development for a Pole Climbing ...

74  

held at unity for varying module radius and length. For the case being used in this section, the minimum 

helical pitch required is  8.72483° .  

Ф2 sin cos 2          (4.41) 

 

4.29: Minimum helical pitch required for varying module geometry with the pole radius held at unity  

The minimum pitch case is demonstrated in Figures 4.30 and 4.31 for a roll angle of 0 2  with 

∆ 8. 

Page 84: Design Space and Motion Development for a Pole Climbing ...

75  

 

4.30: Simulation results for the minimum helical pitch case for module and pole geometry ,,   . for roll angles of

Page 85: Design Space and Motion Development for a Pole Climbing ...

76  

 

4.31: Simulation results for the minimum helical pitch case for module and pole geometry ,,   . for roll angles of

Another example is shown in Figures 4.32 and 4.33 for the same module and pole geometry with an 

increased helical pitch of  25°. 

Page 86: Design Space and Motion Development for a Pole Climbing ...

77  

 

4.32: Simulation results for helical pitch ° case for module and pole geometry , ,  . for roll angles of

Page 87: Design Space and Motion Development for a Pole Climbing ...

78  

 

4.33: Simulation results for helical pitch ° case for module and pole geometry , ,  . for roll angles of

 

 

Page 88: Design Space and Motion Development for a Pole Climbing ...

79  

5 Mechanical Design 

5.1 Physical Limitations The design of the robot used for the experiments was limited to a single choice of actuator, Robotis 

Dynamexil RX‐28 motors. These motors are unique in that they combine fairly high torque‐to‐weight 

ratios, integrated motor controllers, and feedback in one package. In addition, the motor’s RS438 port 

lets them be daisy‐chained in line, making wiring easy. The motors have fairly large physical packaging 

that must be accommodated. Because of this, the module had to big enough to fully accommodate the 

motors being installed.  

5.2 Concepts Several concepts were created that used the RX‐28 motors to drive universal joints. Initial designs used 

the motors to drive the universal joints through drive trains. As Figure 5.1 shows, the first prototype 

used a series of gears to connect the motor output to the universal joint shafts with flexible chain. The 

modules were made to provide the minimum radius,  85   and length,  108  . Each 

module housed two motors, with each driving a single axis of a universal joint son either end of the 

module. A crosspiece connected the modules and connected to sprockets to allow the motors to 

transfer torque. Problems with this design arose from use of the sprocket and chain. During tests, it was 

found that the sprockets would slip on their shafts under high load.  Additionally, inconsistencies in 

machining made of the custom crosspieces time‐consuming and difficult. 

 

Figure 5.1: Prototype of an actuated universal joint module featuring a flexible chain drive train  

To help reduce the risk of slipage in the drive train, a second prototype shown in Figure 5.2, utilizing a 

miter gear drive system that link more directly the motor output and the actuation of the universal 

joints. Like the previous version, each module contained two motors, each actuating a single axis of one 

of the adjacent universal joints. Like before, a custom crosspiece was made where two miter gears were 

attached. This version had a smaller module diameter and a larger module length, with  50   

and  125  . A custom output shaft was made to connect the motor output to the crosspiece axes 

via a second set of miter gears. To help increase each module’s machinability, the brackets holding the 

crosspiece in place were made from a planar sheet of aluminum bent to the desired shape.  This was 

able to perform the roll, but there were several inconsistencies in the drive train. During operation, 

Page 89: Design Space and Motion Development for a Pole Climbing ...

shafts con

miter gea

and unive

F

To overco

the unive

Directly co

train can 

form the a

arms conn

configurat

different 

though, si

nnecting the m

r torque, cau

ersal axle join

Figure 5.2: Pro

ome these dri

rsal joint, hav

onnecting the

be eliminated

actuated univ

nected the m

tion was that

length link ar

ignificantly in

motor output

sing teeth of 

t rotation cau

ototype of an

ve train diffic

ving the moto

e motors to t

d. An initial ve

versal joint, a

motors to a be

t the link leng

rms. The conf

ncreased the m

t to the miter

the gears to 

use severe pr

actuated univ

culties, a third

or module tak

he links from

ersion, using 

as shown in Fi

aring shaft on

gth between m

figuration of t

minimum mo

80  

r gear on the 

break contac

oblems with 

versal joint mo 

d prototype w

ke the place o

 one motor m

a plastic brac

igure 5.3, was

n the adjacen

modules coul

the motors di

odule radius c

universal join

ct. Inconsisten

the overall u

odule featurin

was produced

of the crosspi

module to ano

cket holding t

s developed t

nt universal jo

d easily be ad

irectly driving

compared to 

nt became str

ncies betwee

nit's consiste

ng miter gear d

d that kinema

eces used in 

other, all slipa

the two moto

to test this co

oint bracket. A

djusted by su

g the universa

previous vers

ressed from t

n motor rota

nt movement

 

drive train

atically inverte

previous desi

age in the dri

ors in place to

onfiguration. 

A benefit of t

bstituting 

al joint axes, 

sions.  

the 

tion 

t. 

ed 

igns. 

ve 

Link 

this 

Page 90: Design Space and Motion Development for a Pole Climbing ...

 

5.3 PrThe desig

kinematic

module th

support lo

5.6. From

Based on 

in table 5

dimension

5.3: Pr

rototype Dn of the versi

cally inverted 

hat would allo

oads during o

 this configur

the method d

.1. The design

ns. 

ototype featur

Design ion of the rob

 universal joi

ow for a mini

operation.  Th

ration, the mi

demonstrate

n space prove

TableBounding C

W

ring a kinema

bot that woul

int structure. 

mum module

he motors we

inimum modu

d in Section 3

ed as a guide 

e 5.1: Design SCondition 

 

 

 

 

 

 

 

 

 

81  

atic inversion o

d be used in 

The design p

e radius and w

re first arrang

ule radius and

3, a design sp

for selecting 

Space for Mec

of the actuated

experiments 

process began

weight while 

ged in a confi

d module len

ace was crea

a starting po

chanical DesigValue

.35 

0.5 

1.5 

 

 

 

0.6 

 

d universal jo

followed the

n by first desig

providing a s

iguration as s

gth can be de

ted for the pa

int for selecti

gn  

oint

 concept of a

gning a moto

olid structure

shown in Figu

etermined. 

arameters sh

ing the modu

 

or 

e to 

re 

own 

ule’s 

Page 91: Design Space and Motion Development for a Pole Climbing ...

82  

The design space that results from these values, shown in Figure 5.4 is then used to find appropriate 

combinations of module dimensions. 

 

Figure 5.4: Design space used in the mechanical design for helical pitch greater than zero  

This case assumes that the robot is wrapped in a helix. For the case where   , , the 

design space shown in Figure 5.5 is used instead.  

Page 92: Design Space and Motion Development for a Pole Climbing ...

83  

 

Figure 5.5: Design space for the mechanical design without the minimum helical bounding condition  

From the design space, an initial design point of  , 1.65,1  was chosen to base the mechanical 

design on. An aluminum structure was designed configuration that would be machinable with a 

standard three axis Computerized Numerical Control Machine. The motor assembly that holds the two 

motors in place is shown in Figure 5.7. 

Page 93: Design Space and Motion Development for a Pole Climbing ...

84  

 

5.6: Placement and orientation of motors for actuated universal joint

 

(a)          (b)                (c)       

5.7: Detail of the motor assembly in line with the z-axis (a), x-axis (b), and y-axis (c)  

To ensure that the points where the module links connect to the motor plate were equidistant from the 

center of the actuated universal joint, a bearing block needed to be designed. The block was made to 

use very common and durable parts to form a bearing surface that lets the module link rotate with 

minimal friction. The block is shown in Figure 5.8 and attaches to motor assembly opposite the motor 

with its rotation in the z‐axis. The bearing consists of aluminum housing, a flanged brass bushing, and 

flanged aluminum clevis pin. 

Page 94: Design Space and Motion Development for a Pole Climbing ...

85  

 

5.8: Assembly of the bearing block  

The bearing block assembly and motors are connected to the motor assembly using 2.5 mm bolts, as 

shown in Figure 5.9.  An additional support dowel was added to the assembly to prevent compression of 

the two motor plates from the loads produced during climbing. 

 

5.9: Full assembly of a single motor module  

Module links are needed to connect the motor assemblies as well as provide a base for the module’s 

outer structure that will contact the pole. The design of the module link was designed to provide a 

Page 95: Design Space and Motion Development for a Pole Climbing ...

86  

sufficient structure to hold the parts of the robot that contact the pole while minimizing weight and 

manufacturing time. The ends of the link were made to adapt to either the output of a motor or to 

match the shaft of the clevis pin in the bearing block. The design was made planar and can easily be 

modified to fit a desirable module length,  . The module link shown in Figure 5.10 was drawn with a 

module length of 120 mm, but has a label for the variable module length. Along with connection points 

to the motors and bearing blocks, there are holes near the center of the module link which connect the 

module link to the module’s contact surface. 

 

5.10: Module link shown drawn with  

Two body ribs are connected to the points shown in Figure 5.10. These ribs are ABS plastic and provide a 

small amount of compliance between the module links and the body ring. An acrylic body ring is then 

attached to the body rings by fasteners to provide a circular module contact region. The outer diameter 

of the contact module is 5.25” (133.35 mm). Varying skin materials can then be attached to the acrylic 

body ring’s outer surface. In Figure 5.9, a ¾” thick strip of rubber material was used. The final module 

radius,  , for the experimental version has a minimum value of 2.125” (66.675 mm). With the skin 

added it has module radius of 3” (76.2 mm). 

 

Page 96: Design Space and Motion Development for a Pole Climbing ...

87  

     

(a)                (b) 

5.11: Assembly of the module body with body ring and skin cut away for clarity with module links in configuration to the z-axis (a) and the y-axis (b) of the motor module

 

The body rings were designed so that module links could attach to either rotation axis of the motor 

assembly, as shown in Figure 5.11. Each motor module has a body module connected to each of its 

output axes, as shown in Figure 5.12. 

 

5.12: Two body modules connected to each output axis of a motor assembly (shown with the skin removed from the front body module)

  

Page 97: Design Space and Motion Development for a Pole Climbing ...

88  

Figure 5.13 shows that the physical range of motion of the modules is limited by the length of the 

contact region, as proved previously in the analysis shown in Section 3.  

 

5.13: Range of motion of two modules connected to a single motor module    

The constructed version of the robot is shown in Figure 5.14 in a donut configuration with 6 modules, (5 

motor modules). More detailed images of the mechanical components are shown in the appendix. 

 

5.14: Constructed version of robot in a donut configuration

Page 98: Design Space and Motion Development for a Pole Climbing ...

89  

6 Experiments, Results and Discussion Two experiments were conducted that test the helical shape and the climbing motion. The first test 

compared the simulated helical wrap to an actual wrap using the robot developed in Section 5 for a 

range of helical pitches. Second, the robot was configured in a donut shape to verify the full climbing 

motion on a pole.  

6.1 Helical Configurations To verify that the motor angles produced in the analysis shown in Section 4, several helical 

configurations were tested and compared to the desired shapes shown in the simulation. Since only the 

geometric shape was being tested, the pole that the robot wrapped around was kept horizontal, as 

shown in Figure 6.1.  

 

Figure 6.1: Experimental set-up for testing the helical configuration of the robot  

Three helical configurations were tested with the robot configured with eight 180mm‐long module links 

and seven actuated motor assemblies, as shown in Figure 6.2. The first test had the robot in the 

minimum helical pitch configuration, shown in table 6.1. Figure 6.3 simulates this configuration. Table 

6.2 shows the motor angles to achieve this configuration without any amount of body rolling. 

Page 99: Design Space and Motion Development for a Pole Climbing ...

90  

Table 6.1: Robot configuration for helical tests Parameter  Symbol  Value 

Pole Radius  79.375 mm 

Module Length  L  180 mm 

Module Radius  66.675 “ 

Helical Pitch  7.5° Number of Modules  N  8 

 

 

Figure 6.2: Testing configuration of the robot shown in a holding rig with eight module links and seven motor assemblies.  

 

Page 100: Design Space and Motion Development for a Pole Climbing ...

91  

 

Figure 6.3: Simulated configuration of robot wrapped in the minimum helical pitch configuration  

Table 6.2: Motor actuation angles for minimal pitch configuration (shown in initial position without roll) Motor Number  Actuation Angle (Degrees) 

,   ‐62.1732 

,   ‐4.03406 

,   20.3362 

,   ‐60.2249 

,   58.1147 

,   28.1721 

,   ‐39.2762 

,   53.0207 

,   ‐47.6171 

,   ‐46.3081 

,   52.1076 

,   ‐40.6982 

,   30.1401 

,   57.4225 

 

Figure 6.4 shows the robot wrapped around the pole for this case. It was determined that the robot did 

form the shape correctly, but did not form a wrap around the pole that fit completely. As shown in 

Page 101: Design Space and Motion Development for a Pole Climbing ...

figure 6.4

planned. T

position. T

Because o

mid‐point

seen durin

modules t

the config

side of the

however, 

to rigidly 

robot wer

hold itself

 

 The seco

Figure 6.5

angles to 

, the end mo

The root of th

The motors d

of this, severa

ts, causing so

ng testing. Ad

towards the e

guration show

e pole) were 

were left to 

hold the shap

re to be rotat

f onto the po

nd test case h

5 shows the s

hold the shap

dules on the 

his problem is

did not have e

al of the mod

me discrepan

dditionally, du

end of the rob

wn, the modu

sitting on the

hang from th

pe, these end

ted   abo

le due to this

Figure 6

has an increa

imulated con

pe. 

underside of 

s that the mo

enough torqu

ules were abl

ncies between

ue to the way

bot sagged aw

ules towards t

e pole’s surfa

e poles surfa

d modules did

ut the center

s effect. 

6.4: Robot con

sed helical pi

figuration of 

92  

the pole stru

otors cannot r

e to hold the

le to make co

n the planned

y the robot w

way from the

the middle of

ce – ensuring

ce. Since the 

d not make go

rline of the po

nfigured in a 7

tch of and

the robot, an

ucture do not

rigidly hold th

e modules in t

ontact at a loc

d angle betwe

was oriented o

eir contact po

f the robot (a

g that they ma

motors were

ood contact w

ole, the robot

7.5° helical pi

d has all other

nd table 6.3 g

 fully touch th

he modules in

their planned

cation that w

een modules 

on the horizon

int location d

nd subsequen

ade contact. T

e not providin

with the pole 

t would not h

itch

r parameters 

gives the moto

he pole as 

n their desired

d locations rig

as not at thei

and what wa

ntal pole, the

due to gravity

ntly on the to

The end mod

ng enough tor

structure. If t

ave been abl

unchanged. 

or actuation 

gidly. 

ir 

as 

y. In 

op 

dules, 

rque 

the 

e to 

Page 102: Design Space and Motion Development for a Pole Climbing ...

 

Table 6 

 

Figure 6.5

6.3: Motor actu

5 shows the ro

Figure 6.5: S

uation angles

Motor

obot wrapped

Simulated con

for minimal p

r Number 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d around the

93  

nfiguration for

pitch configur

Actuation A

‐5

‐7.

32

‐52

43

45

‐53

29

‐4.

‐59

58

10

‐34

51

 pole in a 

r a helical wra

ration (shown

Angle (Degree

58.918 

51612 

2.1875 

2.7872 

3.3059 

5.3037 

3.8159 

9.8944 

21089 

9.1219 

8.5954 

0.8122 

4.3727 

1.6758 

 helical pitch

 

ap of

in initial posit

es) 

h configuratio

tion without r

on.  

roll)

Page 103: Design Space and Motion Development for a Pole Climbing ...

The final t

table 6.4 s

issues as t

constraine

about the

The face t

mentione

found tha

pivoting is

helical pit

to the pol

about the

trial increased

showing the 

the previous 

ed to stay in t

e contact poin

that the robo

ed that at leas

at more than 

s eliminated. 

tch. For a zero

le. As the pitc

e pole is elimi

Figure 6

d the helical p

motor actuat

test. Since th

the planned c

nt of the midd

t can pivot as

st one wrap a

a single wrap

The number 

o pitch “donu

ch increases, 

nated. 

6.6: Robot con

pitch again to

tion values to

e robot did n

configuration

dle module.  

s mentioned i

around the po

p is needed to

of modules n

ut” configurat

more module

94  

nfigured in a 1 

o . Figure 6

 maintain the

not form a tig

n. Because of 

is an unexpec

ole is needed 

o fully constra

needed beyon

tion, only a si

es are needed

15° helical pi

6.6 shows the

e shape. This 

ht wrap arou

this, the full r

cted result. Th

for climbing. 

ain the robot 

nd a single wr

ngle wrap is r

d beyond a si

 

tch

e simulated co

test had man

nd the pole, i

robot was ab

he design me

In practice, t

to the pole su

rap is directly

required to co

ngle wrap to 

onfiguration, 

ny of the sam

it was not ful

le to be pivot

ethodology 

though, it was

urface so tha

y related to th

onstrain the r

ensure pivot

with 

ly 

ted 

t the 

he 

robot 

ing 

Page 104: Design Space and Motion Development for a Pole Climbing ...

 

Table 6

 

Figure 6.6

consisten

point of th

robot was

from the c

 

F

6.4: Motor actu

6 shows the ro

t contact bet

he middle mo

s able to be p

configuration

Figure 6.7: Si

uation angles Motor N

obot in a 

ween the mo

odule to a mo

pivoted about

n shown. 

mulated wrap

for minimal pumber 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 helical pitch 

odules and th

ore extreme d

t the contact 

95  

p of robot usin

pitch configurActuati

configuration

e pole. In add

degree than t

point of the m

ng a helical pit

ration (shown ion Angle (De

‐47.14

‐11.067

35.631

‐34.790

9.5144

47.405

‐46.842

‐12.614

36.445

‐33.923

7.9566

47.624

‐46.497

‐14.150

n. This test co

dition, it was 

the previous c

middle modu

 

tch of

in initial positegrees) 

79 

11 

04 

49 

55 

26 

42 

57 

34 

68 

47 

77 

08 

onfiguration d

able to pivot 

case. In this c

le a full 90 de

tion without r

did not get 

about the co

onfiguration,

egrees clockw

roll)

ontact 

, the 

wise 

Page 105: Design Space and Motion Development for a Pole Climbing ...

 

From thes

the robot

fully const

the rolling

torque re

research w

this effect

modules f

Since a “d

helical pit

6.2 DoThe secon

whole bod

a hoist sys

6.7. In ord

springs pr

used for g

(normal fo

donut sha

se tests, it wa

. In general, s

trained wrap

g velocity to b

quirement to

with more rig

t to be fully te

for the climbi

donut” wrap m

tch, as mentio

onut Climbnd set of tests

dy rolling mo

stem was ma

der to isolate 

rovide the for

generating th

orce toward t

ape, the robo

Pa

Po

Mod

Mod

Hel

Numbe

Figure 6

as found that 

smaller helica

 around the p

be used to tw

o hold the rob

gid motors an

ested.Even th

ing motion, it

might not be 

oned in the d

b  s verifies that

tion and clim

de to catch t

the rolling m

rce necessary

e necessary f

the pole). Thi

t was configu

Table 6.5arameter 

le Radius 

dule Length 

dule Radius 

lical Pitch 

er of Modules

6.8: Robot con

smaller helic

al pitches red

pole structure

wist about the

bot in a config

nd more modu

hough increas

t was found th

applicable in 

esign space a

t the motion p

mb a pole. For 

he robot and

motion, a set o

y to maintain 

force for clim

s significantly

ured to have o

: Configuratio

96  

nfigured in a 3

cal pitches pro

uce the minim

e. Additionall

e pole as it clim

guration incre

ules (to have 

sing helical pi

hat it is gener

many climbi

analysis, will b

produced in t

these tests, t

 support it in

of springs was

the grip on th

bing (weight 

y reduced the

only 6 modul

on of robot foSymbol 

30° helical pit

ovide a bette

mum number

y, larger the 

mbs. Further

eases along w

more wraps 

tch does redu

rally best to m

ng cases, a co

be ideal for op

the simulatio

the pole is he

 case of moto

s connected t

he pole so tha

against gravit

e torque requ

es, as shown 

r donut climb

 

tch.

r operating e

r of modules 

helical pitche

more, it is be

with the helica

around the p

uce the overa

minimize the 

onfiguration w

peration. 

n lets the rob

eld is vertical.

or failure, as s

to the end mo

at the motor 

ty) and not fo

uired at the m

in Table 6.5. 

b tests Value 

76.2 mm 

180 mm 

66.675 mm 

 

nvironment f

needed to ha

es cause more

lieved that th

al pitch. Furth

pole) will allow

all angle betw

helical pitch. 

with a minimu

bot perform t

 A safety rig u

shown in Figu

odules. These

torque is onl

or the huggin

motor.To form

 

for 

ave a 

e of 

he 

her 

w for 

ween 

um 

he 

using 

ure 

m the 

Page 106: Design Space and Motion Development for a Pole Climbing ...

Before th

module th

value was

experime

 

Figur 

 

e roll was tes

hat directly re

s then conver

nt, as shown 

re 6.9: Experim

sted, a measu

eads each mo

rted to the mo

in Table 6.6. 

mental setup o

urement of th

otor’s torque 

otor’s unit of 

 

of donut climb

97  

 

e motor torq

sensor values

torque (kgf.c

bing case with

ques was mad

s of each mot

cm) for the 10

h a safety plate

de using a Lab

tor via the RS

0 motors used

 

e lowered ben

bView front e

S232 cables. T

d in the 

eath the robot

nd 

This 

t.

Page 107: Design Space and Motion Development for a Pole Climbing ...

98  

Table 6.6: Holding torque for a donut wrap  

Motor Number  Motor Torque (kgf.cm) 

, 17.741 

, 17.593 

, 17.889 

, 17.889 

, 17.593 

, 13.454 

, 16.115 

, 16.115 

, 15.819 

, 16.263 

 

Figure 6.8 shows physical rolling test of the robot for input roll angles from 0 2 . The roll angles 

are estimates of the status of the input roll at the time of the image.  

Page 108: Design Space and Motion Development for a Pole Climbing ...

99  

 

Figure 6.10: Donut roll test using the parameters shown in table 6.5.

Page 109: Design Space and Motion Development for a Pole Climbing ...

100  

During the test, the robot began to pivot away from being horizontal with the ground (starting at 

180°. It was found that the module 4 (near the left side of the image) lost grip with the pole during 

the roll. This was due to a lowered amount of friction on the pole surface from a strip of ducting tape 

holding the rubber surface onto the pole.  Aside from that, the robot was able to successfully descend 

down the pole structure using the rolling motion derived in this work.  

A vertical roll was attempted during the testing, but it proved to be more difficult to accomplish with the 

given prototype structure. The robot did successfully climb for a quarter of a rotation up the pole. At 

that point, the robot reached a configuration that causes for all of the rolling torque to be accounted for 

by one of the two motors in the universal joint. The way the robot was configured resulted in that motor 

having a very low mechanical advantage to the rolling torque. Either increasing the strength of the 

motors, or reducing the overall load on the current motors would help to alleviate this problem in future 

tests of the vertical climb. 

It was found that the rolling motion in the donut cases is very easy to deviate from an evenly distributed 

motion. It was found that even the slightest change in condition (as in the previously mentioned low 

friction case with the ducting tape) can essentially ‘lock’ the donut and prevent it from rolling up or 

down. If even one of the motors is out of synchronization with the others, it would add a resistive force 

to the rolling motion, further locking the robot from rolling.  

7 Conclusions and Summary  

This thesis gave the process for developing a serpentine robot with actuated universal joints that is used 

exclusively for climbing pole‐like structures in a helical configuration. The goal of this work was to 

provide a tool to aid designers in choosing the correct design parameters for a climbing serpentine 

robot. A designer can then use the process described in this work to create a design space of acceptable 

combinations of robot parameters that will satisfy a known set of performance requirements. 

Additionally, this work gave the process for determining the motor actuation angles needed to perform 

the climbing motion for any set of module dimensions.  

Since this work was the initial study on creating a robot used in this manner, the geometry of the pole 

was limited to a completely vertical, non‐bending structure that does not change diameter. The process 

of developing the design space started with defining the geometry of modules of the serpentine robot 

and the main design parameters of module length, module radius, helical pitch, and pole radius. These 

four parameters were used to determine the spatial locations and vectors relating to the contact points 

and module endpoints of the robot for it to hold a helical wrap around a pole structure. The angle 

between modules was then determined from the module geometry and module spatial locations. Next, 

bounding conditions on the module geometry were shown that limit the angle between modules to a 

value less than 90°, so that the climbing motion would be feasible. It was shown how changing the 

module geometry, the number of modules per wrap, and the helical pitch can all affect the angle 

between modules. From this, a design space was developed that limited combinations of parameters to 

Page 110: Design Space and Motion Development for a Pole Climbing ...

101  

values below a maximum range of motion that is determined by the designer. More design spaces were 

then created to satisfy other geometric and performance conditions that a design could limit for 

maximum number of modules per wrap, the amount of distance the robot climbs in a single roll, 

ensuring no physical interference due to a small helical pitch, and the maximum torque that the 

actuators could output. These are by no means the only performance metrics that could be used in this 

situation, and future work could add more design spaces that could account for power consumption, 

monetary costs, or other metrics. In addition, there were several assumptions made during the torque 

analysis that could be improved upon. Further investigation into the relationships between the motor 

torques and the contact forces would help improve the evaluation used in this work. 

The individual design spaces were combined to give an overall space which the designer can use as a 

tool to select acceptable sets of module dimensions and helical pitch for their needs. The work on the 

design space in this thesis is represented as a three‐dimensional volume with dimensions of module 

length, module radius, and helical pitch, but it could also be represented by other parameters. From the 

relationships shown in this work, a designer could create similar design spaces that are visually 

represented by other dimensions or parameters previously mentioned.  

The design space tool was used to develop the robot used for validation the motion tests for this work. 

During that process, it was found that the design space tool should only be used as a guide to help limit 

combinations of parameters that would give undesired results. The tool cannot be used to determine 

the exact best combination of parameters for a robot used in this way. Currently, the tool is used in an 

iterative method, where a design can fine tune the parameters on their own accord. Future work will 

apply optimization techniques to improve the process to further reduce the amount of guessing a 

designer needs to do.  

This work also gives the process for creating the rolling motion for climbing based on the robot 

parameters that a designer selects using the design tool. First, it was determined that modules need to 

be in a double cardian joint configuration to minimize any differences in rolling velocities between 

modules. Next, the forward kinematics were presented that give the relationships between the base of 

the pole and the endpoint of the   module. An inverse kinematic procedure is then used to determine 

the motor actuation angles required for a given set of module dimensions and a specified amount of 

rolling rotation. Even though most of the other work in this paper is for the specific case where the pole 

structure is limited, the inverse kinematic procedure is valid for any set of spatial endpoints that are at a 

distance of the module length from each other and keep the angle in between modules below the 90° limit. Future work will expand on this so that part of the robot can be performing the climbing motion, 

while other parts of the robot are used as a manipulator arm. 

The motion derived from the inverse kinematics has some very interesting properties. Firstly, it was 

found that the range of motion required by the motors never surpasses the maximum angle between 

modules as defined by the geometric relationships. Secondly, it was found that the motor actuation 

profiles between every other actuated universal joint are similar is shape and magnitude, but differ in 

phase. For the special case where the robot is in a donut shape, that phase offset is zero. The phase 

offset increases as the helical pitch increases. There is a possibility that future work could determine the 

Page 111: Design Space and Motion Development for a Pole Climbing ...

102  

amount of phase offset based on the helical pitch and module geometry. This could allow for the 

development of a more simplified approach for determine the motor actuation angles.  

Several tests were performed to validate the process demonstrated in this work. First, helical wrapping 

tests were performed that proved the process of deriving the motor actuation angles for a given set of 

module geometry. During these tests, it was found that there are some inconsistencies with the 

modules towards the end of the robot’s serpentine chain. These modules had difficulty conforming to 

the pole’s surface in the helical wraps. This was caused by the motors inability to provide a rigid enough 

structure for the robot due to the amount of torque they were limited to. Future work will implement 

either more powerful motors, or decrease the overall size of the robot to reduce its weight.  

Additionally, it was hard to measure the exact module radius that should be used to develop the motor 

roll values. Due to the compliance of the rubber outer skin material, an expected amount of 

compression will occur between the module and the pole. If the exact outer diameter of the rubber skin 

is used, there will be no force that will cause the robot to grip onto the pole. Instead, a slightly smaller 

module radius could be used so that the motors will actually compress the surface against the pole. 

Another solution for this would be to introduce a pressure sensor into the skin. By measuring the exact 

pressure between the module and the pole, an appropriate normal force can be exerted onto the pole. 

Control algorithms, like PID controllers, can create a feedback loop that will adjust the motor’s angle so 

that it can make contact with the pole.   

Next, tests were performed using a “donut” wrap configuration where there was no helical pitch. It was 

proven that the rolling motion performed as expected. The actuated universal joints were able to create 

a full body rolling motion that was used to control the rate at which the robot moved along the pole’s 

surface.  The tests shown in this thesis were for a vertical descent. Due to many of the inconsistencies 

already mentioned, a vertical climb was found to be problematic. Once a feedback controller is 

implemented, the robot will be able to give the appropriate amount of torque to each motor to hold the 

robots shape, as well as provide enough contact force onto the pole.  

Currently, a vertical, helical rolling test has not been successfully performed. With the current 

implementation there is no guarantee that the modules will exert enough normal force onto the pole to 

keep it in place. Unlike the donut roll case, where a spring applied extra normal force onto the pole, the 

helical case must rely only on the motors to get enough gripping force. Changing the method of how the 

joint angles based on feedback would be the first step towards ensuring contact with the pole is made at 

each point with an appropriate amount of gripping force. 

Aside from the physical implementation of the robot, the design space analysis was proven to provide 

results that can effectively guide a designer when choosing module configurations. Using the procedures 

presented in this thesis takes much of the guesswork out of the design process, and gives a much more 

appropriate starting point for a designer to work from.  

In addition, this thesis is among the first to present a method for controlling a series of actuated 

universal joints exclusively to produce a whole‐body rolling motion. Future work will relax some of the 

constraints presented so that more dynamic shapes can be made while climbing. The goal for doing this 

Page 112: Design Space and Motion Development for a Pole Climbing ...

103  

is making a robotic serpentine that will be able to climb pole‐like structures while simultaneously using a 

tool or manipulator on one of its end modules. While this goal is yet to be achieved, this work provides a 

solid foundation from which the development of pole‐climbing serpentine robots using actuated 

universal joints can be continued.   

Page 113: Design Space and Motion Development for a Pole Climbing ...

104  

8 Appendix A: Images of Constructed Prototype  

 

Figure 8.1: HyDRAS concet 2 with miter gears wrapped around a 4 inch pole    

Page 114: Design Space and Motion Development for a Pole Climbing ...

105  

 

Figure 8.2: Structure of HyDRAS version 2, with the acrylic body rings removed  

 

Figure 8.3: HyDRAS version 2 shown in a more common serpentine configuration

Page 115: Design Space and Motion Development for a Pole Climbing ...

106  

9 Appendix B: Simulation Code  

(Note that all code is original and created by the author in Mathematica.) 

 

Page 116: Design Space and Motion Development for a Pole Climbing ...

107  

 

   

Page 117: Design Space and Motion Development for a Pole Climbing ...

108  

 

   

Page 118: Design Space and Motion Development for a Pole Climbing ...

109  

 

   

Page 119: Design Space and Motion Development for a Pole Climbing ...

110  

 

   

Page 120: Design Space and Motion Development for a Pole Climbing ...

111  

 

   

Page 121: Design Space and Motion Development for a Pole Climbing ...

112  

 

Page 122: Design Space and Motion Development for a Pole Climbing ...

113  

10 Works Cited  

Bureau of Labor Statistics. (2007). National Census of Fatal Occupational Injuries. Washington, D.C.: 

United States Department of Labor. 

Choset, H., & Burdick, J. (1996). Sensor Based Motion Planning: The Hierarchical Generalized Voronoi 

Graph. In J.‐P. Laumond, & M. H. Overmars, Algorithms for RObotic Motion and Manipulation: 1996 

Workshop on the Algorihmic Foundations of Robotics (pp. 47‐61). A K Peters, Ltd. 

Choset, H., Knepper, R., Flasher, J., Walker, S., Alford, A., Jackson, D., et al. (May 1999). Path Planning 

and Control for AERCam, a Free‐flying Inspection Robot in Space. Proceedings of the 1999 IEEE 

International Conference on Robotics and Automation. Detroit, Michigan. 

Dowling, K. (1998). Limbless Locomotion: Learning to Crawl With a Snake Robot. PhD. dissertation, 

Carnegie Mellon University, Robotics Institute, Pittsburgh. 

Gray, J., & Lissmann, H. W. (1949). The Kinematics of Locomotion of the Grass‐Snake. The Journal of 

Experimental Biology , 354‐367. 

Jayne, B. C. (1988). Muscular Mechanisms of Snake Locomotion: an Electromyographic Study of the 

Sidewinding and Concertina Modes of Crotalus Cerastes, Nerodia Fasciata and Elaphe Obsoleta. J. exp 

Biol. , 1‐33. 

Lodder, C. (1983). Russian Constructivism. Yale University Press. 

National Institute for Occupational Health. (2001, October). Suggested Guidance for Supervisors at 

Disaster Rescue Sites. Center for Disease Control. 

Shan, Y., & Koren, Y. (1993). Design and Motion Planning of a Mechanical Snake. IEEE Transactions on 

Systems, Man, and Cybernetics Vol. 23, No. 4, July/August 1993, (pp. 1091‐1100). 

Socha, J. J., & LaBarbera, M. (2005). Effects of Size and Behavior on Aerial Performance of Two Species 

of Flying Snakes (Chrysopelea). The Journal of Experimental Bilogy 208 , 1835‐1847. 

Walton, M., Jayne, B., & Bennett, A. (1990, August 3). The Energetic Cost of Limbless Locomotion. 

Science , pp. 524‐527.