0% found this document useful (0 votes)
2 views15 pages

Vo 2009

This paper presents an optimization method for maximizing the propulsive velocity of a 3-joint fish robot using a combination of Genetic Algorithm (GA) and Hill Climbing Algorithm (HCA). The research focuses on deriving a dynamic model of the fish robot and analyzing the effects of input torque parameters on its velocity, ultimately demonstrating the feasibility of the proposed method through simulations and experiments. The study highlights the advantages of biomimetic fish robots in underwater environments due to their energy efficiency and silent movement compared to traditional propeller-based systems.

Uploaded by

Khắc Huy Ngô
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views15 pages

Vo 2009

This paper presents an optimization method for maximizing the propulsive velocity of a 3-joint fish robot using a combination of Genetic Algorithm (GA) and Hill Climbing Algorithm (HCA). The research focuses on deriving a dynamic model of the fish robot and analyzing the effects of input torque parameters on its velocity, ultimately demonstrating the feasibility of the proposed method through simulations and experiments. The study highlights the advantages of biomimetic fish robots in underwater environments due to their energy efficiency and silent movement compared to traditional propeller-based systems.

Uploaded by

Khắc Huy Ngô
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 15

Journal of Bionic Engineering 6 (2009) 415–429

Propulsive Velocity Optimization of 3-Joint Fish Robot


Using Genetic-Hill Climbing Algorithm

Tuong Quan Vo, Hyoung Seok Kim, Byung Ryong Lee


School of Mechanical and Automotive Engineering, University of Ulsan,
San 29, Muger 2-dong, Nam-gu, Ulsan 680-749, Korea

Abstract
Underwater robot is a new research field which is emerging quickly in recent years. Previous researches in this field focus
on Remotely Operated Vehicles (ROVs), Autonomous Underwater Vehicles (AUVs), underwater manipulators, etc. Fish robot,
which is a new type of underwater biomimetic robot, has attracted great attention because of its silence in moving and energy
efficiency compared to conventional propeller-oriented propulsive mechanism.
However, most of researches on fish robots have been carried out via empirical or experimental approaches, not based on
dynamic optimality. In this paper, we proposed an analytical optimization approach which can guarantee the maximum pro-
pulsive velocity of fish robot in the given parametric conditions. First, a dynamic model of 3-joint (4 links) carangiform fish
robot is derived, using which the influences of parameters of input torque functions, such as amplitude, frequency and phase
difference, on its velocity are investigated by simulation. Second, the maximum velocity of the fish robot is optimized by
combining Genetic Algorithm (GA) and Hill Climbing Algorithm (HCA). GA is used to generate the initial optimal parameters
of the input functions of the system. Then, the parameters are optimized again by HCA to ensure that the final set of parameters
is the “near” global optimization. Finally, both simulations and primitive experiments are carried out to prove the feasibility of
the proposed method.
Keywords: fish robot, carangiform, velocity optimization, propulsive model
Copyright © 2009, Jilin University. Published by Elsevier Limited and Science Press. All rights reserved.
doi: 10.1016/S1672-6529(08)60140-7

Borazjani and Sotiropoulos[3] numerically investigated


1 Introduction the hydrodynamics of carangiform swimming in transi-
Generally, many researches on underwater propul- tional and inertial flow regimes. They investigated the
sion mainly depend on the use of propellers or thruster to influences of relative magnitude of viscous and inertial
generate the motion of object in underwater environment. forces, i.e. the Reynol number (Re), and the tail-beat
Most of aquatic animal are likely to change their body frequency, i.e. the Strouhal number (St) on the hydro-
shape for movement. The change of shape generates dynamics of carangiform locomotion. Guo[4] developed
propulsion force to make them move forward or back- a measurement strategy for a bionic AUV (BAUV) to
ward effectively. Carangiform fish robot is also one kind reduce positioning uncertainties while the BAUV was
of bionic robots by changing body shape to create mo- controlled to reach a target efficiently. The BAUV had
tion in underwater environment. the role as a target tracker. It can swing the pectoral fins
Lauder and Drucker[1] made the thorough surveys when searching for a target and oscillates its tail fin to
and analyses of motion mechanisms of fish fin in order move forward. Low et al.[5] discussed a mechanism
to develop such underwater robot systems. Lighthill[2] design and gait of biomimetic fish robot in two major
surveyed the hydromechanics of aquatic animal propul- forms: planar serial chain mechanism and parallel
sion because of the motion mechanisms of many un- mechanism. Besides, gait functions for two forms of
derwater animals were evolved through many genera- biomimetic fish robots were also discussed.
tions to adapt to the harsh underwater environment. However, all the studies discussed above are based
Corresponding author: Byung Ryong Lee
E-mail: [email protected]
416 Journal of Bionic Engineering (2009) Vol.6 No.4

