Hostname: page-component-cd9895bd7-q99xh Total loading time: 0 Render date: 2024-12-26T08:13:12.419Z Has data issue: false hasContentIssue false

Force tracking smooth adaptive admittance control in unknown environment

Published online by Cambridge University Press:  17 March 2023

Chengguo Liu
Affiliation:
College of Mechanical and Vehicle Engineering, Chongqing University, Chongqing 400044, China State Key Laboratory of Mechanical Transmission, Chongqing University, Chongqing 400044, China
Zeyu Li*
Affiliation:
School of Mechanical Engineering and Automation, Beihang University, Beijing 100191, China
*
*Corresponding author. E-mail: AaronLee150102@buaa.edu.cn
Rights & Permissions [Opens in a new window]

Abstract

In this research, a force tracking smoothing adaptive admittance controller is proposed that grants precise contact forces (performance necessary for many critical interaction tasks such as polishing) for unknown interaction environments (e.g., leather or thin and soft materials). First, an online indirect adaptive update strategy is proposed for generating the reference trajectory required by the desired tracking force, considering the uncertainty of the interaction. The sensor noise amplitude is environment dynamics and the necessity condition for traditional admittance controller to achieve ideal steady-state force tracking. Then, a pre-PD controller is introduced to increase the parameter convergence rate while ensuring the steady-state force tracking accuracy and enhancing the robustness of the system. The robustness boundary is also analyzed to provide assurance for the stability of the system. Finally, we verify the effectiveness of the proposed method in simulations. Simultaneously, an experiment is conducted on the AUBO-i5 serial collaborative robot, and the experimental results proved the excellent comprehensive performance of the control framework.

Type
Research Article
Copyright
© The Author(s), 2023. Published by Cambridge University Press

1. Introduction

In recent years, research in the field of robotics has made rapid progress thanks to the unremitting efforts of many researchers [Reference Haddadin, De Luca and Albu-Schaffer1Reference Yu, Liu, He, Liu, Chen and Ding3]. Among them, the contact interaction between robots and unknown physical environments is becoming an important part of robot applications, such as surface treatment of thin-walled parts [Reference Cao, He, Chen and Liu4Reference Ochoa and Cortesao6], medical rehabilitation and physiotherapy [Reference Ajani and Assal7Reference Song, Pan, Xu and Li9], physical human-robot interaction [Reference Alevizos, Bechlioulis and Kyriakopoulos10Reference Yu, Zhang, Sun, Wang, Xue and Li14], and humanoid robots [Reference Ugurlu, Havoutis, Semini, Kayamori, Caldwell and Narikiyo15, Reference Al-Shuka, Corves, Zhu and Vanderborght16]. It is well known that the essential problem of the interaction between the robot and the physical environment is to control the magnitude of the interaction force to prevent it from reaching the unbearable range of the control object and directly leading to the failure of the task or even more serious consequences. Such force overshoot may be due to measurement or communication delays, uncertainties in the robot/environment dynamics model, and discontinuities in controller inputs. To solve this thorny problem, researchers have proposed some active compliance control methods.

Hybrid position/force control [Reference Raibert and Craig17] and impedance control [Reference Hogan18Reference Hogan20] are the most widely used compliance control schemes, and they can be distinguished by the relationship between position and force. The hybrid position/force control defines the entire workspace as two task subspaces, which are called position control subspace and force control subspace, and the position controller and the force controller act on the corresponding subspaces, separately. The proper division of the task subspace is the most important step in the overall control strategy, and it depends on prior knowledge of the environment structure and geometry. However, it is difficult to obtain accurate environmental geometry information in advance, which limits the application of the robot in unknown physical environments. In particular, the hybrid position/force control strategy does not consider the physical coupling between the robot and the interaction environment and yields better control performance only when more accurate external force signals are obtained. Also, it cannot consider both force control and position control in the same direction [Reference Song, Yu and Zhang21]. In addition, switching different control modes according to the division of the subspace will also lead to some unstable responses.

In contrast, impedance control couples the inherently independent robot and the interaction environment by establishing the dynamic relationship between the interaction force error and the position error [Reference Al-Shuka, Leonhardt, Zhu, Song, Ding and Li22, Reference Valency and Zacksenhouse23]. Thus, impedance control performs better in terms of “flexibility” and “adaptability” [Reference Calanca, Muradore and Fiorini24]. “Flexibility” means that the target impedance parameters can be designed flexibly to make the robot have the compliance required for the task. “Adaptability” has two aspects. At first, impedance control is adapted to different phases of the operational task. Specifically, the robot can employ a unified impedance model in free space, contact space, and transition space of contact interaction without the need to switch other control modes. Then, impedance control can be adapted to a variety of unknown environments, which also reflects the inherent robustness of impedance control.

As shown in Fig. 1, there are two general categories depending on whether the robot’s inner loop is position or torque-controlled: position-based impedance control (admittance control) and dynamic-based impedance control, which usually appear in pairs. Since the inner loop of admittance control is position control, it can be implemented on most industrial robots with a position control interface, and its control performance mainly depends on the accuracy of the position control [Reference Keemink, van der Kooij and Stienen25]. At present, robot position control can achieve high control accuracy, so it has better robustness [Reference Labrecque and Gosselin26, Reference Ferraguti, Landi, Sabattini, Bonfè, Fantuzzi and Secchi27]. Therefore, the follow-up research in this article is based on the discussion of admittance control.

Figure 1. The implementation comparison of impedance and admittance control.

Force tracking has attracted many researchers in the last decades [Reference Kim, Yoo, Seo, Kim and Kim28Reference Li, Ganesh, Jarrassé, Haddadin, Albu-Schaeffer and Burdet31]. For the situation where the environmental dynamics parameters are known, the traditional force control strategies can achieve good performance. But for the unknown interactive environment, the control performance depends mainly on the accuracy of the environmental dynamic parameters with which the robot interacts. Given this, the research on adaptive controllers plays an extremely important role in improving the control performance of robot interaction tasks. To address this critical issue, Horak et al. [Reference Horak and Trinkle32] describe four current mainstream interaction models and their differences and proposed accordingly: Projected Gauss-Seidel method, which applies to all solvers. It plays an important role in solving the coupling system of the robot interaction environment. Ott et al. [Reference Ott, Mukherjee and Nakamura33] enhance the robustness of the impedance controller in unknown environments by switching the controller online by sensing the dynamic interactive environment and considering different adaptation scenarios of impedance and admittance control. Seraji et al. [Reference Seraji and Colbaugh34] design two adaptive environment identification algorithms to deal with the uncertainty of environmental parameters. The first scheme uses the model-reference adaptive control to generate the reference position online based on the force tracking error, and the second scheme uses the indirect adaptive strategy to estimate the environmental dynamics parameters online by designing the Lyapunov function. Jung et al. [Reference Jung, Hsia and Bonitz35] propose a simple algorithm for determining reference trajectories in the presence of unknown environments. This algorithm was developed based on force sensor data to replace unknown stiffnesses and combined with an impedance function resulting in a force tracking impedance model. Roveda et al. [Reference Roveda, Pedrocchi, Vicentini and Tosatti36] design the extended Kalman filter and the Kalman filter for estimating the environmental stiffness and the robot’s base position, respectively. Then, they propose a closed-loop system to track the target force by compensating for the base deformation, and its consistent stability is verified. Valency et al. [Reference Valency and Zacksenhouse37] study feedback methods for implementing impedance control and reveal a fundamental conflict between impedance accuracy and uncertainty robustness. And then, they propose a novel and practical approach to promote system robustness and maintain accurate impedance tracking.

The above research has improved the overall performance of impedance-controlled robots from different perspectives and greatly improved the compliance of the robots. However, the ability of robots to perform tasks in unknown environments is still limited. In particular, few researches have considered both the dynamic characteristics of the interaction environment, the transient convergence rate, and steady-state tracking characteristics, which results in limited global adaptability of the impedance-controlled robot.

In response to the above challenges, this research proposes a smooth adaptive admittance controller (SAAC) considering these issues simultaneously to ensure the global performance of the robot.

The contributions of this research can be summarized as follows:

  1. a. Environmental dynamics are considered in the optimal interaction analysis, which is described as an unknown linear system.

  2. b. A pre-PD controller has been introduced to improve the admittance model, combined with an indirect adaptive update strategy to enhance the force control performance of the robot control system to cope with unknown interaction environments.

  3. c. The stability and robustness of the proposed method are proven for stable and reliable force tracking execution.

  4. d. The adaptive parameters are adjusted in real time by a task-oriented algorithm without the need for training data, which ensures the precise force interaction between the robot and any unknown environment.

