Keywords

1 Introduction

The sea is a source of vast resources, even though in this age of advanced science and technology there are still numerous untapped resources that are available beneath the sea, this fact raised a lot of interest in underwater research. As it is known fact that, it is highly impossible for mankind to reach every part of this vast underwater area, so developing an underwater vehicle, underwater robot or a fish robot is the alternate option. As the operation under the sea, viz. supervision, observation of aquatic life, pollution observation and controlling measures, military detection, are some of examples that puts a demand for the development of underwater robots, which is capable enough to replace humans or at least perform the necessary. But, an underwater vehicle might look like a threat to underwater creatures, and hence a fish robot, the bio-inspired robots are better option. Since, the Fish Robot looks like a normal fish but works as per our requirement to provide us with requisite important information. This is the reason due to which advanced types of fish robots and advanced control strategies are being developed. As it is known that, these fish robots generally possess nonlinear and unstable in nature, the dynamics and the kinematics of them are critical. Thus, proper and appropriate control strategies are to developed. An attempt for the same is made in this paper. The control of a Fish Robot in such a constrained aquatic environment is always a significant challenge, and designers are to take care of all odds due to this fact [1]. The hydrodynamic forces acting on the motion of a Fish Robot are critical, the contain nonlinearity and mostly drawing the system to unstable state. Also, it is generally difficult to measure all the parameters without facing that exact aquatic environment in practical, hence four degrees of freedom are considered while developing the Fish Robot.

Here the motion equations are represented as per axes so as to manage all four degrees of freedom, and they vastly depend on the fish geometry, i.e., its hydrodynamics and kinematics, and they mostly remain constant when fish orientation is as per global coordinate changes.

Figure 1 shows a typical Robotic Fish.

Fig. 1
figure 1

Computer-aided design of a typical Fish Robot with various functioning parts [11]

With these three degrees of freedom, rotational motions in all axes usually called surge, sway and heave are obtained. These three are just as similar as roll, pitch, and yaw. The orientation of the body coordinate with respect to the global axes is set as per described by its Euler Angles, i.e., yaw, pitch, and roll. An intelligent Fish Robot generally exhibits three major functions, viz. guidance, control, and navigation.

Till now many types of Fish Robots or sometimes underwater vehicles are being developed in many research laboratories and universities. Fish robots which can also help a lot in underwater research without being a threat to aquaculture. The spherical underwater vehicles are generally propelled by water-jet Motors. A smooth spheroidal body can show considerably good enough hydrodynamic behaviors, but for quick and smooth maneuvering during low speeds, sometimes they may not perform well enough. Thus, a well-controlled automated Fish Robot is always a better option.

The munk moment helps to make an orientation perpendicular to flow stream for a smooth, elongated fish robot. In a marine environment, bio-inspired Fish Robots could be highly efficient, maneuverable and noiseless. For example, propulsion systems for few types of bio-inspired Fish Robots achieve high efficiency. On the other hand, existing fish robots also shows deficiency in their swimming behavior as well. Fish Robots are designed to perform a specific way swimming. For example, some are designed to swim with the help of their tail undulation, while others to swim with the help of their pectoral fins. Both of these type exhibit different performances, one is efficient for cruising long distances; on the other hand other is for hovering around and slow swimming. It is basically a problem because for the navigation of a large distance Fish Robot needs to be acquainted with both of the abilities, i.e., swimming and hovering [2].

To overcome above problem, a novel fish robot has to be designed which is capable of exploiting different swimming ways. So, designing a new fish robot is required, but swimming behavior of a Fish Robot requires critical analytical modeling, which is necessary for the analysis of their swimming behavior and to improve their respective performance. The modeling of a Fish Robot is a challenging task due to its complication in interacting with fluid environment, and it requires healthy knowledge regarding computational fluid dynamics (CFD). Implementation of CFD in modeling of swimming motion can be studied [3,4,5]. But on the contrary, this method of CFD cannot be employed for control and optimization purposes. Thus besides CFD, mechanical approaches based modeling are also tried. Lighthill [6, 7] and Wu [8] are prime example of those. Lighthill [6, 7] also presented the Elongated Body Theory (EBT) which has got crucial applications in designing of many modern Fish Robots. The structure of the paper as follows. Section 1 is about introduction. Modeling aspects are explained in Sect. 2. Existing controlling methods details are given in Sect. 3. Proposed control technique is presented in Sect. 4. Conclusions are highlighted in Sect. 5.