on quite simplified dynamic models or on experiments. We design a 3-joint (4-links) fish robot in order to
Some researches have carried out parameter analysis and get smoother and more natural motion. The analytical
optimization. Yan et al.[6] investigated the influences of model of fish robot is shown in Fig. 2. T1 and T2 are the
the characteristic parameters, including frequency, am- input torques at Joint-1 and Joint-2, which are generated
plitude, wave length, phase difference and coefficient of by two active DC motors, ș is horizontal rotated angle at
wave amplitude envelope on forward velocity of fish the joints. We assume that inertial fluid force FV and lift
robot by experiments. Yu and Wang[7] calculated the force FJ act on tail fin only (Link-3) which is similar to
optimal link ratio of 4-link fish robot by computer the concept of Nakashima et al.[10].
simulation and compared simulation results of the model The forces exerting on fish robot are presented in
with the optimal link ratio and model without the opti- Fig. 3. FF is the thrust force component at tail fin, FC is
mal link ratio. Another solution for optimization was lateral force component and FD is the drag force caused
proposed by Seo et al.[8] They used numerical optimi- by the friction between fish robot and the surround me-
zation software (NLPP – Non Linear Path Planning – dium during swim. The calculations of these forces are
Tool Box for Matlab) to optimize the control parameters similar to the method in Ref. [10] for 2-joint fish robot.
for a simplified planar model of a carangiform fish ro- We suppose that the tail fin of fish robot is in a
bot. constant flow with a speed of Um, so we can derive the
In this paper, we consider a 3-joint (4-links) ca- inertial fluid force FV and lift force FJ acting on the tail
rangiform fish robot. The dynamic model of the robot is fin, from which we can calculate the thrust component
derived by using Lagrange method. The influence of FF and lateral component FC. In this paper the flow
fluid force on the motion of fish robot is also considered
based on Lighthill’s carangiform propulsion[9]. Besides,
the Singular Value Decomposition (SVD) algorithm is
used to minimize the divergence of fish robot links when
simulating fish robot’s operation in underwater envi-
ronment.
The main goal of this paper is to acquire an opti-
mization method to maximize the forward velocity of
fish robot. Maximum velocity of fish robot is realized by
applying optimal input torque functions to its dynamic Fig. 1 Carangiform locomotion style.
model. The optimal input torque functions are obtained
by optimizing the parameters of these functions, such as (Link-3)
Y
(Link-2) l3
amplitude, frequency and phase difference. Our pro- l2
posed method for solving this optimization problem is (Link-1)
(Link-0) m3 (x3,y3)
l1 a2
the combination of GA and HCA with respect to fish T2 a3
l0
robot dynamic model and some other related constraints. m2 (x2,y2)
T1 a1

2 Motion equations of fish robot m1 (x1,y1) X

In our fish robot, we focus mainly on the type of


Fig. 2 Fish robot analytical model.
carangiform fish because of its fast swimming charac-
teristics which resemble to mackerel or trout. Carangi- Y
form fish has large, high aspect ratio tail. Except thuni- Direction of movement

form fish, the posterior part of carangiform fish plays an FJ


important role in producing thrust force. The movement
FF FD
of this fish requires powerful muscles that can generate
side to side motion of the posterior part while the ante- FV FC X
rior part of the body remains relative motionless state as
shown in Fig. 1. Fig. 3 Forces distribution on fish robot.
Vo et al.: Propulsive Velocity Optimization of 3-Joint Fish Robot Using Genetic-Hill Climbing Algorithm 417
speed of water is assumed to be 0.08 m/s that is quite
slow, by which the dynamic characteristics of the fish
robot can be observed distinctly when the parameters are
changed. FV is a force proportional to but in the opposite
direction of the acceleration[10]. FV and FJ are calculated
by Eqs. (1) and (2), respectively.

FV ʌU LC 2U sin D  ʌU LC 2DU cos D , (1)


Fig. 4 Model of inertial fluid force and lift force.
FJ 2ʌU LCU 2 sin D cos D , (2)
where L is the span of the tail fin, ȡ is the water density,
U is relative velocity at the center of the fin, Į is attack
angle, and the chord length is 2C.
The fluid force and lift force are divided into thrust
component FF in x direction and lateral force component (a) (b)

FC in y direction as shown in Fig. 4. FF and FC can be Fig. 5 (a) Relationship between U and Um. (b) Diagram of attack
angle D calculation.
calculated as
Details of the calculation of Mij and Ni (i, j = 1, 2, 3) are
FF FFV  FFJ FV sin 360D  T1  T 2  T3  presented in Appendix. By solving Eq. (9), we can get
FJ sin 360D  T1  T 2  T3 , (3) the values of Ti , Ti (i = 1, 2, 3). Based on Eq. (9), SVD
algorithm is used in our simulation program to minimize
FC FCV  FCJ FV cos 360D  T1  T 2  T3  the divergence of the oscillation of fish robot links. This
FJ cos 360D  T1  T 2  T3 . (4) divergence can cause the velocity of fish robot to diverge
too.
Eqs. (3) and (4) can be simplified as The motion equation of fish robot is expressed by

FF  FV sin T1  T 2  T3  FJ sin T1  T 2  T 3 (5) mxG FF  FD , (10)

FC FV cos T1  T 2  T3  FJ cos T1  T 2  T3 (6) where xG is the acceleration of fish robot centroid posi-
tion, m is total mass of fish robot in water (m = 11.45 kg).
If we just consider the movement of fish robot in x The drag force FD is calculated by
direction, so the relative velocity in y direction at the
center of tail fin is calculated by 1
FD UV 2 CD S , (11)
2
u T1l1 cos T1  T1  T2 l2 cos T1  T 2 
(7) where ȡ is the mass density of water, V is the velocity of
T1  T2  T3 a3 cos T1  T 2  T 3 fish robot relative to the water flow, CD is the drag co-
efficient which is assumed to be 0.5 in the simulation, S
As shown Fig. 5a, Um and u are perpendicular to
is the projection area of the fish robot body on the plane
each other, so the value of U can be calculated by Eq. (8).
perpendicular to the flow (S = 0.021 m2).
The calculation of attack angle is introduced in Fig. 5b.
3 Optimization of the maximum velocity
U2 U m2  u 2 . (8)
In the optimization of the maximum velocity of the
By using Lagrange’s method, the dynamic model of
fish robot, we first briefly introduce GA and HCA, and
fish robot can be described as
explain why we use the combination of GA and HCA to
ª M 11 M 12 M 13 º ªT1 º ª N1 º solve this problem. Then we describe the optimization
«M « »
M 23 »» «T2 » «N » algorithms and methods. Finally, some simulation re-
« 21 M 22 « 2» (9)
sults are presented to prove the effectiveness of the pro-
«¬ M 31 M 32 M 33 »¼ «¬T3 »¼ «¬ N 3 »¼ posed method.
418 Journal of Bionic Engineering (2009) Vol.6 No.4

