Quick Search  
  Advanced Search
Virtual Reality Simulation of Fuzzy-logic Control during Underwater Dynamic Positioning
Midhin Das Thekkedan1, Cheng Siong Chin1 , Wai Lok Woo2    
1. School of Marine Science and Technology, Newcastle University, NE1 7RU, United Kingdom;
2. School of Electrical and Electronic Engineering, Newcastle University, NE1 7RU, United Kingdom
Abstract: In this paper, graphical-user-interface (GUI) software for simulation and fuzzy-logic control of a remotely operated vehicle (ROV) using MATLABTM GUI Designing Environment is proposed. The proposed ROV’s GUI platform allows the controller such as fuzzy-logic control systems design to be compared with other controllers such as proportional-integral-derivative (PID) and sliding-mode controller (SMC) systematically and interactively. External disturbance such as sea current can be added to improve the modelling in actual underwater environment. The simulated results showed the position responses of the fuzzy-logic control exhibit reasonable performance under the sea current disturbance.
Keywords: graphical-user-interface (GUI)     fuzzy-logic control     remotely operated vehicle (ROV)     proportional-integral-derivative (PID)     sliding-mode controller (SMC)     underwater dynamic positioning    

1 Introduction 

In the last few decades, the use of underwater robotic vehicles (URV) (Fossen, 1994; Yuh, 2000) has experienced tremendous growth. Many are used for underwater inspection of sub-sea cables, oil and gas installations like Christmas trees, structures and pipelines. They are essential at depths where the use of human divers is impractical. Generally, the URV can be broadly classified as remotely-operated vehicle (ROV) and autonomous underwater vehicle (AUV), depending on their designed tasks and modes of operations. Nevertheless, ROV are best suited for work that involves operating from a stationary point or cruising at relatively slow speeds for inspection tasks. Furthermore, for any tasks involving manipulation and requiring maneuverability, they are the most cost-effective platform.

But deployments of the ROV present several difficulties as they are difficult to control remotely. The challenges are as follows. The governing dynamics of underwater vehicles are well understood, but they are difficult to h and le for practical design and control purposes (Juan and Julio, 2011; Caccia et al., 2000). The problem includes its inherent nonlinearities and modelling uncertainties of the ROV. Much hydrodynamic and inertial nonlinearity are present due to the coupling between degrees of freedom. This is due to the fact that the ROV is asymmetry-shaped by design (Chin and Lau, 2012; Si and Chin, 2014; Chin et al., 2011; Chin and Lum, 2011; Chin et al., 2006; 2008) and sensors are attached to its open-frame structure as compared to its counterpart, AUV that is more streamlined for faster maneuvering. Besides, the external disturbances such as sea current and other uncertainties acting on the ROV affect the control.

Hence, it is important to numerically model and simulate the ROV’s dynamics and the external disturbance. This is crucial to the realization of ROV’s simulators, precision autopilots and for prediction of performance (Juan et al., 2013; Smallwood and Whitcomb, 2001). However, the modelling, simulation and control of the ROV is fairly difficult and challenging. This spurs some research interests in performing the simulation and control analysis on the ROV’s model before actual deployment. But it is not always possible to obtain an accurate ROV’s model due to the uncertainties when ROV works in underwater. Many different types of control system methods (Corradini et al., 2011; Souza and Maruyama, 2007; Li et al., 2005; Chin and Lum, 2011) were designed to solve the problem of uncertainty, dynamic positioning and trajectory tracking of the ROV. The proportional-integral-derivative (PID) controller is the most common used controller. Recently, anew backstepping tracking control (Sun et al., 2014a) was proposed for an unmanned submarine vehicle. The simulation results showed the feasibility of the cascaded control using sliding mode and bioinspired filter design to h and le the speed-jump problem. In addition, fuzzy logic control (FLC) was introduced (Zadeh, 1965), and had spurred many control applications on underwater robot (Ollennu and White, 1996; Raimondi and Melluso, 2010; Guo et al., 2003; Gracanin et al., 1999; Ishaque et al., 2011; Akkizidis et al., 2007). Lately, a novel fuzzy control method (Sun et al., 2014b) is presented for an AUV in both static and dynamic three-dimensional environment to avoid dynamic obstacles. The simulation results showed the effectiveness of the proposed approach for navigation. The merit of using the fuzzy logic is the dynamics of the controlled system need not be known. However, to obtain the position and velocity responses of the ROV model using the FLC, numerical simulation software with some virtualisation is required.

