# Modeling and Dynamic Control of a Class of Semibiomimetic Robotic Fish

Authors: Shouxu Zhang; Bo Jiang; Xiaoxuan Chen; Jian Liang; Peng Cui; Xinxin Guo
Journal: Complexity
 (2018)

---

## Abstract

This paper proposes a new robotic fish which avoids the complex mechanical structure and reduces the model complexity comparing to the existing bioinspired robotic fish, giving rise to asemibiomimetic robotic fish. The generalized Lagrange equation is adopted to establish the dynamic model of the robotic fish. The controllability of the system is analyzed, upon which a trajectory tracking control algorithm is designed by using the feedback linearization technique. The simulation results show that the dynamic model adopted in this paper can achieve better control performance.


---

## Body

## 1. Introduction

In 1960, Jack E. Steele first coined bionics [1], which applies biological methods or systems found in nature to design engineering systems. Over decades of development of modern bionics, the new interdisciplinary–biomimetic robotics (biorobotics) are proposed to design robots inspired from nature biological systems. In 1994, MIT developed the world’s first free swimming robotic fish RoboTuna [2]. Since then, various types of robotic fish have been proposed [3, 4]. Hu et al. designed an autonomous robotic fish G9 that can swim in a 3D unstructured environment [5, 6]. Shen et al. designed a robotic dolphin with a pair of 3-DOF flippers and a multilink oscillatory propulsion mechanism to achieve the ability of lead-lag, feathering, and up-down motions [7]. Chen et al. designed a biomimetic robotic fish propelled by an ionic polymer-metal composite (IPMC) actuator to study general motions and maneuvers of the robotic fish [8]. Wang et al. designed a carangiform robotic fish and presented a new dynamic model for the system [9]. Low designed a robotic fish with modular undulating fins, owing to the special structure of the mechanical fin; the fish can swim with various modes [10].Modeling and control of the robotic fish have been extensively studied in the following literature. Lighthill [11] first proposed a mathematical model of carangiform swimming fish based on slender-body theory. In [12], the large-amplitude elongated-body theory is proposed to analyze the hydrodynamics of carangiform swimming fish. Most of the existing robotic fish use large-amplitude elongated-body theory as mathematical model to analyze its motion control. Barrett et al. [13] developed a self-optimizing motion controller based on a genetic algorithm to achieve the optimal swimming motion for a robotic fish. A fuzzy logic and a PID control algorithm controller are used to achieve point-to-point swimming motion of a robotic fish [14]. Kelly et al. [15] use a digital approximation method to control the robotic fish swimming in 3 dimensions. An averaging dynamics method approach is proposed for the path planning and motion control for a kind of tail-actuated robotic fish [16]. Wang et al. and Zhao et al. [17, 18] use a central pattern 30 generator (CPG) to investigate the locomotion control of a robotic fish, different from the large-amplitude elongated-body theory. Kopman et al. [19] use Kirchhoff’s equations and Euler-Bernoulli beam theory to establish the dynamic model for a robotic fish; a PID control algorithm is used for the motion control of the system. In [20], the model of the robotic fish system is expressed in a control-affine transfer function; the state error feedback linearization is applied to realize the trajectory tracking control of the system. Barbera et al. and Yang et al. [21, 22] applied the extended Newton-Euler equation to present the dynamic model for a pectoral fin-driven robotic fish; a PID controller is used to achieve the attitude for the system. In [23], the Lagrangian function is used to establish the dynamic model of eel-like swimming robots; a perturbation analysis approach is applied to solve the control and motion planning for the system.However, most of the above literature use fluid dynamics models based on the NS equation to fit fish’s swimming numerically, and the motion control of robotic fish is limited to the motion control based on kinematics and variety of assumptions and models [24]. Therefore, there is no mature dynamic model for reference at present. To some extent, most results in the literature of robotic fish are still ad hoc in the sense that no rigorous results can be derived, either due to the difficulty of obtaining a rigorous dynamic model or due to the weak controllability of the system (mainly due to the too close mimicking of the natural fish). For instance, it is still unclear whether or not the mathematic dynamic model proposed therein can rigorously match the mechanical structure. The main reason may lie in the constraint of mimicking the natural fish motion in a too close (or too exact) manner; that is, the considered robotic fish in most existing results are trying to mimic the natural fish as adequately as possible, and in particular, the translation of the robotic fish is driven by the bending of the fish body.In this paper, we propose a novel robotic fish system that installs a propeller at the end of the tail rather than bends their body or wavers the fins as in most existing results, inspired by the movie of showing the swimming of a robotic fish in [2, 25]; see Figure 1 for the basic mechanical structure of the proposed fish system. We refer to this robotic fish as semibiomimetic robotic fish since it only mimics a portion of characteristics of a natural fish (bending of the body shape is similar to a natural fish yet the driving force for translational motion is the thrust produced by the propeller at the tail end). The idea behind this choice is partly inspired from the aeroplane design (which can be considered to be a semibiomimetic robotic bird). It is well known that at the beginning period of aeroplane design, the aeroplane has been designed to maximally mimic the fly of real birds. However, such a design does not achieve the desired performance. In the later stage, with a large number of engineering practice and structural reform, the scientists ingeniously apply the fixed-wing plus jet engine to produce lift instead of fluttering wings. Such a semibiomimetic design (i.e., not too close to a natural bird) not only avoids the complex mechanical design but also reduces the model complexity. Similarly, by deriving the dynamic model of the proposed semibiomimetic robotic fish system here, we rigorously analyze the controllability of the system and it is shown that this kind of robotic system does have a good controllability, providing the potential applicability of the rigorous and fruitful nonlinear controllers. Specifically, we show that the feedback linearization approach can be used to ensure the exponential convergence of the closed-loop system as a time-varying desired trajectory is specified for tracking.Figure 1
Mechanical structure of the proposed semibiomimetic robotic fish.In summary, the main contribution of our work lies in two aspects: (1) the generalized Lagrangian approach is adopted to derive the dynamic equations of motion of a new class of robotic fish system (referred to as semibiomimetic robotic fish), yielding a rigorous dynamic model of the robotic fish, and (2) the controllability of the robotic fish system has been rigorously analyzed, and the feedback linearization algorithm has been proved to be able to cancel the nonlinear terms in the system and ensure the exponential stability of the closed-loop system. Our study and obtained results can thus be considered to be an ideal trade-off between the model-based controllability (concerning the dynamic model) and mechanical complexity (concerning the hardware aspect of the system).The rest of the paper is organized as follows. Section2 introduces the basic description of the robotic fish. In Section 3, we employ the Lagrange equation of the second kind (Euler-Lagrange) to get the dynamic equation of the system. The controllability of the system is examined in Section 4. Section 5 proposes a trajectory tracking control algorithm which uses the feedback linearization method to algebraically eliminate the severe nonlinearity of the system. Section 6 uses simulation results to verify the theoretical result. And some conclusions are summarized in Section 7.


