You are on page 1of 6

2016 Al-Sadeq International Conference on Multidisciplinary in IT and Communication Science

and Applications (AIC-MITCSA) – IRAQ (9-10) May

Design and Implementation of Swimming Robot


Based on Carp Fish Biomimetic
Ammar Ibrahim Majeed Abduladhem Abdulkareem Ali, SMIEEE
Electrical Engineering Department Computer Engineering Department
University of Mustansiriyah University of Basrah
Baghdad, Iraq Basrah, Iraq
E-mail: ammar.alkindy@uomustansiriyah.edu.iq E-mail: abduladeem1@yahoo.com

Abstract—This paper introduces a complete plan for design various swimming modes and to specify the parameters
and implementation of a biomimetic robotic fish. The robot affecting the swimming process. These modes are categorized
design is physically based on a model of a Carp fish. The as follows;
designed robot has a rigid anterior body part, flexible posterior
body part and a flexible caudal fin. The flexible posterior body A. Periodic Straight Line Swimming Mode
part is consists of four links and are driven by four servomotors In normal states, fish swim steadily in periodic mode. This
in addition to a fifth one for controlling the robot pitch angle
swimming technique is used to cover large distances at a
through changing the centre of gravity position. The designed
robot was also equipped with diving system which consists of a constant speed, may be with a low acceleration/deceleration of
water pump and an internal tank. The fish locomotion control is about 0.3L/s2, where L is the fish body length [1], see Fig. 1.
divided into speed, orientation, diving and transient motion
control. The swimming of the robotic fish was relied on the so
called behavioural based control system that makes use of a
sensor fusion algorithm. The innovative design of the robotic fish
combines the two schemes of the underwater vehicles or robots
control in that it can swim autonomously or remotely controlled Fig. 1. Periodic fish swimming in a straight line.
by a personal computer via WiFi link. The experimental results
B. Transient Turning C or S Shape Swimming Mode
of the designed robotic fish show the excellent feasibility and high
performance of the proposed design. The live fish can turns by executing few successive motions;
firstly, the fish swim steadily in a straight manner; secondly, it
Index Terms— Biomimetic, Robotic fish, 3-D locomotion, bends its body toward its centroid taking the shape of letter
Discrete control system. „C‟ for a very short time interval, then, after the head of the
fish become in the desired orientation, its posterior body part
I. INTRODUCTION
and tail restore the initial stretched straight shape; finally, fish
The fish has an efficient mechanical system with regard to cruises toward the required direction. Consequently, a
their habitation and method of living for each type due to sequence of successive movements for the robotic fish are
natural selection, although it is not always optimum. These constructed to emulate the turning procedure steps, namely,
amazing capabilities of fish push the human to develop large cruising, arcing its body, restoring straight shape, and cruising
number of underwater vehicles which are very suitable for once again, see Fig. 2.
operation in aquatic environments and they are essentially
based on the mechanical structure and propulsion method seen
in fishes. Autonomous underwater vehicles (AUVs) used for
scientific research are example of aquatic application, which
is continuously seeking for enhanced efficiency that permit
long mission to be carried out. High efficiency locomotion
capabilities seen in many types of fishes could offer
inspirations for a design of propulsion mechanisms that can
replace the propellers that are used nowadays. The benefits of
silent propulsion and an inconspicuous wake can be used
predominantly for defence applications. Studying fish Fig 2. Transient fish swimming. a) C-turn start, b) Fish path during C-turn, c)
swimming styles and extracting the dexterous swimming S-shape maneuver, (d) Fish path during S-shape maneuver.
skills of these fishes opens the doors for these features to be The fish can turn with very low angular speed of nearly 0.5
exploited in the field of robotics that is continuously growing rad/s, with fixed linear speed. There are many other
to cover every field of our life. swimming modes that can be categorized as transient, such as;
burst, brake, coast and ascent-descent swimming modes.
II. CARP FISH SWIMMING MODES These modes could be designed from the straight and turn
This section deals with the characterization and evaluation swimming modes with some modifications to the amplitude
of the movements that enables the Carp fish to swim under and/or the frequency of undulation of the robotic fish tail.
2016 Al-Sadeq International Conference on Multidisciplinary in IT and Communication Science
and Applications (AIC-MITCSA) – IRAQ (9-10) May
The swimming speed of the robotic fish can be controlled Figure 4b shows the direction of movement in terms of
by modulating either the tail links undulation frequency or the pitch, roll, and yaw. For a fish swimming in a constant speed,
amplitude of links undulation. To enhance the manoeuvring the total thrusting force must be equivalent to the total
capability of the fish, two swimming maneuver movement resistance it faces while swimming forward.
modes for obstacle and predator avoidance and escaping are
designed to imitate the transient behaviour of the live fish. IV. CARANGIFORM ROBOTIC FISH
The study of biomimetic is largely motivated by the need to
III. FORCES EXERTING ON A FISH DURING SWIMMING integrate design advantages found in the natural world to
The most important features of water that affects the experimental devices and, eventually, practical machines. The
evolution of fishes are its high density which is 800 times work contained herein consisted of the construction of a
compared to that of air and its incompressibility. The density biomimetic carangiform robotic fish that possesses a
of water is approximately equals to that of the aquatic propulsive section with four short links capable of fitting the
animals‟ bodies which is sufficiently counterbalancing the sinusoids of fish swimming in straight, C-turn and S-
gravitational force. This property makes it possible to develop maneuver modes shown in Fig. 2a and Fig. 2c.
various swimming propulsors, because that there is no need Before a mechanical design for an oscillating foil propulsor
for fish weight supporting [2]. Figure 3 demonstrates the can be synthesized, first a basis for motion modelling and
terms used to investigate the fish swimming mechanisms, as control of the propulsor elements must be established to
they will be used through this work. ensure that the propulsor will be feasible to build as well as
effective. In bio-inspired fish-swimming engineering, the
undulatory part of the robotic fish is designed in a discrete
manner as a multilink (or n-link) structure composed of
numerous undulating hinges actuated by servomotors. The
model of this structure can be made by assuming that the body
is consisting of a chain of successive links along the body
centerline, and the spatial displacement of links ending points
can be estimated by a curve fitting to a discrete, positional and
time-dependent body wave. This can be accomplished by
Fig. 3. Terms used to characterize the fish fins and other fish features [2].
using equation 1.
In swimming, momentum is transferred between fish body
and water and the chief reaction forces are drag force, y = f (x, i) = (c1x + c2x2) sin (kx + 2πi/N) (1)
acceleration reaction force and lift force. where y equals the tail‟s horizontal displacement from the
Drag can be split into the several categories: undulation center, i represents the ith value for the sequence
 Viscous or friction drag; It is due to the friction between y(x, i), (i = 0, 1, 2, ... N-1) during one complete undulation