To the best of our knowledge, there exists some software for the URV simulation. The VROV simulator was designed and developed by GRI Simulations Inc. as an instructional tool for ROV pilot training programs. It could be used for real-time dynamic simulation of ROV motion and simulation of tethered and un-tethered ROV and AUV hardware. Software named AUVSim designed by H-Scientific Inc is used to simulate the behavior of an underwater vehicle, such as the AUV and ROV. AUVSim was developed to aid the process of designing and optimizing the control system for AUV and ROV. Besides, SubSim software for AUVs and contains a complete 3D physics simulation at a much lower level than the driving simulator. Lastly, the Marine Systems Simulator (MSS) software was developed at the Norwegian University of Science and Technology (NTNU). The Marine Systems Simulator (MSS) is an environment which provides the necessary resources for rapid implementation of mathematical models of marine systems with focus on control system design for vessels. The simulator has different models for vessels and provides examples ready to simulate different floating structures. The platform adopted for the development of MSS is MATLABTM and SimulinkTM. The software allows a modular simulator structure, and the possibility of distributed development. But the software is mainly for marine vessels and may not be suitable for submerged vehicles such as ROV. Moreover, a user interactive platform for simulating and animating a ROV’s control system is not readily available.

Thus the main goal of this paper targets on the simulation and FLC systems simulation and animation for an inspection class ROV called Falcon ROV (Soylu et al., 2010). A mathematical model of the ROV was coded using the MATLABTM and SimulinkTM. The hydrodynamic parameters were obtained from the published experimental results of Falcon ROV. A three-dimensional (3D) animation of the ROV, to visualise the ROV dynamics, was developed using Virtual Reality Modelling Language (VRML) editor and 3D animation toolbox of SimulinkTM. All these components will be integrated in a MATLABTM GUI Designing Environment (GUIDE) to form a commercially applicable dynamic positioning simulator to visualise the dynamic positioning of the ROV in 3D virtual reality environment. Besides, an advanced controller such as sliding mode controller (SMC) (Fossen, 1994), and the intuitive controller like PID (Fossen, 1994) on the ROV were compared with the performance of the FLC.

This paper is organized as follows. The ROV dynamics and kinematics modelling are addressed in Section 2. It is followed by the dynamic positioning using virtual reality in Section 3. In Section 4, the FLC and applications of GUIDE on the ROV are discussed. Lastly, the conclusions are drawn.

2 ROV dynamics modelling

In this section, the dynamic model of the Falcon ROV is presented. The Falcon ROV (weighted 73.3 kg, 1 m×0.6 m× 0.5 m) is used as a platform for the study of dynamic positioning control using FLC. It is an inspection class ROV that is meant for marine surveys up to 300 m. In ROV’s dynamic modelling, it is crucial to have an accurate dynamic model of the ROV to carry out computer simulation studies. Unfortunately, due to modelling uncertainties, the model derived from the computational-fluid dynamic (CFD) software and experimental techniques can be inadequate for control system design. These uncertainties are mainly due to the hydrodynamic forces which are experimentally and theoretically difficult to obtain. Nevertheless, experiments have been done and published on the hydrodynamic parameter estimation of the Falcon ROV (Soylu et al., 2010). Besides, for control design purpose, there is a need to consider a simplified nominal model (Fossen, 1994) with additive perturbation such as ocean current that are adequate to represent the ROV dynamic behavior in under water.

2.1 CAD modelling

A CAD model of ROV is required to obtain the inertia properties (such as mass and moment of inertia data) and to create the VRML model for the later animation. Solidworks CAD software was used for the mechanical design of the ROV. The Falcon ROV uses polypropylene for the construction of the ROV body (Chassis) which is a non-corroding and maintenance free material with a density of 855 kg/m3.Whilst some of the frame parts uses composite material and the additional fittings that isdirectly bolted to the chassis. This information was then fed into the CAD software to generate the ROV model.

Besides, the Falcon ROV is propelled with five magnetically coupled thruster units, having a diameter of 0.200 m. Four of them are in horizontal plane for the horizontal motion and one is in the vertical plane for the heave motion. Each thruster is able to achieve at least 13 kgf thruster forces, making it almost 1:1 power to weight ratio. The inertia properties were calculated using the SolidWorks mass properties calculation tool (see Fig. 1).

Fig. 1 Inertia properties of Falcon ROV (mass, volume, moment of inertia)

The mass and the center of mass obtained from the software are as follows: 73.3 kg, xG = −0.28 m, yG = 0.10 m and zG = 0.08 m respectively. The moment of inertia values computed are namely: IXX = 9 kg·m2, IYY = 11.79 kg·m2, IZZ = 5.45 kg·m2.

2.2 Dynamic modelling

Experimenting with a real ROV is time consuming and expensive. A dynamic model is useful for simulation purposes and testing different control algorithms. The ROV model is conventionally represented by six degrees of freedom (DOF), nonlinear set of first order differential equations of motion, which may be integrated numerically to yield vehicle linear and angular velocities, given suitable initial conditions. Two reference frames (see Fig. 2) are used to describe the vehicles states: inertial frame (or earth-fixed frame) and local body-fixed frame with its origin coincident with the vehicle’s center of gravity. For marine vehicles, the six DOF are conventionally defined by the following vectors:

Fig. 2 ROV’s Inertial and body-fixed reference frames

1)${\mathbf{\eta }} = {[\begin{array}{*{20}{c}} {{{\mathbf{\eta }}_1}}&{{{\mathbf{\eta }}_2}} \end{array}]^{\text{T}}} = {[\begin{array}{*{20}{c}} x&y&z&|&\varphi &\theta &\psi \end{array}]^{\text{T}}}$ position and orientation (Euler angles) in inertia frame;

