Design and Control of an Underwater Robot Based on Hybrid Propulsion of Quadrotor and Bionic Undulating Fin

: Stable, quiet, and efﬁcient propulsion methods are essential for underwater robots to complete their tasks in a complex marine environment. However, with a single propulsion method, such as propeller propulsion and bionic propulsion, it is difﬁcult to achieve high efﬁciency and high mobility at the same time. Based on the advantages of the high-efﬁciency propulsion of a bionic undulating ﬁn and the stable control of the propeller, an underwater robot based on the hybrid propulsion of a quadrotor and undulating ﬁn is proposed in this paper. This paper ﬁrst introduces the mechanical implementation of the underwater robot. Then, based on kinematic modeling and theoretical derivation, the underwater motion and attitude of the robot are analyzed and the 6-DOF dynamic equation of the robot is established. Finally, the underwater motion performance of the robot is veriﬁed through ﬁeld experiments. The experimental results show that the robot can realize the heave motion, surge motion, and in-situ steering motion independently and can hover stably. When the undulating frequency is 6 Hz, the maximum propulsion speed of the robot can reach up to 1.2 m/s (1.5 BL/s).


Introduction
Underwater robots can replace or accompany human beings to complete underwater missions in unknown and complex marine environments efficiently, which have broad application prospects for scientific exploration, economic operations, and military fields.
Propulsion mode is the key factor to determine the underwater maneuverability, endurance, and concealment of the robot. Rotor and bionic propulsion are two mainstream propulsion modes.
Multi-rotor propulsion has the advantages of high maneuverability and stability, which is particularly important for underwater robots to perform submarine salvage, sampling, pipeline maintenance, and other operations. Pierrot discussed the distribution configuration of six rotors in several different underwater robots and obtained better distribution [1]. Choi developed an eight-rotor spherical underwater robot called Odin, which has good maneuverability and hydrodynamic performance [2]. These multi-thruster underwater vehicles often have six to ten thrusters, which are relatively redundant for basic motion. Drews proposed a hybrid unmanned aerial underwater vehicle and established its kinematic and dynamic model [3], which was the first time quadrotors were used in underwater environments. Ranganathan designed a quad-rotor underwater vehicle and analyzed it by establishing its mathematical model based on the Newton-Euler method [4]. In addition, quadrotor underwater vehicles can achieve flexible and stable motion with fewer thrusters. Bian designed an X-shaped quad-rotor underwater vehicle, modeled it, and analyzed its motion mode to show the benefits of setting the four thrusters as an X shape [5].
Bionic design is an effective method to develop underwater robots [6,7]. Bionic propulsion is mainly divided into two types: the body/caudal fin (BCF) and median/paired fin (MPF) propulsions, which have the advantages of low noise and efficiency. As shown in Figure 1a, the fish of the BCF mode bend their body into a backward-moving propulsive wave that extends to their caudal fin for producing the force of their forward propulsion. Cai developed a robot fish called Robo ray II with flexible swinging pectoral fins [8]. They found that the thrust coefficient increases with the Strouhal number and reached 0.56 at maximum. The maximal linear swimming speed of Robo ray II is about 0.5 times that of body length per second (BL/s). Costa et al. [9] designed a Carangiform swimming robot and found that the average cruising speed has a linear dependency on the motor rotation frequency and the invariance of the Strouhal number with respect to the motor frequency. Samuel et al. [10] investigated the Carangiform fish body and proposed multi-segment fins for describing the kinematics and performance optimization. They suggested that five-segment models can approximate the undulatory movements of (sub-) Carangiform swimmers during steady swimming, with at least 99% accuracy (model error < 0.01 L). Salazar et al. [11] analyzed the piezoelectric energy of the aquatic unmanned vehicles under the Thunniform condition of the fish's motion. The simultaneous inclusion of geometric and piezoelectric nonlinearities in the analysis offers a unique solution of useable power scavenged from the Anguilliform, Subcarangiform, Carangiform, and Thunniform motions. Zhang et al. [12] Samuel et al. invented a two-segment fin which imitates the Ostraciidae fish for swimming underwater. The resonant frequency and the thrust force increased about three times and were 12% higher when compared with the one-segment fin.
Unlike the BCF fish swimming mode, the undulating fins of the MPF fish keep their body rigid and use their median and pectoral fins which can generate propulsion forces in different directions as shown in Figure 1b. Although the propulsion velocity is lower compared with some BCF fish, the high efficiency and great maneuverability have made the MPF fish a good bionic sample for the design of the underwater propulsion devices. Zhou et al. [13] established the coupled CFD model of the underwater robots propelled by bionic undulating fins and compared the simulation and experimental results. Their work has formed a meaningful basis and computational platform for future studies on the propulsion mechanism and control algorithm of bionic underwater robots. Rahman verified the braking ability of the double undulating fin robot by measuring the stopping time and swimming distance of the robot after the braking frequency was applied to linear and rotary motion [14]. They confirmed that the undulating fin propulsion system can effectively perform braking even in complex underwater explorations. Wang et al. [15] designed and modeled a biomimetic stingray-like robotic fish. After a year, he [16] made a prototype and carried out underwater experiments to study the swimming performance of the robotic fish. The maximum velocity of the robotic fish is 4.3 cm/s (nearly 0.18 BL/s) at an oscillation frequency of 0.5 Hz. Scaradozzi et al. [17] proposed a partially biomimetic underwater robot with a hybrid propulsion system and developed it to overcome the challenges involved in improving the thrust efficiency.
Especially, Gymnarchus niloticus, as a kind of MPF fish, keep their body rigid and use their long fin to swim. Shahin et al. [18] proposed numerical and experimental methods to investigate their counter-propagating propulsion in order to improve maneuverability and stability. Liu and Izaak et al. [19,20] measured 3D flow structure and fields during the forward and station-keeping of undulating swimming through particle image velocimetry (PIV). Zhang et al. [21] proposed a modular mechanism with ten servomotors in order to drive the fin to undulate. They calculated the pressure distribution, the thrust force, and the efficiency of the undulating fins by numerical simulation and experimental measurements. Zhao et al. [22] investigated the hydrodynamic performance of the undulating ribbon fin combined with the sinusoidal swing and the fish body's undulating motion in a three-dimensional simulation. The effect of the phase-angle difference and angular amplitude were discussed to illustrate the thrust augmentation in the undulating fins with combined undulating motion. Low [23,24] developed the biomimetic robot NKF-II with two mechanisms of layouts with cranks and slider links. The robot could generate arbitrary undulating waveforms and kinematic analyses were also performed. Hu and his colleagues studied the locomotion mechanism of bio-inspired robotic undulating fins by carrying out biological measurements [25], establishing kinematic equations, computational fluid dynamics (CFD) analyses [26], trajectory tracking of the fin's motion [27], and experimental analyses of the robot propelled by undulating fins. These works showed that the undulating fins based on the Gymnarchus niloticus could move forward, backward, or turn around underwater with good propulsive efficiency and high maneuverability.
In the field of marine search and rescue and marine exploration, it is hoped that marine robots will have the ability to move quietly and efficiently like fish, and have the ability to move in all directions like rotor robots to complete complex tasks and avoid disturbing other marine creatures, so as not to damage the environment.
To achieve this goal, we designed a robot based on hybrid propulsion of quadrotor and bionic undulating fins. The robot mainly works in the undulating fin-propulsion mode to achieve quiet and efficient movement and when the robot needs to hover, such as when performing underwater pipe maintenance tasks, the robot will work in the rotor mode to achieve static hover. In this paper, the mechanical structure of the robot is described in Section 2. The dynamic and control model of the robot is established and the motion control strategy is discussed in Section 3. The simulation and experiments are conducted in Section 4, which verify that the robot can realize five degrees of freedom motion, such as surge, heave, roll, pitch, and yaw. The experimental results show that the robot has good maneuverability and stability. When the undulating frequency is 6 Hz, the maximum propulsion speed of the robot can reach up to 1.2 m/s (1.5 BL/s). Finally, a conclusion is drawn in Section 5. tion in a three-dimensional simulation. The effect of the phase-angle difference and angular amplitude were discussed to illustrate the thrust augmentation in the undulating fins with combined undulating motion. Low [23,24] developed the biomimetic robot NKF-II with two mechanisms of layouts with cranks and slider links. The robot could generate arbitrary undulating waveforms and kinematic analyses were also performed. Hu and his colleagues studied the locomotion mechanism of bio-inspired robotic undulating fins by carrying out biological measurements [25], establishing kinematic equations, computational fluid dynamics (CFD) analyses [26], trajectory tracking of the fin's motion [27], and experimental analyses of the robot propelled by undulating fins. These works showed that the undulating fins based on the Gymnarchus niloticus could move forward, backward, or turn around underwater with good propulsive efficiency and high maneuverability.
In the field of marine search and rescue and marine exploration, it is hoped that marine robots will have the ability to move quietly and efficiently like fish, and have the ability to move in all directions like rotor robots to complete complex tasks and avoid disturbing other marine creatures, so as not to damage the environment.
To achieve this goal, we designed a robot based on hybrid propulsion of quadrotor and bionic undulating fins. The robot mainly works in the undulating fin-propulsion mode to achieve quiet and efficient movement and when the robot needs to hover, such as when performing underwater pipe maintenance tasks, the robot will work in the rotor mode to achieve static hover. In this paper, the mechanical structure of the robot is described in Section 2. The dynamic and control model of the robot is established and the motion control strategy is discussed in Section 3. The simulation and experiments are conducted in Section 4, which verify that the robot can realize five degrees of freedom motion, such as surge, heave, roll, pitch, and yaw. The experimental results show that the robot has good maneuverability and stability. When the undulating frequency is 6 Hz, the maximum propulsion speed of the robot can reach up to 1.2 m/s (1.5 BL/s). Finally, a conclusion is drawn in Section 5.

