Keywords

1 Introduction

In the recent decades, many studies on the biomimetic robots including fish robot are mostly concerned. To compare to the traditional screw-propeller underwater vehicles such as Remotely Operated Vehicles (ROVs) or Autonomous Underwater Vehicles (AUVs), the bio-inspired aquatic robots would be more high maneuverability, efficiency and silent moving.

For the fish robot, there are several ways to generate the propulsion force using a caudal fin which actuated by motors or different kind of smart materials. In [1], the model of free locomotion fish robot have been developed propelled by vibrating ionic polymer metal composites (IPMCs). Robot has only one tail fin that enabled it to move in 2D space. In [2], Kopman et al. developed a fish robot with the tail part modeled by using Euler-Bernoulli beam theory and Morison equations. The nonlinear vibrations of the propulsion tail are modeled using modal analysis and the study results of large vibration of slender cylinders in fluid. Jianxin Xu et al. proposed a motion control approach for a multi-joint robotic fish with the pectoral fins assistance in [3]. The fish robot undulates its body and tail to produce the basic swimming patterns that are aimed by a general internal model (GIM), while twists its pectoral fins to assist the body to reach the desired direction. In [4], a novel design of flexible joints for connecting the pectoral fins to the actuators is proposed. This design allows the pectoral fin to sweep back passively in the recovery stroke while maintaining its prescribed motion in the power stroke. In the another research [5], the angle of attack theory based dynamic model of Ostraciiform robotic fish is established that they used the CPG controller to predict mechanical behaviors of the robot and guide the search for CPG parameters and gain optimization of the robot. In [6], a model of the pectoral driven by SMA is developed for Koi Carp. In fin-ray form, this is very flexible and maneuverable, but complicated to control. Based on previous work, this paper proposes modeling a Carangiform robotic fish aimed by a pair of flexible uniform pectoral fin. The undulating tail part is free. We also employed a controller using Lyapunov’s theory to track the desired heading angle and surge velocity trajectory and validate the built modeling results.

This paper is organized as follow: In Sect. 2, the hydrodynamic modeling of fish robot actuated the pectoral fins is presented. In Sect. 3, the design of the controller based on Lyapunov’s theory is conducted to support for motion in 2D plane. In Sect. 4, the simulations are shown and discussed to validate results. Finally, conclusions are summarized in Sect. 5.

2 Fish Robot Modeling

2.1 Modeling of the Flexible Fin

The Carangiform fish robot model driven by pectoral fins is illustrated in the Fig. 1. Several assumptions are made for modeling such as: the fins vibrate along its fundamental mode shape; the fins are only bended along the longitudinal direction; the bending directions of the fins in other directions are ignored. Therefore, an approximate solution for propulsion’ mechanism is proposed by using some first mode shapes (Fig. 2).

Fig. 1
figure 1

The model of fish robot with flexible pectorals

Fig. 2
figure 2

The schematic of in-plane swimming fish robot with the flexible fins are considered as cantilever beam

By using classical Euler-Bernoulli beam theory, the partial differential equation describing the vibration of the forced underwater uniform fins can be presented as [7]:

$$ K_{M} \frac{{\partial^{4} w\left( {\ell ,t} \right)}}{{\partial \ell^{4} }} + \rho \frac{{\partial^{2} w\left( {\ell ,t} \right)}}{{\partial t^{2} }} + c\frac{{\partial w\left( {\ell ,t} \right)}}{\partial t} = F\left( {\ell ,t} \right) $$
(1)

where \( K_{M} = \left( {{1 \mathord{\left/ {\vphantom {1 {12}}} \right. \kern-0pt} {12}}} \right)Eh^{3} d_{0} ;\quad \,\rho = {{md_{0} } \mathord{\left/ {\vphantom {{md_{0} } A}} \right. \kern-0pt} A};\,A = d_{0} L \); E, d 0, h, A, L are elastic module, thickness, width, area and length of fin respectively; c is a viscous damping coefficient. This force per unit length F(l,t) acting on the fins to the encompassing fluid is expressed by the Morison equation [8]:

$$ F\left( {\ell ,t} \right) = - \frac{1}{2}\rho_{h} d_{0} C_{d} v\left( {\ell ,t} \right)\left| {v\left( {\ell ,t} \right)} \right| - \frac{1}{4}\pi \rho_{h} d_{0}^{2} C_{a} \dot{v}\left( {\ell ,t} \right) $$
(2)