2)${\mathbf{v}} = {[\begin{array}{*{20}{c}} {{{\mathbf{v}}_1}}&{{{\mathbf{v}}_2}} \end{array}]^{\text{T}}} = {[\begin{array}{*{20}{c}} u&v&w&|&p&q&r \end{array}]^{\text{T}}}$ linear and angular velocities in body-fixed frame;

3)${\mathbf{\tau }} = {[\begin{array}{*{20}{c}} {{{\mathbf{\tau }}_1}}&{{{\mathbf{\tau }}_2}} \end{array}]^{\text{T}}} = {[\begin{array}{*{20}{c}} {{\tau _x}}&{{\tau _y}}&{{\tau _z}}&|&{{\tau _\varphi }}&{{\tau _\theta }}&{{\tau _\psi }} \end{array}]^{\text{T}}}$ forces and moments acting on the vehicle in body-fixed frame.

The mathematical model (Fossen, 1994) of an underwater vehicle can be expressed, with respect to a local body-fixed reference frame, by nonlinear equations of motion in compact form:

where ${\mathbf{v}}$ is the body-fixed velocity vector, $\eta $ is the earth-fixed vector, ${\mathbf{M}} = {{\mathbf{M}}_{RB}} + {{\mathbf{M}}_A} \in {\Re ^{6 \times 6}}$ is the inertia matrix for rigid body and added mass respectively, ${\mathbf{g}} ({\mathbf{\eta }}) \in {\Re ^6}$ is the gravitational and buoyancy vector, ${\mathbf{C}} ({\mathbf{v}}) = {{\mathbf{C}}_{RB}} ({\mathbf{v}}) + {{\mathbf{C}}_A} ({\mathbf{v}}) \in {\Re ^{6 \times 6}}$ is the Coriolis and centripetal matrix for rigid body and added mass respectively, ${\mathbf{D}}\left ( {\mathbf{v}} \right) \in {\Re ^{6 \times 6}}$ is the linear and quadratic damping matrix respectively. The propulsion force and moment vector ${\mathbf{\tau }} = {\mathbf{TKu}} \in {\Re ^6}$ relates the thrust output vector ${\mathbf{u}} \in {\Re ^5}$ with the thruster configuration matrix, ${\mathbf{T}} \in {\Re ^{6 \times 5}}$, ${\mathbf{K}} \in {\Re ^{5 \times 5}}$ force and moment from each thruster, ${\mathbf{J}} ({{\mathbf{\eta }}_2})$ is the Euler transformation matrix which brings the inertia frame into alignment with the body-fixed frame.

In Eq. (1), ${\mathbf{g}} ({\mathbf{\eta }})$ term is used to describe the gravitational and buoyancy (Fossen, 1994) vector exerted on the ROV in water. The gravitational and buoyancy forces are functions of orientation and are independent of vehicle motion. When fully submerged, the ROV’s buoyancy is equal to the weight of water displaced, i.e. $B = \rho g\nabla $ where $\rho $ is the fluid density and $\nabla $ is the volume displaced by the submerged ROV. In the body-fixed coordinate system, the restoring force vector becomes:

The simplified buoyancy and gravitational force hydrodynamic damping matrix, ${\mathbf{g}}\left ( {\mathbf{\eta }} \right)$ was obtained using the following design rules. As the ROV was made to be neutrally buoyant by adding additional float or balancing mass, the gravitational force due to the ROV weight can be made equal to the buoyancy force, that is W=B. And by placing the additional mass on the ROV on the appropriate location, the XY coordinates of the center of buoyancy coincide with the XY coordinate of the center of gravity, that is xG= xB and yG= yB. Eq. (3) becomes:

Since the ROV is quite symmetric about the XZ plane and close to symmetric about YZ plane, we assumed that the motions in surge, sway, pitch and yaw are decoupled (Fossen, 1994). Although it is not symmetric about the XY plane, the surge and heave motions are considered to be decoupled because the vehicle is operated at a relative low speed in which the coupling effects can be negligible. With this assumption, the drag matrix becomes

The relationship between the hydrodynamic forces and moments and accelerations can be represented by the added mass. For example, if there is acceleration $\dot u$ in the X-direction, the hydrodynamic force X arising from that motion can be given as: $X = {X_{\dot u}}\dot u$ where ${X_{\dot u}} = \partial X/\partial \dot u$ is the hydrodynamic derivative. The effects of the off-diagonal elements in MA on an underwater vehicle in (1) are small compared to the diagonal elements. For most low speed underwater vehicles, these off-diagonal terms are often neglected. This approximation is found to hold true for many applications (Fossen, 1994). Hence, MA is simplified to a diagonal form as follows:

where ${X_{\dot u}}$ is the added mass along X-axis due to an acceleration $\dot u$ in X-direction, ${X_{\dot v}}$ is the added mass along X-axis due to an acceleration $\dot v$ in Y-direction and so forth.