Mechanical Structure
Our goal is to design an operating robot that can move quietly and efficiently to its destination like a fish and then hover like a quadrotor robot in order to perform a variety of tasks such as maritime search and rescue, hazard disposal, pipeline maintenance, etc. The design model of the underwater robot is shown in Figure 2a. It is composed of one

Mechanical Structure
Our goal is to design an operating robot that can move quietly and efficiently to its destination like a fish and then hover like a quadrotor robot in order to perform a variety of tasks such as maritime search and rescue, hazard disposal, pipeline maintenance, etc. The design model of the underwater robot is shown in Figure 2a. It is composed of one control cabin, four propellers, one undulating fin, one driving unit, one tilting unit, and one sine wave generator. The four propellers are configured as an X-type and installed vertically at the diagonal of the control cabin. The undulating fin is placed under the control cabin control cabin, four propellers, one undulating fin, one driving unit, one tilting unit, and one sine wave generator. The four propellers are configured as an X-type and installed vertically at the diagonal of the control cabin. The undulating fin is placed under the control cabin linking with the sine wave generator. As shown in Figure 2b,c, the undulating fin can tilt left and right around the central axis to generate horizontal propulsion and yaw moment. At present, the undulating fins generally use a set of servo motors as the driving components [29], and each fin bar is driven by an electric motor. In this case, by coordinating and controlling the phase difference of each motor, the desired waveform can be formed. This kind of design is popular because of its simple transmission and multiple controllable parameters. However, too many motors bring some drawbacks, including the complexity of the mechanical structure, the increase in the difficulty of sealing, and the sacrifice of weight. Furthermore, system reliability will decrease significantly if one single motor fails which causes the failure of the entire waveform. Meanwhile, due to the limited response speed of the steering gear, the frequency of the undulating fin cannot reach a high level, and, generally, the maximum frequency is only 2-3 Hz [30].
In order to realize the high-frequency-driven undulating fin to study the driving performance of the undulating fin under high-frequency characteristics and improve the above problems, a modular design of undulating fin based on a cam mechanism is proposed. As shown in Figure 3a, the undulating fin is composed of a tilting socket, a common shaft, cam mechanisms, fin ray units, and a flexible fin.
The undulating fin is clamped on the corresponding cam by eight fin ray units. As shown in Figure 3b, the phase interval between each cam is π/2 and is installed on the common shaft at an equal distance. As shown in Figure 3c, the fin ray units swing back and forth according to the motion characteristics of the cam and drive the undulating fin to produce sinusoidal motion. If the flexible undulating fin is directly and rigidly connected with the cam, the water-facing angle of the undulating fin will be fixed and result in additional resistance. In order to solve this problem, we put a sliding bearing in the fin ray unit. As shown in Figure 3d, the fin clamp has rotational freedom. When the long fin undulates, the fin surface can adaptively adjust the attack angle related to the local fluid velocity to reduce the additional resistance along the free stream velocity.
The initial geometry of the undulating fin is fan-shaped as shown in Figure 3e. Due to the geometrical constraints of boundary conditions, the sector can form a sinusoidal- At present, the undulating fins generally use a set of servo motors as the driving components [29], and each fin bar is driven by an electric motor. In this case, by coordinating and controlling the phase difference of each motor, the desired waveform can be formed. This kind of design is popular because of its simple transmission and multiple controllable parameters. However, too many motors bring some drawbacks, including the complexity of the mechanical structure, the increase in the difficulty of sealing, and the sacrifice of weight. Furthermore, system reliability will decrease significantly if one single motor fails which causes the failure of the entire waveform. Meanwhile, due to the limited response speed of the steering gear, the frequency of the undulating fin cannot reach a high level, and, generally, the maximum frequency is only 2-3 Hz [30].
In order to realize the high-frequency-driven undulating fin to study the driving performance of the undulating fin under high-frequency characteristics and improve the above problems, a modular design of undulating fin based on a cam mechanism is proposed. As shown in Figure 3a, the undulating fin is composed of a tilting socket, a common shaft, cam mechanisms, fin ray units, and a flexible fin.
The undulating fin is clamped on the corresponding cam by eight fin ray units. As shown in Figure 3b, the phase interval between each cam is π/2 and is installed on the common shaft at an equal distance. As shown in Figure 3c, the fin ray units swing back and forth according to the motion characteristics of the cam and drive the undulating fin to produce sinusoidal motion. If the flexible undulating fin is directly and rigidly connected with the cam, the water-facing angle of the undulating fin will be fixed and result in additional resistance. In order to solve this problem, we put a sliding bearing in the fin ray unit. As shown in Figure 3d, the fin clamp has rotational freedom. When the long fin undulates, the fin surface can adaptively adjust the attack angle related to the local fluid velocity to reduce the additional resistance along the free stream velocity.
The initial geometry of the undulating fin is fan-shaped as shown in Figure 3e. Due to the geometrical constraints of boundary conditions, the sector can form a sinusoidal-shaped conical-banded fin after straightening as shown in Figure 3f. The geometric relationship of the design parameters of the undulating fin can be expressed by the following equations: where L 1 and L 2 are the inner arc length and outer arc length of the undulating fin, respectively, which can be approximately calculated by the following formula: where θ m is the undulating amplitude.  Four sides of the rectangular shaft correspond to four phases, that is, 0, π/2, π, and 3π/2; (c) Cam mechanism; (d) Self-adaptive oscillation fin ray; (e) Initial geometry of the undulating fin; (f) Straightened undulating fin; (g) Driving and tilting transmission principle of the undulating fin.