where C d and C a describe the damping and added mass effects, \( \rho_{h} \) is the density of water, \( v\left( {\ell ,t} \right) \) is the flow velocity. To estimate the flow velocity on the points of fin, we consider motions of pectoral fins and their hinge peduncles when robot moves (Fig. 2).

Assume that the fish robot is always at the neutrally buoyant state. And, the center of mass and the center of buoyancy have the same projection on the XY-plane. Some coordinate systems are demonstrated in Fig. 2. The robot can move in the Earth-fixed frame and the body frame is fixed in the central buoyancy of robot. We also assume that the pectoral fins include two parts: the rigid hinge peduncles on one end and flexible beam on the other. The unit vector which is perpendicular to the peduncle plane, called \( \vec{n}\left( t \right) \), given as: \( \vec{n}\left( t \right) = \vec{i}\sin \theta \left( t \right)\cos \psi \left( t \right) + \vec{j}\sin \theta \left( t \right)\sin \psi \left( t \right) + \vec{k}\cos \theta \left( t \right) \). Using the approaching in [2], the displacement of points on the flexible beam in the body frame is given by:

$$ \vec{u}\left( {\ell ,t} \right) = \vec{u}_{B} + \vec{u}_{H} \left( {\ell ,t} \right) + w\left( {\ell ,t} \right)\vec{n}\left( t \right) $$
(3)

where:

$$ \vec{u}_{B} = \vec{i}\left[ {a\cos \psi \left( t \right) - \left( { - 1} \right)^{lr} b\sin \psi \left( t \right)} \right] + \vec{j}\left[ {a\sin \psi \left( t \right) + \left( { - 1} \right)^{lr} b\cos \psi \left( t \right)} \right] + 0.\vec{k} $$
(4)
$$ \vec{u}_{H} \left( {\ell ,t} \right) = \left( {L_{0} + \ell } \right)\left( { - \vec{i}\cos \psi \left( t \right)\cos \theta \left( t \right) - \vec{j}\sin \psi \left( t \right)\cos \theta \left( t \right) + \vec{k}\sin \theta \left( t \right)} \right) $$
(5)

The angle \( \theta \left( t \right) \) deflected by the servomotor is of form: \( \theta \left( t \right) = B\sin \left( {2\pi ft + \delta } \right) \); lr = 0 for the left fin, lr = 1 for the right fin. We employ \( \vec{u}_{B} \) to denote the positon of the original hinge in the Earth-fixed. \( \vec{u}_{H} \left( {\ell ,t} \right) \) accounts for the beam position in the hinge-fixed frame and \( w\left( {\ell ,t} \right)\vec{n}\left( t \right) \) for the displacement due to the beam’s vibration.

Taking the derivative of (3) with respect to time once and twice, after projecting it onto \( \vec{n}\left( t \right) \), yields the velocity and acceleration of the flexible beam:

$$ \dot{\vec{u}}\left( {\ell ,t} \right)\vec{n}\left( t \right) = \sum\limits_{m = 1}^{\infty } {\dot{q}_{i} \left( t \right)\varphi_{i} } \left( \ell \right) + \left( {L_{0} + \ell } \right)\dot{\theta }\left( t \right) - \left( { - 1} \right)^{lr} b\sin \theta \left( t \right)\dot{\psi }\left( t \right) $$
(6)
$$ \begin{aligned} \mathop {\vec{u}}\limits^{..} \left( {\ell ,t} \right)\vec{n}\left( t \right) = & \sum\limits_{m = 1}^{\infty } {\mathop {q_{i} }\limits^{..} \left( t \right)\varphi_{i} } \left( \ell \right) + \left( {L_{0} + \ell } \right)\left[ {\mathop \theta \limits^{..} \left( t \right) + \frac{1}{2}\sin \left( {2\theta \left( t \right)} \right)\dot{\psi }^{2} \left( t \right)} \right] \\ & - \left( {\dot{\psi }^{2} \left( t \right)\sin^{2} \theta \left( t \right) + \dot{\theta }^{2} \left( t \right)} \right)\sum\limits_{m = 1}^{\infty } {q_{i} \left( t \right)\varphi_{i} } \left( \ell \right) \\ & - \sin \theta \left( t \right)\left[ {a\dot{\psi }^{2} \left( t \right) + \left( { - 1} \right)^{lr} b\sin \left( {2\psi \left( t \right)} \right)} \right] \\ \end{aligned} $$
(7)