The rest of this article is organized as follows: Section 2 introduces the system model and compliance control strategy. Section 3 shows the overall control framework of this research. Section 4 gives the simulation results, and Section 5 gives the experimental results. Finally, Section 6 concludes the research.

2. System model and compliance control

2.1. Environmental dynamics model

As shown in Fig. 2, the environmental dynamics model is defined as

(1) \begin{equation} \begin{array}{c} F_{e}\!\left(t\right)=K_{e}\!\left(t\right)\!\left(X_{e}\!\left(t\right)-X\!\left(t\right)\right) \end{array} \end{equation}

where $F_{e}$ is the interaction force between the robot and the unknown environment, $K_{e}$ is the environment stiffness, $X_{e}$ is the equilibrium position of the environment, X is the current position of the robot. It is important to emphasize that the environmental mass $M_{e}$ and damping $B_{e}$ are not considered. (as in many works, such as in [Reference Seraji and Colbaugh34, Reference Duan, Gan, Chen and Dai38])

Figure 2. The graphic representation of robots interacting with an unknown environment.

2.2. Traditional admittance control

The purpose of the admittance control is to establish the dynamic relationship between the robot interaction force error $E_{f}$ and the difference $\Delta X$ between the desired position $X_{d}$ of the robot and the commanded position $X_{c}$ . The traditional admittance model is

(2) \begin{equation} \begin{array}{c} E_{f}\!\left(t\right)=F_{d}\!\left(t\right)-F_{e}\!\left(t\right)=M\left[\ddot{X}_{d}\!\left(t\right)-\ddot{X}_{c}\!\left(t\right)\right]+B\left[\dot{X}_{d}\!\left(t\right)-\dot{X}_{c}\!\left(t\right)\right]+K\left[X_{d}\!\left(t\right)-X_{c}\!\left(t\right)\right] \end{array} \end{equation}

where $M\in R^{n\times n}$ , $B\in R^{n\times n}$ , and $K\in R^{n\times n}$ are diagonal mass, damping, and stiffness matrix of the admittance model. $F_{d}\in R^{n}$ and $F_{e}\in R^{n}$ represent the desired tracking force and the actual interaction force between the robot and the unknown environment. At present, robot position control technology is quite mature, so $X\approx X_{c}$ is considered correct.

To simplify the expression, this research investigates the one-dimensional case by using the symbols $e_{f}$ , $f_{d}$ , $f_{e}$ , $x_{d}$ , $x_{c}$ , and $x$ instead of $E_{f}$ , $F_{d}$ , $F_{e}$ , $X_{d}$ , $X_{c}$ , and $X$ . Thus, Eq. (2) can be reformulated as follows:

(3) \begin{equation} \begin{array}{c} e_{f}\!\left(t\right)=f_{d}\!\left(t\right)-f_{e}\!\left(t\right)=m\ddot{e}\!\left(t\right)+b\dot{e}\!\left(t\right)+ke\!\left(t\right) \end{array} \end{equation}

where $e(t)=x_{d}(t)-x_{c}(t)$ .

Similarly, using $k_{e}$ , $x_{e}$ instead of $K_{d}$ , $X_{e}$ , Eq. (1) can be simplified as

(4) \begin{equation} \begin{array}{c} f_{e}\!\left(t\right)=k_{e}\!\left(t\right)\!\left(x_{e}\!\left(t\right)-x\!\left(t\right)\right) \end{array} \end{equation}

The detailed schematic diagram of admittance control is shown in Fig. 3.

Figure 3. The schematic diagram of AC.

To simplify the analysis, the environmental stiffness $k_{e}$ is assumed to be time-invariant, yields

\begin{equation*} e_{f}\!\left(t\right)=m\left[\ddot{x}_{d}\!\left(t\right)-\ddot{x}_{e}\!\left(t\right)+\frac{\ddot{f}_{d}\!\left(t\right)-\ddot{e}_{f}\!\left(t\right)}{k_{e}}\right] \end{equation*}
(5) \begin{equation} \begin{array}{c} +b\left[\dot{x}_{d}\!\left(t\right)-\dot{x}_{e}\!\left(t\right)+\dfrac{\dot{f}_{d}\!\left(t\right)-\dot{e}_{f}\!\left(t\right)}{k_{e}}\right]+k\left[x_{d}\!\left(t\right)-x_{e}\!\left(t\right)+\dfrac{f_{d}\!\left(t\right)-e_{f}\!\left(t\right)}{k_{e}}\right] \end{array} \end{equation}

Laplace transform of Eq. (5) can be obtained

(6) \begin{equation} \begin{array}{c} k_{e}e_{f}\!\left(s\right)= \left(ms^{2}+bs+k\right)\left[k_{e}\!\left(x_{d}\!\left(s\right)-x_{e}\!\left(s\right)\right)+f_{d}\!\left(s\right)-e_{f}\!\left(s\right)\right] \end{array} \end{equation}

The environmental position $x_{e}$ and the desired tracking force $f_{d}$ are assumed to change like step functions such that their Laplace transforms become $x_{e}(s)=x_{e}/s$ and $f_{d}(s)=f_{d}/s$ with constant $x_{e}$ and $f_{d}$ . Then, Eq. (6) is simplified and Eq. (7) can be obtained from the final value theorem.

(7) \begin{equation} \begin{array}{c} e_{ss}=\lim _{s\rightarrow 0} se_{f}\!\left(s\right)=\lim _{s\rightarrow 0}\dfrac{s\!\left(ms^{2}+bs+k\right)\left[k_{e}\!\left(x_{d}\!\left(s\right)-x_{e}\!\left(s\right)\right)+f_{d}\!\left(s\right)\right]}{ms^{2}+bs+k+k_{e}}=\dfrac{k\left[k_{e}\!\left(x_{d}-x_{e}\right)+f_{d}\right]}{k+k_{e}} \end{array} \end{equation}

If one makes the steady-state tracking error asymptotically stable, the reference trajectory $x_{d}$ needs to meet the following conditions:

(8) \begin{equation} \begin{array}{c} x_{d}=x_{e}-\dfrac{f_{d}}{k_{e}} \end{array} \end{equation}

However, the equilibrium position $x_{e}$ and stiffness $k_{e}$ of the environment cannot be accurately known, and it is difficult to measure during the robot’s task execution. Therefore, the indirect adaptive update strategy will be used to estimate the environmental dynamics parameters, and then to obtain the reference trajectory required by the desired tracking force.

3. Overall control framework

3.1. Adaptive admittance control

In order to obtain the reference trajectory $x_{d}$ of the robot, an indirect adaptive update strategy is used in this research to estimate the environmental stiffness parameter $k_{e}$ and the environmental equilibrium position $x_{e}$ online. Assuming that the estimated values of environmental stiffness $k_{e}$ and environmental equilibrium position $x_{e}$ are $\hat{k}_{e}$ and $\hat{x}_{e}$ , the estimated external force $\hat{f}_{e}$ is

(9) \begin{equation} \begin{array}{c} \hat{f}_{e}=\hat{k}_{e}\!\left(\hat{x}_{e}-x\right)=\hat{k}_{e}\hat{x}_{e}-\hat{k}_{e}x=\hat{k}_{x}-\hat{k}_{e}x \end{array} \end{equation}

Defining ${\varnothing }=\left[\begin{array}{c} {\varnothing }_{1}\\[5pt] {\varnothing }_{2} \end{array}\right]=\left[\begin{array}{c} \hat{k}_{e}-k_{e}\\[5pt] \hat{k}_{x}-k_{x} \end{array}\right]$ and substituting into Eq. (9), yields

(10) \begin{equation} \begin{array}{c} \hat{f}_{e}-f_{e}=\hat{k}_{e}\hat{x}_{e}-k_{e}x_{e}-\hat{k}_{e}x+k_{e}x=\hat{k}_{x}-k_{x}+\!\left(k_{e}-\hat{k}_{e}\right)x=\left[\begin{array}{c@{\quad}c} -x & 1 \end{array}\!\right]{\varnothing } \end{array} \end{equation}

A control strategy is designed based on the “prediction error” $\hat{f}_{e}-f_{e}$ to dynamically adjust $\hat{k}_{e}$ and $\hat{x}_{e}$ , such that when $t\rightarrow \infty$ , $\hat{f}_{e}\rightarrow f_{e}$ . When $\hat{f}_{e}=f_{e}$ , yields

(11) \begin{equation} \begin{array}{c} f_{e}=\hat{k}_{e}\hat{x}_{e}-\hat{k}_{e}x=\hat{k}_{e}\!\left(x_{d}+\dfrac{f_{d}}{\hat{k}_{e}}\right)-\hat{k}_{e}x=f_{d}+\hat{k}_{e}\!\left(x_{d}-x\right) \end{array} \end{equation}