Kinematic Model
To describe the motion of the robot, the inertial coordinate system E-XYZ and the robot coordinate system G-XYZ as shown in Figure 4a are established. E is any point, the EZ axis points to the center of the earth, and the EX and EY axes are arbitrarily selected according to the right-hand rule. G is the center of gravity of the robot, the GX axis points to the forward direction of the body, the GZ axis is vertical to the robot, and the GY axis is determined by the right-hand rule. Four sides of the rectangular shaft correspond to four phases, that is, 0, π/2, π, and 3π/2; (c) Cam mechanism; (d) Self-adaptive oscillation fin ray; (e) Initial geometry of the undulating fin; (f) Straightened undulating fin; (g) Driving and tilting transmission principle of the undulating fin.
The driving and tilting transmission principle of the undulating fin is shown in Figure 3g. The driving motor transmits the rotation to the common shaft through the gear train A1-A2-A3. By changing the motor rotation direction and speed, we can adjust the undulating direction and frequency. Likewise, the tilting motor transmits the rotation motion to the tilting socket through the gear train B1-B2-B3. By controlling the tilting motor, we can change the tilting angle of the undulating fin around the central axis to generate the yaw moment.

Kinematic Model
To describe the motion of the robot, the inertial coordinate system E-XYZ and the robot coordinate system G-XYZ as shown in Figure 4a are established. E is any point, the EZ axis points to the center of the earth, and the EX and EY axes are arbitrarily selected according to the right-hand rule. G is the center of gravity of the robot, the GX axis points to the forward direction of the body, the GZ axis is vertical to the robot, and the GY axis is determined by the right-hand rule.  In the inertial coordinate system E-XYZ, the attitude of the robot is 12 ( , ) is the position of the robot, is the attitude angle of the robot. The velocity of the robot in the body coordinate system G-XYZ is , is the angular velocity. The kinematic model of the robot can be given by: where ( ) J η is the velocity rotation matrix from robot coordinate system to inertial coordinate system, which is defined as:

Dynamic Model
The robot is subjected to the combined action of gravity, buoyancy, propulsion of propellers, and undulating fin and resistance. As shown in Figure 4b, the weight force of In the inertial coordinate system E-XYZ, the attitude of the robot is where η 1 = (X, Y, Z) T is the position of the robot, η 2 = (φ, θ, ψ) T is the attitude angle of the robot. The velocity of the robot in the body coordinate system G- The kinematic model of the robot can be given by: where J(η) is the velocity rotation matrix from robot coordinate system to inertial coordinate system, which is defined as: where c (·) , s (·) ,t (·) are the abbreviations of cos(·), sin(·), tan(·), respectively.

Dynamic Model
The robot is subjected to the combined action of gravity, buoyancy, propulsion of propellers, and undulating fin and resistance. As shown in Figure 4b, the weight force of the robot is F w which acts on point G, the buoyancy is F B , and the center of buoyancy is P B . The thrust of propellers and counter torque are F i , τ i (i = 1, 2, 3, 4), respectively, and act on O i (i = 1, 2, 3, 4) which is the centroid of each propeller. The distance between the propellers and the center of the robot is GO i = L (i = 1, 2, 3, 4) and the angle between the diagonal is 2α. The equivalent force of the undulating fin is F f and acts on P F (0, 0, z F ).

