Anda di halaman 1dari 39

Proposal for a Modular Snake Robot

Brad Oraw & Jeremy Tinder

Computer Science and Computer Engineering Pacic Lutheran University

Submitted to: Tosh Kakar December 13, 2003

List of Acronyms
Active Cord Mechanism Gesellschaft fr Mathematik und Datenverarbeitung mbH Bonn (literally: Society for Mathematics and Data Processing) PBP Peripheral Bus Protocol PWM Pulse Width Modulation SCP Servo Controller Protocol SCU Servo Control Unit ACM GMD

Contents
1 Introduction 2 Problem Statement 3 Background 3.1 Body Structure . . . . . . 3.2 Gaits . . . . . . . . . . . . 3.2.1 Lateral Undulation 3.2.2 Concertina . . . . . 3.2.3 Side Winding . . . 3.3 Snake-Like Robots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 6 6 7 7 7 8 9 11 11 12 12 12 13 13 17 17 19 20 20 21 21 21 22 23 24 26 26 28

4 Objectives 4.1 Functional Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Learning Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Specications 5.1 Mechanical . . . . . . 5.1.1 Materials . . . 5.1.2 Body Segments 5.2 Electrical . . . . . . . 5.3 Propulsion System . . 5.4 Intelligence . . . . . . 5.5 Peripherals . . . . . . 5.5.1 Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6 Strategy 6.1 Alternate Solutions . . . . 6.1.1 Physical Design . . 6.1.2 Servo Control Unit 6.2 CPU: The Brain . . . . . 7 Plan of Action 8 Results 9 Work Accomplished 10 Budget

11 Personnel References Appendices A Cross Section Diagrams B Servo Specications C Microcontroller Comparison D System Diagram E Schedule

28 30 32 32 34 36 37 38

Introduction

In an eort to relieve the burden of time consuming activities, a versatile robot is required to follow in mans footsteps. Commonly, robotic vehicles use a wheel and axle propulsion system, but this is often debilitating when traveling on variable terrain. For instance, wheel-based propulsion system must be specically designed to ascend steps. It is virtually impossible for them to climb ladders. Successful propulsion systems are often similar to motion methods of animals. Legs are the most common method but are dicult and inecient to reproduce mechanically. The more simple and often overlooked sinusoidal motion of a snake is a less obvious solution, but has tremendous advantages when navigating variable terrain. Snakes can use their entire body for propulsion, creating a larger surface area and providing greater traction. Their low center of gravity creates stability, lacking in legged and wheeled systems. The body structure can also be modeled as a series of independently controlled joints, each having many degrees of freedom. These freedoms allow the snake to raise body sections over obstacles and to create leverage for itself. Using leverage, the snake could elevate above or onto a step or obstruction, a feat that would be dicult if not impossible using wheeled propulsion. In order to acquire these advantages, a snake-like robot that resembles and behaves like a real snake will be presented. This robot will be the rst step towards creating a versatile platform that will be capable of traversing variable terrain like humans.

Problem Statement

Snake-like locomotion is a less common method of locomotion but is superior when operating in variable terrains. Accurate biological mimicry is necessary to capture the benets of snake-like mobility. Intelligence is also of particular importance and is largely a function of sensory components. Reaction to environment changes is contingent on the senory feedback. Most importantly, the processing of and response to this feedback is crucial; thus, control design and implementation will be the main factor in the performance of the robot.

Background

Often overlooked, snake-like robots possess many desirable traits such as stability and adaptability. In recent years snake-like robot development has grown with the growth of knowledge about biological snakes. Mimicking the biological system, greater knowledge facilitates more accurate and ecient robotic systems. Insight increases leading to more controllable designs by modeling body structure and movements of the biological snake. History has shown that robotic systems have dominantly used wheeled,tracked, or legged propulsion methods in order to achieve mobility. Given the method of propulsion, there exist certain handicaps and debilitating fundaments inherent to the chosen method. Wheeled vehicles can easily have their mobility restricted when traveling across uneven terrain. Legged vehicles sacrice stability due to their elevated center of mass. Novel mobility schemes are abundant in the living realm; hence, designers often replicate these methods in robotic system to successful ends. The key to success is the understanding of the target biological system. It is important to understand the interaction between structure and function.

3.1

Body Structure

The biological snake has an omni-body that articulates at joints formed between vertebrae. Ribs extend downward on both sides of each vertebra and are spaced so they dont collide as the vertebrae joints bend. This spacing determines the range the joint can bend.

Figure 1: Snake Skeletal Structure

Snakes lack appendages simplifying their body structure. It has a low center of mass since its body stays in close contact with the ground. This creates more stability since the snake cannot fall over while moving like walking animals. The constant contact with the ground provides excellent traction. In combination with body positioning and the grip from traction, the snake can propel forward by cyclically changing its body position and manipulating its contact with the ground. The snake obtains mobility by repeatedly altering its body shape. Motion patterns form by repeating certain shapes called gaits, a term borrowed from legged motion, identifying a certain alternating pattern.

3.2

Gaits

Biological snakes utilize several dierent gaits, lateral undulation, concertina, and side winding, among others. Manipulating its body shape and deformation, a snake is able to achieve directional mobility. 3.2.1 Lateral Undulation