the fish body and the water. period, c1 and c2 are the linear and quadratic wave amplitude
 Form drag; It is generated due to water pushing away envelopes, x represents the location on the tail, k is the body
from the path of the fish. wave number which equals two times pi divided by the tail
 Vortex or induced drag; It is due to loss of energy through length, N represents the discretization degree of the traveling
the vortices which is produced by the caudal fin and other wave. [3].
fins. For a four links tail, the approximated tail wave was shown
in Fig. 5. This Figure shows the time-stepped tail links curve
The two latter components are combined together to form fitting.
the pressure drag. Acceleration reaction represents an inertial
force produced due to water resistance that is surrounding the
fish body. Lift forces are produced by the pectoral fins which
cause asymmetrical flow around them and produce lift [2].
Figure 4a shows the forces exerting on a fish during
swimming. These forces are hydrodynamic lift, buoyancy and
weight in the vertical direction, alongside with thrust and
resistance in the horizontal direction.

Fig. 5. Tail links curve approximation.

In this work, the designed robotic fish and its control would
be depends on the live Carp fish monitoring data in various
Fig. 4. (a) The forces exerting on a fish during swimming. (b) Roll, Yaw swimming modes. These data were collected during our work
and Pitch explanations [2]. on the previous paper.
2016 Al-Sadeq International Conference on Multidisciplinary in IT and Communication Science
and Applications (AIC-MITCSA) – IRAQ (9-10) May
Fish are vertebrates with a spinal column made up of many Finally the controller interprets the servomotor state space
small bone segments, see Fig. 6. Mimicking this with an and generates a pulse width modulated (PWM) signal for each
artificial mechanism is impractical. The mechanical links are servomotor. The most common PWM signal for neutral
almost sure to be longer than the individual fish vertebrae, so position in servomotors is 1.5ms, with the sweep ranging from
the mechanical fish tail inherently lacks the flexibility of an 1.0ms to 2.0ms.
actual fish. In the construction of an artificial fish tail, the
minimizing of tail link size and the use of numerous links will
allow the artificial fish tail to better fit the sinusoidal curves of (5)
actual fish motion.

