Introduction

With society’s continuous progress and development, the limitation of land resources is gradually prominent. Marine resources have gradually become a strategic space and resource treasure house for some countries to achieve sustainable development. How to efficiently and scientifically utilize marine resources is an important symbol of the progress of human civilization and an inevitable requirement for achieving sustainable development [1]. Many Autonomous Underwater Vehicles (AUVs) and Remotely Operated Vehicles (ROVs) have been proposed [2,3,4]. However, most of these designs are bulky and expensive. Besides, these designs always generate a lot of noise when operating in the ocean, which often damages the marine environment and makes it challenging to promote and coordinate marine ecology, especially during environmental collection and exploration. The complicated control design and high maintenance cost limit these submersibles’ practical application and implementation in marine engineering. On the other hand, marine engineering’s rapid development has led to an urgent need for new tools and equipment, especially underwater bionic robots for performing marine tasks. All of the above requires us to design and propose efficient underwater robot control methods to provide a good approach and foundation for underwater robots’ environmental exploration and observation.

Due to evolution in millions of years, fish can perform fast and quite efficient swimming motions [5]. Moreover, appealing morphological properties for moving through the water with prominent speed and maneuverability have aroused researchers’ great interest, especially in designing novel underwater robots, so-called fish-inspired robots(or robotic fish). A fish-inspired underwater robot can be defined as an underwater propulsion system moving through the water with oscillatory or undulatory motions. Its main purpose is to enhance these robots’ maneuverability, propulsion efficiency, and swimming speed performance [6, 7]. The first fish-inspired robot was reported by RoboTuna developed at MIT [8], after which, much effort has been devoted into the fish-inspired robots such as box fish-like robot [9], robotic manta ray [10], two-caudal-fin robotic fish [11], amphibious robotic fish [12], soft robotic fish [13], 3D robotic fish [14], gliding robotic fish [15]. Generally, fish-inspired robots have been applied to a variety of underwater applications where operations are impractical for conventional underwater vehicles, such as underwater exploration, marine environmental monitoring, underwater search and patrol, and ocean sampling [16,17,18].

Although much research and work have been proposed around the robotic fish, how to control the movement of the tail to generate thrust forces effectively is still a key point that needs to be solved with priority for a robotic fish. Various methods have been proposed to generate a traveling body wave to mimic the control mechanism of fish locomotion patterns. For instance, Liu and Hu [19] presented a kinematic model based on fish observation locomotion to realize the C-shape sharp turn of the robotic fish. The experimental results indicated the theoretical feasibility. An IPMC-based caudal fin combined with the kinematic model of an oscillating fin was presented by Hubbard et al. [20] to mimic the locomotive behavior of the robotic fish, such as twisting and flapping. Hirata [21] proposed a sine-based approach to generate propulsive traveling waves. Above trajectory, approximation methods are intuitive and effective to a certain extent, and these methods have achieved some good results in the early research of biomimetic robotic fish control. However, the trajectory approximation method used in robotic fish control requires time-consuming numerical computations that are unsuitable for real-time control. Besides, the online modification of the target kinematic model is challenging to be realized [22].

Unlike the above trajectory approximation methods, due to good performance in generating and switching various locomotion patterns among different robots, Central Pattern Generators (CPGs)-based motion control has drawn huge attention. Biological CPGs are neural circuits found in both invertebrate and vertebrate animals that can produce coordinated patterns [23, 24]. While in robot control, CPGs can produce rhythmic motor patterns without sensory or high-level input carrying specific timing information, which indicates its easy implementation and the convenience of the online generation of the swimming gait. Ijspeert et al. [25] used the CPG model to control a salamander robot switching between walking and swimming. Wang and Xie [26] designed a double-layer CPG-based controller for a box fish-like robot, in which the controller is focused on flexible switching in 3D swimming patterns. Bal et al. [27] proposed a CPG-based autonomous swimming control for multi-tasks of a biomimetic robotic fish. However, the CPG controller’s main drawback is too many parameters to realize the desired locomotion pattern. Hou et al. [28] introduced a new CPG controller that can reduce the parameters of controlling robotic fish movement. Wang et al. [29] and Yu et al. [30] used the PSO to optimize the parameters of the proposed CPG models. Besides, an online genetic algorithm (GA) optimization approach was proposed to improve the capabilities of the CPG controller [31].

In addition, some achievements in using learning-based methods to construct biomimetic robotic fish have been proposed. Li et al. present an iterative learning control (ILC) method to build a two-link Carangiform robotic fish in real-time and achieves precise speed tracking performance [32]. Ren et al. proposed an equilibrium-based learning approach and applied it to the motion control of a tail-actuated robotic fish. The experimental results show the effectiveness of the proposed learning approach [33]. Yang et al. proposed machine learning methods to construct an environmental perception framework for robotic fish [34]. Liu et al. proposed a reinforcement learning (RL) algorithm to optimize robotic fish behaviors and obtained some good results [35]. However, although these learning-based methods have achieved some results, there are still many inevitable restrictions. In addition, these methods mainly focus on a single objective. On the other hand, the biomimetic robotic fish optimization control method based on machine learning and reinforcement learning is still in the initial stage. Of course, the engineering implementation of bionic robotic fish also involves error detection, uncertainty, and so on [36, 37]. However, this paper is mainly aimed at the current CPG-based biomimetic robotic fish control method.

There are various CPG-based motion control methods for biomimetic robotic fish, and these methods have indeed achieved better results than the traditional control methods. However, the following problems still exist.

  • Some CPG-based methods integrate complex mathematical equations, making the model more complex, and these models always have some limitations.

  • It is hard for CPG-based methods to tune the internal model parameters, especially for complex robotic fish system designs.

  • Some CPG control models based on evolutionary ideas have been proposed to assist robotic fish in underwater swimming. Still, most of these designs only adopt relatively simple evolutionary algorithms with one objective (Actually, robotic fish swimming underwater often needs to meet the needs of multiple objectives simultaneously), limiting the practical application of the obtained control model.

Based on our previous work on evolutionary computing [38] and the discussion mentioned above, the main contributions of this paper are summarized as follows.

  • A Carangiform-type biomimetic robotic fish with a three-link propulsive tail mechanism is designed. Which is constructed to present extensive experimental studies for real-time implementation of biomimetic robotic fish controlling.

  • A new connectionist CPG model using an evolutionary frame is proposed. Which is designed for biomimetic robotic fish control. This model can quickly generate rhythmic signals by adjusting different parameters and conveniently connect to the evolutionary algorithm for parameter optimization.

  • A multi-objective evolutionary optimization method proposed in our previous work is adopted to tune the control model’s parameters in the different objectives such as maximum average swimming speed, good head stability, and higher propulsive efficiency. Noting that current researches always adopt relatively simple algorithms to deal with a single objective, which may widen the gap between the theoretical model and practical application. This work balances the needs of three objectives well and provides a paradigm for efficiently applying a multi-objective evolutionary-based CPG network in biomimetic robo tic fish swimming control.

