1 Introduction

In the current research trends, biomimetic applications based on inspiration from fishes has been developed. Applications aspects related to underwater operations mainly for industrial inspection, military detections and underwater research activities are the main concerns. Robotic technology for underwater robots like Remotely Operated Vehicles (ROVs) and Autonomous Underwater Vehicles (AUVs) has been increased. According to [1], the fish has the ability to control the flow around its body and also for better maneuvering many controlling ways have been evolved by them. They prepared a robotic tuna having 8 link mechanisms working under 6 brushless motors and a string pulley arrangement. Evaluation of swimming parameters has been done by incorporating motion and force transducers. The kinematics of pectoral fin propulsion of Cymatogaster aggregata to investigate the interactions between various kinematic parameters in relation to swimming speed was evaluated [2], indicating that pectoral fin beat cycle can be categorized as abduction, adduction and refractory phases, which depends on swimming speed and also thrust varies accordingly to phases. The kinematics and hydrodynamics for the power stroke of rowing gait considering angel fish was estimated and also blade element theory was implemented to determine thrust generated during the steady rectilinear progression of the fish. It was also found out that during early and late parts of stroke there is a generation of reversed thrust [3]. Investigations were done on recovery stroke and the overall fin-beat cycle propulsive efficiency was also calculated in the angelfish model [4, 5]. As depicted in their observations of a Turtle-like submergence vehicle, it was clear that the calculated hydrodynamic forces exceeded the practical values because of not considering some hydrodynamic effects [6]. However, for the past decade, researchers have started incorporating these effects and consequently have presented a much better estimation of these forces. The dynamics and energetics of a flexible pectoral fin rower, the three-spine stickleback Gasterosteus aculeatus were investigated. The works empirically measured the instantaneous lift and drag forces throughout the rowing cycle and estimated effects of both circulatory and added mass forces. In observations, there was an error in acceleration reactions for getting positive and negative values and these were optimized to built acceleration reaction curve [7]. To better understand the anatomical structure of the fin blade, skeleton, and muscles that drive fin motion, the rowing and flapping motions of paired pectoral fins found in labriform fishes were studied. The work comprised of few characteristics of pectoral fins such as neuroanatomy, neural circuitry, and electrical muscles activity. They explored several key parameters of fin shape associated with fin motion and locomotion strategy, including fin aspect ratio, fin chord lengths and the distribution of fin area [8]. The labriform fish with paired pectoral fins use lift-based motion with flapping stroke and drag-based motion with rowing stroke for locomotion is studied and observed that swimming speed is not directly depending on flapping frequency. Also, they suggested that more work is to be done so as to make a robot to match with the marine fast swimmers [9]. Cownose Ray-I is developed for a robotic fish propelled by the oscillation of pectoral fins driven by 8 eudipleural servo-motors producing propulsive sine waves. The robot manages to move forward and backward but a slow forward velocity hints improvement in the model [10]. The effective locomotion control mainly for roll motion is done for tethered and freely swimming robotic fish using inertial IMU sensors [11]. A dynamic model was presented for rowing of flexible pectoral fin, using a blade element approach and added mass effect, the hydrodynamic forces were calculated. In that study, the fin was considered made of inter-connected multi-rigid segments and the torque required for fin oscillation was evaluated. For experimental validation, the forward velocity, turning period and radius were obtained practically for various actuation frequencies. Later they adopted a passive pitching technique for minimizing the drag during the recovery phase. This was achieved using a flexible joint to connect the servo arm and the fin, while a mechanical stopper attached rigidly to the motor arm [12]. The design allowed the fins to sweep back passively during recovery stroke (reducing drag). While the power stroke, stopper restricted the joint flexibility such as to position the fin for maximum drag. In contrast to the previous case, it produced almost twice the forward velocity. Looking into the trends, the piezoelectric material is also being used for artificial fin and muscles inspired by fish for caudal fin movement [14]. Hydrodynamic simulation for tuna fish and giant danio considering fish-like swimming is done analytically and experimentally showing the fast response for flexible propulsors [15].

