Вы находитесь на странице: 1из 6

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

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

Fish Locomotion Modeling and Simulation


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

Abstract—Building successful applications using mimicked robotic


fish required a comprehensive study to the various parameters II. CARP FISH SWIMMING MODES
affecting fish’s performance during swimming in water, such as Building a 3D simulation environment for a Carp fish
thrusting force, swimming speed, manoeuvrability, etc. during
requires monitoring and analysis of its locomotion in various
various swimming behaviour including straight swimming, c-turn
escape and s-shape maneuver. The high complexity of the
swimming modes in order to acquire the useful data necessary to
underwater environments pushed the researchers to find new determine specific control variables during swimming. The Carp
techniques for underwater robots modelling. Among these fish can swim in various swimming modes. Studying these
techniques, video model prediction technique plays an important modes is necessary to specify the parameters affecting the
role in describing the rules covering the relationships between the swimming process. These modes are categorized as follows;
fish and its environment. This paper introduces an experimental
method to model and then simulate, using Matlab, the main A. Periodic Straight Line Swimming Mode
swimming modes of a carangiform Carp fish swimming based on In normal states, fish swim steadily in periodic mode. This
the continuous video monitoring. The suggested models may be swimming technique is used to cover large distances at a
used in the future to build and control a real counterpart robotic constant speed, may be with a low acceleration/deceleration of
fish and to produce the important autonomous navigation about 0.3L/s2, where L is the fish body length [4], see Fig 1.
commands that govern the robotic fish locomotion. The realistic
results of fish swimming simulation prove the validity of suggested
models.

Key words—Mathematical modeling, Virtual carp fish robot, 3D


Simulation.
Fig. 1. Periodic fish swimming in a straight line.
I. INTRODUCTION B. Transient Turning C or S Shape Swimming Mode
Fish have acquired amazing swimming capabilities after The live fish can turns by executing few successive motions;
millions of years of evolution, which are very close to optimal firstly, the fish swim steadily in a straight manner; secondly, it
with regard to their habitats of lives [1]. They can thrust bends its body toward its centroid taking the shape of letter „C‟
themselves by the harmonize motion of the body, fins, and tail for a very short time interval, then, after the head of the fish
achieving incredible noiseless, effective and maneuverable become in the desired orientation, its posterior body part and tail
propulsion [2]. Many researchers and engineers focus on the restore the initial stretched straight shape; finally, fish cruises
design and realization of the mechanical structure of a fish-like toward the required direction. These movements are constructed
robot with the guidance of fish-like robot related theory studies for the robotic fish to emulate the turning procedure steps,
contributed by biologists and fluid mechanics experts, and namely, cruising, arcing the body, restoring straight shape, and
achieved valuable results [3]. But the current fish-like robot cruising once again, see Fig 2.
systems cannot give a good solution due to the restrictions on
materials and techniques. On the one hand, the current materials
as well as the components used for making fish-like robots
cannot satisfy the needs of the theory studies. On the other hand,
the swimming mechanism of a fish, especially the kinematics
and dynamics characteristics of it, is

