Analysis and Simulation of Six Legged Robot

Document Sample
Analysis and Simulation of Six Legged Robot Powered By Docstoc
					       Analysis and Simulation of a Six-Legged Robot
                       Ivan Garcia Alsina, Virginia Diaz Santiago
                              Advisor: Dr. David Serrano

                          Mechanical Engineering Department
                      University of Puerto Rico, Mayaguez Campus
                             Mayagüez, Puerto Rico 00681


This paper develops a mechanical analysis of a walking robot. The analysis is used to
make a simulation. In the simulation all parameters are varied and the best set of
parameters is selected (parameters that optimize speed, get lower reaction forces and
improve robot's movement). The process of the analysis is the following. First we divide
the robot into its main components. Using kinematic equations we calculate position,
velocity and acceleration of all parts as function of time. With the accelerations, we apply
Newton's law to each part of the robot using free body diagrams. The forces are used to
calculate maximum stresses of the robot, which are critical in the design of parts.


In January 2000, two students from the University of Puerto Rico at Mayaguez formed
the UPRM Walking Machine Team. This team has the task of making an intelligent
walking robot for the SAE Walking Machine Challenge in May 2001. In the mechanical
design of the robot an analysis was required to ensure that the parts will not break and to
improve the robot design.


One of the most important goals of the analysis was to calculate the maximum shear
stresses of each part of the robot. These stresses are compared to the material maximum
stresses. If they are higher (using a safety factor) than the material stresses, either the
material or the dimensions of the robot have to be changed. The process is repeated until
all the maximum stresses are below the material stresses.

Another important goal of the simulation was to determine if the robot was able to pass a
difficult obstacle in the competition, going over a pair of ropes without touching them.
The kinematic data from the simulation was used to make a three dimensional animation
of the robot. The simulation was developed in C and had over 1500 lines of code. The
three dimensional animation was made using a DOS 3D engine. Using this animation we
changed the dimensions and movement of the robot until it could go over the ropes
without touching them. The animation was useful also to see how the robot would move
and look like.

The simulation also was used to vary the parameters and pick the set that would reduce
the reaction forces and increase velocity. At the beginning all parameters were varied, but
not all of the parameters played a significant part and we only varied those who affected
the most. We selected a set that produces a high robot velocity but without increasing too
much the magnitude of the reaction forces.

Figure 1: Simulation Snap Shot


By the time that the analysis and simulation was done the robot had six legs, now it has 8.
The legs move alternating with its side neighbor. There are always three legs up and three
legs crawling. Each leg is composed of two mechanisms, which produce two degrees of
freedom. The first mechanism is a worm gear combined with a rack and pinion that
allows the leg to move up and down. The second mechanism is a crank-follower four-bar
linkage that makes the leg oscillate like a pendulum. This combination of mechanisms
and a program that uses the kinematic analysis allow the robot frame to move at a
constant height.
Figure 2: Walking Robot

The first step in the analysis is to calculate all the positions of the main parts of the robot.
We divided the robot into parts for the mechanical analysis. Each leg is divided in the
following parts: leg, the leg's box (where the leg's box, worm gear, rack and pinion
system are) and the three moving parts of the four bar linkage (follower, coupler and
crank). We made a kinematic, force and stress analysis for the robot as a whole and for
each individual component in the system.

The kinematic analysis begins with the four bar linkage. Using the vector loop equations
presented in [1] we calculate all the positions, velocities and acceleration of the four bar
linkage as a function of time. To calculate the kinematics for the legs we use two design
parameters. The first one is the fact that the robot's frame is at a constant height. It applies
when the leg is on the floor. We calculate the kinematic variables of the robot as a
function of the robot's frame height and the follower angle. The leg kinematic equations
are below.
gure 3: Diagram used for kinematic

r = Radius of leg from pivot to floor.
r' and r'' = Speed and acceleration of leg respectively.
h = Height of the robot's frame.
A4 = Follower angle.