## 2. Basic Description of the Robotic Fish System

The motion of the robotic fish is constrained to planar motion as shown in Figure2. The robotic fish can be modeled as a system that consists of two rigid bodies (i.e., the body part and tail part) connected by a rotational joint. The motion of the system can be described by specifying the translational and rotational motion of the body part and rotational motion of the tail part. The forces or torques that drive the motion of the system are the thrust u∈R at the end point of the tail and the joint torque τm∈R exerted by the motor installed at the joint between the tail part and head part. Let (x1,y1) and (x2,y2) denote the position of the center of mass of the body and that of the tail, respectively. We use XIOIYI and XOY to denote, respectively, the inertial coordinate frame and the body-fixed coordinate frame. Let θ∈R stand for the orientation between inertial coordinate frame and the body-fixed coordinate frame in counterclockwise, and α∈R represents the deflection angle with respect to the negative x-axis in counterclockwise.Figure 2
Robotic fish in a plane.The relation between the center of mass (CM) of the body part and tail part with respect to the inertial coordinate frame can be written as(1)x2y2=x1−lC,1cosθ−lC,2cosθ+αy1−lC,1sinθ−lC,2sinθ+α,where lC,1 and lC,2 represent, respectively, the distance between the rotational joint and the CM of the robotic fish’s body part and the distance between the rotational joint and the CM of the robotic fish’s tail part.