not well studied. The motivation of this study is to try a new top-
down research mode of the study of the fish-like robot related
Fig. 2. Transient fish swimming. a) C-turn start, b) Fish path during C-turn, c) S-
problems. shape maneuver, (d) Fish path during S-shape maneuver.
2016 Al-Sadeq International Conference on Multidisciplinary in IT and Communication Science and
Applications (AIC-MITCSA) – IRAQ (9-10) May
The fish can turn with very low angular speed of nearly 0.5 The motion of the six data points at the fish body centerline
rad/s, with fixed linear speed. There are many other swimming were traced and stored during video recording. The motion of
modes that can be categorized as transient, such as; burst, brake, each data point was then analyzed using Matlab program and
coast and ascent-descent swimming modes. These modes could after that a model was built to characterize the motion of each
be designed from the straight and turn swimming modes with data point. The fish motion in addition to several mathematically
some modifications to the amplitude and/or the frequency of important variables such as frequency, amplitude, acceleration
undulation of the robotic fish tail. and phase difference are extracted.
The swimming speed of the robotic fish can be controlled by The body midline was marked with a blue line and it also
modulating either the tail links undulation frequency f or the divided into five parts and the angles between these parts (φj)
amplitude of links undulation. To enhance the maneuvering were used as an indicator of the fish body bending state.
capability of the fish, two swimming maneuver movement Assuming the length of each link be lj (j=1, 2, 3, ... , n), where
modes for obstacle and predator avoidance are designed to n represents the number of robot links. For each tail link, the
imitate the transient behavior of the live fish. A series of starting and ending points would be labeled, (xj-1, yj-1) and (xj, yj)
experiments were carried out on a live Carp fish for both straight respectively, and the angle between any two adjacent links lj-1
and turning swimming modes to get the required data to and lj would be φj, see Fig 5.
complete the fish modeling.
III. CARP FISH MONITORING
A live Carp fish was monitored in a laboratory to acquire the
required data necessary for designing the swimming modes
explained previously. The fish was monitored during the
swimming in a periodic straight mode as well as transient
turning modes.
A. Periodic Straight Line Swimming Monitoring Fig. 5. A simplified model of carangiform swimming.
The straight swimming was performed in the Respirometer Once the data point‟s positions known from the processing of
tunnel for three swimming speeds namely; low, middle and high each frame, the values of the joint angles φj would be also
speed, see Fig 3. known. These angles are then stored using an [n x o] Look-up
Table in the memory of the robotic fish controller, where o is the
discretization degree of the traveling wave of the fish tail and it
was chosen to be 20 in this work.
1) Experiments in a swimming tunnel: Monitoring the
swimming of live fish in its ordinary natural environment is not
practical, for this reason, a small homemade respirometer tunnel
was designed and implemented to be used during studying the
(a) (b) fish swimming movements within adjustable environmental
Fig. 3. Respirometer tunnel. conditions. The designed tunnel provides a precise method to
control the speed of water in the tunnel as well as the
In this work, Fourier series was used to build the temperature under which the experiment is carried out in
mathematical model of the fish swimming movements. The addition to keeping a laminar water flow, see Fig 3.
presented model and the control variables for a swimming fish The swimming experiment starts by placing a Carp fish in a
are evaluated from the image processing of the frames acquired swimming tunnel and then, the speed of water in the tunnel is
from the recorded video. During the image processing, the Carp adjusted to get a suitable flow. The lowest speed for the fish
fish was divided into five sections, determined by the fish total swimming is specified the fish began to swim while the highest
length. Each intersection is marked as a data point including the speed for the fish swimming is specified when the fish gave up.
fish nose and the tail tip points. These points marked with The middle speed is the mid-way between the lowest and highest
yellow dots on the fish body centerline represent the digitization speeds.
data points within the frames. The separation of each data point Figure 3 depicts the camera setup used to record the fish
can be seen in Fig 4. during swimming. The camera was fixed at a height of 20cm
above the water surface of the tank. For each fish swimming
mode; high, medium and low speed, a period of 1min was
recorded. In each recorded video, only 2-3sec portion was taken
Fig. 4. Carp fish divided into five sections. and analyzed.
2016 Al-Sadeq International Conference on Multidisciplinary in IT and Communication Science and
Applications (AIC-MITCSA) – IRAQ (9-10) May
The position of each data point was analyzed in each frame
using a Matlab program where a second degree (D2) Fourier
function was fitted through the x-y positions of the data points.
The position and separation between the data points is
determined according to the fish length. The second data point on
the fish body centerline was taken as a reference point (point
zero), which is the starting point of the flexible body part.
Figure 6 shows some frames that from one cycle of the fish
tail (swimming at 1.89 Bl/s). These frames were extracted from a
video recorded at 25 fps using Sony HandyCam and then
segmented into individual frames using a Matlab program.

