PerformanceRock Hybrid Climbing Walls | Rock Climbing Wall Design
Design Space and Motion Development for a Pole Climbing ...
Transcript of 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
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.
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.
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
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
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
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
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.
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
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
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
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.
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)
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).
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
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.
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
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.
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/)
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.
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.
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}
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
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)
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.
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.
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)
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.
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.
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)
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
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)
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
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.
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, .
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, , .
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.
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.
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.
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.
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 ,
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)
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)
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)
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.
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
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.
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
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: LowG
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
s
be
rable
erall
so
n be
ty the
n
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
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.
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
climbing s
moving st
F
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
e
is
in
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.
Figur
re 3.29: Exammple configura
ation from with
46
hin the combiined conditionn design space shown in 3.299
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.
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.
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
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.
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)
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.
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
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.
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)
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
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.
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.
59
Figure 4.10: Relationship between , and for varying helical pitches,
Figure 4.11: Relationship between , and for varying helical pitches,
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 �
61
Figure 4.13: Relationship between , and for varying module length, L
Figure 4.14: Relationship between , and for varying module length, L
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
63
Figure 4.16: Relationship between , and for varying module radius, rm
Figure 4.17: Relationship between , and for varying module radius, rm
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
65
Figure 4.19: Relationship between , and for varying pole radius, rp
Figure 4.20: Relationship between , and for varying pole radius, rp
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
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
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.
69
Figure 4.4.24: Resulting motor rotation angles for for varying pitch angles from °
70
Figure 4.25: Resulting motor rotation angles for for varying pitch angles from °
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.
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
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
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.
75
4.30: Simulation results for the minimum helical pitch case for module and pole geometry ,, . for roll angles of
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°.
77
4.32: Simulation results for helical pitch ° case for module and pole geometry , , . for roll angles of
78
4.33: Simulation results for helical pitch ° case for module and pole geometry , , . for roll angles of
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,
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
o
Link
this
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
W
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
3
0.5
1.5
0
1
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
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.
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.
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.
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
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).
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)
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
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.
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.
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
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
d
gidly.
ir
as
e
y. In
op
dules,
rque
the
e to
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)
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
e
ly
ted
s
t the
he
robot
ing
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)
5
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
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
s
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
L
N
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
6
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
e
y
g
m the
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.
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.
99
Figure 6.10: Donut roll test using the parameters shown in table 6.5.
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
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
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
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.
104
8 Appendix A: Images of Constructed Prototype
Figure 8.1: HyDRAS concet 2 with miter gears wrapped around a 4 inch pole
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
106
9 Appendix B: Simulation Code
(Note that all code is original and created by the author in Mathematica.)
107
108
109
110
111
112
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.