1. INTRODUCTION
During the summer of 1588, Admiral Charles Howard and Vice Admiral Francis Drake arranged for eight fire ships to be sent against the Armada which caused the majority of the Spanish ships to break formation and leave their safe anchorage in Calais for the open sea. Soon after this incident the Battle of Gravelines ensued. On a later occasion in 1718, a Royal Navy blockade was set up by Captain Woodes Rogers in Nassau Harbour with a view to capturing the pirate Captain Charles Vane. Unfortunately for Rogers, Vane directed a blazing crewless brigantine at the blockade. As a consequence, Rogers’ small squadron of ships was forced to take evasive action that allowed Vane to make good his escape to continue his life of piracy until his eventual capture in 1720. Subsequently, he was hanged in Jamaica on 29 March 1721. It can be argued that these two incidents illustrate early examples of Unmanned Surface Vehicles (USVs) being deployed in naval warfare. Nowadays USV technology is becoming widespread in the commercial, naval and scientific sectors. Indeed they are now used for mine counter-measures (Yan et al., Reference Yan, Pang, Sun and Pang2010), surveying (Majohr et al., Reference Majohr, Buch and Korte2000) and environmental data gathering (Caccia, Reference Caccia, Bibuli, Bono, Bruzzone, Bruzzone and Spirandelli2007), to name just three.
In recent years the Springer USV has been designed, built and continues to be developed. Springer is intended to be a cost effective and environmentally friendly USV; it was designed primarily for undertaking pollutant tracking, environmental and hydrographical surveys in rivers, reservoirs, inland waterways and coastal waters, particularly where shallow waters prevail. An equally important secondary role was also envisaged for Springer as a test bed platform for other academic and scientific institutions involved in environmental data gathering, sensor and instrumentation technology, control systems engineering and power systems based on alternative energy sources.
For the vehicle to be capable of undertaking the kinds of mission that are contemplated, Springer requires robust, reliable, accurate and adaptable Navigation, Guidance and Control (NGC) systems which allow seamless switching between automatic and manual control modes. Such properties in NGC systems are necessary for the changes in the dynamic behaviour of the vehicle that may occur owing to the deployment of different payloads, mission requirements and varying environmental conditions. Of course, an important integral component in a NGC system is the autopilot (control) sub-system.
The development of practical ship autopilot systems can be traced back to the Sperry Gyroscope Company (Sperry Gyroscope Company, 2011). Sperry constructed the first automatic ship steering mechanism which he called the automatic pilot or gyropilot (Sperry, Reference Sperry1922). Sperry's gyropilot was known as ‘Metal Mick’ because in its operation it appeared to replicate the actions of an experienced helmsman. In addition, the work of (Minorski, Reference Minoriski1922) is also regarded as making key contributions to the development of automatic ship steering systems. Minorski's main contribution was the theoretical analysis of automatic steering and the specification of the three term or Proportional-Integral-Derivative (PID) controller for automatic ship steering. As in the case of Sperry's work, his PID controller designs were predicated on visual observation of the way the experienced helmsman would steer a ship. From those early pioneering days ship autopilots based on PID controllers or their variants became the norm for a number of years. While such autopilots performed satisfactorily within given specifications, their overall operational effectiveness was limited. In an attempt to overcome the shortcomings of these devices, more sophisticated autopilots have been and are still being proposed. One of the more modern and favoured approaches to autopilot design has been based on Linear Quadratic Gaussian (LQG) techniques (Hozhuter and Schultze, Reference Holzhuter and Schultze1996; Fossen, Reference Fossen2000; Tran et al., Reference Tran, Nguyen, Hoang, Nguyen, Cu and Nguyen2004; Moreira and Soares, Reference Moreira and Soares2005; Naeem et al., Reference Naeem, Xu, Sutton and Tiano2008; Fossen, Reference Fossen2011). However, it should be noted that, in general, basic PID and LQG autopilots can only reliably be applied to linear ship dynamics.
The dynamic characteristics of marine vessels are invariably nonlinear and the Springer USV is no exception. This being so it would seem appropriate to control the vehicle with a nonlinear autopilot. Local Control Networks (LCNs) can be used in nonlinear control system design. Furthermore, LCNs are transparent, and simple to design compared to many other more complex nonlinear controllers. Thus LCNs were deemed worthy of investigation for application as autopilots. Hence the intention of this paper is to report a novel autopilot system based on a LCN design for the USV and to benchmark its performance against an existing Springer autopilot design developed using LQG control techniques. It is believed that this is the first application of a LCN in the role of a marine autopilot and, therefore, the paper offers a new framework for marine control systems design. Details of the navigation and line-of-sight guidance sub-systems for the vehicle can be found in (Naeem et al., Reference Naeem, Xu, Sutton and Tiano2008).
With regards to the structure and content of the paper, on completion of this introductory material, Section 2 reports details of the Springer vehicle hardware, and of linear and nonlinear models of its yaw dynamics. Section 3 describes the two autopilot designs, and in Section 4 simulation results and a discussion are presented. Finally concluding remarks are given in Section 5.
2. THE SPRINGER UNMANNED SURFACE VEHICLE
The Springer USV was designed as a medium waterplane twin hull vessel which is versatile in terms of mission profile and payload. It is approximately 4 m long and 2·3 m wide with a displacement of 0·6 tonnes. Each hull is divided into three watertight compartments. The NGC system is carried in watertight Peli cases and secured in a bay area between the crossbeams. This facilitates the quick substitution of systems on shore or at sea. The batteries which are used to provide the power for the propulsion system and onboard electronics are carried within the hulls, accessed by a watertight hatch. In order to prevent any catastrophe resulting from a water leakage, leak sensors are utilized within the motor housing. If a breach is detected the onboard computer immediately issues a warning to the user and/or takes appropriate action in order to minimize damage to the onboard electronics (Naeem et al., Reference Naeem, Xu, Sutton and Tiano2008). A mast has also been installed to carry the Global Positioning System (GPS) and wireless antennas. The wireless antenna is used as a means of communication between the vessel and its user and is intended to be utilized for remote monitoring purpose, intervention in the case of erratic behaviour and to alter the mission parameters. The Springer is shown in Figure 1 and the arrangement inside its hulls is depicted in Figure 2. The Peli case layouts may be found in (Naeem et al., Reference Naeem, Xu, Sutton and Tiano2008).
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081501-73074-mediumThumb-S0373463311000701_fig1g.jpg?pub-status=live)
Figure 1. The Springer Unmanned Surface Vehicle (USV).
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081504-61710-mediumThumb-S0373463311000701_fig2g.jpg?pub-status=live)
Figure 2. Side view of the Springer Unmanned Surface Vehicle (USV).
The Springer propulsion system consists of two propellers powered by a set of 24 volt 74 lbs Minn Kota Riptide transom mounted saltwater trolling motors. As will be seen in Subsection 2.1, steering of the vessel is based on differential propeller revolution rates.
2.1. Vehicle Steerage
The vehicle has a differential steering mechanism and thus requires two inputs to adjust its course. This was simply modelled as a two input, single output system in the form depicted in Figure 3, where n 1 and n 2 are the two propeller thrusts in Revolutions Per Minute (RPM).
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081423-20840-mediumThumb-S0373463311000701_fig3g.jpg?pub-status=live)
Figure 3. Block diagram representation of a two-input Unmanned Surface Vehicle (USV).
Clearly, straight line manoeuvres require both the thrusters to run at the same speed; the differential thrust is zero in this case. By letting n c and n d represent the common mode and differential mode thruster velocities defined, then n c and n d are defined by Equations (1) and (2):
![$$n_c = \displaystyle{{n_1 + n_2} \over 2}$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn1.gif?pub-status=live)
![$$n_d = \displaystyle{{n_1 - n_2} \over 2}$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn2.gif?pub-status=live)
In order to maintain the velocity of the vessel, n c must remain constant at all times. The differential mode input, however, oscillates about zero depending on the direction of the manoeuvre. While the actual steerage system operates using RPM, for reasons of convenience and ease of comparisons, results are shown in Revolutions Per Second (RPS) where appropriate.
2.2. Linear Vehicle Yaw Dynamics
As a linear yaw dynamic model of the vehicle is required in the design of the LQG autopilot, System Identification (SI) (Ljung, Reference Ljung1999) was performed on three different sets of experimental data, collected with a sampling interval of 1 s for training, validating and testing the model. In this case, only n d has been manipulated and therefore acts as the sole input to the system. This alters both n 1 and n 2 whereas n c is maintained to conserve the operating regime.
The SI of the vehicle dynamics was undertaken using a proprietary MATLAB™ toolbox. Initial results showed that dynamic models based on an AutoRegressive with eXogenous (ARX) terms approach failed to achieve a good fit. Thus an iterative prediction-error minimization method using the SI toolbox was employed to estimate the parameters of an AutoRegressive Moving-Average with eXogenous (ARMAX) variable terms type fourth-order linear state space model, which has more flexibility in the handling of disturbance modelling than the ARX model. The dynamic model of the Springer vehicle was obtained in State Space (SS) form as shown in Equation (3) which was subsequently used to design the LQG autopilot.
![$\eqalign{ & {\bi x}(k + 1) = {\bf A}{\bi x}(k) + {\bf B}u(k) + {\bf K}e(k) \cr & y(k) = {\bf C}{\bi x}(k) + {\bf D}u(k)} $$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn3.gif?pub-status=live)
where:
![$$\eqalign{& A = \left[ {\matrix{ \hfill {1{\cdot}0035} & \hfill { - 0{\cdot}0012} & \hfill { - 0{\cdot}0056} & \hfill { - 0{\cdot}0057} \cr \hfill {0{\cdot}0247} & \hfill {0{\cdot}9752} & \hfill { - 0{\cdot}1372} & \hfill { - 0{\cdot}1241} \cr \hfill {0{\cdot}0349} & \hfill { - 0{\cdot}0103} & \hfill { - 0{\cdot}4166} & \hfill {0{\cdot}7517} \cr \hfill {0{\cdot}0325} & \hfill { - 0{\cdot}0987} & \hfill { - 0{\cdot}0604} & \hfill {0{\cdot}0073} \cr}} \right],\quad B = \left[ {\matrix{ {0{\cdot}0000025} \cr { - 0{\cdot}0000654} \cr {0{\cdot}0004235} \cr { - 0{\cdot}0003025} \cr}} \right], \cr & K = \left[ {\matrix{ {0{\cdot}0275} \cr { - 1{\cdot}2455} \cr {1{\cdot}8949} \cr { - 1{\cdot}6802} \cr}} \right],\quad C = \left[ {\matrix{ \hfill {42{\cdot}3573} & \hfill { - 0{\cdot}0940} & \hfill { - 0{\cdot}0288} & \hfill {0{\cdot}0354} \cr}} \right],\quad D = \left[ 0 \right]} $$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn4.gif?pub-status=live)
Figures 4a, 4b and 4c show the performance of the SS model on training, validation and test data sets which produces mean-squared errors of 0·00057465 rad2, 0·0075 rad2 and 0·00042696 rad2 respectively.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081532-49493-mediumThumb-S0373463311000701_fig4g.jpg?pub-status=live)
Figure 4. (a) Performance of the State Space (SS) model: training. (b) Performance of the State Space (SS) model: validation. (c) Performance of the State Space (SS) model: testing.
Although the SS model fits well (Figure 4c) on the series-parallel configuration (one-step-ahead prediction), its performance deteriorates for the parallel response (iterated prediction) and indicates the poor predictive capability of the model. Figure 5 shows the series-parallel and parallel configuration of the model and the Figure 6 illustrates the predictive capability of the SS model on a parallel model output of the test dataset producing a mean-squared error of 0·307 rad2. The poor predictive capability may be because of the highly nonlinear dynamics of the Springer vehicle were not captured in the linear state-space model. Nonlinear modelling of the Springer in a parallel configuration is thus required to obtain the true characteristics of its dynamic. Subsection 2.3 studies the nonlinear modelling of the Springer using neural networks and compares its predictive capability with the SS model.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081632-13796-mediumThumb-S0373463311000701_fig5g.jpg?pub-status=live)
Figure 5. Parallel and series-parallel configurations of the model.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081648-82712-mediumThumb-S0373463311000701_fig6g.jpg?pub-status=live)
Figure 6. Predictive capability of a parallel model.
2.3. Nonlinear Vehicle Yaw Dynamics
As shown above in the SS model case, the linear model across an operating point does not contain the true characteristics of the highly nonlinear Springer dynamics, thus the requirement for a nonlinear model. A Multi-Layer Perception (MLP) type Neural Network (NN) model was developed here using the previous dataset. A Genetic Algorithm (GA) (Sivanandam and Deepa, Reference Sivanandam and Deepa2008) with a population of 20 chromosomes and a crossover probability of p c=0·65 and mutation probability of p m=0·03 was used to obtain the best NN architecture with optimized weights and biases (Sharma et al., Reference Sharma, McLoone and Irwin2002; Reference Sharma, McLoone and Irwin2005). The GA was run for 3000 generations and after a period of trial and error, a parallel architecture network with ten inputs was derived:
![$$\eqalign{\hat y(t) = & f_{NN} \left\{ {u(t - 1),u(t - 2),\hat y(t - 1),\hat y(t - 2),\hat y(t - 3),} \right. \cr & \times \left. {\hat y(t - 4),e(t - 1),e(t - 2),e(t - 3),e(t - 4)} \right\}} $$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn5.gif?pub-status=live)
where:
![$e(t) = y(t) - \hat y(t)$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnU1.gif?pub-status=live)
and three hidden nodes were selected for modelling.
Figures 7a, 7b and 7c show the parallel model performance of the NN model on the training, validation and test data set which produced mean-squared errors of 0·0003746 rad2, 0·003904 rad2 and 0·0007106 rad2 respectively.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081736-07819-mediumThumb-S0373463311000701_fig7g.jpg?pub-status=live)
Figure 7. (a) Performance of the Neural Network (NN) model: training. (b) Performance of the Neural Network (NN) model: validation. (c) Performance of the Neural Network (NN) model: testing.
The results show that NN achieved better predictive capability compared to the state-space model considered in the Subsection 2.2.
This NN model was used to replicate the nonlinear yaw dynamics of the Springer USV and to train a LCN autopilot to follow set point trajectories, with its performance being judged against that of a LQG autopilot.
3. AUTOPILOT DESIGNS
In this section of the paper, both autopilot designs are presented.
3.1. Linear Quadratic Gaussian (LQG) Autopilot Design
In this autopilot design, a LQG controller was selected which consists of a linear combination of a Linear Quadratic state feedback Regulator (LQR) and a Kalman filter. The LQG controller is inherently multi-variable, therefore modification to a multi-input, multi-output model is rather straightforward. To construct the autopilot, an LQR problem is solved which assumes that all states are available for feedback. However, this is not always true because either there is no available sensor to measure that state or the measurement is very noisy. A Kalman filter can be designed to estimate the unmeasured states. The LQR and Kalman filter were developed independently and then combined to form an LQG controller, a method known as the separation principle (Burl, Reference Burl1999). A block diagram of the autopilot is depicted in Figure 8 showing the individual components of the LQG. In this figure, r is the reference input which is transformed to a corresponding reference state vector using the transformation matrix N x. The block N u compensates for any steady state errors present in the output of the closed loop system.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081731-32703-mediumThumb-S0373463311000701_fig8g.jpg?pub-status=live)
Figure 8. Block diagram representation of a Linear Quadratic Gaussian (LQG) autopilot design.
The LQG controller requires an SS model of the system in the form specified in Equation 3. The parameters A, B, C, and D are also defined in Equation 4 for the Springer vehicle. A unique closed form solution of the LQG control law is defined as:
![$u(k) = {\bi K}_{{\bi LQR}} ({\bi x}_r (k) - {\bi \hat x}(k))$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn6.gif?pub-status=live)
The Kalman filter equations and a derivation of the N x and N u blocks respectively are at Appendices A and B.
3.2. Local Control Network Autopilot Design
A LCN provides a ‘divide-and-conquer’ approach to the design of a global controller for complex nonlinear systems. It consists of several linear Local Model Controllers (LMCs) spread across the operating regions. The operating space is decomposed into a number of regimes and the required global controller is then formed by interpolating between simpler LMCs that are locally valid (Johansen and Foss, Reference Johansen and Foss1995).
Knowledge of these local operating regimes is therefore a key requirement for building such controllers. It is known that a large class of nonlinear systems can be controlled in this way, including most batch processes and many control system applications (Rippin, Reference Rippin1989). Apart from normal operation, the control system may also have to function correctly during startup and shutdown cycles and to operate during maintenance and fault conditions, all of which constitute different operating regimes. In most applications, the design of a suitable LCN is done on the basis of a priori plant knowledge (Brown et al., Reference Brown, Lightbody and Irwin1997; Townsend et al., Reference Townsend, Lightbody, Brown and Irwin1998). The interpolation is done such that the LMC which is most valid at an operating point will be given the greatest weight, neighbouring ones will be weighted less and those for distant operating regimes will not contribute anything to the global control at that point.
Each LMC is thus associated with a weighting function that provides smooth interpolation and also indicates the relative validity of it at a given operating point. Springer had already been tested within its linear operating region using SS models and LQG techniques. However, until this study, no work has been undertaken to test the USV while operating in the nonlinear region of its dynamic system response. For practical operations, the identification of distinct operating regimes are important, which can only be obtained with a priori plant knowledge. The identification of local operating regimes and simultaneous design of a global LCN is difficult in the absence of a priori knowledge about the unknown plant. This paper finds such operating regimes and constructs a suitable LCN based on GAs for Springer.
3.2.1. Local Control Networks
The general discrete LCN representation is shown in Figure 9. Here, the same inputs, x, are fed to all the LMCs and the outputs are weighted according to some scheduling variable or variables, φ. The LCN output is given by the weighted sum:
![$${\bi \hat y} = \sum\limits_{i = 1}^{\rm N} \rho _ i ({\bi \varphi} )f_i ({\bi x})$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn7.gif?pub-status=live)
where:
ρi(φ) is the validity or interpolation function associated with the ithLMC, f i(x).
N is the total number of LMCs.
The validity functions ρ i(φ) are normalized so that the total contribution from all the LMCs is 100%. The most widely used ρ i(φ) in the literature are normalized Gaussian functions represented as:
![$$ \rho _i ({\bi \varphi} ) = \displaystyle{{{\rm exp}( - ||{\bi \varphi} - {\bi s}_{\bi i} ||^2 /2{\bi \sigma} _{\bi i} ^2 )} \over {\sum\limits_{\,j = 1}^{\rm N} {{\rm exp}( - ||{\bi \varphi} - {\bi s}_{\bi i} ||^2 /2{\bi \sigma} _{\bi j} ^2 )}}} $$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn8.gif?pub-status=live)
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081738-14912-mediumThumb-S0373463311000701_fig9g.jpg?pub-status=live)
Figure 9. General architecture of a Local Control Network (LCN).
The f i(x) are linear controllers. In this paper, a discrete-type PID controller is considered for the LCN construction as it requires a smaller number of parameters compared to that of ARMAX type linear controllers; it also avoids controller initialization problems while reducing the GA search space.
A continuous-time PID control law is described by:
![$$u(t) = k_p e(t) + k_d \dot e(t) + k_I \int {edt} $$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn9.gif?pub-status=live)
where:
k p, kd and k I are the proportional, differential and the integral gains.
u is the control action.
e is the error.
The equivalent PID controller in discrete form is
![$$\eqalign{u(k) = u(k - 1) + k_p [e(k) - e(k - 1)] + k_d [e(k) - 2e(k - 1) + e(k - 2)] + T_s K_I e(k)$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn10.gif?pub-status=live)
where:
k is the sample number.
T s is the sampling interval.
For Equations (8) and (10) the unknown parameters in each regime are the validity function centres, si, standard deviations σi and the PID control parameters k p, kd and k I. The identification of local operating regimes and simultaneous design of a global LCN is difficult in the absence of a priori knowledge about the unknown plant.
Figure 10 shows the design of a LCN involving PID-type LMCs. Here the LCN consists of m PID-type local model controllers. The output of the ith PID-type LMC at sample k is c i(k) and the overall LCN output is defined as . The control action applied to the Springer USV at sample k is given by u(k)=c(k)+u(k−1). The same error e(k)=r(k)−y(k), is applied to all LMCs in the network. The scheduling variable for the validity function, ρi(φ), were chosen as φ=[y(k−1), u(k−1)], where y(k) is the heading angle output and r(k) is the reference setpoint. A GA is then used to construct a LCN for the USV. The GA then simultaneously searches for the optimal number of LMCs (from a given maximum number), the parameters of these LMCs and the parameters of the validity functions and filter. Apart from reducing the tracking error and total controller effort, the fitness function of the GA is also incorporated to promote transparency by encouraging all valid LMCs to be mutually orthogonal, such that each local controller acts independently of the rest at its operating point. In this application a steady-state GA (Michalewicz, Reference Michalewicz1996) with crossover probability of p c=0.65 and mutation probability of p m=0.03 was applied to a population of 20 chromosomes.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081302-82635-mediumThumb-S0373463311000701_fig10g.jpg?pub-status=live)
Figure 10. PID-type local control network acting on a Springer USV.
The filter used in Figure 10 is of second order with the input/output relation described in Equation (11):
![$$a_1 y(k) = b_1 x(k) + b_2 x(k - 1) + b_3 x(k - 2) - a_2 y(k - 1) - a_3 y(k - 2)$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn11.gif?pub-status=live)
4. SIMULATION RESULTS AND DISCUSSION
The GA was run for 2000 generations and, to allow for the stochastic nature of genetic learning, the training process was repeated five times. The number of LMCs from the best chromosome was selected as the optimum, along with the centres and covariances of the associated validity function and the parameters for the filter. Figure 11a shows the closed-loop response from the LCN in response to a step change demand in the vehicle heading and it also reveals that a good tracking performance is achieved. Whereas Figure 11b indicates that a smooth LCN controller effort was expended in order to achieve such satisfactory results.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081228-40974-mediumThumb-S0373463311000701_fig11g.jpg?pub-status=live)
Figure 11. (a) Local Control Network (LCN) response to a step change in vehicle heading: heading response. (b) Local Control Network (LCN) response to a step change in vehicle heading: controller effort.
The GA selected two LMCs; Figures 12a and 12b illustrate the respective interpolation regions for the two LMCs. Figure 13 contains a plan view with the training data superimposed showing the operating region for Springer. It can be seen that the GA has selected the local controllers that are occupying 100% and are thus transparent somewhere in the operating regions. The shaded portion in the plan view show the areas where each controller will be acting independently in the operating regions.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081235-96767-mediumThumb-S0373463311000701_fig12g.jpg?pub-status=live)
Figure 12. (a) Interpolation regions for two of the Local Model Controllers (LMCs): LMC 1 interpolation region. (b) Interpolation regions for two of the Local Model Controllers (LMCs): LMC 2 interpolation region.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081231-77144-mediumThumb-S0373463311000701_fig13g.jpg?pub-status=live)
Figure 13. Plan view of validity regions with training data.
The two PID-type LMCs defining the LCN were:
![$$\eqalign{C_1 (k) = & - 1{\cdot}9366[e(k) - e(k - 1)] - 0{\cdot}7826 \cr & \times [e(k) - 2e(k - 1) + e(k - 2)] + 0{\cdot}1201e(k)} $$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn12.gif?pub-status=live)
![$$\eqalign{C_2 (k) = & - 1{\cdot}6429[e(k) - e(k - 1)] + 0{\cdot}2200 \cr & \times [e(k) - 2e(k - 1) + e(k - 2)] + 0{\cdot}0429e(k)} $$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn13.gif?pub-status=live)
where e(k)=r(k)−y(k) is again the error between the reference and controller trajectory.
The centres and covariances for the Gaussian interpolation functions were ρ 1: (−14·0660, 2·0260) and (14·8186, 0·6666) and ρ 2: (82·8059, 1·9678) and (20·1629, 0·4573). The coefficients for the filter were: a 1=1·0, a 2=−0·9845, a 3=0·0576, b 1=0·0500, b 2=−0·0063 and b 3=0·0318.
The robustness of the controller was next tested. Results in (Brown et al., Reference Brown, Lightbody and Irwin1997; Townsend et al., Reference Townsend, Lightbody, Brown and Irwin1998; Sharma et al., Reference Sharma, McLoone and Irwin2002) indicate that while the stability of a local controller acting on a local plant model is easily proved, the global stability of the overall closed-loop system is more problematic. One way to overcome this and to test the robustness of the controller is to demonstrate that it is stable throughout the operating space of a vehicle manoeuvre. To this end, a random sequence of course-changing manoeuvres was employed which covered the entire operating region as shown in Figure 14. Figure 14 also reveals that the LCN generated a stable closed-loop response and smoothly followed the reference trajectory.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081229-61252-mediumThumb-S0373463311000701_fig14g.jpg?pub-status=live)
Figure 14. Vehicle response to a random sequence of course-changing demands in heading using the Local Control Network (LCN).
The NN model of the Springer was used directly to design a LCN in the absence of much a priori knowledge. These results show the capacity of this approach to designing a LCN based autopilot for Springer. In addition, they clearly illustrate the autopilot's ability to cope successfully when operating in both the linear and nonlinear realms of the vehicle's dynamic system response.
In order to make quantitative comparisons between the two autopilot designs, the standard system performance criteria of Rise Time (TR), Settling Time (TS) and Percentage Overshoot (%MP) were employed (Ogata, Reference Ogata2002). Here TR is taken as the time required for the system response to rise from 10% to 90% of its final value. It is used to denote the speed of response of a system. The TS is the time required for the system response to reach and stay within a specified tolerance band of the final value which in this case is taken as 2%. TS is the minimum time in which the transient phase of the system response is assumed to have decayed away, therefore, indicating the time at which the system may function at the new operating point. Whereas %MP is the percentage maximum amount a system overshoots its final value and is used to signify the oscillatory nature and relative stability of the system.
Additionally, as a measure of accuracy and autopilot control activity, the Mean-Square Error of the Yaw Error (MSE(ψ ε)) and the Average Equivalent Controller Energy (ACE(E u)) were used. These may be considered in their discrete forms as:
![$$\vskip-3pt MSE(\psi _\varepsilon ) = \displaystyle{1 \over N}\sum\limits_{k = 1}^N {[y(k) - \hat y(k)]^2} $$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn14.gif?pub-status=live)
and:
![$$ACE(E_u ) = \displaystyle{1 \over N}\sum\limits_{k = 1}^N {[u(k)/60]^2} $$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqn15.gif?pub-status=live)
where:
y(k) is the desired output at kth instant in rad.
is the actual output at kth instant in rad
u(k) is the controller effort at kth instant in RPM.
N is the total number of samples.
As was to be expected, the LQG autopilot was also subjected to the same series of course-changing demands displayed in Figures 11a and 14, the results of which can be found in Figures 15(a), and 16 respectively. The response of the LQG appears to be quite sluggish with a large TS of over 274 s. Figure 15(b) depicts the controller output which settles to approximately zero as the vessel reaches steady state.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081351-70482-mediumThumb-S0373463311000701_fig15g.jpg?pub-status=live)
Figure 15. (a) Linear Quadratic Gaussian (LQG) autopilot response to a step change in vehicle heading: heading response. (b) Linear Quadratic Gaussian (LQG) autopilot response to a step change in vehicle heading: controller effort.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary-alt:20160626081502-09811-mediumThumb-S0373463311000701_fig16g.jpg?pub-status=live)
Figure 16. Vehicle response to a random sequence of course-changing demands in heading using the Linear Quadratic Gaussian (LQG) autopilot.
The step response in Figure 11 shows that the results TR=22 s, TS=37 s and %MP=0·39% were obtained using the LCN whereas the LQG produced TR=65 s, TS=274 s and %Mp=approximately 3·3% as depicted in Figure 15a. Hence the results show that faster and better responses were obtained with LCN.
Table 1 compares the LCN and LQG autopilots for the different trajectories with respect to MSE(ψ ε) and ACE(E u).
Table 1. Comparison between the LCN and LQG autopilots for different trajectories.
![](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_tab1.gif?pub-status=live)
As shown in Table 1, the LCN approach outperformed and produced less MSE values compared to the LQG in all cases. A major reduction in controller effort was also achieved by the LCN; this would save battery power when controlling the vehicle in real-time mission scenarios.
5. CONCLUDING REMARKS
A genetic learning approach to the construction of Local Model Controllers (LMCs) for the Springer Unmanned Surface Vehicle (USV) has been proposed based on Local Control Networks (LCNs). The approach optimizes an overall LMC structure and local Proportional-Integral-Derivative (PID) controller parameters. Also it facilitates the inclusion of transparency, generalization of constraints, and simplicity of design. Furthermore, instead of requiring a priori knowledge of the Springer for designing a LMC, a much easier Neural Network (NN) modelling approach from experimental data was utilized.
The results of the LCN autopilot were compared with those obtained from that developed using a LQG approach, which requires a linear model in its architecture. Even a fourth order State Space (SS) model was unable to provide better predictive capability compared to the NN model and thus the LQG approach produced an inferior autopilot which resulted in greater Mean-Square Error of the Yaw Error MSE(ψ ε) values and consuming more controller energy compared to that of the LCN design.
Thus the LCN is more suited for use in the Springer vehicle from a practical viewpoint in terms of manoeuvring capability and also in controller energy consumption which would in reality provide the vehicle with longer mission durations.
Finally, it is considered that this work is the first to report a LCN approach to marine control systems design. As a result, a new design framework for the design of nonlinear autopilots has been presented for application in the marine sector.
APPENDIX A
A discrete-time controlled process may be described by the linear stochastic difference equations (A1):
![$$\eqalign{ & {\bi x}(k + 1) = {\bf A}{\bi x}(k) + {\bf B}u(k) + w(k) \cr & z(k) = {\bf C}{\bi x}(k) + {\bf D}u(k) + v(k)} $$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnA1.gif?pub-status=live)
where:
x(k) is an n×1 state vector.
A is an n×n state transition matrix.
u(k) is an l×1 input vector.
B is an n×l matrix.
w(k) is an n×1 process noise vector.
z(k) is an m×1 measurement vector.
C(k) is an m×n measurement matrix.
v(k) is an m×1 measurement noise vector.
Both the w(k) and v(k) are assumed to be uncorrelated zero mean Gaussian white noise sequences with covariances are given by
The Kalman filter equations may be written down into time update and measured update Equations (A2) to (A6), where:
is an estimate of the system state vector x.
K is the Kalman gain
P is the covariance matrix of the state estimation error.
Time update equations:
![$${\bi \hat x}(k + 1) = {\bf A}{\bi \hat x}(k) + {\bf B}u(k)$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnA2.gif?pub-status=live)
![$${\bf P}^ - (k + 1) = {\bf AP}(k){\bf A}^T + {\bf W}(k)$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnA3.gif?pub-status=live)
Measurement update equations
![$${\bi K}(k) = {\bf P}^ - (k)C^T \left[ {{\bf CP}^ - (k){\bf C}^T + {\bf V}(k)} \right]^{ - 1} $$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnA4.gif?pub-status=live)
![$${\bi \hat x}(k) = {\bi \hat x}^ - (k) + {\bi K}(k)\left[ {z(k) - {\bf C}{\bi \hat x}^ - (k)} \right]$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnA5.gif?pub-status=live)
![$${\bf P}(k) = \left[ {{\bf I} - {\bi K}(k){\bf C}} \right]{\bf P}^ - (k)$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnA6.gif?pub-status=live)
The measurement update equations incorporate a new observation into the a priori estimate from the time update equations to obtain an improved a posteriori estimate.
APPENDIX B
A derivation has been carried out herein to evaluate the contents of blocks N x and N u in Figure 5 for reference input tracking in an LQR control strategy (Franklin et al., Reference Franklin, Powell and Workman1998).
Let N x denotes the forward block which transforms the reference input r to a reference state x r that is an equilibrium one for that r. Mathematically, this can be stated in Equations (B1) and (B2) as:
![$${\bi N}_x r = {\bi x}_r $$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnB1.gif?pub-status=live)
![$$u = - K_{LQR} ({\bi x} - {\bi x}_r )$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnB2.gif?pub-status=live)
The final or steady state value of the states can be written in Equation (B3) as:
![$${\bi x}(\infty ) = {\bi x}_{ss} = {\bi x}_r \Rightarrow {\bi N}_x r = {\bi x}_r = {\bi x}_{ss} $$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnB3.gif?pub-status=live)
To compensate for any steady state output error in case of type 0 systems, a steady state control term is needed that is proportional to the reference input, in Equation (B4) as:
![$$u_{ss} = {\bi N}_u r$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnB4.gif?pub-status=live)
Also:
![$${\bf C}{\bi x}_{ss} = y = r \Rightarrow {\bf C}{\bi N}_x r = r \Rightarrow {\bf C}{\bi N}_x = {\bf I}$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnB5.gif?pub-status=live)
Since the system is at steady state, i.e., x(k+1)=x(k)=x ss and u=u ss, therefore:
![$${\bi x}_{ss} = {\bf A}{\bi x}_{ss} + {\bf B}u_{ss} \Rightarrow ({\bf A} - {\bf I}){\bi x}_{ss} + {\bf B}u_{ss} = 0$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnB6.gif?pub-status=live)
Substituting Equations (B4) and (B5) in the above equations:
![$$({\bf A} - {\bf I}){\bi N}_x r + {\bf B}{\bi N}_u r = 0 \Rightarrow ({\bf A} - {\bf I}){\bi N}_x + {\bf B}{\bi N}_u = 0$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnB7.gif?pub-status=live)
Finally writing Equations (B5) and (B7) in matrix form in Equation (B8):
![$$\left[ {\matrix{ {{\bf A} - {\bf I}} & {\bf B} \cr {\bf C} & 0 \cr}} \right]\left[ {\matrix{ {{\bi N}_x} \cr {{\bi N}_u} \cr}} \right] = \left[ {\matrix{ 0 \cr {\bf I} \cr}} \right]$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnB8.gif?pub-status=live)
and solving for N x and N u yields the desired result in Equation (B9):
![$$\left[ {\matrix{ {{\bi N}_x} \cr {{\bi N}_u} \cr}} \right] = \left[ {\matrix{ {{\bf A} - {\bf I}} & {\bf B} \cr {\bf C} & 0 \cr}} \right]^{ - 1} \left[ {\matrix{ 0 \cr {\bf I} \cr}} \right]$$](https://static.cambridge.org/binary/version/id/urn:cambridge.org:id:binary:20151022042325733-0238:S0373463311000701_eqnB9.gif?pub-status=live)