Sunteți pe pagina 1din 19

SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 1

Snake Robot
Juan Sebastian Velasquez, Martin Jaramillo, Daniela Monclou

Abstract—Snake robots some day will play a crucial role machines have a high number of degrees of freedom
in search and rescue operations and maintenance where and they are able to move without using wheels or legs.
it might be dangerous or narrow for humans to operate
in. Many applications for underwater snake robots have
been developed within the subsea oil and gas industry and The geography of Colombia is characterized by
within marine archeology. In this paper we present Slithy its diversity including rivers, mountains, plains and
I, an underwater snake robot capable of swimming, taking volcanoes, which makes Colombia a risky region
pictures underwater and measure the pH of the water. The due to natural disasters such as earthquakes, storms
locomotion of slithy I consists in simulating how amphibian and wildfires. Sometimes the human availability for
snakes moves in a lateral undulation pattern. The way
Slithy I measures pH underwater is an interest topic for responding to this kind of emergencies is not enough.The
research, for instance it can determine oil leaks detecting snake-like robot has the potential of contributing in this
the fluid around an underwater facility. kind of disasters due to its advantage in locomotive
capabilities and body architecture. See [3] for an
example of underwater snake robot.
I. I NTRODUCTION
Everyday humans are entrusting several kinds of
tasks to the robots either at home or at the industry. In II. BACKGROUND
order to do this, people have the challenge to design The first research of snake locomotion was around the
efficient machines which can perform such kind of year 1946 when scientists started replicating nature, like
tasks. For designing such type of machines, inspiration snake movements to inspire mechanisms. Three decades
has sometimes been found in nature by analysing and later in 1972 a pioneer on the design and control of
copying from animals some aspects of their behavior, robotic systems, Professor Shigeo Hirose, developed the
body composition or the way they perform their first working biologically inspired snake-like robot [2].
everyday duties. The studies and creation of biologically He presented a two-meter long serpentine robot with
inspired robots have made possible developing new twenty pin joints (one degree of freedom). This model
ways of building robot parts and the controlling of these was called the Active Cord Mechanism ACM III (model
complex machines. shown in Figure 1).

Human beings have always tried to move from


one place to another in the easiest possible way.
An example of this is the invention of the wheel,
which was revolutionary for our history but with some
disadvantages like not being able to go into small spaces
or underwater. For that reason other kind of movements
is necessary for the places where the wheel won’t Fig. 1: Active Cord Mechanism ACM III model
perform well. (Hirose, 1993).

One of the best places to find different movements An example of a practical use that a snake robot
methods are in nature, for that reason a lot of scientific can have is in fire-fighting. This was the project
research is based in biomimetics. One of the best developed at the Norwegian University of Science and
movement methods we can see in nature, in and out technology(NTNU). The project was initiated in 2003
of water and narrow spaces are the one that snakes after several major city fires in Trondheim. An initiative
uses. This kind of movement could be useful in a lot of was launched to bring the fire department and the
different sectors, like rescuing operations or exploring research community to work together to improve fire
narrow places. safety in the city, the vision was of a self-propelled
fire hose as a robotic tool that help human firefighters
That is one of the reasons many research groups are avoid dangerous situations, the resulting system would
working on developing snake like robots. This kind of be a robotic fire hose that could move in extreme
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 2