So

(12) \begin{equation} \begin{array}{c} {f_{d}}-f_{e}=e_{f}=-\hat{k}_{e}\!\left(x_{d}-x\right) \end{array} \end{equation}

Substituting Eqs. (12), (3) is expressed as

(13) \begin{equation} \begin{array}{c} m\ddot{e}+b\dot{e}+\!\left(k+\hat{k}_{e}\right)e=0 \end{array} \end{equation}

Thus, when $\hat{f}_{e}\rightarrow f_{e}$ , either $\hat{k}_{e}\rightarrow -k$ or $e\rightarrow 0$ . The former case $\hat{k}_{e}\rightarrow -k$ is well avoided, since $k_{e}$ is greater than zero, and $\hat{k}_{e}$ is a strictly positive definite estimation. The latter case $e\rightarrow 0$ means $x\rightarrow x_{d}$ , that is $f_{e}\rightarrow f_{d}.$

Remark: In above derivation, $\hat{k}_{e}$ and $\hat{x}_{e}$ do not have to converge to the true values of the environmental model parameters, but only one utilizes $\hat{k}_{e}$ and $\hat{x}_{e}$ to designed an adaptive update law such that $f_{e}\rightarrow f_{d}$ when $\hat{f}_{e}\rightarrow f_{e}$ .

Based on the above theoretical derivation, the corresponding Lyapunov function is designed as

(14) \begin{equation} \begin{array}{c} V={\varnothing }^{T}P{\varnothing } \end{array} \end{equation}

where $P$ is the positive real diagonal matrix defined in advance.

Taking the first-time derivative of $V$ yields

(15) \begin{equation} \begin{array}{c} \dot{V}=2{\varnothing }^{T}P\dot{{\varnothing }} \end{array} \end{equation}

From the second method of Lyapunov and LaSalle’s invariance principle, we know that the condition for system stability is $\dot{V}\leq 0.$ Thus, based on Eq. (4), we design $\dot{{\varnothing }}=-P^{-1}\left[\begin{array}{c} -x\\[5pt] 1 \end{array}\right](\hat{f}_{e}-f_{e})$ , and substituting it into the Eq. (15) yields:

(16) \begin{equation} \begin{array}{c} \dot{V}=-2\left[\begin{array}{c@{\quad}c} \hat{k}_{e}-k_{e} & \hat{k}_{x}-k_{x} \end{array}\right]\left[\begin{array}{c} -x\\[5pt] 1 \end{array}\right]\!\left(\hat{f}_{e}-f_{e}\right)=-2\!\left(\hat{f}_{e}-f_{e}\right)^{2}\leq 0 \end{array} \end{equation}

Thus, the system is stable, and the environmental dynamics parameters can be calculated as follows:

(17) \begin{equation} \begin{array}{c} \hat{k}_{e}\!\left(t\right)=\hat{k}_{e}\!\left(0\right)+\alpha \int _{0}^{t}x\!\left(\hat{f}_{e}-f_{e}\right)dt \end{array} \end{equation}
(18) \begin{equation} \begin{array}{c} \hat{x}_{e}\!\left(t\right)=\hat{x}_{e}\!\left(0\right)-\beta \int _{0}^{t}\dfrac{\hat{f}_{e}-f_{e}}{\hat{k}_{e}\!\left(t\right)}\!\left(\dfrac{\alpha }{\beta }x\hat{x}_{e}\!\left(t\right)+1\right)dt \end{array} \end{equation}

where $\alpha ={P_{11}}^{-1}$ , $\beta ={P_{22}}^{-1}$ , $P_{11}$ , $P_{22}$ are positive scalar constants. $f_{e}$ is obtained from a 6-axis force sensor installed at the end of the robot, and $\hat{f}_{e}$ is calculated from $\hat{k}_{e}$ and $\hat{x}_{e}$ .

Finally, the reference trajectory can be obtained as

(19) \begin{equation} \begin{array}{c} \hat{x}_{d}\!\left(t\right)=\hat{x}_{e}\!\left(t\right)-\dfrac{f_{d}\!\left(t\right)}{\hat{k}_{e}\!\left(t\right)} \end{array} \end{equation}

In summary, the whole indirect adaptive update strategy is carried out based on the main line of estimating $\hat{k}_{e}$ and $\hat{x}_{e}$ to obtain $\hat{x}_{d}$ . The Lyapunov function is designed based on ${\varnothing }$ and $\dot{{\varnothing }}$ is designed according to the stability criterion of the second method of Lyapunov to obtain the update law of $\hat{k}_{e}$ and $\hat{x}_{e}$ , so as to accomplish our desired goal: the accurate estimation of the desired trajectory $\hat{x}_{d}$ to obtain the excellent force tracking performance of the robot.

The schematic diagram of adaptive admittance control (AAC) based on the indirect adaptive update strategy is shown in Fig. 4. However, due to the uncertainty of the environmental dynamics model, the steady-state tracking error will still exist. Therefore, a smooth adaptive admittance controller (SAAC) based on a pre-PD controller and indirect adaptive update strategy will be proposed to maximize the force tracking accuracy.

Figure 4. The schematic diagram of AAC. Compared with the AC, the modules of indirect adaptive law and reference trajectory generation have been added.

3.2. Smooth adaptive admittance control

Equation (3) reveals that the admittance model acts as a second-order low-pass filter. The force feedback signal is converted to a position correction signal in the admittance control framework. This greatly tests the trajectory tracking ability of the internal position controller, and a high-gain PD controller is generally used to improve the fast response-ability. For purpose of comprehensively improving the fast convergence ability of parameters, mitigating the influence of high gain of the internal position controller, and improving the accuracy of force tracking, a pre-PD controller is put forth to improve the admittance model and it is designed as

(20) \begin{equation} \begin{array}{c} k_{p}e_{f}\!\left(t\right)+k_{d}\dot{e}_{f}\!\left(t\right)=m\ddot{e}\!\left(t\right)+b\dot{e}\!\left(t\right)+ke\!\left(t\right) \end{array} \end{equation}

where $k_{p}$ and $k_{d}$ are the proportional and differential gains of the pre-PD controller.

Referring to Eq. (7), the steady-state error expression of the system after the introduction of the pre-PD controller can be obtained as

(21) \begin{equation} \begin{array}{c} e_{ss}=\lim _{s\rightarrow 0} se_{f}\!\left(s\right)=\dfrac{s\!\left(ms^{2}+bs+k\right)\left[k_{e}\!\left(x_{d}\!\left(s\right)-x_{e}\!\left(s\right)\right)+f_{d}\!\left(s\right)\right]}{ms^{2}+\!\left(b+k_{e}k_{d}\right)s+k_{e}k_{p}+k_{e}+k} \end{array} \end{equation}

The reference trajectory expression represented by the numerator of the Eq. (21) remains unchanged, and the increase in the denominator reduces the steady-state error. This feature reveals that integrating pre-PD controllers to improve the admittance model is reasonable because it not only coexists with the indirect adaptive update strategy but also improves the steady-state tracking accuracy. Figure 5 shows the schematic diagram of smooth adaptive admittance control (SAAC).

Figure 5. The schematic diagram of SAAC. Compared with AAC, a pre-PD controller has been introduced to improve the admittance model.

3.3. System robustness analysis

Stability is the ability of a system to return to the desired state when subjected to transient perturbations, while robustness is the ability of a system to maintain the desired state when subjected to continuous perturbations. Therefore, stability and robustness analysis are essential for control systems. As mentioned in Subsection 3.1, the stability of the system is derived by designing a suitable Lyapunov function. In this subsection, the robustness of the control system is analyzed.

Since the environmental position parameter $x_{e}$ cannot be estimated precisely, the impact of these uncertainties on the control system performance must be considered. Therefore, two issues need to be addressed.

  1. a. Ensure that the robot is in contact with the physical environment.

  2. b. Achieving accurate force tracking for robots.

The reference trajectory of the robot from free space to contact space is $x_{d}=x_{e}-\Delta x_{d}$ , and

(22) \begin{equation} \begin{array}{c} \Delta x_{d}=\dfrac{f_{d}}{k_{e}} \end{array} \end{equation}

Then, the environmental stiffness can be written as

(23) \begin{equation} \begin{array}{c} \hat{k}_{e}=\dfrac{f_{e}}{\hat{x}_{e}-x} \end{array} \end{equation}

In fact, $f_{e}$ and $\hat{x}_{e}$ are the estimated values that are closer to the true value due to measurement and estimation errors. Substituting Eq. (23) into Eq. (22), one obtains