The negative signs present in MA arise as the pressure forces on the ROV would tend to retard the vehicle motion. The real mass (or the rigid body mass) and the virtual added mass are originally on opposite sides of the equation; one is a rigid body property, while the other is related to the (pressure) force experienced by the vehicle when the virtual mass is “subtracted” from the real mass. The net effect has greater apparent mass in most DOF, hence the virtual mass is “added mass”. As the off-diagonal elements in MA are neglected, the corresponding Coriolis and centripetal added mass matrix ${{\mathbf{C}}_A} ({\mathbf{v}})$ becomes:

For control, the Falcon ROV is underactuated with four horizontal thrusters to provide maneuvering in surge, sway and yaw directions and one vertical thruster is dedicated for the heave motion of ROV. But the roll and pitch motions are self-stabilized by design, and hence the controllable motions are surge, sway, heave and yaw. The propulsion forces and moments acting on the ROVcan be described as:

where ${\mathbf{u}}$ is a unit vector pointing in the direction as the thruster exerts its force and ${\mathbf{T}}$ is the thrusters’ configuration matrix given as:
where $C = (b/2)\sin \alpha + (a/2)\cos \alpha $ and $\alpha $ is the angle of the thruster as shown in Fig. 3.

Fig. 3 Thruster’s arrangement

The forces and moments generated by the thrusterson the ROV depend on the input voltage signals. It is given by forces and moments, K from each thruster, i as shown.

where ${{\mathbf{R}}_T} \in {\Re ^{5 \times 5}}$ is vector pointing from the origin to the location of the thruster, ${f_i} = 2.98 \times {10^{ - 4}}u_i^3 - 0.016\left| {{u_i}} \right|{u_i} + 0.32{u_i}$ is the force from each thruster, i and ${u_i}$ is the measured input signal to each thruster i. A series of experimental tests (Soylu et al., 2010) were performed to verify the damping and added mass coefficients used.

2.3 Environmental disturbance modelling

The environmental disturbances are disturbances caused to the system due to the action of waves, winds and ocean current. For a fully submerged object, the disturbance caused by the wind is quite negligible. The wave disturbance is only significant when the ROV is near to the surface and at a depth lesser than 10 m (Fossen, 1994). Since the ROV operates beyond this depth, only the ocean current disturbance will be considered.

The current velocity can be written as

where ${{\mathbf{v}}_t}$ is the tidal component, ${{\mathbf{v}}_{tw}}$ is the local wind component, ${{\mathbf{v}}_S}$ is the non-linear wave component, ${{\mathbf{v}}_m}$ is the component due to major ocean circulation, ${{\mathbf{v}}_S}$ is the component due to set-up phenomena and storm surges, ${{\mathbf{v}}_d}$ is the local density driver current components governed by strong density jumps in the upper ocean. The current velocity is modelled based on the model (Fossen, 1994) that suggested the forces and moments due to current can be considered by modelling the ROV non-linear equation of motion in terms of relative velocity.
where, ${{\mathbf{v}}_c} = {[\begin{array}{*{20}{c}} {{u_c}}&{{v_c}}&{{w_c}}&0&0&0 \end{array}]^{\text{T}}}$ is the current velocity vector in body fixed frame. As the earth-fixed current velocity vector is given by ${\mathbf{v}}_c^E = {[\begin{array}{*{20}{c}} {u_c^E}&{v_c^E}&{w_c^E}&0&0&0 \end{array}]^{\text{T}}}$, the body-fixed velocity can be determined by Euler’s transformation.
where α1 is the angle of attack and β is the sideslip angle.

Hence, the dynamic equation of ROV in (1) becomes:

The overall view of the ROV dynamic model can be seen in Fig. 4. The desired dynamic positions of the ROV are: xd = yd = 3 m, zd = 2 m, ${\psi _d} = $2 rad. One can visualize this as a joystick inputs to move the ROV manually. The error signal can be computed by finding the difference between the desired inputs and actual feedback of the ROV positions. The signal is then passed to the controller to control the ROV through the pseudo-inverse which optimize the computed control signal in six DOF into the five available thrusters. The thrust configuration on the ROV is determined by the thrust configuration matrix. The total forces to the ROV body dynamics is characterized by the rigid body and added mass matrix, Coriolis and centripetal forces, damping forces and gravitational and buoyancy forces. The sum of all these forces that is multiplied by the inverse of the rigid body and added mass matrix gives the acceleration of the vehicle. With the integration function, the velocities are computed and loop back for the next time iteration until the simulation time have reached. Besides obtaining the body-fixed velocities, the earth-fixed position or the ROV positions with respect to the inertial frame can be found by the Euler’s transformation block. The Euler’s angle is used for the calculation of the gravitational and buoyancy forces required in the ROV dynamics.

Fig. 4 Open-loop ROV model

The dynamic model of ROV was modelled using SimulinkTM. To evaluate the model, an open-loop simulation was performed. Current velocity was assumed to be 0.02 m/s at a 45° angle of attack. The simulation time was set to 20 s and variable-step type ordinary differential equation (ODE), ODE45 (Dorm and -Prince solver and relative tolerance of 0.001) was used to solve the differential equations. The simulation results for the open-loop simulation are shown. As shown in Fig. 5, it is observed that the ROV is unable to achieve the desired positions despite the roll and pitch response are small and stable. Hence, a controller is required to achieve the desired positions.