3.1 GA and HCA (4) Repeat (2) to (3) until all the neighboring states
GA[11, 12] is based on the process of Darwin’s theory are of lower quality.
of evolution by starting with a set of potential population (5) Take the current state as the solution of the
with some or many individuals and then changing them problem.
during several iterations. The first potential population is
generated or selected randomly or arbitrarily. An indi- 3.2 Using GA-HCA to maximize fish robot’s velocity
vidual in the population is called a chromosome, and the Fig. 7 is the GA-HCA diagram of the optimal
entire set of chromosomes is called population. The problem. Fish robot has two active joints, Joint-1 and
chromosomes evolve during several iterations are called Joint-2, to generate the movement of the robot. Two
generations. GA uses the concept of survival of the fit- input torque functions for Joint-1 and Joint-2, T1 and T2
ness by randomly initializing a population, in which in Fig. 2, are calculated as
each individual contains the parameters to reach a pos- T1 A1 sin 2S f1t , (12)
sible solution of an optimization problem. Each indi-
vidual in the population is assigned a fitness value that is T2 A2 sin 2S f 2 t  E , (13)
used to indicate the quality of the individual as an op-
where A1, A2 are amplitudes, and f1, f2 are frequencies of
timal solution for the problem or not. Then, the selected
input torques for Motor-1 and Motor-2 respectively, ȕ is
individuals become parents based on their fitness value
phase difference between input torques of two motors.
and then continue to create the next generation of the
potential solution to the optimal problem. The new po-
tential generations are generated using the methods of
crossover and mutation.
Sometimes, the result of GA is just a local optimum
but not the global optimal solution of the problem. In this
case, we use HCA to optimize the GA result again to
achieve better result. In theory, it is sometimes very
difficult to find the real global optimal solution for a
problem, so that the optimization by HCA could find the
“near” global optimal solution for the problem[13, 14].
There are two popular combinations of the two
algorithms: HCA-GA and GA-HCA. In theory, the
second combination will give better results than the first
one because the GA result is optimized one more time by
HCA. Fig. 6 illustrates local and global maximums. The
process of HCA can be expressed by the following steps.
(1) Pick a random point in the search space.
(2) Consider all the neighbors of the current state.
Fig. 7 General algorithm of the optimization process.
(3) Choose the neighbor with the best quality and
move to that state. In Eqs. (12) and (13), five parameters, A1, A2, f1, f2
and ȕ, need to be optimized to build two input functions
T1 and T2 for the system.
The propulsive speed of fish robot in steady state
can be presented by
KP
X , (14)
FF
where K is propulsive efficiency (K = 0.4), P is average
Fig. 6 Hill climbing graph demonstration. consumed power, which is calculated as
Vo et al.: Propulsive Velocity Optimization of 3-Joint Fish Robot Using Genetic-Hill Climbing Algorithm 419

T1T1  T2T2
P
2
In GA and HCA, fitness function is used to evaluate
the values of the suitable parameters of a system. The
main idea of fitness function for GA and HCA is that
maximum propulsive speed gives maximum velocity of
fish robot. The value of propulsive efficiency is referred
to the suggested value in Ref. [10].
Besides, the algorithm of this fitness function is
also based on the dynamic model of fish robot in order to
check the suitability of these parameters to the fish robot.
The algorithm of fitness function is expressed in Fig. 8.
The role of HCA is to find the “near” global optimal
set of parameters which is based on the set of population
of parameters generated by GA and fitness function.
Details of HCA are given in Fig. 9. By using GA-HCA,
if the result is the “real optimal” one, it will keep in
similar values in many offspring generations. Base on
this characteristic of GA-HCA we determine the crite-
rion to terminate the optimized process.
For the optimization method by GA-HCA, we
suppose 5 boundary conditions for the input torque
functions

­0 d A1 d 6 Fig. 9 HCA diagram.


°
°0 d A2 d 6
° 3.3 GA-HCA implementation
®0 d f1 d 2 (15)
The simulations are carried out by using GA tool-
°
°0 d f 2 d 2 box of Matlab program[15]. The GA program runs with
°0 d E d S / 3 the population of 300 and the generation of 500 respec-
¯
tively. During the heredity process, we use the selection
The parameter ranges of A1 and A2 are chosen based
method as normalized geometry selection, use the
on the physical characteristic of motors and simulation
multi-non-uniform mutations as the mutation method,
survey. The parameter ranges of f1, f2, and ȕ are chosen
and use the arithmetic crossover as the crossover method.
based on the simulation survey presented in Section 4.1.
Then, the optimal population generated by GA is further
optimized by HCA to ensure that the final optimal set of
Torque input functions (T1, T2) parameters is the “near” global optimal set for the sys-
tem.
Dynamic model of fish robot To prove the effectiveness of this proposed opti-
Maximum
mization method, we carry out simulation with arbitrary
T1 ,T2 Fitness parameters of the input torque functions. Normally, there
function
is no method to choose the suitable values of the five
parameters, A1, A2, f1, f2, ȕ, to build two input torque
Calculate the propulsive speed of fish robot
X
KP functions for the system. Also the range value of each
FF parameter is not known exactly. By investigating the
relationship between velocity and each parameter, we
Fig. 8 Fitness function of GA and HCA. know the divergent range of the velocity. So, base on this
420 Journal of Bionic Engineering (2009) Vol.6 No.4

result we can determine the ranges of parameters, given


in Eq. (15), as the boundary conditions of the optimiza- 0.8
A1 = A2 = 1.0 N·m
tion. Actually in arbitrary case, we can also base on this 0.7
A1 = A2 = 2.5 N·m
A1 = A2 = 3.5 N·m
survey to choose the values of parameters which rely on A1 = A2 = 4.5 N·m
A1 = A2 = 5.0 N·m

Velocity of fish robot (m·sí1)


0.6
their ranges. However, this is not an optimal method
0.5
because if one of the parameter is unsuitably chosen, the
input functions could make the system halt or divergence. 0.4
Or we can not choose the maximum values of the pa- 0.3
rameters for input functions to create the maximum
0.2
velocity for fish robot. The maximum values of pa-
rameters set can even be harmful to the mechanism 0.1

structure of fish robot. Therefore, using optimal algo- 0.0