## 3. Lagrangian Dynamics of Robotic Fish

We use the Lagrangian formulation to describe the dynamic behavior of the system [26–28]. The Lagrangian dynamics are derived by the following procedures.Step 1.
Choose the generalized coordinates.
We choosex, y, θ, and α to be the generalized coordinates to completely describe the state of the dynamic system.Step 2.
Write the Lagrangian of the system.
Since the gravity of the robotic fish is equal to its buoyancy, the total potential energy is zero. Therefore, the Lagrangian of the system can be written as(2)ℒ=12IC,1θ̇2+12IC,2θ̇+α̇2+12m1ẋ12+ẏ12+12m2ẋ22+ẏ22,where IC,1 and IC,2 denote, respectively, the inertia of the body part and that of the tail part. m1 and m2 denote, respectively, the mass of the body part and the mass of the tail part.
Differentiating (1), one has
(3)ẋ2ẏ2=ẋ1+lC,1sinθθ̇+lC,2sinθ+αθ̇+α̇ẏ1−lC,1cosθθ̇−lC,2cosθ+αθ̇+α̇.Thus, (2) can be represented as the form
(4)ℒ=12IC,1θ̇2+12IC,2θ̇+α̇2+12m1+m2ẋ12+ẏ12+12m2lC,12θ̇2+lC,22θ̇+α̇2+2lC,1lC,2cosαθ̇2+θ̇α̇+m2ẋ1lC,1sinθθ̇+lC,2sinθ+αθ̇+α̇−m2ẏ1lC,1cosθθ̇+lC,2cosθ+αθ̇+α̇=12IC,1+IC,2+m2lC,12+m2lC,22+2m2lC,1lC,2cosαθ̇2+IC,2+m2lC,22+m2lC,1lC,2cosαθ̇α̇+12IC,2+m2lC,22α̇2+12m1+m2ẋ12+ẏ12+m2ẋ1θ̇lC,1sinθ+lC,2sinθ+α+α̇lC,2sinθ+α−m2ẏ1θ̇lC,1cosθ+lC,2cosθ+α+α̇lC,2cosθ+α.Step 3.
Write the equations of motion using the Lagrange equation of the second kind (Euler-Lagrange). The Euler-Lagrange dynamic equations of motion can be written as(5)f1=a1x¨1+a2sinθ+a3sinθ+αθ¨+a3sinθ+αα¨+h1,f2=a1y¨1−a2cosθ+a3cosθ+αθ¨−a3cosθ+αα¨+h2,τ1=a2sinθ+a3sinθ+αx¨1−a2cosθ+a3cosθ+αy¨1+a4+2a5cosαθ¨+a6+a5cosαα¨+h3,τ2=a3sinθ+αx¨1−a3cosθ+αy¨1+a6+a5cosαθ¨+a6α¨+h4,where f1, f2, τ1, and τ2 are the generalized forces acting on the system, and a1, a2, a3, a4, a5, a6, h1, h2, h3, and h4 are the equivalent parameters that can be chosen as
(6)a1=m1+m2,a2=m2lC,1,a3=m2lC,2,a4=IC,1+IC,2+m2lC,22+m2lC,22,a5=m2lC,1lC,2,a6=IC,2+m2lC,22,h1=a2cosθθ̇2+a3cosθ+αθ̇2+α̇2+2θ̇α̇,h2=a2sinθθ̇2+a3sinθ+αθ̇2+α̇2+2θ̇α̇,h3=−a5sinαα̇α̇+2θ̇,h4=a5sinαθ̇2.By incorporating the typical fluid drag forces into the dynamics (see, e.g., [29]), we have that
(7)a1x¨1+a2sinθ+a3sinθ+αθ¨+a3sinθ+αα¨+h1+cq̇ẋ1=f1,a1y¨1−a2cosθ+a3cosθ+aθ−a3cosθ+aa¨+h2+cq̇ẏ1=f2,a2sinθ+a3sinθ+αx¨1−a2cosθ+a3cosθ+αy¨1+a4+2a5cosαθ¨+a6+a5cosαα¨+h3=τ1,a3sinθ+ax¨1−a3cosθ+ay¨1+a6+a5cosαθ¨+a6α¨+h4=τ2,where c is a positive constant, q=x1,y1T, and cq̇ẋ1 and cq̇ẏ1 act as the fluid drag forces along the X and Y directions, respectively.Note that it is assumed that the robotic fish in this work can be regarded as a two-rigid-body system that contains a revolute (rotational) joint. Due to these mechanical properties, the only two control inputs we can choose are the thrustu which is generated by the endpoint propeller and the exerted torque τm generated by the servo motor installed on the revolute (rotational) joint. We use Jacobian to represent the relationship among joint velocities, the endpoint velocities of the tail part, and the infinitesimal position relationship [30]. Indeed, the relationship can be obtained as follows:
(8)dXdt=JdQidt,where X is the endpoint position of the tail part. Qi is the generalized coordinate. Thus, the Jacobian matrix J in this work can be written as
(9)J=10lC,1sinθ+lC,2sinθ+αlC,2sinθ+α01−lC,1cosθ−lC,2cosθ+α−lC,2cosθ+α.Assume that there is no friction at the joint, then the external endpoint forceFext and the joint exerted torque τext can be converted to the equivalent generalized force τ, given by [26].
(10)τ=τext+JTFext,where JT is the transpose of Jacobian. In this work, the external force is the endpoint thrust u, and the external torque is the exerted joint torque τm at the rotation joint of the robotic fish. Thus, (10) can be specifically expressed as
(11)f1f2τ1τ2=000τm+JTuRθ+αe1,where Rθ+α is a rotation matrix used to represent a rotation in the Euclidean space. Note that the coordinate of endpoint thrust in the body-fixed coordinate frame rotates counterclockwise through an angle θ+α with respect to the origin of the inertial coordinate frame, and thus, the rotation matrix has the following form
(12)Rθ+α=cosθ+α−sinθ+αsinθ+αcosθ+α,e1=1,0T, which means that the thrust u only has effects on the x-axis direction.Finally, we can obtain the equivalent generalized force represented by the external force and torque(13)f1f2τ1τ2=cosθ+αusinθ+αulC,1sinαuτm.Substituting the translational forcef1,f2T in (13) into the first two equations in (7), we can obtain the translational dynamics
(14)a1x¨1=−a2sinθ+a3sinθ+αθ¨−h1−cq̇ẋ1−a3sinθ+αα¨+cosθ+αu,a1y¨1=−a2cosθ+a3cosθ+αθ¨−h2−cq̇ẏ1+a3cosθ+αα¨+sinθ+αu.Substituting the translational accelerationx¨1,y¨1T in (14) into the last two equations in (7), we can obtain the rotational dynamics
(15)b1+2b2cosαθ¨+b3+b2cosαα¨+h1∗=τ1∗,b3+b2cosαθ¨+b3α¨+h2∗=τ2∗,with b1, b2, b3, h1∗, and h2∗ being of the form
(16)b1=IC,1+IC,2+m1m2m1+m2lC,12+lC,22,b2=m1m2m1+m2lC,1lC,2,b3=IC,2+m1m2m1+m2lC,22,h1∗=h3−h1+cq̇ẋ1a1a2sinθ+a3sinθ+α+h2+cq̇ẏ1a1a2cosθ+a3cosθ+α,h2∗=h4−h1+cq̇ẋ1a1a3sinθ+α+h2+cq̇ẏ1a1a3cosθ+α,τ1∗=τ1−m2lC,1sinθf1−cosθf2m1+m2−m2lC,1m2lC,2sinθ+αf1−cosθ+αf2m1+m2=τ1+−m2lC,1sinαm1+m2u=−m1lC,1sinαm1+m2u,τ2∗=τm,Thus, the final form of rotational dynamics can be rearranged as follows:(17)b1+2b2cosαθ¨+b3+b2cosαα¨+h1∗=−m1lC,1sinαm1+m2u,b3+b2cosαθ¨+b3α¨+h2∗=τm.


