nonlinear dynamic model identification methodology for real

10
International Journal of Control, 2013 Vol. 86, No. 12, 2315–2324, http://dx.doi.org/10.1080/00207179.2013.813646 Nonlinear dynamic model identification methodology for real robotic surface vessels Yaswanth Siramdasu and Farbod Fahimi Department of Mechanical and Aerospace Engineering, The University of Alabama in Huntsville, Huntsville, AL, USA (Received 4 October 2012; final version received 5 June 2013) This paper presents a methodology for identifying the nonlinear dynamic model of underactuated surface vessels for the purpose of model-based controller design. The methodology outlines the required tests that need to be performed and the formulations that need to be used for sequentially identifying the model parameters one by one. The identification methodology is performed on a robotic vessel by testing in outdoor environments and the accuracy of the dynamic model is verified. The physical control inputs to the vessel are a propeller rotational speed and a rudder angle. 3 degrees of freedom are assumed for the nonlinear dynamic model of the surface vessel. Finally, an approach is proposed that discusses how the identified full nonlinear dynamic model can be used for control design. Results of typical closed-loop control tests are presented. Keywords: nonlinear dynamics; surface vessel; system identification; trajectory tracking; control; experimental 1. Introduction The use of surface vessels for maritime applications, like surveillance, minesweeping, data collection and sea- keeping operations, has grown over the past decade. These tasks require the surface vessels to operate for long periods of time. Controlling and monitoring the vessels manually for long periods of time is tedious for human operators. Hence, automation of surface vessels by designing trajec- tory tracking controllers is gaining importance and posing challenging questions. During the last 15 years, researchers have introduced several approaches for trajectory tracking control of sur- face vessels. Table 1 summarises the representatives of the general approaches that have been reported. Most of the re- ported indoor tests have been carried out on small models of boats or ships in indoor pools. Mostly, camera systems and image processing have been used for measuring the posi- tion and orientation of the vessel for feedback. For outdoor tests, small models of both boats or ships in small ponds and large ships in sea have been used. It can be concluded from the list of citations in Table 1 that the earlier works start with linear controllers. As time progresses, nonlinear controllers are introduced. Most of the approaches that are reported are not model-based, so the nonlinear dynamic model of the surface vessel has not been needed in earlier works for control design. Therefore, no direct attention has been focused on methods with which pa- rameters of the nonlinear dynamic model can be identified. It can be seen in Table 1 that only in the past few years model-based approaches are becoming more common. Corresponding author. Email: [email protected] Model-based controllers can only be designed if sufficiently accurate nonlinear dynamic models with known parameters exist for surface vessels. However, no direct attention has been focused on methods that can be used to identify the parameters of the nonlinear dynamic model of surface ves- sels. The lack of an identification methodology is the main motivation of this research. In this paper, a systematic methodology for finding the parameters of the dynamic model for surface vessels is presented. The specific test scenarios that are required for identification are proposed. Then, the formulations that are needed for calculating the dynamic model parameters are presented. The test scenarios and the steps of the formula- tion procedure are thought out such that the required param- eters can be found sequentially, one at a time. The method- ology is used to identify the parameters of the nonlinear dynamic model of a test surface vessel via tests performed in an outdoor pond. The dynamic model of the vessel is verified, and it is shown that its accuracy is acceptable. Finally, as a proof of usefulness of the dynamic model, the dynamic model is used to design a model-based controller for trajectory tracking of the vessel. The model-based con- troller is tested on the surface vessel, and a typical result of the controlled motion is presented. 2. Dynamic model The dynamic equations of motion of the surface vessel expressed in the local frame of reference are m 11 ˙ u m 22 vr + d 11 u = F cos α, (1) C 2013 Taylor & Francis

Upload: others

Post on 28-Dec-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Nonlinear dynamic model identification methodology for real

International Journal of Control, 2013Vol. 86, No. 12, 2315–2324, http://dx.doi.org/10.1080/00207179.2013.813646

Nonlinear dynamic model identification methodology for real robotic surface vessels

Yaswanth Siramdasu and Farbod Fahimi∗

Department of Mechanical and Aerospace Engineering, The University of Alabama in Huntsville, Huntsville, AL, USA

(Received 4 October 2012; final version received 5 June 2013)

This paper presents a methodology for identifying the nonlinear dynamic model of underactuated surface vessels for thepurpose of model-based controller design. The methodology outlines the required tests that need to be performed andthe formulations that need to be used for sequentially identifying the model parameters one by one. The identificationmethodology is performed on a robotic vessel by testing in outdoor environments and the accuracy of the dynamic model isverified. The physical control inputs to the vessel are a propeller rotational speed and a rudder angle. 3 degrees of freedomare assumed for the nonlinear dynamic model of the surface vessel. Finally, an approach is proposed that discusses howthe identified full nonlinear dynamic model can be used for control design. Results of typical closed-loop control tests arepresented.