environments with the agility of a biological snake. This undulation motion from the complex models, the main
robots name was Anna Konda, which is shown in the models that will be considered in this paper are the kine-
figure 2. Anna Konda was able to move over relatively matics and the fluid dynamics display in the following
flat surfaces and could spray water through nozzles in subsections.
its head. The big challenge of this research was the
serpentine propulsion mechanism [1].
A. kinematics of underwater Snake Robots
The underwater snake robot is assumed to move in
an imaginary horizontal plane and has N+2 degrees of
freedom. The motion of the robot is defined with respect
to the fixed global frame x-y, and the t-n frame that
is always aligned with the direction of the robot, the
position of the center of mass in the global frame is
Fig. 2: Anna Konda model developed in NTNU denoted by (Px, Py), while (Pt, Pn) is the position in the
(Liljeback,2013). t-n frame which is illustrated in figure 3 . θ represents the
orientation of the snake robot with respect to the global
The locomotive capabilities are still limited, there is x axis with positive direction being counterclockwise.
no practical applications yet for snake robots, however The relationship between the t-n frame position and the
researchers are working on developing a robust and global frame position is given by (1).
agile mobility in different environments, the control
for this type of movement is quite challenging for Pt = Px ∗ cos(θ) + Py ∗ sin(θ)
two main reasons. The first reason is the complex (1)
interconnection of sensors (see [4] and [5]), actuators Pn = −Px ∗ sin(θ) + Py ∗ cos(θ)
and control logic of the joints, that for the high quantity
of degrees of freedom represents complex dynamics to
analyze from a control design. The second reason is the The forward and normal direction velocity of the
environment interaction changes for the robot; because center of mass of the snake robot are denoted by vt and
of its movement require that the entire body move in vn respectively. Using the equation, velocity is given by
order to produce the appropriate interaction forces with
the environment having in mind the environment is P˙x = vt ∗ cos(θ) − vn ∗ sin(θ)
always changing. (2)
P˙y = vt ∗ sin(θ) − vn ∗ cos(θ)
Snake robots research has increased in the last ten or
to fifteen years and it’s mostly focused on modeling
and locomotion. The principle involved in the motion vt = P˙x ∗ cos(θ) + P˙y ∗ sin(θ)
of the snake is the lateral undulation, which consists (3)
in propagating waves from the front to the rear of the vn = −P˙x ∗ sin(θ) + P˙y ∗ cos(θ)
snake. Researchers found out that there is a way for
that locomotion to be more effective and is defined
B. Fluid dynamic model
as obstacle aided locomotion, where the snake robot
utilizes external objects besides the ground like walls There has been several studies about the fluid dynamic
for propulsion. A recent study was presented [8] models for snake robots, a less complex one is presented
for a wheel-less snake robot. The dynamics of this in [9], where stands a summary of the basic formulas
locomotion were simulated in a dynamic simulation and equations that are used to calculate the effects that
software Working Model, where the contact between the the water has to an object in water, like drag forces (Fd )
snake and the obstacle was represented by a compliant which are the resistance of the water to the moving object
contact model. and buoyancy force (FB ) which are defined by

Bf = ρ ∗ g ∗ v
III. METHODOLOGY 1
Fd = ∗ Cd ∗ ρ ∗ A ∗ v 2 (4)
The snake robot mathematical model is quite complex 2 X
due to the many degrees of freedom it has, in this F =m∗a
project the mathematical model being used is a simplified
one, taken considerations essential properties of lateral
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 3

Fig 3: Kinematics representation of snake robot


(Kelasidi, 2015). F. Functional Structure
The main system should be powered by a battery,
ρ = density of the fluid which should also be rechargeable. The user must ac-
v= velocity of the object tivate the flow of energy to the CPU and servomotors
Cd = drag coefficient of the object through a mechanical switch. The user will be allowed
A=area of the object to control the direction the robot moves, by sending that
information to the CPU, and afterwards the servomo-
tors. The movement of the servos will be translated to
C. Clarification of the task and its respective sub- movement, thanks to the flow of energy through the body
functions divisions and using it as drag force against the water. The system
will receive information about the pH and images of the
For the purpose of sensing efficiently the pH level of
environment the whole time, and send it to the user(annex
the water in any place without the need for a person to
I).
actually get into the water, a biologically inspired robot
will be made in such a way that a user will have control
of it at all times via wi-fi, while it senses the water in G. Sensors
the area where the user intends to. Camera:
The camera being used for the project is a 2MP image
D. Selection Criteria sensor OV2640 (Arducam). This camera comes with a
After having made the selection matrices (annex E and module for interfacing the camera with the Arduino.
F), the option selected was number one, as shown and Since Arduino is simpler and smaller than the raspberry
explained in annex G. pi, is the one that suits the most with the dimensions of
the project. The camera will be a 2MP and not 5MP so
E. Black Box its lighter for the board to transmit the images.
By analysing the goals of the project, it is set that
the main function of the robot should be sensing the pH
water at all times, regardless it reproduces the expected
displacement during the operation or not (annex H) .

Fig. 3: Arducam OV2640 (Amazon).


SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 4