0 1 2 3 4 5 6 7 8 9 10
rithm by GA-HCA, the combination values of A1, A2, f1, Time (s)
f2, ȕ are chosen and evaluated suitably to ensure the fish (a)
robot to reach its maximum swimming velocity. More-
18
over, comparison of our optimal simulation results with
A1 = A2 = 5.5 N·m
other experiment results will prove the advantage of our 16

proposed methods.
Velocity of fish robot (m·sí1)

14

4 Results and discussion 12

10
4.1 The influence of parameters of input torque
8
functions on the fish robot velocity
4.1.1 Influence of amplitudes on fish robot velocity 6

In this simulation, the values of amplitudes A1 and 4


A2 are varied while the other parameters are kept as 2
constants. Then we input some different input functions
0
pairs which are built by this rule to the dynamic model to 0 1 2 3 4 5 6 7 8 9 10
Time (s)
observe the change of velocity as shown in Fig. 10. The
(b)
frequencies are set to relative small value (f1 = f2 = 0.2 Hz)
Fig. 10 (a) The influence of amplitudes on velocity, f1 = f2 = 0.2Hz,
to study clearly the influence of amplitudes upon the
E = 30Û. (b) Divergence case.
velocity divergence. As shown in Fig. 10a, when A1 = A2
= 5 N·m, velocity has the trend to diverge. So A1 and A2
6
can not exceed 5 N·m, otherwise the velocity will di-
A1 = A2 = 0.5 N·m
verge as shown in Fig. 10b for A1 = A2 = 5.5 N·m. Also A1 = A2 = 1 N·m
5 A1 = A2 = 2 N·m
Fig. 10a shows strong velocity oscillation when ampli- A1 = A2 = 3 N·m
tudes reach to 5 N·m. So in this case (f1 = f2 = 0.2 Hz) 5 A1 = A2 = 4 N·m
4
N·m is the top limit of amplitude, we can only choose the
amplitudes lower than or equal to 5 N·m. 3
In Fig. 11, we fix the frequencies to f1 = f2 = 0.6 Hz
and E = 30Û, if the amplitude values are greater than 4 2
N·m the velocity tend to diverge. So, in this case 4 N·m
is the top limit of the amplitudes. 1
Figs. 10 and 11, indicate that the velocity of fish
robot increases with the amplitudes. But the top limit of 0
0 1 2 3 4 5 6 7 8 9 10
amplitudes should be set lower as the frequencies in- Time (s)

crease. If the amplitudes exceed the top limit, the ve- Fig. 11 The influence of amplitudes on velocity, f1 = f2 = 0.6
locity tends to diverge and oscillate. Hz, ȕ = 30Û.
Vo et al.: Propulsive Velocity Optimization of 3-Joint Fish Robot Using Genetic-Hill Climbing Algorithm 421
4.1.2 Influence of frequencies on fish robot velocity 4.5
f1 = f2 = 0.3 Hz
Fig. 12 shows the influence of frequencies on the 4.0
f1 = f2 = 0.7 Hz
velocity, when A1 = A2 = 3 N·m and E = 30Û. 3.5
f1 = f2 = 1.0 Hz
f1 = f2 = 1.4 Hz
In Fig. 12a, the velocity has trend to diverge when 3.0 f1 = f2 = 1.6 Hz

f1 = f2 = 0.7 Hz or f1 = f2 = 0.9 Hz. When f1 = f2 = 0.98 Hz, 2.5


the velocity totally diverges, as shown in Fig. 12b. So, 2.0
0.98 Hz is the top limit of frequencies in this case.
1.5
Fig. 13 shows the influence of frequencies on the
1.0
velocity, when A1 = A2 = 1 N·m and E = 30Û. In this case
0.5
the velocity will diverge when frequencies are greater
0.0
than or equal 1.6 Hz. 0 1 2 3 4 5 6 7 8 9 10
Time (s)
Figs. 12 and 13 indicate that the limit of the fre-
quencies decreases as the amplitude increase; below the Fig. 13 The relationship between frequencies and velocity with
limit of the frequencies the velocity increase with the A1 = A2 = 1 N·m, E = 30Û.

frequencies. 4.1.3 Influence of phase difference on robot velocity


The phase difference between two input torque
1.4 functions also has significant influence on the fish robot
f1 = f2 = 0.1 Hz
f1 = f2 = 0.3 Hz
1.2 f1 = f2 = 0.5 Hz velocity. Figs. 14 and 15 show the influence of phase
f1 = f2 = 0.7 Hz
f1 = f2 = 0.9 Hz difference on the velocity as A1, A2, f1, f2 are kept as
Velocity of fish robot (m·sí1)

1.0 different constants. In Fig. 14, E = 60Û for the bottom


0.8
curve and E = 1Û for the top curve. It shows that as
the phase difference increases the velocity decreases.
0.6 Fig. 15 shows that when the amplitudes and frequencies
exceed some values, the velocity starts to oscillate.
0.4
This part investigates the influences of the five
0.2 parameters of the input torque functions on the fish robot
velocity. However, the values of the parameters are
0.0
0 1 2 3 4 5 6 7 8 9 10 chosen arbitrarily, and we are not able to determine the
Time (s)
optimized parameters at this stage to maximize the fish
(a)
robot velocity. So, base on the results of this investiga-
tion, next part will present the optimal results generated
by GA-HCA.

0.14
Velocity of fish robot (m·sí1)

0.12

0.10

0.08

0.06
ȕ = 1Û
0.04 ȕ = 10Û
ȕ = 30Û
0.02 ȕ = 50Û
ȕ = 60Û

0.00
(b) 0 1 2 3 4 5 6 7 8 9 10
Time (s)
Fig. 12 (a) The influence of frequencies on velocity, A1 = A2 = 3 Fig. 14 The influence of phase difference on velocity with A1 = A2
N·m, E = 30Û. (b) Divergence case. = 1.5 N·m, f1 = f2 = 0.3 Hz.
422 Journal of Bionic Engineering (2009) Vol.6 No.4

