Design and Development of Robotic Fish Swarm Based Coast

Design and Development of Robotic Fish Swarm Based
Coast Monitoring System
Atulya Shivam Shree
∗
Vikas Kumar Singh
IIT Kanpur
Kanpur - 208016
UP , India
IIT Kanpur
Kanpur - 208016
UP , India
[email protected]
Pratap Bhanu Solanki
†
[email protected]
‡
Dr. Laxmidhar Behera
IIT Kanpur
Kanpur - 208016
UP , India
IIT Kanpur
Kanpur - 208016
UP , India
[email protected]
ABSTRACT
Regular monitoring and observation of sea coast is a challenging problem in context of critical applications like defence, detection of oil spills, chemical and biological observations. Automated coast monitoring systems could play
a vital role when round the clock monitoring is a prime
concern. In this paper, we propose an autonomous coast
monitoring system using robotic fish. This paper focuses
on design and construction of a single robotic fish, as well
as the architecture of such an autonomous coast monitoring
system capable of tactical surveillance. Multiple fish model
is simulated using VRML in MATLAB wherein the behavior
and effectiveness of the design is studied.
Keywords
Robotic fish, Coast-Monitoring System
1. INTRODUCTION
From rising water levels at the coast to intrusion detection,
from detection of oil spills to chemical and biological observations at the coast, the coast monitoring systems are prime
concerns for almost all nations. For regular monitoring and
observation of sea coast there is a need of round the clock
monitoring systems. Human beings are definitely capable of
∗Final Year B.Tech Student,Dept. of Electrical Engineering
†Final Year B.Tech Student,Dept. of Electrical Engineering
‡B.Tech Graduate,Dept. of Electrical Engineering
§Dr. Laxmidhar Behera is working as a Professor in the
Department of Electrical Engineering, Indian Institute of
Technology, Kanpur
§
[email protected]
these tasks but it is difficult for them to provide alert attention for 24 hours. This emphasizes the need for a smart,
autonomous, and reliable coast monitoring system. Since
last two decades, researchers have been working to understand and mimic fish motion in robots. In 1994 first robotic
fish Robotuna was developed at [5], where they tried to
mimic the Tuna fish. Earlier work in the area of multiple fish
simulation includes research on formation control of multirobot fish [?], and realizes the formation, maintenance, and
transformation of multi-robot fish, thus to obtain a whole
and dynamic effect of multi-robot fish progress. The use of
hierarchical architecture in a vision based closed loop experimental system consisting of five robotic fishes has been
demonstrated by [6]. Recent advances in this field include
the SHOAL project [8]. SHOAL has successfully developed
and delivered intelligent robotic fish capable of working together to monitor pollution in ports and other aquatic areas.
The initial stages of our work involved design of the robotic
fish [1]. This paper is organised as follows. Section II gives
a detailed overview of the improved design of the robotic
fish. Section III focuses on the coast monitor- ing system
covering architecture, tactical surveillance and contactless
charging mechanism. Section IV presents the multiple fish
simulation and its results. In the end we sum up with conclusion and references.
2.
CONSTRUCTION OF ROBOTIC FISH
The design of our robotic fish is inspired by natural fish
Rohu. Rohu uses carangiform motion for its propulsion in
which the most important part for generation of thrust is
flexible rear part which is about two-third of the total body
length [3]. We are using a Cascaded-3-joint Servo Mechanism to generate an increasing amplitude near-sinusoid wave
from the rear part of the body [1]. Apart from thrust the
3 servos also help in turning of fish. This turning, upto
some extent is similar to Yaw motion of rigid underwater
vehicles. For changing the pitch motion we are using a linear
movable mass mechanism which helps in shifting centre of
mass of fish, the detail description is discussed in following
subsection C. This section is subdivided into 4 parts: Part
A describes the interior details of the fish skeleton. Part B
gives the details of electronic circuit and components used
in the system. Part C discusses the mechanics of movable
mass mechanism. Part D discusses the design of outer cover.
the equations 2.
⎧
2
(xij − xij−1 )2 + (yij − yij−1 )2 = lij
⎪
⎪
⎪
⎪
⎨
)
yij = (c1 xij + x2ij )sin(kxij − 2πi
M
⎪
⎪
⎪
⎪
⎩ φ = tan−1 ( yij −yij−1 ) − tan−1 ( yij−1 −yij−2 )
ij
xij −xij−1
xij−1 −xij−2
2.1 Design of Inner Skeleton
The structure of the Robotic Fish can be divided into two
portions,the head and the flexible tail attached to it. The
head comprises of an acrylic frame housing the microcontroller and peripherals, the moving mass mechanism and
the Ob- stacle detection sensors . The tail has 3 servo motors forming a 3 joint structure. The joint angles θ1 , θ2
, θ3 describe the flexible tail motion. This motion can be
described using a travelling wave as originally suggested by
Lighthill [11].
2
ybody (x, t) = (c1 x + c2 x ) sin(kx + ωt)
where i indicates ith interval of time and j denotes joint
number.Note that (xi0 , yi0 ) = (0, 0)
The Schematic of our design has been shown in figure 3.
The head has the control circuit in form of a PCB, a battery and the linear mass positioning system. The tail has the
3 motors fixed with the help of an aluminium frame. The
entire mechanism is then surrounded by a rubber skin to
waterproof the parts. Infrared sensors have been embedded
in this skin in the front and bottom directions for detecting
the environment. There is a sealed cap like opening in the
bottom of the fish which provides access to the inner parts
when required for charging the battery or wired programming of the microcontroller.
(1)
where, ybody is the transverse displacement of the tail unit ;
x is displacement along the main axis; k is the wave no. ; λ
is the wave length; c1 is the linear wave amplitude envelope;
c2 is the quadratic wave amplitude envelope; ω = 2πf is
wave frequency; f is the oscillating frequency of the tail; and
t is time.
In real fish there are a large number of vertebral units because of which it is able to generate a smooth wave. However
in our case we have only 3 joints so generation of fish like
smooth wave is difficult. Also we are using a microcontroller
which cannot give continuous values for joint angles at each
infinitesimally small interval of time. Hence there is a need
of discretisation in both spatial and temporal domain. For
discretisation in spatial domain we approximate the wave by
fitting the links on the wave[6] ( i.e. only the end Unit points
will lie on the perfect wave ). Considering the length of each
link be lj (j = 1, 2, 3), to keep it non-dimensional, the ratio
of the links must be normalized as to be independent of its
actual size, i.e. l1 : l2 : l3 = m[l1 : l2 : l3 ], where m denotes
˘ s indicates the normalized length of
the length factor, lj ˆ
aAˇ
the jth link, and especially l1 equals 1. Also let two endpoint
coordinate pairs of each link lj be (xj−1 , yj−1 ) and (xj , yj ),
respectively, and the joint angle between lj−1 and lj be φj .
Once the amplitude coefficients ( i.e. c1 and c2 ) and k are
determined , the shape of the propulsive wave at some time
can be found. For discretisation in time domain we divide
one time period into M intervals (i = 0, 1, ..., M − 1) and
each unit is provided an index i. Now this sequence repeats
itself again and again periodically to produce a wave. The
joint angle at ith interval for joint j can be calculated using
2.2
Unit
Microcontroller Board
6 DOF IMU
Servo Motors
Obstacle Detection
Battery
Wireless Communication
Component Used
Arduino Nano 328
LSM303LHDC
Hitec HS-5646WP Servos
Sharp Sensors GP2Y0A02YK
7.4V 3300mAh LiPo Battery
XBee XB24-ACI
Table 1: Details of electronic components used
Joint 1
Joint 2
Joint 3
184 mm
7.4 V LiPo
Battery
Control Circuit
Movable
Mass m
Details of Electronic Components
For implementing fish like motion, the robot has 3 servo motors and 1 DC Motor in the Head portion to implement the
pitch Control. The servo motors are run by PWM given by
the central microcontroller, while the DC motor is controlled
by an H-Bridge L293 IC present on-board. For sensing the
environment it has 4 Sharp Infrared Sharp Sensors mounted
on it. These are mounted in the forward, left, right and bottom directions and they give a feedback of the distance of
an obstacle when they detect anything in front of it. Apart
from this there is an IMU unit which has an accelerometer
and a magnetometer. The purpose of this unit is to give an
accurate value of the orientation of the fish in an absolute
earth frame. Figure 2 shows various components mounted
on main controller circuit board. Summary of electronic
components used is tabulated in table 1.
540 mm
IR Proximity
Sensors
(2)
DC
Motor
Charging Point
and Switch
Figure 1: Schematic of Interior parts
2.3
Pitch Control Mechanism
Over years fishes have evolved in remarkable ways to live at
various depths. Predator fish such as sharks can come up
to the surface and then submerge up to 1km for hunting.
Normally fishes have a swim bladder which has a regulated
amount of air in it. This bladder gives it an adjustable
buoyant force to perform dives and ascents. In our model
of the fish we maintain a constant buoyant force, but have
a movable mass which can be used to vary the pitch angle
by changing the position of centre of mass of the fish. The
Wireless
Transmitter
Sensor Input
Digital Pins
2. Net torque due to external forces calculated about centre
of mass must be zero
Microprocessor
⃗cm × B
⃗ =0
−P
(4)
⃗cm = xcm x
P
ˆ + zcm zˆ
(5)
⃗ cm = Bsinθˆ
B
x + Bcosθˆ
z
(6)
where,
Soving for θf
θf = tan−1 (
2.3.2
Motor Driver
Accelerometer and
Magnetometer
Servo Motor
Output Pins
Figure 2: Control Circuit
mechanical structure is enclosed by a rubber skin which gives
it a continuous streamlined shape and a good aesthetic view.
There are air gaps in between the mechanical structure and
skin which provide the required buoyancy. This is crucial
as it counteracts the weight of other portions of the body
which have much more density than water. The different
forces acting on the body are mentioned in Figure 3.
Z
Bouyancy
Y
X
Drag
horizontal
COB
COM
Weight
Static Analysis of Forces
As has been pointed by Weihs [12] the conditions for stable
equilibrium are:
1. The Buoyant force must equal the net weight
B=W
B − Mg
g
⃗
⃗
⃗
⃗cm = m1 P1 + m2 P2 + M PM
P
m1 + m2 + M
Here, COB refers to centre of buoyancy, the effective point
of application of buoyant force, COM refers to the centre of
mass of fish, thrust force is produced by the oscillations of
tail, drag force which is proportional to velocity, is produced
by the water,θ is the angle between z axis and vertical, Pcm
refers to the position of CM with respect to origin, Origin
to be present at the centre of buoyancy
2.3.1
Computing Design Parameters
m1 + m2 =
Figure 3: Forces acting on the body
(3)
(7)
Design of the fish involves first designing the 3D model of
the outer skin. After this has been done the magnitude
and effective position of the centre of buoyancy can be computed by treating the outer skin as enclosing a complete
body of uniform density. The magnitude of the buoyant
force is equal to the weight of water displaced by the outer
body while CB is the volumetric centre of this solid model.
Since this point is not subject to any change during the locomotion of fish hence it can be chosen as the origin of our
coordinate system. The mass of the structure of the system
is denoted by M . The Buoyant force as per this design is
29N while the mass M is 2.2kg . Hence additional objects
have to be added to achieve submergence inside water. We
denote these masses by m1 and m2 ; m2 is added in the rear
position and remains fixed while m1 is added in the head
portion of the skeleton. The mass m1 can be moved along
the x axis by a DC motor driven screw thread mechanism.
⃗cm
This produces a change in position of centre of mass, P
which results in either an increase or decrease in elevation
angle. The governing equations for m1 ,m2 and their posi⃗1 and P
⃗2 are:
tions P
Thrust
α
xcm
)
zcm
(8)
(9)
Figure 4 shows the dynamic action of the movable mass positioning system. For getting a symmetric relation between
θ and x1 we set, θ = 0 at the position x1 = x1mean =
(x1a + x1b )/2. We set xcm = 0, x1 = x1mean in equation [5]
for x-axis and get the value of x2 as a function of m1 and
m2 . The value of m1 should be much larger than m2 for the
change in position of m1 to have maximum effect. But the
values of x2 should also stay within the limits of the model
so as to obtain a realistic solution. The values of m2 and
x2 as predicted from our calculations should have scope for
minor adjustments during the time of assembly. In this way
their values can be tweaked to compensate for the difference
in calculated values of buoyancy and mass M from their real
values.
2.3.3
Kinematic Equations for the fish model
Centre of Buoyancy
(COB)
DC Motor
Control Circuit
m1
2.4
Design of Outer Skin
After designing the interior parts and electronic circuit of
robotic fish there is an equal need of a good outer skin. The
main function of the cover is to serve as a protective skin
which waterproofs all electronic components so that they
keep on working even if the fish is fully submerged in water.
xmean
m1
x1a
m1
x1b
135 mm
Figure 4: Pitch Control using Movable Mass
The kinematic model assumes that the thrust force and the
drag force act almost along the x- axis of the body. This
nullifies the torque induced due to these forces. The change
in position of CM is given by:
∆xcm
m1 (x1 − x1mean )
=
m1 + m2 + M
(10)
Since xcm = 0 at x1 = x1mean
∆xcm = xcm
(11)
The angular acceleration is given by :
α=
Bxcm cosθ − Bzcm sinθ
I
(12)
where I is the moment of inertia of fish about its center of
mass.The acceleration is brought about by the vector sum
of the thrust and the drag forces
a=
T −D
x
ˆ
M
(13)
The following table depicts the values of design parame- ters
as computed using AutodeskTM Inventor. A prototype using
these design parameters is being created and experiments
will be performed on it to confirm the model predictions.
Design Paramater
dimensions
Buoyancy
Mass of fish
Movable mass
Position of CM
Position of m2
Maximum change in CM
Maximum pitch angle
Symbol
B
M
m
(xcm ,zcm )
(x2 ,z2 )
θf
Value
540x180x60 mm
29.00 N
2.178 kg
0.5 kg
(-8.3, 29.2) mm
(-161.8, -52) mm
8.8 mm
16.2 ◦
Table 2: Parameters for design
Figure 5: CAD model of the Outer Skin
The cover should be smooth enough to minimise the drag
force and should be able to replicate the movements of inner skeleton. Besides it should give natural aesthetics of
real fish. According to these constraints rubber seems to
be a natural substute for skin. For our fish we are using Anabond-951 rubber. This rubber is highly elastic and
stretches upto 5 times its natural length. Its tensile strength
and hardness are good which can bear normal wear and
tears. Another plus point of this rubber is that it comes in
liquid form with one curing agent and is room temperature
vulcanisable. Hence it is easy to handle in lab. There is no
need to go to higher temperature for making any prototype
with this rubber. We are using this rubber in liquid form to
make a mold with the needful core. Figure 5 shows the 3D
CAD model of outer cover of fish.
3.
COAST MONITORING SYSTEM BASED
ON ROBOTIC FISHES
3.1 Architecture of Coast Monitoring System
The coast monitoring system consists of a group of 5 robotic
fish (this number can be changed) and a base station which
are connected to each other through wireless link. In underwater communication electromagnetic waves suffer high
attenuation so it requires large wavelength which indeed results in use of large antennas. Such antennas cannot be
mounted on small robotic fishes. Hence EM wave communication is not feasible here. In contrast to electromagnetic
waves, optical waves do not suffer from such high atten- uation. However, optical wave communication under water suffers from significant scattering. The only feasible choice left
is acoustic wireless communication. Hence acoustic wireless
communication modules can be used for underwa- ter communication and networking. Underwater positioning systems are also available which are based on acoustic communication. The base station serves as a gateway for the
wireless network of fish so it collects information from fishes
and sends them to internet or any other accessible link. This
base station also serves as a charging point for the fish. As
each of fish is powered by lithium ion battery it needs regular charging. They can come one by one regularly to the
base station and can get their batteries charged. To get a
better idea Figure 6 illustrates the 3D arrangement of system. From the figures we can see that there is base station
around which the fish are roaming and one fish is inside the
cylindrical cavity of base station. This cylindrical cavity facilitates the fish to remain undisturbed while charging. The
mechanism of charging is discussed later in subsection C.
There is a chord emerging out of base station and going into
the ground, this chord provides power and wired data connectivity to the base station. If this system is deployed for
system. Accordingly base station can generate some signal
to make concerned authority alert if there is any unusual activity. Then using the position of the particular robotic fish
the concerned authority can do the needful tasks depending
on the situation.
3.3
Contactless Charging Mechanism
Since the fish have to remain submerged all the time so as
to provide continuous monitoring, the normal plug charging
will not be feasible in underwater environment. Hence we
are planning to use inductive charging method. Here there
will be no electrical contact between fish and the charger.
Figure 7 shows the idea of inductive charging which include
2 coils one is primary which is connected to power supply at
the charging point and there is secondary coil inside each
of the fish which is connected to a battery charging circuit. Now if we supply an AC in the primary coil because
of flux linkage an EMF will be generated across secondary
coil. This EMF can be used to charge the powering battery
of robotic fish circuit.
Figure 6: 3D Illustration of proposed System
defense it would be better if it remains hidden from outside.
The fish can always hide themselves underwater as they are
mobile. If the base station is also placed sufficiently below
the level of water the whole system will remain camouflaged
from surface. From Figure 6 it can be observed that the
whole system lies underwater. Although this system is still
visible from inside more advanced strategy can be employed
for hiding the base station.
Figure 7: Contactless Inductive charging
4.
3.2 Tactical Surveillance
As mentioned earlier this system can be used for defence purposes. Here in this section we will present an strategy which
can be employed using this system to detect and report any
strange sea coast activity. Here we are assuming that any
activity inside water is directly correlated with sound, for example when a ship arrives, it produces certain sound which
is different from normal sea noise. Each one of the robotic
fish can be equipped with hydrophones and underwater positioning system modules. Hydrophones are analogous of
microphones for underwater. Hence when ship comes or
other activity happens near any of the robotic fish it can detect that and inform other fish regarding the activity along
with its position. The fish which are not involved in any
other tasks can come to the specified position and can take
collective decision and report about this to the base station.
This collective decision will minimise the error probability
and hence improves the reliability of decision. The position
of each fish can be known by the underwater positioning
system. Then the base station can figure out from its prior
information whether the activity is expected or is unusual.
Base station tracks the position of fish through positioning
FISH SCHOOL SIMULATION FOR COAST
MONITORING SYSTEM
In this section the working of Robotic fish in group is illustrated through 3D simulation. The configuration of simulation environment is similar to the one explained in section
III A. It consists of 5 robotic fish and a base station. Here
we are assuming that we have a positioning system such that
at each instant position of all fish is known. The mathematical model explained in [1] is used for each single fish in the
simulation run.
The image sequence of animated 3D simulation is shown in
Figure 8. From Figure 8(a), all fish start spreading from a
point, head towards their respective position of pentagonal
formation. Finally they reach their respective positions as
shown in (g). It is to be noted that one vertex of pentagon
lies at base station where one fish gets its battery charged.
Then to illustrate the consecutive charging of fish, from (h)
to (l), each one of fish goes to the position of the next fish. In
this way some other fish comes to charging point. Similarly
in next turn next fish gets its battery charged. An illustration of gathering for collective decision is given through (m)
to (t). One fish detect some unusual activity so it informs
as possible strategies for intruder detection and reporting.
Working strategy of the coast monitoring system has been
demonstrated using simulink model. The robotic fish movement is observed in a simple environment. In the future,
effective underwater communication and positioning system
could be investigated. The robotic fish movement could be
made robust enough to sustain large magnitudes of disturbance such as ocean tides. The sea noise is difficult to model
in real time environment so some strategies need to be made
for generating good approximated model of sea noise. Exploration of robotic fish swarm algorithm would enhance and
optimize the coast monitoring system.
6.
ACKNOWLEDGMENTS
We wish to extend gratitude to our lab-mates at Intelligent
Systems Laboratory - IITK for continuous encouragement
and support during this work. Inputs from AnabondTM
technical assistants led to proper selection of the rubber used
for designing the outer cover of the fish body. Besides, we
wish to thank 4i Lab technicians at IITK for their valuable
guidance and feedback in designing and fabrication of the
mold.
Figure 8: Sequences in Multi-fish simulation
7.
Figure 9: Trajectory of fish during simulation
each other fish with the position and then all fish come together to the position of unusual activity. This way they
can take collective decision to give more confidence to the
detection. Figure 9 shows the trajectories of individual fish
during the simulation.
5. CONCLUSION AND FUTURE WORKS
This paper proposes a new improved design of a robotic
fish based on movable mass mechanism. The improved design provides the added advantage of dynamic control of the
pitch angle. With this robotic fish as the basis, we introduce a coast monitoring system which constitutes collective
working of fish, under water contactless charging, as well
REFERENCES
[1] Pratap Bhanu Solanki, Samrat Dutta, Laxmidhar
Behera, Design and 3D simulation of a Robotic Fish,
International conference on Advances in Control and
Optimisation of Dynamic Systems 2012.
[2] Jindong Liu , Huosheng Hu , A 3D Simulator for
Autonomous Robotic Fish,International Journal of
Automation and Computing 1 (2004) 42-50
[3] M. Sfakiotakis, D. M. Lane, J. Bruce, C. Davies,
Review of fish swimming modes for aquatic
locomotion, IEEE Journal of Oceanic Engineering,
ˇ
vol. 24, no. 2, pp. 237ˆ
a´LS252,
1999.
[4] Junzhi Yu, Shuo Wang and Min Tan, A simplified
propulsive model of bio-mimetic robot fish and its
realization, Robotica (2005) volume 23, pp.
˘ S107.
101ˆ
aA¸
[5] D. S. Barrett,” Propulsive efficiency of a flexible hull
under water vehicle”, Ph.D. dissertation,
Massachusetts Institute of Technology, Massachusetts
Avenue, Cambridge, 1996.
[6] Junzhi Yu ,Long Wang, Jinyan Shao, Min Tan
˘
aAIJControl
ˆ
and Coordina- tion of Multiple
˘ IEEE
Biomimetic Robotic Fishˆ
aAIJ
TRANSACTIONS ON CONTROL SYSTEMS
TECHNOLOGY, VOL. 15, NO. 1, JAN- UARY 2007
[7] http://web.mit.edu/towtank/www/Pike/pike.html
[8] http://www.roboshoal.com/media/2682/220512 shoal
launch press- release lne lc final.pdf
[9] http://www.nmri.go.jp/eng/khirata/fish/
[10]
www.festo.com/net/en corp/SupportPortal/Downloads/146913
[11] M. J. Lighthill, Note on the swimming of slender fish,
J.Fluid Mech., vol. 9, pp. 305317, 1960.
[12] Daniel Weihs, Stability Versus Maneuverability in
Aquatic Locomo- tion INTEG. AND COMP. BIOL.,
42:127134 (2002)