Keywords: nonlinear dynamics; surface vessel; system identification; trajectory tracking; control; experimental

1. Introduction

The use of surface vessels for maritime applications,like surveillance, minesweeping, data collection and sea-keeping operations, has grown over the past decade. Thesetasks require the surface vessels to operate for long periodsof time. Controlling and monitoring the vessels manuallyfor long periods of time is tedious for human operators.Hence, automation of surface vessels by designing trajec-tory tracking controllers is gaining importance and posingchallenging questions.

During the last 15 years, researchers have introducedseveral approaches for trajectory tracking control of sur-face vessels. Table 1 summarises the representatives of thegeneral approaches that have been reported. Most of the re-ported indoor tests have been carried out on small models ofboats or ships in indoor pools. Mostly, camera systems andimage processing have been used for measuring the posi-tion and orientation of the vessel for feedback. For outdoortests, small models of both boats or ships in small pondsand large ships in sea have been used.

It can be concluded from the list of citations in Table 1that the earlier works start with linear controllers. As timeprogresses, nonlinear controllers are introduced. Most ofthe approaches that are reported are not model-based, so thenonlinear dynamic model of the surface vessel has not beenneeded in earlier works for control design. Therefore, nodirect attention has been focused on methods with which pa-rameters of the nonlinear dynamic model can be identified.

It can be seen in Table 1 that only in the past few yearsmodel-based approaches are becoming more common.

∗Corresponding author. Email: [email protected]

Model-based controllers can only be designed if sufficientlyaccurate nonlinear dynamic models with known parametersexist for surface vessels. However, no direct attention hasbeen focused on methods that can be used to identify theparameters of the nonlinear dynamic model of surface ves-sels. The lack of an identification methodology is the mainmotivation of this research.

In this paper, a systematic methodology for finding theparameters of the dynamic model for surface vessels ispresented. The specific test scenarios that are required foridentification are proposed. Then, the formulations that areneeded for calculating the dynamic model parameters arepresented. The test scenarios and the steps of the formula-tion procedure are thought out such that the required param-eters can be found sequentially, one at a time. The method-ology is used to identify the parameters of the nonlineardynamic model of a test surface vessel via tests performedin an outdoor pond. The dynamic model of the vessel isverified, and it is shown that its accuracy is acceptable.Finally, as a proof of usefulness of the dynamic model, thedynamic model is used to design a model-based controllerfor trajectory tracking of the vessel. The model-based con-troller is tested on the surface vessel, and a typical result ofthe controlled motion is presented.

2. Dynamic model

The dynamic equations of motion of the surface vesselexpressed in the local frame of reference are

m11u − m22vr + d11u = F cos α, (1)

C© 2013 Taylor & Francis

Page 2: Nonlinear dynamic model identification methodology for real

2316 Y. Siramdasu and F. Fahimi

Table 1. Review of unmanned surface vessel control.

Reference Approach Method Test

Sorensen, Sagatun, and Fossen (1996) Linear LQG feedback OutdoorHolzhueter (1997) Linear LQG feedback OutdoorMorawski and Pomirski (1998) Linear LQG feedback No

Linear Cascade control NoGodhavn, Fossen, and Berge (1998) Nonlinear Backstepping NoPettersen and Nijmeijer (1999) Linear Backstepping NoPettersen and Nijmeijer (2001) Nonlinear Backstepping IndoorDo, Jiang, and Pan (2002) Nonlinear Backstepping NoCasado and Velasco (2003) Nonlinear Backstepping NoVelagic, Vukic, and Omerdic (2003) Nonlinear Fuzzy control NoLefeber, Pettersen, and Nijmeijer (2003) Linear Cascade control IndoorPettersen (2004) Nonlinear Cascade control IndoorYu and Wu (2004) Nonlinear PI-type sliding mode NoDo, Jiang, and Pan (2005) Nonlinear State feedback NoDo and Pan (2005) Nonlinear Backstepping NoSaeed, Attia, Helmy, and Awad (2005) Nonlinear Neural network NoGhommam, Mnif, Benali, and Derbel (2006) Nonlinear Backstepping NoGierusz, Cong Vinh, and Rak (2007) Nonlinear Fuzzy control NoCheng, Yi, and Zhao (2007) Nonlinear Sliding mode NoAshrafiuon, Muske, McNinch, and Soltan (2008) Nonlinear Sliding mode IndoorGyoungwoo, Surendran, and Kim (2009) Nonlinear PID vs. fuzzy NoSchoerling et al. (2010) Nonlinear Sliding mode OutdoorFahimi and Kleeck (2012) Nonlinear Sliding mode OutdoorSiramdasu and Fahimi (2013) Nonlinear Model predictive Outdoor