tion and their angular velocities are given in Fig. A1 in


1.2
the Appendix. The velocity-time and moving dis-
1.0 tance-time curves are given in Fig. 16. Fish robot swims
a distance of about 11.15 m with 20 seconds. After about
0.8
6 seconds, the fish robot reaches a stable velocity about
0.6 0.61 m·sí1.
ȕ = 1Û
The relationship between propulsion force FF and
0.4
ȕ = 10Û drag force FD is shown in Fig. 17. The propulsion force
ȕ = 30Û
0.2 ȕ = 50Û generated by tail fin and the robot body oscillation push
ȕ = 60Û
the fish robot moving forward. Since the fish robot
0.0
0 1 2 3 4 5 6 7 8 9 10 swims underwater so a drag force is created by the fric-
Time (s)
tion of body and the water. Because we suppose that the
Fig. 15 The Influence of phase difference on velocity with A1 = A2
= 3 N·m, f1 = f2 = 0.7 Hz. experiment for our fish robot is carried out in a tank, so
the flow velocity Um is quite slow. As the propulsion
4.2 Optimal results generated by GA-HCA force is always greater than the drag force so that fish
In general, a biological carangiform type fish is robot can swim forward. Similar to the trend of the ve-
reported to have the same frequencies. However, the locity, both propulsion force and drag force reach stable
case of different frequencies is also investigated to states after about 6 seconds.
compare the performance with that of the same fre-
quencies case.
Moving distance (m)

In this optimization method, the optimal values of


five parameters are generated by GA-HCA simultane-
ously base on the range of each parameter values as in
Eq. (15). The input torque functions built by these op-
timal parameters will maximize the fish robot velocity
Velocity of fish robot (m·sí1)

with respect to its dynamic model. In this optimization


program, two cases of input torque functions are con-
sidered. First case is the optimization of five parameters
with different frequencies (f1  f2). The second case is the
optimization of (A1, A2, f, ȕ) with the same frequencies
(f1 = f2).
Fig. 16 Simulation of fish robot velocity and moving distance
4.2.1 Different frequencies case with respect to time by using Eq. (16).

Table 1 Optimal values of parameters with different frequencies


Propulsion force FF (N)

A1 A2 F1 f2 ȕ Fitness
1.89 1.02 1.29 0.43 0.31 2.47

For different frequencies, Table 1 lists the optimal


values of the parameters. Then the two optimized input
torque functions to the system are expressed as
Drag force FD (N)

­°T1 1.89sin 2ʌ u 1.29t


® (16)
°̄T2 1.02sin 2ʌ u 0.43t  0.31
By applying the two input torque functions to the
dynamic model, the average velocity of fish robot is
about 0.56 m·sí1 during the first 20 seconds. The per- Fig. 17 Simulation of propulsion force and drag force of fish
formances of fish robot with respect to the links oscilla- robot by using Eq. (16).
Vo et al.: Propulsive Velocity Optimization of 3-Joint Fish Robot Using Genetic-Hill Climbing Algorithm 423
The fitness value of 2.47 in Table 1 is the evaluated (0.56 m·sí1). While, if we compare the velocities at the
value of the GA-HCA to the five parameters. This means time after the stable state between the two cases, we can
that the set of parameters is the “best optimal” or “near” find that the velocity in the same frequencies case (Fig.
global optimal set. Any other set of parameters gener- 18) is smoother than in the different frequencies case
ated by GA-HCA with the fitness value smaller than (Fig. 16). Similar characteristic can also be observed
2.47 will lead the stable velocity smaller than 0.61 m·sí1 when we compare the propulsion force and drag force in
during same concerning time. This characteristic of the two cases, Fig. 17 and Fig. 19.
fitness value is also correct for the optimal parameters
set in same frequencies case.

Moving distance (m)


4.2.2 Same frequencies case

Table 2 Optimal values of parameters with same frequencies


A1 A2 f1 = f2 ȕ Fitness
1.36 1.38 1.24 0.26 7.46

Velocity of fish robot (m·sí1)


For the same frequencies, Table 2 lists the optimal
values of the parameters. Then the two optimized input
torque functions to the system are given as
­°T1 1.36sin 2ʌ u 1.24t
® (17)
°̄T2 1.38sin 2ʌ u 1.24t  0.26
Applying the two input torque functions to the
Fig. 18 Simulation of fish robot velocity and moving distance
dynamic model, the average velocity is about 0.59 m·sí1 with respect to time by using Eq. (17).
during the first 20 seconds. The performances of fish
robot with respect to the links oscillation and their an-
Propulsion force FF (N)

gular velocities are given in Fig. A2 in the Appendix.


We obtain the relationships between velocity and
time and between moving distance and time of the fish
robot as shown in Fig. 18. In this case, within 20 seconds
the fish robot swims forward 11.69 m. After 14 seconds,
the fish robot reaches a stable velocity of 0.62 m·sí1.
The propulsion force FF and drag force FD in this
Drag force FD (N)

case are similar to the case of different frequencies. The


propulsion force-time and drag force-time curves are
shown in Fig. 19.
In the case of same frequencies, the difference
between the propulsion force and the drag force, FP - FD,
is slightly greater than the case of different frequencies,
Fig. 19 Simulation of propulsion force and drag force of fish robot
as shown in Fig. 17, so the fish robot swims slightly by using Eq. (17).
faster.
Further comparison of the two cases, it can be 4.3 Experimental results
concluded that, with different frequencies, the transi- In order to prove the feasibility of the proposed
tions of both force and velocity from the start-up state to algorithm in this paper, some experiments are carried out
the stable state take less time than that with the same by using a fish robot that is developed in laboratory.
frequencies. However, the average velocity (0.59 m·sí1) Fig. 20 is a photograph of the internal structure of
during the first 20 seconds in the case of same frequen- the fish robot. Fig. 21 shows its external appearance with
cies is a little faster than that in different frequencies case silicon painted.
424 Journal of Bionic Engineering (2009) Vol.6 No.4

