1 Introduction

For the case of tall elevator systems, the dynamic behaviour of the lifting cables during operation is an issue that has yet to be satisfactorily resolved. The highly nonlinear progression of the cable parameters has been shown to cause problematic oscillations in the acceleration and jerk responses of supertall (500 m tall) elevators [1, 2]. These fluctuations were said to have been exacerbated by increased lifting heights and velocities [1]. As such, a robust control system is required to deal with such nonlinearities and uncertainties, maintaining efficient operation of an ultratall (1000 m tall) elevator, without compromising on occupants’ safety.

The robustness of sliding mode control (SMC) to external disturbances and parameter changes is well reported in literature [3, 4], with Abdulraheem et al., applying an optimal-integral SMC for control of a nuclear reactor, where safe operation is of the utmost importance. The results indicated that the controller was highly effective in the presence of external disturbances and uncertainties [5]. Regarding traditional SMC (TSMC), the need to explicitly define the model within the control law is potentially problematic in practice, as many of the dynamics are often unknown [6]. This can be overcome by implementing a radial basis function neural network (RBFNN), which can effectively approximate the unknown nonlinearities through real-time adjustment of the connection weights [7, 8]. RBFNN was selected due to existing research highlighting better generalisation ability compared with a Takagi–Sugeno–Kang (TSK) fuzzy inference system, in addition to more stable generalisation being observed when compared with a multilayer perceptron (MLP) neural network [9]. The superiority of RBFNN over multilayer perceptron neural networks was further demonstrated by Kumar et al., with more accurate predictions of the stock market price being recorded, in comparison with a multilayer feed-forward neural network (MLFFNN). The fluctuations of the stock price were noted as being highly nonlinear and difficult to model, with the system being particularly sensitive to external factors. This was a significant result due to the simpler structure of the RBFNN, with the network consisting of just one hidden layer [10]. Use of RBFNN in SMC has been shown to achieve a reduction in chattering in a number of studies [7, 11], with Yin et al., successfully eliminating chattering during control of a quad tilt rotors aircraft (QTRA). This greatly improved the attitude control performance of the aircraft [12]. Stability of the system can be guaranteed using Lyapunov theory [7, 8, 11]. The resulting direct adaptive neural network-based sliding mode control (RBFNN-SMC) system is to be compared with a TSMC system, a nonlinear pseudo-derivative feedback (NPDF) and a nonlinear proportional-integral-derivative (NPID) controller, with previous work [2] highlighting the superiority of the NPDF and NPID control systems over their conventional equivalents for an elevator system application.

Novelty in this research exists in the implementation of intelligent SMC for an elevator application, in addition to the attempted control of an ultratall building elevator. No published research could be found on the control of roped building elevator systems exceeding 500 m in height. Furthermore, this paper will supplement the limited research that is available on NPDF control, with there being only one previous investigation [2] and one concurrent study [13] into the architecture. Given the similarity of the controller to the PID control system (one of the most common industrial controllers [14]), there exists a multitude of control applications wherein NPDF control could easily replace PID control, should it be deemed beneficial.

The mathematical model of the elevator system is described in Sect. 2. The development of the controller specifications, architectures and optimisation algorithm is presented in Sect. 3. Simulation results are presented and discussed in Sect. 4, and the paper is concluded in Sect. 5.

2 System modelling

2.1 Physical model

A simplified schematic of the full elevator system is illustrated in Fig. 1.

Fig. 1
figure 1

Simplified schematic of the elevator system

2.2 Mathematical model

Equations (1)–(6) are the governing differential equations of motion of the elevator system [2]:

$$\begin{aligned}{\dot{\omega }}_{s} \ &= \ \frac{c_cr}{J_p}v_c-\frac{c_wr}{J_p}v_w-\frac{k_cr}{J_p}x_c+\frac{k_wr}{J_p}x_w+\frac{nK_T}{J_p}i_m-\frac{\left( c_c+c_w\right) r^2}{J_p}\omega _s-\mathrm{{sign}}(\omega _s)\frac{\big (c_b|\omega _s|^{\frac{2}{3}} +c_m|\omega _s|\big )}{J_p} \end{aligned}$$
(1)
$$\begin{aligned} \dot{v}_c \ &= \ \frac{k_c}{m_c+p_c}x_c+\frac{c_cr}{m_c+p_c}\omega _s-\frac{c_c}{m_c+p_c}v_c\end{aligned}$$
(2)
$$\begin{aligned} \dot{v}_w \ &= \ \frac{k_w}{m_w+p_w}x_w-\frac{c_wr}{m_w+p_w}\omega _s-\frac{c_w}{m_w+p_w}v_w\end{aligned}$$
(3)
$$\begin{aligned}\dot{x}_c \ &= \ \omega _sr-v_c \end{aligned}$$
(4)
$$\begin{aligned}\dot{x}_w \ &= \ -\omega _sr-v_w \end{aligned}$$
(5)
$$\begin{aligned}\frac{\mathrm{{d}}}{\mathrm{{d}}t}i_m \ &= \ \frac{U_m}{L}-\frac{nK_e}{L}\omega _s - \frac{R}{L}i_m \end{aligned}$$
(6)
$$\begin{aligned}k_c \ &= \ \frac{\mathrm{{EA}}}{l_{\mathrm{{ch}}}} \end{aligned}$$
(7)
$$\begin{aligned}k_w \ &= \frac{\mathrm{{EA}}}{l_{\mathrm{{wh}}}} \end{aligned}$$
(8)
$$\begin{aligned}c_c \ &= \ 2\zeta \sqrt{k_c\Big (m_c+p_c\Big )} \end{aligned}$$
(9)
$$\begin{aligned}c_w \ &= \ 2\zeta \sqrt{k_w\Big (m_w+p_w\Big )} \end{aligned}$$
(10)
$$\begin{aligned}l_{\mathrm{{ch}}} \ &= \ h_L+h_O-d_c \end{aligned}$$
(11)
$$\begin{aligned}l_{\mathrm{{wh}}} \ &= \ h_O-d_w \end{aligned}$$
(12)
$$\begin{aligned}p_c \ &= \ p_w \ = \ (h_L+h_O)q \end{aligned}$$
(13)