Notes: LQG = linear quadratic Gaussian; PI = proportional integral; PID = proportional integral derivative.

m22v + m11ur + d22v = F sin α, (2)

I33r + (m22 − m11)uv + d33r = −(F sin α)L, (3)

where u, v and r are the surge, sway and yaw speeds, re-spectively, F is the propeller force, α is the rudder angleand L is the distance of the centre-of-gravity (CG) fromthe propeller location on the vessel (Figure 1). The pro-peller is hinged to the vessel such that its axis can yaw withrespect to the vessel. Here, the term rudder angle α (asshown in Figure 1) refers to the angle that the axis of ahinged propeller makes with the longitudinal axes of thevessel.

Figure 1. Schematic diagram of the surface vessel showing thecontrol point (CP) and the centre-of-gravity (CG).

The vector F = [F cos α, F sin α,−FL sin α]T con-tains the longitudinal and lateral components of thepropeller force (F), and the propeller’s moment about thevessel’s CG, which has a longitudinal offset L with the pro-peller location on the vessel (Figure 1). The propeller forceis modelled as F = AnC, where A is a constant, C is adimensionless parameter and n ≥ 0 is the propeller speed.The propeller force can be written as

F = [AU1, AU2,−ALU2]T, (4)

where

U1 = nC cos α and U2 = nC sin α (5)

are selected as the mathematical control inputs.

3. Dynamic model parameter identification

A robotic vessel and a control box are designed and builtfor experimentation purposes (Figure 2). The specificationsof the vessel are: length 80 cm; width 70 cm; mass 8 kg;and diameter of each propeller 4.5 cm. The control boxcontains an embedded computer with a PC-104 form fac-tor equipped with a 1.8 GHz Pentium M processor anda navigation sensor. The navigation sensor measures andcommunicates all the vessel’s state variables. The sensor isconnected via a serial port to the embedded computer. The

Page 3: Nonlinear dynamic model identification methodology for real

International Journal of Control 2317

Figure 2. The experimental robotic vessel with the control box.

computer sends the control inputs calculated using the con-trol algorithm to the servo motors on the vessel via a ServoSwitch Card. Open-loop identification tests are coded inMatlab/Simulink and real-time software is generated us-ing the xPC-Target rapid control prototyping system. Thesoftware runs in real-time on the embedded computer. Theopen-loop inputs and the states of the vessel are recordedin real-time for identification.

The components of Equation (4) are combined withEquations (1)–(3) to formulate a form of the dynamic equa-tions of motion that is suitable for identification:

(m11/A)u − (m22/A)vr + (d11/A)u = U1, (6)

(m22/A)v + (m11/A)ur + (d22/A)v = U2, (7)

(I33/A)r + ((m22 − m11)/A)uv + (d33/A)r = −LU2. (8)

By observing the above form, one can see that the param-eters m11/A, m22/A, m33/A, d11/A, d22/A, d33/A and C inEquations (6)–(8) have to be identified.

Note that the parameter A is a function of the advancespeed (Fossen, 1994) (speed of water going into the pro-peller) which is indirectly related to the vessel’s speed.Finding A independently requires propeller force measure-ment at different advance speeds. Independently measuringthe propeller force at different advance speeds in a labora-tory setting requires force sensors and a water channel (togenerate different advance speeds). The proposed methodof identification in this paper does not require such com-plicated and expensive instrumentation. In the proposedmethod, the ratio of the mass/moment of inertial parame-ters to A, e.g. m11/A, etc., is identified. This eliminates theneed for independent identification of A.

It is important to note that the parameters m11, m22

and m33 are the sum of the vessel’s rigid body mass andthe mass of the water that is accelerated with the vesselduring its motion (known as the added mass). Principles ofhydrodynamics and tests have shown that these parameters

are constant (Fossen, 1994). The parameters d11, d22 and d33

contribute to hydrodynamic damping forces and moments(Fossen, 1994), and are a function of the vessel’s speed. Theparameter A is a function of the advance speed (speed ofwater going into the propeller) which is indirectly relatedto the vessel’s speed (Fossen, 1994). So, these parametersmust be found in the neighbourhood of different speeds,and must be tabulated versus the vessel’s speed.

This paper attempts at explaining the methodology withwhich a set of parameters corresponding to a particular ves-sel’s speed can be found. As an example, the methodologyis demonstrated for finding the parameters of the test vesselaround the steady-state speed of uss = 0.75 m s−1. So, theparameters found here are only suitable for controlling thevessel around the mentioned steady-state speed.