In this paper, an analytical model is derived to calculate net forces and torques generated throughout the rowing gait. Apart from a parametric study, simulations are performed to predict various output parameters like thrust, acceleration and swimming speed for some specific locomotion. For experimental validation, a rigid fish-like-body is fabricated with a pair of fins attached symmetrically on lateral sides of the body. Each fin is actuated using three servo-motors and gear configurations with [Ry Rz Ry] degree of freedom to exhibit both the rowing and the flapping gaits. A micro-controller is deployed to control the actuators by generating PWM and read inertial sensors (a gyroscope and an accelerometer mounted at the centroid of the body) using I2C protocol. In addition, a Bluetooth module is also attached to it for communicating the sensor’s readouts to a computer (running MATLAB script). To achieve some specific motions of rowing gait, the fins are actuated appropriately with consideration of power and recovery stroke while the robot is freely submerged underwater and the sensor’s data are recorded in real-time for parallel observations. Based on video motion analysis and the sensed data, the values of acceleration are calculated and compared with the theoretical values predicted by the model. The model predicts the swimming parameters generated by pectoral fins for rowing gait actuated by three servo motors connection for fins on each side of robotic fish. Quasi static forces are calculated using analytical model based on the angle of attack of the robotic fish for specific robotic fish fin orientation. Experimental validation with three servo motor configuration and gear arrangements of fin shows effectiveness of the model to produce forward thrust to counterpart the previously faced problems using rigid joint connections that is to provide separate conditions for power and recovery strokes. This model can be useful for predicting swimming parameters for flapping gait and also to perform turning and control to give better maneuverability.

2 Modeling of robotic fish

2.1 Rigid body dynamics

The fin actuating mechanisms for the fish robot is modeled by considering \([X,Y,Z]^{T}\) as an inertial reference frame, while \([x,y,z]^{T}\) representing the body-fixed reference frame (Fig. 1). At any instant, say the robot is propelled by an external force, \(f = [f_{x} ,f_{y} ,f_{z} ]^{T}\) and external torque, \(\tau = [\tau_{x} ,\tau_{y} ,\tau_{z} ]^{T}\). It rotates by \(\varphi = [\varphi_{x} ,\varphi_{y} ,\varphi_{z} ]^{T}\) about its center of gravity with roll, pitch and yaw of \(\varphi_{x}\), \(\varphi_{y}\) and \(\varphi_{z}\) respectively, and translates by \(r = [r_{x} ,r_{y} ,r_{z} ]^{T}\) in x, y and z-direction by \(r_{x}\), \(r_{y}\) and \(r_{z}\) respectively.

Fig. 1
figure 1

Schematic top view representation of the planar motion of the vehicle body actuated by pectoral fins

Here, \(\varphi_{z}\) is the heading angle of the fish body with respect to the inertial coordinate system.

The dynamic Newton–Euler equation for the model can be stated as [11]:

$$\left[ {\begin{array}{*{20}c} m & 0 \\ 0 & I \\ \end{array} } \right]\left[ \begin{aligned} {\ddot{r}} \hfill \\ {\ddot{\varphi }} \hfill \\ \end{aligned} \right] + \left[ \begin{aligned} \dot{\varphi } \times m\dot{r} \hfill \\ \dot{\varphi } \times I\dot{\varphi } \hfill \\ \end{aligned} \right] = \left[ \begin{aligned} f \hfill \\ \tau \hfill \\ \end{aligned} \right]$$
(1)

where \(m = [m_{x} ,m_{y} ,m_{z} ]^{T}\) is the effective mass matrix for the fish body, I is the inertial tensor matrix.

When a body submerged in fluid moves, a portion of fluid surrounding it moves as well. Due to this added mass effect, the robot of mass \(m_{b}\) and inertia \(I_{b}\), when in motion gains an additional mass \(m_{a} = [m_{ax} ,m_{ay} ,m_{az} ]^{T}\) and additional inertia \(I_{a} = [I_{ax} ,I_{ay} ,I_{az} ]^{T} .\).