## 4. Controllability of the System

The translational dynamics (14) can be written in matrix form
(18)a1q¨=−cq̇q̇+ψ+−a3sinθ+αcosθ+αa3cosθ+αsinθ+α⏟Bθ,αα¨u,where
(19)ψ=−a2sinθ+a3sinθ+αθ¨+h1−a2cosθ+a3cosθ+αθ¨+h2.Consider the input transformation(20)v=−cq̇q̇+ψ+Bθ,αα¨,uT,and we have that
(21)a1q¨=v,with q as the output and v as the control input. According to the standard linear system theory, this system is obviously controllable in the whole space of R2. On the other hand, the above input transformation is nonsingular for all possible states of the system since Bθ,α is always nonsingular. This leads us to obtain the conclusion that the system (18) with q as the output and α¨,uT as the control input is controllable in R2.Substituting the first equation in (17) into the second one gives the direct relation between τm and α¨
(22)b3−b3+b2cosα2b1+2b2cosα︷wαα¨+ϕ=τm,with
(23)ϕ=−b3+b2cosαb1+2b2cosαh1∗+h2∗−m1lC,1sinαb3+b2cosαm1+m2b1+2b2cosαu.Sincewα is uniformly positive, the relation between τm and α¨ is nonsingular. This result in combination with the above one yields the conclusion that the combined system given by (18) and (22) with q as the output and τm,uT as the input is controllable over R2.


