## 1 Introduction
### Related Work  
Use of a sliding mode control (SMC) is a robust method that can successfully be applied to control both linear and non-linear systems [11; 12; 13]. As the structure of the control system may vary during the control process, a SMC is useful for its control versatility and consistency across a variety of different applications (see, e.g., [12; 14]). The first step in this approach requires a definition of the appropriate sliding surface [15]. Next, a controller must be designed to derive the state of the system from an initial condition to this sliding surface. When the system reaches the sliding surface, it remains in a so-called sliding mode. When the system is in such a mode, the robustness of the closed-loop system against external disturbances, parameter uncertainties, and variations can be assured. A SMC can be designed in two ways: (1) a linear sliding mode control system (LSMC) is used to asymptotically stabilize the closed-loop system, which means that the system will reach an equilibrium in infinite time [11]; or conversely, (2) a terminal sliding mode control system (TSMC), based on non-linear and non-smooth differential equations, enables finite-time convergence to the equilibrium [16; 17]. This paper focuses on the second design of the SMC process. Moreover, it is important to note that modern SMCs are implemented as embedded control systems. A SMC is, then, implemented on a custom hardware platform, designed and configured for the specific application. During this phase, special attention also needs to be paid to the implementation aspects, as outlined in [18]. TSMC-based methods for linear and non-linear systems, with and without external disturbances, have been investigated in many papers. The formal description of the systems usually has differing forms, depending on the control approach applied. In most cases, the system is described by a set of first-order differential equations; however, these are often decomposed into several sub-systems. The second-order form is typically used for mechanics, robotics, mechatronics, and other systems that find applications in many areas of engineering. There have also been papers investigating higher-order forms of mathematical models of the systems when designing the TSMC. The general conclusion, after the literature review, is that there are not many papers where the TSMC has been designed for a general class of systems, as the model of the system may influence both the sliding surface and controller design. A TSMC for linear second-order systems, with multiple inputs and multiple outputs, was considered in [17]. A similar case, with external disturbances included, was investigated in [19]. In this paper, the mathematical model of the system was decomposed into two sub-systems, where each of them were described by a set of first-order differential equations. Another TSMC, for an uncertain linear multi-variable system analyzed completely in a first-order form, was presented in [20]. A TSMC control for a single-input non-linear control system without disturbances was investigated in [21]. The paper [22] investigated applications of TSMC strategies to rigid robotic manipulators, whose dynamics were described by a second-order non-linear matrix differential equation. Other TSMC strategies, for similar types of systems, have been investigated in [23; 24; 25; 26]. Another TSMC approach was presented in [27; 28] for non-linear dynamical systems, including some external disturbances. In [29], a TSMC-based approach was proposed that could eliminate so-called singular phenomena. More enhancements in this research area on the topic of TSMC can be found in [30; 31; 32]. The TSMC can also be applied to uncertain linear systems, using some fuzzy logic mechanisms, as presented in [33]. In this paper, the system model is decomposed into two first-order sub-systems. A Fuzzy TSMC, for some class of non-linear systems, was developed in [34]; this approach also considered external disturbances which might influence the dynamics of the system.