Since only planar motion in x–y plane is considered, translation in x and y axis and yaw about z-axis are respectively obtained from Eq. (1) as:

$$(m_{b} + m_{ax} )\ddot{r}_{x} - (m_{b} + m_{ay} )\dot{r}_{y} \dot{\varphi }_{z} = f_{x}$$
(2)
$$(m_{b} + m_{ay} )\ddot{r}_{y} + (m_{b} + m_{ax} )\dot{r}_{x} \dot{\varphi }_{z} = f_{y}$$
(3)
$$(I_{z} + I_{az} )\ddot{\varphi }_{z} = \tau_{z}$$
(4)

The force components in x, y and z direction for both right and left side fins is considered later. The added mass component along x direction, \(m_{ax}\) can be calculated by considering the fish body as an ellipsoid of length \(l_{e}\) and diameter \(d_{e}\) [13] as:

$$m_{ax} = (2\pi \rho l_{e} d_{e}^{2} )/6$$
(5)

Other added mass along y and added inertia about z direction is determined from slender body theory as [13]:

$$m_{ay} = \rho [\pi \bar{R}^{2} (x_{1} - x_{2} )]$$
(6)
$$I_{az} = \rho [\pi \bar{R}^{2} (x_{1}^{3} - x_{2}^{3} )/3]$$
(7)

where \(\bar{R}\) is the mean radius of the cylindrical body of robot and \(x_{2}\) and \(x_{1}\) are mentioned in Fig. 1.

The kinematics for the model can be written as follows:

$$X = r_{x} \cos \theta - r_{y} \sin \theta$$
(8)
$$Y = r_{x} \sin \theta + r_{y} \cos \theta$$
(9)

2.2 Blade element theory

To evaluate hydrodynamic forces of the pectoral fins, the blade element theory for pectoral fin rowing is used but the directions are different from [3]. According to the theory, the fin is divided into defined blade elements.

$$v_{n} = (\omega s - V\cos \gamma )sin\beta$$
(10)
$$v_{s} = V\sin \gamma$$
(11)
$$v_{c} = (\omega s - V\cos \gamma )cos\beta$$
(12)

where \(\omega\) is the angular velocity of fin oscillation, \(\beta\) is feathering angle of the fin(taken positive clockwise), \(\gamma\) is the angle made by fin’s major axis and V is the steady forward velocity of the robotic fish.

Hence, the resultant velocity of the element,

$$v(t) = \sqrt {\omega^{2} s^{2} + V^{2} - 2V\omega s\sin \gamma (t)}$$
(13)

And the hydro-dynamical angle of attack expressed as [3],

$$\alpha (t) = tan^{ - 1} (v_{n} /v_{s} )$$
(14)

The normal force (lift), \(dF_{n} (t)\), spanwise force, \(dF_{s} (t)\) and chordwise force, \(dF_{c} (t)\) are acting on each element ds of fin can be calculated from [3]:

$$dF_{n} = \frac{1}{2}C_{n} \rho v_{n}^{2} cds$$
(15)
$$dF_{s} = \frac{1}{2}C_{s} \rho v_{s}^{2} cds$$
(16)
$$dF_{c} = \frac{1}{2}C_{c} \rho v_{c}^{2} cds$$
(17)

where ρ is the density of fluid (for water, = 1000 kg/cm3), \(C_{n}\), \(C_{s}\) and \(C_{c}\) are the normal, spanwise and chordwise thrust coefficients, respectively and are obtained from [3] as:

$$C_{n} = \left( {\begin{array}{*{20}l} {2.5\sin (\alpha ),} \hfill & {\forall \alpha (t) \in \left[ {0,\frac{\pi }{4}} \right]} \hfill \\ {1.1,} \hfill & {otherwise} \hfill \\ \end{array} } \right)$$
(18)