2 Fish Robot Modeling

A basic Fish Robot can be modeled mathematically by the following two approaches.

Dynamic Modeling Approach

The dynamic modeling takes consideration of all actual forces, resulting motion and dynamic constraints. The equations for both translational motion and rotational motion are established with the help of Newton–Euler’s equation for rigid body in a flow. Three Dimensional equations of motion for a hydrodynamically balanced Fish Robot using a body-fixed coordinate frame and a global reference frame. The equations of motion of Fish Robot are represented in two coordinate systems and can be written as [1].

Kinematic Modeling Approach

For the Fish Robot, reference frame and Euler angles along with their requisite state space representations are explained from its Kinematics. Here for the Fish Robot, two basic reference frames are considered, viz. body-fixed reference frame and Earth-fixed reference frame. The Earth-fixed reference frame means its coupling is with respect global axes at any place, where north is pointed by the x-axis, east by y-axis, the z-axis refers Earths center. Similarly, the body of the Fish Robot is coupled with its own reference axes, forward direction is pointed in x-axis, the right of it is in y-axis and vertical down with z-axis. With those reference frames one can easily determine the orientations of Fish Robot with respect to the Earth axis, and hence it helps to determine the movement characteristics, velocity, acceleration, etc. in reference with the Earth-Coordinates and vehicle-coordinates, which are generally used for the Fish Robot navigations. When we need any orientation from a coordinate system to other one, it is sometimes required all three rotational sequences, and z-y-x convention for coordinates of earth is described from Euler Coordinate conventions whenever it is necessary. The modeling and analysis of Fish Robot are carried out in state space representation since it gives a convenient, easy and compact way of modeling. Translational velocity and Rotational velocity between Body-fixed frame and Earth-fixed frame are related with the help of coordinate transformation [9].

Autonomous Fish Robot Controlling

The Fish Robot is capable of performing numerous underwater ventures viz. surveying of seafloor, cable inspections and sensing in oceanic environment, underwater pollution inspection, and aquatic life survey, etc. Further with addition of sensing modules and robotic hands like parts in the fish itself that comes out only when it is required just like wheels in flights we can do few more extra tasks with it, viz. petroleum drilling stations underwater parts maintenance, underwater rescue, seabed fuel inspection, etc., can also be performed. All such applications require precise, accurate and strict positioning of the robot, and it requires to exert adequate forces for the same. Dynamics of Fish Robot are time variant as well as nonlinear which means there may be changes in mass and buoyancy in accordance with different working conditions. There can also be numerous uncertain disturbances from outside environment and there can be difficulty in controlling the hydrodynamic forces. This in turn makes controlling of the Fish Robot as a very difficult as well as a challenging task.

Here, undulatory motion of a basic tuna fish is considered, since its geometry and mechanism plays a vital role in its efficient cruising. Its tail mechanism is mainly responsible for generating this undulatory motion. We can observe its functioning in UC-Ika, a tuna-mimetic robot. This UC-Ika has significant benefit of its unique tail mechanism, so we considered it to implement a better control strategy to this. Although it is much more complicated compared to others robots of such kind, but its mechanism is very similar to a typical fish [10]. The link mechanism of the tail peduncle of UC-Ika is considered, which consists of three links. All those links are typically internally linked and their actuation is provided by only single DC motor which is connected to the Link-1. This means, only Link-1 is provided with oscillatory motion and it in turns actuates other two links as they are typically internally linked.

A schematic fish robot is shown in Fig. 2.

Fig. 2
figure 2

A schematic diagram of UC-Ika 1 [11]

The kinematics of it is modeled by analyzing the behavior about point F with regard to fixed frame (reference), and the performance of the robot swimming is analyzed with respect to main reference frame. Now, Consider Fig. 2, all the mathematical calculations were done. The mathematical relations obtained are discussed as follows, actuation angle, θ1 is provided by a DC motor and it is calculated as

$$\theta_{1} = A\,{ \sin }(2\pi ft)$$
(1)

where A is the amplitude, f is the frequency and t is the time, and the design will result θ3 become

$$\theta_{3} = \lambda \theta_{1}$$
(2)

The value of λ is dependent on the lengths of links of the various parts of fish-tail mechanism, that includes \(\overline{\text{DE}}\), \(\overline{\text{OB}}\), \(\overline{\text{BC}}\), \(\overline{\text{EC}}\), and \(\overline{\text{CF}}\). The four degrees of freedom for this model will be X, Y, Φ, and θ4, X is translation in X direction, Y is translation in Y direction, the Φ will be rotation around the center of mass of the robot and θ4 will be the rotation of the caudal fin. From all the calculations, the resultant velocity about point G, which is defined as U will be expressed as