three sets of parameters. It is seen that with optimized


parameters of the same frequencies, the fish robot swims
the longest distance, 2.6 m in 20 seconds, which means
its average velocity is the fastest; while with optimized
Motor-2
parameters of different frequencies, the fish robot swims
Controller, Joint-1 Joint-2 Joint-3 2.3 m, and with arbitrary parameters in Table 3 it only
motor drivers,
Motor-1, batteries swims 1.7 m, which means its average velocity is the
sensor, batteries
slowest fastest. So, the optimal case with the same fre-
Fig. 20 The internal structure of fish robot. quencies has the best performance. Qualitatively this
experimental results agrees with the simulation result.
However, the moving distances of the experiment are
quite different with that of simulation. This is perhaps
attributed to that some factors are not considered in the
simulation, such as the back-propagation wave in the
Fig. 21 The exterior shape of fish robot.
narrow water tank, added mass of fluid, modeling error
of tail fin, etc.
The total length of the fish robot is about 1200 mm
Fig. 23 shows the power consumption of the three
including 3 links and a tail fin. The links and body of fish
cases during the time period. The case of the same fre-
robot are made of aluminum. Two DC servo motors are
quencies has the lowest energy consumption. So our
installed at Joint-1 and Joint-2, respectively. The
experiments validate our optimization approach obtain
equivalent stiffness values of bevel gears boxes are 5.13
the highest propulsive speed with the lowest energy
N·m·radí1 at Joint-1 and 4.95 N·m·radí1 at Joint-2.
consumption.
Joint-3 is a simple passive joint and consists of two
flexible springs to imitate smooth motion of a real fish. 3
The stiffness value of each spring is 100 N·mí1. The Same frequencies
Different frequencies
length of Link-1, Link-2, and Link-3 are 245 mm, 160 Non optimal
mm and 127 mm respectively.
Moving distance (m)

The experiments are carried out with three sets of 2

parameters. Two sets are the optimal parameters gener-


ated by GA-HCA with different and same frequencies as
presented in 4.2.1 and 4.2.2 above. The other set of pa- 1
rameters are chosen arbitrarily within the ranges in Eq.
(15), which are listed in Table 3.

Table 3 Non optimal parameters set 0


A1 A2 f1 f2 ȕ 0 10 20
2 1 1 1 0.52 Time (s)
Fig. 22 The comparison of moving distances for two optimal
cases and one non-optimal case.
Therefore, two input torque functions for the sys-
tem of the arbitrary case are expressed as 16

­°T1 2sin 2ʌ u t
® (18)
°̄T2 sin 2ʌ u t  0.52
8

The performances of fish robot with regard to the


links oscillation and their angular velocities are given in
Fig. A3 in the Appendix. 0
Fig. 22 compares the experimental results of the Different frequencies Same frequencies Non optimal

relationship between moving-distance and time with Fig. 23 The comparison of power consumption in three cases.
Vo et al.: Propulsive Velocity Optimization of 3-Joint Fish Robot Using Genetic-Hill Climbing Algorithm 425

hydrodynamics of carangiform swimming in the transitional


5 Conclusion and future work
and inertial flow regimes. Journal of Experimental Biology,
In this paper, a model of 3-joint carangiform fish 2008, 211, 1541–1558.
robot type is presented, and its dynamic model is derived [4] Guo J. Target Tracking Using a Biomimetic Underwater
by using Lagrange’s method. The influence of fluid Vehicle. [2008-2-1],
force which exerts on the fish robot moving underwater http://findarticles.com/p/articles/mi_qa5367/is_200802/ai_
is considered by using the concept of Lighthill carangi- n25138105/
form propulsion. SVD algorithm is used in the simula- [5] Low K H, Zhou C L, Yu Z. Gait planning for steady swim-
tion program as an effective method to reduce the di- ming control of biomimetic fish robots. Advance Robotics,
vergence of fish robot links when solving the matrix of 2009, 23, 805–829.
its dynamic model. [6] Yan Q, Han Z, Zhang S W, Yang J. Parametric research of
By inputting different arbitrary values of the pa- experiments on a carangiform robotic fish. Journal of Bionic
rameters of input torque functions T1, T2 to dynamic Engineering, 2008, 5, 95–101.

system, we implement a survey on the influences of [7] Yu J Z, Wang L. Parameter optimization of simplified pro-
pulsive model for biomimetic robot fish. Proceeding of the
these parameters on the fish robot velocity. The results
IEEE International Conference on Robotics and Automation,
of this survey are used to determine the ranges of values
Barcelona, Spain, 2005, 3306–3311.
of the parameters, which are also taken as the constraints
[8] Seo K, Murray R, Lee J S. Exploring optimal gaits for planar
of the optimization program of GA-HCA. Then, using
carangiform robot fish locomotion. Proceedings of the 16th
GA-HCA simulation program, the optimal parameters of
IFAC World Congress, Prague, Czech, 2005, Tu-E14-TO/3.
the two input torque functions. In the optimization two
[9] Lighthill M J. Note on the swimming of slender fish. Journal
cases are considered, one is with the same frequencies
of Fluid Mechanics, 1960, 9, 305–317.
and the other is with different frequencies. With the
[10] Nakashima M, Ohgishi N, Ono K. A study on the propulsive
same frequencies the maximum fish robot swimming mechanism of a double jointed fish robot utilizing
speed of 0.62 m·sí1 is attained by the optimal input self-excitation control. JSME International Journal C, 2003,
torque functions of the dynamic model; with different 46, 982–990.
frequencies the maximum swimming speed of 0.62 [11] Reeves C R, Rowe J E. Genetic Algorithms: Principles and
m·sí1 is attained. Also, some initial experiments are Perspectives, A Guide to GA Theory, Kluwer Academic
carried out to prove the feasibility of the proposed Publishers, Boston, USA, 2003.
GA-HCA algorithm. [12] Randy L H, Sue E H. Practical Genetic Algorithms, 2nd
In conclusion, the optimal case suggested in the edition, John Willey & Son Inc, New York, USA, 2004.
GA-HCA algorithm guarantees the highest propulsive [13] Moore A W. Iterative Improvement Search Hill Climbing,
speed with the lowest energy consumption. Future re- Simulated Annealing, WALKSAT, and Genetic Algorithms,
search will be focused on improving the experimental [2009-11-12],
condition. http://www.autonlab.org/tutorials/hillclimb.html
[14] Hagiwara M. Pseudo-Hill climbing genetic algorithm
References (PHGA) for function optimization. Proceedings of the In-
[1] Lauder G V, Drucker E G. Morphology and experimental ternational Joint Conference on Neural Networks, 1993, 1,
hydrodynamics of fish fin control surfaces. IEEE Journal of 713–716.
Oceanic Engineering, 2004, 29, 556–571. [15] Houck C R, Joines J A, Kay M G. A Genetic Algorithm for
[2] Lighthill M J. Hydromechanics of aquatic animal propulsion. Function Optimization: A Matlab Implementation. Technical
Annual Review of Fluid Mechanics, 1969, 1, 413–446. Report, Industrial and Systems Engineering, North Carolina
[3] Borazjani I, Sotiropoulos F. Numerical investigation of the State University, 1995.
426 Journal of Bionic Engineering (2009) Vol.6 No.4