Fig. 6. Frames extracted from monitoring video, for one tail fin cycle (Frame
Rate= 25 fps, swimming velocity 1.89 Bl/s). Fig. 7. Plotting the undulating data points. Undulation amplitude (in pixels) vs.
frame from nose of the fish to its tail. Blue circles represent the raw data points
2) The procedure of an experiment in a swimming tunnel: After and the red line is the fitted Fourier model.
the fish was placed in the test tunnel, the tunnel water flow was Here one can observe that the wavelength does not change
adjusted at a low speed of about (0.1m/s) to permits the fish much towards the tail, therefore the undulation frequency is
under the test to acclimatize to the new environment and quiet approximately remains constant at the same speed although
down. When the fish gets calm then the experiment can be there are a very slight frequency variation. The undulation
started. amplitude should increase as shown in equation 3.
3) Mathematical modelling using Fourier interpolation: In this A1 < A2 < A3 …. (3)
section the models used to characterize the fish locomotion and It can be seen from Fig 7 that points 1 and 2 are not agree
the changing variables are evaluated, described and explained. with this rule, this is because the fish‟s center of gravity lies at
Fourier interpolation was used to model the movements of the the first third of the fish‟s body length (point 2), therefore the
data points. Simulation of fish motion with two degrees (D2) undulation amplitude growths after the center of gravity to the
was considered a good choice. Fourier series can be obtained by fish‟s tail. For this reason equation 3 would be as seen in
equation 1 below. equation 4.
(1) A1 > A2 < A3 ...... A6 (4)
In order to explain the relation between the fish motion and
Where ad and bd are model parameters. Fourier series the increment in the fish velocity, one can compares the motion
parameters were computed using the position of data points of the same point on the back of the fish (such as data point
collected through fish swimming experiments. The experimental number 5) which is displayed in Fig 8 over the three different
data points are graphed on the same graph with the data points velocities. 0.95 Bl/s, 1.89 Bl/s and 3.37 Bl/s.
Fourier model where the movement is assumed sinusoidal. The
2nd degree Fourier representation for all models can be seen in
equation 2.
(2)
4) Data fitting: The x-y coordinates were extracted from the
video recordings plotted and fitted using a second degree
Fourier interpolation in Matlab to obtain the equation for the Fig.8. Carp fish data point 5 for 0.95, 1.89 and 3.37 Bl/s swimming speed.
sinusoidal motion for each data point. Each data point had not
less than 15 samples and was enough to fit a Fourier model From Fig 8 one can see that the amplitude increases with
through. The raw data and the fitted Fourier curve for each data increased speed.
point can be seen in Fig 7. B. Transient C-Turn or S-Shape Swimming Monitoring
In order to implement these responses with the simulated and
implemented robotic fish, a series of laboratory experiments was
carried out to collect the required data for these responses. In
2016 Al-Sadeq International Conference on Multidisciplinary in IT and Communication Science and
Applications (AIC-MITCSA) – IRAQ (9-10) May
these experiments, a digital video camera fixed on a stand was
positioned so as to record the activity of the fish in the basin.
The experiments have demonstrated that sound energy generated
by dropping a ball bearing into the fish basin from a height of
50cm, which simulates a predation attempt can stimulates the
fish to swim in one of these modes.

a. C-TURN SWIMMING
When a fish gets a strong sound stimulus, or is attacked by a
predator, an alarm reaction or an escape reaction is triggered. As
the fish take the shape of C-letter during the turn then this
reaction is known as the C-start response. This reaction makes
the fish rapidly begins its escape from the dangerous region, see
the drawings in Fig 2a. The drawings show that an attacked fish
would execute two different successive motions to alter its Fig. 11. Plotting all data points for C-turn swimming. Amplitude (in pixels) vs.
orientation away from the attacker. In the first movement, it frame (or time in 1/100 sec) from nose of the fish to its tail. Blue circles
would bend its body like a C-letter shape to go away from the represent the raw data points and the red line the fitted Fourier model.
source of sound. In the second movement, it would then
elongate its body from the bent state. b. S-SHAPE SWIMMING
1) The procedure of an experiment in a swimming basin: The
1) The procedure of an experiment in a swimming basin: a same procedure of C-turn was performed on fish in order to
single Carp was placed in an observation basin measuring acquire the data of swimming in S-shape maneuver except the
25x25x25cm. The walls of the basin were opaque and the top change in type and nature of stimulus used in this mode of
left open. The basin was filled with water at 27°C to a depth of swimming, see the drawings in Fig 2c. In this case a sudden
5cm. The footage recorded was then examined using a Matlab movement of objects inside water basin. The recording data for
program. The position of each data point on the body centerline this mode of swimming is shown in Fig 12.
and the inter angles between the segments of the body
centerline, seen in Fig 9, was determined following the start of
the stimulated C-turn escape response. A mean of the three fast
starts was recorded, see Fig 10.

Fig. 12. Selected frames extracted from monitoring video, for stimulated fish
during S-shape maneuver, (Frame Rate= 100 fps).
Fig.9. Carp fish data points and body centerline during C-turn swimming, shown
orientation angle (α) and inter body midline segments angles (φ1, φ2, φ3 and φ4). 2) Fourier interpolation model for S-shape swimming: The x-y
coordinates were extracted from the video recordings plotted
The orientation angle (α) shown in Fig 9, represents the
and fitted using a second degree Fourier interpolation in Matlab
amount of fish body turn as compared with the previous
to obtain the equations of motion for each data point in S-shape
orientation in the previous recorded frame.
swimming mode. The raw data and the fitted Fourier curves can
be seen in Fig 13.

Fig. 10. Selected frames extracted from monitoring video, for stimulated fish
during C-turn escape, (Frame Rate= 100 fps).

2) Fourier interpolation model for C-turn swimming: The x-y