Commonly used by biological snakes, the lateral undulation gait produces propulsion, by simultaneously moving body sections. The sections continuously move from side to side perpendicular to the direction of forward motion. This oscillation, as a directional vector has both a tangential and a normal component relative to the forward direction. The lateral, side-to-side, direction is dened as normal to the forward direction. By assigning a positive, conventional direction to one side and a negative direction to the other, the net result of the lateral oscillation cancels the normal force. The tangential components for both sides are in the same direction, parallel to the direction of forward motion. The tangential force created by these components drive the body forward. The motion requires three points of contact. Two points for forward pressure and a third for balance. Dependent on sliding friction, lateral undulation is not successful on low-friction surfaces. Also, the motion is less eective with shorter body lengths and heavy bodies. [8] 3.2.2 Concertina

Unlike the continuous, simultaneous body movements in lateral undulation, the concertina gait uses a progressive, body extension pattern. The body starts compressed, folded in a posture similar to an accordion. Extending a front section, the snake reaches forward a distance, while the back sections remain stationary. The stationary sections provide a foundation for the moving section. The moving sections use the foundation for leverage to extend forward. The extension is undone, as the snake begins to refold its body, by drawing its back section forward. In this phase the 7

Figure 2: Lateral Undulation Motion front section acts as the foundation, while the back section is in motion. The pattern results in a series, alternating between pushing against a back foundation and pulling against a front foundation. Static friction is the key; thus, this gait is more useful on low-friction surfaces.

Figure 3: Concertina Motion

3.2.3

Side Winding

Most useful on low-friction surfaces, the side-winding gait utilizes continuous waves of lateral bending. Only two points of contact are maintained with the ground. The segments not in contact with the surface are lifted and move to the side. They then become the new contact points. The previous contact point is then lifted and moved. Repeating this pattern, the snake moves in a direction to its side. Since sections must be lifted, the snake moves in both horizontal and vertical planes. Lateral undulation and concertina only necessitate horizontal mobility; thus, the side-winding 8

gait requires more complex muscular and skeletal structures to facilitate the two degrees of freedom.

Figure 4: Side Winding Motion

3.3

Snake-Like Robots

Robotic automation is very desirable in industrial sectors where repetitive tasks are common. Numerous robotic arms, refered to as manipulators, have been developed for assembly lines and precision processes. These arms are usually multi-link actuating devices, very similar to a biological snakes structure. Mutating the manipulator by freeing it from its stationary base, the snake-like robot emerges. The freed manipulator resembled a snake, but for it to act like a snake, research was needed to investigate the motion of biological snakes. Beginning with the work of Shiego Hirose and his Active Cord Mechanisms (ACM) in the 1970s, the modeling and biological mimicry advanced with the development of systems like ACM shown in Figure 5. Hirose developed his description of an eective, later undulation gait, with his formulation of the serpenoid curve. [10]

Figure 5: Hiroses ACM III Tracing a serpenoid curve requires sinusoidal actuation. A pure sine curve produces distorted sinusoidal actuation. This distortion is unnatural and hard to control. Using the serpenoid curve, the body shape changes smoothly. 9

From his research in biological snakes Hirose discovered that motion was more than a two-dimensional problem. The points of contact vary as body section are sequentially lifted, making the motion more ecient by reducing some of the counterproductive drag friction. Accurate mimicry required the mobility in a vertical direction. Hiroses work revolved around control theory; his initial work was extended, as he developed independently controlled actuators. On each actuating joint sensors supplied feedback about the joints angular position. Each actuator could respond to overall motion plan by referencing the angle feedback, which was closely related to the amplitude, wavelength, and velocity for the serpenoid curve. The ACM project established a sound theoretical basis for serpentine robotics. Unfortunately, the ACM only possessed a lateral undulation gait, which is not eective in all environments. It may be required that the robot move around an obstacle in a small turning radius. Using continuous curves to achieve these small radii may not be physically possible to form with rigid body links. Geogory Chirikjian investigated serpentine control with a geometrical approach to motion planning, by parameterizing curve tting. [4] Burdick and Jim Ostrowski further developed motion planning using geometric mechanics. [12] In recent years, Howie Choset at Carnegie Mellon University has fueled the snake robot frontier. His work in motion planning has fortied the area of sensor based planning. [6] Karl Paaps GMD robot [13] took a novel approach to mechanical design. Paap used a exible compression joint actuated by winding and unwinding a wire about a motorized shaft that was placed in the middle of the joint(Figure 6). This approach enhanced the biological accuracy, as it increased the smoothness of the body, by decreasing the discontinuities in motion shapes. Fixed length rigid links, like those in Hiroses ACM, are less snake-like.

Figure 6: GMD Robotic Snake Still, rigid-link, snake robots have experienced success. Mark Yims Polybot [17] and later Gary Haiths Snakebot [9]have used rigid-links to develop serpentine robots in NASA projects. Kevin Dowling also developed a similar robot. These designed deviated from Hiroses ACM in that Polybot and Snakebot have two degrees of freedom, obtained by connecting a laterally actuating joint orthogonal to a ventrally actuating joint. Though another degree of freedom was added, this increase in biological 10