where \(\omega _s\) is the angular velocity of the pulley. \(v_c\), \(x_c\), \(k_c\) and \(c_c\) represent velocity, cable extension, cable spring stiffness and cable dam** coefficient on the cabin side, respectively. \(v_w\), \(x_w\), \(k_w\) and \(c_w\) denote the same on the counterweight side. \(m_c\) and \(p_c\) are the respective masses of the elevator car (and all occupants) and all cabin-side cables. \(p_w\) is the mass of all counterweight-side cables. \(l_{\mathrm{{ch}}}\) and \(l_{\mathrm{{wh}}}\) are the respective lengths of the hoisting cables above the car and counterweight, which fluctuate during displacement of the cabin (\(d_c\)) relative to the ground and counterweight (\(d_w\)) relative to the top floor. \(i_m\) and \(U_m\) refer to the respective current through and voltage across the motor. The remaining model parameters and their values are summarised in Table 1.

The model was verified by applying a perturbation input of 240 V and observing that the system returned to rest (Fig. 2). Tachometer noise and torque disturbance are the only sources of disturbance considered in this paper. A preliminary analysis identified that superior NPDF control was achieved using the simple velocity setpoint signal (\(v_{d-s}\)) in (14). The same was not true for the NPID controller, which could not achieve control using a signal that does not account for jerk, with instantaneous transitions occurring from states of rest to acceleration to steady-state travel in (14). As such, the exact velocity setpoint signal (\(v_{d-e}\)) in (18) was derived from the exact jerk setpoint signal (\(j_{d-e}\)) in (15). Both the TSMC and RBFNN-SMC utilise all five exact setpoint signals in (15)–(19). These signals are then adapted to achieve re-levelling, with the magnitude of the re-levelling operations dependent on the gap between the cabin and the target floor after arrival.