Fig. 5 Open-loop simulation results for surge, sway, heave, roll, pitch and yaw
3 Virtual reality model of ROV

A general ROV simulator has been developed in MATLABTM and SimulinkTM environment. This model includes the nonlinear model of an ROV with six DoF motion, propulsion system and disturbance model. In order to enhance the user interface and improve underst and ing of the proposed controller approach, a realistic virtual underwater world environment was developed. A 3D animation of the ROV simulation called virtual reality world (see Fig. 6) was developed using the output signals from the open-loop model in Fig. 4. This allows the movement and position data to be animated and displayed during the dynamic positioning. To achieve that, a virtual reality modelling language (VRML) was used to create the virtual reality for the ROV during the inspection tasks.

Fig. 6 Virtual reality world of ROV during dynamic positioning

The different stages of 3D animation building process are shown in Fig. 7. The CAD model is exported into VRML file format that allows the V-Realm editor to edit the VRML model of ROV. The V-Realm builder has an extensive object library where the user can import the 3D background sceneries and objects to create a virtual world. The backgrounds such as the ocean and offshore structures are then imported from the VRML editor library. Next, VR-sink block provided by the 3D animation toolbox in SimulinkTM create the connection between VRML model and SimulinkTM block diagrams. This enables the visualisation of ROV movement using the output position data (such as surge, sway, heave and yaw or even roll and pitch) from SimulinkTM. This allows the translational motion (surge, sway and heave) and angular motion (roll, pitch and yaw) of the ROV to be displayed and simulated in the 3D environment as shown in Fig. 6.

Fig. 7 Process of virtual reality animation of ROV

As shown in Fig. 8, the VRML editor has hierarchical tree style showing all elements in the virtual world. These structure elements are known as nodes. The tree allows changing and modifying of the virtual world and allows changing viewpoints to improve the view of the virtual reality world. Necessary lighting and proper coordinate system could also add to make the background and ROV more realistic.

Fig. 8 V-Realm builder screenshot

After creating the virtual world using V-Realm editor, the SimulinkTM model of the ROV is connected to the virtual world through VR- Sink block. By connecting the model to the virtual world, the output data form the SimulinkTM model can be used to control and animate the virtual world as shown in Fig. 9. The sample time for each ROV steps was set to 0.1 s. The translational ROV’s motion outputs and the rotational motion outputswere configured to animate the position of the ROV in the virtual reality world. Fig. 9 shows the final virtual reality animation of the ROV together with the block diagram.

Fig. 9 Virtual reality animation of ROV
4 Fuzzy logic controller (FLC) design for ROV

With the virtual reality established, the control system design needs to be performed. The fuzzy logic was used to control the dynamic positioning of the ROV (see Fig. 10). Unlike the conventional controllers which use the control algorithms, described by algebraic or differential equations, FLC requires less mathematical model. There are two types of fuzzy inference techniques called Mamdani and Sugeno. In this paper, the Sugeno method is used. It uses a mathematical function of the input variable unlike Mamdani, which uses a rule fuzzy set. The Sugeno method can be quite computationally effective and widely used in most control problems. There are three basic steps to develop a FLC are namely: fuzzification, inference rules and defuzzification. Fuzzification process translates the system inputs from real domain into the fuzzy domain in the form of linguistic variables. The linguistic variables range from 0 to 1. Control rules are set based on the designers experience and the control tasks are performed using these rules. The inference outputs are decoded back into the real domain by the defuzzifier. The controller can be fine-tuned to achieve the required task. The typical FLC can be seen in the block diagram in Fig. 10.

Fig. 10 Block diagram of FLC for Falcon ROV

It is possible to develop the FLC either using MATLABTM comm and line or the Fuzzy Logic Toolbox. In this project, Fuzzy Logic Toolbox was used. The Graphical User Interface (GUI), provided by the FLC toolbox, is user friendly platform for the design. The membership function editor and the rule editor, provided by the toolbox, enables to build, edit and observe the fuzzy inference system. The membership functions need to be qualitatively (the type of function) and quantitatively (give proper values to the parameters of membership function) defined before the fuzzification process. The Sugeno type fuzzy inference system has two linguistic input variables. They are error (e), the error between desired and actual value, and change of error ($\dot e$). The set of linguistic terms associated with error (e) are, e (error) = {Negative Big (NB), Negative Medium (NM), Negative Small (NS), Zero (Z), Positive Small (PS), Positive Medium (PM), and Positive Big (PB)}. Each term has a semantic rule that is associated to a membership function. After creating the membership functions for the e and $\dot e$, Output membership functions are defined for the control voltage to the thruster.

The key fact about the fuzzy decision making system is that all the inputs and outputs should be in fuzzy terms, to be used in fuzzy environment. Fuzzification is used to change all the parameter into fuzzy terms. In this example, the input membership functions have trapezoidal and triangular shape. PL and NL are the saturation limits imposed on the fuzzy logic controller (FLC). The input membership function for error (e) is shown in Fig. 11.