accuracy was overshadowed by the increase in rigidity. The robots have full ranges of motion but produces awkard, nonsmooth gaits. Gavin Miller developed several snake-like robots, which improved biological accuracy. [11] Miller used a compound, acuating joint, where a single joint can move in 2 degrees of freedom. This was accomplished by combining two acutuators working together to produce a lateral bend and against each other to create a ventral bend. Merging the degrees of acuation, the discontinuity was decrease, making the robot more snake-like. The prior work in snake-like robotics has established a useful theoretical basis. We seek to assemble these theories in a novel design. The design will include functionality for multiple controllable gaits and intelligent motion planning. These must be achieved using a body structure accurate to that of a biological snake in true fashion of biological mimicry.

Objectives

Our main objective is to construct a twelve segment snake robot. The robot will be able to move in three dimension. This nonplanar mobility allows it to negotiate both around and over obstacles. A self contained intelligence system will be carried onboard the robot. The intelligence will be capable of guiding the snake through a variable environment. Power will be supplied externally.

4.1

Functional Objectives

Our functional objectives are as follows: 1. First Prototype Intelligence Develop Basic Central Brain Module I/O Interfaces with Brain Peripheral Devices (Sensor Modules) Collision Detection Module Servo Controllers Communication Protocols with Brain Peripheral Bus Protocol (PBP) Servo Controller Protocol (SCP) Mechanics and Construction Develop a theoretical model Construct a functioning prototype 11

2.

Second Prototype Intelligence I/O Interfaces with Brain Add Tracking Module Motion Algorithms Add vertical sinusoidal motion Enhance collision avoidance algorithm with vertical motion

4.2

Learning Objectives

Our learning objectives are as follows: Become procient with several instruction sets Become familiar with microcontroller devies Program microcontrollers Investigate auxilliary features (timers, special functions, etc.) Interact with memory Use interrupts Develop Communication system Handle multiple instructions simultaneously Master serial communication Increase Control Theory Knowledge Utilize sensors for feedback Analize system timing and response Control servos using PWM

Specications

There are a couple of solutions that would be sucient to accomplish our objectives. We are actively testing a couple of designs. Please refer to the Alternative Solutions section located in this document for further information.

5.1

Mechanical

The design presented here is modeled after Gavin Millers S3 prototype.[11] In his design of S3, Miller placed the universal joint at the top of each cross section. Our 12

design alters this location and puts the universal joint at the bottom of each cross section. With the joint in this position, the center of gravity is lowered, increasing stability. The design has cross sections that simulate snake vertebrae. The length of the cross sections run perpendicular to the length of the snake with a servo motor mounted on either side. A lateral servo arm is attached to the servo and a connecting rod. The connecting rod is attached to a cross section closest to that servo. The servo will then push and pull the connecting rod to turn or lift itself. Two servos across from a joint will work together to turn or lift the joint. In turning, one servo pushes its connecting rod while the other pulls its connecting rod. To lift, both servos pull their connecting rods together. Both servos push their connecting rods to push the joint down. While the motion between two segments is subtle, it becomes exaggerated when combined with several pairs of segments. 5.1.1 Materials

The materials used in this design are selected based on their availability and simplicity to manufacture. The cross sections are made out of 1 inch plywood. This is a slightly 4 heavier material but is easily obtained and can be molded into a sucient design quickly. The universal joints are the joints that connect two cross sections together. They are manufactured out of plastic which is easily obtained, lightweight, and fairly cheap. These joints will be sucient since they will not be overly stressed. The connecting rods are made out of thin steel. These are strong and will work well under the pressures of lifting and turning. In order to create a lateral undulation motion on the oor, less friction is required in the direction of forward motion. If friction is uniform in all directions, the snake will not move forward, but will instead wiggle in place. In order to overcome this limitation, this design incorporates wheels. Using rubber wheels creates a very small coecient of friction in the forward direction while exerting a large coecient of friction in lateral directions. This will allow the snake to push to the sides to propel itself forward. 5.1.2 Body Segments

In order to maximize the mobility of the snake it is desirable to obtain a high degree of movement in each direction. This requires every individual segment to have a high degree of movement. Putting several segments together increase our exibility even more. Designing around one segment, forty-ve degrees of movement should be sucient for the snake to follow a sinusoidal wave. In order to turn each segment 45o in one direction, each segment is going to have to be far enough apart to keep from touching. Looking at Figure 7, it is easy to see 13

that the servos are going to be the rst components to collide when turning. Thus, it is necessary to nd the minimum required distance between the servos.

Figure 7: Top view of snake section. Solving for X. cos 22.5 = x= x 2

2 cos 22.5 = .828 1cm

Therefore the servos need to be 2 cm apart. The width of each servo is 2 cm, therefore the distance, L, between each cross section is 6 cm. It is not enough to assume that this distance is sucient for the entire design. The minimum required distance for each section to move 45o in the vertical plane must now be calculated. Figure 8 shows the relationship between the two servos and the universal joint. is the distance between the center of the universal joint and the edge of the servo.

14

Figure 8: Model of vertical collison

4.5 4.5 tan 22.5 = 1.86cm = L =2+ 2 = 3.86 tan 22.5 = Therefore, the distance L between each cross section is 7.72 cm 8 cm. Thus the total distance required between each cross section to turn 45o horizontally as well as vertically is 8cm. Now that the physical dimensions of the snake are dened to move 45o in every direction, it needs to be veried that standard servo arms that comes with the servos will be long enough to push and pull the segments 45o . Following Figure 9 and solving for we have