The rest of this article is arranged as follows. “Design of a biomimetic robotic fish prototype” gives the biomimetic robotic fish overall design. The description of electronics and hardware design details are also provided. “Central Pattern Generator network-based locomotion model” proposes the CPG-based control model with a dynamic force analysis of the proposed biomimetic robotic fish. After that, the definitions and preliminaries of a multi-objective evolutionary algorithm called MOWOA are introduced in “Evolving the CPG network with multi-objective evolutionary algorithm”. The algorithm is adapted to optimize the proposed CPG-based control model. In “Decision selection mechanism”, the decision selection mechanism is elaborated to assist in implementing optimization results. The experimental results, comparisons, and discussions are presented in “Experimental results and discussion” to prove the performance of the developed control model and biomimetic robotic fish. Finally, conclusions and suggestions for future work are given in “Conclusion”.

Design of a biomimetic robotic fish prototype

Figure 1 shows the terminology used to describe the morphological features of fish. According to the swimming propulsor, fish can be divided into two main species. (1) a body and/or caudal fin (BCF) swimmer bends its body into a backward propulsive wave, extending to its caudal fin. (2) median and paired fin (MPF) swimmers only use the median and paired fins to generate thrust. Depending on the type of motion exhibited by the thrust-generating structure, BCF can be further classified into different species such as Anguilliform, Subcarangiform, Carangiform, and Thunniform [39].

Fig. 1
figure 1

Terminology related to the fish of Carangiform type

Owing to the good performance of fish in Carangiform, the proposed biomimetic robotic fish in this paper is designed based on the fish model in Carangiform. Our biomimetic robotic fish prototype is shown in Fig. 2. The proposed biomimetic robotic fish prototype contains five main components: a well-streamlined rigid body, the three-link tail mechanism driving with servomotors, a communication and control unit, a front sight unit with distance sensors, and a flexible caudal fin. All of the components are designed considering the body shape and dimensions of a real Carangiform, and component locations are realized according to the lift.

Fig. 2
figure 2

The mechanical configuration of the proposed biomimetic robotic fish

force’s balance. The core controller is a microcontroller ATmega328P. It collects signals from sensors (like distance sensors) and generates the CPG signal for the servomotors. The detailed technical specification of the robotic sh is listed in Table 1.

Table 1 Technical specification of the proposed biomimetic robotic fish

In this mechanism, the communication and control unit is fixed at the top of the robot head and constructed with the microprocessor modules, IMU, power supply, and wireless module. In contrast, the sensors and battery pack are fixed at the front and bottom of the robot head, respectively. The wireless module performs the wireless communication between the prototype and the user’s handle. The ATmega328P microcontroller is included to perform CPG-based closed-loop control. Finally, the thrust force of the biomimetic robotic fish is generated through a three-link tail mechanism. A 25 kg \(\cdot \) cm DC servomotor drives each link, and the caudal fin is attached to the final link via a peduncle. Furthermore, our proposed biomimetic robotic fish is implemented with a full-body waterproof treatment, including good waterproof material and sealing measures.

Fig. 3
figure 3

Configuration of the multi-objective evolutionary design of the CPG model in our proposed biomimetic robotic fish prototype

Central pattern generator network-based locomotion model

CPGs are neural networks capable of producing coordinated patterns of rhythmic activity without any rhythmic inputs from sensory feedback or higher control centers [40]. The CPG-based control has been widely used in generating various swimming patterns such as forward swimming, backward swimming, and turning [41]. Nowadays, different CPG models are designed and implemented like the Matsuoka-based CPG model [27], Kuramoto-based CPG model [22], and Hopf-based CPG model [30]. It is noteworthy that although different models have been designed and applied in robot control, parts of CPG models involve relatively complicated formulas, which limits the effective implementation and application of the model in real robots, especially for the biomimetic robotic fish. Moreover, these models are often accompanied by many uncertain parameters, which require a well-designed method for a user to choose the values of parameters properly. Here we propose a multi-objective evolutionary design-based CPG network to construct the biomimetic robotic fish’s control model. The configuration of the proposed control model in our biomimetic robotic fish prototype is shown in Fig. 3

Borrowing the idea from Ijspeert [42] and Yu [43], the proposed improved CPG model based on Hopf oscillator with fewer parameter is described by the following differential equations:

$$\begin{aligned} \begin{aligned} \dot{u}&=p_{u}+u(\varepsilon -k^{2}\gamma ^2)-\omega v\\ \dot{v}&=p_{v}+v(\varepsilon -k^{2}\gamma ^2)+\omega u \end{aligned}, \end{aligned}$$
(1)

where \(\gamma =\sqrt{u^2+v^2}\), u and v denote the state variables of the oscillator. \(\omega \) stands for the intrinsic frequency of oscillators, and \(\varepsilon \) controls the oscillation amplitude. Besides, k is the gain coefficient. Each joint of the biomimetic robotic fish is connected through each CPG neuron’s coupling to generate fish-like swimming smoothly. The perturbation signal can influence the oscillator’s phase dynamics, thus realizing frequency synchronization and maintaining a stable phase difference between them by one oscillator perturbing another. Following this idea, the components of the perturbation \(p_{u}\) and \(p_{v}\) are designed to act on u and v state variables to build the appropriate coupling scheme. Specifically, the perturbation of our proposed CPG model is implemented with the help of a rotation matrix [42]:

$$\begin{aligned} P= R\bullet CA, \end{aligned}$$
(2)

where P is the perturbation matrix, and R stands for the rotation matrix. At the same time, C is the coupling term matrix. A the coupling weight, which influences the speed of convergence. Thus, Eq. (2) can be further translated as follows:

$$\begin{aligned} \begin{bmatrix} p_{u} \\ p_{v} \end{bmatrix}=\begin{bmatrix} \cos \theta &{} -\sin \theta \\ \sin \theta &{} \cos \theta \end{bmatrix}\bullet \begin{bmatrix} u_{i-1} &{} v_{i-1}\\ u_{i+1} &{} v_{i+1} \end{bmatrix}\begin{bmatrix} a\\ b \end{bmatrix}, \end{aligned}$$
(3)

where \(\theta \) the phase difference between each oscillator and \( I (i>0)\) means the number of the oscillator. Function \(\bullet \) stands for the inner product operation. ab are the specific coupling coefficients. After that, the CPG model for our proposed biomimetic robotic fish in Eq. (1) can be translated as follows:

$$\begin{aligned} \begin{aligned} \dot{u_{i}}&=au_{i-1}\cos \theta - bv_{i-1}\sin \theta +u_{i}(\varepsilon _{i} -k^{2}\gamma _{i} ^2)-\omega v_{i}\\ \dot{v_{i}}&=au_{i+1}\sin \theta + bv_{i+1}\cos \theta +v_{i}(\varepsilon _{i} -k^{2}\gamma _{i} ^2)+\omega u_{i}. \end{aligned} \end{aligned}$$
(4)
Fig. 4
figure 4

