# Notes on [Hybrid neural network fraction integral terminal sliding mode control of an Inchworm robot manipulator](https://www.sciencedirect.com/science/article/abs/pii/S0888327016300449) #### Author:- [Uddesh Tople](https://github.com/uddeshtople) ###### Tags : `sliding mode` `neural network` `chattering` `hybrid control` ## Brief Outline This paper propose a novel hybrid control technique for chattering reduction. Adaptive neural network(ANN) can be used to estimate the unknown disturbances. Chattering phenomena can be reduced by using neural network. ## Abstract * The control scheme proposed is based on fractional integral terminal sliding mode control(FITSMC) and adaptive neural network. * Fraction integral terminal sliding mode control is applied to obtain initial stability while adaptive neural network method is adopted to approximate system uncertainties and unknown disturbances to reduce chattering phenomena. * the ITSMC is proposed to remove reaching stage for increasing robustness of the fractional-order system. ## Kinematic Description ![](https://i.imgur.com/0h4H8x0.png) Distance travelled by snake per cycle is given by $x = 2l(1-cos\alpha)$ where, $l$ is length of link and $\alpha$ is the gait angle. The main motion pattern can be categorized into four sub-mechanisms as shown in the table. ![](https://i.imgur.com/CNA1Jxt.png) considering angles formed by link in the global frame. The geometric constraints of the system can be defined as $\sum_{i=1}^{n} sin\phi_i = 0$ where $n$ and $\phi_i$ can be defined as no.of joints and angle of $i^{th}$ link with positive x axis. ## Dynamic Modelling of inchworm robot ### Velocity of centroid:- $\bar{v_p} = v_p+\frac{l_p}{2} \dot{\phi_p}(-sin\phi_p \hat{i}+cos\phi\hat{j})$ ### Height of centroid point for $p^{th}$ link :- $\bar{h_p} = \sum_{j=1}^p(l_j sin\phi_j)-\frac{l_p}{2}sin\phi_p$ ### Total Kinetic Energy :- $T = \frac{1}{2}\sum_{p=1}^{3}(m_p\bar{v_p}^2+I_p\dot{\phi_p}^2)$ $T=\frac{1}{24}ml^2(28\dot{\phi_1}^2+16\dot{\phi_2}^2+4\dot{\phi_3}^2+36\dot{\phi_1}\dot{\phi_2}C_{12}+12\dot{\phi_2}\dot{\phi_3}C_{23}+12\dot{\phi_3}\dot{\phi_1}C_{31})$ ### Total gravitational potential energy is given by :- $V = \sum_{p=1}^{3}m_pg\bar{h_p}= \frac{1}{2}mgl(5sin\phi_1+3sin\phi_2+sin\phi_3)$ --- ### Virtual Work Consider $\tau$ as joint torque exerted to the links. $F_r$ and $F_f$ denote the normal and frictional force exerted at the tip of last link. Virtual work done due to allnon conservative forces is given by:- ![](https://i.imgur.com/Y7EkfEy.png) where $\lambda p = l_p(cos\phi_p+\bar{\mu}sin\phi)$ and $\bar{\mu} = \mu sgn(v_{tip}.e_t)$ **motion equations can be obtained by applying Euler-Lagrange relation,** $\frac{d}{dt}(\frac{\partial T}{\partial \dot{\phi_x}})-\frac{\partial T}{\partial \phi_x} + \frac{\partial V}{\partial\phi_x} = Q_x$ Subsituting values of $T,V and Q_x$ from above equations for particular mechanism, we will get equations in the form:- $M(\theta)\ddot{\theta}+C(\theta)\dot{\theta}^2+G(\theta) = D \tau + \lambda(\theta)F_R$ $M(\theta)$ is the mass matrix of manipulator, $C(\theta)$ is the centrifugal coefficient matrix, $G(\theta)$ is the gravity vector. $\ddot{\theta}=-Y\dot{\theta}^2-PG+Q\tau+RF_r$ ...**where** $Y=M^{-1}(\theta)C(\theta),$ $P=M^{-1}(\theta),$ $Q=M^{-1}(\theta)D,$ **and** $R=M^{-1}(\theta)\lambda$ $u(t)=\tau$ **is the control vector.** $\Delta Y$, $\Delta P$, $\Delta Q$, $\Delta F$ presents uncertainties of parameter variations. $\dot{\theta} = -(Y+\Delta Y)\theta^2 - (P+\Delta P)G(\theta)+(Q+\Delta Q)u(t)+(R+\Delta R)F_r$ We can also express dynamic model in terms of state variable as: $\dot x = f(x)+g(x)u+d_u$ $y=x$ .....where $y$ is controller output. --- ## Sliding mode control Sliding surface is given by $s = \dot e+ \beta e$ where $\beta$ =$diag[\beta_1 \beta_2 \beta_3]$ is a known vector of slopes , named bandwidth of sliding mode control and $e = \theta - \theta_d$ and $\dot e = \dot{\theta} - \dot{\theta_d}$ For desired performance $\dot s(t)=0$ with respect to uncertainty $d(t)= 0$ $\dot{s} = \ddot \theta - \ddot \theta_r$ $\dot{s} = -Y\dot{\theta}^2-PG(\theta)+Qu(t)+RF_r-\ddot \theta_r$ $u_{eq}=Q^{-1}[\ddot \theta_r+Y\dot{\theta}^2+PG(\theta)-RF_r]$ The secondary control endeavor deal with reaching control endeavor by $u_s(t)$.In this issue, the Lyapunov function defined as: $V(t)=\frac{1}{2}s^T(t)s(t)$ With V(0)=0 and V(t)>0 for $s(t) \neq 0$. The reaching phase which guarantee the trajectory tracking of position error can be referred to reaching phase, which can be written as:- $\dot V=s^T(t)s(t)<0$, $s(t)\neq 0$ The equivalent control term thus can be written as :- $u(t) = u_{eq}(t)+u_s(t)$ where $u_s$ is reaching control and $u_eq$ is sliding control term According to equation of $V$ above we have:- ![](https://i.imgur.com/jRwZIw0.png) Reaching control can be determined by :- $u_s=K_ssign[s(t)]$ The SMC method displays the undesirable chattering phenomenon due to discontinuous part of controller. This can be reduced by replacing $sgn(s)$ with $sat(s,\xi)$ ## Integral Sliding mode control Integral Sliding mode function is defined as: $s(t)=e_x(t)+\lambda \dot e_{ix}(t)$ $\dot e_{ix}(t)=sign(e_{x}(t))$ where $\lambda$ >0; $e_{ix}(t)$ is the integration of $sign(e_x(t))$ and has intitial value $-e_x(0)/\lambda$ therefore we can write above equation as:- $s(t)=e_x(t)+\lambda\int_{0}^tsign(e_x(\tau))dx$ If $s(t)$ is maintained at zero such that $e_x(t) = -\lambda e_{ix}(t)$, then with subsitution we have $\dot e_{ix}(t)=-sign(\lambda e_{ix}(t))$ However $e_{ix}$ converge in finite time $T_s = |e_{ix}(0)|=\frac{|e_x(0)|} {\lambda}$ ## Hybrid neural network fraction integral terminal sliding mode control(FITSMC) FITSMC function is defined as; $s(t)=e_x(t)+\lambda e_{ix}(t)$ $\dot e_{ix}(t)=e_x^{\frac{p}{q}}(t)$ therefore, sliding function can be written as: $s(t)=e_x(t)+\lambda\int^{t}_{0} e_x^{\frac{q}{p}}(\tau)d\tau$ on the surface s(t)=0, the integrator is defined as: $\dot e_{ix}(t)= -\lambda \frac{q}{p} e^{\frac{q}{p}}_{ix}(t)$ From solving error dynamic, the convergence time of $e_{ix}(t)$ is obtained as: $T_f= \frac{|e_{ix}(0)|^{1-\frac{q}{p}}}{\lambda^\frac{q}{p}(1-\frac{q}{p})}=\frac{|e_{x}(0)|^{1-\frac{q}{p}}}{\lambda(1-\frac{q}{p})}$