Fig. 11 Input membership function for error function

As shown in Fig. 11, when there is an error equals to 0.3, it will be transformed into fuzzy domain in the form of linguistic variable, according to the membership function. The term Z has a membership degree of 0.1; PS has a membership degree of 0.82, and all other terms have membership degree equal to zero. The fuzzy inference operation is then carried out using the pre-set, forty-nine rules consisting of If-Then statements. These statements can be edited using rule editor provided by the toolbox. The rules can be connected either by ‘OR’ Boolean operation or by ‘AND’ Boolean operation. In this paper, the rules are connected by ‘AND’, which expresses the lesser value between the membership functions of both the inputs. The ‘THEN’ operator stores the results of the previous operation in the output term. The result of the FLC will be the union of all the output terms. The forty-nine rules defining the control action can be edited using the rule editor as shown in Fig. 12.

Fig. 12 Rule editor of FLC toolbox

The Sugeno control surface can be plotted in 3D to visualise the output for each input. The control surface is plotted using the MATLABTM plot comm and by exporting the values to the MATLABTM workspace. It is clear from the plot (see Fig. 13) that the control surface can be approximatedby a linear surface.

Fig. 13 Sugeno control surface

Lastly, the defuzzification is the process of converting fuzzy variables to crisp values, because the output linguistic terms and output membership degrees cannot be directly used to govern the action of thrusters to position the ROV. So the controller output must be defuzzified. The centre of gravity method was used to obtain crisp values of the output from the reference output fuzzy sets. The linguistic output variable is the voltage applied to the thrusters. The output membership functions have seven singleton functions asshown in Fig. 14.

Fig. 14 Output membership function

The linguistic variables are NB (Negative Big), NM (Negative Medium), NS (Negative Small), Z (Zero), PS (Positive Small), PM (Positive Medium) and PB (Positive Big). The centre of gravity method is used to calculate the centre of the area formed by the sum of all the output terms of the fuzzy controller. The following formula was used to convert the fuzzy variables to crisp values.The input and output fuzzy variables, inference system, fuzzifier and defuzzifier can be defined by setting the parameters in MATLABTM GUI for FLC. The FLC is finally connected to the ROV model as seen in Fig. 15.

Fig. 15 Simulation block diagram of FLC

The virtual reality sink block was introduced into the SimulinkTM block diagram to facilitate the 3D animation. This enables the user to visualise the dynamic positioning of the ROV in virtual reality environment. To evaluate the performance of the controller, desired inputs for six DOF of the ROV was given into the system. The following inputs were used: xd = yd =3 m, zd = 2 m, ${\psi _d}$ = 2 rad. The current velocity was chosen to be 0.02 m/s with the angle of attack of 45°. The FLC was designed for the dynamic positioning of ROV under external disturbance such as ocean current. The performance of the controller was satisfactory. As seen in Fig. 16, itindicates that the sway motion takes more time to reach the desired input value (that is 3 m) than the surge. It may be due to the larger surface area of the ROV (in sway direction) that it had to overcome.In less than 1 000 s, the ROV reached the desired position and the angular motions (that is the roll, pitch, and yaw) converge to zero. The desired trajectory and the actual trajectory of the ROV are depicted in Fig. 17.

Fig. 16 Simulation results using FLC

Fig. 17 Desired and actual trajectory for FLC
5 Graphical user interface for dynamic positioning

In order to improve the ROV’s performance, the design of a suitable user-interface represents an important factor. For this reason, the GUI is used to improve the system autonomy such that the user effort decreases. In this section, the GUI using MATLABTM GUIDE is used to analyse the results and display the performance of different controllers such as PID and SMC. The MATLABTM GUIDE is a commercially applicable dynamic positioning interactive tool that is widely available in most academic institutions. The dynamic model of Falcon was created in SimulinkTM environment, and three controllers such as PID, SMC and FLC were simulated and compared in the GUIDE platform. This interactive interface enables the user to input the desired values to the system and to observe the effects of different controllers on the ROV responses during different ocean current speed and direction, without much programming. The GUIDE provides easier interaction between graphical interface and the model as well as the functions to simplify the st and ard dialog boxes. The current velocity should range from 0.01 m/s to 0.2 m/s and the direction (angle of attack of current) must be able to vary from 0 to 360 degree. Besides, it will create an option to choose different controllers and desired values for the ROV.

The GUI was designed in such a way that to make it user friendly as well as to meet the above-mentioned objectives. The required components for the GUI, such as slider, list box, textbox and graphs were taken from the toolbox to the GUI layout. The interfacing of SimulinkTM model must be done in the GUI programming using m-file editor. Fig. 18 shows the final GUI of the dynamic positioning interface and its 3D virtual reality visualisation of the ROV.

Fig. 18 Final GUI and virtual reality visualisation of ROV