Dynamic Model of Propellers
The velocity of the propeller is represented by w i , the thrust and reverse torque are, respectively, represented by F i , τ i (i = 1, 2, 3, 4), and the distances between the thrusters are 2a, and 2b, respectively. The thrust and reverse torque of the propeller can be given by: where c T , c M are thrust coefficient and reverse torque coefficient, respectively, which can be obtained through the regression polynomials of M's 3 blades propeller open water thrust coefficient diagram [31]; sign(·) is a symbolic function; λ i is the directional coefficient, determined by the propeller installation direction. In order to counteract the reverse torque in hover, the rotation directions of adjacent propellers are opposite, so it leads to

Dynamic Model of Undulating Fin
The undulating fin can generate forward or backward thrust through sinusoidal motion, denoted as F f and the action point P f is taken at the center of the fin surface. The center of gravity of the robot is G, GP f = l, the tilting angle of the undulating fin is β, so the coordinate of the action point of equivalent force is P f (0, −lc β , ls β ).
Previous studies have shown that the relationship between the thrust and frequency of undulating fin is a second-order equation: where w f is the frequency of the undulating fin and c f is the thrust coefficient of the undulating fin, which can be obtained through simulation and experiment.

Model of Resilience
The buoyancy center of the robot is designed to be slightly higher than the center of gravity, so as to provide a certain restoring force and torque to assist the robot to maintain the balance of the body in an emergency. If the position of the center of buoyancy is marked as P B (0, 0, z B ), and the buoyancy and gravity are, respectively, represented by B and W, the resilience matrix acting on the center of gravity can be given by: where θ is the pitch angle of the robot and φ is the roll angle of the robot.

Model of Resistance
The resistance of underwater robots in the process of motion is very complex. At present, the commonly used method is to express the damping as the uncoupled super-position of primary damping and secondary damping. The damping force matrix can be given by: where X u , Y v , Z w , K p , M q , N r are the primary damping coefficients in six directions of the body coordinate system, respectively, X u|u| , Y v|v| , Z w|w| , K p|p| , M q|q| , N r|r| are the secondary damping coefficients in six directions of the body coordinate system, respectively. The damping coefficient can be obtained by CFD.

Equation of Motion Control
We define the control force matrix and 6-DOF control force of the robot as: We define k = c M /c T as the proportional coefficient of propellers thrust and reverse torque, the 6-DOF control force can be solved as given by: Under the combined action of robot control force, resistance, and resilience, the dynamic mathematical model of the robot can be given by: The meanings of physical quantities in the Equation (14) are as follows: τ-6 × 1 control matrix represents the 6-DOF force and moment and the component M(v)-6 × 6 inertia matrix; D(v)-6 × 6 resistance matrix; C(v)-6 × 6 centrifugal force and Coriolis force matrix; g(η)-6 × 6 resilience matrix; u-5 × 1 input force matrix represents the thrust of the propeller and undulating fin; B-6 × 5 control matrix represents the conversion relationship between the input force and the 6-DOF force of the robot.
As the robot navigates at low speed, the assumptions can be made as follows: 1.
According to the dynamic analysis, the control component of the robot along the Y-axis direction is 0, so the sway motion along Y-axis is ignored.
Through the above analysis, the control force matrix, mass matrix, resistance matrix, and resilience matrix are substituted into Equation (12) and expanded. The motion is decomposed into independent channels, so the 6-DOF motion dynamics equation is: Through the kinematic matrix conversion, the linear and angular acceleration of the robot in the geographical coordinate system can be given by:

Control Model and Strategy
During the movement of the underwater robot, due to the nonlinear and time-varying characteristics of the external water flow disturbance, the system is prone to oscillation and even instability. So, it is difficult to establish an accurate hydrodynamic model of the robot. To solve the case, we propose a 4-DOF cascade PID controller. The control schematic diagram of the system is shown in Figure 5. For the three-axis angle and Z-axis position of the robot, an independent cascade PID closed-loop controller was designed, and speed feedback introduced to improve the response speed of the system. The speed open-loop control is adopted for the surge motion of the robot because we will conduct experimental research on the velocity of the robot with high-frequency undulation. The reference input of the control system is R = (Z d , φ d , θ d , ψ d , w d ) T , the components represent the expected value of depth and triaxial angle and the undulating frequency, respectively. The output of the controller is U d = (τ Zd , τ Kd , τ Md , τ Nd ) T , the components represent the expected vertical force, rolling torque, pitching torque, and yaw torque calculated by the fourchannel controllers. To Define a control parameter matrix U o = (w 1 , w 2 , w 3 , w 4 , w f , β) T , the components are the rotational speed of the four propellers, the undulating frequency, and the tilting angle, which are the final parameters directly controlled and the output through the motor.
In order to convert the expected force and torque calculated by the controller into direct control parameters, a control distributor is introduced. We quote a function to describe it, i.e., U o = f (U d ). It is too complicated to obtain the specific expression of the mapping relationship directly from the control force expression, so we use a decomposition strategy to decompose the system into the quadrotor subsystem and the undulating fin subsystem. The quadrotor subsystem can be given by:

Control allocator
The inverse of the matrix can be obtained: We know that the relationship between the thrust of the propeller and the rotation frequency is quadratic, and the thrust coefficient and the reverse torque coefficient can be obtained through experiments. Then, the specific expression of the propeller speed can be obtained, but this is not necessary because the PID controller can compensate for these unknown parameters. Using pseudo control quantity, the propeller speed can be obtained as: The undulating fin subsystem can be given by: Since the undulating frequency is directly given, F u , F w can be obtained. The problem is how to get the tilting angle of the undulating fin. In this case, we adopt a proportional control distribution strategy as shown in Equation (22): where λ can modify and determine the speed of steering.

Prototype and Experimental Environment
The prototype, ground control station, and test water tank in this paper are shown in Figure 6. The detailed parameters of the robot are shown in Table A1, the pool is 4 m long, 2 m wide, and 2 m high. As in most cases, the wave and wind are very weak, so the underwater environment can be treated as calm water. 0 cos 0 0 Since the undulating frequency is directly given, u F , w F can be obtained. The problem is how to get the tilting angle of the undulating fin. In this case, we adopt a proportional control distribution strategy as shown in Equation (22): where λ can modify and determine the speed of steering.