\(\bar{s} = (L - S + s)\) is the element distance from the fin pivot, L is the total length of the fin from its outermost tip to the pivot point, S is the span length of the fin,

$$C_{s} = 1.328\left( {\frac{{\bar{s}v_{s} }}{{\mu_{k} }}} \right)^{ - 0.5}$$
(19)
$$C_{c} = 1.328\left( {\frac{{\bar{s}v_{c} }}{{\mu_{k} }}} \right)^{ - 0.5}$$
(20)

The Eqs. (2), (3) and (4) can be simplified to get general quasi-static forces for individual stages of rowing for both right (|r) and left (|l) side fins acting in x, y and z direction as stated below:

  1. (i)

    During power stroke: (keeping \(\beta = 90^{ \circ }\) for maximum drag)

    $$(F_{x} )_{pwr} = (F_{n|r} \cos \gamma_{r} - F_{s|r} \sin \gamma_{r} ) + (F_{n|l} \cos \gamma_{l} - F_{s|l} \sin \gamma_{l} )$$
    (21)
    $$(F_{y} )_{pwr} = (F_{n|r} \cos \gamma_{r} - F_{s|r} \sin \gamma_{r} ) + (F_{n|l} \cos \gamma_{l} - F_{s|l} \sin \gamma_{l} )$$
    (22)
    $$(\tau_{z} )_{pwr} = (F_{n|r} \cos \gamma_{r} - F_{s|r} \sin \gamma_{r} )d_{r} - (F_{n|l} \cos \gamma_{l} - F_{s|l} \sin \gamma_{l} )d_{l}$$
    (23)
  2. (ii)

    During recovery stroke: (keeping \(\beta = 0^{o}\) for minimum drag)

    $$(F_{x} )_{rec} = (F_{c|r} \cos \gamma_{r} - F_{s|r} \sin \gamma_{r} ) + (F_{c|l} \cos \gamma_{l} - F_{s|l} \sin \gamma_{l} )$$
    (24)
    $$(F_{y} )_{rec} = (F_{c|r} \cos \gamma_{r} + F_{s|r} \sin \gamma_{r} ) - (F_{c|l} \cos \gamma_{l} + F_{s|l} \sin \gamma_{l} )$$
    (25)
    $$(\tau_{z} )_{rec} = (F_{c|r} \cos \gamma_{r} - F_{s|r} \sin \gamma_{r} )d_{r} - (F_{c|l} \cos \gamma_{l} - F_{s|l} \sin \gamma_{l} )d_{l}$$
    (26)

The net forward thrust produced in the x direction is expressed as:

$$F_{x} \left(t + \frac{n}{f}\right) = \left\{ {\begin{array}{*{20}l} {2(F_{n} \cos \gamma - F_{s} \sin \gamma ),\;\forall 0 < t < \frac{{tr_{pwr} }}{f}} \hfill \\ {0,\;\forall \frac{{tr_{pwr} }}{f} \le t < \frac{{tr_{pwr} + tr_{idle} }}{f}} \hfill \\ { - 2(F_{c} \cos \gamma - F_{s} \sin \gamma ),\;\forall \frac{{tr_{pwr} + tr_{idle} }}{f} \le t \le \frac{{tr_{pwr} + tr_{idle} + tr_{rec} }}{f}} \hfill \\ {0,\;\forall \frac{{tr_{pwr} + tr_{idle} + tr_{rec} }}{f} \le t \le \frac{1}{f}} \hfill \\ \end{array} } \right\}$$
(27)

where n is the number of rowing cycle passed and we assume factors of time period for both power and recovery strokes as \(tr_{pwr}\) and \(tr_{rec}\). Since after every stroke, some time is needed to reorient the fin which is taken as idle time and expressed as \(tr_{idle} = \left( {\frac{{1 - tr_{pwr} - tr_{rec} }}{2f}} \right).\)