2 = 4.52 + 42 2 = 36.25 6

15

Figure 9: Wire Model of Movement around the universal joint marked by pt O.

Finding d yields d sin 22.5 = d 2.296 = d sin 22.5 = Since it is already known that the length of the servo arms are 2 cm, we can nd out how far these servo arms will pull an adjacent cross section. If this distance is greater than 2.296 cm then the servo arms are long enough; otherwise, longer servo arms will be required. Let s = 2 cm x=1+s c = 7 cm

16

Then x 1+s = c c 1+s = arcsin c o = 25.377 Solving for d x tan = d + 10 x 10 d = tan x d = 10 tan = 3.6753 cm sin = A servo arm of length 2 cm is more than long enough to pull up the segment 45o . Figures 10, and 11 dene the characteristics of the snake body.

5.2

Electrical

The electrical system of the snake is composed of three parts; the CPU, the peripherals, and the propulsion system. A block diagram of the system is shown in Figure 20 which is located in the appendix D. The snake will be powered by an external power supply. This design was pursued for budget reasons as well as to allow more time to be spent researching locomotion. The entire snake, including the propulsion system will operate on 5 volts of electricity and require over 12 amps of current.

5.3

Propulsion System

The propulsion system of the snake is composed of twenty-four servo motors. Servo motors were used since they oer precise movements. Servos have built in feed back circuitry that ensures the motor is in the correct position. The servo motors are pushing and pulling connecting rods meticulous lengths inorder to manipulate the body of the snake making precision and feedback key to their selection. Servos are controlled using Pulse Width Modulation(PWM) which is easily implemented. To move the servo, a pulse is sent to the servo through the data line. The servo then moves to the desired position based on the width of that pulse. There are three dierent types and two dierent sizes of servos in the body of the snake. The most powerful servos are located in the midsection of the snake while the 17

Figure 10: Top View of Cross Section

Figure 11: Schematic Diagram of Snake Dimensions smaller motors are located near the head or tail of the snake. This resembles a snake more closely and should be more ecient. The three types of servos are the HS-422, HS-425BB, and the HS-475HB, all of which are shown in Table 18 of Appendix B. All of these servos have the same dimensions as shown in Figure 17 of Appendix B. This makes the design of the snake easier since each section will not have to be customized to t each type of servo. The smallest servos are the HS-422 and HS-425BB servos. The HS-422 servos were obtained prior to the start of this project and were implement in the endeavor to reduce the overall cost of the project. The HS-422 and the HS-425 output an 18

estimated 3.43 kg*cm of torque at 5v. The dierence between these servos is that the HS-422 has a Dual Oilite Bushing for a bearing and the HS-425BB has Dual Ball Bearings. The Ball Bearings are more robust and will last longer under high stress. The larger servos(HS-475HB) output an estimated 4.57 kg*cm at 5v. This increase in torque will be harnessed by the midsection of the snake where stress will be the greatest for lifting. At no load, each one of the servos draws 180ma at 6 volts. Since there are 24 servos, the total current drain is 4.32 amps. The total power at no load is then 21.6 watts. After testing one HS-422 servo with a full load, it pulled close to one half amps of current. Expanding this to the entire system of 24 servos yeilds 12 amps of current. Every servo will be paired with a servo of similar type, meaning, all HS-475HB servos will be paired with HS-475HB servos. This will help eliminate the problem of servos working counter productively against each other. The pair of servos will be connected across a universal joint where they will work together to turn the joint. The twenty-four servos will be controlled by six Servo Control Units(SCU). Each one will control four servos independently. The servo control units will be placed in the body of the snake. For example, the rst SCU will be placed in the rst body segment after the head while the second servo controller will be placed in the fth body segment. The SCU will be located on top of the servo motors in each body segment. The Servo Control Unit will be implemented with the PIC16F818. This PIC has a PWM function built into the hardware. Using this function simplies the programming needed to control the servos.1 This PIC has only one PWM module on it so it is only capable of controlling one servo at a time. This is sucient for our design since the pulse length will only be 3 ms long in the worst case. The refresh rate of the servos is around 50 cycles per second, thus alowing one SCU to eciently control up to four servos. The six Servo Control Units will be directly connected to the CPU. The use of SCUs hide the physical implementation of the servos from the CPU thus freeing the CPU to do other things. All the CPU is required to do is update the positions of the servos. The SCU actually implements those commands.

5.4

Intelligence

The intelligence on this snake is designed to be expandable and is entirely onboard and self supporting. The CPU of the snake is a PIC16F876.2 This is a powerful, but
1 2

Please refer to the Alternative Solutions section more solutions of a Servo Control Unit. Please see the Alternate Solutions Section for other solutions for CPUs.

19

inexpensive microprocessor. This microprocessor executes ve million instructions per second and can store up to 8k bytes of instructions on its ash memory. 3 The CPU is programmed with very basic moving algorithms. These algorithms include turning, climbing over an obstacle, and sliding down an obstacle. The movement of the snake will be controlled by a sine function. This sine wave will be propagated down the length of the snake to propel it forward. The CPU will have the capability of manipulating the basic parameters of the sine wave to change the snakes default cyclic motion. These parameters include the amplitude, wavelength, and speed of the wave. The CPU will not directly change these values. The CPU will be instructed by its peripherals to change the wave.

