International Journal of Advanced Robotic Systems

OPEN Vy ACCESS ARTICLE

Modelling, Design and Robust Control of a Remotely Operated Underwater Vehicle

Regular Paper

Luis Govinda García-Valdovinos1,\ Tomás Salgado-Jiménez1, Manuel Bandala-Sánchez1, Luciano Nava-Balanzar1, Rodrigo Hernández-Alvarado1 and José Antonio Cruz-Ledesma1

1 Center for Engineering and Industrial Development-CIDESI, Applied Research Division, Santiago de Queretaro, Qro., Mexico * Corresponding author E-mail: ggarcia@cidesi.mx

Received 11 Jan 2013; Accepted 04 Jul 2013 DOI: 10.5772/56810

© 2014 The Author(s). Licensee InTech. This is an open access article distributed under the terms of the Creative Commons Attribution License (http://creativecommons.org/licenses/by/3.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Abstract Underwater remotely operated vehicles (ROVs) play an important role in a number of shallow and deep-water missions for marine science, oil and gas extraction, exploration and salvage. In these applications, the motions of the ROV are guided either by a human pilot on a surface support vessel through an umbilical cord providing power and telemetry, or by an automatic pilot. In the case of automatic control, ROV state feedback is provided by acoustic and inertial sensors and this state information, along with a controller strategy, is used to perform several tasks such as station-keeping and auto-immersion/heading, among others. In this paper, the modelling, design and control of the Kaxan ROV is presented: i) The complete six degrees of freedom, non linear hydrodynamic model with its parameters, ii) the Kaxan hardware/software architecture, iii) numerical simulations in Matlab/Simulink platform of a model-free second order sliding mode control along with ocean currents as disturbances and thruster dynamics, iv) a virtual environment to visualize the motion of the Kaxan ROV and v) experimental results of a one degree of freedom underwater system.

Keywords ROV Control, High Order Sliding Mode Control, Model-Free, Ocean Currents

1. Introduction

Underwater vehicles, particularly ROVs (Remotely Operated Vehicles), are controlled from the surface using a Surface Control Unit (SCU) where the pilot (the user) makes decisions and controls the vehicle online. One of the main trends for ROVs is "autonomy" for some specific tasks, such as position tracking, dynamic positioning (or station-keeping), auto-heading and auto-depth control, for instance. Hence, there are two main challenges associated with ROV control:

1. Parametric uncertainty (as added mass, hydrodynamic coefficients, etc.). This problem increases with the modular capability of the current ROVs (the vehicle's ability to support diverse tools modules or skids, for instance; a one or two manipulator skid, a water-jetting tooling skid, a rotatory brush skid, a pipeline cameras skid, wire and cable cutter, and rotary disk cutter, among others).

2. The highly dynamic nature of the underwater environment, which presents significant disturbances to the vehicle in the form of underwater currents and interaction with waves in shallow water applications, among others.

Figure 1. Kaxan ROV developed at CIDESI

Sliding Mode Control (SMC) effectively addresses the above-mentioned issues and is therefore a viable choice for controlling underwater vehicles and model changes, and uncertainties and disturbances could be compensated by the sliding control component. However, it is well known that standard SMC introduces high frequency signals into the system, provoking high switching in the actuators that leads to its deterioration and a decrease in lifetime. In order to avoid this problem a Model-Free High Order Sliding Mode Control (MF-HOSMC) is proposed in this paper. The MF-HOSMC principal characteristics are that it keeps the main advantages of the standard SMC, thus removing the chattering effects.

Simulation results reveal the effectiveness of the proposed controller on a nonlinear six degrees of freedom (DOF) ROV, wherein only four DOF (x, y, z, ty) are actuated and the rest of them are considered intrinsically stable. The control system is tested under ocean currents, which abruptly change its direction. Matlab-Simulink, with Runge-Kutta ODE45 and variable step, was used to perform the simulations. Real parameters of the Kaxan ROV, currently under construction at CIDESI, Mexico, were taken into account for the simulations. Figure 1 depicts an image of the Kaxan ROV.

1.1 Summary on ROVs control

In this section an analysis of the state of the art is presented. This study aims to review ROV control strategies ranging from position trajectory to station-keeping control, which are two of the main problems to be dealt with. There are a great number of works in the international literature related to several control approaches such as PID-like control, standard sliding mode control and fuzzy control, among others. A review of the most relevant works is given in the following section.

1.1.1 Visual servoing control

Some approaches use vision-based control [1-4]. This strategy uses landmarks or seabed images to determine

the ROV's actual position and to keep it or to follow a specific visual trajectory. Nevertheless, the underwater environment is a dark place and it is therefore not practical to apply either vision-based position tracking or station-keeping control.

1.1.2 Intelligent control

Intelligent control techniques such as Fuzzy, Neural Networks or the combined Neuro-Fuzzy control have been proposed for underwater vehicle control. Some examples can be found in [5-7]. Intelligent controllers have proven to be a good control option, however, normally they require a long process of parameter tuning and they are normally used in experimental vehicles, although industrial vehicles are still an opportunity area for these control techniques.

1.1.3 PID Control

Despite the extensive range of controllers for underwater robots, in practice most industrial underwater robots use Proportional Derivative (PD) or Proportional Integral Derivative (PID) controllers [8, 10], thanks to their simple structure and effectiveness under specific conditions. Normally PID-like controllers have a good performance; however, they do not take into account system nonlinearities that eventually may deteriorate a system's performance or even lead to instability.

Work [11] presents a linear controller sequence (P and PI techniques) to govern position x and vehicle velocity u. Experimental results with the THETIS (UROV) are shown. Work [12] proposes a linearizing control plus a PID technique for depth and heading station keeping. Since the linearizing technique needs the vehicle's model, the robot parameters have to be identified. Simulation and swimming pool tests show that the control is able to provide reasonable depth and heading station keeping control. An adaptive control law for underwater vehicles is exposed in [13, 14]. The control law is a PD action plus a suitable adaptive compensation action. The compensation element takes into account the hydrodynamic effects that affect the tracking performance. The control approach was tested in real-time and in a simulation using the ODIN vehicle and its six DOF mathematical model. The control shows asymptotic tracking of the motion trajectory without requiring current measurements and a priori exact system dynamics knowledge. Self-tuning autopilots are suggested in [15], wherein two schemes are presented: the first one is an implicit linear quadratic online self-tuning controller and the other one uses a robust control law based on a first-order approximation of the open-loop dynamics and online recursive identification. Controller performance is evaluated by simulation.

1.1.4 Model-based control (Linearizing control)

Other alternatives to counteract underwater control problems include the model-based approach. This control strategy considers the system nonlinearities. It is important to notice that the system's mathematical model is needed as well as an exact knowledge of robot parameters. Calculation and programming of a full nonlinear six DOF dynamic model is time consuming and cumbersome. In [16] a preliminary experimental evaluation of a family of model-based trajectory-tracking controllers for a fully actuated underwater vehicle is reported. The first experiments were a comparison of the PD controller versus fixed model-based controllers: the Exact Linearizing Model-Based (ELMB) and the Non Linear Model-Based (NLMB) while tracking a sinusoidal trajectory. The second experiments were followed by a comparison of the adaptive controllers: the Adaptive Exact Linearizing Model-based controller and the Adaptive non-Linear Model-based controller versus the fixed model-based controllers ELMB and NLMB, tracking the same trajectory. The experiments corroborate that the Fixed Model-based controllers outperformed the PD Controller. The NLMB controller outperforms the ELMB. The Adaptive Model-based controllers all provide more accurate trajectory trackers than the fixed model-based controllers. However, notice that in order to implement such model-based controllers, the vehicle's dynamics are required and in some cases an exact knowledge of the parameters is also required, which is difficult to achieve in practice. In [17], a comparison between six controllers is performed, four of which are model-based types; the others are non model-based and Jacobian-transpose-based. Numerical simulations using the six DOF mathematical model of the underwater robot ODIN are carried out. The paper concludes that the controllers' effort is very similar; however the model-based approaches have better behaviour. In [18], real-time experiments were conducted at the Monterey Bay Aquarium Research Institute (MBARI) using the OTTER vehicle. The control strategy was a model-based linearizing control. Additionally, interaction forces acting on the vehicle due to the arm motion were predicted and fed into the vehicle's controller. Using this method, the station-keeping capability was greatly enhanced. Finally, another exact linearizing model-based control has been used in [19].

1.1.5 First order sliding mode control (SMC)

Next some relevant works that use SMC are described. [20] used a sliding mode control for the combined steering, diving and speed control. A series of simulations in the NPS-AUV six DOF mathematical model were conducted. [21] proposes a new Disturbance Compensation Controller (DCC), employing on board vehicles sensors that allow the robot to learn and estimate the seaway dynamics. The estimator is based on a

Kalman filter and the control law is a first order sliding mode, which induces harmful high frequency signals on the actuators. [22] shows some control techniques tested in the PHANTON 500S simulator. The control laws are: conventional PID, state feedback linearization and first order sliding modes control. The author presented a comparative analysis wherein the sliding mode has the best performance, at the expense of high switching on the actuators. The work [10] also proposes a dynamic positioning system for an ROV based on a mechanical passive arm, as a measurement system. This measurement system was selected from a group of candidate systems, including long baseline, short baseline and inertial systems, among others. The selection was based on several criteria: precision, construction cost and operational facilities. The position control laws were a conventional P-PI linear control. Last, the other position control law was the variable structure model-reference adaptive control (VS-MRAC). Finally, in [23] a modelbased adaptive fuzzy sliding mode controller is reported.

1.1.6 Adaptive first order sliding mode control (ASMC)

SMCs have a good performance when the controller is well tuned, however if the robot changes its mass or its centre of mass, for instance, because of the addition of a new arm or a tool, the system dynamics change and the control performance may be affected. Similarly, if a change in the underwater disturbances occurs (current direction, for instance), new tuning should be carried out. In order to reduce chattering problems, ASMC have been proposed. These controllers are an excellent alternative to counteract changes in the system dynamics and environment. Nevertheless, design and tuning times could be longer and in some cases a robot model is required. In [25], an adaptive control scheme for dynamic positioning of ROVs, based on a variable structure control (first order sliding mode), is proposed. This sliding mode technique is compared with a P-PI controller. Their performances are evaluated by simulation and in pool tests, proving that the sliding mode approach gives a better result.

[26] describes an SMC for remotely operated vehicles to perform a depth task. The SMC is enhanced by an adaptive fuzzy algorithm for uncertainties/disturbances compensation. Numerical simulations in one DOF (depth) are presented to show the control performance. This SMC also uses the vehicle-estimated model.

[27] proposes the fusion of a sliding mode controller and an adaptive fuzzy system. The main advantage of this methodology is that it relaxes the required exact knowledge of the vehicle's model, due to parameter uncertainties that are compensated by the fuzzy part. A comparative study between the PI controller, the classic sliding mode controller and the adaptive fuzzy sliding

mode is carried out. Experimental results demonstrate a good performance by the proposed controller. The authors of [28] combine sliding mode control with fuzzy logic control. The combination objective is to reduce chattering effect due to model parameter uncertainties and unknown perturbations. Two control approaches are tested: a Fuzzy Sliding Mode Controller (FSMC) and a Sliding Mode Fuzzy Controller (SMFC). The FSMC uses simple fuzzy logic control to fuzzify the relationship of the control command and the distance between the actual state and the sliding surface. On the other hand, for the FSMC each rule is a sliding mode controller. The boundary layer and the coefficients of the sliding surface become the coefficients of the rule output function. Open water experiments were conducted to test an AUV's depth and heading controls. Better behaviour was detected in the SMFC. Finally, an adaptive first order sliding mode control for an AUV for a diving manoeuvre is implemented in [29]. This control technique combines the adaptivity of a direct adaptive control algorithm with the robustness of a sliding mode controller.

1.1.7 Thruster Dynamics

Thruster dynamics have large influence on ROVs' behaviour and is a well-studied phenomenon. Numerous works have been conducted concerning the thruster dynamics influences on robot control. Examples can be found in [33-35].

1.1.8 Model-Free High Order Sliding Mode Control (MF-HOSMC)

Sliding Mode (SM) techniques are an excellent choice for underwater system control, due to their robustness in the face of model changes, uncertainties and disturbances. Nevertheless, standard SM introduces high frequency signals into the system (chattering effect).

In order to avoid the chattering problem and the need for knowing the dynamics, a new methodology called a Model-Free High Order Sliding Mode Control (MF-HOSMC) is proposed in [30]. MF-HOSMC's principal characteristic is that it keeps the main advantages of the standard SMC, while removing the chattering effects [31]. The MF-HOSMC's principal characteristics are that it keeps the main advantages of the standard SMC, thus removing the chattering effects. The proposed controller exhibits very interesting features, such as:

i. A model-free controller because it neither requires the dynamics nor any knowledge of parameters,

ii. It is a smooth, but robust control, based on second order sliding modes, that is, a chattering-free controller is attained.

iii. The control system attains exponential position tracking and velocity, with no acceleration measurements.

The methodology proposed in this paper was firstly reported in [30], where a second order sliding-PD control was proposed to address the station keeping problem and trajectory tracking under disturbances.

1.2 Contribution

A great number of control strategies have been published in the last few decades, ranging from PID-types to neuro-fuzzy controllers. In this paper, a new model-free second order sliding mode controller is proposed. The good performance of the controller is verified through simulations of an underactuated six DOF underwater vehicle and validated experimentally in a one DOF underwater vehicle.

Additionally, the design and complete set of parameters of the Kaxan ROV are presented.

1.3 Organization of the paper

The paper is organized as follows. Section II describes the main parts of the Kaxan ROV and its dynamic model. Section III presents the control design. Section IV is aimed at presenting the stability analysis of the control system. Section V presents simulation results of the complete six DOF Kaxan's dynamic model and Section VI describes the experimental results of a one DOF underwater system, which reveals the excellent behaviour of the proposed control law.

2. The Kaxan ROV

2.1 The Kaxan ROV development

This section describes the development of the shallow water Kaxan ROV.

The ROV was named Kaxan (which in Mexican Mayan dialect means "the seeker"). The main project objective is to develop a basic visual inspection of hydroelectric dams and oil platforms.

Figure 2 shows different views of the Kaxan ROV prototype. Kaxan's main characteristics are:

• Weight: 90kg (approximately).

• Dimensions: length 1.1m x height 0.65m x width 0.9m.

• Maximum operation depth: 120m.

• Main sensors: depth sensor, gyros, inclinometer and compass.

• Four thrusters: one vertical, one lateral and two at the rear.

• Two underwater lamps.

• One camera on the front.

• One Electric robot manipulator, for sample pickup. (maximum sample weight: 5kg).

Figure 2. Kaxan's CAD: (a) lateral view. (b) rear view. (c) top view.

In the following subsection the main ROV's subsystems are described.

2.1.1 Mechanical design

The ROV's elements and subsystems were designed using SolidworksTM. Using CAD software, some hydrostatic robot parameters were determined (weight, buoyancy, gravity centre, buoyancy center and meta-centric height [32, 38]). Critical elements, for instance the electronic container, were analysed using AnsysTM. The objective of the analysis was to evaluate the ROV's behaviour under the 120m water column

Figure 3. Electronics container CAD

Figure 3 shows the electronic components CAD assembly including sensors, an electronics board etc., that are located inside the electronics container.

2.1.2 Vision system

The vision system is composed of: one underwater camera (LED Seacam 2650 from Deepsea Power & Light, Inc), two underwater lamps (UWL-300, 24 Volts, 35 Watts, from Outland Technologies, Inc) and two underwater laser LED (Divers Laser Pointer from Beta Electronics, Inc).

Using vision plus laser techniques, future work will provide Kaxan with three vision tools: distance measurement, object recognition and object measurement.

2.1.3 Electronics architecture

The ROV's electronic architecture is fitted with two computers (PC). The first one is located at the surface and the second one in the ROV's electronic container (Figure 3). The computers communicate by Ethernet protocol using one single mode fibre optic and fibre optic multiplexers.

The surface PC is connected to a monitor where the user sees the images taken by the underwater camera and other ROV's sensors. The user controls the ROV using one joystick. The ROV's PC is an industrial computer whose main functions are to control the thruster and the underwater arm, and to read and process the sensor signal. These tasks are performed using two DAQs (Data Acquisition Cards) from National Instruments (NI).

The ROVs power is supplied by a DC source located at the surface; the ROV is plugged to this source through an umbilical cable (model FM022702-5 from Falmat, Inc). The ROV has DC-DC converters in the electronics container to adapt the voltage levels to the different electronic devices and subsystems. In Figure 4 it is possible to see a block diagram of the electronics.

The electronic architecture is monitored and controlled by a program developed in LabVIEW from NI. Figure 5 shows the system GUI (Graphical User Interface). This GUI displays the ROV's depth, the three-axis inclination, the thruster status (% of activity) and the underwater camera images [39]. Additionally, the electronics container's variables are shown, such as: container humidity level, power electronic temperature, system voltage and current.

It is important to mention that commercial ROVs use microcontrollers or similar devices to perform underwater tasks. These electronics boards allow the

robots to have high speed computation. However, it is hard to implement additional functions:

• Vision tools: object measurement, distance measurement, etc.

• Advanced control tools: station keeping and new control alternatives, such as the controller proposed here.

2.1.4 ROV Control

2.2 Kaxan hydrodynamic model

Following standard practice [32], a six DOF nonlinear model of an underwater vehicle was obtained by using the global reference of an Earth-fixed frame and a Body-fixed frame, see Figure 6. The Body-fixed frame is attached to the vehicle. Its origin is normally at the centre of gravity. The motion of the Body-fixed frame is described relative to the Earth-fixed frame.

The control functions that the ROV will have are heading and depth control. However, for some applications it will be desired that the ROV has a station keeping function (the vehicle's ability to maintain the same position and orientation at all times even under disturbances). This ability is hard to implement in a relatively small size ROV and in order to test some station keeping control techniques, an ROV simulator in Matlab/Simulink was developed (described below). Many control strategies were tested in the simulator, the most innovative control technique was the Model-free High Order Sliding Mode Control (MF-HOSMC).

Earth-fixed frame * <r

Uvdv-fjM-41 fmim*

Figure 4. Electronics architecture

Figure 6. Frame coordinates of an underwater vehicle

The notation defined by SNAME (Society of Naval Architects and Marine Engineers) established that: the Body-fixed frame has components of motion given by the linear velocities vector v1 £ R3 and angular velocities vector v2 £ R3, [38, 40]. The general velocity vector is represented as:

v = [Vi v2f = [U

w p q r]7

where u, v and w are, respectively, components of the linear velocity in surge, sway and heave directions and p, q and r are, respectively, components of the angular velocity in roll, pitch and yaw. On the other hand, the position vector ^ £ R3 and orientation vector £ R3 coordinates expressed in the Earth-fixed frame are:

■q = [Vi Vz]T = [x y z ^ e (2)

where x, y and z represent the Cartesian position in the Earth-fixed frame and 0 represents the roll angle, 9 the pitch angle and ^ the yaw angle.

2.2.1 Kinematic model

Linear and angular velocities between Body-fixed and Earth-fixed coordinate systems are expressed as follows [32, 41]:

Figure 5. System GUI (Graphical User Interface)

JiiVz) 03x3 -03x3 J2(ri2)\

where ]1{t^2) 6 M3X3 is the rotation matrix that gives the components of the linear velocity v1 in the Earth-fixed frame and /2(^2) 6 R3X3 is the matrix that relates angular velocity v2 with the vehicle's attitude in the global reference frame.

Remark 1. Well-posed Jacobian. The transformation (3) is ill-posed when 0 = ±90°. To overcome this singularity, a quaternion approach might be considered. However, the vehicle is not required to be operated at 0 = ±90°. In addition, the ROV is completely stable in roll and pitch coordinates.

2.2.2 Hydrodynamic model

The equations of motion expressed in the Body-fixed frame are given as follows [32, 41-42]:

Mv + C(v)v + D(v)v + = T V = /(v)v

where vER" and ^El" were defined above, M E R"x" denotes the inertia matrix (including added mass), C E R"x" is the matrix of Corilolis and centripetal terms (including added mass), D E R"x" is the damping matrix, gER" represents the vector of gravitational forces and iER" is the vector of the control inputs.

The dynamic model (4) can be expressed in the Earth-fixed frame by applying the following kinematic transformations (assuming that is non-singular) [32, 40]:

V =/(v)v n = J (q)v+j (n)v

v =/ 1(v)V

^r1 (4) [n-J (V)v\ (6)

to eliminate v and v from (4). After some manipulation, the Earth-fixed representation arises [32, 42]:

(^ + C, (v, ^ + (v, ^ + = T^ (7)

M^) =y-r(^)My-1(^) A,(v,^) = y-r(^) D(v)y-1(^)

Tn(v) =/ T(V)T

2.2.3 Thruster dynamics

The Kaxan robot is fitted with four DC brushless thrusters located in the following manner: Fj^nd F2 located at the rear, F3 laterally and F4 on the top (see Figure 7). The four thrusters are from Tecnadyne Inc.

with a speed variation using +5 control voltage. F1 and F2 are model 520 and F3 and F4 are model 540.

Figure. 7. Geometric location of Kaxan robot thrusters

The thruster dynamics are included in our ROV simulator using the thruster response curves (Control Voltage vs. Thrust) provided by the manufacturer (see curves for model 520 and 540 in Figure 8 and Figure 9, respectively). The thruster curve responses were approximated by 8th and 12th grade polynomials, captured with a high fidelity dead zone. Saturation is also considered in the approximated thruster dynamics.

Thruster 520

Ï 40 Ô

1 20 fj °

Dea 1 zone y/

/ Reverse Forward

Control Voltage [volts] Figure 8. 520 thruster response curve (Control Voltage vs. Thrust)

Control Voltage [volts] Figure 9. 540 thruster response curve (Control Voltage vs. Thrust)

The thruster dynamics model receives as input, in voltage units, the control signal computed in the Earth-fixed frame (tv as will be seen below). The thruster model transforms this voltage into thrust and then it is applied to the ROV's dynamics, as depicted in Figure 10. This approach does not capture the thruster transient response; it's only valid when the ROV moves at a constant velocity, with no abrupt velocity changes.

2.2.4 Ocean currents

Some factors that generate currents are tide, local wind, nonlinear waves, ocean circulation, density difference, etc. It's not the objective of this work to carry out an in depth study of this phenomena, but only to study the current-induced model proposed by [32, 42]. This methodology proposes that the equations of motion can be represented in terms of relative velocity:

vr = v — vr

where vrl = [uc

0 0 0]T is a vector of

irrotational Body-fixed current velocities. From (3), it was shown that Earth-fixed linear velocity can be transformed to Body-fixed linear velocity by applying principal rotation matrices. Let the Earth-fixed current velocity vector be denoted by [uj vj wj]. Hence, Body-fixed components can be computed as follows:

Let's assume that the Body-fixed current velocity is constant or at least slowly-varying such that the following holds:

Uc uj-

Vc = JUr2) Vj

wc Wc.

Va = 0

vr = v

Hence, the nonlinear relative equations of motion (4) take the form [32, 42]:

Mv + C(vr)vr + D(vr)vr + g(r) = t

The Earth-fixed fluid velocity components (ujj,vjj,wj) can be ralated to Vc (the average current velocity over the draft of the vehicle) by defining two angles: ac (angle of attack) and fic (sideslip angle), describing the orientation of Vc about the y — and z — axis, respectively, as shown below:

= Vc cos ac cos = Vcsinfic = Vc sin ac cos pc

3. Control Design

Since Equation (7) is linearly parametrizable by the product of a regressor Y(r,r,r) E Rnxp composed of known nonlinear functions and a vector 9 EWP composed of constant parameters, then the parameterization Y(y,y,y)9 can be written in terms of a nominal reference rr and its time derivative rr as follows:

Mv(n)vr + cv(v,r)rr + Dv(v,r)rr + gv0i) = Y(r,n.Vr.Vr)9

Subtracting (12) in both sides of Equation (7) leads to the open-loop error dynamics:

Mv(r)Sr + Cv(v,r)Sr + Dv(v,r)Sr = TV — Yr(r,r.Vr.Vr)9 (13)

where sr = r — rr is called the extended error. The problem of control design for the open-loop error dynamics (13) is to find t such that exponential convergence arises when Yr(y,y,yr,rr)9 is not available.

2.3 Nominal reference

Now, consider the following nominal reference:

Vr = Vd — afi + sd— Kt Jo sign(sv)do (14)

where fj = r —yd represents the position tracking error, rd denotes the desired trajectory, a and K are diagonal positive definite nxn gain matrices, signum(x) stands for the entry wise signum function of vector x and:

s = fj + afj, sd = s(t0)e~kt, sv=s — sd (15)

with k > 0. Considering (14), the extended error sr can be rewritten as follows:

sr = sv + Ki J^ sign(sv)da (16)

The main result is given next.

4. Model-Free High Order Sliding Mode Control Let's consider the following control law [30, 36]:

tv = —Kdsr (17)

where Kd is a diagonal definite positive nxn gain matrix. Notice that the control neither requires the dynamics nor any knowledge of robot parameters. Figure 10 depicts the MF-HOSMC block diagram.

Figure 10. Block diagram of the MF-HOSMC control scheme 4.1 Stability Analysis

Theorem. Consider control law (17) in a closed-loop with system (13), which yields:

M^s,. = -Kdsr - C11{v,ri)sr - D11{v,ri)sr

-Yr(n,i),i)r,iir)9. (18)

Exponential tracking is guaranteed if Kd and Kl are large enough for a small initial error condition.

Proof. The stability proof has been divided into two subsections for better comprehension.

Part I. Boundedness of the closed loop trajectories. Let's consider the following Lyapunov candidate function:

V =2srMr,{r[)sr

whose time derivative yields:

V — —sj-K^Sr — S^-CrSr — S^-^rSr — sjYrd +—sj-MSr

— —+ Dr]Sr — s?Yr6 <—S?KdSr — \\Sr\\\\Yre\\ < —Sr-KdSr + \\Sr\\p(t)

where arguments have been omitted for the sake of simplicity and it has been used the skew symmetric property of xT[Mr(i) - 2Cv(v,i)]x = 0, Vx £ Rn, x ^ 0 and the norm of Yr0 has been substituted by an upper bound defined by a state-dependent function p(t). It can be proven that Yr0 is upper bounded [36], since both desired trajectories and submarine dynamics are bounded (there exists upper bounds for Mrj,Crj,Drj,grj,ir,iir). Then, if Kd is large enough and the initial error is small enough, one concludes the negative definiteness of (19) outside of the small ball £o = {sr|^>0} centered at the origin K(sr) = 0. This boundedness in the sense leads to the existence of the constant e1 > 0 such that:

So far, it has only been proven that tracking errors remain stable with all the closed loop signals bounded. In order to prove convergence, it is necessary to assure that a sliding mode is induced for all time on sr .

Part II. Existence of second order sliding mode. Consider the following second order dynamical system defined by the time derivative of Equation (16) as follows:

Sr — —Kisign(sr]) + Sr Now, multiplying (21) by si- one obtains:

srSr — —Kísr¡sign(sr) + s1Sr

< —^min(Ki)\sr¡\ + \ S1\1 Sr1

\(—^min(Ki) +

where (20) has been used and ^ = Xmln(Kl) - £1. Thus, the sliding mode condition is achieved if Xmln(Kl) > e1 such that ^ > 0 guarantees the sliding mode at sr = 0 at

S (t )

tg = . Notice that for any initial condition sr(to) = 0, then tg = 0 , which implies that the sliding mode is enforced for all time and therefore:

Si—fj + afj — Sd^f]

which implies that the tracking errors tend to zero exponentially, that is, i —> id and 1 —> ld as t —> ot.

Remark 2. Vanishing function sd makes sr = s(0) - sd = 0 at t = 0. At this point it is important to highlight that sd is aimed at improving the transient response, since s(0)e~kt serves as an input of fj + afj in (23). Notice that sd is not necessary for the stability nor for the boundedness of the signals in the controller. If it were not used, sr would become s and would be bounded for all time. At t = tg, one would have sr = fj + afj = 0, so that fj, fj would tend to zero anyway [37].

Remark 3. The Tr vector comprises the thruster forces and moments applied to the vehicle. In this case, the Kaxan robot is fitted with four thrusters distributed as described in Figure 7. F1 and F2 propel the vehicle in the x direction and generate the turn in ^ when F1 ^ F2, F3 propels the vehicle sideways and F4 allows the vehicle to move up and down. Then the control signal Tr must be multiplied by a B matrix comprising forces and moments according to the force application point with respect to the centre of mass (see Figure 7 for more details) [30].

t„ =

F + F>

+ F4yF4

iizF1 + f2z,

"Fiyfi - f2yf2 + f3xf3 Rewriting (24) gives rise to:

T„ =

X 1 1 0

Y 0 0 1

Z 0 0 0

K 0 0 -Zi

M zf1 zi2 0

W- -y^i -yf2 X

matrix b

F3 F4j

where xFi, yFi and zFi represent the distances between the force application point and the centre of mass, i corresponds to the thruster (rear left-F1, rear right-F2, sideways-F3 or vertical-F4). These distances are defined in Table 4 Thruster location.

Remark 4. Since the controller (17) is computed in the Earth-fixed frame it is necessary to map it into the Body-fixed frame by means of the transpose Jacobian (3) as follows:

t = 7rt„

In addition, (26) is subsequently transformed by the thruster dynamics into a readable lecture for the ROV dynamics.

5. Simulation results

The performance of the proposed controller is verified through simulations of a six DOF underwater vehicle (4), where only four DOF are actuated, that is (x,y,z,0). Evidently, 0 and 0 are not actuated, though these are bounded (stable). In order to prove the performance of the controller the robot is requested to follow a desired position trajectory with a desired velocity profile, while ocean currents act on the vehicle, changing its direction abruptly. Matlab-Simulink was used to perform the simulations with ODE Runge-Kutta 45, variable step.

Kaxan's parameters and hydrodynamic model are given in Appendix A and B, respectively.

5.1 Virtual environment

In order to give more realism to the simulation, a 3D virtual reality environment was developed. In general, virtual reality provides the visualization of 3D systems, making the analysis from any angle easier.

Figure 11. Trajectory in the virtual environment

The software developed on MATLAB/Simulink has useful tools for virtual reality programming, like Virtual Reality Toolbox and V-Realm Builder (a library specialized on 3D Model edition). These instruments allow the edition of VRML (Virtual Reality Modelling Language) files. The V-Realm Builder not only offers the graphic representation of a 3D scenario and interactive tools for graphics elements, it also has a flowchart, in which the elements are displayed. The versatility of the V-Realm Builder allows the simulation of dynamic systems on a 3D scene of virtual reality created on standard VRML97 programming language as well as the production of 3D worlds.. Figure 11 depicts a top view of the virtual environment.

5.2 Controller gains

Feedback gains for the MF-HOSMC controller are set as follows: K = 500/6x6, a = /6X6, K = 0.1/6X6, k = 5.

5.3 Ocean current parameters

At the beginning the current flows north and after 20 seconds it suddenly changes to east. The average current is Vc = 1.1 m/s. According to (10) and (11) one has the following:

5.3.1 North

When flowing to the north, the parameters are the following: ac = 0 rad and jSc = 0 rad .

5.3.2 East

When the current flows to the east, the parameters are the following: ac = 0 rad and jSc = | rad

5.4 Definition of the task

The trajectory is performed in two stages: 5.4.1 Straight line

The robot follows a straight line from position [x,y,z, 0,0,0] = [0,0,0,0,0,0] [m,rad] to final position [x,y,z, 0,0,0] = [2,0,0,0,0,^/2] [m,rad] in a lapse of 5 seconds.

5.4.2 Spiral

After 5 seconds, from t > 5 to t = 45 s, the robot follows a spiral at a rate of zd = t/2, with radius r = 2m, centred at {hx,ky) = (0,0) m, at velocity w = 0.157rad/s, which means that one spiral is carried out in a period of T = 40 s. The run lasts 45 seconds in total.

Regarding ocean current, from t = 0s to t = 20sthe ocean current flows to the north (uc, eq. (11)). From t>20s to t = 45 s the ocean current unexpectedly changes its direction to the east (vc, eq. (11)).

«^-angular position

f ----- / -----

20 20 20 20 40 40

6-anguiar position

iy-angular position

20 20 20 20 40 40

The behaviour can be observed in Figures 12-18. Figure 12 depicts the trajectory in 3D that the Kaxan robot follows.

Figure 14. Behaviour of angular position. Notice that 0 and 9 remain stable despite abrupt changing of the ocean current direction.

Figures 15 and 16 depict the linear and angular velocities related to the Body-fixed frame.

Figure 12. 3D position tracking view

Figures 13 and 14 show the system behaviour related to the Earth-fixed frame. In general, good position tracking can be observed in the coordinates [x, y, z, 0]. Notice that although coordinates [0,0] are not actuated, these remain stable despite ocean currents. A perturbation can be observed at t = 20s in subsequent pictures when the ocean current in the north direction turns off and suddenly turns on in an east direction.

Figure 15. Linear velocity in Body-fixed frame

Figure 16. Angular velocity in Body-fixed frame

Control input signals can be viewed in Figures 17 and 18. These are bounded according to the real technical specifications of each thruster of Kaxan.

Figure 13. Position tracking in Earth-fixed frame

Thrusters F ■ F. (i|/ direction)

w. 22 -v' M 40 m

Figure 17. Control input in x direction and ip direction

Thruster F (y direction)

Thruster F (z direction)

vv V V.----

20 US 20

Figure 18. Control input in y and z direction

6. Control validation in a 1 dof underwater system

The proposed controller was verified in real-time in a one DOF underwater system, as shown in Figure 19. Unlike [27, 43], experiments were carried out on a one DOF underwater system since it represents the minimum system that preserves the main characteristics of an underwater system. The experimental setup consists of three parts described as follows.

(a) (b)

Figure 19. (a) Close up, (b) 1 DOF underwater system

The one DOF underwater system is fitted with one thruster from Tecnadyne Inc. model 520, with speed variation using +/-5 control voltage. The mechanical elements are: a base where the thruster is fixed and two vertical metal bars intended to constrain the thruster to move only in the z direction (depth). The mechanical structure is submerged in a water container with the following dimensions: height 0.9m and diameter 0.54m. The thruster has a movement range of 0.4m.

6.2 Electronics and firmware

The control software was developed in LabVIEW platform from National Instruments. One optical encoder was used as a depth sensor. Because the encoder is not water-proof, it was coupled to the thruster base by using a rope and pulleys. An FPGA card calculates the system depth by counting the pulses from the optical encoder. The PC and the FPGA are interconnected between each other by RS-232 protocol. The control input signal is computed in the PC and its results are sent to the thruster through a USB-6211 data acquisition card. Low power signals are isolated from high power by means of an isolate card provided by Tecnadyne Inc. The thruster is supplied with a 150 VDC power source and the rest of the electronics are plugged in to 12 VDC. Figure 20 shows the complete system's block diagram.

Figure 20. System block diagram

6.3 Task definition

The underwater system was requested to follow a sine wave desired trajectory; the frequency was 0.1Hz, with a bias of 0.22m (depth) and amplitude of 0.15m. The experiment lasted 50 seconds and the sampling time was 10ms.

6.4 Discussion

In Figures 21 and 22 one can see the position tracking (z vs. zd) and control signal behaviour of the sine wave trajectory. Finally, Figure 23 presents the trajectory tracking error.

Figure 21. Tracking performance z vs. zd

Figure 22. Control input behaviour

Figure 23. Position tracking error

It is worth mentioning that the controller was subject to disturbances of a different nature: thruster cable effect, positive buoyancy, the system generates turbulences, the system perturbs itself, the system presents friction between the thruster base and the two vertical metal bars.

Despite the above mentioned drawbacks, the controller presented excellent behaviour.

7. Conclusions

A simple yet straightforward approach based on second order sliding mode control for nonlinear underwater vehicles has been synthesized here. The proposed scheme accomplishes position tracking without acceleration

measurements, nor robot dynamics, nor parameters knowledge, under ocean currents in different directions. Exponential convergence of position and velocity, without overshooting, is ensured. The controller performance was evaluated by means of numerical simulations and real-time experiments with a six DOF Kaxan ROV dynamics and in a one DOF physical system.

Firstly, the complete nonlinear hydrodynamic model of six DOF was used, wherein only four DOF were actuated. Secondly, a one DOF underwater system was developed to validate in real-time the proposed controller. Both, simulations and experimental results reveal the excellent performance of the proposed controller.

Finally, some relevant aspects about the Kaxan ROV design and construction are given.

8. Acknowledgments

Luis Garcia-Valdovinos and Manuel Bandala acknowledge support from CONACYT project number 61499. The other authors thank CONACYT scholarship supports.

9. References

[1] S. Van Der Zwaan and J. Santos-Victor. Real-time vision-based station keeping for underwater robots. In Proceedings of the OCEANS MTS/IEEE, 2001.

[2] W. Qingxiao, L. Shuo, H. Yingming, and Z. Feng. A model based monocular vision system for station keeping of an underwater vehicle. In Proceedings of the IEEE International Conference on Robotics and

Biomimetics, 2005.

[3] X. Cufi, R. Garcia and Ridao. An approach to vision-based station keeping for an unmanned underwater vehicle. In IEEE/RSJ International Conference on Intelligent Robots and System, 2002.

[4] J.-F. Lots, D.M. Lane, E. Trucco and F. Chaumette. A 2D visual servoing for underwater vehicle station keeping. In Proceedings of the IEEE International Conference on Robotics and Automation, 2001.

[5] J. Lee, M. Roh, J. Lee and D. Lee. Clonal selection algorithms for 6-DOF PID control of autonomous underwater vehicles. Lecture Notes in Computer Science, 46(28), 2007.

[6] V. Kanakakis, K. P. Valavanis and N. C. Tsourveloudis. Fuzzy logic based navigation of underwater vehicles. Journal of Intelligent and Robotic Systems, 40(1), May 2004.

[7] X. Liang, Y. Li, Y. Xu, L. Wan and Z. Qin. Fuzzy neural network control of underwater vehicles based on desired state programming. Journal of Marine Science and Application, 5(3), September 2004.

[8] D.A. Smallwood and L. L. Whitcomb. Model-based dynamic positioning of underwater robotic vehicles:

theory and experiment. IEEE Journal of Oceanic Engineering, 29(1):169-186, January 2004.

[9] D.A. Smallwood and L. L. Whitcomb. Dynamic positioning of remotely operated underwater vehicles. IEEE Journal of Oceanic Engineering, September 2000.

[10] L. Hsu L., R. R. Costa and F. Lizarralde Dynamic positioning of remotely operated underwater vehicles. IEEE Robotics and Automation Magazine. September, 2000.

[11] J. N. Lygouras. DC thruster controller implementation with integral anti-wind up compensator for underwater ROV. Journal of Intelligent and Robotic Systems, 25(1), May 1999.

[12] T. H. Koh, M. W. S. Lau, G. Seet and A. Low, Control module scheme for an underactuated underwater robotic vehicle. Journal of Intelligent and Robotic Systems, 46(1), May 2006.

[13] G. Antonelli, S. Chiaverini, N. Sarkar and M. West. Adaptive control of an autonomous underwater vehicle: experimental results on ODIN. IEEE Transactions on Control Systems Technology, Sep 2001.

[14] G. Antonelli, T. I. Fossen and D. R. Yoerger. Underwater robotics. Springer Handbook of Robotics, 2008.

[15] K. R. Goheen. and E. R. Jefferys. Multivariable self-tuning autopilots for autonomous and remotely operated underwater vehicles. IEEE Journal of Oceanic Engineering, July 2008.

[16] D. A. Smallwood and L. L. Whitcomb. Toward model based dynamic positioning of underwater robotics vehicles. In Proceedings of the OCEANS MTS/IEEE, 2001.

[17] G. Antonelli. Multivariable self-tuning autopilots for autonomous and remotely operated underwater vehicles. Tracts in Advanced Robotics-Springer, 2, 2006.

[18] T. W. McLain, S. M. Rock and M. J. Lee. Experiments in the coordinated control of an underwater arm/vehicle system. Autonomous Robots, Springer, 3(2), June 1996.

[19] S. Ziani-Cherif. Contribution a la modélisation, l'estimation des paramètres dynamiques et la commande d'un engin sous-marin. Ph.D. thesis from the Central School of Nante, France, June 1998.

[20] A. J. Healey and D. Lienard. Marine control systems; guidance, navigation and control of ship, rigs and underwater vehicles. Marine Cybernetics, July 2003.

[21] J. S. Riedel. Shallow water station-keeping of an autonomous underwater vehicle: The experimental results of a disturbance compensation controller. In Proceedings of OCEANSMTS/IEEE, 2000.

[22] R. M. F. Gomes, J. B. Sousa and F. L. Pereira. Modelling and control of the IES project ROV. In Proceedings of European control conference, 2003.

[23] Sebastián, E. Adaptive Fuzzy Sliding Mode Controller for the Snorkel Underwater Vehicle. Lecture Notes in Computer Science, Springer Berlin / Heidelberg, Volume 4095/2006.

[24] S. Ziani-Cherif. Adaptive fuzzy sliding mode controller for the snorkel underwater vehicle. Lecture Notes in Computer Science, 4095, June 2006.

[25] J.P.V.S. Da Cunha, R.R. Costa and Hsu Liu. Design of a high performance variable structure position control of ROVs. IEEE Journal of Oceanic Engineering, 20(1): 42-54, January 1995.

[26] W. M. Bessa, M. S. Dutra and E. Kreuzer. Depth control of remotely operated underwater vehicles using an adaptive fuzzy sliding mode controller. Robotics and Autonomous Systems, January 2007.

[27] E. Sebastián and M. A. Sotelo. Adaptive fuzzy sliding mode controller for the kinematic variables of an underwater vehicle. Journal of Intelligent and Robotic Systems, 49(2), June 2007.

[28] F. Song and S. M. Smith. Combine sliding mode control and fuzzy logic control for autonomous underwater vehicles. Lecture Notes in Advanced Fuzzy Logic Technologies in Industrial Applications, 2006.

[29] R. Cristi, F. A. Papoulias and A. J. Healey. Adaptive sliding mode control of autonomous underwater vehicles in the dive plane. IEEE Journal of Oceanic Engineering, 15(15), July 1990.

[30] L. G. Garcia-Valdovinos, T. Salgado-Jimenez. and H. Torres-Rodríguez. Model-free high order sliding mode control for ROV: Station-Keeping approach. In Proceedings of OCEANS MTS/IEEE, 2009.

[31] W. Perruquett and J. P. Barbot. Sliding modes control in engineering. Marcel Dekker, 1999.

[32] T. I. Fossen, Marine control systems: guidance, navigation and control of ship, rigs and underwater vehicles. Marine Cybernetics, 2002.

[33] T. I. Fossen and S. I. Sagatun, Adaptive control of nonlinear underwater robotic systems. IEEE International Conference on Robotics and Automation, 1991.

[34] D. R. Yoerger, J. G. Cooke and J. J. E. Slotine,. The influence of thruster dynamics on underwater vehicle behavior and their incorporation into control system design. IEEE Journal of Oceanic Engineering, 15(3) 167 - 178, July 1990.

[35] W, M. Bessa, M. S. Dutra and E, Kreuzer. Thruster dynamics compensation for the positioning of underwater robotic vehicles through a fuzzy sliding mode based approach. International conference of Mechanical Engineering, 2005.

[36] V. Parra-Vega, S. Arimoto, Y.H. Liu, G. Hirzinger and P. Akella. Dynamic sliding PID control for tracking of robot manipulators: Theory and experiments. IEEE Trans. on Rob. and Autom., 19(6):967-976, December 2003.

[37] A. Marco, Arteaga, A. Castillo-Sanchez, and V. Parra-Vega. Cartesian control of robots without dynamic model and observer design. Automatica, 42, 2006.

[38] E. V. Lewis, Principles of naval architecture, Published by SNAME, 1988.

[39] R. D. Christ and R. L. Wernli Sr, The ROV Manual: A User Guide for Observation Class Remotely Operated Vehicles, Elservier Ltd., 2007.

[40] SNAME, Nomenclature for treating the motion of a submerged body through a fluid. Technical and research bulletin No. I-3. The Society of Naval Architects and Marine engineers. 29 West 39th Street, New York 18, N. Y., 1950.

[41] Yuh, J., Modeling and control of underwater robotic vehicles. IEEE Transactions on Systems, Man and Cybernetics, 20(6): 1475 - 1483. Nov/Dec1990.

[42] G. Antonelli, Underwater Robots: Motion and force control of vehicles-manipulator systems. Second edition, Springer, Springer-Verlag Berlin Heidelberg. 2006.

[43] P. Kiriazov and E. Kreuzer, F. Pinto, Robust feedback stabilization of underwater robotic vehicles. Robotics and autonomous Systems, 21(4): 415-423, October 1997

Appendix A - Kaxan parameters

B. Matrix C

ROV parameters used for the simulation are shown in Tables 1-5.

Xu = -72 Kgs-1 Xu = -29 Kg = "s X3 0 Kgm-1

Yv = -77 Kgs-1 Yo = -30 Kg Yo\o\ = 0 Kgm-1

Zw = -95 Kgs-1 Zw = -90 Kg Zw\w\ = 0 Kgm-1

Kv = ' -40 Kgms-1 Kv = ~ -5.2 Kgm Kp\p\ = 0 Kgm

Mq = - -30 Kgms-1 Mq = - -7.2 Kgm Mq\q\ = 0 Kgm

Nr = - -30 Kgms-1 Nf = - -3.3 Kgm Nr\r\ = 0 Kgm

Table 1. Hydrodynamic parameters

Ixx = 1.32 Kgm2 Ixy =Iyx = 0 kgm2

Iyy = 2.08 Kgm2 Iyz = Izy=0 kgm2

I77 = 2.32 Kgm2 I,x = Ixz = 0 kgm2

Table 2. Moments of inertia

Centre of gravity Centre of buoyancy

xG = 0 m xB =0 m

yG=0 m yB=0 m

zG = 0 m zB = —0.1 m

Table 3. Centre of gravity and centre of buoyancy.

Rear left (F1) Rear right (F2)

xF1 = 0 m xF2 = 0 m

yF1 = -0.175 m yF2 = 0.215 m

zF1 = -0.10 m zF2 = -0.1 m

Sideways (F3) Vertical (F4)

xF3 = 0.135 m xF4 = -0.022 m

yF3 = 0 m yF4 = 0 m

zF3 = 0.07 m zF4 = 0 m

Table 4. Thrusters location

P = 1024 Kgm3

m = 98.5 kg

g = 9.81ms-2

Table 5. Kaxan robot parameters Appendix B - Kaxan hydrodynamic model

A. Matrix M

m- Xu 0 0 0 0 0

0 m-Yv 0 0 0 0

0 0 m- Zw 0 0 0

0 0 0 ^XX Kp 0 0

0 0 0 0 WMq 0

0 0 0 0 0 hz-

C(v) =

0 0 0 0

-ma + Zaa

mv - Yvv 0

-ma+Zaa

mv - Yvv 0

-Imr+ Nr

ma- Zaa -mv + Yvv 0 mu - Xuu -mu + Xuu 0

ma+ Zaa -mv + Yvv

-mu + Xuu -mu + Xuu 0

mu - Xuu 0

-IyyR-^q

JyyQ- MqQ -LP+ KpV 0

C. Matrix D

D(v) = -diag[xu+Xu|„ \u\.Yv+Yv\v\v\. Zw

KP+ KP\ P | \P I ' Mq + Mq\ q |l <? I ' Nr+ Nr\r |k I

D. Vector g(r)

Matrix g{rf) for a neutrally buoyant underwater vehicle

gin) =

-BGyWc0cfi+ BGzWc0s4

BGzWs0 + ~BGzWc0c0 -BGxWc0s0 - BGyWsß

where:

BG = [BGx, BGy, BGz, J = \_XG- XB, YG—YB, ZG— Z^

and c8 = cos 8, sd = sin 8 and so on. The weight of the robot is defined as: W = mg

with g in this case being the gravitational acceleration constant.