Combining that: \( v\left( {\ell ,t} \right) = \dot{\vec{u}}\left( {\ell ,t} \right)\vec{n}\left( t \right),\,\dot{v}\left( {\ell ,t} \right) = \mathop {\vec{u}}\limits^{..} \left( {\ell ,t} \right)\vec{n}\left( t \right) \) and substitute the Eqs. (6) and (7) into Eq. (2), we can obtain solution of the Morison’s force equation. Where, the displacement of the points of the fin, with respect to time, is approximated by the series:

$$ w\left( {\ell ,t} \right) = \sum\limits_{i = 1}^{\infty } {q_{i} \left( t \right)\varphi_{i} } \left( \ell \right) $$
(8)

For robot operation, the pectoral fins vibrate in their first vibrational modes. An approximate solution is obtained by projecting the equation of motion onto the fundamental mode shapes beam vibration in vacuum. By using the Rayleigh-Ritz method [9], the solution of the eigenvalue problem for the fixed-free beam in axial vibration can be obtained.

Solving the algebraic eigenvalue problem, we obtain the natural frequencies and modal vectors. Normalizing \( \varphi_{i} \left( \ell \right) \) to a unitary fin-tip displacement, that is, \( \varphi_{i} \left( L \right) = 1 \). Following the Eigen function superposition method, we assumed that the force loading along fin can be expressed as:

$$ F\left( {\ell ,t} \right) = \sum\limits_{i = 1}^{\infty } {p_{i} \left( t \right)} \varphi_{i} \left( \ell \right) $$
(9)

where \( \varphi_{i} \) is the eigenfunction of free un-damped vibration of the \( i \)th mode of the fins. By multiplying both sides of Eq. (9) by a typical eigenfunction \( \varphi_{j} \), integrating over the length of fins and taking advantage of the orthogonality condition, we obtain:

$$ p_{i} \left( t \right) = \frac{{\int\limits_{0}^{{L_{0} }} {F\left( {\ell ,t} \right)\varphi_{i} \left( \ell \right)d\ell } }}{{\int\limits_{0}^{{L_{0} }} {\varphi_{i}^{2} \left( \ell \right)d\ell } }} $$
(10)

Substituting Eqs. (8), (10) into Eq. (1), we obtain:

$$ K_{M} \sum\limits_{i}^{\infty } {q_{i} \left( t \right)\frac{{\partial^{4} \varphi_{i}^{{}} \left( \ell \right)}}{\partial \ell }} + \rho \sum\limits_{i}^{\infty } {q_{i} \left( t \right)\mathop {\varphi_{i} }\limits^{..} \left( \ell \right)} + c\sum\limits_{i}^{\infty } {q_{i} \left( t \right)\dot{\varphi }_{i} \left( \ell \right)} = \sum\limits_{i}^{\infty } {p_{i} \left( t \right)\varphi_{i} \left( \ell \right)} $$
(11)

Combining the solution of the free vibration equation \( K_{M} \varphi_{i}^{4} \left( \ell \right) = \rho \omega_{i}^{2} \varphi_{i} \left( \ell \right) \) into Eq. (11), then multiplying both by \( \varphi_{j} \), then integrating over the length of the fin and using orthogonality condition, we obtain:

$$ \rho \mathop {q_{i} }\limits^{..} \left( t \right) + c\dot{q}_{i} \left( t \right) + \beta_{i}^{4} \left( {\frac{{K_{M} }}{{L_{{}}^{4} }}} \right)q_{i} \left( t \right) = p_{i} \left( t \right) $$
(12)

where: \( \beta_{i}^{2} = \omega_{i} L^{2} \sqrt {{\rho \mathord{\left/ {\vphantom {\rho {K_{M} }}} \right. \kern-0pt} {K_{M} }}} ,\,\omega_{i} \) are fundamental frequencies. By solving the differential equations Eq. (12), \( q_{i} \left( t \right) \) can archive. In this research, we use the first ten mode shapes of homogenous cantilever beam. The detail of the method can be found in [7].

2.2 Fish Robot Body Hydrodynamics

