# Variable Admittance Control in Sliding Mode for Robust Physical Human-Robot Interaction
## 3 Reachability in VAC
### Chattering Removal  
The proposed control law consists of discontinuous control that usually gives rise to chattering. One of the most used techniques to reduce chattering is replacing the signum function in Equation (30) with a saturation function, \(sat(s_{i}/\epsilon)\),  
\[sat\left(\frac{\sigma_{i}}{\dot{\phi}_{i}}\right)=\left\{ \begin{array}{cc}1,&\sigma_{i}/\dot{\phi}_{i}>-1\\ \sigma_{i}/\dot{\phi}_{i},&-1<\sigma_{i}/\dot{\phi}_{i}<1\\ -1,&\sigma_{i}/\dot{\phi}_{i}<-1\end{array} \right. \tag{47}\]  
It compromises stability and tracking precision to a certain degree by adding a boundary layer with a thickness of \(\phi_{i}\) (\(i=1\ldots n\)) to the sliding surface. One disadvantage of the above technique is that \(\phi_{i}\) needs to be designed by trial and error to achieve a trade-off  
Figure 5: Implementation of SMC in VAC for Kinova Gen3. **(a)** displays the interaction force. The nominal force in Equation (2) is defined as 5 N, and the maximum safe operating speed is selected as 0.1 m/s in Equation (5). Effort-saving behavior is reflected by the observation that higher velocity is maintained even if the interaction force restores the nominal level from \(-7\) N between 4–5 s. Safe interaction is reflected by the constrained velocity within 0.1 m/s under higher force. In **(b)**, a sliding mode gain is used without considering time-varying admittance parameters, resulting in oscillation around 4 s. In contrast, the proposed control law, i.e., Equations (30)–(32), leads to an improvement in performance in **(c)**. The modeling error is purposely designed to be large to demonstrate the robustness of the controller, where the mass of each link in modeling is designed as \(\dot{m}_{1}=0.93\) kg, \(\dot{m}_{2}=0.27\) kg, and \(\dot{m}_{3}=60\) kg, compared to the exact value, \(m_{1}=9.3\) kg, \(m_{2}=2.7\) kg, and \(m_{3}=6.0\) kg, respectively. between robustness and tracking precision. For example, the chattering appears in Figure 6 (c.f., Figure 5c) if the boundary layer thickness is too small. In [33], \(\phi_{i}\) was made time-varying for exploiting the control bandwidth:  
\[\dot{\phi}_{i}(t)+\lambda_{i}\phi_{i}(t)=K^{0}_{smc}(\mathbf{x}_{s}) \tag{48}\]  
where \(K^{0}_{smc}\) indicates the initial value of sliding mode gain computed from Equation (30); \(\lambda_{i}\) shares the same definition as appeared in Equation (8); it can be recognized as the break-frequency in the first-order filter of input perturbations (or uncertainties) to output \(\mathbf{\sigma}\). Then \(K_{smc}\) can be defined as a function of boundary layer thickness as  
\[K_{smc}=K_{smc}(\mathbf{x})-K_{smc}(\mathbf{x}_{s})+\lambda_{i}\phi_{i}(t) \tag{49}\]  
The merit of the time-varying boundary layer is that it takes system uncertainties into account, such that its thickness is adapted to system dynamic changes. Though, \(K_{smc}(\mathbf{x})\) and \(K_{smc}(\mathbf{x}_{s})\) might have deviations at the beginning of the reaching phase, in which \(\mathbf{x}\
eq\mathbf{x}_{s}\), considering the finite reach time of sliding mode control and subtraction in Equation (49), it is fairly assumed \(K_{smc}(\mathbf{x})\approx K_{smc}(\mathbf{x}_{s})\) during the sliding mode under constraints of boundary layer. As a result, one obtains  
\[K_{smc}=\lambda_{i}\phi_{i} \tag{50}\]  
Combining Equations (46) and (48) in the Laplace domain, one obtains  
\[\mathcal{L}(K_{smc})=\frac{\lambda\mathcal{L}(K^{0}_{smc})}{s+\lambda} \tag{51}\]  
\(K_{smc}\) is nothing but a low-pass-filtered version of \(K^{0}_{smc}\). In our case \(K^{0}_{smc}\) is calculated from Equation (31), which guarantees system stability. In fact, the definition of Equation (31) considers the worst-case scenario, i.e., \(\parallel\tilde{\mathbf{x}}_{s}\parallel\) is maximized in the presence of bounded uncertainties. Hence, the new low-pass-filtered gain does not distort the stability condition. It is crucial to notice that our sliding surface, i.e., Equation (26), does not include \(\lambda\).