Appendix

A1 Dynamic model of fish robot

ª M 11 M 12 M 13 º ªT1 º ª N1 º
«M « »
« 21 M 22 M 23 »» «T2 » «N »
« 2»
«¬ M 31 M 32 M 33 »¼ «¬T3 »¼ «¬ N3 »¼

M 11 I1  m1a12  m2 l12  m3l12  m2 a22  I 2  m3l22  m3 a32  I 3  2m2 l1a2 cos T 2  2m3l1l2 cos T 2  2m3l1a3 cos(T 2  T 3 ) 
u
2m3l2 a3 cos T3  SU LC 2 ˜ ˜ sin D ˜ l1 ˜ (l1 cos T1  l2 cos(T1  T 2 )  a3 cos(T1  T 2  T3 )) ˜ {cosT1 ˜ cos(T1 
U  u2
2
m

T 2  T3 )  sin T1 ˜ sin(T1  T 2  T3 )}

M 12 m2 a22  I 2  m3l22  m3 a32  I 3  m2 l1a2 cos T 2  m3l1l2 cos T 2  m3l1a3 cos(T 2  T3 )  2m3l2 a3 cos T3 
u
SU LC 2 ˜ ˜ sin D ˜ l1 ˜ (l2 cos(T1  T 2 )  a3 cos(T1  T 2  T3 )) ˜ {cosT1 ˜ cos(T1  T 2  T 3 ) 
U  u2
2
m

sin T1 ˜ sin(T1  T 2  T3 )}

u
M 13 m3 a32  I 3  m3l1a3 cos(T 2  T3 )  m3l2 a3 cos ș3  SU LC 2 ˜ . ˜ sin D ˜ l1 ˜ ( a3 cos(T1  T 2  T3 )) ˜
U  u2
2
m

{cos T1 ˜ cos(T1  T 2  T3 )  sin T1 ˜ sin(T1  T 2  T 3 )}

M 21 m2 a22  I 2  m3l22  m3 a32  I 3  m2 l1a2 cos T 2  m3l1l2 cos T 2  m3l1a3 cos(T 2  T 3 )  2m3l2 a3 cos T 3 
u
SU LC 2 ˜ ˜ sin D ˜ l2 ˜ (l1 cos T1  l2 cos(T1  T 2 )  a3 cos(T1  T 2  T3 )) ˜ {cos(T1  T 2 ) ˜ cos(T1  T 2  T 3 ) 
U  u2
2
m

sin(T1  T 2 ) ˜ sin(T1  T 2  T3 )}

u
M 22 m2 a22  I 2  m3l22  m3 a32  I 3  2m3l2 a3 cos T3  SU LC 2 ˜ ˜ sin D ˜ l2 ˜ (l2 cos(T1  T 2 ) 
U  u2
2
m

a3 cos(T1  T 2  T3 )) ˜ {cos(T1  T 2 ) ˜ cos(T1  T 2  T 3 )  sin(T1  T 2 ) ˜ sin(T1  T 2  T 3 )}

u
M 23 m3 a32  I 3  m3l2 a3 cos T3  SU LC 2 ˜ ˜ sin D ˜ l2 ˜ (a3 cos(T1  T 2  T 3 )) ˜ {cos(T1  T 2 ) ˜ cos(T1  T 2  T 3 ) 
U  u2
2
m

sin(T1  T 2 ) ˜ sin(T1  T 2  T 3 )}

u
M 31 m3 a32  I 3  m3l1a3 cos(T 2  T3 )  m3l2 a3 cos T3  SU LC 2 ˜ ˜ sin D ˜ a3 ˜ (l1 cos T1  l2 cos(T1  T 2 ) 
U  u2
2
m

a3 cos(T1  T 2  T3 ))

u
M 32 m3 a32  I 3  m3l2 a3 cos T3  SU LC 2 ˜ ˜ sin D ˜ a3 ˜ (l2 cos(T1  T 2 )  a3 cos(T1  T 2  T3 ))
U  u2
2
m

u
M 33 m3 a32  I 3  SU LC 2 ˜ ˜ sin D ˜ a3 ˜ (a3 .cos(T1  T 2  T3 ))
U  u2
2
m
Vo et al.: Propulsive Velocity Optimization of 3-Joint Fish Robot Using Genetic-Hill Climbing Algorithm 427

N1 2SU LC (U m2  u 2 )sin D ˜ cos D ˜ l1 ˜ {cos T1 ˜ cos(T1  T 2  T 3 )  sin T1 ˜ sin(T1  T 2  T 3 )}  SU LC 2D U m2  u 2 ˜