$$U = (\dot{X}_{G}^{2} + \dot{Y}_{G}^{2} )^{0.5}$$
(3)

Here, movement of point F, with respect to the corresponding reference frame is considered. Performance of Fish robot is analyzed with respect to the absolute body reference frame. The various hydrodynamic forces are considered on the basis of following assumptions [11].

  • Rotation of the main body considered as negligible.

  • The caudal fin is exerting all the propulsion.

  • The fluid viscosity is zero or it has negligible effect on Fish Robot.

From all mathematical relations, the final four motion equations for Fish Robot are obtained as

$$M\ddot{X} = F_{Cx} - F_{Dx}$$
(4)
$$M\ddot{Y} = F_{Cy} - F_{Dy}$$
(5)
$$I_{M} \ddot{\varPhi } = \left( {X_{G} - X} \right)F_{Cy} - \left( {Y_{G} - Y} \right)F_{Cx} - M_{Dp}$$
(6)
$$I_{c} \ddot{\theta }_{4} = \left( {X_{G} - X} \right)F_{Cy} - \left( {Y_{G} - Y} \right)F_{Cx} {-}k(\theta_{4} {-}\theta_{3} )$$
(7)

3 Existing Control Methods

Controlling of a Fish Robot is indeed a tedious task and one has to go through several obstacles and challenges. Thus to increase the capabilities of Fish Robot for various underwater functions and automated decision-making ability, it is required to develop a control scheme which is high performing and robust with high stability. Various control schemes can be used for designing a controller. Few of the most common Fish Robot or underwater robot control methods obtained from various source are summarized here.

3.1 PID Controller

The most common type of controller used is PID control, but PID controller with fixed gain does not meet all the requirements of Fish Robot. Since, a PID controller does not need any information from the Fish Robot for its implementation. Considering the fact that the modeling uncertainties are generally more critical and sophisticated, this control scheme is not efficient, although a well-tuned PID can serve the purpose but with a lot of limitation. Also, when dynamic characteristics of Fish Robot are time and environment dependent, it is compulsory to return the gains so as to obtain desired performance [1, 10].

3.2 Sliding Mode Control

The Fish Robot is basically a time variant and a nonlinear system. Sliding mode control (SMC) proves a great potential for achieving optimum stability and performance even in parametric uncertainty and outer disturbances which makes it as a best suitable control scheme for Fish Robots or Underwater Robots. SMC was used by Vuilmet [2] for speed controlling, steering controlling, and diving controlling individually. Global asymptotic convergence for a system can also be obtained with the help of SMC with pole placement approach or by LQR Method as well.

3.3 Adaptive Control

The Fish Robot possesses hydrodynamics generally consists of numerous parametric variations, disturbances, and uncertainties. An adaptive control based on model can make the system nearly linear in a certain specific range of operation or operating condition, it can estimate system parameters with the help of recursive least square algorithm. Then controller is developed using pole placement method which results in a better performance for this adaptive control [9].

3.4 Fuzzy Logic Control

We take the help of fuzzy logic when the mathematical model for the system is not known with certainty or totally unknown or if the system exhibits a considerable amount of dynamic changes. Generally, a fuzzy model expresses a complex nonlinear dynamic terms of a system in linguistic variables form or we say ‘if-then’ rules. As the fuzzy controllers contain robustness and have numerous applicable variations in while designing, they are really handy for a nonlinear and time-varying system [1].

3.5 Model Predictive Control (MPC)

MPC is a very efficient control strategy but mostly it is non-suitable for an unstable open-loop system but when it comes to astable closed-loop system MPC can be efficiently applied. To apply the MPC to an unstable system, we have to apply a state feedback control so as to stabilize the main system and then we can apply MPC and get a desired result in any system. Application of such can be seen for an underwater vehicle can be seen in [5].

3.6 Robust Control

In this paper, the approach of robust control using the H (H-infinity) approach. H is applied when the system has to undergo through a number of uncertainties, most importantly when the system consists of complex dynamics. The robust controller is observed so that if it can achieve desired performance level of robustness for its stability. A complex H-infinity approach for solving a system with four DOF structure, then developing a controller for that with it gives better performance and also ensures a better stability.