However, it is important to note that, for a practicalimplementation in which a vessel must be controlled atall speeds, this methodology must be applied at differentspeeds to find the full table of parameters as a functionof the vessel’s speed. Once the table of parameters versusspeed is at hand, a control code must select the appropriateset of parameters from the table of parameters according tothe vessel’s speed, and use that set for control calculations.

Two independent test scenarios are defined to isolateeach of these parameters and identify them one at a timeusing the recorded data.

3.1 Scenario 1: straight line motion

This scenario is an open-loop straight line test. Three dif-ferent constant propeller speeds (n) and a zero rudder angle(α) are given as control inputs to the vessel. These inputsgenerate straight line motions with increasing speeds up todifferent terminal speeds for the corresponding n. In thesetests, U1 in Equation (6) is constant and U2 in Equation (7)is zero. The vessel is tested at three speeds: n = 69.2, 98and 120 rps. Each test lasts for 15 seconds. For a straightline motion, v and r and their corresponding derivatives arezero.

3.1.1 Identification of d11/A

The linear speed component of the vessel u reaches a steady-state value and u is equal to zero at this point of time. Thesesteady-state values (uss) are used for the identification ofd11/A. Equation (6) reduces to

(d11/A)uss = U1, where U1 = nC , (9)

ln(uss) = C ln (n) − ln (d11/A). (10)

The values of uss are recorded during each test at eachconstant speed n and a line is fitted to the pairs (ln(n),ln(uss)) (Figure 3) using the least-squares method. The

Page 4: Nonlinear dynamic model identification methodology for real

2318 Y. Siramdasu and F. Fahimi

Figure 3. Identification of d11/A and C.

parameters C = 0.27 and d11/A = 4.03 m−1 s(1−C) are cal-culated.

3.1.2 Identification of m11/A

For determining m11/A, the values of the transient responseof the vessel’s longitudinal velocity u are used. Equation(6) reduces to

(m11/A)u + (d11/A)u = U1. (11)

The solution to Equation (11) is given by

u(t) = ce−t/λ + U1/(d11/A), λ = m11A

/d11A

, (12)

where c is calculated by substituting the initial velocity ofthe vessel u(0) in Equation (12), i.e. c = u(0) − U1/(d11/A)and d11/A is determined from the previous test. Each of thethree tests is performed twice, producing two sets of datafor each test. One set of data for u are used for fitting acurve using the least-squares method (top plot in Figure 4),and λ = 1.30 s and m11/A = 5.23 m−1 s(2−C) are calculated.With the identified m11/A, curves are plotted (bottom plot in

Figure 4. Identification of m11/A. Top panel: curves fitted to dataset 1 for the identification of m11/A. Bottom panel: curves plottedusing the identified m11/A on top of data set 2 for verification.

Figure 4) on top of the other sets of data. This plot verifiesthe identified m11/A.

3.2 Scenario 2: circular motion

This scenario is an open-loop circular test. The vessel istested with a constant propeller speed (n = 98 rps) and fivedifferent rudder angles for five tests (α = 16◦, 24◦, −8◦,−16◦, −24◦). These inputs generate circular motions ofthe vessel with increasing speeds up to different terminalspeeds of uss, vss and rss. For the vessel to achieve a transientresponse, the rudder angle is set to zero for the first 5 s andit suddenly changes and remains constant for the next 15 sof the test. During the steady-state motion, u, v and r areequal to zero and Equations (6), (7) and (8), respectively,reduce to

(d11/A)uss = (m22/A)vssrss + nC cos α, (13)

(m11/A)ussrss = −(d22/A)vss + nC sin α, (14)

((m11 − m22)/A)ussvss = (d33/A)rss + L nC sin α. (15)

The steady-state values of uss, vss, rss, n and α are recordedduring the test, and data are substituted in the above equa-tions.

The physical limit of motion for the rudder angle is−24◦ ≤ α ≤ 24◦. To cover the whole range of motion ofthe rudder, the two extreme angles α = −24◦ and 24◦ wereused for finding m22/A, d22/A and d33/A. This is done toavoid extrapolation. So, when the model predicts motionsfor −24◦ < α < 24◦, it is using the interpolation with thefitted curves. If lines had been fitted to α = −16◦ and 16◦,the model would have been using an extrapolation for values|α| > 16◦. Extrapolation is not the best fitting approach.

3.2.1 Identification of m22/A

Using the least-squares method and Equation (13), a line isfitted to the data of two tests (α = −24◦, 24◦) (top plot inFigure 5), and m22/A = 5.93 m−1 s(2−C) is found. Using theidentified m22/A, a line is plotted on top of the other threesets of test data (bottom plot in Figure 5). This plot verifiesthe identified m22/A.

3.2.2 Identification of d22/A