Schematic illustration of coordinate systems according to the proposed biomimetic robotic fish

After building the CPG model, the robotic sh can achieve diverse swimming gaits by regulating parameters and output signals \(v_{i}\) to the \(i_{\text {th}}\) servo, which controls the corresponding joint of the biomimetic robotic fish. However, it is not easy to choose parameters heuristically. Therefore, a multi-objective evolutionary algorithm proposed in our above work is employed to optimize the parameters to obtain the desired signals. Before introducing the algorithm, the biomimetic robotic fish’s dynamic analysis is given in the following section to construct the objective function.

Establishment of dynamic model

This paper focuses on the plane’s plane motion and assumes that the biomimetic robotic fish’s force is balanced in the vertical plane. The buoyancy received by the biomimetic robotic fish is equal to the gravity. The following part gives the robot fish’s relative velocity and acceleration relative to the fluid. After that, the fluid resistance and the corresponding moment are also obtained. Finally, the dynamic model is established by the Newton–Euler method.

(1) Establishment of coordinate system

According to the structure of the proposed biomimetic robotic fish shown in Fig. 4, the transform matrix can be expressed as follows [44]:

$$\begin{aligned} R^{o}_{w}= & {} \begin{bmatrix} \cos \theta _{0} &{}\quad \sin \theta _{0} &{}\quad 0\\ -\sin \theta _{0} &{}\quad \cos \theta _{0} &{}\quad 0\\ 0 &{} 0 &{} 1 \end{bmatrix} \end{aligned}$$
(5)
$$\begin{aligned} R_{i}^{i+1}= & {} \begin{bmatrix} \cos \theta _{i+1} &{}\quad \sin \theta _{i+1} &{}\quad 0\\ -\sin \theta _{i+1} &{}\quad \cos \theta _{i+1} &{}\quad 0\\ 0 &{} 0 &{} 1 \end{bmatrix}\qquad (i = 0,1,2,3), \nonumber \\ \end{aligned}$$
(6)

where \(R^{o}_{w}\) stands for the transform matrix from world coordinate system to \(O_{0}-X_{0}Y_{0}Z_{0}\) and \(R^{i+1}_{i}\) indicates the transform matrix from \(O_{0}-X_{0}Y_{0}Z_{0}\) to \(O_{i+1}-X_{i+1}Y_{i+1}Z_{i+1}\).

After that, the position vectors \(r_{o_{0}}\) and \(r_{o_{i}}\) can be obtained by the following equations:

$$\begin{aligned} \begin{aligned} r_{o_{0}}&=R^{o}_{w}[\begin{array}{lll} x&y&0 \end{array}]^{T}\\ r_{o_{j}}&=R^{j}_{j-1}(r_{o_{j-1}}+[\begin{array}{lll} L_{j-1}&0&0 \end{array}]^{T})\\&\qquad (j = 1,2,3) \end{aligned} \end{aligned}$$
(7)

Therefore, the position vector \(r_{c_{i}}\) can be obtained as follows:

$$\begin{aligned} \begin{aligned} r_{c_{i}}&=r_{o_{i}}+\left[ \begin{array}{lll} \frac{1}{2}L_{i}&0&0 \end{array}\right] ^{T}\\&\qquad (i= 0,1,2 ,3). \end{aligned} \end{aligned}$$
(8)

(2) Relative velocity and relative acceleration

To describe the motion of the robot fish in the fluid, the definition of the relative velocity \(v_{ri}\) and relative acceleration \(a_{ri}\) of the robot fish relative to the fluid are given first [44].

$$\begin{aligned} \begin{aligned} v_{ri}&=v_{ci}-v_{fi}\\a_{ri}&=a_{ci}-a_{fi} \\&\quad (i = 0,1,2 ,3), \end{aligned} \end{aligned}$$
(9)

where \(v_{fi}\) and \(a_{fi}\) stand for the velocity and acceleration of fluid in the moving coordinate system \(O_{i}-X_{i}Y_{i}Z_{i}\), respectively. Besides, \(v_{ci}\) and \(a_{ci}\) indicate the velocity and acceleration of the center of mass of ith joint in \(O_{i}-X_{i}Y_{i}Z_{i}\), respectively. These two vectors can be expressed as follows:

$$\begin{aligned} \begin{aligned} v_{ci}&=\frac{dr_{c_{i}}}{dt}+\omega _{i}\times r_{c_{i}} \\ a_{ci}&=\frac{dv_{c_{i}}}{dt}+\omega _{i}\times v_{c_{i}} \\&\quad (i = 0,1,2,3), \end{aligned} \end{aligned}$$
(10)

where \(\omega _{i}\) is the angular velocity of ith joint in \(O_{i}-X_{i}Y_{i}Z_{i}\), which can be calculated as follows:

$$\begin{aligned} \begin{aligned} \omega _{i}&= \left[ \begin{array}{lll} 0&0&\sum \limits _{0}^{i} d\theta _{i} \end{array}\right] ^{T}\\&\qquad (i = 0,1,2,3), \end{aligned} \end{aligned}$$
(11)

where \(\theta _{i}\) stands for the angle between every two connected joints.

(3) Fluid resistance and the corresponding moment

The fluid resistance is acts on an object depends on the relative velocity of the fluid relative to the object, the drag coefficient, the effective area of the object, and the density of the fluid. Here the fluid resistance \(F_{ri}\) of the \(i_{\text {th}}\) joint is calculated as follows:

$$\begin{aligned} \begin{aligned} F_{ri}&=\begin{bmatrix} -0.5\rho h_{x}|v_{rix}|v_{rix}S_{x}\\ -0.5\rho h_{y}|v_{riy}|v_{riy}S_{y}\\ 0 \end{bmatrix} \\&\quad (i = 0,1,2,3), \end{aligned} \end{aligned}$$
(12)

where \(\rho \) is the density of the fluid, \(h_{x}\) and \(h_{y}\) indicate the drag coefficients on x-axis and y-axis, respectively. \(v_{rix}\) and \(v_{riy}\) are the relative velocity components on x-axis and y-axis, respectively. In addition, \(S_{x}\) and \(S_{y}\) stand for the effective areas of the object on x-axis and y-axis, respectively. While the corresponding moment of fluid resistance can be expressed as the following equation:

$$\begin{aligned} \begin{aligned} T_{ri}&=\begin{bmatrix}0.5l_{i}&0&0 \end{bmatrix}^{T}\times F_{ri} \\&\quad (i = 0,1,2,3). \end{aligned} \end{aligned}$$
(13)

(4) Dynamic Model with Newton–Euler formulation

As the biomimetic robotic fish joints connect each other, the interaction force and moment are generated. Suppose that the interaction force and moment of the \(i_{th}\) joint are denoted as \(^{j}\text {F}_{i}\) and \(^{j}\text {T}_{i}\), respectively. According to the Newton–Euler method, the dynamic equations of the \(i_{th}\) link can be formulated as follows:

$$\begin{aligned} \begin{aligned} ^{j}\text {F}_{i}+F_{ri}&=m_{i}a_{ci}\\ ^{j}\text {T}_{i}+T_{ri}&=J_{i}\dot{\omega _{i}}+ \omega _{i}\times J_{i}\omega _{i}\\&\qquad (i = 0,1,2,3)\\&\qquad (j = 1,2,3), \end{aligned} \end{aligned}$$
(14)

where \(m_{i}\) and \(J_{i}\) indicate the mass and the moment of inertia of the \(i_{\text {th}}\) joint.

By solving the above equations, we can obtain the velocity of the rigid head of the biomimetic robotic fish. After that, the objective function used in the following multi-objective evolutionary algorithm can be obtained.

Evolving the CPG network with multi-objective evolutionary algorithm

This section introduces a multi-objective whale optimization algorithm(MOWOA) proposed in our previous work [38]. The algorithm is inspired by the predation movement of whales, which has been adopted in various algorithms [45, 46]. Due to the MOWOA algorithm’s good performance in solving the multi-objective optimization problems, the proposed CPG network can be well optimized by MOWOA with three objective functions: speed, propulsive efficiency, and head stability. Besides, a fuzzy decision method has also been adopted to help the decision-maker choose the most appropriate solution among the non-dominant solution set obtained by MOWOA through the CPG network.

Multi-objective whale optimization algorithm (MOWOA)

In this subsection, the MOWOA proposed in our previous work is first introduced briefly. Three main parts construct the mathematical model of a MOWOA: initialization with opposition-based learning (OBL), whale optimization operator, and archive maintaining with global grid ranking strategy (GGR). The diagram of the MOWOA is shown in Fig. 5, and the mathematical models proposed for the above strategies are presented as follows:

Fig. 5
figure 5

The diagram of the main mechanism of MOWOA

(1) Initialization with opposition-based learning

OBL is an efficient mechanism in the optimization field due to the promising potential to obtain fitter starting candidates even with no prior knowledge and enhance the probability of detecting better regions. The basic principle of the OBL is defined as follows:

Let x, be a real number in an interval [ab] (\(x\in [a, b]\)). The opposite number of x, denoted by \(\breve{x}\), is defined as follows [47]:

$$\begin{aligned} \breve{x} = a+b-x. \end{aligned}$$
(15)

Based on the principle of OBL, the MOWOA algorithm adopts a new initialization method, which is different from the survival selection in previous OBL-based algorithms. MOWOA first divide population \(P(N_{p})\) into two parts. For the first half of the population \(P_{1}\) is a random generation, and the rest half population \(P_{2}\) is initialized in terms of OBL. Thus, the final set \(\begin{Bmatrix} P_{1}\cup P_{2}\end{Bmatrix}\) are restructured as the initial population \(N_{p}\).

(2) Whale optimization operator