For each swimming mode, a tail oscillation frequency of 1


Hz was used to ensure that the servomotors were within their
maximum operating speed with safety margin during testing,
to avoid having experimental data contaminated by
servomotors not keeping proper time. The sampling frequency
used was 20 Hz; this frequency was chosen because it yielded
Fig. 6. Skeleton of a generalized bony fish [4]. a time step interval that was slightly greater than the response
Using the data collected from monitoring a live fish during time of the servomotors, therefore increasing sampling
a straight line swimming to resolve the tail geometry for each frequency above 20 Hz would not increase state space
time step, a rectangular matrix STraight Undulation (ST-Und) resolution with this hardware and would not improve fidelity.
is created for tail link angles. This matrix would represent a
look-up table of robotic fish microcontroller. The designed robotic fish is shown in Fig. 7. The weight of
this robot is 5 kg.

(2)

In this system n represents the order of the link pin


connection, starting numbering at zero with the connection to
the body, and N, as in equation 1, is the time step.
For each swimming mode, (straight, C-turn, and S- Fig. 7. The designed robotic fish.
maneuver), there is a special look-up table except for the
turning left or turning right swimming during a straight mode Aluminium cast was used to build the rigid head and frontal
where the servos angles are derived from that of a straight line body, offering protecting cavity and waterproofing case to
swimming added with a suitable deflection angle φd or -φd gather the robotic fish components. The multi-link flexible tail
applied to the first and second links angles only. Defining a was built of four direct acting standard sized hobby
vector φ = {φ1, φ2, φ3, φ4} as the joints status, then: servomotors connected one to another as a chain by
aluminium links, one servomotor for each link, considering
φ1 = φ1T + φd/2, the caudal fin (make of thin layer of cold silicon), in its final
φ2 = φ2T + φd/2, (3) link, which produces the main part of the thrusting force. The
φ3 = φ3T, and caudal fin was designed to mimic the shape of the Carp fish
φ4 = φ4T caudal fin and it was fixed to the last link via a thin peduncle
where {φ1T , φ2T , φ3T , φ4T } is the stored data in the robotic made of aluminium, see Fig. 8.
fish microcontroller within the lock-up table.
The final operation to convert the model into a state space
for the controller is to transform the angular information into
servomotor states. This is done by scaling the angle to a
servomotor articulation that ranges from -λ degrees to +λ
degrees. The angle is divided by λ degrees, multiplied by 128, Fig. 8. Biomimetic of the caudal fin of the Carp fish.
the common neutral state of a servomotor when using
proportional control, then added to 128. Thus, for an angle of - Each link is formed of single aluminium piece, that is has a
λ degrees the state is 0, for an angle of +λ degrees the state is hull to contain the servo of that link. The lengths of the links,
256, and for an angle of 0 degrees the state is 128. starting of the link attached to the fish body and ending at the
link that attached to the caudal fin, are; 8.5, 6.5, 6, and 13.5
cm long with the anterior body length of 28.5 cm making the
(4) total length for the designed fish of 54.5 cm. The schematic
diagram shown in Fig. 9 illustrates these parts of the robotic
fish.
2016 Al-Sadeq International Conference on Multidisciplinary in IT and Communication Science
and Applications (AIC-MITCSA) – IRAQ (9-10) May
their body weight is exactly the same as the buoyancy force
acting on them. However, in practice this is difficult to
achieve due to changing water conditions. One of the methods
used to control the RoboFish depth is to use a static diving
system which is based on the pressure ballast system shown in
Fig. 10.