coordinates were extracted from the video recordings plotted
and fitted using a second degree Fourier interpolation in Matlab
to obtain the equations of motion for each data point in C-turn
swimming mode, see Fig 11.
2016 Al-Sadeq International Conference on Multidisciplinary in IT and Communication Science and
Applications (AIC-MITCSA) – IRAQ (9-10) May
then the drag coefficient can be estimated using equation 7 seen
below [9],

(7)
Fig. 13. Plotting all data points for S-maneuver swimming. Amplitude (in pixels) Where a is radius of ellipsoid along x-axis and b is the radius
vs. frame (or time in 1/100 sec) from nose of the fish to its tail. Blue circles
represent the raw data points and the red line the fitted Fourier model.
of ellipsoid along y-z plane. The drag force produced by the fins
located on the body is estimated using the standard drag
IV. PROPULSION SYSTEM MODELLING equation and knowledge of the shape of the fins.
Modelling the propulsive system of a virtual robotic fish is VI. RESTORING FORCES AND MOMENTS
necessary in the estimation of the thrusting and manoeuvring
control forces and moments. The undulation frequency and The restoring forces and moments are the terms which take
undulation amplitude which represent the inputs of the model into account the gravitational and buoyancy forces. Two
are delivered to the model of the virtual servos as servos important parameters in calculating these forces and moments
frequencies and arms angles. The output of each virtual servo is for underwater vehicles are the distance between the origin of
the desired arm displacement. These arms displacements are fed the body-fixed reference frame, the centre of gravity (COG) and
into the tail kinematics which rotates the tail links at specified the centre of buoyancy (COB) of the vehicle. For simplicity the
angular displacement at the various joints of the robotic fish tail. vehicle is assumed to be neutrally buoyant. Obtaining neutral
There are two main techniques for determining the thrusting buoyancy is a near impossible task within the hardware but
forces, these are, the vortex theory [5] and elongated body making this assumption simplifies a number of terms within the
theory and its derivatives [6]. The first determines the thrust model.
force generated from analysing the parameters of vortices The gravitational and buoyancy vector used for the simulation
generated in the wake which is considered as a complex task [7]. of the robotic fish vehicle with body centre of gravity at (x G, yG,
The second determines the thrusting force generated by a fish zG) and centre of buoyancy at (xB, yB, zB) is given in equation 8
like propulsion according to the large amplitude elongated body [10].
theory introduced by Lighthill [6]. In this method, the major part
of momentum transfer between water and fish is assumed to be
take place at the fish caudal fin. The formula that can be used to (8)
compute the thrusting force is the same that given in equation 5.
(5)
Where FT represents the thrusting force in (N), mv represents Where W=mg and B=ρgV are the robot weight and buoyancy
body mass in (kg/m), wt represents the tail vertical velocity in forces respectively, V is the robot volume.
(m/s) and Wt represents the horizontal velocity of the tail tip in VII. WATER CURRENTS EFFECT
(m/s).
Controlling the robotic fish requires taking the effect of the
V. HYDRODYNAMIC DAMPING TERMS disturbances like wind, waves and water current into account.
One force that acts on any vehicle operating in the underwater During this work, the effects of wind and waves would not be
environment is hydrodynamic damping or drag. This force is considered. The water currents in some situations can be
one of the forces that contribute to the dynamics of the vehicle increased up to 3 m/s [11]. In a structured environment, such as
and as such a term is required in the forces and moments section a pool, the effect of a current should be taken into account where
of the model to represent the drag force. Damping is the effect of current is large enough to cause the robot dynamics
approximated using the standard equation for drag shown in change [12]. In the inertial frame, the water currents, was
equation 6 [8]. assumed constant and irrotational, see equation 9, i.e.