Noting that inspired by the whale, the whale optimization operator is divided into three parts: encircling prey, spiral bubble net feeding, and searching for prey. The spiral bubble net feeding is the most central part of these three behaviors. It means that whales simultaneously swim around the prey within a shrinking circle and along a spiral-shaped path.

  • Bubble-net attacking: In MOWOA, a probability of 0.5 is used to choose between either the shrinking encircling or the spiral model to update the position. The mathematical model is as follows [48]:

    $$\begin{aligned} X(t+1)=\left\{ \begin{array}{lll} \bar{X(t)}-B \cdot C &{} if &{}p<0.5\\ C \cdot e^{ \alpha } \cdot \cos (2\pi \alpha )+\bar{X(t)} &{} if &{}p\ge 0,5 \end{array}\right. \end{aligned}$$
    (16)

    where C is the distance of the \(i_{\text {th}}\) whale to the prey (best solution obtained so far), \(\alpha \) is a random number in \([-1, 1]\), p is a random number in [0, 1], and . is an element-by-element multiplication.

  • Encircling prey operations: In particular, if \(p<0.5\) and \(|B|<1\), the whale perform encircling prey operations [48].

    $$\begin{aligned} C= & {} \begin{vmatrix} A\bar{X(t)}-X(t) \end{vmatrix} \end{aligned}$$
    (17)
    $$\begin{aligned} X(t+1)= & {} \bar{X(t)}-B \cdot C \end{aligned}$$
    (18)
    $$\begin{aligned}&A=2 \cdot r \\&B=2r \cdot a - a, \end{aligned}$$

    where X(t) is the position vector and \(\bar{X(t)}\) is the position vector of the best solution obtained so far; a is linearly decreased from 2 to 0 and r is a random vector in [0, 1]. Moreover, \(\cdot \) is an element-by-element multiplication.

  • Prey search: While if \(p<0.5\) and \(|B|>1\), the whale performs prey search operations. This will emphasize exploration and allow the MOWOA algorithm to perform a global search. The detail is as follows: [48]:

    $$\begin{aligned} C= & {} \begin{vmatrix} A\bar{X_{\text {rand}}(t)}-X(t) \end{vmatrix} \end{aligned}$$
    (19)
    $$\begin{aligned} X(t+1)= & {} \bar{X_{\text {rand}}(t)}-B \cdot C, \end{aligned}$$
    (20)

    where \( \bar{X_{\text {rand}}(t)}\) is a random position vector (a random whale) chosen from the current population and AB are the same as shown in Eq. (18).

(3) Archive maintaining with global grid ranking strategy (GGR)

A novel global grid ranking mechanism is introduced in MOWOA, which has been proposed in our previous work [38] to preserve and maintain non-dominated solutions. The Global grid ranking is defined as the summation of the number in which individuals’ grid location is superior to other individuals in each objective.

$$\begin{aligned} \begin{aligned} \text {GGR}(x_{i})&=\sum _{d=1}^{M} \text {find}(G_{d}(x_{i})<G_{d}(x_{j})),\\&\quad i,j \in N_{p},i\ne j\end{aligned} \end{aligned}$$
(21)

where \(\text {GGR}(x_{i})\) is the global grid ranking of individual \(x_{i}\), M is the number of the objective, \(G_{d}(x_{i})\) is the grid coordinate of individual \(x_{i}\) in the \(d_{\text {th}}\) objective, \(N_{p}\) is the number of the population, and \(\text {find}(.)\) is the function to find the number to meet the conditions of (.). The larger the \(\text {GGR}(x_{i})\), more individuals dominated by \(x_{i}\).

As to assist the MOWOA in maintaining non-dominated solutions, a normalized Euclidean distance between an individual and the minimal boundary point in its hyper box, called \(\text {HGD}\), is also adopted:

$$\begin{aligned} \text {HGD}(x_{i})=\sqrt{\sum _{d=1}^{M}(f_{d}(x_{i})-(l_{d}+G_{d}(x_{i}-1)*d_{d}))^{2}}. \end{aligned}$$
(22)

In this archive maintaining strategy, MOWOA sets the size of the external archive to \(N_{p}\), which is also the size of the population, and fetches the top 50% solutions in ascending order into the external archive using the GGR strategy.

Objective function construction

  • (1) Average propulsive speed

    Since the propulsive speed is an important performance indicator for biomimetic robotic fish, the average propulsive speed of a three-joint robotic fish in z swimming periods is selected as one of the objectives.

    $$\begin{aligned} \min \ \bar{v}=-\frac{\int _{0}^{zT}v(t)dt}{zT}. \end{aligned}$$
    (23)
  • (2) Head Stability

    For the biomimetic robotic fish, the stability of its swimming process, especially the stability of the fish head, is essential. In addition, head stability is used as an objective function for optimization to ensure the stability of the later image acquisition.

    $$\begin{aligned} \min \ \mu =\frac{ \underset{\tau \in (t,t+T)}{\max (\omega _{0} )}-\underset{\tau \in (t,t+T)}{\min (\omega _{0})} }{2}, \end{aligned}$$
    (24)

    where \(\omega _{0}\) indicates the angle velocities of the head part and T means the period of swimming.

  • (3) Propulsive-energy efficiency

    Propulsive efficiency is also essential, indicating the performance of biomimetic robotic fish. Here a propulsive-energy efficiency has been adopted as an indicator. It can show how much the input energy is converted into the kinetic energy of the robot [49].

    $$\begin{aligned} \min \ \eta =-\frac{\bar{v}}{L\int _{0}^{1/f}f\sum _{i=1}^{n}|\delta _{i}(t) \dot{\theta }_{i}(t) |dt}, \end{aligned}$$
    (25)

    where \(\bar{v}\) is the same as the value in Eq. (23). L indicates the body length of the biomimetic robotic fish and f means the oscillation frequency of the CPG network.

After building the objective functions, the CPG network can be optimized with the help of the MOWOA. The detailed steps are described in Algorithm 1:

figure a

Decision selection mechanism

After optimization by the MOWOA, the non-dominating sets are generated to construct the biomimetic robotic fish CPG model. There is no doubt that the Pareto optimal solutions represent the trade-off among these three objective functions. However, it is still hard for a decision-maker to apply this series of solutions to the actual engineering problem, especially biomimetic robotic fish controlling. To be more specific, one or a few solutions among the Pareto optimal solutions should be chosen based on the biomimetic robotic fish’s requirements.

In this study, the fuzzy decision method is combined with the Pareto optimal solutions to generate a decision selection mechanism for constructing our biomimetic robotic fish control model. The fuzzy decision theory is first proposed by Zadeh et al. in their previous works [50, 51]. Nowadays, the fuzzy theory has been successfully applied in many different aspects [52,53,54]. Here, the decision filtering mechanism is presented in Fig. 6, and the details are described as follows.

Fig. 6
figure 6

Specific steps of decision filtering mechanism

  • (1) Non-dominated solutions acquisition

    The engineering problem involved in this article is a three-objective multi-objective optimization problem. The Non-dominated solutions can be obtained (equal to the number of populations set in the algorithm) after operating by MOWOA. The matrix table of the obtained Non-dominated solutions S is defined as follows.

    $$\begin{aligned} S=\begin{bmatrix} f_{1}(x_{1}) &{} f_{2}(x_{1}) &{}\cdots &{} f_{m}(x_{1})\\ f_{1}(x_{2}) &{} f_{2}(x_{2}) &{}\cdots &{} f_{m}(x_{2})\\ \vdots &{} \vdots &{} \vdots &{} \vdots \\ f_{1}(x_{n}) &{} f_{2}(x_{n}) &{}\cdots &{} f_{m}(x_{n}), \end{bmatrix} \end{aligned}$$
    (26)

    where m and n denote the number of objectives and the number of populations, respectively. \(f_{j}(x_{i})\) means the objective value of the ith solution on jth objective (\(i\in n\), \(j\in m\)).

  • (2) Membership function calculation

    In fuzzy theory, the membership function is the key part defined to transform the solutions into data available for fuzzy decisions. The membership function \(T_{j}(x_{i})\) can be defined as follows.

    $$\begin{aligned} T_{j}(x_{i})= & {} \left\{ \begin{aligned}&0 \quad if \quad f_{j}(x_{i})=\text {Max}_{i}^{j} \\&\frac{\text {Max}_{i}^{j}-f_{j}(x_{i})}{\text {Max}_{i}^{j}-\text {Min}_{i}^{j}} \quad \text {if} \quad \text {Min}_{i}^{j}< f_{j}(x_{i})< \text {Max}_{i}^{j}\\&1 \quad \text {if} \quad f_{j}(x_{i})= \text {Min}_{i}^{j}, \end{aligned}\right. \nonumber \\&i\in n, j\in m, \end{aligned}$$
    (27)

    where m and n denote as the number of objectives and the number of populations, respectively. \(\text {Max}_{i}^{j} = \text {max}f_{j}(x_{i})\) and \(\text {Min}_{i}^{j} = \text {min}f_{j}(x_{i})\) stand for the maximum and minimum bounds of the objective values obtained through MOWOA. Thereafter, the new matrix \(\tilde{S}\) can be obtained with the membership function \(T_{m}(x_{i})\).

  • (3) Decision and Selection

    Here the weight vector of the evaluation A should be set first. Thereafter, the selection matrix R(x) can be obtained through the intersection of weight vector A and \(\tilde{S}\). Finally, the solution with the largest R(x) value is the one that needs to be selected.

The computational complexity of MOWOA is \(O(MN^{2})\), where M is the number of objectives and N is the number of individuals in the population. The computational complexity of the proposed decision selection mechanism is O(MN), where M is the number of objectives and N is the number of individuals in the archive. Therefore, the final complexity of the proposed work is \(O(MN^{2})\), which is identical to well-known algorithms like MOPSO [55], NSGA-II [56].

Experimental results and discussion

Parameters and settings

In this section, a series of simulations and real environmental experiments are carried out to compare and verify the effectiveness of the proposed method. The simulations are conducted with MATLAB, and real aquatic environmental experiments are done in the indoor swimming pool with a complete camera capture system. Pool dimensions are 200 cm wide, 300 cm long,and 66 cm depth. As “Design of a biomimetic robotic fish prototype” shows, our proposed biomimetic robotic fish comprises three joints. The detailed parameters of each segment involved in our proposed model and algorithm are listed in Table 2.

Table 2 The detailed parameters of each segment in biomimetic robotic fish

While for the algorithm part, the relevant parameters are listed in Table 3. The population number is 50, and the maximum number of iterations is 200. In particular, all aquatic tests are conducted on a biomimetic robotic fish, and the data obtained by real environmental experiments were the averages of fifteen runs during testing.

Table 3 Parameters of MOWOA involved in optimization of proposed model
Fig. 7
figure 7

The output angle with different parameters. Giving the parameter values as a \(a = 5.0\), \(b = 1.0\), \(\theta = -75^{\circ }\), \(A_{1} = 10, A_{2} = 21, A_{3} =30\), and \(\omega = 27, k=11\). b \(a = 5.0\), \(b = 1.0\), \(\theta = 60^{\circ }\), \(A_{1} = 10, A_{2} = 21, A_{3} =30\), and \(\omega = 27, k=11\). c \(a = 5.0\), \(b = 1.0\), \(\theta = -75^{\circ }\), \(A_{1} = 10, A_{2} = 21, A_{3} =30\), and \(\omega _{1}= 31,k=15\). d \(a = 5.0\), \(b = 1.0\), \(\theta = 60^{\circ }\), \(A_{1} = 10, A_{2} = 21, A_{3} =30\), and \(\omega _{1}= 27,k=15\)

Experimental analysis and discussion

Simulation and algorithm analysis

CPG-based biomimetic robotic fish motion is a relatively complex model design, which is mainly because, on the one hand, the model involves more parameters. On the other hand, the model needs to consider the different needs of robot fish. Most of the work is about designing biomimetic robotic fish from only one aspect (For example, speed). However, biomimetic robotic fish design is a complete structure containing various requirements, such as speed, energy, efficiency, etc. Therefore, this paper proposes a multi-objective evolutionary design of the CPG motion model. This design considers the biomimetic robotic fish’s speed, efficiency, and head stability. It encapsulates the control model into a black box to avoid the tedious work of complex parameter designing in the model. Our algorithm can efficiently and conveniently optimize the complex parameters involved in the model and compromise solutions after weighing each objective’s advantages and disadvantages. Besides, to facilitate selecting the best scheme, we adopted the fuzzy selection strategy to enable the decision-maker to choose and use the final solution.

Eight different input parameters are coded into the algorithm population for optimization, thus can analyze the performance of our proposed biomimetic robotic fish. Input variables are the amplitude of each link (\(A_{1}, \) \( A_{2}, A_{3}\)), frequency of each link (\(\omega \)), phase difference (\(\theta \)), coupling weights (a, b) and gain coefficient k. To intuitively explain the above parameters’ role in the model design, we give a group of random motion parameters and draw the output CPG angle curves to intuitively show the output angle curves of different parameter combinations.

Figure 7 shows the CPG output angle curve with time under different parameter combinations. The output curve is different for the CPG model under different parameter combinations (mainly used to realize the forward and backward swimming of biomimetic robotic fish). As shown in Fig. 7a and b, when each joint’s frequency is fixed, the phase difference \(60^{\circ }\) or \(- 75^{\circ }\) is selected, and the propagation direction will be opposite.

However, as shown in Fig.  7c and d, with different gain coefficients, the model’s output range differs from that shown in Fig.  7a and b. Most current research on the CPG model uses the method of directly giving the parameters or excessively simplifying the parameters to reduce the difficulty of constructing the motion model of biomimetic robotic fish. However, the CPG motion model is derived from the mammalian spinal nerve, a complete structure with multiple parameters. Therefore, the one-sided pursuit of simplification may reduce its accuracy and maneuverability and deviate from its original design intention.

It is worth noting that reducing the complexity of the combination of the model’s internal parameters is the key point in designing the CPG model. Therefore, this paper proposes a multi-objective evolutionary design of the CPG network motion model. This design does not need to consider the complex combination of the model’s internal parameters. It only needs to focus on the input and output, and the given scheme can meet the different needs and objectives of the design of the biomimetic robotic fish. Figure 8 is the Pareto front of the non-dominated solution obtained by the proposed model in the MOWOA algorithm with three objectives. Table 4 is the parts of selected solutions obtained by our proposed model with the MOWOA algorithm.

As Fig. 8 shows, the true Pareto front is constructed by non-dominated solutions obtained by our multi-objective evolutionary CPG network. The subgraphs (a–c) stand for the specific situation of pairwise comparison between the three objectives. Combined with the data in Table 4, it can be seen that the non-dominated solution set obtained by the model represents the solution after weighing the advantages and disadvantages under the three objectives. Unlike previous models designed for only one aspect, the solutions obtained by our multi-objective evolutionary CPG network cannot simply find a maximum or minimum individual as the best solution because it weighs multiple objectives and needs. Instead, the proposed model provides a group of better solution sets. All of these solutions have their unique advantages. For example, using one solution of the non-dominated solution set can give the biomimetic robotic fish a high propulsive speed, but its head stability may be inadequate. By adopting the other solutions of the non-dominated solution set, the biomimetic robotic fish’s propulsive speed may be slower than that of the previous solution. However, the biomimetic robotic fish’s head stability and propulsive-energy efficiency are significantly improved.

These non-dominated solutions meet the proposed dynamic model’s requirements at the algorithm level in the three objectives of efficient operation. They can be used as the reference scheme of the final decision-maker in the theory aspect. But at the engineering level, it is impractical to apply all 50 solutions. Especially when the external file set of the algorithm is set to an enormous value (such as 200 or 500), how to further select one or several solutions to meet the needs of decision-makers from such a sizeable optimal solution set is one of the key points of adopting multi-objective CPG dynamic model. Therefore, after the optimization generation of the non-dominated solution set, the selection strategy proposed in this paper will assist the decision-maker in selecting the final one or several solutions. Thus, to meet the application requirements of the actual biomimetic robotic fish motion model and fulfill the needs of different objectives. As in “Decision selection mechanism” showed, after obtaining the non-dominated solutions from our proposed MOWOA algorithm, the fifty solutions will be converted into the floating-point form through the

Fig. 8
figure 8

The Pareto front of the proposed dynamic model with three objectives. a Comparison diagram of the average propulsive speed and the head stability. b Comparison diagram of the head stability and propulsive-energy efficiency. c Comparison diagram of the average propulsive speed and propulsive-energy efficiency

Table 4 Selected non-dominated solutions obtained by our proposed model with the MOWOA in three objectives

membership function. Table 5 gives the selected solutions’ detailed values after calculating the membership function. Figure 9 uses the heat map to illustrate all fifty non-dominated solution values after calculating the membership function.

Table 5 has listed the values of the first ten converted non-dominated solutions. The values in the table are obtained by calculating through the membership function. Its essence is to transform various solutions under different objectives into data indicators under a unified scale to facilitate further screening and evaluation. Since the total number of non-dominated solution sets reaches 50, it is very cumbersome to list them all in the table. Here we use a heat map to intuitively show the converted data of each solution under different objectives. Different color depths represent the converted data’s relative size under the same objective scale. On the other hand, we can also see from Fig. 9 that although the data obtained by each scheme under different objectives are different, the arrangement color is relatively balanced, and there is no extreme case. This is mainly due to the good characteristics of this paper’s multi-objective evolutionary dynamic model. The non-dominated solutions obtained using the MOWOA algorithm are all the better candidates for the current multi-objective evolutionary dynamic model.

Fig. 9
figure 9

The heat map graph of fifty solutions with three objectives which are transformed from fifty non-dominated solutions using the membership function

Table 5 Ten selected solutions with three objective which are transformed from non-dominated solution solutions using membership function

After converting the non-dominated solutions, the next step is to use the set weight vector matrix to filter the final solution, as “Decision selection mechanism” showed. Since all three objectives are the key requirements of the design of biomimetic robotic fish, we use the same weight vector to construct the screening matrix. The weight vector–matrix used is \(A = [1/3, 1/3, 1/3]\). (Without losing generality, here we use \(A = [1/3, 1/3, 1/3]\) as the weight vector to show the method’s feasibility more intuitively. However, the actual weight vector is often different for different decision-makers and needs in practical application.) After that, the final solution is obtained as follows:

$$\begin{aligned} R(x)= & {} A \cdot \tilde{S} \end{aligned}$$
(28)
$$\begin{aligned} \text {Solution}_{\text {final}}= & {} \max (R(x_{i})) \\&i\in n,\nonumber \end{aligned}$$
(29)

where m and n denote as the number of objectives and the number of solutions, respectively.

Figure 10 shows the different values of each solutions. From the figure, it can conclude that the final screened solution is solution 2. Therefore, we use the nine parameters set in resolution ten as the actual biomimetic robot fish parameters and put them in the real environment for the actual test to observe and verify the model’s reliability and method in this paper. The corresponding parameters and indicators of the final screened solution are shown in Table 6. With the parameters of solution 2, each joint’s output angle obtained through our proposed CPG model can be drawn in Fig. 11.

Fig. 10
figure 10

The heat map graph of final fifty solutions values calculated using Eq. (28)

Table 6 The corresponding parameters and objective values of the final selected solution obtained by MOWOA
Fig. 11
figure 11

Output angle of each joint obtained by proposed CPG model with parameters of solution 2

As shown in Fig. 11, the CPG model proposed in this paper outputs each joint’s angles and then converts them into the motor of the biomimetic robotic fish to construct the forward swimming of the biomimetic robotic fish. The expected speed, efficiency, and head rotation angle of the robotic fish can be obtained through the above parameters and the dynamic equation constructed in this paper. On the other hand, the speed and the head rotation angle curves of the biomimetic robotic fish model built by the selected scheme are compared in the real environment, as shown in Fig. 12.

As shown in Fig. 12a, the comparison curves between the simulation and actual experimental results of the propulsion speed of the biomimetic robotic fish are shown versus the time. Figure 12b compares the simulation and actual test results of the head swing angle of the biomimetic robotic fish. The figure shows that the biomimetic robotic fish’s data in the natural underwater environment agree with the simulation results calculated by the dynamic model. The comparison results also verify the effectiveness of the proposed CPG dynamic model based on multi-objective evolution. However, it is worth noting that there is a deviation between the simulation results of some moments in the curve and the accurate underwater test results of the biomimetic robotic fish. This result is mainly due to the partial simplification strategy adopted in constructing the dynamic model of the biomimetic robotic fish, such as the fixed coefficient of Reynolds coefficient, which makes the simulation results deviate from the natural underwater environment. Besides, Fig. 12c shows the comparison curves between the simulation and actual experimental results of the propulsion speed of the biomimetic robotic fish with different values of \(\omega \). The remaining parameters used to construct the biomimetic robotic fish are obtained by MOWOA, as shown in Table 6. It can be seen from Fig. 12c that the experimental results are in good agreement with the simulation results. Still, when the value of \(\omega \) is high, the speed of the real biomimetic robotic fish does not continue to rise like the simulation results but decreases rapidly. This is mainly due to the limitation of the mechanical design of the servomotor used by the real biomimetic robotic fish. When the frequency exceeds a certain value, the robot fish is limited by the performance of the servomotor. When the last action is not completed, the new command has arrived, and the biomimetic robotic fish can not complete the expected swing, which eventually reduces its speed.

Fig. 12
figure 12

a Simulated and experimental velocity of the propulsion speed in x direction. b Simulated and experimental angular velocity of the proposed biomimetic robotic fish. c Simulated and experimental velocities of the propulsion speed in x direction under different values of \(\omega \). The remaining parameters used here are obtained by MOWOA, as Table 6 shown

Table 7 The corresponding parameters and objective values of the final selected solutions obtained by each algorithm

In addition, we also use seven other well-known algorithms named NSGA-III [57], MOWA/DD [58], RVEA [59], CSEA [60] and K-RVEA [61] as well as two nature-inspired algorithms named MOGWO [62], and MODA [63] to optimize the model problem proposed in this paper. The decision selection mechanism proposed in this paper is also included in these seven algorithms, and the final optimization scheme is shown in Table 7.

In the control methods of bionic robotic fish, it is not easy to intuitively compare different types of methods. Because this paper adopts the CPG control model method based on evolution, we apply different evolutionary methods to the bionic robotic fish platform proposed in this paper to compare and analyze the method’s effectiveness. In addition, intending to evaluate the performance of each algorithm in optimizing the proposed dynamic model quantitatively, here we calculate the deviations between the simulated and experimental data of the results obtained by each algorithm, which are listed in Table 8. The deviations \(\varDelta x, \varDelta \omega \) between the simulated data and experimental data can be calculated as follows:

$$\begin{aligned} \tilde{\varDelta x}= & {} \sqrt{\frac{\sum _{t}(V_{xe}-V_{xs})^2}{N}}, \end{aligned}$$
(30)
$$\begin{aligned} \tilde{\varDelta \omega }= & {} \sqrt{\frac{\sum _{t}(V_{\omega e}-V_{\omega s})^2}{N}}, \end{aligned}$$
(31)

where \(V_{xs}\) and \(V_{\omega s}\) are the simulated velocity of the propulsion speed in x direction and simulated angular velocity of the proposed biomimetic robotic fish, respectively. While \(V_{xe}\) and \(V_{\omega e}\) are the experimental velocity of the propulsion speed in x direction and experimental angular velocity of the proposed biomimetic robotic fish, respectively. \(\tilde{\varDelta x} \) and \(\tilde{\varDelta \omega }\) stand for the averages of 15 runs.

Table 8 Deviations between experimental results and the simulation data obtained by eight algorithms

The deviations of MOWOA in Table 8 are lower than the different results obtained by NSGA-III, MOWA /DD, RVEA, K-RVEA, MOGWO, and MODA, which indicates that the results obtained by MOWOA show good relative accuracy on \(V_{x}\) and \(V_{\omega }\). It is worth noting that the deviations between the experimental results and the simulation data are slightly larger than those obtained by the MOWOA algorithm. However, it does not mean that RVEA, NSGA-III, MOEA/DD, MOGWO, and MODA algorithms are poor. On the contrary, these algorithms have good performance, especially when the optimization time of the algorithm is considered, on which the MOWOA algorithm is inferior to the NSGA-III, RVEA, and MOEA/DD algorithms. The result of the deviation of K-RVEA is similar to the result obtained by MOWOA. In addition, the result of the deviation of CSEA is a little lower than the result obtained by MOWOA. However, the time spent by these two algorithms is much longer than MOWOA due to the surrogate-assisted model. In addition, the three objective values in Table 6 obtained by the MOWOA algorithm are also better than those obtained by the CSEA algorithm in Table 7. Finally, although MOGWO and MODA algorithms perform slightly worse than MOWOA in the CPG-based control model proposed in this paper, these two algorithms still perform well in other engineering problems.

Practical experimental verification and analysis

To intuitively show the characteristics of the CPG control model based on the multi-objective evolutionary design proposed in this paper, Table 9 shows the current work of using the CPG network to build biomimetic robotic fish. The current CPG network design to construct biomimetic robotic fish in Table 9 can be divided into two categories. The first is to use the traditional method to adjust the CPG model to control the biomimetic robotic fish. The other is to use the evolutionary idea to optimize the CPG model parameters to realize the control of biomimetic robotic fish. Indeed, some work adopts new methods, such as the learning-based model construction method, but this kind of design is still in the initial stage, and it is challenging to compare intuitively. Therefore, Table 9 lists the two types of designs for comparison and analysis.

From Table 9, it can be seen that the biomimetic robotic fish proposed in this paper has good performance. Although some biomimetic robotic fish designs have been proposed, they have higher propulsion speeds, such as i-ROF [64]. Since the physical properties of each robot are different from each other, Body Length (BL) speed is more realistic in defining speed parameters. At the level of BL index, the biomimetic robotic fish proposed in this paper is better than most biomimetic robotic fish. Noting that the forward speed performance of the Thunniform swimmer [65] is better than most of the biomimetic robotic fish. This is mainly because the Thunniform swimmer adopts an imitation torpedo shape design, completely different from most fish. In addition, the design needs a faster flapping frequency in exchange for a higher forward speed, which also lowers the actual underwater movement efficiency. On the other hand, our proposed biomimetic robotic fish still performs well among the biomimetic robotic fish that use the CPG model. Table 9 shows that most of the current CPG-based models using evolutionary ideas adopt relatively simple, like single-objective evolutionary algorithms for optimization. Most of the above designs can only meet single target requirements, and it is not easy to deal with complex multi-target requirements. Second, although some studies adopt the multi-objective method, most are designed for the bi-objective problem and lack efficient optimization algorithm support. The design of biomimetic robotic fish in the real marine environment often needs to meet more than two objectives simultaneously, limiting the practical application of the existing design. This paper uses a multi-objective evolutionary design of a central pattern generator network for biomimetic robotic fish. On the one hand, this design can simultaneously meet the needs of more than two objectives. On the other hand, by combining the efficient MOWOA algorithm, the final biomimetic robotic fish incorporated with the proposed control model has a good performance.

Table 9 Comparison of different CPG-based biomimetic robotic fishes
Fig. 13
figure 13

The actual swimming experiment of biomimetic robotic fish using CPG model based on MOWOA optimization results

In summary, current research on biomimetic robotic fish mainly adopts a simplified CPG model and a simple mathematical method to construct a control model. Most of these works only focus on one aspect of the biomimetic robotic fish, such as speed, to design control models. Although this reduces construction’s difficulty, obtaining a control model that meets the expectations is challenging. In addition, the design of biomimetic robotic fish in the natural environment often needs to consider multiple target requirements such as speed, efficiency, and stability, which current traditional methods cannot meet. On the one hand, the CPG model based on the multi-objective evolution proposed in this paper can simultaneously consider multiple target requirements. On the other hand, it can simultaneously convert the complex model construction work involving various complex parameters into a black-box model, thus avoiding complex model analysis. Because of the above characteristics, the method proposed in this paper is more suitable for constructing the control model of the current biomimetic robotic fish.

Finally, the biomimetic robotic fish is built using the proposed dynamic model with the parameters in Table 6. The real test in our experimental pool is shown in Fig. 13. Figure 13 is captured by a high-speed camera. It can be seen from Fig. 13 that the actual swimming performance of the biomimetic robotic fish using our proposed final optimization model is good. In addition, the average swimming speed and other indicators of the proposed biomimetic robotic fish are also in good agreement with the model’s simulation results.

Conclusion

Fish has become one of the best inspiration sources for biomimetic robotic fish design by its good natural movement characteristics in the ocean. Although many related methods and works have been proposed, most of them only consider one aspect (such as speed) to design and build the model of biomimetic robot fish. This method dramatically simplifies the design workload and makes the design model and the actual situation have more gaps. This paper proposes a multi-objective evolutionary design of a central pattern generator network for biomimetic robotic fish. In this method, an improved CPG model is well designed and combined with an efficient multi-objective evolutionary algorithm proposed in our previous work. Our proposed method encapsulates the control model of biomimetic robot fish as a black box model without considering the complex internal structure. It can consider multiple design requirements simultaneously, thus improving biomimetic robotic fish’s performance and design efficiency. The multi-objective evolutionary algorithm results in a group of non-dominated solutions. This paper also adopts a result screening strategy based on the fuzzy decision, which can conveniently help decision-makers select the most suitable solution, thus significantly improving the control model’s practical application ability. In the experiment, we also use the other seven algorithms to verify the effectiveness of the adopted MOWOA algorithm in optimizing the dynamic CPG model. In addition, the final optimization results are used to construct the biomimetic robotic fish. The test in a real pool environment has also verified the effectiveness of the proposed method.

Although the proposed method has achieved good results in constructing biomimetic robotic fish, some problems still exist. (1) the control model construction of biomimetic robot fish is inseparable from the good combination of dynamic equations. Still, there are also many simplifications in the dynamic equations, and it is challenging to build them accurately. (2) Our method only aims at one basic action of biomimetic robot fish. However, the action of real fish is often a combination of several basic actions. (3) Finally, the method proposed in this paper works well when dealing with three objectives simultaneously. Still, when the number of objectives increases gradually, such as ten objectives, the performance will drop rapidly, which is mainly limited by the design mechanism of the evolutionary algorithm. (4) This paper introduces the fuzzy decision theory into the decision selection mechanism but does not do in-depth research. It only provides an idea for the practical application of the biomimetic robot fish control model. There is still much room for improvement in the fuzzy decision-making part of the decision selection mechanism.

Because of the above problems, we plan to use the following methods for in-depth research in the future: (1) we will use the data-driven approach to build the biomimetic robotic fish model to avoid the design of complex equations such as dynamic models. (2) We plan to train the whole model based on reinforcement learning to combine the basic movements into complete, coherent movements. (3) Design a new evolutionary algorithm framework for high-dimensional multi-objectives and many objectives to improve the applicability of the proposed control model. (4) In the fuzzy decision-making and multi-objective multi-strategy decision-making part, we will further study and analyze the bionic robotic fish’s actual needs and fuzzy decision-making methods, thus designing and proposing an efficient select strategy.