$$\begin{aligned} v_{d-s}(t) \ &= \ {\left\{ \begin{array}{ll} t,& 0 \ \mathrm {s}\le t<10 \ \mathrm {s} \\ 10, & 10 \ \mathrm {s}\le t< 100 \ \mathrm {s}\\ -t+110, & 100 \ \mathrm {s}\le t < 110 \ \mathrm {s}\\ 0, & \text {otherwise} \end{array}\right. } \end{aligned}$$
(14)
$$\begin{aligned} j_{d-e}(t) \ &= \ {\left\{ \begin{array}{ll} 1.6,& 0 \ \mathrm {s}\le t<0.625 \ \mathrm {s} \\ -1.6, & 10 \ \mathrm {s}\le t< 10.625 \ \mathrm {s}\\ -1.6,& 100 \ \mathrm {s}\le t<100.625 \ \mathrm {s} \\ 1.6, & 110 \ \mathrm {s}\le t < 110.625 \ \mathrm {s}\\ 0, & \text {otherwise} \end{array}\right. } \end{aligned}$$
(15)
$$\begin{aligned} s_{d-e}(t) \ &= \ \frac{\mathrm{{d}}}{\mathrm{{d}}t}j_{d-e}(t) \end{aligned}$$
(16)
$$\begin{aligned} a_{d-e}(t) \ &= \int j_{d-e}(t) \ \mathrm{{d}}t \end{aligned}$$
(17)
$$\begin{aligned} v_{d-e}(t) \ &= \int a_{d-e}(t) \ \mathrm{{d}}t \end{aligned}$$
(18)
$$\begin{aligned} d_{d-e}(t) \ &= \int v_{d-e}(t) \ \mathrm{{d}}t \end{aligned}$$
(19)
Table 1 System parameters [2, 15,16,17]
Table 2 Performance specifications [2, 15]
Fig. 2
figure 2

Uncontrolled plant response to a 240 V impulse input

3 Controller implementation

3.1 Performance specifications

The controller performance specifications are listed in Table 2. The suitability of the genetic algorithm (GA) solutions are evaluated using the cost functions of five mass-distance-direction operations (\(J_\mathrm{{mass-dist-dir}}\)); which are converted into a single, combined fitness function (F) in (21).

$$\begin{aligned} \begin{aligned}J_\mathrm{{mass-dist-dir}} \ &= \ \frac{\xi }{T}\int _0^T\bigg [\beta _J\big (v_{d-e}-v_c\big )^2+\beta _J\big (d_{d-e}-d_c\big )^2+\Big (\frac{\dot{v}_c}{1.1}\Big )^2+\Big (\frac{\ddot{v}_c}{1.6}\Big )^2+\Big (\frac{P_{m_\mathrm{{tot}}}}{601}\Big )^2\bigg ]\mathrm{{d}}t\end{aligned} \end{aligned}$$
(20)
$$\begin{aligned} \begin{aligned}F \ &= \ \Big [0.6J_{3200-1000-\mathrm{{up}}}+0.1J_{4000-1000-\mathrm{{up}}}+0.1J_{1600-1000-\mathrm{{up}}}+0.1J_{4000-1000-\mathrm{{down}}}+0.1J_{1600-1000-\mathrm{{down}}}\Big ]^{-1}\end{aligned} \end{aligned}$$
(21)

where T is the simulation run time. The terms in the integrand of (20) represent setpoint tracking, promptness of arrival, improvement of ride comfort and minimisation of power consumption. The cost function is always calculated using \(v_{d-e}\) and \(d_{d-e}\) for a relevant comparison between each controller. The displacement term is evaluated only from the moment of arrival (i.e. when the cabin is within 0.1 m of the target floor), as tracking of cabin displacement is only important in the vicinity of the arrival floor. \(P_{m_\mathrm{{tot}}}\) is the total motor power consumption. A weighting factor \(\beta _J =\) 10000 is implemented to prioritise performance, while \(\xi =\) 0.0001 is an arbitrary constant used to output the solution fitness at a manageable value. As shown in (21), the operation of a 3200-kg elevator travelling upwards for 1000 m is prioritised.

3.2 Controllers’ architectures

The s-domain equations for the NPID and NPDF controllers are defined in (22) and (23), with the corresponding control architectures shown in Figs. 3 and 4, respectively.

Fig. 3
figure 3

GA-optimised NPID controller architecture

Fig. 4
figure 4

GA-optimised NPDF controller architecture

$$\begin{aligned} U(s) \ &= \ K_P\Phi _P\big (U_e(s),\alpha _P,\delta _P\big )+K_I\Phi _I\left( \frac{U_e(s)}{s},\alpha _I,\delta _I\right)+K_D\Phi _D\left( \frac{100s}{s+100} U_e(s),\alpha _D,\delta _D\right) \end{aligned}$$
(22)
$$\begin{aligned} U(s) \ &= \ K_I\Phi _I\left( \frac{U_e(s)}{s},\alpha _I,\delta _I\right)-K_P\Phi _P\big ( U_s(s),\alpha _P,\delta _P\big )-K_D\Phi _D\Big (\frac{100s}{s+100}U_s(s),\alpha _D,\delta _D\Big )\end{aligned}$$
(23)

where \(K_P\), \(K_I\) and \(K_D\) are the proportional, integral and derivative gains, respectively. A filter is present in each of the derivative terms, with the aim of attenuating high-frequency noise that could increase simulation run time. \(U_e\) is the error signal, which is calculated by taking the difference between the setpoint and the feedback sensor signal (\(U_s\)). U is the signal out of the controller, which is then passed through a saturator to obtain \(U_m\) without exceeding the maximum motor voltage. \(\alpha _I\), \(\delta _I\), \(\alpha _P\), \(\delta _P\), \(\alpha _D\) and \(\delta _D\) are parameters of the nonlinear functions (\(\Phi _I\), \(\Phi _P\) and \(\Phi _D\)) that are defined in (24) [2].

$$\begin{aligned} \Phi (x,\alpha ,\delta ) \ = \ {\left\{ \begin{array}{ll} |x|^{\alpha }\cdot \mathrm{{sign}}(x),& |x|>\delta \\ \delta ^{\alpha -1}\cdot x, & \text {otherwise} \end{array}\right. } \end{aligned}$$
(24)

The architecture of the TSMC system is illustrated in Fig. 5, with the controller defined in state-space form in (25). As shown in Fig. 6, the GA is used to select all of the RBFNN-SMC parameters, with the structure of the RBFNN illustrated in Fig. 7. Due to excessively slow run times being observed during RBFNN-SMC of the elevator, the SMC parameters of the controller (\(\rho\), \(K_R\), \(\lambda _0\), \(\lambda _1\) and \(\lambda _2\)) are optimised separately using a simplified SMC (SSMC) system defined in (26). The RBFNN-SMC then inherits these parameters from the SSMC, following which a brief GA-tuning procedure chooses the optimal number of hidden layer neurons (\(n_n\)), initial connection weight values (\(w_0\)), radial centre of the first hidden layer node (\(c_1\)), spread of the radial centres (b) and adaptive law parameter (\(\gamma\)).

$$\begin{aligned} &x_1 = \ d_c\\& \dot{x}_1 = \ x_2 \ = \ v_c\\ &\dot{x}_2 = \ x_3 \ = \ \dot{v}_c\\& \dot{x}_3 = \ x_4 \ = \ \ddot{v}_c\\ &\dot{x}_4 = \ \dddot{v}_c \ = \ {f(x)}+{g(x)}{U}+{\Delta {b(x)}}\\&\quad = \ {-\Biggl (A_fk_c+C_f\dot{c}_c-\Bigl (B_fD_f+C_f^2\Bigr )c_c^2\Biggr )\dot{v}_c}\\ &\qquad \ \ -\Biggl (A_f\dot{k}_c{-C_f\ddot{c}_c-\Bigl (3B_fD_f+2C_f^2\Bigr )\dot{c}_cc_c}\\ &\qquad \ \ -A_fD_fM_fc_ck_c {+\Bigl (B_fD_fF_fc_c+B_fC_fD_f\Bigr )c_c^2}\\ &\qquad \ \ +B_fD_fF_fc_c^2c_w\Biggr )v_c{-B_fE_fc_cc_w\dot{v}_w}\\ &\qquad \ \ -\Biggl (2B_fE_f\dot{c}_cc_w+B_fE_fc_c\dot{c}_w\\ &\qquad \ \ +A_fE_fM_fc_wk_c-\Bigl (B_fE_fF_fc_c+B_fC_fE_f\Bigr )c_cc_w\\ &\qquad \ \ \ {-B_fE_fF_fc_cc_w^2\Biggr )v_w+\Biggl (A_f\dot{k}_c-\Bigl (B_fG_f}\\ &\qquad \ \ \ {+A_fC_f\Bigr )c_ck_c\Biggr )\dot{x}_c+\Biggl (A_f\ddot{k}_c-\Bigl (2B_fG_f}\\ &\qquad \ \ \ {+A_fC_f\Bigr )\dot{c}_ck_c-\Bigl (B_fG_f+A_fC_f\Bigr )c_c\dot{k}_c}\\ &\qquad \ \ \ {-A_fG_fM_fk_c^2+\Bigl (B_fF_fG_fc_c+B_fC_fG_f\Bigr )c_ck_c}\\ & \qquad \ \ \ {+B_fF_fG_fc_cc_wk_c\Biggr )x_c+B_fH_Fc_ck_w\dot{x}_w}\\ &\qquad \ \ \ {+\Biggl (B_fH_Fc_c\dot{k}_w+2B_fH_f\dot{c}_c+A_fH_fM_fk_ck_w}\\ &\qquad \ \ \ {-\Bigl (B_fF_fH_fc_c+B_fC_fH_f\Bigr )c_ck_w}\\ &\qquad \ \ \ {-B_fF_fH_fc_cc_wk_w\Biggr )x_w+\Biggl (2B_fI_f\dot{c}_c+A_fI_fM_fk_c}\\ &\qquad \ \ \ {-\Bigl (B_fF_fI_fc_c+B_fC_fI_f+B_fI_fP_f\Bigr )c_c}\\ &\qquad \ \ \ {-B_fF_fI_fc_cc_w\Biggr )i_m+\Biggl (A_fM_f\dot{k}_c+B_f\ddot{c}_c-\Bigl (3B_fF_f}\end{aligned}$$
(25)
$$\begin{aligned} &\qquad {+2B_fC_f\Bigr )\dot{c}_cc_c-2B_fF_f\dot{c}_cc_w-B_fF_fc_c\dot{c}_w}\\ &\qquad {-B_fI_fO_fc_c-A_fF_fM_fc_ck_c+\Bigl (B_fF_f^2c_c}\\ & \qquad{+B_fC_fF_f\Bigr )c_c^2+B_fF_f^2c_c^2c_w-A_fF_fM_fc_wk_c}\\ &\qquad{+\Bigl (B_fF_f^2c_c+B_fC_fF_f\Bigr )c_cc_w+B_fF_f^2c_cc_w^2\Biggr )\omega _s}\\ &\qquad {-sign\left( \omega _s\right) \bigg [\bigg (\Biggl (A_fK_fM_fk_c+2B_fK_f\dot{c}_c}\\ &\qquad {-\Bigl (B_fF_fK_fc_c+B_fC_fK_f\Bigr )c_c}\\ & \qquad{-B_fF_fK_fc_cc_w\Biggr )|\omega _s|^\frac{2}{3}+\Biggl (A_fL_fM_fk_c+2B_fL_f\dot{c}_c}\\ &\qquad {-\Bigl (B_fF_fL_fc_c+B_fC_fL_f\Bigr )c_c-B_fF_fL_fc_cc_w\Biggr )|\omega _s|}\\&\qquad {+\bigg (\frac{2B_fD_fK_f}{3}c_c^2\frac{\omega _s}{|\omega _s|^\frac{4}{3}}+B_fD_fL_fc_c^2\frac{\omega _s}{|\omega _s|}\bigg )v_c}\\ & \qquad{-\bigg (\frac{2B_fE_fK_f}{3}c_cc_w\frac{\omega _s}{|\omega _s|^\frac{4}{3}}+B_fE_fL_fc_cc_w\frac{\omega _s}{|\omega _s|}\bigg )v_w}\\&\qquad{-\bigg (\frac{2B_fG_fK_f}{3}c_ck_c\frac{\omega _s}{|\omega _s|^\frac{4}{3}}+B_fG_fL_fc_ck_c\frac{\omega _s}{|\omega _s|}\bigg )x_c}\\ &\qquad {+\bigg (\frac{2B_fH_fK_f}{3}c_ck_w\frac{\omega _s}{|\omega _s|^\frac{4}{3}}+B_fH_fL_fc_ck_w\frac{\omega _s}{|\omega _s|}\bigg )x_w}\\ &\qquad {+\bigg (\frac{2B_fI_fK_f}{3}c_c\frac{\omega _s}{|\omega _s|^\frac{4}{3}}+B_fI_fL_fc_c\frac{\omega _s}{|\omega _s|}\bigg )i_m}\\ & \qquad{-\bigg (\frac{2B_fF_fK_f}{3}c_c^2\frac{\omega _s}{|\omega _s|^\frac{4}{3}}+B_fF_fL_fc_c^2\frac{\omega _s}{|\omega _s|}}\\ &\qquad {+\frac{2B_fF_fK_f}{3}c_cc_w\frac{\omega _s}{|\omega _s|^\frac{4}{3}}+B_fF_fL_fc_cc_w\frac{\omega _s}{|\omega _s|}\bigg )\omega _s}\\ & \qquad{-sign\left( \omega _s\right) \Biggl (\frac{2B_fK_f^2}{3}c_c\frac{\omega _s}{|\omega _s|^\frac{2}{3}}+\biggl (\frac{2B_fK_fL_f}{3}}\\ & \qquad{+B_fK_fL_f\biggr )c_c\frac{\omega _s}{|\omega _s|^\frac{1}{3}}+B_fL_f^2c_c\omega _s\Biggr )\bigg )\bigg ]}+{B_fI_fN_fc_c}{U_m}\\ &\qquad {+B_fJ_fc_c\dot{T}_d+\Biggl (A_fJ_fM_fk_c+2B_fJ_f\dot{c}_c-\Bigl (B_fF_fJ_fc_c}\\ &\qquad {+B_fC_fJ_f\Bigr )c_c-B_fF_fJ_fc_cc_w\Biggr )T_d}-sign\left( \omega _s\right) \\ &\qquad {\Biggl (\biggl (\frac{2B_fJ_fK_f}{3}c_c\frac{\omega _s}{|\omega _s|^\frac{4}{3}}+B_fJ_fL_fc_c\frac{\omega _s}{|\omega _s|}\biggr )T_d\Biggr )} \end{aligned}$$
Fig. 5
figure 5

GA-optimised TSMC architecture

Fig. 6
figure 6

GA-optimised RBFNN-SMC architecture

Fig. 7
figure 7

Structure of the RBFNN

where:

$$\begin{aligned}A_f = \frac{1}{m_c+p_c}, & B_f = \frac{r}{m_c+p_c}, C_f = \frac{1}{m_c+p_c}, D_f = \frac{r}{J_p}, \\[5pt] E_f = \frac{r}{J_p}, & F_f = \frac{r^2}{J_p}, G_f = \frac{r}{J_p}, H_f = \frac{r}{J_p}, \\[5pt] I_f = \frac{nK_T}{J_p}, & J_f = \frac{n}{J_p}, K_f = \frac{c_b}{J_p}, L_f = \frac{c_m}{J_p}, \\[5pt] M_f = r, & N_f = \frac{1}{L}, O_f = \frac{nK_e}{L}, P_f = \frac{R}{L}. \\ x_1 &= \ d_c \\ \dot{x}_1 &= \ x_2 \ = \ v_c \\ \dot{x}_2 &= \ x_3 \ = \ \dot{v}_c \\ \dot{x}_3 &= \ x_4 \ = \ \ddot{v}_c \\ \dot{x}_4 &= \ \dddot{v}_c \ = \ {f(x)}+{g(x)}{U}+{\Delta {b(x)}} \\&= \ {-\biggl (A_s-B_sD_s-C^2_s\biggr )\dot{v}_c+\biggl (A_sD_sM_s-B_sD_sF_s} \\&\quad \ \ \ {-B_sC_sD_s\biggr )v_c-B_sE_s\dot{v}_w-\biggl (A_sE_sM_s-B_sE_sF_s} \\ &\quad \ \ \ {-B_sC_sE_s\biggr )v_w-\biggl (A_sC_s+B_sG_s\biggr )\dot{x}_c-\biggl (A_sG_sM_s} \\ &\quad \ \ \ {-B_sF_sG_s-B_sC_sG_s\biggr )x_c+B_sH_s\dot{x}_w+\biggl (A_sH_sM_s} \\ &\quad \ \ \ {-B_sF_sH_s-B_sC_sH_s\biggr )x_w+\biggl (A_sI_sM_s-B_sF_sI_s} \\ &\quad \ \ \ {-B_sC_sI_s-B_sI_sP_s\biggr )i_m-\biggl (A_sF_sM_s-B_sF^2_s} \\ &\quad \ \ \ {-B_sC_sF_s+B_sI_sO_s\biggr )\omega _s+B_sI_sN_sU_m+B_sJ_s\dot{T}_d} \\ &\quad \ \ \ {+\biggl (A_sJ_sM_s-B_sF_sJ_s-B_sC_sJ_s\biggr )T_d} \end{aligned}$$
(26)

where:

$$\begin{aligned} \begin{array}{llll} A_s = \frac{k_c}{m_c+p_c}, & B_s = \frac{c_cr}{m_c+p_c}, & C_s = \frac{c_c}{m_c+p_c}, & D_s = \frac{c_cr}{J_p}, \\[5pt] E_s = \frac{c_wr}{J_p}, & F_s = \frac{(c_c+c_w)r^2}{J_p}, & G_s = \frac{k_cr}{J_p}, & H_s = \frac{k_wr}{J_p}, \\[5pt] I_s = \frac{nK_T}{J_p}, & J_s = \frac{n}{J_p}, & K_s = \frac{c_b}{J_p}, & L_s = \frac{c_m}{J_p}, \\[5pt] M_s = r, & N_s = \frac{1}{L}, & O_s = \frac{nK_e}{L}, & P_s = \frac{R}{L}. \end{array} \end{aligned}$$

The RBFNN-SMC equation takes the form of (26), but with \({f(x)}\) being an unknown nonlinear function defined by (27) [7].

$$\begin{aligned} {f(x)} \ &= \ {\varvec{W}}^{*T}\varvec{h(x)}+\epsilon \end{aligned}$$
(27)

where \({\varvec{W}}^{*}\) is the ideal neural network weight value and \(\epsilon\) is the neural network approximation error (\(\epsilon <\epsilon _N\)). \({f(x)}\) is approximated using (28), with the Gaussian radial basis function defined in (29) [7]:

$$\begin{aligned} {\hat{f}(x)} \ &= \ \varvec{\hat{W}}^{T}\varvec{h(x)} \end{aligned}$$
(28)
$$\begin{aligned} h_j \ &= \ \mathrm{{exp}}\left( -\frac{||{\varvec{x}}-\varvec{c_j}||^2}{2b^2}\right) \end{aligned}$$
(29)

where \(||{\varvec{x}}-\varvec{c_j}||\) is the Euclidean distance between the input (\({\varvec{x}}\)) and the jth radial centre (\(\varvec{c_j}\)), with \(b>0\). As shown in (25) and (26), both SMC systems have a relative degree of 4. Hence, the switching function (s) takes the form [18]:

$$\begin{aligned} s \ &= \ \dddot{e}_0+\lambda _2\ddot{e}_0+\lambda _1\dot{e}_0+\lambda _0e_0 \end{aligned}$$
(30)

where \(\lambda _2\), \(\lambda _1\) and \(\lambda _0>0\) in order to satisfy the Hurwitz condition. The tracking error and its derivatives are calculated:

$$\begin{aligned} \dddot{e}_0 \ &= \ \ddot{v}_c-j_{d-e} \end{aligned}$$
(31)
$$\begin{aligned} \ddot{e}_0 \ &= \ \dot{v}_c-a_{d-e} \end{aligned}$$
(32)
$$\begin{aligned} \dot{e}_0 \ = \ v_c-v_{d-e} \end{aligned}$$
(33)
$$\begin{aligned} e_0 \ &= \ d_c-d_{d-e} \end{aligned}$$
(34)

The control law of the TSMC is given in (35), while the saturation function within the control law is defined in (36) [18].

$$\begin{aligned} U \ &= \ \frac{1}{{g(x)}}\bigg (s_{d-e}-{f(x)}-\lambda _2\dddot{e}_0-\lambda _1\ddot{e}_0-\lambda _0\dot{e}_0-1.1K_Rsat(s,\rho )\bigg ) \end{aligned}$$
(35)
$$\begin{aligned} sat(s,\rho ) \ &= \ {\left\{ \begin{array}{ll} 1, \ &s > \rho \\ s, \ &-\rho \le s \le \rho \\ -1, \ &s < -\rho \end{array}\right. } \end{aligned}$$
(36)

where \(\rho >0\) and has a small value. \(K_R\) is the reaching law gain and must ensure that \(\Delta {b(x)}\) is overcome by maintaining that \(K_R \ge |{\Delta {b(x)}}|\) for the TSMC. The Lyapunov function and its derivative for the TSMC are defined in (37) and (38), with (39) representing the Lyapunov function for the RBFNN-SMC [7]:

$$\begin{aligned} V \ &= \ \frac{1}{2}s^2 \end{aligned}$$
(37)
$$\begin{aligned} \dot{V} \ &= \ s\dot{s} \end{aligned}$$
(38)
$$\begin{aligned} V \ &= \ \frac{1}{2}s^2+\frac{1}{2\gamma }\varvec{\tilde{W}}^{T}\varvec{\tilde{W}} \end{aligned}$$
(39)

where \(\varvec{\tilde{W}} = \varvec{\hat{W}}-{\varvec{W}}^{*}\) and \(\gamma >0\). From (27) and (28) we get:

$$\begin{aligned} \begin{aligned} f(x)-\hat{f}(x) \ &= \ {\varvec{W}}^{*T}\varvec{h(x)}+\epsilon -\varvec{\hat{W}}^{T}\varvec{h(x)}\\ &= \ -\varvec{\tilde{W}}^{T}\varvec{h(x)}+\epsilon \end{aligned} \end{aligned}$$
(40)

Hence, the derivative of the Lyapunov function in (39) can be written as:

$$\begin{aligned} \begin{aligned} \dot{V} \ &= \ s\dot{s}+\frac{1}{\gamma }\varvec{\tilde{W}}^{T}\varvec{\dot{\hat{W}}}\\&= \ s\biggl (\bigl (f(x)+g(x)U+\Delta b(x)\bigr )-s_{d-e}+\lambda _2\dddot{e}_0+\lambda _1\ddot{e}_0+\lambda _0\dot{e}_0\biggr )+\frac{1}{\gamma }\varvec{\tilde{W}}^{T}\varvec{\dot{\hat{W}}} \end{aligned} \end{aligned}$$
(41)

The control law of the RBFNN-SMC is designed:

$$\begin{aligned} \begin{aligned} U \ &= \ \frac{1}{{g(x)}}\bigg (s_{d-e}-{\hat{f}(x)}-\lambda _2\dddot{e}_0-\lambda _1\ddot{e}_0-\lambda _0\dot{e}_0-1.1K_Rsat(s,\rho )\bigg ) \end{aligned} \end{aligned}$$
(42)

Substituting (42) into (41) gives:

$$\begin{aligned} \begin{aligned} \dot{V} \ &= \ s\bigl (f(x)-\hat{f}(x)+\Delta b(x)-1.1K_Rsat(s,\rho )\bigr )+\frac{1}{\gamma }\varvec{\tilde{W}}^{T}\varvec{\dot{\hat{W}}}\\ &= \ s\biggl (-\varvec{\tilde{W}}^{T}\varvec{h(x)}+\epsilon +\Delta b(x)-1.1K_Rsat(s,\rho )\biggr )+\frac{1}{\gamma }\varvec{\tilde{W}}^{T}\varvec{\dot{\hat{W}}}\\&= \ \bigl (\epsilon +\Delta b(x)\bigr ) s-1.1K_Rsat(s,\rho )s+\varvec{\tilde{W}}^{T}\biggl (\frac{1}{\gamma }\varvec{\dot{\hat{W}}}-s\varvec{h(x)}\biggr ) \end{aligned} \end{aligned}$$
(43)

From (43), the RBFNN-SMC adaptive law is subsequently designed as [7]:

$$\begin{aligned} \varvec{\dot{\hat{W}}} \ = \ \gamma s \varvec{h(x)} \end{aligned}$$
(44)

By substituting (44) into (43), it can be seen that if the reaching law gain is selected to ensure that \(K_R \ge |\epsilon _{\max }|+|\Delta {b(x)}|\), then \(\dot{V}=\bigl (\epsilon +\Delta b(x)\bigr ) s-1.1K_Rsat(\rho ,s)s <0\). As such, a suitably large reaching law gain is required in order to overcome the combination of the RBFNN approximation error and external disturbances, thereby ensuring system stability. For the case where \(\dot{V} \equiv 0\), the sliding surface is defined as \(s \equiv 0\). Therefore, the closed-loop system is asymptotically stable based on the La Salle invariance principle (\(s\rightarrow 0\) as \(t\rightarrow \infty\)), with the accuracy of the convergence being dependent on the reaching law gain. Since \(V\ge 0\) and \(\dot{V}\le 0\), V is restricted as \(t\rightarrow \infty\). Hence, it can be seen that \(\varvec{\hat{W}}\) is also limited. Additionally, it can be said that \(\varvec{\hat{W}}\) will never converge to \({\varvec{W}}^*\), as \(\varvec{\tilde{W}} \equiv 0\) cannot be achieved when \(\dot{V} \equiv 0\) [7].

3.3 Genetic algorithm optimisation

The GA parameters are defined in Table 4. The GA-optimisation procedure consists of initialisation of the algorithm, definition of the stop** conditions, generation of offspring and replacement of the parents with the new generation [15]. Convergence is assumed if the fittest solution has not increased by more than 0.005% after \(\theta\) generations, if and only if \(k_{\min }\) iterations have been achieved. \(k_{\max }\) is the maximum allowable number of generations. Each generated individual is evaluated on the ability to maintain control of the five cabin mass, travel distance and travel direction combinations detailed in (21). By obtaining a solution that could control each of the four extreme mass-distance-direction combinations, it was hypothesised that such a solution would be able to control any given combination. In order to reduce run time due to the possibility of five simulations per individual, a number of simulation stop** conditions have been implemented (refer to Table 3). Additionally, the simulations are performed in the order that they are given in (21), with any failed simulation resulting in a low combined fitness (F) being recorded. The remaining simulations are then skipped and the code proceeds to the analysis of the next individual within the population. This ensures that only competitive individuals are simulated five times, significantly reducing GA run time. Regarding optimisation of the RBFNN-SMC, once the number of neurons (\(n_n\)) and first radial centre (\(c_1\)) are generated by the GA-code, the value of all radial centres can then be calculated using:

$$\begin{aligned} \varvec{c_j} \ = \ c_1+(j-1)\frac{2|c_1 |}{n_n-1} \quad j \ = \ 1,2,\dots ,n_n \end{aligned}$$
(45)

Although the connection weight parameters are to be adjusted online according to (44), the selection of initial weight values could have a noticeable impact on tracking performance. Each of the connection weights (\(w_1\) to \(w_{n_n}\)) will have their initial value set to \(w_0\), which must be carefully optimised by the GA.

Table 3 Simulation stop** condition definitions
Table 4 GA-code setup parameters

4 Results and discussion

Table 5 Initial guesses (IG), means and standard deviations (SD) of the GA-optimised controller parameters
Table 6 Controller performance summary

The evolution of all controller fitness functions and control parameters, are given in Figs. 8, 9, 10, 11, 12, 13, 1415, 16, 17, 18, 19 and 20. The corresponding velocity, acceleration, jerk and displacement responses are subsequently provided (Figs. 21, 22, 232425, 26). As shown in Figs. 16, 17, 18, 19 and 20, the initial RBFNN parameters (\(n_n\), \(w_0\), \(c_1\), b and \(\gamma\)) of the RBFNN-SMC were determined through a brief GA-optimisation procedure, with the parameters \(\rho\), \(K_R\), \(\lambda _0\), \(\lambda _1\) and \(\lambda _2\) being inherited from a separately optimised SSMC (Figs. 11, 12, 13, 14, 15). As detailed in Table 6, the RBFNN converged to a 10-8-1 structure, with the input vector given as \({\varvec{x}} = [\dot{v}_c \ v_c \ \dot{v}_w \ v_w \ \dot{x}_c \ x_c \ \dot{x}_w \ x_w \ i_m \ \omega _s]^T\). Using (45), the centres were calculated to be \({\varvec{c}} = [-1417 \ \ -1012.14 \ \ -607.29 \ \ -202.43 \ \ 202.43 \ \ 607.29 \ \ 1012.14 \ \ 1417]^T\), while the optimal spread of the centres was found to be \(b=1334.40\). The initial connection weight (\(w_0\)) for all eight neurons was set to \(-1.23\), with the adaptive law parameter of \(\gamma\) = 130,000 used for online adjustment of the weights during simulation. As seen in Table 5, excessive run times were recorded across each of the ten simulations during optimisation of the RBFNN parameters, without any noticeable improvements to the fitness of the initial guess being observed. This can be seen in the evolution of the fitness function for each of the controllers in Fig. 8. As shown, the NPID controller attained the highest fitness function, closely followed by both SMC variants. The NPDF controller returned the lowest fitness value, due to a combination of the relatively high velocity overshoot (refer to Fig. 22) and the late arrival (refer to Fig. 26). It should be noted, however, that the NPDF-controlled cabin arrived less than half a second after its NPID-controlled equivalent, with the high stability of the arrival actually hindering the recorded fitness. As is visible in the displacement response plot, the gradual drop of the NPID-controlled cabin across the arrival floor resulted in a high arrival accuracy being recorded. The TSMC, which obtained the second highest solution fitness, was characterised by a similar instability. It can be concluded that future work should introduce an additional term to the cost function in (20) for a more accurate evaluation, whereby the controllers are greatly rewarded for minimising velocity once the cabin has arrived.

Fig. 8
figure 8

Evolution of the fitness function (F) versus the number of population generations in the GA (k)

Fig. 9
figure 9

Evolution of the proportional nonlinear \(\delta\) term (\(\delta _P\)) versus the number of population generations in the GA (k)

Fig. 10
figure 10

Evolution of the integral nonlinear \(\delta\) term (\(\delta _I\)) versus the number of population generations in the GA (k)

Fig. 11
figure 11

Evolution of the SMC saturation function coefficient (\(\rho\)) versus the number of population generations in the GA (k)

An additional observation from the zoomed velocity plot in Fig. 22 is the similarity of the TSMC and RBFNN-SMC responses. Although more of a divergence can be seen towards the end of the zoomed displacement plot (Fig. 26), the responses remained similar. This suggests that for a real-world system, where the system dynamics and uncertainties would likely be nearly impossible to model perfectly, RBFNN approximation could allow effective control of the system to be achieved without the need to develop a complex control law. The approximation of the system dynamics is illustrated in Fig. 27, which includes a magnification of the response to a noise-induced spike occurring at 18 seconds. As shown, a marginal reduction in the approximation accuracy was observed as \({f(x)}\) began to fluctuate following the spike, with \(\hat{f}(x)\) peaking at noticeably higher values. Control was regained within 0.2 seconds, as the connection weights of the hidden layer neurons were adapted in real time to account for the disturbance, as shown in Fig. 28. The influence of the nonlinear functions on control performance is made clear when analysing the evolution of the NPDF controller fitness function (F) in Fig. 8, \(\delta _P\) term in Fig. 9 and \(\delta _I\) term in Fig. 10. Referring to Table 6, it can be seen that the improved control performance was achieved solely by the modification of the \(\delta _P\) and \(\delta _I\) terms, with the seven other parameters remaining unchanged from the initial guesses (recorded in Table 5). The evolution of \(\delta _P\) from 3.05 to 3.55 resulted in a marginal decrease in proportional action for lower feedback sensor signals, while \(\delta _I\) being lowered from 4.51 to 2.51 led to a more noticeable increase in integral action for smaller errors.

In terms of the robustness to parameter variations, all of the controllers were observed to achieve acceptable performance for each of the cabin masses, travel distances and travel directions considered. Each of the 600 m travel operations (consisting of cabins of various mass travelling to/from a floor 200 m above ground from/to a floor 800 m above ground) experienced the most severe displacement overshoots/undershoots—the lowest being 0.24 m for the NPDF controller, with the highest being 0.27 m recorded during NPID control. Figures 29 and 30 highlight the substantial changes in cable stiffness caused by a cabin travelling to/from the top floor, in comparison with the other travel operations, which appear in the figure as horizontal lines by comparison. Despite the 800 m travel operation arriving at a floor 900 m above ground (having started 100 m above ground), the corresponding cable stiffness response was dwarfed by that of the elevator arriving a mere 100 m higher. Although similar behaviour was observed in the dam** coefficients (Figs. 31, 32), the increases were not directly proportional. As such, the controllability of the system was greatly reduced when travelling to/from the top floor, leaving open the possibility of oscillations being induced due to relatively low cable dam** (as was observed during conventional pseudo-derivative feedback control in previous work [2]). These drastic and nonlinear fluctuations in both the cabin and counterweight-side cable dynamics were predominantly due to the relatively low override height of 2 m. Noting an initial cabin-side cable length of 1002 m and a final cabin-side cable length of 2 m, the increase in the cabin-side cable stiffness can be calculated to be 50,000% for a 1000-m-tall elevator travelling from the bottom to the top floor. By comparison, a system having an override height of 10 m would experience only a 10,000% increase during the same operation. As expected, this increase introduced a serious control challenge to be overcome, evidenced by the average run time per ten individuals of the NPID and NPDF controllers in Table 5. The relatively low run times suggest that a high number of simulations experienced premature termination due to the introduction of Simulation Stop** Conditions 6 and 7 (refer to Table 3). This was confirmed by briefly increasing the override height to 10 m, which greatly improved the controllability of the system using NPID and NPDF control. In contrast to the NPID and NPDF controllers, the SMC architectures returned run times indicative of the majority of generated solutions being successful. Both of the SMCs were seemingly undeterred by the challenging override height, with the aforementioned robustness of the SMC architecture [3] ensuring that consistent and effective control was achieved, despite the severe changes in the nonlinear cable dynamics. A subsequent downside to the majority of solutions within each population being successful is the high run times that it causes, as was observed for both SMC variants. As recorded in Table 5, optimisation of the RBFNN parameters resulted in excessive run times to simulate 10 individuals, being over 4 times slower than the TSMC. It was for this reason that the SMC parameters of the RBFNN-SMC were optimised separately using an SSMC; as it allowed for more iterations to determine optimal values of \(\rho\), \(K_R\), \(\lambda _0\), \(\lambda _1\) and \(\lambda _2\). As recorded, utilisation of the SSMC resulted in a noticeable reduction in run time compared with the TSMC, somewhat decreasing the total time required for RBFNN-SMC tuning.

Fig. 12
figure 12

Evolution of the SMC reaching law gain (\(K_R\)) versus the number of population generations in the GA (k)

Fig. 13
figure 13

Evolution of the SMC coefficient \(\lambda _0\) versus the number of population generations in the GA (k)

Fig. 14
figure 14

Evolution of the SMC coefficient \(\lambda _1\) versus the number of population generations in the GA (k)

Fig. 15
figure 15

Evolution of the SMC coefficient \(\lambda _2\) versus the number of population generations in the GA (k)

Although each of the controllers successfully attained acceptable performance, arriving within 0.3 m of the target floors in every scenario, passengers would not be able to safely board or disembark from the cabin with such a gap being present. An adaptive re-levelling operation was applied to each control system in an attempt to reduce the separation to no more than 3 mm. The displacement responses before and after the operation was applied to the 3200-kg cabins that had travelled from the ground to the top floor are illustrated in Fig. 33, indicating that improved arrival accuracy was achieved by each of the control systems. More detail relating to the re-levelling responses is given in Fig. 34, highlighting that all of the controllers were able to re-level to the required accuracy within 7 seconds of the scheduled arrival of 110 s. Although the TSMC ensured the quickest time to door-open, the NPDF controller greatly outperformed the competition in terms of precision, doing so with a door-open time of less than a second later. The adaptations to the various velocity setpoint signals to achieve re-levelling are shown in Fig. 35, while Fig. 36 indicates that re-levelling was achieved without exceeding the post-arrival jerk constraint of 0.17 m/s3, irrespective of control architecture used.

The re-levelling procedure was also applied to the responses that arrived farthest away from the target destination—the 3200-kg cabins travelling upwards for a distance of 600 m. From Fig. 37, it can be seen that the re-levelling process significantly reduced the overshoot of the cabins from the arrival floor. Figure 38 illustrates that the NPDF, TSMC and RBFNN-SMC all met the time to door-open requirements by utilising the adapted setpoints in Fig. 39, with the NPDF controller enabling the quickest and most accurate re-levelling procedure. The NPID controller was unable to re-level the cabin within 77 seconds, in addition to the fact that the simulation was stopped before it could be confirmed that the cabin would remain within 3 mm of the arrival floor. Figure 40 shows that the NPID controller also failed to limit the experienced post-arrival jerk to 0.17 m/s3, with high-frequency oscillations being induced for a short period of time. Although such a response is not necessarily a safety issue, corresponding torque chattering could potentially damage the actuator. Considering the overall re-levelling performance of the controllers, it can be said that the NPDF controller was clearly the most effective control scheme. While noticeable oscillations could be observed in the displacement responses of the NPID and both SMC architectures, the NPDF controller was able to adjust the position of the cabins to well within 1 mm of the arrival floor in both scenarios. In addition to the effectiveness of the control system, the implementation of adaptive re-levelling was significantly easier to achieve, in comparison with the other control schemes. As NPDF control was enabled using the simple velocity setpoint, re-levelling was performed without the need for any alterations to the adaptive re-levelling equation. Given the fact that the exact velocity setpoint was used for NPID control, with the signal being derived from the jerk setpoint, the re-levelling equation needed to be converted by applying a filtered derivative to ensure that the jerk constraints were not exceeded. The same was true for both SMC architectures, with the additional need to adapt the setpoints for the higher derivatives. Beyond these considerations for the NPID and SMC architectures, additional restrictions were required in order to meet the comfort and safety constraints. Rather than initiating at the moment of arrival, re-levelling using SMC had to be delayed until the cabin decelerated to a velocity of 0.1 m/s, while the threshold for NPID controller was set at 0.02 m/s. This relatively poor performance of the NPID controller in particular is a significant result, given the prevalence of the PID architecture in industry [14], which includes its use in modern VVVF drives [\(H_\infty\) and square root unscented Kalman filtering, proved to be highly effective [22]. If sensor noise-incited chattering could be eliminated, it is possible that highly effective elevator control could be achieved with an RBFNN-SMC that employs a sign function. Initial analyses indicated that a TSMC utilising a sign function exhibited superior control capabilities, but could not be implemented due to the unacceptable chattering that was induced.

Fig. 26
figure 26

Displacement response of the 3200-kg cabins (zoomed into the moment of arrival)

Fig. 27
figure 27

RBFNN approximation of \({f(x)}\) during RBFNN-SMC of the 3200-kg cabin

Fig. 28
figure 28

Adaptation of the hidden layer neuron connection weights during RBFNN-SMC of the 3200-kg cabin

Fig. 29
figure 29

Change in \(k_c\) during RBFNN-SMC of 3200-kg cabins travelling to different floors

Fig. 30
figure 30

Change in \(k_w\) during RBFNN-SMC of 3200-kg cabins travelling to different floors

Fig. 31
figure 31

Change in \(c_c\) during RBFNN-SMC of 3200-kg cabins travelling to different floors

While this research has shown that it is possible to separately tune the RBFNN and SMC parameters of an RBFNN-SMC, an improved response would likely be obtained by simultaneous optimisation of all parameters. Due to the excessive run times recorded during GA-tuning of the initial RBFNN parameters, a different optimisation method would likely be required. Alternative global optimisation techniques that have been suggested for selection of RBFNN-SMC parameters include differential evolution (DE) and particle swarm optimisation (PSO) [23]. Additionally, RBFNN-SMC design utilising the minimum parameter learning (MPL) method could be implemented to reduce the number of adaptive parameters [7], thereby easing computational load and reducing run time during optimisation.

Fig. 32
figure 32

Change in \(c_w\) during RBFNN-SMC of 3200-kg cabins travelling to different floors

Fig. 33
figure 33

Re-levelling response of the 3200-kg cabins after 1000 m upwards travel (zoomed to arrival)

Fig. 34
figure 34

Re-levelling response of the 3200-kg cabins after 1000 m upwards travel (zoomed to door-open)

Fig. 35
figure 35

Adaptive re-levelling velocity setpoint signals (\(v_{d-r}\)) for the 3200-kg cabins travelling upwards for 1000 m

Fig. 36
figure 36

Jerk response of the 3200-kg cabins during re-levelling after 1000 m upwards travel (zoomed to door-open)

Fig. 37
figure 37

Re-levelling response of the 3200-kg cabins after 600 m upwards travel (zoomed to arrival)

Fig. 38
figure 38

Re-levelling response of the 3200-kg cabins after 600 m upwards travel (zoomed to door-open)

Fig. 39
figure 39

Adaptive re-levelling velocity setpoint signals (\(v_{d-r}\)) for the 3200-kg cabins travelling upwards for 600 m

Fig. 40
figure 40

Jerk response of the 3200-kg cabins during re-levelling after 600 m upwards travel (zoomed to door-open)

Fig. 41
figure 41

Total motor torque during actuation of the 3200-kg cabins (zoomed into the period of acceleration)

Fig. 42
figure 42

Total motor torque during actuation of the 3200-kg cabins (zoomed into a section during steady-state travel)

5 Conclusions and future work

As shown in the obtained results, effective RBFNN-SMC performance was observed, despite the system dynamics being approximated in the control law (as opposed to being explicitly modelled). Although the RBFNN-SMC was able to rapidly regain control following sensor noise-induced spikes, with the connection weights of the eight hidden layer neurons being adapted online to attenuate the oscillations, problematic chattering was identified in the torque plots for short periods of time. While the RBFNN-SMC architecture was seen to greatly reduce chattering for the most part, these brief fluctuations following sharp changes in the sensor noise suggest that the control system would not be viable in practice without the aid of a noise-reducing filter. Regarding the practicality of SMC being applied to such a system, the difficulty in directly measuring experienced jerk and the inability to perfectly model all of the uncertainties and nonlinearities in the control law of the TSMC would severely hinder the performance of the controllers in reality. There would be little reason to apply either SMC variant in place of NPDF control, considering that the latter requires only one feedback signal and significantly outperformed the competition during re-levelling. The NPDF controller was able to rapidly and safely adjust the final position of the cabins to within 1 mm of the arrival floor in both of the considered cases, highlighting the suitability of the architecture for an ultratall elevator application. Future work should introduce other evolutionary algorithms for comparison with the GA, as well as the implementation of MPL to attempt to reduce RBFNN-SMC run time. Additionally, real-world investigations should be performed to assess the viability of replacing existing PI and/or PID controllers with the PDF or NPDF control architecture, particularly for applications that require highly accurate controller performance.