pH sensor:
The pH sensor being used for this project is composed
by a pH probe pro from DFROBOT and a commercial
interface. The pH probe in the most basic sense is a
simple single cell battery with a very high resistance, Fig. 5: Servo motor Dynamixel AX-12 (Amazon).
where the voltage produced is proportional to the
hydrogen ion concentration around the probe. It means
that when the concentration is greater on either side CDS55xx, the interface of this driver board uses a
of the probe, the ion flow will induce a slight voltage UART port and the AX-12 servos can be linked by
between the probes electrodes. This voltage has +/- serial bus, making it possible to connect 200 or more
voltage signals which will indicate that the fluid is servo motors through this board. This interface has 2
either an acid, neutral or base. See [7] for an example serial inputs Tx and Rx and 1 analogue outputs for the
of using pH sensor with arduino. servos.

I. Communications
The XBee:
The communication between the user and the snake
robot will be through XBee radio modules. The reason
the XBee is being used is because it is available
at EAFIT university, it doesnt require license to be
operated and it has a longer communication range than
Fig. 4: pH sensor for Arduino (DFrobot). Bluetooth. Basically the XBee communicates through
serial transmission most of them work at 9600 bauds in
Interface Between pH Sensor and Arduino: velocity.

The interface being used in this project for connecting 4D Touchscreen System:
the pH sensor and the Arduino is an industrial interface The 4D screen allows the user to send instructions
which has two stages: gain and offset. The first stage through its touch system interface in a simple manner,
consists of an operational amplifier to amplify the output according to the program made for a specific task.
signal from the pH sensor due to its low output voltage Bluetooth modules HC-05:
which is approximately 0.414 V, the Arduino reads The bluetooth modules will allow to transmit the image
signals from 0 to 5 V. The second stage consists of wirelessly at a considerate speed of 57600 bauds. At
an offset operational amplifier, this because the output this speed the bluetooth transmit data with a higher
voltage from the pH meter has positive and negative precision than systems like wifi or XBee, considering
values. The interface has 2 analogue outputs, 1 digital the environment.
output and 1 BNC input for the probe.
J. Justification of the Control Device Selection
H. Actuators According to the product design parameters, a small
Servomotors: controller is necessary for the system. The controller
should fit into one of the modules of the snake-like
The servomotors being used for this project are the robot. The dimensions of each module, considering they
DYNAMIXEL AX-12A. In the intended application is have one servo-motor, a mechanical and an electrical
essential to control the degrees of rotation due to the interface, should still be as small as possible. Therefore,
undulation movement of the snake robot. 3 proposals are considered. The Arduino Nano, the
The servomotors are actuators that work with DC Arduino micro and the Arduino mini. Their dimensions
current and uses sensors to control their motion and final are as follow:
position. They can be either analogue or digital and the
motors are paired with some encoders to provide position In the design process it was already set that the snake
and speed feedback. will have 8 servos, 1 for the head and 7 for the general
. undulatory movement. The servos are controlled by the
Interface between the servos and Arduino: Arduino thorugh a serial port. The XBees also require
The interface being used in this project for connecting serial ports which means that the 3 options considered
the servos and the Arduino is an industrial driver board won’t work, since they have 1 one serial port.
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 5

allows the user to send the instructions from the display


to the serial port 2 (thanks to the XBees), which is then
read by the Arduino on the snake. The second program
reads the information from the serial port 2 and traduces
it in order to move the snake or stop the movement.
It also allows the user to move the head of the snake
in 180◦ (90◦ to the left and 90◦ to the right) at any
given moment. The same programs must be modified in
order to receive the information from the pH sensor, but
Table 5. Arduino dimensions comparison chart. the programming of the snake remains the same. The
Arduino installed in the snake must read the information
given by the pH sensor through the analog ports and
Due to the serial ports limitations, the only Arduino
transmit such information to the other Arduino board
suitable for this project is the Arduino mega 2560,
through the XBees. That information will be posted on
because of its price and characteristics.
the display in order for the user to read it. The movement
of the snake was made in such a way that it would imitate
K. Programming a sine wave, as seen in the image 11.
The main idea for the programming of the robot is to
make constant the movement of 7 servos, following an
angle controlled sequence between the servos, allowing
to reproduce the movement of a snake. The movement of
the head will be independent from the rest of the body.
The user will be allowed to decide at all times where to
move the head and therefore the trajectory the robot will
follow and thus, where the camera will be pointed at.
As explained before, it is necessary for the robot to move
as a snake and should always be controlled by the user by
a wireless method. The components used are as follows:
two Arduino Mega 2560 boards, two XBees, one 4D
screen Picaso intelligent display, and 8 Dynamixel AT12 Fig. 7: Movement presented by snake imitating a sine
ServoMotors. The programming scheme is as follows: wave