In order to model motion of the fish robot, we assume the following conditions such as: the robot body is a rigid body, the moving of robot in a fluid, the fish robot is driven by a pair of pectoral fins. The undulating tail part is free. In this paper, we focus on the movement of the robot in XY plane, which has three degree of freedoms, surge (u), sway (v) and yaw (r). The heading angle ψ, satisfying \( r = \dot{\psi } \), is also the angle between the body-fixed frame and the Earth frame system We assume that the XZ-plane is a plane of symmetry for the vehicle body and neglect inertial coupling between sway, surge and yaw motion. According to [10], the motion equation of the rigid body is reduced to:

$$ \left[ {\begin{array}{*{20}c} {m_{b} + m_{x} } & 0 & 0 \\ 0 & {m_{b} + m_{y} } & 0 \\ 0 & 0 & {J_{bz} + J_{r} } \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\dot{u}} \\ {\dot{v}} \\ {\dot{r}} \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} { - \left( {m_{b} + m_{y} } \right)vr} \\ {\left( {m_{b} + m_{x} } \right)ur} \\ { - \left( {m_{x} - m_{y} } \right)uv} \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {F_{x} } \\ {F_{y} } \\ {M_{z} } \\ \end{array} } \right] $$
(13)

where, the mass and the added mass of a fin \( m_{f} \,,\,m_{af} = \left( {{4 \mathord{\left/ {\vphantom {4 3}} \right. \kern-0pt} 3}} \right)\rho_{h} \pi L\left( {{{d_{0} } \mathord{\left/ {\vphantom {{d_{0} } 2}} \right. \kern-0pt} 2}} \right)^{2} \) respectively. The other added mass terms are given by [10]: \( m_{b} = \left( {{4 \mathord{\left/ {\vphantom {4 3}} \right. \kern-0pt} 3}} \right)\rho_{h} \pi a_{1} b_{1}^{2} \); \( m_{x} = k_{1} m_{f} \); \( m_{y} = k_{2} m_{f} \); \( J_{z} = k'J_{fz} \). Where, the positive constants: \( k_{1} ,k_{2} \) and \( k' \) are Lamb’s k-factor that depend only on the geometry of the body. Select \( m_{f} = \rho \forall_{s} \) as the mass of the displaced fluid, where \( \forall_{s} = \left( {{4 \mathord{\left/ {\vphantom {4 3}} \right. \kern-0pt} 3}} \right)\pi ab^{2} \) is the volume of the spheroid; \( J_{fz} = \left( {{1 \mathord{\left/ {\vphantom {1 5}} \right. \kern-0pt} 5}} \right)m_{f} \left( {a^{2} + b^{2} } \right) \) is the moment of inertia of the fluid’s spheroidal mass.

The total external forces and moments obtained from the free-body diagram in the Fig. 2 are expressed as:

$$ \left[ {\begin{array}{*{20}c} {F_{x} } \\ {F_{y} } \\ {M_{z} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} 1 & 1 \\ 0 & 0 \\ { - b} & b \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {f_{TL} } \\ {f_{TR} } \\ \end{array} } \right] + \left[ {\begin{array}{*{20}c} { - \cos \alpha } & {\sin \alpha } & 0 \\ { - \sin \alpha } & { - \cos \alpha } & 0 \\ 0 & 0 & { - 1} \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {f_{D} } \\ {f_{L} } \\ {f_{D} } \\ \end{array} } \right] $$
(14)

The produced robot thrust is primarily due to the surrounding fluid inertia. The instantaneous thrust of the fish robot is approximated as [2]: \( f_{Tlr} = 0.5C_{T} \rho_{h} A_{t} \dot{\chi }_{lr}^{2} \left( t \right) \), where: \( \chi_{lr} \left( t \right) = w\left( {L,t} \right)\cos \theta_{lr} \left( t \right) + L_{t} \sin \theta_{lr} \left( t \right) \), lr is symbol of left or right fin, \( L_{t} = L_{0} + L \): the total length of the pectoral fin included fin and peduncle.