Net forward acceleration of the body generated by both pectoral fins:

$$\ddot{r}_{x} \left( {t + \frac{n}{f}} \right) = \frac{{F_{x} \left( {t + \frac{n}{f}} \right)}}{{(m_{b} )}}$$
(28)

3 Simulation and experimental results

3.1 Simulation results

Here, we are considering robotic fish locomotion by pectoral fin actuation. Different parameters are there which affect the movement of the robotic fish. So a parametric analysis is done to understand the effect of various parameters. If we take fluid relative velocity, it is true that high fluid relative velocity will produce a high forward-moving thrust which is again very essential for robotic fish locomotion.

Figures 2 and 3 shows the angle of attack with respect to the fin orientation angle for both power and recovery stroke. Here, the angle of attack decreases with fin orientation increment starting with a maximum value of 90°. Its deviation is more at higher speed and thereby, so is its contribution to normal force coefficient which will be discussed in later part in force analysis.

Fig. 2
figure 2

During power stroke a variation in the hydrodynamic angle of attack relative to the fin flapping orientation at 1 Hz and b variation in the fluid relative velocity

Fig. 3
figure 3

During recovery stroke a variation in the hydrodynamic angle of attack relative to the fin flapping orientation at 1 Hz and b variation in the fluid relative velocity

Comparison can be made between angle of attack and fluid relative velocity as for power stroke as the angle of attack increases it will increase lift and drag so basically its velocity will decrease and at high fish swimming velocity the fluid relative velocity shows sharp decrement because of increased lift and drag forces acting into play as shown in Fig. 2. And in case of recovery stroke shown in Fig. 3, with the increment in angle of attack the fluid relative velocity shows a slight increment because of the less effect of lift and drag forces in recovery stroke as power stoke already provided forward locomotion to robotic fish.

Although the values of angle of attack for a major portion of both strokes are not much different, the fluid relative velocity was appreciably higher for the recovery stroke. Hence, it can be inferred that to reduce the magnitude of negative thrust component in recovery stroke and achieve net forward motion, the feathering angle for the power stroke must be kept greater than that during recovery stroke and vice versa. Hence, hereafter for analysis of the model, the feather angle is taken as 90° for power stroke and 0° for recovery stroke of the rowing gait.

Figures 4 and 5 shows the variation in quasi-static Forces for various swimming velocities when fin flapping at 1 Hz. Considering both power and recovery stroke the forces are analyzed with the final net force generated showing higher force for power stroke compared to recovery stroke.

Fig. 4
figure 4

During power stroke ac shows variation in quasi-static forces for various swimming velocities when fin flapping at 1 Hz

Fig. 5
figure 5

During recovery stroke ac shows variation in quasi-static forces for various swimming velocities when fin flapping at 1 Hz

3.2 Experimental results

After all modeling and theoretical calculations, experimentation is required to validate the results.

So in order to validate the above-stated model, experimentation is done on a prototype of underwater swimming robotic fish. The modeling of the body is done in SolidWorks software Fig. 6 and all the various components were assembled to give the required prototype for experimentation, a camera snapshot image is shown in Fig. 7.

Fig. 6
figure 6

Solid works model

Fig. 7
figure 7

Assembled model without fins

The prototype is composed of a shell body which covers all the inside components. Components include Li-ion rechargeable battery is used to power the robot and three servo motors for one side fin and same combination on the other side are used. Atmel ATmega328/P an 8-bit microcontroller board is used to actuate &control the servos and L3G4200D gyroscope & ADXL335 accelerometer sensors are being placed in order to get acceleration outputs. The sensed data is fetched by the microcontroller using the I2C connection. Also, the HC05 Bluetooth Module is used to communicate experimental data wirelessly to a nearby computer over Bluetooth. The microcontroller sends the data using the UART protocol and is forwarded by the module to the computer at the rate of 57,600 bps. The robot dimensions of the prototype approximately are 24.5 cm in length, 96 mm in diameter. Two identical rectangular shaped aluminium foils of span 0.09 m and chord 0.05 m are adapted in order to mimic the pectoral fins for the robotic fish.