The sine wave must be performed by 7 servos, but the


middle one is considered to be neutral in order to have
equal portions of the wave ahead of it and behind it.
Taking that in account and considering that a complete
cycle of a sine wave is equal to 360◦ , each portion of
servos should add up to 180◦ (each portion consists of
4 servos since the neutral also have a function in the
angle).

T AE
= AN S (5)
SP
Fig. 6: Flow diagram
TAE=Total angle of each portion
SP=Servos by portion
Where the user, via the screen, sends the information
ANS=Angle needed by each servo
intended to be compiled by the snake. The information
is sent wirelessly thanks to the XBees. Also, at all
times, while the snake is sensing the water with the pH 180◦
= 45 (6)
sensor the information is sent wirelessly until it arrives 4
to the display so the user can read it. The angular movement of the servos is set from 0 and
1023, having equivalence in degrees. In the configuration
The program for moving the snake consists of two set in the snake, a servo turns 90◦ to the left when the
phases; the first one is the transmitter program, which value given is of 200, and 90◦ to the right when is
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 6

800, which describes the equivalence of 180◦ being 600. are as follow: two Arduino Mega 2560 boards, two
Having that in mind, it means that each portion should Bluetooth modules HC 05, and one Arducam mini
move: OV2640. The programming scheme is as follows:

ET A ∗ AN S
= EAP (7)
T AE
ETA=Equivalent total angle
EAP=Equivalent angle by each portion

600 ∗ 45◦
= 150 (8)
180◦
For a soft sine wave, as the snakes present, it is
necessary to set limits to the movement. Each servo finds
itself pointing forwards when a value of 511 is sent, with
that in mind the limits are set in 380 left and 620 right (in
order to prevent rough movements). That means a 131
movement of the servos, which is close enough to the
previous set requirement. Since each portion of servos
must rotate the value of 131, it means that each servo
should move up to 32 approximately, with the front and Fig. 10: Flow diagram
rear portions moving simultaneously. After applying the
programs, the results are visually promising. However The master program constantly triggers the camera,
they must still have to be tested in an environment the gathers its data and sends it to the slave program through
snake can displace. The XBees prove to be working fine the master Bluetooth module at a speed of 57600 Bauds.
so far. Any higher baud speed will generate misreading of the
data. The slave program gathers the data and reports
it directly to its serial port, which is read by a free
pc executable called ArduCAM v 1.0. The image is
displayed in the pc screen.

IV. R ESULTS
The initial design for the snake robot included all the
wires inside the hose (snakes body) and an additional
layer of plastic around the hose for water proofing pur-
Fig. 8: Movement sequence of the snake robot poses. Those two additions created an extra torque that
stopped the servos Dynamixel AX-12 from moving and
therefore the snake wouldnt work. That reason made nec-
essary the redesign of the snake. The wires were pulled
out from the snake and channeled through a different
hose, and additionally the layer of plastic was removed.
That solved the issue of the extra torque and also an issue
were the wires were pulled in the moment when the head
is screwed into the body. Due to the change of design,
it is pending to give proper water proofing procedures to
ensure the safety of the snake, and therefore it was not
Fig. 9: The 4D screen for the snake robot. possible to make tests in the intended field. All tests were
made in a dry environment. The snake presents a sine
In order to allow the snake to move fluently, it is wave movement as was expected and reports successfully
necessary to make an independent image acquisition the pH measurement to the 4D screen. The movement
system, since the time in which the camera is gathering presented in the tail is wider than in the head, hopefully
the data cannot be used to perform other activities generating the displacement expected once inside the
in the same arduino, and thus, the snake would stop water. The slider allows successfully to move the head
completely every few seconds. The components used at any times to the left or right without interfering with
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 7