(24) \begin{equation} \begin{array}{c} \Delta x_{d}=\dfrac{f_{d}\!\left(\hat{x}_{e}-x\right)}{f_{e}} \end{array} \end{equation}

It reveals that when $f_{e}\rightarrow 0$ , $\Delta x_{d}$ is infinite. But on the other hand, $f_{e}\rightarrow 0$ means $x\rightarrow x_{e}$ or $x_{e}\lt x$ , because when $x_{e}\lt x$ , the robot will not be in contact with the physical environment, so there will be no interaction force. Similarly, when $x\rightarrow x_{e}$ , $f_{e}\rightarrow 0$ , it is derived with L’Hospital’s rule as

(25) \begin{equation} \begin{array}{c} \lim _{x-x_{e}\rightarrow 0,f_{e}\rightarrow 0} \Delta x_{d}=f_{d} \end{array} \end{equation}

Then, $\Delta x_{d}$ can be expressed as

(26) \begin{equation} \begin{array}{c} \Delta x_{d}=\begin{cases} \dfrac{f_{d}\!\left(\hat{x}_{e}-x\right)}{f_{e}} & \textrm{if }f_{e}\neq 0\\[10pt] \;\,\quad f_{d} & \textrm{if }f_{e}=0 \end{cases} \end{array} \end{equation}

In this way, the whole process of the robot from the free space to the contact space can be unified, and the differential function of motion of the robot in the whole space can be obtained by substituting it into the admittance model.

According to Eq. (20) yields

(27) \begin{equation} \begin{array}{c} \ddot{e}+\dfrac{1}{m}\!\left(b\dot{e}+ke-k_{p}e_{f}-k_{d}\dot{e}_{f}\right)=0 \end{array} \end{equation}

1. When the robot is in the contact space

Combining $x_{d}=x_{e}-\Delta x_{d}$ with Eq. (24) yields

(28) \begin{equation} \begin{array}{c} \ddot{\delta }-\Delta \ddot{x}_{d}+\dfrac{1}{m}\left[b\!\left(\dot{\delta }-\Delta \dot{x}_{d}\right)+k\!\left(\delta -\Delta x_{d}\right)-k_{p}e_{f}-k_{d}\dot{e}_{f}\right]=0 \end{array} \end{equation}

where $\delta =x_{e}-x$ . Meanwhile, $\Delta \ddot{x}_{d}=\Delta \dot{x}_{d}=0$ . Eq. (28) is simplified as

(29) \begin{equation} \begin{array}{c} \begin{array}{c@{\quad}c} \ddot{\delta }+\dfrac{1}{m}\left[b\dot{\delta }+k\delta \!\left(1-\dfrac{f_{d}}{f_{e}}\right)-k_{p}e_{f}-k_{d}\dot{e}_{f}\right]=0 & \textbf{Contact}\;\textbf{Space} \end{array} \end{array} \end{equation}

2. When the robot is in free space

When the robot is in free space, Eq. (29) can be expressed according to Eq. (25) as

(30) \begin{equation} \begin{array}{c} \begin{array}{c@{\quad}c} \ddot{\delta }+\dfrac{1}{m}\!\left(b\dot{\delta }+k\delta -k_{p}f_{d}-k_{d}\dot{f}_{d}\right)=0 & \mathbf{Free}\;\textbf{Space} \end{array} \end{array} \end{equation}

Obviously, the function of $f_{d}$ is to drive the robot to approach from the free space to the contact space.

Suppose that the environmental position input of the control system is $\tilde{x}_{e}=x_{e}+\Delta x_{e}$ , and $\Delta x_{e}$ is the uncertain error of the environment. It can be assumed that $\tilde{\delta }=\delta +\Delta x_{e}$ , by combining Eqs. (29) and (30), yields

(31) \begin{equation} \begin{array}{c} \begin{array}{c@{\quad}c} \ddot{\tilde{\delta }}+\dfrac{1}{m}\!\left(b\dot{\tilde{\delta }}+k\tilde{\delta }-k_{p}f_{d}-k_{d}\dot{f}_{d}\right)=0 & \mathbf{Free}\;\textbf{Space} \end{array} \end{array} \end{equation}
(32) \begin{equation} \begin{array}{c} \begin{array}{c@{\quad}c} \ddot{\tilde{\delta }}+\dfrac{1}{m}\left[b\dot{\tilde{\delta }}+k\tilde{\delta }\!\left(1-\dfrac{f_{d}}{f_{e}}\right)-k_{p}e_{f}-k_{d}\dot{e}_{f}\right]=0 & \textbf{Contact}\;\textbf{Space} \end{array} \end{array} \end{equation}

When the robot moves from free space to contact space, there must be an uncertain error $\Delta x_{e}$ in the interaction environment. Therefore, the influence of this error parameter on the force control performance of the robot must be analyzed.

First, define $x_{e}\gt 0$ , $x\gt 0$ , so when $\Delta x_{e}\lt 0$ , $\tilde{x}_{e}\lt x_{e}$ . This means that $\tilde{x}_{e}$ is lower than the actual environment equilibrium position $x_{e}$ , and it is embedded in the actual environment. Similarly, $\Delta x_{e}\gt 0$ indicates $\tilde{x}_{e}\gt x_{e}$ , which means that $\tilde{x}_{e}$ is higher than the actual environment equilibrium position $x_{e}$ , and it is far from the actual environment surface.

Case 1: $\Delta {\boldsymbol{{x}}}_{{\boldsymbol{{e}}}}\gt 0$ .

Assuming that the initial state of the robot is in free space, which means $x\gt x_{e}$ . Then, Eqs. (31) and (32) in steady state can be expressed as

(33) \begin{equation} \begin{array}{c} \begin{array}{c@{\quad}c} k\tilde{\delta }-k_{p}f_{d}=0 & \mathbf{Free}\;\textbf{Space} \end{array} \end{array} \end{equation}
(34) \begin{equation} \begin{array}{c} \begin{array}{c@{\quad}c} k_{p}{f_{e}}^{2}+\!\left(k\tilde{\delta }-k_{p}f_{d}\right)f_{e}-k\tilde{\delta }f_{d}=0 & \textbf{Contact}\;\textbf{Space} \end{array} \end{array} \end{equation}

Equation (33) can be converted into

(35) \begin{equation} \begin{array}{c} k\!\left(x_{e}+\Delta x_{e}-x\right)-k_{p}f_{d}=0\textrm{ or }x=x_{e}+\Delta x_{e}-\dfrac{k_{p}f_{d}}{k} \end{array} \end{equation}

After the above derivation, there are two possible steady-state results, the first result is $\Delta x_{e}-k_{p}f_{d}/k\gt 0$ $(or\Delta x_{e}\gt k_{p}f_{d}/k)$ , then $x\gt x_{e}$ . This means that the robot is still not in contact with the environment at steady state. Therefore, the system will not work properly with this parameter in free space.

The second result is

(36) \begin{equation} \begin{array}{c} \Delta x_{e}-k_{p}f_{d}/k\lt 0\!\left(\textrm{or }\Delta x_{e}\lt k_{p}f_{d}/k\right) \end{array} \end{equation}

Then, $x\lt x_{e}$ , which means that if $\Delta x_{e}\lt k_{p}f_{d}/k$ , the robot must be in contact with the physical environment. This condition is easily satisfied. Once the robot is in contact with the environment, Eq. (34) can be solved to obtain the following results

(37) \begin{equation} \begin{array}{c} f_{e}=f_{d}\textrm{ and }f_{e}=-k\tilde{\delta }/k_{p} \end{array} \end{equation}

Because $\Delta x_{e}\gt 0$ , if the latter is to be established, $k$ and $k_{e}$ must be required to have opposite signs, so the latter cannot be established. Therefore, the former is realized when the system is stable, that is, the stable force tracking of the robot can be realized.

Case 2: $\Delta {\boldsymbol{{x}}}_{{\boldsymbol{{e}}}}\lt 0.$

When the robot is in free space, $x\gt x_{e}$ , and because $\Delta x_{e}\lt k_{p}f_{d}/k$ , so $x_{e}\gt x$ in steady state. Therefore, if $\tilde{x}_{e}\lt x_{e}$ , the robot will also always be in contact with the physical environment. Referring to Eq. (37), it can also be solved as

(38) \begin{equation} \begin{array}{c} f_{e}=f_{d}\textrm{ and }f_{e}=-k\tilde{\delta }/k_{p} \end{array} \end{equation}