4 Development of Controller

Robust control is an important research area to control the trajectory of robotic fish in the presence of external disturbances. It is also used to find the stability and sensitivity of the robotic fish. Stability and sensitivity play an important role in the trajectory and terrain following of robotic fish. It can easily handle bounded modeling errors to maintain robust performance. H-infinity is mathematical tool to analyze the sensitivity and stability of the robotic fish. Control law is used to optimize the trajectory of robotic fish. The robust control is internally stable when all the closed-loop poles are within the specified region (Fig. 3).

Fig. 3
figure 3

Block diagram of robust controller [1]

Conventional control system design considers the robotic fish model, controller and fixed parameters. The system model will always be not accurate representation of the actual l system because of the following [5],

  • parameter variations,

  • un-modeled time delays,

  • un-modeled dynamics,

  • changes in operating point,

  • sensor noise,

  • unpredicted disturbances.

The goal of robust systems design is to retain assurance of the systems performance in spite of model inaccuracies and changes.

A system is said to be robust when the system has acceptable changes in performances due to model changes or inaccuracies.

Sensitivity and Robustness

A system is robust if it has following properties

  • It has minimum sensitivities.

  • It must be stable over a span of variations in parameters.

  • Performance should be maintained in the presence of un-modeled dynamics and external disturbances.

Sensitivity is defined as \(S_{\alpha }^{T} = \frac{\partial T/T}{\partial \alpha /\alpha }\)

where T is the transfer function and α is the parameter of the system.

Design of Robust Control Systems

Main objective is that output should exactly and instantaneously reproduce it input. In other words, Bode plot of the system should have 0 dB gain of infinite bandwidth and zero phase shifts. But it is ideal. One possible design objective is to maintain the response curve as flat and as close unity for large bandwidth as possible. Design steps are as follows

  • Modeling of the nominal plant and perturbed plant,

  • Experimental determination of parameters of the system,

  • Selection of uncertainty and performance weights,

  • Setting up the interconnection structure,

  • Robustness analysis.

Selection of Uncertainty and Performance Weights

  1. 1.

    Model selected is additive:

    $$G_{P} \left( s \right) = G\left( s \right)\left( {1 + W\;{\text{add(}}s )\Delta {\text{add(}}s )} \right), \quad \left| {\Delta {\text{add}}\left( s \right)} \right| < 1\;\forall \omega$$
  2. 2.

    The uncertainty weighting covers all the model perturbations

    $$W_{\text{add}} = \frac{{1 \times 10^{ - 5} \left( {1 + \frac{S}{8}} \right)\left( {1 + \frac{S}{170}} \right)\left( {1 + \frac{S}{420}} \right)}}{{\left( {1 + \frac{S}{30}} \right)\left( {1 + \frac{S}{35}} \right)\left( {1 + \frac{S}{38}} \right)}}$$
  3. 3.

    To reject the disturbance at low frequency band, we select the performance weighting

  4. 4.
    $$W_{p} = \frac{200}{{\left( {1 + \frac{S}{0.1}} \right)}}$$

Results and Discussion

The model of fish robot and system parameters are taken from [11] for implementing the proposed robust control. The simulation results are obtained and presented here. All these simulations are developed in MATLAB environment.

Figure 4 represents linear motion of fish robot in translation direction and it has good settling time.

Fig. 4
figure 4

Step response of fish robot in linear motion

Figure 5 represents the response of uncertainty weighting matrices. Amplitude response is settling at 100 Hz. Here, σ(S(jw)) is represented with solid black line, σ(T(jw)) is represented with dashed red line and σ(GK(jw)) is represented with dash-dot blue line.

Fig. 5
figure 5

Plot of uncertainty weighting

Figure 6 represents Singular value of weighted closed-loop system. It has flat frequency response.

Fig. 6
figure 6

Singular value of weighted closed-loop system

5 Conclusions

In this paper, a robust control-based approach of controlling a Fish Robot is presented. H-infinity control method is proposed. The problems of uncertainty, nonlinearity, and stability are improved to a good extent. Robust control is not limited to any engineering discipline but equally applicable to environmental, civil and electrical engineering. There is a concern for the extremes of operation in a control system that has safety implications. The presented robust control is based on a dynamic model of the robotic fish and it is flexible to be used for multi-input and multi-output systems. Finally, MATLAB simulation result demonstrates the improvements of the proposed control method. Further the high level or advanced robust control is used to improve the performance of the fish robot.