u
cos D ˜ l1 ˜ {cos T1 ˜ cos(T1  T 2  T3 )  sin T1 ˜ sin(T1  T 2  T3 )}  SU LC 2 ˜ sin D ˜ l1 ˜ {l1 ˜ T12 ˜ sin T1 
U u
2
m
2

l2 (T1  T2 ) ˜ cos(T1  T 2 )  a3 (T1  T2  T3 ) ˜ cos(T1  T 2  T 3 )} ˜ {cos T1 ˜ cos(T1  T 2  T 3 )  sin T1 ˜ sin(T1 
2 2

T  T )}  TT {2m l a sin T  2m l l sin T  2m l a sin(T  T )}  TT {2m l a sin(T  T ) 


2 3 1 2 2 1 2 2 31 2 2 31 3 2 3 1 3 31 3 2 3

2m3l2 a3 sin T3 }  T2T3{2m3l1a3 sin(T 2  T3 )  2m3l2 a3 sin T3 }  T22 {m2 l1a2 sin T 2  m3l1l2 sin T 2  m3l1a3 sin(T 2 
T )}  T 2 ˜ {m l a sin(T  T )  m l a sin T }  (c  c ) ˜ T  c T  (k  k )T  k T  T
3 3 3 1 3 2 3 3 2 3 3 1 2 1 2 2 1 2 1 2 2 1

N2 2SU LC (U m2  u 2 ) sin D ˜ cos D ˜ l2 ˜ {cos( T1  T2 ) ˜ cos(T1  T 2  T 3 )  sin( T1  T2 ) ˜ sin(T1  T 2  T 3 )} 


SU LC 2D U m2  u 2 ˜ cos D ˜ l2 {cos( T1  T2 ) ˜ cos(T1  T 2  T 3 )  sin( T1  T2 ) ˜ sin(T1  T 2  T 3 )} 
u
SU LC 2 .sin D .l2 {l1T12 sin T1  l2 (T1  T2 )2 ˜ cos(T1  T 2 )  a3 (T1  T2  T3 ) 2 ˜ cos(T1  T 2  T 3 )} ˜
U u 2
m
2

{cos( T1  T2 ) ˜ cos(T1  T 2  T 3 )  sin( T1  T2 ) ˜ sin(T1  T 2  T 3 )}  T1T3 {2m3l2 a3 sin T 3 }  T2T3{2m3l2 a3 sin T 3 } 


 T 2 {m l a sin T  m l l sin T  m l a sin(T  T )}  T 2 {m l a sin T } 
1 2 1 2 2 3 1 2 2 3 1 3 2 3 3 3 2 3 3

 c2T1  (c2  c3 )T2  c3T3  k3T1  (k2  k3 )T 2  k3T3  T2

u
N3 2SU LC (U m2  u 2 )sin D ˜ cos D ˜ a3  SU LC 2D U m2  u 2 ˜ cos D ˜ a3  SU LC 2 ˜ sin D ˜ a3 ˜
U  u2 2
m

{l1T12 sin T1  l2 (T1  T2 ) 2 cos(T1  T 2 )  a3 (T1  T2  T3 ) 2 ˜ cos(T1  T 2  T 3 )}  T1T2 {2m3l2 a3 sin T 3 } 
T12 {m3l1a3 sin(T 2  T3 )  m3l2 a3 sin T3 }  T22 {m3l2 a3 sin T3 }  c3T2  c 3T3  k3T 2  k3T3

A2 The performance of fish robot’s mechanism during chosen time


A2.1 Different frequencies
Fig. A1 simulates the operation of the fish robot’s mechanism system during the chosen time for the different
frequencies case.
Angular velocity ș1 (rad·sí1)
ș1 (Degree)

Angular velocity ș2 (rad·sí1)


ș2 (Degree)

Fig. A1 Simulation of fish robot links oscillation and their angular velocities using Eq. (16).
428 Journal of Bionic Engineering (2009) Vol.6 No.4

3 0.2

Angular velocity ș3 (rad·sí1)


2 0.1
ș3 (Degree)

1
0
0
í0.1
í1
í2 í0.2
0 5 10 15 20 0 5 10 15 20
Time (s) Time (s)

Fig. A1 Continued.

A2.2 Same frequencies


Fig. A2 simulates the operation of the fish robot’s mechanism system during the chosen time for the same fre-
quencies case.

20 Angular velocity ș1 (rad·sí1) 4

10 2
ș1 (Degree)

0 0

í10 í2

í20 í4
0 5 10 15 20 0 5 10 15 20
Time (s) Time (s)

2
Angular velocity ș2 (rad·sí1)

10

5 1
ș2 (Degree)

0 0

í5 í1

í10 í2
0 5 10 15 20 0 5 10 15 20
Time (s) Time (s)

2 0.2
Angular velocity ș3 (rad·sí1)

1 0.1
ș3 (Degree)

0 0

í1 í0.1

í2 í0.2
0 5 10 15 20 0 5 10 15 20
Time (s) Time (s)

Fig. A2 Simulation of fish robot links oscillation and their angular velocities using Eq. (17).
Vo et al.: Propulsive Velocity Optimization of 3-Joint Fish Robot Using Genetic-Hill Climbing Algorithm 429

A2.3 Non optimal


Fig. A3 simulates the operation of the fish robot’s mechanism system during the chosen time for the non optimal
case.
20 2

Angular velocity ș1 (rad·sí1)


10 1
ș1 (Degree)

0
0
í10
í1
í20
í30 í2
0 5 10 15 20 0 5 10 15 20
Time (s) Time (s)

15 1.0

Angular velocity ș2 (rad·sí1)


10 0.5
ș2 (Degree)

5
0
0
í0.5
í5
í10 í1.0
0 5 10 15 20 0 5 10 15 20
Time (s) Time (s)

10 0.2
Angular velocity ș3 (rad·sí1)

0.1
ș3 (Degree)

5
0
0
í0.1

í5 í0.2
0 5 10 15 20 0 5 10 15 20
Time (s) Time (s)

Fig. A3 Simulation of fish robot links oscillation and their angular velocities using Eq. (18).

You might also like