(6)
m/s (9)
Where ρ is the density of fluid (kgm-3), CD is the drag
coefficient, A is the cross-sectional area (m2) and U is the
velocity of the vehicle (ms-1). This equation is used to calculate
the drag force acting in surge, sway and heave and also used to and . The water current effect must be considered in the
estimate the rotational drag terms in roll, pitch and yaw. The dynamics equation of a body swimming in a fluid. This can be
equation for drag requires the drag coefficient CD to be known. achieved by using a relative velocity in body-fixed frame when
As the robotic fish body was assumed to be a prolate ellipsoid, computing the centripetal and Coriolis forces and the damping
forces, see equation 10 [12];
2016 Al-Sadeq International Conference on Multidisciplinary in IT and Communication Science and
Applications (AIC-MITCSA) – IRAQ (9-10) May
(10)
VIII. 3D SIMULATION OF A VIRTUAL ROBOTIC FISH
Figure 14 shows the GUI of a Matlab program that simulates
a 3D swimming of robotic fish. The program enables the user to
adjust the dimensions of each tail link in addition to adjusting
the body and nose lengths to simulate any fish specie including
the Carp fish of course. The simulated robotic fish has four tail Fig. 19. The simulated tail bending sequence in S-shape maneuver swimming.
links; with a virtual servo at each joint represented by vertical
XII. CONCLUSION
dashed blue lines.
This paper has presented a mathematical model of a
biomimetic virtual robotic fish. Development of the model was
based on the monitoring of the carp fish using a Sony
HandyCam camera. The development of the models provides a
framework that allows for different types of actuation schemes
for biomimetic propulsion systems to be evaluated. The
simulation was dependent on the curve fitting of the monitoring
data and it indicates that the propulsive system may provide
Fig. 14. Simulation of virtual robotic fish with Matlab. improved maneuverability with a smaller steady turning radius
and less overshoot during course changes. The development of a
IX. STRAIGHT SWIMMING MODE SIMULATION model without passing through complex mathematical processes
Figure 15 depicts the extracted tail data of a straight provides a framework for evaluating the performance of
swimming. In this figure, the tail of the virtual fish is undulating different types of actuation systems for biomimetic propulsion
at a frequency of 1Hz with undulation angle of 42º. systems without cumbersome mathematical efforts. From the
experimental results, it was noticed that at fixed tail undulation
frequency, different undulation amplitudes produces different
fish swimming velocities. In contrast the fish speed is directly
proportional to frequency of tail undulation when the undulation
angle is kept constant.

REFERENCES
[1] S. Asgeirsson, “Motion Analysis of Arctic char and Atlantic salmon”, M.
Sc. thesis, 2013.
Fig. 15. The simulation of the four tail links undulation (including caudal fin) for
[2] M. J. Lighthill, “Aquatic animal propulsion of high hydromechanical
the virtual robotic fish, at tail frequency of 1Hz and undulation angle of 42º.
efficiency”, J. Fluid Mech., vol. 44, part 2, pp. 265-301, 1970.
[3] Internet Web Site, “www.robotic-fish.net”.
X. TRANSIENT C-TURN SWIMMING MODE [4] M. J. Lighthill, “Note on the Swimming of Slender Fish”, the Journal of
For a transient C-turn swimming the extracted data was Fluid Mechanics, Vol. 9, pp. 305–317, 1960.
[5] H. Hu, J. Liu, I. Dukes and G. Francis, “Design of 3D Swim Patterns for
drawn as depicted in Fig 17. This figure demonstrates the Autonomous Robotic Fish”, Proc. of IEEE/RSJ Int. Conf. on Intelligent
animation of the tail and caudal fin data points of the virtual Robots & Systems, Beijing, China, pp. 2406-2411, 9-15 Oct. 2006.
robotic fish during the shrink and release stages. [6] H. Yamaguchi and N. Bose, “Oscillating Foils for marina propulsion”, 4th
International offshore and polar engineering conference, vol. 3, Osaka,
Japan, Apr. 1994.
[7] Shinjo N, Swain GW, “Use of a shape memory alloy for the design of an
oscillatory propulsion system”, IEEE Journal of Oceanic Engineering,
vol. 29, no.3, pp. 750-755, 2004.
[8] P. W. WEBB, “Is the high cost of body/caudal fin undulatory swimming
due to increased friction drag or inertial recoil?”, Exp. Biol., vol. 162, pp.
157-166, 1992.
[9] A. Tonello, “Control and Guidance Systems for the Navigation of a
Biomimetic Autonomous Underwater Vehicle”, M. Sc. Thesis, Padova
Fig. 17. The simulated tail bending sequence in C-turn swimming. University, 2011.
[10] T.I. Fossen, “Guidance and Control of Ocean Vehicles”, John Wiley &
XI. TRANSIENT S-MANEUVER SWIMMING MODE Sons Ltd, 1994.
[11] M. J. Lighthill, “Large-amplitude elongated-body theory of fish
For a transient S-shape maneuver swimming the extracted locomotion”, Proceedings of the Royal Society of London, Vol. 179, pp.
data was drawn as shown in Fig 19. This figure shows the 125-138, 1971.
animation of the tail and caudal fin data points of the virtual [12] K. Streitlien, and G. S. Triantafyllou, “On Thrust Estimates for Flapping
robotic fish during the shrink and release stages. Foils”, Journal of Fluids and Structures, Vol. 12, pp. 47-55, 1998.

Вам также может понравиться