5.5

Peripherals

The peripherals of the system are add-on sensors. These sensors can be added or removed from the system easily without reprogramming the system. To implement this approach, the sensors need to be placed inside modules that interpret the data from the sensors and translate that information into data that the brain can understand. With this, any number of sensors can be supplemented to the design creating a modular robot that is exible and expandable. The strength of this design relies in the idea that the snake is only as smart as the peripherals supporting it. 5.5.1 Modules

In order to create a modular system, excellent communication needs to exist between the peripherals and the brain. The Peripheral Bus Protocol(PBP) denes this communication. The PBP has not been implemented but it will dene how data is shared between the CPU, the peripheral interface, and the peripheral bus. The PBP will also dene the hardware required for each peripheral module. Electronic sensors have dierent analog and digital communication schemes. In order to add new peripherals to the system, the peripheral module will have to convert the data from its sensor into data that the brain will understand. In order to add a sensor to the snake, the sensor module will have to abide by the communication scheme put forth in the PBP. Following the rules in this protocol is the only way for foreign peripherals to communicate with the brain. Every module that is added to the system will be added to a peripheral bus that is connected to an interface. When a peripheral wants to communicate with the brain, it will send out an interrupt to the interface. The interface will then rate all the interrupts by their priority and give them one-by-one to the brain. Once a peripheral
3

Look at Table 19 for more information.

20

gets the opportunity to communicate with the brain, it tells the brain its information and the brain processes that information and acts accordingly.

Strategy

The design of this project is being implemented through the creation and enhancement of prototypes. We plan to create a very simple functioning snake and continuously add to that prototype. The rst task to accomplish is to construct a functioning prototype without any electronics onboard. This prototype will tell us how good our physical design is and what needs to be changed. After the changes are made to the design, prototype 1a, a fully functional prototype, will be created. This prototype will not have any intelligence on it. It will be limited to the movement of only one direction. From this prototype, one infra-red collision module will be developed and added. Then the collision avoidance technology will be programming into the brain completing prototype 1. For the second prototype, the vertical climbing motion will be developed and implemented. Once this is successfully completed, the collision avoidance will then be enhanced to take advantage of the snakes new capabilities.

6.1
6.1.1

Alternate Solutions
Physical Design

Alternate solutions to the physical design are being considered. Currently, there are two popular physical designs that could be implemented for this project. The rst is similar to Kevin Dowlings design shown in Figure 12. As shown in the picture, two servomotors are placed in series orthogonal to one another. This design allows the snake to move in two dimensions of motion. The advantage of this design is that it provides 180o of motion with little cost in the materials. The downfall of this design is that it does not implement the framework of a real snake. A real snake in the wild has between 100 and 400 vertebrae. This means that each vertebrae is very small. By implementing this design, one segment would represent several vertebrae and would not accurately model a snake. Not only does this design not accurately model a biological snake, it is more clumsy since each joint is longer. The focus of this project is to implement a snake robot that closely resembles a snake. The design developed by Dr. Miller, shown in Figures 10 is more appealing for our purpose for a couple of reasons. Firstly, the length of each section is smaller, adding agility to it since it has more pivot points along its length. This design is also balanced better than the other design and will provide better stability. This is because the center of gravity is located near the center of each cross section. This 21

Figure 12: Orthogonal Joint Described by Dowling

design also provides more power for moving the snake since it uses two servos to move every joint rather than one. Dierent variations of this design are being considered. In the original design, Dr. Miller places the universal joint at the top of each cross section. Our design has moved that universal joint to the bottom of each cross section. This is done in an eort to lower the center of gravity. When the physical prototype is developed, it will be tested to determine if this move was benecial. 6.1.2 Servo Control Unit

There are several solutions to our SCU problem. One solution is to buy a servo controller device that is designed and manufactured for the purpose of controlling servos. While this solution is simple and easy to implement, it costs money. The implementation of this design already costs a lot of money and in an eort to keep the cost to a minimum this solution was discarded. Implementing the SCU with a PIC micro controller is a much more cost ecient solution since free samples can be acquired from microchip. Although this means that a servo control algorithm needs to be developed, the cost savings are worth the eort. There are several PICs capable of doing PWM. The most simple PIC, PIC16F84A, can be programmed with interrupts to control servos. This solution is a very crude and direct solution, but can theoretically be done. A better solution is to use a PIC with a built in PWM module. This module is designed to output a pulse of a certain width. Our implementation uses this solution over others to simplify our design. The PIC16F818 is used as the Servo Control Unit and will control four dierent servos in 22

a round robin fashion.

6.2

CPU: The Brain

The Brain provides all intelligence, commanding the attached devices. It has many resposibilities, communicating with the servo controllers and peripherals and guiding the robots motion. These task require a sophisticated CPU, still the instruction set architecture need not be too complex. A PIC device would satisfy these requirements, but writing the intelligence in assembly language would be inecient. A Basic Stamp would be a better choice, since it can be programmed using PBASIC. The Bassic Stamp has available useful instructions, such as pulse width modulation, serial I/O, and even a Sine function, but it lacks interrupts and is not very fast, processing at 4,000 instructions per second. Alternatively, the PIC16F876 is a powerful device capable of 5MIPS and is considerably less expensive than the Basic Stamp. (We obtain free samples courtesy of MicrochipTM ) A comparison is outlined in Table 19 of Appendix C. PIC Basic and C compilers and assemblers are avaible of the PIC device; thus, using these higher level language will allow for more time to be spent designing algorithms and less time writing the code to implement them. Hence, the PIC16F876 is the most suitable device for the Brain.

