# Control for Ship Course-Keeping Using Optimized Support Vector Machines
## 1 Introduction  
Ship motion control plays an important role in guaranteeing the safety and economy of a ship in navigation. Well-designed control systems allow ships to sail and perform tasks with adequate reliability and economy in severe seas, which are usually due to uncertain environmental forces induced by wind, waves, and current. Since the ship dynamics are nonlinear essentially and often affected by uncertain environmental forces, it is challenging to achieve a robust and accurate control system for ship motion, which refers to course-keeping, roll stabilization, path following, dynamic positioning, vertical motion control, and station-keeping [1]. Conventional control strategies like PID control can no longer satisfy the requirement of navigation, guidance and control of ships. During recent decades, many advanced control schemes have been developed and successfully applied to ship motion control, including sliding mode variable structure control [2; 3]; parameter adaptive control [4; 5]; H-infinity robust control [6; 7]; neural-network control [8; 9]; fuzzy control [10; 11]; neuro-fuzzy control [12; 13]; line-of-sight based model control [14; 15], etc. To obtain a controller for ship motion, knowledge of the ship's dynamic characteristics is necessary. This knowledge can be obtained through the mathematical model of ship motion. In ship motion control, usually two kinds of mathematical models are available, i.e., control-design models and high-fidelity models [1]. A precise mathematical model of the plant allows one to design a satisfactory controller by applying some conventional control strategies such as linearization feedback control [16], PID control [17], and adaptive control [18]. However, the ship dynamics is inevitably affected by some uncertainties, which might degrade the controller performance if the uncertainties are not properlycompensated for or suppressed in the controller design. Such uncertainties include modeling errors and disturbances. For modeling errors, they refer to parameter errors, ignored high-order modes and unmodelled dynamics of ship motion. Examples of unmodelled dynamics are thrust and torque losses, cross-coupling drag, varying wake, air suction and interaction between the thruster and the hull [19]. For disturbances, they result from random noises in mechanical and electrical equipments, or the environmental forces induced by wind, waves and current. Usually, neither modeling errors nor disturbances can be described by precise mathematical expressions. Therefore, a robust and accurate control scheme is required. H-infinity control is one of the main choices [20; 21]. However, there are two difficulties with this method. One is that prior knowledge about the bound of an uncertainty is required, which is challenging sometimes. The other is the difficulty in guaranteeing the control accuracy because of the absence of adaptation to the changing characteristics of uncertainties. To deal with the uncertainties in a plant, an artificial intelligence (AI)-based controller provides another interesting and effective option. Such an AI-based controller is characterized by nonlinear mapping and on-line learning abilities, which make it possible to identify and compensate for the uncertainties in the plant. Commonly employed AI computing approaches include neural networks (NN), Bayesian probability, fuzzy logic, machine learning, evolutionary computation and genetic algorithms. Combined with AI computation, the controller performance can be greatly improved [22]. In the field of ship motion control, during last decades there have been many NN applications e.g., [8; 9; 23; 24]. Comparatively, SVM is a novel technique of Artificial Intelligence. This kind of learning machine aims to achieve structural risk minimization (SRM) [25] that makes it outperform the algorithms based on empirical risk minimization (ERM) like NN. Better generalization ability can be guaranteed because not only prediction error but also model complexity is considered when performing SRM.