r = h*csc(A4)
r' = -h*csc(A4)*cot(A4)*(A4')
r'' = ((A4')^2)*h*csc(A4)*cot2(A4) +
      ((A4)'^2)*h*csc3(A4) -

The second kinematic design parameter is the leg movement while is not touching the
floor. In this case we use a programmed parabolic movement so it can go smoothly up
and walk over obstacles better. Using this parabolic movement we calculate the leg's
kinematics while it is in the air.

Using the result of this kinematic analysis we calculate the center of mass acceleration
and angular momentum time derivate of all parts in the robot so we can use Newton's
laws. To calculate these values we used three-dimensional rigid body kinematic equations
from [2]. After we have all these values we apply Newton's laws to calculate couples and
forces. In the equations we don't include all the forces because not all of them are
necessary. Including only the forces that affect the robot the most we get an 18 x 18
matrix instead of the 60 x 60 matrix.

In the matrix are included the force and moment equation for the robot as a whole, and
the parts of only one leg. Because the purpose of calculating force reactions is to calculate
maximum stresses we calculate the forces on the leg that takes the highest load. All the
other legs are built equal using the results from this leg. The first step of solving the
matrix is to solve the equations generated by the FBD (free body diagram) of the whole
robot. Then using the highest leg reactions we solve the equations of the FBD of the leg.
From the leg we go to the leg's box, then to the follower, coupler and crank. And with
these we get all the reactions in the robot. Below is an example of how we got the FBD
equations. These are the leg's FBD equations.

S(Mp) = Total moment in leg's pivot.
S(Fx) = Total of horizontal forces.
S(Fz) = Total of vertical Forces.
N, F, Rx4, Rx3, Rz4, Rz3, Cs3, Cs2 = Reaction forces and couples.
A4 = Follower angle.
r = Distance from pivot to leg's lower end.
Lp = Length of leg.
azp, axp = Pivot accelerations.
W = Weight of leg.
mp = Mass of leg.
(d/dt)(hp) = Angular momentum time derivate.

S(Mp) = (d/dt)(hp) =
         (r - Lp/2)*W*cos(A4) + Cs3 -
         Cs2 - r*N*cos(A4) -
S(Fz) = mp*azp = Rz4 + Rz3 + N - W
S(Fx) = mp*axp = Rx4 + Rx3 + F

After the force analysis we can calculate the maximum stresses in all parts. Using the
combined analysis method from [3] we get those stresses. An example is shown below.

x = Iterating dimension.
d = Distance to the center of mass.
Vz, Vx, Mx, My, Mz, Fx1, Fz1, Cy1 = Reaction forces and couples.
W = Weight of shaft.

Vz = Fz1 + W
Vx = Fx1 + W
Mx = Fz1*x + W*(x - d)
My = Cy1
Mz = Fx1*x + W*(x - d)
I = Moment of inertia.
Ip = Polar moment of inertia.
A = Area.
ds = Shaft diameter.

I = PI * (ds/2)^4 / 4
Ip = PI * ds^4 / 32
A = PI * (ds/2)^2

S(mx,mz) = Normal stress caused by Mx or Mz.
T(my, vx, vz) = Shear stress.

Smx = Mx*(ds/2) / I
Smz = Mz*(ds/2) / I
Tmy = My*(ds/2) / Ip
Tvx = (4/3)*Vx / A
Tvz = (4/3)*Vz / A

Sy = Total normal stress.
T = Total shear stress.
Tmax = Maximum shear stress.
Smax = Maximum normal stress.

Tmax = sqrt( (Sy / 2)^2 + T^2 )
Smax = (Sy/2) + sqrt( (Sy/2)^2 + T^2 )

The maximum shear and normal stress determine if the part will break or not using the
material's stress limits.


The simulation and analysis helped us to determine the sizes and the material that we
have to use to build the robot. It also helped to estimate the torque and speed that the
motors need and the power that the robot needs. With the animation we determined the
leg and four-bar linkage dimensions that will help the robot go over the two ropes test
easier. We also can estimate what could happen if we change any robot dimension.


[1] Kinzel, Waldron, Kinematics,
   Dynamics, and Design of Machinery,
   John Willey and Sons 1999: 159-167.
[2] Pytel, Andrew and Kiusalaas, Jaan,
   Engineering Mechanics Statics and
   Dynamics, Harper Collins College
   Publishers 1994: 467-521
[3] Gere, James M. and Timoshenko,
    Stephen P., Mechanics of Materials
    4th edition, PWS Publishing
    Company 1997: 572-587