23

Plan of Action

The following is a list of all the tasks required to carry out our strategy.

Task#

Task Name

Indiv. Resp.

Start Date

Finish Date

Hardware Research 1 Find adaquate PICs for SCU 2 Find adaquate interfaces 3 Research possible CPUs 4 Sensors Mechanical Research 5 Analyze biological Structure 6 Research prior Solutions 7 Analyze building materials Motion Research 8 Study Biological Movements 9 Analyze prior Solutions 10 Develop Mathematical models 11 -Movement functions Design 12 Mechanical Design 13 -Create Structural Model 14 -Build physical prototype 15 Electrical Design 16 -Specify Hardware Components 17 Create Block Diagram 18 Software Design 19 SCP Alg 20 SCU 21 SCI 22 Create PBP Alg/Flow Charts 23 Peripheral Modules 24 Peripheral Interface 25 Brain 26 Motion Alg 27 I/O Implementation 28 Prototype 1a 29 Program SCU 30 Program SCI 31 Program Brain 32 Horizontal Mode 33 SC Communication 34 Prototype 1b 35 Program PI 36 IR Prox Mod 37 Program Brain 38 Peripheral Comm 39 Collision Avoidance 40 Prototype 2 41 Program Brain 42 Add Vertical Mode 43 Collision Avoidance Cleanup 44 Write nal paper 45 Create nal presentation

Brad/Jeremy Brad/Jeremy Brad/Jeremy Brad/Jeremy Jeremy Jeremy Jeremy Brad Brad Brad Brad

9/1/2003 9/1/2003 9/1/2003 9/1/2003 10/1/2003 10/1/2003 10/16/2003 10/1/2003 10/1/2003 10/16/2003 10/16/2003 10/20/2003 10/20/2003 11/4/2003 11/3/2003 11/3/2003 11/3/2003 11/3/2003 11/3/2003 11/3/2003 11/3/2003 11/3/2003 11/3/2003 11/3/2003 11/17/2003 11/17/2003 11/17/2003 12/1/2003 12/1/2003 12/1/2003 12/1/2003 12/1/2003 12/1/2003 1/1/2004 1/1/2004 1/1/2004 1/14/2004 1/14/2004 1/14/2004 2/1/2004 2/1/2004 2/1/2003 2/1/2003

10/14/2003 10/14/2003 10/14/2003 10/14/2003 10/31/2003 10/15/2003 11/3/2003 10/31/2003 10/15/2003 11/3/2003 11/3/2003 12/1/2003 11/3/2003 11/18/2003 12/1/2003 11/3/2003 11/3/2003 12/1/2003 11/10/2003 11/10/2003 11/10/2003 11/17/2003 11/17/2003 11/17/2003 12/1/2003 12/1/2003 12/1/2003 1/1/2004 12/30/2003 12/30/2003 12/30/2003 12/30/2003 12/30/2003 1/30/2004 1/13/2004 1/13/2004 2/1/2004 2/1/2004 2/1/2004 3/1/2004 3/1/2004 3/1/2004 3/1/2003

Jeremy Jeremy Brad/Jeremy Jeremy Brad/Jeremy Jeremy Jeremy Brad/Jeremy Brad Brad Brad Jeremy

Jeremy Jeremy Brad Brad Brad Jeremy Brad Brad Jeremy

Jeremy Brad Brad/Jeremy Brad/Jeremy

24

25

Results

At the completion of Prototype 2, this project will have met both the functional and learning objectives specied in section 4. Prototype 1 will exhibit basic functionality. It will possess mobility in a horizontal plane. Lateral undulation will be the primary gait and expected to be the sole motion pattern. It will have only a rudimentary collision avoidance capacity, using an infrared proximity detector. We will require that only that it be able to recognize an obstacle, turn, and continue on a path free of the obstruction. No optimality or advanced intelligence will be expected. Standardized communication protocols will be implemented in Prototype 1. The Servo Controller Protocol will be part of Prototype 1a. The protocol will specify the format in which data is exchanged between the brain and the Servo Controllers. Prototype 1b will support the Peripheral Bus Protocol (PBP), which standardizes communication between peripheral devices and the brain. The infrared proximity detector, a peripheral device, will implement the PBP. Prototype 2 will expand the rst prototype, adding mobility in a vertical plane. Other gaits such as side winding will be implemented using the 2 degrees of freedom (2-DOF), obtained from the mobility in two orthogonal planes. This increase in mobility will also provide increased capacity for collision avoidance, as control and intelligence can respond more eectively within 2-DOF. Instead of simply turning away from an obstacle, Prototype 2 will also be able to perform a side step around the obstacle or perform a vertical scan. The vertical scan will observe the obstruction, checking its height. If the height of the obstacle is low enough, Prototype 2 will try to climb over the obstruction. Obstacles that are more than a 1/4 body length in height are too tall for climbing. If the obstacle is too tall or a single side step does not clear the obstruction, Prototype 2 will turn, and continue in a new direction, just as Prototype 1 would do. Both prototypes will be placed in environments with obstacles. Their behavior and reactions will be noted, and particular attention will be directed at paths and timing. Plots of the path data will be constructed and analyzed. Analysis should provide insight in to eciency of path planning, indicating the level of intelligence of the robot. Timing data will be used to calculate performance and response. Improvements can be made based on these analyses.