But since $\Delta x_{e}\lt 0$ , only need $\Delta x_{e}$ is very small to make both solutions hold. This means that precise force tracking of robots cannot be guaranteed.

To sum up, to make the robot come into contact with the physical environment, it must satisfy

(39) \begin{equation} \begin{array}{c} \Delta x_{e}\lt k_{p}f_{d}/k \end{array} \end{equation}

However, the upper boundary can only ensure that the robot is in contact with the physical environment, but cannot guarantee precise force tracking (as can be seen from the analysis of Case 2).

So, the lower boundary of $\Delta x_{e}$ is analyzed to ensure precise force tracking.

From the above derivation, it can be obtained

(40) \begin{equation} \begin{array}{c} \tilde{\delta }=\dfrac{f_{e}}{k_{e}}+\Delta x_{e}, \dot{\tilde{\delta }}=\dfrac{\dot{f}_{e}}{k_{e}}+\Delta \dot{x}_{e}, \dot{\tilde{\delta }}=\dfrac{\ddot{f}_{e}}{k_{e}}+\Delta \ddot{x}_{e} \end{array} \end{equation}

Substituting Eq. (40) into Eq. (29), a new differential equation of the admittance control system is calculated as

\begin{equation*} \ddot{f}_{e}+\frac{b+k_{d}k_{e}}{m}\dot{f}_{e}+\frac{k+k_{p}k_{e}}{m}f_{e}-\frac{kk_{e}f_{d}\Delta x_{e}}{mf_{e}} \end{equation*}
(41) \begin{equation} \begin{array}{c} =-k_{e}\Delta \ddot{x}_{e}+\dfrac{\!\left(k_{p}k_{e}-k\right)f_{d}+k_{d}k_{e}\dot{f}_{d}-kk_{e}\Delta x_{e}-bk_{e}\Delta \dot{x}_{e}}{m} \end{array} \end{equation}

Since $\Delta \ddot{x}_{e}=\Delta \dot{x}_{e}=0$ , simplify Eq. (41)

(42) \begin{equation} \begin{array}{c} \ddot{f}_{e}+\dfrac{b+k_{d}k_{e}}{m}\dot{f}_{e}+\dfrac{k+k_{p}k_{e}}{m}f_{e}-\dfrac{kk_{e}f_{d}\Delta x_{e}}{mf_{e}}=\dfrac{1}{m}\left[\!\left(k_{p}k_{e}-k\right)f_{d}+k_{d}k_{e}\dot{f}_{d}-kk_{e}\Delta x_{e}\right] \end{array} \end{equation}

This is a nonlinear equation concerning the variable $f_{e}$ , and two solutions about Eq. (29) are obtained as follows:

(43) \begin{equation} \begin{array}{c} f_{e}=f_{d}\textrm{ and }f_{e}=-k\tilde{\delta }/k_{p} \end{array} \end{equation}

This allows us to calculate the stable conditions for the equilibrium state.

Defining symbols ${x_{1}}=f_{e}$ , ${x_{2}}=\dot{f}_{e}$ , the state equation can be rewritten as:

(44) \begin{equation} \begin{array}{c@{\quad}c@{\quad}c} \begin{cases} & {\dot{x}_{1}}=x_{2}\\[5pt] & \dot{x}_{2}=-\dfrac{b+k_{d}k_{e}}{m}x_{2}-\dfrac{k+k_{p}k_{e}}{m}x_{1}+\dfrac{kk_{e}f_{d}\Delta x_{e}}{mx_{1}}+\dfrac{\!\left(k_{p}k_{e}-k\right)f_{d}+k_{d}k_{e}\dot{f}_{d}-kk_{e}\Delta x_{e}}{m} \end{cases} \end{array} \end{equation}

In equilibrium, $f_{e}=f_{d}$ , $\dot{f}_{d}=0$ . Equation (44) becomes the linear equation of $f_{e}$ . So, when ${x_{1}}=f_{d}$ , $x_{2}=0$ , the state equation can rewrite as

(45) \begin{equation} \begin{array}{c} \dot{x}=\left[\begin{array}{c@{\quad}c} 0 & 1\\[5pt] -\dfrac{kk_{e}\Delta x_{e}}{mf_{d}}-\dfrac{k+k_{p}k_{e}}{m} & -\dfrac{b+k_{d}k_{e}}{m} \end{array}\right]x+\left[\begin{array}{c} 0\\[5pt] \dfrac{\!\left(k_{p}k_{e}-k\right)f_{d}+k_{d}k_{e}\dot{f}_{d}-kk_{e}\Delta x_{e}}{m} \end{array}\right] \end{array} \end{equation}

The characteristic equation of this state matrix is

(46) \begin{equation} \begin{array}{c} \det \!\left(sI-A\right)=s^{2}+\dfrac{b+k_{d}k_{e}}{m}s+\dfrac{k+k_{p}k_{e}}{m}+\dfrac{kk_{e}\Delta x_{e}}{mf_{d}}=0 \end{array} \end{equation}

Then, the stability conditions of the system are

(47) \begin{equation} \begin{array}{c} \dfrac{b+k_{d}k_{e}}{m}\gt 0\;\, \textrm{or }\dfrac{k+k_{p}k_{e}}{m}+\dfrac{kk_{e}\Delta x_{e}}{mf_{d}}\gt 0 \end{array} \end{equation}

Since $m$ , $b$ , and $k_{d}$ are already selected parameters, we only need to ensure that

(48) \begin{equation} \begin{array}{c} \Delta x_{e}\gt -\dfrac{\!\left(k+k_{p}k_{e}\right)f_{d}}{kk_{e}} \end{array} \end{equation}

Therefore, at the equilibrium state of $f_{e}=f_{d}$ , the conditions that need to be satisfied are

(49) \begin{equation} \begin{array}{c} \begin{array}{c@{\quad}c} \Delta x_{e}\gt -\dfrac{\!\left(k+k_{p}k_{e}\right)f_{d}}{kk_{e}} & \textrm{at } \end{array}f_{e}=f_{d} \end{array} \end{equation}

Similarly, when $f_{e}=-k\tilde{\delta }/k_{p}$ yields

(50) \begin{equation} \begin{array}{c} f_{e}=-k\tilde{\delta }/k_{p}=-k\!\left(\dfrac{f_{e}}{k_{e}}+\Delta x_{e}\right)/k_{p}\Rightarrow f_{e}=-\dfrac{kk_{e}}{k_{p}k_{e}+k}\Delta x_{e} \end{array} \end{equation}

In the equilibrium state $x_{1}=-k\tilde{\delta }/k_{p}$ , $x_{2}=0$ , the state equation is

(51) \begin{equation} \begin{array}{c} \dot{x}=\left[\begin{array}{c@{\quad}c} 0 & 1\\[5pt] -\dfrac{f_{d}\!\left(k_{p}+k_{e}\right)^{2}}{mkk_{e}\Delta x_{e}}-\dfrac{k+k_{p}k_{e}}{m} & -\dfrac{b+k_{d}k_{e}}{m} \end{array}\right]x+\left[\begin{array}{c} 0\\[5pt] \dfrac{\!\left(k_{p}k_{e}-k\right)f_{d}+k_{d}k_{e}\dot{f}_{d}-kk_{e}\Delta x_{e}}{m} \end{array}\right] \end{array} \end{equation}

The characteristic equation of the state matrix is

(52) \begin{equation} \begin{array}{c} \det \!\left(sI-A\right)=s^{2}+\dfrac{b+k_{d}k_{e}}{m}s+\dfrac{k+k_{p}k_{e}}{m}+\dfrac{f_{d}\!\left(k_{p}+k_{e}\right)^{2}}{mkk_{e}\Delta x_{e}}=0 \end{array} \end{equation}

Then, the stability conditions of the system are

(53) \begin{equation} \begin{array}{c} \dfrac{b+k_{d}k_{e}}{m}\gt 0\;\textrm{or }\dfrac{k+k_{p}k_{e}}{m}+\dfrac{f_{d}\!\left(k_{p}+k_{e}\right)^{2}}{mkk_{e}\Delta x_{e}}\gt 0 \end{array} \end{equation}

So, it should be satisfied as

(54) \begin{equation} \begin{array}{c} \begin{array}{c@{\quad}c} \Delta x_{e}\lt -\dfrac{f_{d}\!\left(k_{p}+k_{e}\right)^{2}}{k_{e}k\!\left(k+k_{p}k_{e}\right)} & \textrm{at }f_{e}=f_{d} \end{array} \end{array} \end{equation}

This situation should be avoided. Combining Eq. (39) with (49), the upper and lower boundaries of $\Delta x_{e}$ can be obtained as