The hydrodynamic actions are expressed as [11, 12]: the body drag force \( f_{D} = 0.5\rho_{h} V^{2} SC_{D} \), the lift force \( f_{L} = 0.5\rho_{h} V^{2} SC_{L} \alpha \) and the drag moment \( \tau_{D} = 0.5\rho_{h} V^{2} S\left( {2a} \right)\left( {C_{M\alpha } a + \left( {{{2a} \mathord{\left/ {\vphantom {{2a} V}} \right. \kern-0pt} V}} \right)C_{Mr} r} \right) \). Where \( \rho_{h} \) is the density of water. The coefficient of drag C D , coefficient of lift C L , coefficient of hydrodynamic restoring moment C , and coefficient of hydrodynamic viscous moment C Mr . These coefficients depend on the Reynolds number and on the attack angle α. The angle of attack is as angle that the linear velocity vector of the vehicle whose the magnitude is \( V = \sqrt {u^{2} + v^{2} } \), form with the positive of the x-axis.

3 Controller Design

In our previous research, the stabilization of robot heading angle is done without caring the surge velocity. The moving velocity of robot is not controlled. In this paper, we propose a method of tracking moving direction and surge velocity of robot. This is based on the directive Lyapunov’s stabilization method (Fig. 3).

Fig. 3
figure 3

The structure of the direction and velocity control system

To stabilize the heading angle of robot to referent direction, the control law is chosen to satisfy the condition below:

$$ V = \frac{1}{2}\dot{e}_{\psi }^{2} + \frac{1}{2}e_{\psi }^{2} + \frac{1}{2}e_{u}^{2} $$
(15)

where: \( e_{\psi }^{{}} = \psi - \psi_{r} ,\,\dot{e}_{\psi }^{{}} = \dot{\psi } - \dot{\psi }_{r} ,\,e_{u}^{{}} = u - u_{r} \) are the error, error differential of heading angle and the error of velocity surge.

$$ \dot{V} = \dot{e}_{\psi }^{{}} \left( {\mathop {e_{\psi } }\limits^{..} + e_{\psi } } \right) + \dot{e}_{u} e_{u} $$
(16)

In order to \( \dot{V} \le 0 \), we choose: \( \mathop {e_{\psi } }\limits^{..} = - \lambda_{1} \dot{e}_{\psi } - e_{\psi } \) and \( \dot{e}_{u}^{{}} = - \lambda_{2} e_{u}^{{}} \), rewriting these conditions, we obtain: \( \mathop \psi \limits^{..} = - \lambda_{1} \dot{e}_{\psi }^{{}} - e_{\psi }^{{}} + \mathop {\psi_{r} }\limits^{..} \) and \( \dot{u} = - \lambda_{2} e_{u}^{{}} + \dot{u}_{r} \). Where, \( \lambda_{1} \) and \( \lambda_{2} \) are the positive constants. Substituting into Eq. (13) and combining Eq. (14). We obtain:

$$ \left[ {\begin{array}{*{20}c} {f_{TLd} } \\ {f_{TRd} } \\ \end{array} } \right] = \left[ {\begin{array}{*{20}c} {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-0pt} 2}} & {{{ - 1} \mathord{\left/ {\vphantom {{ - 1} {2b}}} \right. \kern-0pt} {2b}}} \\ {{1 \mathord{\left/ {\vphantom {1 2}} \right. \kern-0pt} 2}} & {{1 \mathord{\left/ {\vphantom {1 {2b}}} \right. \kern-0pt} {2b}}} \\ \end{array} } \right]\left[ {\begin{array}{*{20}c} {\left( {m_{b} + m_{x} } \right)\left( {\dot{u}_{r} - \lambda_{2} e_{u} } \right) - vr\left( {m_{b} + m_{y} } \right) + f_{D} \cos \alpha - f_{L} \sin \alpha } \\ {\left( {J_{bz} + J_{r} } \right)\left( {\mathop {u_{r} }\limits^{..} - \lambda_{1} \dot{e}_{\psi } - e_{\psi }^{{}} } \right) - \left( {m_{x} - m_{y} } \right)uv + \tau_{D} } \\ \end{array} } \right] $$
(17)