Work Accomplished

As described in the Strategy section and outlined in the Project Schedule in the Appendix E, we are currently collecting research materials. This phase will be completed at the end of October, when we begin the main design phase. This phase will be one of many design phases throughout this project, but this one will focus on initial de26

Figure 13: Experimental Snake-Like Robot built from kit by Robix

sign work, developing mechanical and electrical building blocks that will be used in all prototypes. In the summer of 2003 preliminary experimenting began, which explored logistics of snake-like robotics. A crude snake-like device was constructed similar to Figure 13. It was built from a robotics kit supplied by Robix. [15] The device consisted of six hobby RC servo motors connected together by rigid arms. One end of the arm was attached to the drive shaft of a servo, and the other end attached to the case of another servo. The servo served as the actuator, forming a joint. Several testing programs were written and executed on the robot. Basic lateral undulation was attempted, producing minor mobility. The robot slid on the bottom of the servo cases, creating uniform friction in all direction, so there was tremendous loss in the motion, as it slowly crept forward. We speculated that passive, xed wheels would increase the lateral traction, allowing the robot to push against this traction and propel itself forward. More actuating links would produce a smoother motion, since the six links produced an awkward gait. A vertical undulating gait was also attempted, which resulted in greater success. The robot seemed less awkward, using more static friction in its motion. The robot could almost climb a step, a promising outcome. This experience fueled our excitement, leading to the specication of the Modular Snake Robot project. A snake-like robot that could surmount uneven terrain was alluring; thus, it was chosen as a goal. We have also experimented with servo controllers and pulse width modulation (PWM), writing algorithms and programing PIC microcontrollers. Testing the controllers return mixed results. It was evident that using a microcontroller with a built-in PWM function would be less of a hassle and probably more ecient. 27

Researching prior work in the eld of snake-like robotics, we found many intriguing devices: Hiroses ACM [10], Paaps GMD [13], Millers S3 [11], etc. Combing our experimenting, creativity, and this prior work, we are well on the path to a functional snake-like robot.

10

Budget

The overall cost of the robot is a little over 400 dollars. The majority of cost of this project is going to the propulsion system. The cost of the servomotors is close to 60 percent of the total cost of the project. Prior to ordering parts, we had six HS-422 servos. The PIC ALL programmer is a programmer that can program microchips entire selection of PICs. This programmer will be used to program the PIC16f876 and the PIC16F818 PIC chips used in this project. The universal joints are the joints that connect each snake segment together. This joint is essential for the operation of the two dimensional movement. The segment arms are the arms that connect each servo to the neighboring segment. The miscellaneous parts include the wood needed to create the cross sections, connectors and wires that run the length of the snake, and the cost of manufacturing the head of the snake. The following table indicates the parts needed for this project, their cost, and the location where we obtained them.
Part PIC16F876 HS-425BB HS-475HB PIC ALL U-joints Segment arms Misc Materials Total Amount 1 10 8 1 12 24 1 Price/item sample 14.95 17.95 95.35 3 1 50 Total Price sample 149.50 143.6 95.35 36 24 50 412.45 www.microchip.com www.servocity.com www.servocity.com www.electronics123.com/amazon Hobbytown Hobbytown Home Depot

11

Personnel

The two individuals working on this project are Brad Oraw and Jeremy Tinder. To accomplish this project, these two researchers are required to obtain the following qualications. 1.) We are uent with Assembly Language, Basic, and C. These languages are 28

required to design of the brain module as well as to implement pulse width modulation to control the servo motors. 2.) We are familiar with control systems theory. Since the robot is heavily dependent on the peripheral devices attached to it, basic feedback principles are essential. We are familiar with mathematical modeling which is needed to properly and eciently design a physical model. A mathematical model of the design needs to be created rst and analyzed for aws. Once the mathematical model of the design is nished, a physical model can be created.

3.)

29

References
[1] Anonymous, Snake anatomy, 2003, snake anatomy picture. [Online]. Available: http://www.reptileallsorts.com/anatomy.htm [2] K. Bonsor, How snakebots work, 2003. [Online]. http://www.howstuworks.com/snakebot.htm/printable Available:

[3] I.-M. Chen and J. Burdick, Determining task optimal modular robot assembly congurations, vol. 1, May 1995, pp. 132137. [4] G. Chirikjian, Hyper-redundant robot mechanism and their applications, November 1991, pp. 185190. [5] H. Choset, Modular serpentine robot locomotion, 2003. [Online]. Available: http://voronoi.sbp.ri.cmu.edu/projects/modsnake/modsnake.html [6] H. Choset and J. Burdick, Sensor based planning and nonsmooth analysis. [7] H. Date, Y. Hoshi, and M. Sampei, Dynamic manipulability of a snake-like robot with consideration of side force and its application to locomotion control. [8] K. Dowling, Limbless locomotion: Learning to crawl with a snake robot, Ph.D. dissertation, The Robotics Institute Carnegie Mellon University, December 1997.