Fig. 9. The main parts of the four-links designed robotic fish. Fig. 10. Static diving based on pressure ballast system.
Development of the four links RoboFish with high speed
The system is working as follows; the ballast tank has an
actuation ensures turning rates that could approach those for
air at ambient pressure. When the valve is opened, the water is
actual fish that could achieve a turning rate of 105 degrees in
pumped inside the ballast tank, causing the air to be
0.9 second. The state space developed for the RoboFish,
compressed, which making the robot heavier and make it dive.
includes three distinct swimming modes; straight swimming,
As the air pressure inside the ballast tank increased, the pump
C-start, and S-maneuver in addition to several swimming
cannot pump more water into the tank, or when the pump is
behaviours, such as, turning left or right, diving-floating
turned off as the desired depth is accomplished, in this case
capability, cruising-in-straight, cruising-in-turn, sharp-turn,
the valve can be closed. To make the robot float again, the
and ascent-decent.
valve is opened to release water which is pushed out the tank
As it can be seen in Fig. 9, that the robotic fish hardware is
due to pressurized air force. The air inside the tank is then
consisting of the following components; an accelerometer
expand and making the robot positively buoyant once again.
type ADXL345, gyroscope type L3GD20, a compass type
This method is quite simple and very reliable. If the valve
LSM303DLHC, a Wi-Fi communication module type WiFi-
system was failed for any reason, the robot will float as the
Plus-click MRF24WB0MA all from MikroElektronika, a
water leaks out the tank. With a medium pressure pump, only
pressure sensor type MPX4115 for depth estimation from
70 to 80% of the ballast tank capacity can be utilized, causing
Freescale, five IR proximity sensors type GP2Y0A21YK from
in a small lost volume. For the diving purposes a mini micro
Sharp, four servo motors actuating the fish tail (two sub-micro
water pump, type RS-360SH was used with a suitable ballast
sized waterproof servos type TRA2065 from Traxxas and two
tank and valve.
standard servos type MG995 from TowerPro), one water gear
pump for diving control type RS-360SH from Estone New, a VI. STABILITY
colour wireless RF camera work in the bandwidth (900-1200
MHz), two batteries each 2200mAh and a voltage regulators, One other important aspect of anybody in an underwater
two microcontrollers type PIC18F45K22 from Microchip (one environment is the body‟s stability. For example if the body is
gathering sensors data and directing the data communication neutrally buoyant but it is not statically stable then when the
with personal computer through serial lines and Wi-Fi module body is at rest it might tilt to one side rather than stay
and the other for controlling the servo motors and the water horizontal. Stability of a submerged body is determined by the
gear pump and also gathering IR proximity sensors data). The relative positioning of the gravitational and buoyancy force
two microcontrollers were programmed using MikroC vectors. These positions are termed the center of gravity
Integrated Development Environment (IDE). A personal (COG) and center of buoyancy (COB). For the robot to
computer with a complete graphical user interface (GUI) remain at a constant depth the magnitudes of the gravitational
written in Visual Basic program was designed to control the and buoyancy forces acting through the COG and COB
robotic fish when it was in ROV mode, to display the sensors respectively must be equal. However, for the robot to be
data transmitted by the robotic fish, and display the video statically stable the COG and the COB must coincide so there
images streamed form the wireless camera attached to the is not rotational force moment produced; see Fig. 11 [5].
robotic fish. As the robot has a pressure sensor, compass, Placing the COG below the COB on the body‟s z-axis ensures
accelerometer and gyroscope, hence, depth, heading angle and the system stability.
speed of the robot are obtained easily.
V. BUOYANCY AND DEPTH CONTROL
In the water environment fish is not only control their
movements in the horizontal plane but also control the depth
at which they swim. Therefore, their bodies have to counteract
the buoyancy force generated by the water displacement of
their bodies in order to maintain depth. One way to Fig. 11. Restoring forces for roll around x-axis (a) when upright i.e. no roll
accomplish this is to become neutrally buoyant; this means angular displacement and (b) with angular roll displacement, with COB and
COG differ on z-axis.
2016 Al-Sadeq International Conference on Multidisciplinary in IT and Communication Science
and Applications (AIC-MITCSA) – IRAQ (9-10) May
VII. COMMUNICATION WITH ROBOTIC FISH importance. In this work, the robotic fish has a 3D swimming
In order to control the robotic fish remotely and to send capability, therefore five sensors are required to detect and
sensors data from the robotic fish to the controlling PC, a respond to objects in their vicinity, one for each side on the
wireless connection between them is required. WiFi module, head of the robotic fish; left, right, front, up, and down, see
which is small expansion board, could be easily interfaced Fig. 12.
with the serial port of the robotic fish microcontroller. The
range of WiFi is about 400m in air, and underwater it is about
40cm which is suitable for communication in the case of
surface or shallow water swimming. The WiFi transceiver
used in this work is an off the shelf commercially available
module type WiFi-Plus-click MRF24WB0MA from
MikroElektronika [6].
Fig. 12. Position of the IR sensors on the head of the robotic fish. Shown
VIII.THE BATTERY OF ROBOTIC FISH is the activation of IR sensors with respect to relative wall angle. Green lines
show which sensors that are not activated, while red lines show which sensors
Each underwater AUV requires a power pack for that are activated.
energizing the controllers, actuators, communication module
and the sensors. A DC battery which can be recharged is X. CAMERA AND DVR
preferred for this purpose because of its low cost, easy to Many applications for underwater robots require the use of
handle, replaced and reload. The robotic fish was provided camera for underwater vision. The application may be one or
with three small battery packs, a 7.4 volt / 2100 mAh each to more of the following; target seeking, searching for lost
power the robot circuits. objects, objects identification, robot localization and mapping,
IX. ROBOTIC FISH SENSORS obstacles and collision avoidance, underwater laid-cable
tracking and inspection. The wireless RF camera used in this
The required sensors for the designed robotic fish would be work run at frequency range of (900-1200 MHz) and it
demonstrated in the following sections. Various types of produces a video stream with a resolution of 320x240 pixels
sensors are required in order to measure the robotic fish and it was fixed at the head of robotic fish [11]. It sends its
position, velocity, acceleration, heading, depth in water, pitch signal to the receiver that is connected to the PC through a
angle, rolling …etc. USB Digital Video Recorder (DVR) [12].
A. Pressure Sensor XI. SERVO MOTORS
The depth of the underwater robot can be measured
The robotic fish uses four servomotors in its tail assembly.
indirectly through the measurement of the pressure using a
Two of the servos are sub-micro sized waterproof servos type
suitable pressure sensor. The Freescale pressure sensor
TRA2065 from Traxxas [13]. They are used to actuate the last
MPX4115 was used.
two links in the tail structure. The other two servos are
B. Digital Compass standard size servos type MG995 from TowerPro. These
A digital magnetic compass type LSM303DLHC from servos are used for actuating the remaining two links.
MikroElektronika was attached to the microcontroller of the XII.VISUAL BASIC MONITORING AND CONTROLLING PROGRAM
robotic fish through I2C interface lines. The compass FOR PC
measures the yaw-orientation of the robotic fish with referring
to the earth‟s magnetic field [8]. In order to control and monitor the underwater robotic fish,
a Visual-Basic program was written for this purpose. The GUI
C. Accelerometer of this program was shown in Fig 13.
The acceleration of the robotic fish in the x, y, and z
direction can be measured using an embedded accelerometer.
The Accel Click from MikroElektronika is a small three-axis
accelerometer and it was used for this purpose [9]. This sensor
is connected to the host microcontroller using I2C interfacing
lines. The signal will be used to determine the speed and then
the position of the robotic fish after integration.
D. Infrared Distance Sensor
This is an analog sensor which is widely used for mobile
robot especially for tasks like; collision avoidance, obstacles
avoidance and walls detection. An example of this type of
sensors is a GP2Y0A21YK from Sharp [10]. It is a low cost,
small (4.5x1.5x1.25cm), supply voltage range, 4.5V–5.5V and
low current (35 mA). In addition to the detection range of the Fig. 13. GUI of the V.B. monitoring and control program.
sensor(s) to be used, the number of sensors required is of great
2016 Al-Sadeq International Conference on Multidisciplinary in IT and Communication Science
and Applications (AIC-MITCSA) – IRAQ (9-10) May
The program was designed to perform the following tasks;
connecting to a specific robotic fish in order to send the
desired commands, acquiring and display the robotic state
vector that consisting of, (Depth, Pitch angle, roll angle and
yaw angle), setting the required undulation angle for the
(c)
robotic fish tail, fish speed, swimming path whether it is Fig. 14. The robotic fish during swimming, a) Straight. b) C-turning. c) S-
straight or circular. The program also receive the video stream manoeuvring.
of the robot embedded RF wireless camera and displaying it
on the GUI. The received video would be configured through XV. CONCLUSION
the format menu shown by pressing the format button on the The purpose of this research is to construct a fully
GUI menu of the program and also could be captured by autonomous robot which can navigates and interacts with its
pressing the capture button. The V.B. GUI also contains a environment precisely on the basis of sensory feedback
buttons for connecting, disconnecting the communication with without intervention from a human operator. The designed
the robots. The selection of the target robot for sending the robotic fish was based on the biomimetic of a Carp fish. For
control commands would be according to the selected robot IP this reason, a sophisticated study about the physiology and
and port number. The communication with the robotic fishes biomechanics of the live Carp fish was performed. The
would be through the WiFi link and this was accomplished servomotors were used as the main actuators of the designed
through the use of socket object inserted in the V.B program. robotic fish, which imitate the muscle action. A set of sensors,
The operator may send one of the following commands, when which mimic the animal sensorial system was used to avoid
the robot is in the ROV mode; collision with obstacles, predators, and other agents. This in
- Left, right, up, down or reset as a direction commands, addition to many navigational sensors which were used to
- Narrow or wide tail fin undulation, generate the required feedback control signals necessary in the
- Normal, fast or slow fish swimming speed, and, control commands production. Biomimetic controllers that are
- Straight, circular, C-turning or S-manoeuvring robot relied on the principles of control systems seen in vertebrate
swimming style. animals, like fish, were also designed and implemented. The
behaviour of the robotic fish during the swimming in the
XIII. ROBOT‟S MICROCONTROLLERS PROGRAMS autonomous mode was designed to cope with that of the live
As mentioned previously the robotic fish has two Carp fish. The experimental results show the effectiveness of
microcontrollers, one for the communication with PC via the proposed design and its realistic in mimetic the live Carp
WiFi link to receive the operator commands sent from the PC fish.
during ROV mode of operation and acquiring the robotic fish REFERENCES
sensors data, and the other microcontroller is used for
[1] M. J. Lighthill, “Note on the Swimming of Slender Fish”, The
implementing the operators command sent from the first Journal of Fluid Mechanics, Vol. 9, pp. 305–317, 1960.
microcontroller to control the diving water pump and the [2] M. Sfakiotakis, D. Lane, and J. Davies, “Review of fish swimming
servo motors that actuating the fish tail in addition to modes for aquatic locomotion,” J. of Oceanic Engineering, vol. 24, no.
acquiring the readings of the five IR proximity sensors used 2, pp. 237–252, 1999.
[3] P. W. WEBB, “Is the high cost of body/caudal fin undulatory
for obstacle and collision avoidance. swimming due to increased friction drag or inertial recoil?”, Exp. Biol.,
vol. 162, pp. 157-166, 1992.
XIV.EXPERIMENTAL RESULTS [4] J. Yu, M. Tan, and J. Zhang, “Fish-inspired swimming simulation and
The following are the pictures of the robotic fish during its robotic implementation”, in Proc. 41st International Symposium on
Robotics (ISR) and 2010 6th German Conference on Robotics
swimming and performing the various swimming movements. (ROBOTIK), Munich, Germany, pp. 1158-1163, 2010.
The robotic fish straight, C-turn and S-maneuver movements [5] M. J. Lighthill, “Large-amplitude elongated-body theory of fish
are shown in Fig. 14a, Fig. 14b and Fig. 14c. locomotion”, Proceedings of the Royal Society of London, Vol. 179,
pp. 125-138, 1971.
[6] Web site, http://www.mikroe.com/click/wifi-plus/.
[7] Web site, http://cache.nxp.com/files/sensors/doc/data_sheet/MPX
4115.pdf/fsrch=1&sr=1&pageNum=1.
[8] Web site, http://www.mikroe.com/click/compass/.
[9] Web site, http://www.mikroe.com/click/accel/.
(a) [10] Web site, http://www.sharpsma.com/webfm_send/1208.
[11] Web site, http://www.dpl-surveillance-equipment.com/632.html.
[12] Web site, http://www.ecvv.com/product/3372360.html.
[13] Web site, https://traxxas.com/products/parts/servos/2065.

(b)

You might also like