The Eq. (17) describes the desired force of each fin. Because of the difficulties of the explicitly presenting the inverse hydrodynamic model of pectoral fins, we used black-box modeling approach to reconstruct the mathematical relationships between the produced thrust and the desired pectoral fin angles. To reduce the complexity of the identified model, some constraints are added such as: the fin vibration frequency and the maximum vibration amplitude are constants. The identified system is a single input single output system. The Hammerstein-Wiener estimation model is proposed to simply processing issue and guarantee accuracy of alternative model. This structure is nonlinear estimator model chosen by trial-error method. The structure of Hammerstein-Wiener model includes three blocks: nonlinear input block, linear block described by a linear transfer function and nonlinear output block. Because the thrust force produced by high frequency oscillation of fins, so we approximate the desired thrust force as average force. The chosen input and output nonlinearity estimators are the piecewise linear functions. The number of zeros, poles and the input delay of linear block are one, two and three, respectively. The fit of the identified model tested independence can reach more than 94 %.

4 Simulation Results

To validate the feasibility and reliability of our fish robot’s fins modelling, the fins oscillation and swimming mode simulation are implemented. The geometric parameters of the fish robot are included as follow: a = 0.05 m, a 1  = 0.10  m, b = 0.04  m, b 1  = 0.03  m, c 1  = b 1 , \( L_{0} = 0.010\;{\text{m}},\,L = 0.050\;{\text{m}},\,d_{0} = 0.015\;{\text{m}},\,\rho_{h} = 1000\;{\text{kg/m}}^{3} \). The mass of each fin: \( m_{f} = 0.35.10^{ - 3} \;{\text{kg}} \), the damping coefficient: \( c = 500\;{\text{Ns/m}}^{ 2} \). The Reynolds number \( 12133 \le \text{Re}_{f} \le 30903 \) and the thrust coefficient \( C_{T} = 0.496 \cdot 10^{ - 3} \); C D  = 2.1, C L  = 16, \( C_{M\alpha } = 0.7,\,C_{Mr} = 1,\,C_{d} = - 2.031,\,C_{a} = - 0.134,\,Eh^{3} = 0.9.10^{ - 2} \;{\text{Nm}} \). The sampling time: dt = 0.001 S. The vibration frequency and initial phase of fins are 35 Hz and 0(rad), respectively. The maximum vibration amplitude of fins: \( B_{\hbox{max} } = {\pi \mathord{\left/ {\vphantom {\pi 6}} \right. \kern-0pt} 6} \). The control parameters include: the parameter of direction and stabilizer and the parameter of controller: \( \lambda_{1} = 0.5 \), \( \lambda_{2} = 5 \), respectively. The reference heading angle and surge velocity trajectory equation are in the form: \( \psi_{r} = \left( {{\pi \mathord{\left/ {\vphantom {\pi 6}} \right. \kern-0pt} 6}} \right)\sin \left( {0.025\pi t} \right)\left( {rad} \right) \), \( u_{r} = 0.025\left( {1 + \sin \left( {0.01\pi t} \right)} \right)\left( {\rm{m/s}} \right) \), respectively.

The Fig. 4 illustrates the heading angle response of the fish robot movement. The moving direction respond quite rapidly converge to the desired trajectory. This motion is quite smooth because there are not the phase difference of fin vibrations. The settling time is about 12 s.

Fig. 4
figure 4

The real and reference responds of heading angle and surge velocity

While moving, the surge velocity can be changed by the reference velocity. The settling time is only about 10 s. This surge velocity is fluctuated by the discontinuity of the thrust forces.

The change of thrust force on the fins is demonstrated in the Fig. 5. The real thrust forces have large switch phenomenon. These have the same frequency of pectoral fins.

Fig. 5
figure 5

The desired and produced thrust forces on the pectoral fins

The responds of fin vibration amplitude are shown in the Fig. 6. These have the same shapes with that the desired thrust forces respond.

Fig. 6
figure 6

The real vibration amplitude on the pectoral fins

5 Conclusion

In this paper, we presented a hydrodynamic model for the fish robot actuated by the flexible pectoral fins. The mathematical model of the pectoral fins is based on Euler—Bernoulli beam theory. The Rayleigh-Ritz method is used to approximate the eigenvalue problem and mode shape. The simulations are carried out by numerical approximate method. The dynamic of the fish body are obtained by considering this part is the rigid body and using Kirchhoff’s equation. In particular, the important hydrodynamic properties are also considered, such as: the added mass and damping. The control law based Lyapunov’s stabilization theory is proposed to track the desired direction and velocity. The Hammerstein-Wiener model is also used to approximate the complex inverse dynamic model of pectoral fins. The simulation results showed the suitability of the proposed modeling and the performance of the control system.