# 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})}$