(55) \begin{equation} \begin{array}{c} -\dfrac{\!\left(k+k_{p}k_{e}\right)f_{d}}{kk_{e}}\lt \Delta x_{e}\lt \dfrac{k_{p}f_{d}}{k} \end{array} \end{equation}

Meanwhile, the upper boundary of Eq. (55) is known a priori because $k_{p}$ , $f_{d}$ , and $k$ are the values initially specified by the user. The lower boundary of Eq. (55) is not known because $k_{e}$ is unknown. So, when the interactive environment is hard, that means $k_{e}\gg k_{d}$ , considering

(56) \begin{equation} \begin{array}{c} -\dfrac{\!\left(k+k_{p}k_{e}\right)f_{d}}{kk_{e}}\approx -\dfrac{k_{p}f_{d}}{k} \end{array} \end{equation}

So, the upper and lower boundaries of $\Delta x_{e}$ can be rewritten as

(57) \begin{equation} \begin{array}{c} -\dfrac{k_{p}f_{d}}{k}\lt \Delta x_{e}\lt \dfrac{k_{p}f_{d}}{k} \end{array} \end{equation}

Because the robot is equipped with a relatively precise force sensor, the actual environmental position $x_{e}$ can be estimated accurately, so the environmental uncertainty $\Delta x_{e}$ is usually relatively small, as long as $f_{d}$ , $k_{p}$ , $k$ are chosen appropriately, the system will remain stable. At the same time, the introduction of the pre-PD controller can expand the upper and lower boundary of the environmental uncertainty $\Delta x_{e}$ , which means that the robustness of the system is enhanced.

3.4. Discretization of control algorithms

Nowadays, most robot controllers are developed based on the upper computer or embedded microprocessor, so they all work in the discrete-time domain. Therefore, the continuous control algorithm should be converted from the S domain to the discrete-time domain, and the discrete implementation of the proposed algorithm is shown in Fig. 6. First, the parameters of the target admittance model, the pre-PD controller, and the indirect adaptive update strategy are initialized. Second, the contact force $f_{e}(n)$ and the motion state $x(n)$ of the robot at the current moment are feedback to the upper computer, and the values of $e_{f}(n)$ and $\dot{e}_{f}(n)$ are calculated by combining the desired tracking force $f_{d}(n)$ . Third, the values of $\hat{f}_{e}(n)$ , $\hat{k}_{e}(n)$ , and $\hat{x}_{e}(n)$ are obtained by the indirect adaptive update strategy. Fourth, the reference trajectory $x_{d}(n)$ of the admittance model can be derived. Fifth, the reference trajectory $x_{d}(n)$ is substituted into the pre-PD admittance controller and the value of $e(n+1)$ obtained by double integration. Finally, the command trajectory $x_{c}(n+1)$ of the next moment is generated and sent to the robot motion servo system. When the next period is performed, the system status returns to the second step.

Figure 6. The discrete implementation of the SAAC algorithm.

4. Simulation

This section verifies the performance of the designed algorithm based on the MATLAB/SIMULINK platform, where the interactive scenarios include a structured environment (The stiffness parameter $k_{e}$ of the environment is constant) and a dynamic environment (The stiffness parameter $k_{e}$ of the environment is dynamically varying). The simulation program mainly includes the admittance model, pre-PD controller, robot motion servo system, and environmental dynamics model, as shown in Fig. 7.

Figure 7. The simulation block diagram of the SAAC.

4.1. Simulation parameters setting

For purpose of verifying the system response speed and steady-state tracking accuracy of the designed control algorithm, it is assumed that the robot moves along the z-axis on the horizontal plane, the control period is T = 0.005 (s), the sensor noise amplitude is $1\times e^{-4}$ to simulate the white noise, and other simulation-related parameters have been shown in Table I.

Table I. Main simulation parameters.

4.2. Simulation results

The motion of the robot in the simulation is divided into three stages as follows:

  • Firstly, the robot starts moving from free space driven by the desired force of the admittance model.

  • Then, the robot is in contact with the physical environment until stabilization.

  • Finally, the desired force is accurately tracked to accomplish the related force control task.

Transient response speed and steady-state tracking accuracy are used to synthesize the system performance. The former consists of the following two metrics.

(a) The time from free space to contact transient of the robot. It is artificially defined and named contact time $t_{c}$ , the shorter $t_{c}$ , the faster the response speed.

(b) The time from contact transient to stable tracking phase of the robot. Called the setting time $t_{s}$ in control theory. This is the minimum time required for the response to arrive and remain within ± 5% of the desired value, and it is also a composite indicator to evaluate the speed of response and the degree of damping of the system.

The latter is represented by the steady-state error $e_{f}$ , which is a metric of the system’s control accuracy or immunity to disturbances.

The force control performance of AAC and SAAC were compared under different environmental stiffnesses and different desired tracking forces as shown in Fig. 8(a), (b), and (c).

As can be seen from Fig. 8(a), one compares the force control curves of AAC and SAAC at $f_{d}=10\,(\textrm{N})$ , $k_{e}=1000\,(\textrm{N}/\textrm{m})$ . In the transient contact stage, $t_{c-SAAC}^{s-1}=0.3\,(\textrm{s})$ and $t_{c-AAC}^{s-1}=0.9\,(\textrm{s})$ , which means that the SAAC is in contact with the environment faster than AAC. At the same time, in the force response stage, $t_{s-SAAC}^{s-1}=2.2\,(\textrm{s})$ and $t_{s-AAC}^{s-1}=3.3\,(\textrm{s})$ , which means that the SAAC reaches steady-state faster than AAC. Similarly, in a structured environment with constant stiffness, both of our designed force controllers ensure high tracking accuracy at steady state.

Comparing Fig. 8(a) with Fig. 8(b), it shows that when the environmental stiffness $k_{e}$ is increased from $1000\,(\textrm{N}/\textrm{m})$ to $2000\,(\textrm{N}/\textrm{m})$ , the contact time $t_{c}^{s-2}$ of SAAC and AAC remains equal to the previous working condition, but the setting time $t_{s}^{s-2}$ is accelerated for both, and $t_{s-SAAC}^{s-2}=1.7\,(\textrm{s})$ , $t_{s-AAC}^{s-2}=2.6\,(\textrm{s})$ , which is due to the actual environmental stiffness $k_{e}$ does not affect the robot motion process in free space but affects the process of generating reference trajectory in contact space, also the same tracking accuracy is maintained at steady state.

Figure 8. Comparison of force control performance of robots in structured interaction environments.

Similarly, comparing Fig. 8(a) and Fig. 8(c), it shows that when the environmental stiffness $k_{e}=1000\,(\textrm{N}/\textrm{m})$ is kept invariant, and the desired tracking force $f_{d}$ is 10 and 20 (N), respectively. It can be seen that the contact time $t_{c}^{s-3}$ and setting time $t_{s}^{s-3}$ of SAAC and AAC are shortened. This is because the response speed of the robot to generate the reference trajectory in the free space and the contact space will be accelerated with the increase of the desired tracking force $f_{d}$ , and the same tracking accuracy will be maintained in the steady state.

Figure 9 shows the force control performance of the robot while keeping the desired tracking force $f_{d}=20\,(\textrm{N})$ , and the interaction environmental stiffness is varied with $k_{e}=1000+50\sin (\pi /4)\,(\textrm{N}/\textrm{m})$ . It reveals that SAAC still maintains lower steady-state error $e_{f}^{s-4}$ compared to AAC within the steady-state tracking phase of 10–20 (s), and $e_{f-SAAC}^{s-4}=0.2$ (N), $e_{f-AAC}^{s-4}=0.5$ (N). The reason why is that the introduction of the pre-PD controller enhances the robustness of the algorithm against environmental uncertainty, which can improve the steady-state tracking accuracy. Therefore, the previous research on theoretical derivation was also verified to be correct. The MSE (mean squared error) analysis of the steady-state tracking error between SAAC and AAC over 10-20 (s) is shown in Eq. (58).