Using the least-squares method and Equation (14), a line isfitted to the data of two tests (α = −24◦, 24◦) (top plot inFigure 6), and d22/A = 5.48 m−1 s(1−C) is found. Using theidentified d22/A, a line is plotted on top of the other threesets of test data (bottom plot in Figure 6). This plot verifiesthe identified d22/A.

Page 5: Nonlinear dynamic model identification methodology for real

International Journal of Control 2319

Figure 5. Identification of m22/A. Top panel: a line fitted to thetest data with the rudder angles 24◦ and −24◦ for identification.Bottom panel: a line plotted on top of the test data with the rud-der angles 16◦, −8◦ and −16◦ for verification. x1 = vssrss, y1 =(d11/A)uss.

3.2.3 Identification of d33/A

Using the least-squares method and Equation (15), a line isfitted to the data points of two tests (α = −24◦, 24◦) (topplot in Figure 7), and d33/A = 1.13 m s(1−C) rad−1 is found.Using the identified d33/A, a line is plotted on top of theother three sets of test data (bottom plot in Figure 7). Thisplot verifies the identified d33/A.

3.2.4 Identification of I33/A

The transient response of the yaw rate (r) of the vessel isused for the identification of I33/A. For the first 5 s, the

Figure 6. Identification of d22/A. Top panel: a line fitted to thetest data with the rudder angles 24◦ and −24◦ for identification.Bottom panel: a line plotted on top of the test data with the rud-der angles 16◦, −8◦ and −16◦ for verification. x2 = −vss, y2 =(m11/A)ussrss.

Figure 7. Identification of d33/A. Top panel: a line fitted to thetest data with the rudder angles 24◦ and −24◦ for identification.Bottom panel: a line plotted on top of the test data with the rudderangles 16◦, −8◦ and −16◦ for verification. x3 = rss, y3 = ((m11 −m22)/A)ussvss.

rudder angle is zero, and the vessel moves on a straightline. Then, the rudder is suddenly turned. So, a transientresponse of the yaw rate is generated from the 5th to the10th second of the test. In test 1, which is run twice, α = 24◦

is used. In test 2, which is also run twice, α = −24◦ is used.The yaw response is defined by

(I33/A)r + (d33/A)r = ((m22 − m11)/A)uv − LU2.

(16)

Equation (16) is a linear first-order ordinary differentialequation with the values of u and v varying as a functionof time. So, exponential curves in the form of Equations(17) and (18) are fitted to u and v data of the two tests withα = 24◦ (Figure 8) and α = −24◦ (Figure 9) using theleast-squares method.

Figure 8. Fitted curves for transient response of u and v forα = 24◦.

Page 6: Nonlinear dynamic model identification methodology for real

2320 Y. Siramdasu and F. Fahimi

Figure 9. Fitted curves for transient response of u and v forα = −24◦.

u = AeB(t−5) + C , (17)

v = DeE(t−5) + F . (18)

The parameters of Equations (17) and (18) are listed inTable 2.

Two sets of data for test 1 with α = 24◦ are used foridentification and two sets of data for test 2 with α = −24◦

are used for verification.The speeds u and v from Equations (17) and (18), re-

spectively, are substituted in Equation (16) and the follow-ing closed-form solution is found:

λr + r = K(AeB(t−5) + C)(DeE(t−5) + F )

−LU2/(d33/A), (19)

r(t) = c1e−tλ − LU2/(d33/A)

+(

AFeB(t−5)

1 + λB+ ADe(B+E)(t−5)

1 + λB + λE

+C

(F + DeE(t−5)

1 + λE

))K, (20)

where λ = I33/Ad33/A

and K = (m22−m11)/Ad33/A

. Using the least-squares method and Equation (20), a curve is fitted to thetwo sets of data from test 1 with α = 24◦ (top plot in Figure10). The values of λ= 1.56 s and I33/A = 1.25 m s(2−C) rad−1

Table 2. Fitting u and v curve parameters.

Parameters A B C D E F

α = 24◦ 0.17 −1.03 0.57 −0.21 −1.41 0.22α = −24◦ −0.02 0.47 0.72 0.47 −0.35 −0.24

Figure 10. Identification of I33/A. Top panel: a curve fitted tothe two data sets of test 1 with α = 24◦ for identification. Bottompanel: a curve plotted using the identified I33/A on top of the twodata sets of test 2 with α = −24◦ for verification.

are identified. Using the identified I33/A, a curve is plottedon top of two sets of data from test 2 with α = −24◦ (bottomplot in Figure 10). This plot verifies the identified I33/A.

4. Analysing the sensitivity of parameters