Since the major external disturbance acting on a ROV system is the ocean current force, it is included in the simulation. The velocity of the current as well as the angle of attack can be adjusted by the user (see Fig. 18). The thruster dynamics described earlier is modelled in SimulinkTM. The GUI enables user to input values into the five thrusters (four horizontal and one vertical) in order to simulate the thruster force during the open loop simulation. Here ‘HT’ is the horizontal thruster and ‘VT’ is the vertical thruster. Once the open loop simulation push button is pressed, the user can visualise the ROV movement in the virtual reality environment. This 3D real time simulation of the ROV will provide a better underst and ing of the ROV dynamics and dynamic positioning performance of the controllers. As mentioned, the GUI toolbox enables the user to analyse the performances of different controllers during the dynamic positioning of the ROV. The user can select either controller from FLC, SMC or PID controller.

The closed-loop simulation of ROV is performed after the user defines the inputs for the six DOF (surge, sway, heave, roll, pitch and yaw) values. As different controllers can be chosen, each controller stabilises the ROV to its final position. The results are reflected on the GUI screenas shown in Fig. 18. The simulated 3D trajectories of all the three controllers are shown in Fig. 19. For consistency, the ROV was assumed to start from origin. The plot shows the position performance of each controller. The performances of all the three controllers are considered in each DOF separately and the comparisons of the position responses are performed. It is clear from Fig. 20 that the PID controller reached surge position, xd = 3 m before FLC and SMC. In this case, the PID controller took approximately 200 s and while FLC and SMC took longer time to settle to its steady-state surge position. For the sway response in Fig. 21, SMC has a shorter settling time as compared to other two controllers. As observed in Fig. 22, there is some different in the settling time for the case of the heave motion. However, both the roll and pitch response were self-stabilizing without any control action. The yaw response (as seen in Fig. 23) shows satisfactory performance in particular, the FLC performs slightly better than the PID and SMC. As observed from all the position responses, the steady-state values are achieved.

Fig. 19 Performance comparison of three controllers

Fig. 20 Surge response for controllers

Fig. 21 Sway response for controllers

Fig. 22 Heave response for controllers

Fig. 23 Yaw response for controllers

From the results obtained, it is clear that the SMC performs better than the FLC and PID controllers. However, each controller has its own advantages and disadvantages. For example, SMC has shown good dynamic positioning performance and rejection of external disturbances, but it has a more complex mathematical stricture and achattering phenomenon (due to the fast switching around the sliding surface). On the other h and , PID controller possesses the simplest structure of all but it is not as robust as compared to the SMC when subjected to the disturbance. The FLC does not require a ROV model that gives a simple structure as compared to SMC. However, the response of the SMC is quite noisy due to its switchingor chattering action. In summary, the position responses of all controllers were simulated and compared on the ROV under the current disturbances in the proposed virtual reality simulation platform.

6 Conclusions

The building of GUI software for simulation and control of a ROV using MATLABTM GUI Designing Environment was proposed. The interactive GUI program allows the user to animate different disturbance characteristics and the types of controllers used. Besides, the closed loop control system design using fuzzy-logic based was designed to achieve dynamic positioning of the ROV model. The simulation results of the ROV showed that it was able to perform the dynamic positioning. When the FLC was compared with other controllers such as PID and SMC, the simulated results give reasonable performance under the current disturbance.

In summary, the three-dimensional (3D) animation has wide commercial application such as in pilot training. The ROV motion can be visualised from different points by setting different viewpoints, and more realistic visualisation is possible by making the background more realistic. Though the dynamic positioning tool was designed particularly for the Falcon ROV, it can be extended to any other ROV, by changing the hydrodynamic parameters in the dynamic model.

For future works, the 3D animation developed using the VRML model will equip with collision detection during maneuvering. Besides, the proposed dynamic positioning interactive tool will include more controllers for comparisons and the tether dynamics.

Acknowledgement

The author would like to express his thanks to the Newcastle University, for providing the software and support during the project.