the rest of the movement. The image acquisition works R EFERENCES


properly, but since the software used was not originally [1] P. Liljebäck, K. Pettersen, Ø. Stavdahl, and J. Gravdahl, “Snake
created for wireless communication it generates an error robots: Modelling,” Mechatronics, and Control. Springer, 2013.
message every while stopping the image generation. It is [2] S. Hirose, “Biologically inspired robots: Snake-like locomotors and
manipulators,(1993).”
solved just by clicking ok in the message. The image [3] A. Crespi, A. Badertscher, A. Guignard, and A. J. Ijspeert, “Amphi-
quality was set in 160x120 pixels, being the lowest bot i: an amphibious snake-like robot,” Robotics and Autonomous
quality possible in order to have a fast acquisition of the Systems, vol. 50, no. 4, pp. 163–175, 2005.
[4] A. A. Transeth, “Modelling and control of snake robots,” 2008.
image which is updated every 0.5 seconds approximately. [5] D. S. Rollinson, “Control and design of snake robots,” 2014.
[6] J. Montiel Saenz, “Medición de ph,” 2015.
[7] P. Liljebäck, K. Y. Pettersen, O. Stavdahl, and J. T. Gravdahl, Snake
robots: modelling, mechatronics, and control. Springer Science
& Business Media, 2012.
[8] E. Kelasidi, K. Y. Pettersen, and J. T. Gravdahl, “A control-oriented
model of underwater snake robots,” in Robotics and Biomimetics
(ROBIO), 2014 IEEE International Conference on. IEEE, 2014,
pp. 753–760.
Fig. 11: Slithy I

V. D ISCUSSION AND F UTURE W ORK

For the image acquisition via wireless, the maximum


communication speed was 57600 bauds. Higher speeds
than the mentioned generate misreading of the data. If
the image is transmitted directly through USB cable
the speed recommended is 921600 bauds, allowing to
have a better image quality. Ideally, the wires should
go inside the body of the snake. Such goal could be
accomplished by using a higher class of servos (having
more torque). It is recommended to isolate every internal
component of the snake in case of leakage in the body.
Furthermore, the body should be rigid enough to prevent
any kind of scratches during the operation and flexible
enough to allow movement. For a future design, it is Mechatronic Design Student Group This
group began its work in february 2016 in
also recommended to add a battery life sensor, in order the courses of the mechatronic design spe-
to allow the user to know when to stop using the robot. cialization at EAFIT University, its formed
by 2 mechanical engineers: Martin Jaramillo
& Juan Sebastian Velasquez and 1 product
design engineer: Daniela Monclou, all senior
VI. C ONCLUSIONS engineer students. The group interests are the
bioinspired robots and biomimetics.
This paper presented Slithy I, a robot capable of
detecting images and pH readings underwater. It was
decided to use an Arducam with bluetooth communi-
cation and low resolution images (enough for inspection
purposes as initially proposed). The main contribution
of this article is The pH readings and the wireless image
transmission. The pH readings has never been used in a
snake robot project before and it is very interesting topic
for researchers to work on because the pH of the fluid
the snake robot is in can determine important factors
for inspection of underwater constructions and rescue
operations. Also, many of the snake robots projects that
have been done with image acquisition included uses
transmission of the data through cables and that could
be very inefficient due to the obstacles the snake robots
could encounter.
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 8
Fig. 12: State of the art (ANNEX A)
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 9
Fig. 13: Project schedule (ANNEX B)
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 10
Fig. 14: General circuit 1 (ANNEX C)
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 11
Fig. 15: General circuit 2 (ANNEX C)
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 12
Fig. 16: General circuit 3 (ANNEX C)
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 13
Fig. 17: General circuit 4 (ANNEX C)
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 14
Fig. 18: Morphological matrix (ANNEX D)
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 15
Fig. 19: Filter matrix (ANNEX E)
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 16
Fig. 20: Selection matrix (ANNEX F)
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 17
Fig. 21: Snake robot concept (ANNEX G)
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 18
Fig. 22: Black box (ANNEX H)
SNAKE ROBOT - MECHATRONIC DESIGN 2016-1 19
Fig. 23: Functional structure (ANNEX I)

S-ar putea să vă placă și