(58) \begin{align} \left\{\begin{array}{l} \textrm{MSE}_{\textrm{SAAC}}^{\textrm{s}} =0.0174\\[5pt] \textrm{MSE}_{\textrm{AAC}}^{\textrm{s}} =0.0721 \end{array} \right.\end{align}

Figure 9. Comparison of force control performance of robots in a dynamic interactive environment.

Quantification from the MSE perspective indicates that the force tracking accuracy of SAAC enhanced by more than 75% than that of AAC. Therefore, it maintains better force tracking performance even in uncertain environments.

In summary, simulation results show that both the AAC and SAAC proposed in this article can guarantee high force tracking accuracy when the robot interacts with the unknown environment. However, the transient response rate of SAAC is higher than that of AAC for different environmental stiffnesses and different desired tracking forces. In the structured environment, both SAAC and AAC can maintain high accuracy in the steady-state tracking phase. However, in an unstructured environment or in the presence of nonlinear perturbations, SAAC is more robust, thus ensuring higher steady-state force tracking accuracy. Therefore, SAAC is more appropriate for applications involving contact force interaction.

5. Experimental verification

5.1. Experimental setup

To verify the actual performance of the proposed SAAC and AAC, an experimental environment based on the 6-Axis AUBO-i5 robot is built, as shown in Fig. 10. The interaction environment consists of a triangular stainless-steel plate with three sets of springs, and bearings are installed inside the slots so that the triangular stainless-steel plate can slide smoothly and freely on the rod when the robot presses downward during the force control task or lifts upward after completing the task.

Figure 10. Experiment setup. The vertical direction is force control.

The hardware architecture of the robot control system is shown in Fig. 11. The experimental hardware includes the AUBO-i5 robot, robot control cabinet, 6-Axis force sensor, unknown interactive environment, and upper computer. The robot control cabinet is based on the PREEMPT-Linux system to build the robot’s real-time controller. The main operating system of the upper computer is Windows, and the Linux system is built by VMware. The robot control program is written in the Linux-based Qt development environment of the upper computer, and the communication between the upper computer and the robot control cabinet is established through the Linux SSH service, which in turn allows the robot control cabinet to control the robot moves through the CAN bus. At the same time, the 6-Axis force sensor at the end of the robot provides real-time force feedback via Ethernet protocol, and the upper computer receives the feedback force signal for smooth adaptive admittance control algorithm updates. The control period is 200 (HZ).

Figure 11. Hardware architecture of the 6-D of robot control system.

5.2. Experimental parameters setting

The specific experimental parameters are set as shown in Table II. It should be emphasized that all parameter selection criteria are reference benchmarks, and the same experimental environment and parameters are used for all control algorithms.

Table II. Main experimental parameters.

5.3. Experimental results

In this experiment, the motion process of the robot is divided into three phases: free motion, transient contact (collision), and steady-state tracking. Figure 12 shows the transient response performance of the adaptive admittance control (AAC) based on an indirect adaptive update strategy compared with the smooth adaptive admittance control (SAAC) based on the pre-PD and indirect adaptive update strategy. Under the condition that the robot starts moving from an initial equal height in free space, SAAC contacts the physical environment faster than AAC, and $t_{c-SAAC}^{e}=0.5$ (s), $t_{c-AAC}^{e}=1.3$ (s). Meanwhile, setting time of SAAC is also smaller than that of AAC, and $t_{s-SAAC}^{e}=0.9$ (s), $t_{s-AAC}^{e}=1.8$ (s). The reason for this is that the introduction of the outer-loop pre-PD controller speeds up the response of the overall system.

Figure 12. Comparison of transient response performance of AAC and SAAC. SAAC has a faster response rate than AAC.

The performance comparison of the steady-state tracking phase is shown in Fig. 13. The ability of the robot to initially track the desired force and maintain force tracking performance under various external disturbances (Time lag of the position controller and unknown external nonlinear disturbances) is called the steady-state performance of the force-controlled robot. In AAC, the force error $e_{f-AAC}^{e}=0.3$ (N) and the force curve fluctuates widely. In this case, the system is not very robust. In SAAC, the force error $e_{f-SAAC}^{e}=0.05$ (N) and the force curve is smoother. Thus, a system with SAAC is more robust to external disturbances than that with AAC. It can be seen that SAAC can significantly improve the force control performance, and the contact force tracking error is greatly reduced.

Figure 13. Comparison of steady-state tracking performance of SAAC and AAC. SAAC has higher robustness than AAC.

For more intuitive and quantitative description of the effectiveness of the proposed algorithm, the steady-state tracking errors of different force controllers in the experiment from 8 to 20 (s) were characterized using MSE and compared with the MSE results of the simulation, as shown in Table III. In the experiment, SAAC improves the steady-state tracking accuracy by nearly an order of magnitude over AAC. On the other hand, both AAC and SAAC in the experiment are higher than the simulation in terms of tracking accuracy, which is due to the stronger noise and more uncertainty of the environmental dynamics model that we introduced in the simulation to highlight the effectiveness of the proposed algorithm. In general, SAAC has higher steady-state tracking accuracy and stronger robustness for unknown interaction environments compared to AAC due to the introduction of the pre-PD controller.

Table III. Comparison of simulation and experiment for MSE results.

Both force control schemes, AAC and SAAC, are proposed for the disadvantages that the existing admittance control method cannot guarantee the steady-state tracking accuracy and robustness when the robot interacts with the unknown environment. From the experimental results, it can be seen that SAAC has faster system response and stronger robustness. Therefore, SAAC is a better control scheme for robots handling contact operation tasks in unknown environments to ensure high-accuracy force tracking at steady state while improving transient response performance. The experimental results show the superiority of this controller and also corroborate with the previous theoretical derivation.

6. Conclusion

As collaborative robots have been developed in recent years, robot contact interaction operations have become increasingly more important. Ensuring fast, stable, and smooth force interactions was a challenge for most robot controller designs. In this research, a SAAC has been proposed to deal with the problems of parameter convergence rate and steady-state tracking accuracy in unknown environments. An indirect adaptive update strategy has been designed to generate the reference trajectory of the admittance model. The necessity of the introduction of the pre-PD controller to enhance the robustness of the system against environmental uncertainties and unknown external disturbances is analyzed. Meanwhile, the designed control strategy is task-oriented, and the adaptive rate dynamically updates the robot’s reference trajectory in real time according to different interaction tasks to ensure optimal force control performance. Simulations and experiments verify that the SAAC can significantly improve the force control performance of the robot in unknown environments. Furthermore, the proposed method can be easily extended to other force control tasks, including deformation-prone machining environments in industrial applications or manufacturing tasks that require robot-based force control.

Author contributions

Chengguo Liu conceived and proposed this study, while performing the simulation analysis. Zeyu Li built the experimental platform and conducted the verification.

Financial support

This work was supported by Chongqing Technology Innovation and Application Demonstration Project: “Application Demonstration of Key Technologies for Intelligent Manufacturing Workshop of Automotive Disc and Sleeve Parts” (Grant No. cstc2018jszx-cyzd0697).

Conflicts of interest

The authors declare none.

Ethical approval

Not applicable.

References

Haddadin, S., De Luca, A. and Albu-Schaffer, A., “Robot collisions: A survey on detection, isolation, and identification,” IEEE Trans. Robot. 33(6), 12921312 (2017).CrossRefGoogle Scholar
Ajoudani, A., Zanchettin, A. M., Ivaldi, S., Albu-Schaffer, A., Kosuge, K. and Khatib, O., “Progress and prospects of the human-robot collaboration,” Auton. Robots 42(5), 957975 (2018).CrossRefGoogle Scholar
Yu, X., Liu, P., He, W., Liu, Y., Chen, Q. and Ding, L., “Human-robot variable impedance skills transfer learning based on dynamic movement primitives,” IEEE Robot.Autom. Lett. 7(3), 64636470 (2022).CrossRefGoogle Scholar
Cao, H., He, Y., Chen, X. and Liu, Z., “Control of adaptive switching in the sensing-executing mode used to mitigate collision in robot force control,” J. Dyn. Syst. Meas. Control 141(11), 111003 (2019).CrossRefGoogle Scholar
Lakshminarayanan, S., Kana, S., Mohan, D. M., Manyar, O. M., Then, D. and Campolo, D., “An adaptive framework for robotic polishing based on impedance control,” Int. J. Adv. Manuf. Technol. 112(1), 401417 (2021).CrossRefGoogle Scholar
Ochoa, H. and Cortesao, R., “Impedance control architecture for robotic-assisted mold polishing based on human demonstration,” IEEE Trans. Ind. Electron. 69(4), 38223830 (2022).CrossRefGoogle Scholar
Ajani, O. S. and Assal, S. F. M., “Hybrid force tracking impedance control-based autonomous robotic system for tooth brushing assistance of disabled people,” IEEE Trans. Med. Rob. Bionics 2(4), 649660 (2020).CrossRefGoogle Scholar
Chinimilli, P. T., Qiao, Z., Sorkhabadi, S. M. R., Jhawar, V., Fong, I. H. and Zhang, W. L., “Automatic virtual impedance adaptation of a knee exoskeleton for personalized walking assistance,” Robot. Auton. Syst. 114, 6676 (2019).CrossRefGoogle Scholar
Song, A., Pan, L., Xu, G. and Li, H., “Adaptive motion control of arm rehabilitation robot based on impedance identification,” Robotica 33(9), 17951812 (2015).CrossRefGoogle Scholar
Alevizos, K. I., Bechlioulis, C. P. and Kyriakopoulos, K. J., “Physical human-robot cooperation based on robust motion intention estimation,” Robotica 38(10), 18421866 (2020).CrossRefGoogle Scholar
Peternel, L., Tsagarakis, N. and Ajoudani, A.. Towards Multi-Modal Intention Interfaces for Human-Robot Co-Manipulation. In: 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE, 2016) pp. 26632669.CrossRefGoogle Scholar
Yu, X., Li, B., He, W., Feng, Y., Cheng, L. and Silvestre, C., “Adaptive-constrained impedance control for human-robot co-transportation,” IEEE Trans. Cybern. 52(12), 1323713249 (2022).CrossRefGoogle ScholarPubMed
Yu, X., He, W., Li, Q., Li, Y. and Li, B., “Human-robot co-carrying using visual and force sensing,” IEEE Trans. Ind. Electron. 68(9), 86578666 (2021).CrossRefGoogle Scholar
Yu, X., Zhang, S., Sun, L., Wang, Y., Xue, C. and Li, B., “Cooperative control of dual-arm robots in different human-robot collaborative tasks,” Assem. Autom. 40(1), 95104 (2020).CrossRefGoogle Scholar
Ugurlu, B., Havoutis, I., Semini, C., Kayamori, K., Caldwell, D. G. and Narikiyo, T., “Pattern generation and compliant feedback control for quadrupedal dynamic trot-walking locomotion: Experiments on RoboCat-1 and HyQ,” Auton. Robots 38(4), 415437 (2015).CrossRefGoogle Scholar
Al-Shuka, H. F. N., Corves, B., Zhu, W.-H. and Vanderborght, B., “Multi-level control of zero-moment point-based humanoid biped robots: A review,” Robotica 34(11), 24402466 (2016).CrossRefGoogle Scholar
Raibert, M. H. and Craig, J. J., “Hybrid position/force control of manipulators,” J. Dyn. Syst. Meas. Control 103(2), 126133 (1981).CrossRefGoogle Scholar
Hogan, N., “Impedance control: An approach to manipulation: Part I—theory,” J. Dyn. Syst. Meas. Control 107(1), 17 (1985).CrossRefGoogle Scholar
Hogan, N., “Impedance control: An approach to manipulation: Part II—implementation,” J. Dyn. Syst. Meas. Control 107(1), 816 (1985).CrossRefGoogle Scholar
Hogan, N., “Impedance control: An approach to manipulation: Part III—applications,” J. Dyn. Syst. Meas. Control 107(1), 1724 (1985).CrossRefGoogle Scholar
Song, P., Yu, Y. and Zhang, X., “A tutorial survey and comparison of impedance control on robotic manipulation,” Robotica 37(5), 801836 (2019).CrossRefGoogle Scholar
Al-Shuka, H. F. N., Leonhardt, S., Zhu, W.-H., Song, R., Ding, C. and Li, Y., “Active impedance control of bioinspired motion robotic manipulators: An overview,” Appl. Bionics Biomech. 2018, 8203054(2018).CrossRefGoogle ScholarPubMed
Valency, T. and Zacksenhouse, M.. Instantaneous Model Impedance Control for Robots. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), vol. 1 (IEEE, 2000) pp. 757762.Google Scholar
Calanca, A., Muradore, R. and Fiorini, P., “A review of algorithms for compliant control of stiff and fixed-compliance robots,” IEEE/ASME Trans. Mech. 21(2), 613624 (2016).CrossRefGoogle Scholar
Keemink, A. Q. L., van der Kooij, H. and Stienen, A. H. A., “Admittance control for physical human-robot interaction,” Int. J. Robot. Res. 37(11), 14211444 (2018).CrossRefGoogle Scholar
Labrecque, P. D. and Gosselin, C., “Variable admittance for pHRI: From intuitive unilateral interaction to optimal bilateral force amplification,” Robot. Comput.-Integr. Manuf. 52, 18 (2018).CrossRefGoogle Scholar
Ferraguti, F., Landi, C. T., Sabattini, L., Bonfè, M., Fantuzzi, C. and Secchi, C., “A variable admittance control strategy for stable physical human-robot interaction,” Int. J. Robot. Res. 38(6), 747765 (2019).CrossRefGoogle Scholar
Kim, T., Yoo, S., Seo, T., Kim, H. S. and Kim, J., “Design and force-tracking impedance control of 2-DOF wall-cleaning manipulator via disturbance observer,” IEEE/ASME Trans. Mech. 25(3), 14871498 (2020).CrossRefGoogle Scholar
Liang, W., Feng, Z., Wu, Y., Gao, J., Ren, Q. and Lee, T. H.. Robust Force Tracking Impedance Control of an Ultrasonic Motor-Actuated End-Effector in a Soft Environment. In: IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) (IEEE, 2020) pp. 77167722.CrossRefGoogle Scholar
Hamedani, M. H., Sadeghian, H., Zekri, M., Sheikholeslam, F. and Keshmiri, M., “Intelligent impedance control using wavelet neural network for dynamic contact force tracking in unknown varying environments,” Control Eng. Pract. 113, 104840 (2021).CrossRefGoogle Scholar
Li, Y., Ganesh, G., Jarrassé, N., Haddadin, S., Albu-Schaeffer, A. and Burdet, E., “Force, impedance, and trajectory learning for contact tooling and haptic identification,” IEEE Trans. Robot. 34(5), 11701182 (2018).CrossRefGoogle Scholar
Horak, P. C. and Trinkle, J. C., “On the similarities and differences among contact models in robot simulation,” IEEE Robot. Autom. Lett. 4(2), 493499 (2019).CrossRefGoogle Scholar
Ott, C., Mukherjee, R. and Nakamura, Y., “A hybrid system framework for unified impedance and admittance control,” J. Intell. Robot. Syst. 78(3), 359375 (2015).CrossRefGoogle Scholar
Seraji, H. and Colbaugh, R., “Force tracking in impedance control,” Int. J. Rob. Res. 16(1), 97117 (1997).CrossRefGoogle Scholar
Jung, S., Hsia, T. C. and Bonitz, R. G., “Force tracking impedance control for robot manipulators with an unknown environment: Theory, simulation, and experiment,” Int. J. Robot. Res. 20(9), 765774 (2001).CrossRefGoogle Scholar
Roveda, L., Pedrocchi, N., Vicentini, F. and Tosatti, L. M., “Industrial compliant robot bases in interaction tasks: A force tracking algorithm with coupled dynamics compensation,” Robotica 35(8), 17321746 (2017).CrossRefGoogle Scholar
Valency, T. and Zacksenhouse, M., “Accuracy/robustness dilemma in impedance control,” J. Dyn. Syst. Meas. Control 125(3), 310319 (2003).CrossRefGoogle Scholar
Duan, J., Gan, Y., Chen, M. and Dai, X., “Adaptive variable impedance control for dynamic contact force tracking in uncertain environment,” Robot. Auton. Syst. 102, 5465 (2018).CrossRefGoogle Scholar
Figure 0

