Vo 2009
Vo 2009
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
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
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
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
proposed methods.
Velocity of fish robot (m·sí1)
14
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
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
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
A1 A2 F1 f2 ȕ Fitness
1.89 1.02 1.29 0.43 0.31 2.47
°T1 2sin 2ʌ u t
® (18)
°̄T2 sin 2ʌ u t 0.52
8
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
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
ª 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
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
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
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
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
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
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
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.
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
0
0
í10
í1
í20
í30 í2
0 5 10 15 20 0 5 10 15 20
Time (s) Time (s)
15 1.0
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).