Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
INDIAN INSTITUTE OF TECHNOLOGY, GUWAHATI
EE304 – DESIGN LABORATORY
PROJECT REPORT
Modular Model of Snake Robot
Guide: Dr. Prithwijit Guha, Assistant Professor, IIT Guwahati
Name Roll No.
Swapnil Gupta 120108036
Somitra Baldua 120108034
Isht Dwivedi 120108045
Ankur Kunder 120102012
Ayush Pathania 120108047
Pawan Dixit 120102042
Introduction
Biological snakes occupy a wide variety of ecological niches, ranging from arid
desert to tropical forests as well as swimming in rivers and oceans. Their body
construction and locomotion technique has proved to be an extremely
effective and efficient strategy.
By attempting to build robots that emulate and perhaps match the capabilities
of their biological counterparts, it is possible that we will create useful tools
capable of carrying sensors, or surveillance operations by operating in
challenging environments where physical human presence is unfeasible or
impossible. Snake robots are robots inspired from biological snakes – in
structure, path trajectory and mechanism of movement.
Biological snakes have inspired a variety of robotic designs since 1920s. One of
the earliest Biomechanical studies of snakes was done by Shigeo Hirose, in
1970 who modelled a snake body as a continuous curve that could not move
sideways.
Serpenoid curve was first introduced by Hirose. This curve shows a path along
which a continuous snake has an optimal motion. The motor torques and
friction forces are minimum and smooth, so the power consumption is optimal.
According to his studies, the tangential angles of this path must be a sinusoidal
function. The continuous curve is defined such that any (x,y) point on the curve
satisfies:
where and are serpenoid parameters; different types of serpenoid curves
can be defined by varying them.
represents the position on the curve and the speed of motion can be defined
by the speed of changes in specifies undulation, periods and the
angular speed.
Different types of Serpenoid curves *
Based on similar mathematical formulations large varieties of snake models are
proposed. Innovative mechanical designs have flourished with one of the most
sophisticated being GMD- SNAKE 2 which has actuated joints between each
segment, along with powered wheels all around the circumference. This
enables an approximation of rectilinear progression, but such wheels may not
be effective on fibrous obstacles. In recent times to make the models more
adaptive, environment sensing tools are also used to make the design more
advance and robust.
(* Source: Paper named ‘ A Modified Serpenoid equation for snake robots’ by Dehghani, Mohammad, Center
for Mechatronics and Automation, School of Mechanical Engineering, Univ. of Tehran, Iran)
Challenges
The major challenge in this project was hardware construction.
As per the requirement of applications, in which this snake bot may be used, it
was decided to make this robot self-contained in terms of power and
computation, eliminate the drag effect of external factors and use transmitter-
receiver pair to interact with robot wirelessly.
Apart from that, mathematical analysis of 6 different reference frames all-
together (each attached to a module), software portion of the project that
involved controlling 6 servo motors to generate precise trajectory, and making
the snake move forward with all passive wheels – it was all together an
extremely challenging task.
Hardware Design
To keep the modules lightweight and torque requirement low -aluminum
sheets were used for its construction.
Laser cutting of these aluminum sheets were done in order to get the precise
shape of modules.
AutoCAD drawing of each module: Each module consist of 2 parts which were attached with each
other via clips made manually, using tin. The dimensions of the above module were all decided by
keeping in mind the size of servo motors, wheels and batteries to be used.
Metal gear standard servo motors of torque capacity 13.5kg/cm were used to
make the joints active.
Wheels, made from nylon, of 3.3cm diameter were used. (Lego wheels of 3cm
diameter were the most ideal choice, but due to unavailability we selected the
next best possible)
Batteries were added in order to make snake self-contained in terms of power.
Connection wires were soldered to batteries to avoid loose connections. Every
connecting wire either had an insulating covering or was covered properly to
avoid short circuiting.
All drilling work, construction of hinges (via clips), cutting of wheels and
Aluminum in proper and precise shape was done manually.
Top view of a single module
Side views of a single module
(Side view of two modules connected together)
Physical Parameters of the design:
Length of each module 14.5cm
width of each module 4.5cm
Height of each module 7.5cm
Radius of the wheel 3.3cm
Max. torque of the motor 13.5kg/cm at 6V
Arduino Mega is used as microcontroller. It is mounted on a separately
designed front module which is made three wheeled, in order to give stability
to the whole body.
MATHEMATICAL MODELLING OF SNAKE ROBOT
The snake robot is modelled as ball stick model which consists of n links
connected by n-1 joints.
The link is of mass mi, length 2*li and moment of inertia Ji (=mi* li3/3).
Symbols D and A stands for ‘difference’ and ‘addition’ operators respectively.
The vector e is the basis of kernel of D.
Consider the free body diagram of each link
fi is the friction force on the module, gi is the contact forces due to the adjacent
modules, ui is the torque due to joint forces and ti torque due to frictional
forces.
Position of each link in the Cartesian plane
The velocity components of the modules in the normal and tangential direction
Keeping ct and cn as the friction coefficients and dmi mass of the infinitely small
segment
Hence the torque and force due to friction is given by
Now these values we will use in the equation of motion
Equations of Motion
Translational motion
Rotational motion
Now x,y and angle are constrained by
Hence the translational velocity is given by
Decomposing the translational motion into two parts.
Serpenoid Curve
Angle between each segment with x-axis measured counter clockwise is
Hence
Relative angles that determine the shape of the discrete serpenoid curve
Undulatory motion of the snake can be imitated by changing the relative
angles of the snake robot in the following way
Software Design
The Arduino Mega2560 is a microcontroller board based on the ATmega1280. It
has 54 digital input/output pins (of which 14 can be used as PWM outputs), 16
analog inputs, 4 UARTs (hardware serial ports), a 16 MHz crystal oscillator and a
USB connection. The board can operate on an external supply of 6 to 20 volts.
Zigbee is an Arduino compatible trans-receiver. It is long range high speed
serial wireless communication module which can give range of 30 meters
indoor or 100 meters outdoor. It is generally used for robot to robots or robots
to PC communication. It supports data rates of up to 115kbps.
One Zigbee module has been connected with Arduino Mega board to play the role
of signal receiver and mounted on the robot itself, to make the snake wireless.
One more Zigbee has been connected to laptop via interfacing board to play the
role of transmitter i.e. sending control signals from laptop to robot.
Assuming all the pre calculations have been done, Code for Arduino can be
written in a simple C language.
#include <Servo.h>
#include <math.h>
Servo myservo[8];
int pos = 0;
int i = 0;
int theta = 0;
void setup()
{
for(i = 0; i<8; i+=1)
{
myservo[i].attach(i+2);// put your setup code here, to run once:
}
}
void loop()
{
for(pos = 0; pos< 3.14;pos +=0.1)
{
for(i = 0; i<8; i+=1)
{
theta = 30*sin(pos*180/3.14 - 0.8*i);
//f(y<0) //
{
y = myservo[i].write(theta);
delay(15);
}
}
}
Conclusions: As targeted in challenges initially, the actual design try to
address all the desirable requirements of an ideal wireless snake robot upto a
certain extent.
The final design can be used as a base for testing and further researching in
path optimization, obstacle detection or even wireless power transfer over a
short range (by removing batteries and finding alternate method to power
servo motors)
Further improvements:
• Hardware of the robot can be improved, if better facilities are available
for its construction. Its shape can be made circular to provide a more
robust and overall covered body to the robot – hence making its
appearance closer to biological snakes.
• Its height can also be reduced, if smaller wheels are available.
• Aluminum Body can be completely covered with insulation to avoid any
chance of short circuit.
• There is an immense scope of improvement in Path planning, methods
of turning, speed of locomotion, energy efficiency and terrain
adaptability.
References:
• ‘Modelling, Analysis and Synthesis of Serpentine Locomotion with Multi-Link Robotic
Snake’ –By M.Saito, M.Fukaya and T.Iwasaki
• Introduction To Robotics : J.J Craig
• ‘ReBiS – Reconfigurable Bipedal Snake Robot’ –By Rohan Thakker, Ajinkya Kamat,
Sachin Bharambe, Shital Chiddarwar, and K. M. Bhurchandi
• ‘A Modular and Waterproof Snake Robot Joint Mechanism with a Novel Force/Torque
Sensor’ -By P. Liljebäck, K.Y. Pettersen , Stavdahl, J.T.Gravdahl
• ‘Sine-Wave Locomotion in a Robotic Snake Model Form and Programming’- By Mark
W Sherman
• 'A review on modelling, implementation, and control of snake robots'-By P. Liljebäck,
K.Y. Pettersen , Stavdahl, J.T.Gravdahla