For experimentation, an appropriately sized water-pool tank is used. To ensure proper experimentation, a tank filled with water is prepared and properly checked for any leakage before experiments. For various measurements, the bottom of the tank is marked with black tapes with respective distances between them in order to get forward motion analysis of the robot.

Snapshots were taken Fig. 8 to cover all motions for rowing condition and it is clear from the images that the robot is moving forward by considering black marks made underwater.

Fig. 8
figure 8

Snapshots taken while experimentation

Using a motion analysis software Tracker we got movement vs time analysis for rowing conditions. The results are taken by marking a black tape at the bottom of tank and analyzing its motion with respect to time.

The Fig. 9 shows the comparison between the acceleration values of the robotic fish measured from the theoretical model and experimental setup. The frequency remains same as 0.99 Hz but acceleration values on forwarding movement due to rowing are considered and from the plot, it shows that trend of the curve for both the theoretical model and experimentation is almost same. The plot showing high peaks at top and bottom is because of the fact that the rowing action comprises of the power stroke and recovery stroke. Also the peak values for theoretical model are much higher when compared to experimental model because of unaccounted hydrodynamic parameters like fin-tip loss, induced velocities, fin flexibility, etc. The plot showing negative acceleration at start is because of the recovery cycle playing earlier and the same is being repeated later after some cycles.

Fig. 9
figure 9

Acceleration plot for theoretical model prediction versus experimental data

Figure 10 shows the comparison between the acceleration values of the robotic fish measured from the theoretical model and experimental setup but the experiment is conducted with the lower fin beat frequency. The plot shows lower values than the previous values from Fig. 9 which shows a limitation on the swimming speed beyond which the thrust generation does not contribute to forward motion because of the lower fin beat frequency as explained in [16] that fin beat frequency is an important kinematic parameter and here also theoretical results are showing very high peaks because of the reason explained earlier.

Fig. 10
figure 10

Acceleration plot for theoretical model prediction versus experimental data

4 Conclusions

In this work, dynamic modeling of pectoral fin-based propulsion is proposed for underwater robots like AUVs and ROVs. The fin locomotion is mimicked from the gaits of labriform fishes. To capture the fin hydrodynamics, concepts like added mass and circulation force are implemented in a supplement to the blade element approach. The hydrodynamic forces, thus evaluated for various phases of the gaits are utilized in Newton–Euler equations to frame kinematics and dynamics for a free-swimming robot. For further study of the rowing gait, the modeled equations are analyzed for a specific rectilinear motion of the robot. Apart from the parametric study and quasi-static analysis of the model, parameters like swimming velocity, acceleration and net thrust generated in the rectilinear motion is predicted. In this work we have presented, the dynamic model for locomotion of a robotic fish actuated by a pair of pectoral fins. The mathematical formulation is done for many parameters like forwarding velocity, acceleration, thrust. Blade element theory is also incorporated to calculate forces on fins due to water. To do experimentations in order to validate a prototype model is being prepared where pectoral fins were actuated through servos. The experimental acceleration values were compared with the mathematical model results.

The paper presents an analytical study for complete rowing cycle performed to achieve rectilinear motion. The result shows that the variation in force follows a similar behavior like that in the simulation. However, the theoretical estimation of thrust obtained by simulation under-predicts the practical values. The difference is because of certain unaccounted hydrodynamics such as fin-tip loss, fin flexibility, induced velocities. This certainly opens a wide exploration scope for future researches. The presented work could be utilized as a base for further analysis of the pectoral fin model while incorporating the effect of fin stiffness. In addition, there were certainly other force components and torques that were not analyzed in this study. The model can also be utilized to study flapping gait and explore the fin hydrodynamics for the corresponding locomotion. From aspects of the control system, the work could be developed for studying stability for navigation and maneuvering of the robot.