## 5. Trajectory Control

Based on the previous controllability analysis, we show that the translational dynamic (18) can be transformed into a simple linear doubleintegrator system through the input transformation.Assume that our task is to steer the fish from an arbitrary initial position to a desired trajectory. In this work, we use feedback linearization [31] to cancel the nonlinear term in the translational dynamics (18). For some constant-speed trajectory qd (i.e., q¨d=0), the control laws can be specified as
(24)v=−KPq−qd−KDq̇−q̇d.In the more general case, the desired trajectory may have variable speed (i.e.,q¨d≠0), and the control law can be designed as
(25)v=q¨d−KPq−qd−KDq̇−q̇d,with KP and KD being positive design constants.Denote bye=q−qd the tracking error, and we then have that
(26)a1e¨+KDė+KPe=0,which leads to an exponentially stable error dynamics and implies the exponential convergence of the tracking errors according to the standard linear system theory.Substituting the control law calculated in the form of (24) or (25) into (20), we can obtain the thrust and the (reference or desired) acceleration for the robotic fish as
(27)a¨u=Bθ,α−1v+cq̇q̇−ψ.As (22) gives the direct relationship between τm and α¨, we can then design the motor torque as
(28)τm=ωαα¨+ϕu,with α¨ and u being calculated by (27). We have to emphasize that the control input (i.e., u and τm) calculation does not involve the measurement of α¨, but it does need the measurement of θ¨ since v defined by (24) or (25) involves ψ which depends explicitly on θ¨ [see (19)].