Figure 1. The implementation comparison of impedance and admittance control.

Figure 1

Figure 2. The graphic representation of robots interacting with an unknown environment.

Figure 2

Figure 3. The schematic diagram of AC.

Figure 3

Figure 4. The schematic diagram of AAC. Compared with the AC, the modules of indirect adaptive law and reference trajectory generation have been added.

Figure 4

Figure 5. The schematic diagram of SAAC. Compared with AAC, a pre-PD controller has been introduced to improve the admittance model.

Figure 5

Figure 6. The discrete implementation of the SAAC algorithm.

Figure 6

Figure 7. The simulation block diagram of the SAAC.

Figure 7

Table I. Main simulation parameters.

Figure 8

Figure 8. Comparison of force control performance of robots in structured interaction environments.

Figure 9

Figure 9. Comparison of force control performance of robots in a dynamic interactive environment.

Figure 10

Figure 10. Experiment setup. The vertical direction is force control.

Figure 11

Figure 11. Hardware architecture of the 6-D of robot control system.

Figure 12

Table II. Main experimental parameters.

Figure 13

Figure 12. Comparison of transient response performance of AAC and SAAC. SAAC has a faster response rate than AAC.

Figure 14

Figure 13. Comparison of steady-state tracking performance of SAAC and AAC. SAAC has higher robustness than AAC.

Figure 15

Table III. Comparison of simulation and experiment for MSE results.