Prototype and Experimental Environment
The prototype, ground control station, and test water tank in this paper are shown in Figure 6. The detailed parameters of the robot are shown in Table A1, the pool is 4 m long, 2 m wide, and 2 m high. As in most cases, the wave and wind are very weak, so the underwater environment can be treated as calm water. The control mode of the robot is that the remote controller control and the upper computer control are carried out at the same time, and the upper computer has a higher priority. Using the upper computer software independently developed based on Qt, the process is as follows: first, send the desired command to the robot through the upper computer; then, the airborne control system controls the robot to move after receiving the command; and, finally, the airborne control system uploads the real-time status of the robot to the upper computer for data storage.

Simulation Parameters and Models
According to the model of resistance, control force, and the resilience obtained from the numerical simulation of fluid dynamics, the 6-DOF dynamic equation of the robot can be obtained, which provides a basis for the design of an independent controller.
As shown in Figure 7a,b, the numerical simulation model of the underwater robot is established in Fluent. The grid of the inner basin is encrypted and the total length and height of the outer basin are set to 10 times the length of the inner basin to simulate the motion of the robot in the forward and vertical directions. Considering the calculation time and accuracy, the number of grids selected is 983,910. Define_Grid_Motion is used The control mode of the robot is that the remote controller control and the upper computer control are carried out at the same time, and the upper computer has a higher priority. Using the upper computer software independently developed based on Qt, the process is as follows: first, send the desired command to the robot through the upper computer; then, the airborne control system controls the robot to move after receiving the command; and, finally, the airborne control system uploads the real-time status of the robot to the upper computer for data storage.

Simulation Parameters and Models
According to the model of resistance, control force, and the resilience obtained from the numerical simulation of fluid dynamics, the 6-DOF dynamic equation of the robot can be obtained, which provides a basis for the design of an independent controller.
As shown in Figure 7a,b, the numerical simulation model of the underwater robot is established in Fluent. The grid of the inner basin is encrypted and the total length and height of the outer basin are set to 10 times the length of the inner basin to simulate the motion of the robot in the forward and vertical directions. Considering the calculation time and accuracy, the number of grids selected is 983,910. Define_Grid_Motion is used to define and control the motion of the flexible undulating fin's underwater motion simulation. For the generation of dynamic meshes, the diffusion method and local cell remeshing are used to continuously re-divide the mesh.
To begin, we simulate the damping force/torque of the robot at different velocities when moving in a single degree of freedom and then identify the model parameters by the least square method. After that, we can obtain the damping coefficient of heave, surge, roll, pitch, and yaw motion. Figure 7c shows the numerical simulation results and fitting curve of damping force velocity change under linear motion. Figure 7d shows the numerical simulation results and fitting curve of damping force angular velocity change under rotating motion. The identification results are shown in Table 1:

2.9787
In order to verify the effect of the controller and simulate the influence of PID parameters on stability control, Matlab/Simulink is used to design the simulation model of the control system. The schematic diagram of the motion control simulation is shown in Figure 8. The reference input of the control system is ( , , the components represent the expected value of depth and triaxial angle and the undulating frequency, respectively. The initial state is , , , . By setting different reference inputs and initial conditions, the maneuverability and attitude stability of the robot in typical motion modes such as heave motion, surge motion, and in-situ steering motion are discussed. To begin, we simulate the damping force/torque of the robot at different velocities when moving in a single degree of freedom and then identify the model parameters by the least square method. After that, we can obtain the damping coefficient of heave, surge, roll, pitch, and yaw motion. Figure 7c shows the numerical simulation results and fitting curve of damping force velocity change under linear motion. Figure 7d shows the numerical simulation results and fitting curve of damping force angular velocity change under rotating motion. The identification results are shown in Table 1: In order to verify the effect of the controller and simulate the influence of PID parameters on stability control, Matlab/Simulink is used to design the simulation model of the control system. The schematic diagram of the motion control simulation is shown in Figure 8. The reference input of the control system is R = (Z d , φ d , θ d , ψ d , w d ) T , the components represent the expected value of depth and triaxial angle and the undulating frequency, respectively. The initial state is s = (Z 0 , φ 0 , θ 0 , ψ 0 , w 0 ) T . By setting different reference inputs and initial conditions, the maneuverability and attitude stability of the robot in typical motion modes such as heave motion, surge motion, and in-situ steering motion are discussed.  Figure 8. Schematic diagram of motion control simulation.

Simulation and Experiment Results
In order to verify the design and control model of the robot, we adopt the method of combining simulation with prototype experiment to verify the motion of surge, heave, and yaw. In particular, we tested the propulsion of the undulating fin under different frequencies.
The experimental results are saved by image and data. On the one hand, we set a high-speed camera (GoPro) in front of the pool to capture the experimental images of the robot in each group of experiments. On the other hand, the robot uploads real-time data at the frequency of 50 Hz, including attitude angle, depth, battery capacity, and other data. The laptop displays the data through the self-developed upper computer and saves the data in the file (Supplementary Materials).

Heave Motion
In the heave motion simulation, the initial state of the robot is set to (t > 20 s). The simulation results are shown in Figure 9a, the robot can reach the desired depth quickly, and the error of overshoot and steady state is small. At the same time, the robot can adjust the attitude angle to stabilize at 0° in the case of noise interference.
In the heave motion experiment, we first place the robot on the water surface and then issue a desired depth value to let the robot track to this position. After the robot hovers stably, we reset the desired depth to 0 m to make it move back to the surface. Meanwhile, the depth and attitude angle of the robot are recorded by the upper computer. Due to the error of the analog sensor in the simulation, random noise interference with the frequency of 10 Hz and amplitude of 0.02 m and 2° is applied to the depth and triaxial angle, respectively.
The time sequence of the heave motion experiment is shown in Figure 9c and the curve of robot depth and three-axis attitude angle with time is shown in Figure 9b. It can be seen that the robot quickly responds to the set desired depth and, finally, stably hovers with a maximum tracking velocity of about 0.23 m/s, with an overshoot of about 12%, and a steady-state error of ±0.02 m. It can be seen from the attitude angle curve in the lower figure of Figure 9b that the angle fluctuation is accompanied by the descending process of the robot, but it can be adjusted rapidly. The angle fluctuation range is less than ±2° in the steady state.
The experimental results of heave movement show: • The robot can effectively realize the closed-loop control of depth, and the sinking and floating speed can reach 0.27 m/s;

Simulation and Experiment Results
In order to verify the design and control model of the robot, we adopt the method of combining simulation with prototype experiment to verify the motion of surge, heave, and yaw. In particular, we tested the propulsion of the undulating fin under different frequencies.
The experimental results are saved by image and data. On the one hand, we set a high-speed camera (GoPro) in front of the pool to capture the experimental images of the robot in each group of experiments. On the other hand, the robot uploads real-time data at the frequency of 50 Hz, including attitude angle, depth, battery capacity, and other data. The laptop displays the data through the self-developed upper computer and saves the data in the file (Supplementary Materials).

Heave Motion
In the heave motion simulation, the initial state of the robot is set to s = (0, 0, 0, 0, 0) T , the reference input is set to R = (1, 0, 0, 0, 0) T (t < 20 s) and R = (0, 0, 0, 0, 0) T (t > 20 s). The simulation results are shown in Figure 9a, the robot can reach the desired depth quickly, and the error of overshoot and steady state is small. At the same time, the robot can adjust the attitude angle to stabilize at 0 • in the case of noise interference.
In the heave motion experiment, we first place the robot on the water surface and then issue a desired depth value to let the robot track to this position. After the robot hovers stably, we reset the desired depth to 0 m to make it move back to the surface. Meanwhile, the depth and attitude angle of the robot are recorded by the upper computer. Due to the error of the analog sensor in the simulation, random noise interference with the frequency of 10 Hz and amplitude of 0.02 m and 2 • is applied to the depth and triaxial angle, respectively.
The time sequence of the heave motion experiment is shown in Figure 9c and the curve of robot depth and three-axis attitude angle with time is shown in Figure 9b. It can be seen that the robot quickly responds to the set desired depth and, finally, stably hovers with a maximum tracking velocity of about 0.23 m/s, with an overshoot of about 12%, and a steady-state error of ±0.02 m. It can be seen from the attitude angle curve in the lower figure of Figure 9b that the angle fluctuation is accompanied by the descending process of the robot, but it can be adjusted rapidly. The angle fluctuation range is less than ±2 • in the steady state.
The experimental results of heave movement show: • The robot can effectively realize the closed-loop control of depth, and the sinking and floating speed can reach 0.27 m/s; • The heave motion of the robot is independent, the robot has no surge motion, sway motion, and tilt of attitude angle, which indicates that the robot has achieved independent motion along the Z-axis; • The robot has good motion stability, the roll, pitch, and yaw angle of the robot remain stable during the process of descent, hovering, and floating.
• The heave motion of the robot is independent, the robot has no surge motion, sway motion, and tilt of attitude angle, which indicates that the robot has achieved independent motion along the Z-axis; • The robot has good motion stability, the roll, pitch, and yaw angle of the robot remain stable during the process of descent, hovering, and floating.

Yaw Motion
In the yaw motion simulation, the initial state of the robot is set to In the yaw motion experiment, the undulating fin does not work and only uses the propellers to adjust the yaw angle. First, the robot is suspended in the center of the tank (L = 1 m) and the yaw angle is initialized to 0°. Then, we issue the command of yaw angle pointing at 90° to observe the response of the robot under the step signal. After the robot is stable, we issue the command of yaw angle pointing at 0° in order to return it to its initial position. Figure 10b shows the time-varying curve of the attitude angle of the robot in the yaw motion. It can be seen that the heading angle has been tracked to the specified angle in the front and back stages. Figure 10c shows the image sequence in the yaw motion. It can be seen that the robot rotates 90° around the Z-axis in 2.5 s and 180° around the Z-axis in 4.5 s. By comparing the black marks on the tank, it can be seen that the depth of the robot has hardly changed, and the robot remains balanced. It shows that the yaw motion is also an independent motion and the robot only rotates around the Z-axis.

Yaw Motion
In the yaw motion simulation, the initial state of the robot is set to s = (0, 0, 0, 0, 0) T , and the reference input is set to R = (0, 0, 0, 90 • , 0) T . The simulation results are shown in Figure 10a, the robot quickly tracks to the given heading angle. The roll angle and pitch angle are stable in the horizontal position while the depth is maintained at 0 m.

Steering Motion
In the Steering motion experiment, we place the robot in the corner of the tank. Then we tilt the undulating fin 60° to one side and issue a forward command to make the robot fin undulate at the frequency of 1 Hz. Figure 11a shows the image sequence of the steering-left motion. It can be seen that the undulating fin is no longer centered, which results in a yaw moment. The robot steers left under the action of the yaw moment and the maximum steering angular velocity of the robot is about 30°/s. Similar to the steering-left experiment, we tilt the undulating fin 60° to the right side In the yaw motion experiment, the undulating fin does not work and only uses the propellers to adjust the yaw angle. First, the robot is suspended in the center of the tank (L = 1 m) and the yaw angle is initialized to 0 • . Then, we issue the command of yaw angle pointing at 90 • to observe the response of the robot under the step signal. After the robot is stable, we issue the command of yaw angle pointing at 0 • in order to return it to its initial position. Figure 10b shows the time-varying curve of the attitude angle of the robot in the yaw motion. It can be seen that the heading angle has been tracked to the specified angle in the front and back stages. Figure 10c shows the image sequence in the yaw motion. It can be seen that the robot rotates 90 • around the Z-axis in 2.5 s and 180 • around the Z-axis in 4.5 s. By comparing the black marks on the tank, it can be seen that the depth of the robot has hardly changed, and the robot remains balanced. It shows that the yaw motion is also an independent motion and the robot only rotates around the Z-axis.

Steering Motion
In the Steering motion experiment, we place the robot in the corner of the tank. Then we tilt the undulating fin 60 • to one side and issue a forward command to make the robot fin undulate at the frequency of 1 Hz. Figure 11a shows the image sequence of the steering-left motion. It can be seen that the undulating fin is no longer centered, which results in a yaw moment. The robot steers left under the action of the yaw moment and the maximum steering angular velocity of the robot is about 30 • /s.

Steering Motion
In the Steering motion experiment, we place the robot in the corner of the tank. Then we tilt the undulating fin 60° to one side and issue a forward command to make the robot fin undulate at the frequency of 1 Hz. Figure 11a shows the image sequence of the steering-left motion. It can be seen that the undulating fin is no longer centered, which results in a yaw moment. The robot steers left under the action of the yaw moment and the maximum steering angular velocity of the robot is about 30°/s. Similar to the steering-left experiment, we tilt the undulating fin 60° to the right side in the steering-right experiment. Then, we issue a forward command to make the robot fin undulate forward at the frequency of 1 Hz. Figure 11b shows that the robot steers right successfully. The results of the traveling steering experiment show that the surge angle of the robot can be effectively adjusted only by the tilting angle of the undulating fin.  Similar to the steering-left experiment, we tilt the undulating fin 60 • to the right side in the steering-right experiment. Then, we issue a forward command to make the robot fin undulate forward at the frequency of 1 Hz. Figure 11b shows that the robot steers right successfully. The results of the traveling steering experiment show that the surge angle of the robot can be effectively adjusted only by the tilting angle of the undulating fin.

Surge Motion
The most important motion of an underwater robot is surge motion. Due to the complex resistance in surge motion, the robot is easy to yaw or overturn under the force of the water. To solve this problem, we control the robot to maintain a fixed depth and heading angle through real-time adjustment by four propellers.
In the surge motion simulation, the initial state of the robot is set to s = (0, 0, 0, 0, 0) T , and the reference input is set to R = (1, 0, 0, 0, 100) T . We make the robot move from the surface to a 1 m depth, then make the fin undulate at the frequency of 2 Hz (100 rpm of the motor) at the same time. The simulation result is shown in Figure 12a. While tracking to the desired depth, the robot accelerates to the maximum velocity. There is no sway motion in the experiment. The attitude angle and depth are stable as reference input values, which is consistent with the theoretical analysis result. the surface and underwater at a depth of 1 m, respectively. First, we placed the robot at the left end of the tank and suspended it on the surface of the water, then issued a diving command to move it to a depth of 1 m. After that, we controlled the robot to surge forward at a 2 Hz undulating frequency, braked when moving to the right end of the tank, and ended by surging backward to the left end of the tank. Figure 12b shows the depth and attitude angle versus time in the surge motion experiment, and Figure 12c shows the time sequence in the surge motion of the robot. From the experimental image and diagram, it can be seen that the robot first descends to a specified depth and then surges forward. The angle fluctuation range is less than ±5° in the lower figure of Figure 12. So, the robot keeps its balance and surges forward at the fixed depth during the motion.
The surge motion experiment shows: • The robot can achieve attitude stability in surge movement, and the angle fluctuation range is less than ±5°; • The depth closed-loop controller and attitude angle closed-loop controller play an effective role in regulation; • The surge motion of the robot is independent and does not accompany the motion of the other five degrees of freedom. In the surge motion experiment, we made the robot move forward and backward on the surface and underwater at a depth of 1 m, respectively. First, we placed the robot at the left end of the tank and suspended it on the surface of the water, then issued a diving command to move it to a depth of 1 m. After that, we controlled the robot to surge forward at a 2 Hz undulating frequency, braked when moving to the right end of the tank, and ended by surging backward to the left end of the tank. Figure 12b shows the depth and attitude angle versus time in the surge motion experiment, and Figure 12c shows the time sequence in the surge motion of the robot. From the experimental image and diagram, it can be seen that the robot first descends to a specified depth and then surges forward. The angle fluctuation range is less than ±5 • in the lower figure of Figure 12. So, the robot keeps its balance and surges forward at the fixed depth during the motion.
The surge motion experiment shows: • The robot can achieve attitude stability in surge movement, and the angle fluctuation range is less than ±5 • ; • The depth closed-loop controller and attitude angle closed-loop controller play an effective role in regulation; • The surge motion of the robot is independent and does not accompany the motion of the other five degrees of freedom.

Velocity Experiment
In the last group of experiments, we measured the propulsive velocity of the robot. First, the robot is placed at the left end of the tank and floats on the surface. We took the frequencies of the undulating fin f = 1.0 − 6.0 Hz every 0.5 Hz so that we could conduct 11 sets of experiments. First, the laptop controls the robot to surge forward at the specified frequency and brake when it reaches the right end of the tank, we then return it to its initial position. We record the time that the robot passes through the middle of the tank (l = 0.1-0.3 m) three times at each frequency, then calculate the average velocity.
The experimental result is shown in Figure 13b, and it can be seen that with the increase of undulating frequency, the propulsive velocity of the robot also increases, and the trend is consistent with the simulation results. When the undulating frequency is 6 Hz, the propulsive velocity of the robot reaches 1.2 m/s (1.5 BL/s). A comparison of the existing work is shown in Table 2, which shows that the performance is good since it is well acknowledged that the long fin is not optimized for high speed. Compared with the CFD simulation results in Figure 13a, the actual velocity-frequency curve trend of the prototype is consistent with the simulation curve. The propulsive velocity of the actual robot is not as fast as the simulation one. Two reasons were speculated. On the one hand, the fluid domain is simplified in the simulation model, and the fluid resistance of the actual robot prototype is greater than that of the simulation model. On the other hand, the waveform generated by the undulating fin formed by eight rigid fin rays is not an ideal sine wave. The waveform is more distorted especially under high-speed undulation, thus, reducing the propulsion efficiency. In addition, due to the limitation of the pool length, when f > 3 Hz, the robot may have braked before accelerating to the maximum speed, resulting in the calculated average velocity being low. In the future, the experiments will be carried out in a larger field, the high-precision accelerometers will be equipped for the robot, and the velocity measurement method will be improved.

Discussion
In this paper, we developed an underwater robot based on the hybrid propulsion of a quadrotor and a bionic undulating fin. In this section, the performance of the bionic robot is further discussed in terms of maneuverability, stability, control strategy, and applicability.

Performance of Maneuverability
The undulating fin inspired by Gymnarchus niloticus plays an important role in enabling the underwater robot to realize the basic motion of heave, yaw, steering, and surge. As mentioned in Section 2, the bionic fin has two features. First, driven by the cam mechanism, the long fin can undulate at a high frequency (about 6 Hz). The fact that the propulsive velocity of the robot can reach 1.2 m/s (1.5 BL/s) shows that the robot can swim fast (relative to other MPF underwater robots) even though the Gymnarchus niloticus in nature cannot achieve this kind of speed. The second feature is that the long fin can tilt to the left/right side. The steering motion experiment shows that the yaw angle of the robot can be effectively adjusted only by tilting the angle of the undulating fin. From a design point of view, because the cam mechanism can theoretically achieve arbitrary regular oscillation, therefore, compared with the crank rocker mechanism [23] and the crank slider mechanism [39], the cam mechanism can provide more design possibilities, such as an undulating fin with a sine wave or cycloid wave.

Performance of Stability
Considering the excellent performance and mature control scheme of the quadrotor in attitude stability, we chose it for supplementary propulsion to achieve robot hover. So, the quadrotor is the other vital component of the underwater robot that hovers the robot and assists in maintaining its balance. The simulation and experiment results show that the attitude angle fluctuation range is less than ±5° in basic motion and hovering. This means that the robot can achieve attitude stability which fulfills our design purpose. The use of quadrotors sacrifices hydrodynamic performance in the direction of the robot's wave-fin propulsion, but also increases the robot's hovering function and maneuverability in other directions. In particular, when the wave fin fails, the quadrotor can help the robot to complete the task, thereby improving the robot's motion reliability.

Control Strategy
In practical control, we must consider the disturbances within the environment. Even in the limited experimental tank, the robot may be rotated by some uncertain disturbances

Discussion
In this paper, we developed an underwater robot based on the hybrid propulsion of a quadrotor and a bionic undulating fin. In this section, the performance of the bionic robot is further discussed in terms of maneuverability, stability, control strategy, and applicability.

Performance of Maneuverability
The undulating fin inspired by Gymnarchus niloticus plays an important role in enabling the underwater robot to realize the basic motion of heave, yaw, steering, and surge. As mentioned in Section 2, the bionic fin has two features. First, driven by the cam mechanism, the long fin can undulate at a high frequency (about 6 Hz). The fact that the propulsive velocity of the robot can reach 1.2 m/s (1.5 BL/s) shows that the robot can swim fast (relative to other MPF underwater robots) even though the Gymnarchus niloticus in nature cannot achieve this kind of speed. The second feature is that the long fin can tilt to the left/right side. The steering motion experiment shows that the yaw angle of the robot can be effectively adjusted only by tilting the angle of the undulating fin. From a design point of view, because the cam mechanism can theoretically achieve arbitrary regular oscillation, therefore, compared with the crank rocker mechanism [23] and the crank slider mechanism [39], the cam mechanism can provide more design possibilities, such as an undulating fin with a sine wave or cycloid wave.

Performance of Stability
Considering the excellent performance and mature control scheme of the quadrotor in attitude stability, we chose it for supplementary propulsion to achieve robot hover. So, the quadrotor is the other vital component of the underwater robot that hovers the robot and assists in maintaining its balance. The simulation and experiment results show that the attitude angle fluctuation range is less than ±5 • in basic motion and hovering. This means that the robot can achieve attitude stability which fulfills our design purpose. The use of quadrotors sacrifices hydrodynamic performance in the direction of the robot's wave-fin propulsion, but also increases the robot's hovering function and maneuverability in other directions. In particular, when the wave fin fails, the quadrotor can help the robot to complete the task, thereby improving the robot's motion reliability.

Control Strategy
In practical control, we must consider the disturbances within the environment. Even in the limited experimental tank, the robot may be rotated by some uncertain disturbances induced by itself. Taking the surge motion as an example, during the surge, the robot should move straight forward along the X-axis and the propellers should work for the attitude adjustment. If the error between the detected roll angle and the initial one is larger than 5 • , which means an unnecessary rotation clockwise, then the propulsive force of the propellers at the right side of the surge orientation will be increased to a larger amplitude to generate an added resistance torque compensating the unnecessary rotation torque. This kind of force compensation and attitude adjustment are also working in the control process of pitch angle, yaw angle, and depth during the multi-mode locomotion. On the other hand, as the six-degree-of-freedom force generated by the four propellers is coupled, it is also a challenge to accurately allocate the thrust to the four propellers based on the calculation results of the controller. In this paper, a 4-DOF cascade PID controller and its control allocation algorithm were designed for this propulsive force adjusting. We conducted simulations and experiments to verify the effect of the controller and test the influence of PID parameters on stability control. The simulation and experimental results clearly show that the robot is able to realize heave motion, surge motion, steering motion, and maintain a stable hover.

Applicability
Owning to the aforementioned advantages, the novel underwater robot is suitable for a variety of tasks such as marine exploration, rescue, and operation. The most common example of such a task in the oil and gas industry is using the robot to make detailed maps of the seafloor before building a subsea infrastructure. In addition, the robot can carry the camera and robotic arm for underwater operations such as pipe maintenance and repair.
The present underwater robot prototype has successfully realized basic motion and high-frequency propulsion. However, compared to our design purpose and the simulation results, its swimming performance still has room for improvement. We summarized future work for the underwater robot as follows: first, the shape of the robot can be designed to be a fish-like shape to improve the hydrodynamic performance of the robot in the directions of moving forward, rising, and sinking; second, the cam mechanism can be optimized by replacing the rigid shaft with a flexible shaft and improving the structure of the fin with soft material to generate an ideal sine wave; and, last but not least, the control strategy can be improved to enhance stability and maneuverability.

Conclusions
In this paper, we have presented a novel underwater robot based on the hybrid propulsion of a quadrotor and undulating fin. This robot is suitable for replacing or accompanying human beings to execute tasks such as marine exploration, rescue, and operation. We conclude that an underwater robot that is modular designed and based on a hybrid propulsion of quadrotor and undulating fin, and with a cam mechanism used to drive the entire undulating fin through a motor, which also reduces control difficulties while improving the undulating frequency to 6 Hz, is better than other concepts with the same functionality. Next, the 6-DOF dynamic model of the robot was established and the multi-mode motion control of the robot was realized based on a 4-DOF cascade PID controller. The power distribution strategy of the robot in different motion modes was proposed. The simulation and hardware experimental results show that the robot can realize heave motion, surge motion, turn in place motion, and maintain a stable hover in narrow spaces. In hardware experiments, when the undulating frequency is 6 Hz, the maximum propulsive velocity of the robot can reach 1.2 m/s (1.5 BL/s). Therefore, the robot has great potential for underwater operation and has good maneuverability in narrow spaces.
Author Contributions: Conceptualization, X.Z. and Z.L.; Software, X.Z., Y.X. and M.X.; Data curation, X.Z. and Q.Y.; Writing-original draft preparation, X.Z. and Z.L.; Writing-review and editing, Z.L. and J.S. All authors have read and agreed to the published version of the manuscript.

Data Availability Statement:
The data used to support the findings of this study are available from the corresponding author upon request.

Conflicts of Interest:
The authors declare no conflict of interest.