[9] G. Haith, Snakebot, October 2000. [Online]. Available: http://amesnews.arc.nasa.gov/releases/2000/00\protect\global\let\OT1\textunderscore\unhbox\ [10] S. Hirose, Biologically Inspired Robots: Snake-Like Locomotors and Manipulators. Oxford University Press, October 1996. [11] G. S. Miller, Snake Robots for Search and Rescue. Techonology, 2002. Massachusetts Institute of

[12] J. Ostrowski and J. Burdick, Geometric perspectives on the mechanics and control of robotic locomotion, October 1995, pp. 487504. [13] K. L. Paap, M. Dehlwisch, and B. Klaasen, Gmd-snake: A semi-autonomous snake-like robot, August 1997. [Online]. Available: http://set.gmd.de/RS/snake/ [14] P. Prautsch, T. Mita, and T. Iwasaki, Analysis and control of a gait of snake robot, Transactions of IEEJ, Industry Application Society, vol. 120-D, no. 3, pp. 372381, 2000. [Online]. Available: http://voronoi.sbp.ri.cmu.edu/eshammas/readings.html 30

[15] Robix, RobixTM rascal, July 2003. [Online]. Available: http://www.robix.com/snake\protect\global\let\OT1\textunderscore\unhbox\voidb@x\kern.06e

[16] M. Saito, M. Fukaya, and T. Iwasaki, Modeling, analysis, and synthesis of serpentine locomotion with a multilink robotic snake, IEEE Control Systems Magazine. [Online]. Available: http://www.mae.virginia.edu/faculty/ti\protect\global\let\OT1\textunderscore\unhbox\voidb@ [17] M. Yim. Polybot. [Online]. http://www2.parc.com/spl/projects/modrobots/chain/polybot/ Available:

[18] V. Zhuravlev, A model of the mechanism of motion of a snake, Journal of Applied Mathematics and Mechanics, vol. 66, no. 4, pp. 523527, 2002.

31

Appendix
A Cross Section Diagrams

Figure 14: Top View of Cross Section

Figure 15: Side View of Cross Section

32

Figure 16: Front View of Cross Section

33

Servo Specications

Figure 17: HS-422, HS-425BB, HS-475HB Dimensions Diagram

34

Characteristic Control System Requireed Pulse Operating Temperature Operating Speed(4.8V) Operating Speed(6.0V) Stall Torque(4.8V) Stall Torque(6.0V) Current Drain(4.8V) Current Drain(6.0V) Power Consumption(4.8V) Power Consumption(6.0V) Motor Type Bearing Type Gear Type Connector Wire Length Width Height Weight

HS-422 PWM 1500sec 3-5 Volt Pk-Pk Sq. Wave 20o 60o C 0.21sec at no load 60o 0.16sec at no load o 60 3.3 kg*cm 4.1 kg*cm 8ma idle, 150ma no load operating 8.8ma idle, 180ma no load operating 38.4mW idle, .72mW no load 48mW idle, 1.08W 3 Pole Ferrite Dual Oilite Bushing Nylon 300mm 40.6 cm 19.8 cm 36.6 cm 45.5g

HS-425BB PWM 1500sec 3-5 Volt Pk-Pk Sq. Wave 20o 60o C 0.21sec at no load 60o 0.16sec at no load o 60 3.3 kg*cm 4.1 kg*cm 8ma idle, 150ma no load operating 8.8ma idle, 180ma no load operating 38.4mW idle, .72mW no load 48mW idle, 1.08W 3 Pole Ferrite Dual Ball Bearing Nylon 300mm 40.6 cm 19.8 cm 36.6 cm 45.5g

HS-475HB PWM 1500sec 3-5 Volt Pk-Pk Sq. Wave 20o 60o C 0.23sec at no load 60o 0.18sec at no load o 60 4.39 kg*cm 5.47 kg*cm 8ma idle, 150ma no load operating 8.8ma idle, 180ma no load operating 38.4mW idle, .72mW no load 48mW idle, 1.08W 3 Pole Ferrite Top Ball Bearing Nylon 300mm 40.6 cm 19.8 cm 36.6 cm 45.5g

Table 18: Characteristics of Servo Motors

35

Microcontroller Comparison
Characteristic Package Package Size(LxWxH) Microcontroller Processor Speed Program Execution Speed RAM Size EEPROM Number of I/O pins Voltage Current draw @ 5v PBasic Commands PC Programming Inteface Basic Stamp II 24-pin DIP 1.2 x 0.6 x 0.4 Microchip PIC16C56c 20Mhz 4,000 instructions/sec 32 Bytes 2K Bytes 16 + 2 dedicated serial 5-15Vdc 8ma 36 Serial Port(9600 buad) PIC16F876 28-pin 1.385 x .325 x .160 20Mhz 5MIPS 368k Bytes 8k Bytes 22 2-5.5vdc 25ma none none

Table 19: Comparison of Characteristics( Basic Stamp II vs PIC16F876)

36

System Diagram

Figure 20: Block Diagram of Electrical System

37

Schedule

Figure 21: Time Line for Fall Semester

38

Figure 22: Time Line for Spring Semester

39

Anda mungkin juga menyukai