## 6. Simulation Results

In the simulation, we choose the origin of the inertial frame (reference frame) as the initial position of the robotic fish. The control inputs of the robotic fish are the endpoint thrustut and the exerted joint torque τmt. The physical parameters of the robotic fish are shown in Table 1 and Figure 1, and the parameter c (for describing the fluid drag forces) is set as c=2.0. For a desired trajectory qdt, the control laws are in the form of (25) and (28). Here, we need to obtain the joint acceleration θ¨ in order to compensate the nonlinear term in (24) or (25), and the acceleration θ¨ can be estimated from the joint velocity θ̇ by using a “low-pass filter” [32, 33] in the form of
(29)θ¨=λs+λθ̇,s=ddt,where λ denotes the cut-off frequency of the filter. The sampling period is set as 5 ms.Table 1
Physical parameters of the robotic fish.
Bodies
mi (kg)
IC,i (kg∙m2)
lC,i (m)
Head part
1.8000
0.4320
0.9000
Tail part
0.8000
0.2160
0.9000


### 6.1. Line-Path Tracking

In the first case, we consider the tracking of a ramp trajectory (i.e., a line path)(30)qdt=−1t−6t,and the desired velocity can then be written as
(31)q̇dt=−1−6.The controller parameters are set asKP=10, KD=15, and λ=3000. Simulation results are shown in Figures 3 and 4, and we see that the position of the robotic fish asymptotically converges to the desired one.Figure 3
Position tracking (line-path tracking).Figure 4
Velocity tracking (line-path tracking).


### 6.2. Circle-Path Tracking

Consider now that the desired trajectory is a circle given by(32)qdt=cos0.2πtsin0.2πt,and the controller parameters are still the same as the case of line-path tracking. Simulation results are shown in Figures 5 and 6. Even in this case of complicated path, the convergence of the position tracking errors is still ensured.Figure 5
Position tracking (circle-path tracking).Figure 6
Velocity tracking (circle-path tracking).


## 6.1. Line-Path Tracking

In the first case, we consider the tracking of a ramp trajectory (i.e., a line path)(30)qdt=−1t−6t,and the desired velocity can then be written as
(31)q̇dt=−1−6.The controller parameters are set asKP=10, KD=15, and λ=3000. Simulation results are shown in Figures 3 and 4, and we see that the position of the robotic fish asymptotically converges to the desired one.Figure 3
Position tracking (line-path tracking).Figure 4
Velocity tracking (line-path tracking).


## 6.2. Circle-Path Tracking

Consider now that the desired trajectory is a circle given by(32)qdt=cos0.2πtsin0.2πt,and the controller parameters are still the same as the case of line-path tracking. Simulation results are shown in Figures 5 and 6. Even in this case of complicated path, the convergence of the position tracking errors is still ensured.Figure 5
Position tracking (circle-path tracking).Figure 6
Velocity tracking (circle-path tracking).


## 7. Conclusions

In this paper, we proposed a novel robotic fish system which can be referred to as a semibiomimetic robotic fish (i.e., a tail-propulsion robotic fish) in contrast with most robotic fish in the literature. We derive its dynamics based on the Lagrange equation. Feedback linearization is employed to design the control inputs to avoid the severe nonlinearity in the system, and the convergence of the trajectory tracking errors is rigorously shown. Simulation results are provided to show the trajectory tracking performance of the system; in particular, the dynamic response of the proposed semibiomimetic robotic fish is acute, flexible, and fast, in contrast to most robotic fish systems in the literature (especially those that are (almost) completely biomimetic).Future work includes the further investigation of the handling of the system model uncertainty, path planning and obstacle avoidance for robotic fish, and cooperative control of multiple robotic fish. The robotic fish system with multiple rotational joints would be another potentially important research direction since that would provide the system with more flexibility; for example, 3-dimensional motion can be achieved.



---

*Source: 4657235-2018-07-02.xml*