References
Akkizidis IS, Roberts GN, Ridao P, Batlle J (2007). Designing a fuzzy-like PD controller for an underwater robot. Control Engineering Practice, 11(4), 471-480.  DOI: 10.1016/S0967-0661(02)00055-2
Caccia M, Indiveri G, Veruggio G (2000). Modeling and identification of open-frame variable configuration underwater vehicles. IEEE Journal of Ocean Engineering, 25(2), 227-240.  DOI: 10.1109/48.838986
Chin CS, Lau MWS (2012). Modeling and testing of hydrodynamic damping model for a complex-shaped remotely-operated vehicle for control. Journal of Marine Science and Application, 11(2), 150-163.  DOI: 10.1007/s11804-012-1117-2
Chin CS, Lau MWS, Low E (2011). Supervisory cascaded controllers design: Experiment test on a remotely-operated vehicle. Proceedings of the Institution of Mechanical Engineers, Part C: Journal of Mechanical Engineering Science, 225(3), 584-603.  DOI: 10.1243/09544062jmes2223
Chin CS, Lau MWS, Low E, Seet G (2008). Robust and decoupled cascaded control system of underwater robotic vehicle for stabilization and pipeline tracking. Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering, 222(4), 261-278.  DOI: 10.1243/09596518jsce555
Chin CS, Lau MWS, Low E, Seet GG (2006). Robust controller design method and stability analysis of an underactuated underwater vehicle. International Journal of Applied Mathematics and Computer Science, 16(3), 101-112.
Chin CS, Lum SH (2011). Rapid modeling and control systems prototyping of a marine robotic vehicle with model uncertainties using xPC Target system. Ocean Engineering, 38(17-18), 2128-2141.   DOI: 10.1016/j.oceaneng.2011.09.035
Corradini ML, Monteriu A, Orlando G (2011). An actuator failure tolerant control scheme for an underwater remotely operated vehicle. IEEE Transactions on Control Systems Technology, 19(5), 1036-1046.  DOI: 10.1109/TCST.2010.2060199
Fossen TI (1994). Guidance and control of ocean vehicles. 2nd edition, John Wiley and Sons Ltd., , New York, 5-55.
Gracanin D, Valavanis KP, Tsourveloudis NC, Matijasevic M (1999). Virtual-environment-based navigation and control of underwater vehicles. IEEE Robotics & Automation Magazine, 6(2), 53-63.  DOI: 10.1109/100.774928
Guo J, Chiu FC, Huang CC (2003). Design of a sliding mode fuzzy controller for the guidance and control of an autonomous underwater vehicle. Ocean Engineering, 30, 2137-2155.  DOI: 10.1016/S0029-8018(03)00048-9
Ishaque K, Abdullah SS, Ayob SM, Salam Z (2011). A simplified approach to design fuzzy logic controller for an underwater vehicle. Ocean Engineering, 38(1), 271-284.  DOI: 10.1016/j.oceaneng.2010.10.017
Juan PJA, Décio CD, Julio CA (2013). Experimental model identification of open-frame underwater vehicles. Ocean Engineering, 60, 81-94.  DOI: 10.1016/j.oceaneng.2012.10.007
Juan PJA, Julio CA (2011). Experimental evaluation of the hydrodynamic coefficients of a ROV through Morison’s equation. Ocean Engineering, 38(17-18), 2162-2170.  DOI: 10.1016/j.oceaneng.2011.09.032
Li JH, Jun BH, Lee PM, Hong SW (2005). A hierarchical real-time control architecture for a semi-autonomous underwater vehicle. Ocean Engineering, 32(13), 1631-1641.  DOI: 10.1016/j.oceaneng.2004.12.003
Ollennu AT, White BA (1996). Non-linear robust control designs for a remotely operated underwater vehicle depth control system. Proceedings of the Institution of Mechanical Engineers, Part I: Journal of Systems and Control Engineering, 210(3), 201-214.  DOI: 10.1243/PIME_PROC_1996_210_455_02
Raimondi FM, Melluso M (2010). Fuzzy/Kalman hierarchical horizontal motion control of underactuated ROVs. International Journal of Advanced Robotic Systems, 7(2), 139-154.  DOI: 10.5772/9697
Si JT, Chin CS (2014). An adaptable walking-skid for seabed ROV under strong current disturbance. Journal of Marine Science and Application, 13(3), 305-314.  DOI: 10.1007/s11804-014-1261-y
Smallwood DA, Whitcomb LL (2001). Toward model based trajectory tracking of underwater robotic vehicles: Theory and simulation. The 12th International Symposium on Unmanned Untethered Submersible Technology, New Hampshire, USA, 1-13.  DOI: 10.1.1.15.958
Souza D, Maruyama EC (2007). Intelligent UUVs: Some issues on rov dynamic positioning. IEEE Transactions on Aerospace and Electronic Systems, 43(1), 214-226.  DOI: 10.1109/TAES.2007.357128
Soylu S, Buckham BJ, Podhorodeski RP (2010). Dynamics and control of tethered underwater-manipulator systems. 2010 The OCEANS Conference , Seattle, USA, 1-8.  DOI: 10.1109/OCEANS.2010.5664366
Sun B, Zhu D, Yang SX (2014a). A bio-inspired cascaded tracking control of 7000m manned submarine vehicle. IEEE Transactions on Industrial Electronics, 61(7), 3682-3693.   DOI: 10.1109/TIE.2013.2267698
Sun B, Zhu D, Jiang L, Yang SX (2014b). A novel fuzzy control algorithm for three-dimensional AUV path planning based on sonar model. Journal of Intelligent & Fuzzy Systems, 26(6), 2913-2926.  DOI: 10.3233/IFS-130957
Yuh J (2000). Design and control of autonomous underwater robots: A survey. Autonomous Robots, 8(1), 7-24.   DOI: 10.1023/A:1008984701078
Zadeh LA (1965). Fuzzy sets. Information and Control, 8(3), 338-353.
0

Article Information

Midhin Das Thekkedan, Cheng Siong Chin, Wai Lok Woo
Virtual Reality Simulation of Fuzzy-logic Control during Underwater Dynamic Positioning
Journal of Marine Science and Application, 2015, 14(01): 14-24.
DOI: 10.1007/s11804-015-1297-7

Article History

Received date: 2014-09-11
Accepted date: 2014-11-17