As explained in the previous section, three values for nwere used to find the values of d11/A and C. It can beseen in Figure 3 that the noise of the measurement of thesteady-state speed uss is significant. It is hypothesised thatthis noise does not significantly affect the results of theidentification. To prove this, three sets of d11/A and C arefound using a combination of pairs of steady-state speeds(uss1 and uss2),1 (uss2 and uss3)2 and (uss1 and uss3).3 Then,based on the three sets of d11/A and C, three complete setsof model parameters are found. The normalised values ofthese three sets are shown in Table 3. It is seen that theparameters slightly vary.

These sets of parameters are used, and the dynamicmotion of the vessel is simulated to see how the differentsets affect the predicted motion of the surface vessel. For

Table 3. The identified parameters using all combinations ofdata points.

uss1, uss2,Parameter uss3 uss1, uss2 uss2, uss3 uss1, uss3 Units

C 0.27 0.22 0.15 0.28 Dimensionlessm11/A 5.23 5.40 5.04 5.21 m−1 s(2−C)

m22/A 5.93 6.09 6.26 5.81 m−1 s(2−C)

I33/A 1.25 1.20 1.51 1.21 m s(2−C) rad−1

d11/A 4.03 3.72 3.83 4.17 m−1 s(1−C)

d22/A 5.49 5.39 5.33 5.54 m−1 s(1−C)

d33/A 1.13 1.08 1.34 1.10 m s(1−C) rad−1

Page 7: Nonlinear dynamic model identification methodology for real

International Journal of Control 2321

Figure 11. The simulated response of the vessel for different setsof parameters.

this simulation, the vessel starts with a zero velocity. Aconstant n = 98 rps is applied for the whole duration of thesimulation. For the first 5 s of the simulation, the rudderangle is set to zero. Then, the rudder angle is suddenlychanged to α = 24◦. Since this value is the maximumrudder angle, this scenario represents a worse case for thedifference between different models. The simulation is runfor a total of 20 s.

Figure 11 shows that all the simulated paths for thesesets of parameters are similar and thus the variation of theparameters has little effect (only up to 0.4 m in a 20-smotion) on the prediction of the vessel’s motion. The pa-rameters in the first column of Table 3 are used for thedynamic model needed for the simulation and the real-timecontrol experiments.

5. Open-loop model verification tests

In order to further verify the identified model, the resultsof the open-loop test of the vessel are compared to that ofthe simulations using the identified parameters in the firstcolumn of Table 3. The open-loop test results are useful forcomparison with the results of the simulation only whenexternal disturbances are negligible. Normally, testing asmall experimental vessel under no disturbance in outdoorenvironments for long durations is impractical, because dis-turbances such as wind gusts and their corresponding waveshappen very often.

The following approach has been used to address theproblem of disturbance effects in long tests. The vessel isdriven under open-loop control with different inputs and thestate variables are recorded. Then, the portions of the mo-tion of the vessel during which the disturbances are negligi-ble are identified by observation. For example, with a zerorudder angle, the vessel is expected to move in a straight

line. Open-loop tests with zero rudder angle in which themotion of the vessel is curved are neglected. As anotherexample, with a constant speed with increasing rudderangle to a terminal angle, the vessel should initially movein a straight line and then it should transition on to an arcwith a constant radius. Portions of the open-loop test donewith a constant speed and an increasing rudder angle thatdo not show the above-mentioned motion were discarded.

First, the portions of the open-loop test in which the dis-turbance is negligible are found using the above approach.Normally, the duration of these portions is not very long.Then, the simulation is run using the initial conditions ofthe low-disturbance portions of the open-loop test. It isseen that the simulation results closely match that of thelow-disturbance portions of the open-loop test. Here, twosamples are presented.

5.1 Straight line motion

In the open-loop test, the vessel is initially at rest, the pro-peller speed is set to n = 98 rps, while the rudder angle iszero. The vessel moves in a straight line, while its speedincreases to a constant speed. The identified model is sim-ulated with zero initial speeds and position components;however, the initial heading is selected to match that of theopen-loop test at time zero.

The time history of the vessel’s speeds is shown inFigure 12. It can be seen that the simulation result closelymatches the test result. The linear path of the vessel duringthe test is shown in Figure 13. It is seen that the simulatedpath of the vessel closely overlaps with the vessel’s pathduring the test.

5.2 Transition from a straight lineto a circular motion

At a moment during the open-loop test, the vessel is movingwith a constant forward speed of u = 0.8 m s−1, a lateral

Figure 12. The simulated speed response of the vessel versusopen-loop test of the vessel.

Page 8: Nonlinear dynamic model identification methodology for real

2322 Y. Siramdasu and F. Fahimi

Figure 13. The simulated path of the vessel versus open-looptest of the vessel.

