# Adaptive Robust Admittance Control of Robots Using Duality Principle-Based Impedance Selection
## 4 Robust Adaptive Admittance Control Based on Time-Delay Estimation  
In this section, we propose a robust adaptive admittance control for the considered robot to track the following admittance trajectory:  
\[x_{r}=x_{d}+\bar{x}_{d} \tag{23}\]  
where \(\bar{x}_{d}\) is the output of the following dynamics:  
\[M_{d}\bar{x}_{d}+K_{d}\hat{x}_{d}+D_{d}\bar{x}_{d}=f_{d}-f_{h}. \tag{24}\]  
Define the admittance trajectory tracing error \(e_{r}\) and its filtered error \(r\) as  
\[e_{r}=x_{r}-x, \tag{25}\] \[r=\hat{e}_{r}+Ke_{r} \tag{26}\]  
where \(K=\text{diag}\{k_{i}\}\) is a positive definite diagonal matrix. The robot dynamics in (1) can be rewritten in the following form:  
\[\bar{M}\bar{x}+N(x,\hat{x},\bar{x})=u+f_{h} \tag{27}\]  
where \(\bar{M}\) is a constant matrix and \(N(x,\hat{x},\bar{x})\) is an uncertainty term defined by  
\[N(x,\hat{x},\bar{x})= (M(x)-\bar{M})\bar{x}+C(x,\hat{x})\hat{x}\] \[+G(x)+F(\hat{x}). \tag{28}\]  
**Remark 1**. : _Submitting (24) to the desired impedance dynamics in (6) yields_  
\[M_{d}(\bar{x}_{r}-\bar{x})+K_{d}(\hat{x}_{r}-\hat{x})+D_{d}(x_{r}-x)=0 \tag{29}\]  
_from which one can conclude that the desired impedance dynamics can be obtained if \(e_{r}\) is close to zero._  
**Remark 2**. : _Based on the time-delay estimation in [23; 24; 25], the control stability requires that the constant matrix \(\bar{M}\) should be chosen such that the eigenvalue of \(1-M^{-1}(x)\bar{M}\) resides inside a unit circle._  
Design the control input as  
\[u=\bar{M}(\bar{x}_{r}+K\hat{e}_{r}+K_{1}r)+\hat{N}_{(t)}-f_{h}+\rho \tag{30}\]  
where the control gain \(K_{1}=\text{diag}\{k_{1i}\}\) is a positive definite diagonal matrix, \(\rho\) is an adaptive robust control term to be designed, \(\bullet_{(t)}\) signifies the value of \(\bullet\) at time \(t\), and \(\hat{N}_{(t)}\) is the time-delay-based estimation given by  
\[\hat{N}_{(t)}=N_{(t-L)}=u_{(t-L)}+f_{h,(t-L)}-\bar{M}\bar{x}_{(t-L)} \tag{31}\]  
with the time delay \(L\) being sufficiently small. Substituting (30) into (27) yields  
\[M_{d}\bar{x}_{d}+K_{d}\hat{x}_{d}+D_{d}\bar{x}_{d}=f_{d}-f_{h}. \tag{24}\]0  
where \(e_{(t)}\) is the estimation error defined by  
\[M_{d}\bar{x}_{d}+K_{d}\hat{x}_{d}+D_{d}\bar{x}_{d}=f_{d}-f_{h}. \tag{24}\]1  
In [23], the estimation error \(\epsilon_{(t)}=[\epsilon_{(t),1},\epsilon_{(t),2},\cdots,\epsilon_{(t),n}]^{T}\) is bounded, i.e.,  
\[M_{d}\bar{x}_{d}+K_{d}\hat{x}_{d}+D_{d}\bar{x}_{d}=f_{d}-f_{h}. \tag{24}\]2  
with \(e_{\text{id}}\) being an unknown constant. To improve control robustness, the control term \(\rho\) is designed by  
\[M_{d}\bar{x}_{d}+K_{d}\hat{x}_{d}+D_{d}\bar{x}_{d}=f_{d}-f_{h}. \tag{24}\]3  
where \(\text{sat}(\cdot)\) is the saturation function and \(\mu\) is a small positive parameter. In (49), \(W=\text{diag}\{w_{ii}\}\) is updated by  
\[M_{d}\bar{x}_{d}+K_{d}\hat{x}_{d}+D_{d}\bar{x}_{d}=f_{d}-f_{h}. \tag{24}\]4  
where the projection function \(\text{proj}_{\bar{\Omega}}(\cdot)\) guarantees \(w_{ii}\in\bar{\Omega}=\{w_{ii}:0\leq w_{ii}\leq w_{d}\}\) with \(w_{d}\) being an upper bound. Remark 3: _Since \(L\) is sufficiently small, by choosing it as the sampling period, the estimation error \(\epsilon_{(t)}\) will be sufficiently small if \(N(x,\bar{x},\bar{x})\) is continuous. However, the friction \(F(\dot{x})\), including the Coulomb friction and static friction, is discontinuous and may cause a large \(\epsilon_{(t)}\). Although SMC has strong control robustness, its discontinuity may decrease the time-delay-based estimation accuracy and may lead to the chattering problem. The proposed adaptive robust control term \(\rho\) is continuous and does not require the knowledge of the bound \(\epsilon_{id}\)._  
Theorem 2: _Design the adaptive robust admittance controller in (30) for the considered robot with the dynamics in (1). Then, the tracking error \(e_{r}\) for the admittance trajectory is ultimately bounded by \(\mu/k_{1i}\)._  
Proof  
subscripts \(t_{2j}\) denote times at which \(||r(t_{2j})||=\epsilon\) and the error is leaving the compact set.