Documente Academic
Documente Profesional
Documente Cultură
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).
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
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
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