1. Introduction
Robotic fish, which is usually driven by motors in the joint space, is a kind of bionic device that imitates the body and the control mechanism of fish in nature. Robotic fish are widely applied in many fields, such as marine exploration, underwater rescue, fish breeding, and biotechnology research [
1]. As robotic fish has a limited power supply, long working time in these applications requires it to swim efficiently. Prior works on the propulsion efficiency of robotic fish mainly focus on two aspects: (1) generating fish-like swimming patterns by learning the swimming model from the fish in nature and (2) designing control algorithms according to the characteristics of the robots and the effects of the flow [
2,
3].
The swimming model, including the kinematic and the dynamic model, is the basic challenge for the efficient propulsion of robotic fish. In [
4], the multiple-joint kinematic model is presented to imitate the carangoid. Then, the control of the joints in this model is learned from the swimming data of the carangoid by the central pattern generator (CPG). Afterward, the work in [
5] discussed the relationship between the CPG-based locomotion control and the energy consumption of the miniature self-propelled robotic fish, which provided a reference for improving the energy efficiency and locomotion performance of the versatile swimming gaits. The work in [
6] proposes a function of the relationship between the head and the whole body to simulate the swimming pattern of the carangoid. Moreover, the angles of the joints in this function are discretized to form a lookup table, which achieves cruise and turning patterns in the experiment. Meanwhile, the work in [
7] designs the caudal fin by combining the skeleton and the tail fin. The skeleton moves relatively while the fin swings to affect the efficiency. Although the experiment shows how the stiffness, the waveform, and the frequency of the skeleton significantly impact the propulsion efficiency, the mathematical model of the parameters is still unclear. Similarly, Silas Alben uses three-dimensional particle image velocimetry (PIV) to record the flow generated by different fins. The results indicate that the shape nonlinearly affects the hydrodynamics, and the length influences the forward speed [
8]. The literature emphasizes the hydrodynamic performance of the wake vortex when robotic fish swims by analogizing the movement of the caudal fin [
9]. In [
10], an elaborate model with actuator dynamics was introduced to demonstrate the swimming behavior of the carangiform locomotion-type fish robots. However, there are still some uncertainties. Additionally, researchers have done many simulations and experiments to find out the relationship between typical wake vortex and propulsive efficiency [
11,
12].
The control algorithms of high propulsive efficiency are also widely studied recently. The work in [
13] introduced the mainstream robotic fish propulsion mechanism and control method, and guided the robotic wave fish’s kinematic optimization and motion control. The work in [
14] designed an extremum-seeking method to control the robotic fish to swim along a predetermined trajectory independently on the model. Moreover, a robotic fish consisting of a body, pectoral fins, and a caudal fin is controlled by a CPG model to swim point-to-point with the feedback from the visual system and the gyroscope [
15]. In [
16], researchers applied two control methods named computed torque method and feed-forward method on a four-joint, six-degrees-of-freedom robotic fish with a horizontal caudal fin. The work in [
3] addresses an iterative learning control (ILC) method to a two-link carangiform robotic fish. The P-type ILC algorithm works well for the highly nonlinear model of the robotic fish and the nonaffine in the input. Chen et al. [
17] define the natural oscillation of a class of flat-body fishes as a free response to the flow field under the damping compensation. Consequently, nonlinear feedback controllers are proposed to imitate the natural oscillation of the body, which results in a prescribed average velocity. The work in [
18] introduced a particle swarm optimization (PSO) algorithm to optimize the characteristic parameters of the CPG model to obtain the maximum average speed and improve efficiency. In addition, research [
19] has been conducted on the control of pectoral fins to improve propulsion efficiency.
The problem of high-efficient propulsion has been widely studied. However, the efficiency of the robotic fish is still far from the expectations of the application. Why is the propulsive efficiency of the robotic fish much lower than that of the fish in nature? When a fish swims, power is generated by the myotome muscle on either side of the body to overcome the drag [
20]. A wave of muscle activation/contraction passes alternately down each side of the body from head to tail in an oscillation cycle. A wave of curvature also travels down the body due to the combined effects of muscle activities, the physical properties of the skeletal elements, and the interaction between the fish’s body and the reactive forces from the water in which it moves [
21,
22]. The muscles of the fish contract to generate the power for the swimming thrust. In contrast, the motors in the joints of the robotic fish generate the power for the oscillation to achieve forward propulsion. Therefore, applying the control mechanism of the fish muscle onto the motors in the joint space may be a feasible way to improve the efficiency of robotic fish propulsion [
23].
In this paper, we aim to derive the high-efficient methodology from the fish in nature and design a novel closed-loop virtual musculoskeletal control method based on the dynamic model of the robotic fish and the musculoskeletal model of the biotic system. The main contributions of this paper are as follows: (1) a virtual musculoskeletal control method is the first used to raise the propulsion efficiency of robotic fish; (2) a closed-loop control framework, which improves the propulsive efficiency, is constructed by implementing the virtual musculoskeletal mechanism on the dynamic model of the robotic fish; and (3) a series of experiments is conducted to validate the proposed method in various swimming velocities and different parameters of the algorithm and hydrodynamic environment.
The rest of the paper is organized as follows. The mathematical model of a two-joint robotic fish and the problem formulation is stated in
Section 2. The model of the musculoskeletal system, the control structure, and the designed strategy are presented in
Section 3. Experimental results are presented in
Section 4, and the paper ends with the conclusion in
Section 5.
4. Performance Evaluation
The wavelength of the body is
. Therefore, the phase difference is
. To ensure the endpoints of the body and the tail coincide with the corresponding points on the midline of the live fish, let
and
. The parameters in
Figure 1 are shown in
Table 1. The hydrodynamic parameters and controller parameters are shown in
Table 2.
The virtual musculoskeletal methodology in this paper is compared with the proportion control, which is a widely used method in the joint space of the robotic fish. In the figures of this paper, the subscript “PM” means the proportion method, and “VMM” means the virtual musculoskeletal method.
We evaluate the performance when the robotic fish is controlled via the virtual Musculoskeletal closed-loop algorithm. The simulation results are obtained from three aspects: (1) the robotic fish swims in the steady flow field; (2) the robotic fish swims in the Karman vortex field; (3) how the controller’s parameters affect the efficiency and other indices of performance.
4.1. In Steady Flow
The robotic fish swims in a steady flow. The given speed is
at the beginning, and it steps to
at
. How the feedback of the speed in the control structure stabilizes the swimming speed is illustrated in
Figure 5 and
Figure 6. In
Figure 4, the relationships between the forward speed
v and the frequency
f and the amplitude
A of the oscillation are depicted. When we set the frequency and the amplitude for desired swimming speed, such as
and
,
Figure 5 shows that if the speed feedback is not added to form the closed-loop control, there will be a deviation between the real swimming speed
and the given speed
.
Because the robotic fish model is not exactly the same as the live fish, the function derived from the data of the fish in nature does not fit the robotic fish perfectly. Additionally, the speed cannot follow the given value if there is a disturbance in the water.
Figure 6 sketches the speed following when the robotic fish is controlled with speed feedback. The speed of the PM(
) and the VMM(
) both follow the given speed. After the step at
, the response time of the VMM and that of the PM is very close.
Figure 7 shows the angle of the joint between the head and the body. Both curves of the two control methods are stable sinusoidal waveforms that follow the given
with a
delay. This delay is caused by the calculation time, the response time of the dynamic model, and the hydrodynamic model. The curve of VMM has an offset of the amplitude because of the VMM complaints to the force from the water. As the hydrodynamic forces on the robotic fish are not completely symmetrical, the offset of the amplitude is added in the wave.
The angular velocity of the tail relative to the head is illustrated in
Figure 8. The angular velocity of VMM (
) changes more smoothly than that of PM (
). The virtual spindle model in the VMM adjusts the torque according to the angle and the angular velocity of the joints. This adjustment mimics how the muscles change the stretching speed and power to improve the smoothness of the movements.
Figure 9 shows the output torque of the motor in the second joint. The magnitude of
of the VMM (
) is
less than that of the PM (
);
of the VMM also changes more smoothly than the PM. In the closed-loop control, the VMM leads the flexibility and adaptability of the muscles into the controller in the joint space. Thus, the joint can adapt to the environment to avoid the output torque changes radically. Thereby, the smoothness of the torque can reduce energy consumption.
Figure 10 depicts the feedback signal of the virtual spindle model in the VMM. The fuzzy controller
generates the spindle-like feedback signal to regulate the closed-loop controller to fit the disturbances in the environment.
and
are periodic signals transformed from the angular velocity and the angle of the joints. As the torque and the hydrodynamic force interact with the movements of the joints,
and
add the same-frequency virtual spindle signals onto the sinusoidal motion of the joints. Therefore, the body and the tail fin can use the hydrodynamic force of the fluid better to reduce energy consumption and improve propulsive efficiency.
Figure 11 gives the results of how much the VMM increases the propulsive efficiency of the robotic fish. Before
, in the start-up phase, these two methods have the same efficiency. When the robotic fish reaches the speed of
, the efficiency of the VMM (
) is one percentage point higher than that of the PM (
). The given speed jumps to
at
, and both efficiencies decrease with increasing speed. At
, the VMM plays a more significant role in improving the propulsive efficiency. The efficiency of VMM is
, which is
percentage points higher than that of the PM.
4.2. In Karman Vortex Flow
Fish often swim in water that is full of disturbances. Therefore, the control strategy of the robotic fish must adapt to the flow environment. The Karman vortex is a typical vortex flow field for the environment test of the robotic fish. We extend the analysis of the algorithm in a steady flow to the Karman vortex flow field. We generate the Karman vortex shown in
Figure 12 in FLUENT and add the vortex to the swimming environment of the robotic fish.
The speed of the robotic fish swimming in the Karman vortex is depicted in
Figure 13. The VMM follows the given speed faster at the beginning, whose rise time is
shorter than the PM. The overshoot of the VMM, meanwhile, is
greater than that of the PM. The VMM, which has the characteristics of muscles, can use the flow vortex to boost the speed. Consequently, the robotic fish loses some ability to adjust its speed, leading to a greater overshoot. At
, the overshoot of the VMM still affects the response of the speed that the following of the speed is a little slower compared with the PM.
The angles of the joints in
Figure 14 show that the VMM adjusts the movements of the robotic fish to adapt to the vortex in the water. As a result, the robotic fish swims with higher efficiency than controlled via the PM. The actual angle of the first joint has phase lag and positive deviation. The phase lag of the waveform is
, which is greater than the lag in the steady water; the offset is
because the vortex affects the hydrodynamic force on the robotic fish.
In the Karman vortex, the VMM can improve the propulsive efficiency more significantly than it does in the steady flow.
Figure 15 illustrates that the VMM increases the efficiency about
than the PM. When the speed is
m/s, the
of PM is
while the
of VMM reaches
. At
m/s, the
of PM is
and the
of VMM is
. The vortex in the water contains the energy to generate the hydrodynamic force on the robotic fish. The virtual muscular method takes the compliance into the joints. The compliant joints can use the energy of vortex street better; thus, the robotic fish consumes less energy to produce motive force for the forward motion.
4.3. The Affection of the Parameters
The closed-loop controller via the VMM includes several parameters, the values of which are significant to the performance of the robotic fish. This subsection analyzes the relations between the parameters and the efficiency to provide references for the parameter setting. The experiment fixes other parameters and changes each parameter to test how it affects efficiency.
In
Figure 16, when
, after reaching a maximum value at
, the efficiency of the robotic fish decreases to a minimum at
. Therefore, 5 is a good choice for
.
The results also show the changing of the efficiency along with the variation of . The value of fluctuates with the change of . We found that if the is too large during the simulation experiments, the curve will show a large overshoot, so we finally chose .
Figure 17 depicts how the intensity of the feedback of the virtual spindle affects efficiency. The efficiency increases with the increase of
.
is set to 1 for the intensity of the virtual spindle in the first joint. The relation between the efficiency and
is an upward convex curve, which gets its maximum at
.
The virtual spindle model in VMM is the part to percept the force of the flow field onto the robotic fish and to add the adaptive response into the torques. The values of and have an obvious effect on the efficiency.
In
Figure 18, the efficiency curve of the robotic fish fluctuates and decreases with the increase of
. When
is less than
, though the efficiency is high, the robotic fish cannot follow the given speed. The gain is so small that the closed-loop control cannot eliminate the following deviation of the speed. To balance the swimming efficiency and the following of the closed-loop control, we chose
. The efficiency to
is an upward projecting curve; it rises quickly before
and declines slowly after this point. At
, the efficiency reaches its maximum value. Simultaneously, the swimming speed of the robotic fish is also in good condition.
5. Conclusions
In this paper, a novel closed-loop algorithm describing how to control the swimming efficiency of a robotic fish was proposed. We established the dynamic model and the hydrodynamic model of a two-joint robot fish. We formulated the problem of raising the propulsive efficiency as an algorithm designed in the joint space. Moreover, we characterized the mechanism of how the fish moves under the control and drive of the nerve and the muscles. Consequently, we abstracted a virtual musculoskeletal methodology from the nerve and muscle system and applied it in the joint space of the robotic fish. We evaluated the performance of the robotic fish controlled by two kinds of methods in the steady flow and Karman vortex. The results showed that the closed-loop control via virtual musculoskeletal methodology is more energy-efficient than the proportion control algorithm in both kinds of flow. The insight is that the virtual musculoskeletal methodology brings compliance to the muscles in the joints. Therefore, the robotic fish can adapt to the hydrodynamic effects of the water to reduce energy consumption when swimming.
In our future work, we will build up a more general swimming model of the robotic fish by considering complex flow turbulence to adapt to the real environment. Additionally, we will take the task planning into the closed-loop control for the applications. Finally, we will build up a real platform and conduct experiments on it to evaluate the performance of the proposed algorithm.