speed of v = 0.0 m s−1 and a yaw rate of r = 0.0 rad s−1,when the rudder angle is turned from α = 0◦ to α = −24◦.Figure 14 presents the speed response of the actual vesselversus the predictions of the simulated identified model.The model’s results match the vessel’s response very closely.Figure 15 shows the path of the vessel during the low-disturbance portion of the open-loop test, and the simulatedpath of the vessel using the identified model, which almostoverlap.

6. Model-based controller

Any model-based control method can be used to designa trajectory-tracking controller for the surface vessel after

Figure 14. The simulated speed response of the vessel versusopen-loop test of the vessel.

Figure 15. The simulated path of the vessel versus open-looptest of the vessel.

the dynamics of the vessel are identified using the proposedidentification methodology. For example, tests with the slid-ing mode control method on surface vessels have been used(Fahimi & Kleeck, 2012).

Here, a nonlinear model predictive controller has beendesigned based on the identified model of the vessel. Thedetails of the control method formulations are found inFahimi (2009) and Siramdasu and Fahimi (2013). In thefollowing, the result of a typical closed-loop trajectory-tracking control test is reported for completeness.

7. Experimentation with closed-loop control

Several tests are performed to verify the feasibility of theproposed control method. The tests are carried out in anoutdoor pond on days when the local weather station re-ported wind gusts in the range 5–10 mph. The wind gustsgenerate waves with a maximum speed of 0.3 m s−1. Theparameters in the first column of Table 3 are used for thedynamic model used for control design.

One sample of the typical tests is presented here. Thecontroller is tested for tracking straight paths and harmonicpaths with a constant velocity of 0.8 m s−1. For each test,the vessel is manually driven to the centre of the pond, andthen the controller is triggered.

For the straight line test, the desired velocity of the ves-sel is 0.8 m s−1. Figure 16 shows the actual path of thevessel compared to the desired path. From this figure, it canbe seen that the vessel is following the desired trajectorywith a steady-state error. This steady-state error is consis-tent with an unknown disturbance directed from the northto the south, because the actual path slightly lies to the southof the desired path.

Page 9: Nonlinear dynamic model identification methodology for real

International Journal of Control 2323

Figure 16. The trajectory of the vessel in real-time for thestraight line test.

Figure 17 shows the history of the errors in thex- and y-coordinates of the control point. The error in the x-component starts at about −0.2 m and stays within ± 0.3 mfor the duration of the test. The error in the y-componentstarts at about −0.75 m and stays around −0.45 m for themost part of the test.

Note that the vessel is an underactuated vehicle. Nor-mally, the driving mechanism of the vessel, a hinging pro-peller, has more direct control authority in the surge andyaw motions. So, the vessel can reject disturbances in thesurge and yaw directions more easily than in the sway di-rection. As a consequence, the tracking error in the lateraldirection (y-direction) is larger than that in the longitudinaldirection (x-direction).

Figure 18 shows that the propeller speed n is initiallyhigh, so that the vessel can catch up with the desired trajec-tory. After convergence to the desired trajectory, n is aroundthe theoretical value of nss = 76.4 rps [(d11/A)uss = nC

ss ford11/A = 4.03 m−1 s(1−C), uss = 0.8 m s−1 and C = 0.27].The rudder angle α of the vessel is negative at times. Thiscauses the vessel to steer left to counteract the disturbance.

Figure 17. The trajectory errors of the x- and y-coordinates forthe straight line test.

Figure 18. The propeller speed and rudder angle for the straightline test.

8. Conclusion

A methodology for the identification of the parameters ofthe nonlinear dynamic equations of motion for surface ves-sels is proposed. The dynamic model is formulated using3 degrees of freedom. The test scenarios and the formu-lation procedure are designed such that one parameter isidentified at a time in a sequential manner. To show the fea-sibility of the identification methodology, the parameters ofthe dynamic model of a test surface vessel are identified.The identification and verification of the dynamic modelparameters are performed via several open-loop controltests. The usefulness of the dynamic model for model-basedtrajectory-tracking design is shown via performing closed-loop control tests on a real vessel in an outdoor pond. Theexperimental result for a desired straight line is presented.The result shows the controller is successful in keepingthe vessel on it trajectory despite bounded external distur-bances.

AcknowledgementsThis research was funded by the Office of the Vice President forResearch, UAHuntsville, Huntsville, Alabama, USA.

Notes

1. Speeds resulting from tests with n1 = 69.2 and n2 = 98 rps.2. Speeds resulting from tests with n2 = 98 and n3 = 120 rps.3. Speeds resulting from tests with n1 = 69.2 and n3 = 120 rps.

ReferencesAshrafiuon, H., Muske, K.R., McNinch, L.C., & Soltan, R.A.

(2008). Sliding-mode tracking control of surface vessels.IEEE Transactions on Industrial Electronics, 55, 4004–4012.

Casado, M.H., & Velasco, F.J. (2003). Surface ship trajectorycontrol using non-linear backstepping design. Proceedings of

Page 10: Nonlinear dynamic model identification methodology for real

2324 Y. Siramdasu and F. Fahimi

the Institute of Marine Engineering, Science and TechnologyPart A: Journal of Marine Engineering and Technology, 2003,3–8.

Cheng, J., Yi, J., & Zhao, D. (2007). Design of a sliding modecontroller for trajectory tracking problem of marine vessels.IET Control Theory and Applications, 1, 233–237.

Do, K.D., & Pan, J. (2005). Global tracking control of underac-tuated ships with nonzero off-diagonal terms in their systemmatrices. Automatica, 41, 87–95.

Do, K., Jiang, Z., & Pan, J. (2002). Underactuated ship globaltracking under relaxed conditions. IEEE Transactions on Au-tomatic Control, 47, 1529–1536.

Do, K., Jiang, Z., & Pan, J. (2005). Global partial-state feedbackand output-feedback tracking controllers for underactuatedships. Systems and Control Letters, 54, 1015–1036.

Fahimi, F. (2009). Autonomous robots modeling, path planning,and control. New York: Springer Science+Business Media,LLC.

Fahimi, F., & Kleeck, C.V. (2012). Alternative trajectory-tracking control approach for marine surface vesselswith experimental verification. Robotica, 31, 25–33.doi:http://dx.doi.org/10.1017/S0263574712000070

Fossen, T.I. (1994).Guidance and control of ocean vehicles. NewYork: Wiley (p. 32, 42 and 94; Sections 2.4.1, 2.4.2 and 4.1.1).

Ghommam, J., Mnif, F., Benali, A., & Derbel, N. (2006). Asymp-totic backstepping stabilization of an underactuated surfacevessel. IEEE Transactions on Control Systems Technology,14, 1150–1157.

Gierusz, W., Cong Vinh, N., & Rak, A. (2007). Maneuveringcontrol and trajectory tracking of very large crude carrier.Ocean Engineering, 34, 932–945.

Godhavn, J.M., Fossen, T., & Berge, S. (1998). Non-linear andadaptive backstepping designs for tracking control of ships.International Journal of Adaptive Control and Signal Pro-cessing, 12, 649–670.

Gyoungwoo, L., Surendran, S., & Kim, S.H. (2009). Algorithms tocontrol the moving ship during harbour entry. Applied Math-ematical Modelling, 33, 2474–2490.

Holzhueter, T. (1997). LQG approach for the high-precision trackcontrol of ships. IEE Proceedings: Control Theory and Ap-plications, 144, 121–127.

Lefeber, E., Pettersen, K.Y., & Nijmeijer, H. (2003). Tracking con-trol of an underactuated ship. IEEE Transactions on ControlSystems Technology, 11, 52–61.

Morawski, L., & Pomirski, J. (1998). Ship track-keeping: Exper-iments with a physical tanker model. Control EngineeringPractice, 6, 763–769.

Pettersen, K.Y. (2004). Global uniform asymptotic stabilization ofan underactuated surface vessel: Experimental results. IEEETransactions on Control Systems Technology, 12, 891–903.

Pettersen, K., & Nijmeijer, H. (1999). Global practical stabiliza-tion and tracking for an underactuated ship – a combined av-eraging and backstepping approach. Modeling, Identificationand Control, 20, 189–199.

Pettersen, K.Y., & Nijmeijer, H. (2001). Underactuated ship track-ing control: Theory and experiments. International Journal ofControl, 74, 1435–1446.

Saeed, A., Attia, E., Helmy, A., & Awad, T. (2005). Design ofa neuro-autopilot maneuvering controller for underactuatedships. Alexandria Engineering Journal, 44, 493–500.

Schoerling, D., Van Kleeck, C., Fahimi, F., Koch, C.R., Ams, A.,& Lober, P. (2010). Experimental test of a robust formationcontroller for marine unmanned surface vessels. AutonomousRobots, 28, 213–230.

Siramdasu, Y., & Fahimi, F. (2013). Incorporating input saturationfor surface vessel trajectory tracking control with experimen-tal verification. Intelligent Systems and Control, 14, 1–8.

Sorensen, A., Sagatun, S., & Fossen, T. (1996). Design of a dy-namic positioning system using model-based control. ControlEngineering Practice, 4, 359–368.

Velagic, J., Vukic, Z., & Omerdic, E. (2003). Adaptive fuzzy shipautopilot for track-keeping. Control Engineering Practice, 11,433–443.

Yu, K.W., & Wu, C.E. (2004). Tracking control of a ship by PI-typesliding controller. Journal of Marine Science and Technology,12, 183–188.